@oslokommune/punkt-elements 16.7.3 → 16.7.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +18 -0
- package/dist/accordion-BB1JrONI.cjs +34 -0
- package/dist/accordion-nNH87Y60.js +130 -0
- package/dist/alert-BEEnTiCb.cjs +33 -0
- package/dist/alert-ePJuDtmm.js +171 -0
- package/dist/async-directive-B9P1Qa0k.cjs +1 -0
- package/dist/async-directive-CaQiqjyV.js +55 -0
- package/dist/backlink-Ba03LlbB.cjs +13 -0
- package/dist/backlink-CiwXrQYD.js +38 -0
- package/dist/booleanish-BmcOU-43.js +11 -0
- package/dist/booleanish-jJLlnr6-.cjs +1 -0
- package/dist/breadcrumbs-CD1zib3s.cjs +43 -0
- package/dist/breadcrumbs-CpuVqWhF.js +76 -0
- package/dist/button-BIpd1xJh.js +95 -0
- package/dist/button-D-TOBaJB.cjs +27 -0
- package/dist/calendar-BzEtOJla.js +2031 -0
- package/dist/calendar-E5jJLt8D.cjs +90 -0
- package/dist/card-BYJu1MYm.js +339 -0
- package/dist/card-CUFhMVim.cjs +87 -0
- package/dist/checkbox-BARDb9iV.cjs +31 -0
- package/dist/checkbox-Cspxcvt_.js +111 -0
- package/dist/class-map-C8HuhNzZ.js +27 -0
- package/dist/class-map-CJ-msbHs.cjs +1 -0
- package/dist/classutils-DEL164Ur.js +7 -0
- package/dist/classutils-z8YsPlOf.cjs +1 -0
- package/dist/combobox-BcdLZRDU.js +984 -0
- package/dist/combobox-CGbFTWq_.cjs +135 -0
- package/dist/consent-DeB_5sWH.js +197 -0
- package/dist/consent-hwu7pp3S.cjs +11 -0
- package/dist/datepicker-DpmlsnH_.cjs +273 -0
- package/dist/datepicker-OVd8pmnZ.js +1125 -0
- package/dist/dialog-polyfill.esm-1hPr0gl9.js +280 -0
- package/dist/dialog-polyfill.esm-D3Oinvk0.cjs +1 -0
- package/dist/directive-3THFsVew.js +28 -0
- package/dist/directive-CJ2giQBZ.cjs +1 -0
- package/dist/directive-helpers-D1QSxY17.cjs +1 -0
- package/dist/directive-helpers-Dkv2gKgs.js +25 -0
- package/dist/element-DjtxO-1r.cjs +2 -0
- package/dist/element-cZ85T_aa.js +693 -0
- package/dist/element-with-slot-4J2o3SeU.js +166 -0
- package/dist/element-with-slot-CWoTGA1B.cjs +1 -0
- package/dist/header-DWgPgGfS.cjs +304 -0
- package/dist/header-a6ztVNp3.js +782 -0
- package/dist/heading-BgSWIRii.cjs +1 -0
- package/dist/heading-DiQLPxdf.js +73 -0
- package/dist/helptext-CCBKKLus.js +65 -0
- package/dist/helptext-D-3QfZv5.cjs +24 -0
- package/dist/icon-Co72KtgF.js +86 -0
- package/dist/icon-Dr8sfT2X.cjs +1 -0
- package/dist/if-defined-Cjj8qN-Z.js +5 -0
- package/dist/if-defined-XKOD_t_V.cjs +1 -0
- package/dist/index.d.ts +1 -2
- package/dist/input-element-B1yxcfz4.cjs +1 -0
- package/dist/input-element-Bw1s6NlF.js +643 -0
- package/dist/input-wrapper-BRuVELpK.cjs +54 -0
- package/dist/input-wrapper-CDyHTR1V.js +164 -0
- package/dist/input-wrapper-Dwd-_sKm.cjs +1 -0
- package/dist/input-wrapper-YfTmpSSY.js +117 -0
- package/dist/link-CKAFMz9j.js +89 -0
- package/dist/link-CyTCpI0k.cjs +7 -0
- package/dist/linkcard-B0KOGaGj.js +55 -0
- package/dist/linkcard-BE4-FewK.cjs +13 -0
- package/dist/listbox-DCA2JoPV.cjs +106 -0
- package/dist/listbox-DuBgTFvH.js +397 -0
- package/dist/loader-6kFZUErT.js +66 -0
- package/dist/loader-CX2rsC01.cjs +16 -0
- package/dist/messagebox-Cwlg5sOr.js +110 -0
- package/dist/messagebox-Din9X53b.cjs +13 -0
- package/dist/modal-C_wtsh9m.js +209 -0
- package/dist/modal-DS_wUOIv.cjs +36 -0
- package/dist/pkt-accordion.cjs +1 -1
- package/dist/pkt-accordion.js +2 -7
- package/dist/pkt-alert.cjs +1 -1
- package/dist/pkt-alert.js +2 -5
- package/dist/pkt-backlink.cjs +1 -1
- package/dist/pkt-backlink.js +2 -5
- package/dist/pkt-breadcrumbs.cjs +1 -43
- package/dist/pkt-breadcrumbs.js +2 -81
- package/dist/pkt-button.cjs +1 -1
- package/dist/pkt-button.js +2 -5
- package/dist/pkt-calendar.cjs +1 -1
- package/dist/pkt-calendar.js +2 -5
- package/dist/pkt-card.cjs +1 -1
- package/dist/pkt-card.js +2 -5
- package/dist/pkt-checkbox.cjs +1 -1
- package/dist/pkt-checkbox.js +2 -5
- package/dist/pkt-combobox.cjs +1 -1
- package/dist/pkt-combobox.js +2 -5
- package/dist/pkt-consent.cjs +1 -1
- package/dist/pkt-consent.js +2 -5
- package/dist/pkt-datepicker.cjs +1 -1
- package/dist/pkt-datepicker.js +5 -9
- package/dist/pkt-header.cjs +1 -304
- package/dist/pkt-header.js +2 -861
- package/dist/pkt-heading.cjs +1 -1
- package/dist/pkt-heading.js +2 -5
- package/dist/pkt-helptext.cjs +1 -1
- package/dist/pkt-helptext.js +2 -5
- package/dist/pkt-icon.cjs +1 -1
- package/dist/pkt-icon.js +2 -5
- package/dist/pkt-index.cjs +1 -1
- package/dist/pkt-index.js +30 -66
- package/dist/pkt-input-wrapper.cjs +1 -1
- package/dist/pkt-input-wrapper.js +2 -5
- package/dist/pkt-link.cjs +1 -1
- package/dist/pkt-link.js +2 -5
- package/dist/pkt-linkcard.cjs +1 -1
- package/dist/pkt-linkcard.js +2 -5
- package/dist/pkt-listbox.cjs +1 -1
- package/dist/pkt-listbox.js +2 -5
- package/dist/pkt-loader.cjs +1 -1
- package/dist/pkt-loader.js +2 -5
- package/dist/pkt-messagebox.cjs +1 -1
- package/dist/pkt-messagebox.js +2 -5
- package/dist/pkt-modal.cjs +1 -1
- package/dist/pkt-modal.js +2 -5
- package/dist/pkt-options-controller-CRrI6WMk.js +43 -0
- package/dist/pkt-options-controller-CXUGx134.cjs +1 -0
- package/dist/pkt-progressbar.cjs +1 -1
- package/dist/pkt-progressbar.js +2 -5
- package/dist/pkt-radiobutton.cjs +1 -1
- package/dist/pkt-radiobutton.js +2 -5
- package/dist/pkt-select.cjs +1 -1
- package/dist/pkt-select.js +2 -5
- package/dist/pkt-tabs.cjs +1 -1
- package/dist/pkt-tabs.js +2 -7
- package/dist/pkt-tag.cjs +1 -1
- package/dist/pkt-tag.js +2 -5
- package/dist/pkt-textarea.cjs +1 -1
- package/dist/pkt-textarea.js +2 -5
- package/dist/pkt-textinput.cjs +1 -1
- package/dist/pkt-textinput.js +2 -5
- package/dist/pkt-timepicker.cjs +1 -191
- package/dist/pkt-timepicker.js +2 -560
- package/dist/progressbar-CdXtmOBb.cjs +17 -0
- package/dist/progressbar-Dy9AiYQz.js +113 -0
- package/dist/radiobutton-GOnpUbCW.cjs +31 -0
- package/dist/radiobutton-V_KPbup_.js +84 -0
- package/dist/ref-BaJ0mBT_.cjs +1 -0
- package/dist/ref-RS8Uv6uC.js +30 -0
- package/dist/repeat-Cepr3469.js +57 -0
- package/dist/repeat-CqcDYBxr.cjs +1 -0
- package/dist/select-BSAFd8Wa.js +164 -0
- package/dist/select-C2i8sOk5.cjs +49 -0
- package/dist/tabs-D8nL9rWx.cjs +37 -0
- package/dist/tabs-Y7utmJi9.js +318 -0
- package/dist/tag-DLthw5b4.cjs +27 -0
- package/dist/tag-VwykmuQR.js +179 -0
- package/dist/textarea-D7aGOyDf.cjs +46 -0
- package/dist/textarea-DYOBhJrN.js +115 -0
- package/dist/textinput-BUgntXnM.js +124 -0
- package/dist/textinput-DFh8_9cx.cjs +70 -0
- package/dist/timepicker-BIfE7KKJ.cjs +191 -0
- package/dist/timepicker-DaSwn1FA.js +503 -0
- package/dist/utils-CUqCKGvp.js +7 -0
- package/dist/utils-CjAbIttF.cjs +1 -0
- package/package.json +6 -6
- package/src/components/alert/alert.test.ts +1 -1
- package/src/components/alert/alert.ts +6 -6
- package/src/components/datepicker/datepicker-utils.test.ts +16 -23
- package/dist/accordionitem-_9AiCIvd.cjs +0 -34
- package/dist/accordionitem-dCfSrxh5.js +0 -140
- package/dist/alert-BtOk8yRH.cjs +0 -33
- package/dist/alert-DlY2_grU.js +0 -117
- package/dist/async-directive-CMzWMlZ5.js +0 -65
- package/dist/async-directive-DoMuclel.cjs +0 -5
- package/dist/backlink-Ce5Vldop.js +0 -49
- package/dist/backlink-y3dwjKPC.cjs +0 -13
- package/dist/booleanish-BKVonob4.cjs +0 -1
- package/dist/booleanish-C9R0tdXH.js +0 -11
- package/dist/button-B_TXwNzt.cjs +0 -27
- package/dist/button-BiY-wlKF.js +0 -139
- package/dist/calendar-B2pji2zn.cjs +0 -90
- package/dist/calendar-DhjQDC4C.js +0 -2140
- package/dist/card-BwMNB5Bb.cjs +0 -87
- package/dist/card-CGlmcMSR.js +0 -233
- package/dist/checkbox-BsJZYA26.js +0 -147
- package/dist/checkbox-CTY8f_qn.cjs +0 -31
- package/dist/class-map-CEnykyO_.js +0 -34
- package/dist/class-map-CsENJXf1.cjs +0 -5
- package/dist/classutils-BwNK82ZQ.cjs +0 -1
- package/dist/classutils-RQs1k6D9.js +0 -7
- package/dist/combobox-DSB5WOxg.js +0 -815
- package/dist/combobox-DbICIgKG.cjs +0 -135
- package/dist/consent-DkOQpbsg.cjs +0 -11
- package/dist/consent-SNWV_mMU.js +0 -175
- package/dist/datepicker-BEWl9iz3.cjs +0 -273
- package/dist/datepicker-euHyzXnb.js +0 -1170
- package/dist/dialog-polyfill.esm-CPKZe7AL.cjs +0 -1
- package/dist/dialog-polyfill.esm-CbjBMXAG.js +0 -395
- package/dist/directive-C7oCP5Bh.cjs +0 -5
- package/dist/directive-helpers-BP2WOx60.cjs +0 -5
- package/dist/directive-helpers-rm-28gIj.js +0 -38
- package/dist/directive-oAbCiebi.js +0 -27
- package/dist/element-CPpT3rFQ.js +0 -638
- package/dist/element-gR_VtSiD.cjs +0 -27
- package/dist/element-with-slot-Dqk6-TRR.js +0 -240
- package/dist/element-with-slot-ZX-up7jO.cjs +0 -1
- package/dist/heading-D2tVS6lS.js +0 -103
- package/dist/heading-DrzbgDb6.cjs +0 -1
- package/dist/helptext-BKtU4mas.js +0 -82
- package/dist/helptext-DcRC7wW2.cjs +0 -24
- package/dist/icon-CxQcIa5F.js +0 -105
- package/dist/icon-q81vqPK_.cjs +0 -9
- package/dist/if-defined-B0krMLad.js +0 -10
- package/dist/if-defined-BOW3ODSj.cjs +0 -5
- package/dist/input-element-8nLwuQS4.js +0 -837
- package/dist/input-element-DdVhUvva.cjs +0 -1
- package/dist/input-wrapper-Bs4CRNst.js +0 -181
- package/dist/input-wrapper-Bv9aqqVq.cjs +0 -54
- package/dist/input-wrapper-CDgenrYA.js +0 -6
- package/dist/input-wrapper-EoSAbU-U.cjs +0 -1
- package/dist/link-C0rl-86s.cjs +0 -7
- package/dist/link-Cdqgl60z.js +0 -55
- package/dist/linkcard-Dimu7Rlx.cjs +0 -13
- package/dist/linkcard-Lbq_UhjZ.js +0 -56
- package/dist/listbox-Bia4_tvN.js +0 -440
- package/dist/listbox-La2GZQei.cjs +0 -106
- package/dist/loader-D1ugDXGV.cjs +0 -16
- package/dist/loader-DyN6RGC5.js +0 -95
- package/dist/messagebox-BGMVm2t9.js +0 -71
- package/dist/messagebox-M0yIgCz9.cjs +0 -13
- package/dist/modal-CMO1RtIi.cjs +0 -36
- package/dist/modal-DjPQDE-Z.js +0 -156
- package/dist/pkt-options-controller-5LXbEzuk.cjs +0 -1
- package/dist/pkt-options-controller-B5YalfCb.js +0 -39
- package/dist/progressbar-BqlMzkM_.cjs +0 -21
- package/dist/progressbar-sbHDFC12.js +0 -162
- package/dist/radiobutton-5ZqVVtTT.cjs +0 -31
- package/dist/radiobutton-D8Ai8ETa.js +0 -113
- package/dist/ref-Bg_Swj5w.js +0 -42
- package/dist/ref-CL-Xk9Xm.cjs +0 -5
- package/dist/repeat-BD8TKgJb.js +0 -61
- package/dist/repeat-Cfq8CDlf.cjs +0 -5
- package/dist/select-De-n8on9.js +0 -230
- package/dist/select-dTWibR6_.cjs +0 -49
- package/dist/state-C_1EOo3D.js +0 -12
- package/dist/state-Dg-53wQ8.cjs +0 -5
- package/dist/tabitem-B9-jeV97.js +0 -334
- package/dist/tabitem-BnhzqfW3.cjs +0 -65
- package/dist/tag-CbwO8yvD.cjs +0 -27
- package/dist/tag-D4FI5t3y.js +0 -117
- package/dist/textarea-BmLaKzsc.cjs +0 -50
- package/dist/textarea-CMiSJaYL.js +0 -133
- package/dist/textinput-em9y4yrL.cjs +0 -70
- package/dist/textinput-r8udK0IX.js +0 -152
- package/dist/utils-DznhwRXm.js +0 -8
- package/dist/utils-byXsEz1u.cjs +0 -1
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
const e=require(`./element-DjtxO-1r.cjs`),t=require(`./class-map-CJ-msbHs.cjs`);require(`./icon-Dr8sfT2X.cjs`);var n=365.2425,r=6048e5,i=864e5,a=3600*24;a*7,a*n/12*3;var o=Symbol.for(`constructDateFrom`);function s(e,t){return typeof e==`function`?e(t):e&&typeof e==`object`&&o in e?e[o](t):e instanceof Date?new e.constructor(t):new Date(t)}function c(e,t){return s(t||e,e)}function l(e,t,n){let r=c(e,n?.in);return isNaN(t)?s(n?.in||e,NaN):(t&&r.setDate(r.getDate()+t),r)}var u={};function d(){return u}function f(e,t){let n=d(),r=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??n.weekStartsOn??n.locale?.options?.weekStartsOn??0,i=c(e,t?.in),a=i.getDay(),o=(a<r?7:0)+a-r;return i.setDate(i.getDate()-o),i.setHours(0,0,0,0),i}function p(e,t){return f(e,{...t,weekStartsOn:1})}function m(e,t){let n=c(e,t?.in),r=n.getFullYear(),i=s(n,0);i.setFullYear(r+1,0,4),i.setHours(0,0,0,0);let a=p(i),o=s(n,0);o.setFullYear(r,0,4),o.setHours(0,0,0,0);let l=p(o);return n.getTime()>=a.getTime()?r+1:n.getTime()>=l.getTime()?r:r-1}function h(e){let t=c(e),n=new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()));return n.setUTCFullYear(t.getFullYear()),e-+n}function g(e,...t){let n=s.bind(null,e||t.find(e=>typeof e==`object`));return t.map(n)}function _(e,t){let n=c(e,t?.in);return n.setHours(0,0,0,0),n}function ee(e,t,n){let[r,a]=g(n?.in,e,t),o=_(r),s=_(a),c=+o-h(o),l=+s-h(s);return Math.round((c-l)/i)}function te(e,t){let n=m(e,t),r=s(t?.in||e,0);return r.setFullYear(n,0,4),r.setHours(0,0,0,0),p(r)}function ne(e){return e instanceof Date||typeof e==`object`&&Object.prototype.toString.call(e)===`[object Date]`}function re(e){return!(!ne(e)&&typeof e!=`number`||isNaN(+c(e)))}function ie(e,t){let n=c(e,t?.in);return n.setHours(23,59,59,999),n}function ae(e,t){let[n,r]=g(e,t.start,t.end);return{start:n,end:r}}function v(e,t){let{start:n,end:r}=ae(t?.in,e),i=+n>+r,a=i?+n:+r,o=i?r:n;o.setHours(0,0,0,0);let c=t?.step??1;if(!c)return[];c<0&&(c=-c,i=!i);let l=[];for(;+o<=a;)l.push(s(n,o)),o.setDate(o.getDate()+c),o.setHours(0,0,0,0);return i?l.reverse():l}function oe(e,t){let n=c(e,t?.in);return n.setFullYear(n.getFullYear(),0,1),n.setHours(0,0,0,0),n}var se={lessThanXSeconds:{one:`less than a second`,other:`less than {{count}} seconds`},xSeconds:{one:`1 second`,other:`{{count}} seconds`},halfAMinute:`half a minute`,lessThanXMinutes:{one:`less than a minute`,other:`less than {{count}} minutes`},xMinutes:{one:`1 minute`,other:`{{count}} minutes`},aboutXHours:{one:`about 1 hour`,other:`about {{count}} hours`},xHours:{one:`1 hour`,other:`{{count}} hours`},xDays:{one:`1 day`,other:`{{count}} days`},aboutXWeeks:{one:`about 1 week`,other:`about {{count}} weeks`},xWeeks:{one:`1 week`,other:`{{count}} weeks`},aboutXMonths:{one:`about 1 month`,other:`about {{count}} months`},xMonths:{one:`1 month`,other:`{{count}} months`},aboutXYears:{one:`about 1 year`,other:`about {{count}} years`},xYears:{one:`1 year`,other:`{{count}} years`},overXYears:{one:`over 1 year`,other:`over {{count}} years`},almostXYears:{one:`almost 1 year`,other:`almost {{count}} years`}},ce=(e,t,n)=>{let r,i=se[e];return r=typeof i==`string`?i:t===1?i.one:i.other.replace(`{{count}}`,t.toString()),n?.addSuffix?n.comparison&&n.comparison>0?`in `+r:r+` ago`:r};function y(e){return(t={})=>{let n=t.width?String(t.width):e.defaultWidth;return e.formats[n]||e.formats[e.defaultWidth]}}var le={date:y({formats:{full:`EEEE, MMMM do, y`,long:`MMMM do, y`,medium:`MMM d, y`,short:`MM/dd/yyyy`},defaultWidth:`full`}),time:y({formats:{full:`h:mm:ss a zzzz`,long:`h:mm:ss a z`,medium:`h:mm:ss a`,short:`h:mm a`},defaultWidth:`full`}),dateTime:y({formats:{full:`{{date}} 'at' {{time}}`,long:`{{date}} 'at' {{time}}`,medium:`{{date}}, {{time}}`,short:`{{date}}, {{time}}`},defaultWidth:`full`})},ue={lastWeek:`'last' eeee 'at' p`,yesterday:`'yesterday at' p`,today:`'today at' p`,tomorrow:`'tomorrow at' p`,nextWeek:`eeee 'at' p`,other:`P`},de=(e,t,n,r)=>ue[e];function b(e){return(t,n)=>{let r=n?.context?String(n.context):`standalone`,i;if(r===`formatting`&&e.formattingValues){let t=e.defaultFormattingWidth||e.defaultWidth,r=n?.width?String(n.width):t;i=e.formattingValues[r]||e.formattingValues[t]}else{let t=e.defaultWidth,r=n?.width?String(n.width):e.defaultWidth;i=e.values[r]||e.values[t]}let a=e.argumentCallback?e.argumentCallback(t):t;return i[a]}}var fe={ordinalNumber:(e,t)=>{let n=Number(e),r=n%100;if(r>20||r<10)switch(r%10){case 1:return n+`st`;case 2:return n+`nd`;case 3:return n+`rd`}return n+`th`},era:b({values:{narrow:[`B`,`A`],abbreviated:[`BC`,`AD`],wide:[`Before Christ`,`Anno Domini`]},defaultWidth:`wide`}),quarter:b({values:{narrow:[`1`,`2`,`3`,`4`],abbreviated:[`Q1`,`Q2`,`Q3`,`Q4`],wide:[`1st quarter`,`2nd quarter`,`3rd quarter`,`4th quarter`]},defaultWidth:`wide`,argumentCallback:e=>e-1}),month:b({values:{narrow:[`J`,`F`,`M`,`A`,`M`,`J`,`J`,`A`,`S`,`O`,`N`,`D`],abbreviated:[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`],wide:[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`]},defaultWidth:`wide`}),day:b({values:{narrow:[`S`,`M`,`T`,`W`,`T`,`F`,`S`],short:[`Su`,`Mo`,`Tu`,`We`,`Th`,`Fr`,`Sa`],abbreviated:[`Sun`,`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`],wide:[`Sunday`,`Monday`,`Tuesday`,`Wednesday`,`Thursday`,`Friday`,`Saturday`]},defaultWidth:`wide`}),dayPeriod:b({values:{narrow:{am:`a`,pm:`p`,midnight:`mi`,noon:`n`,morning:`morning`,afternoon:`afternoon`,evening:`evening`,night:`night`},abbreviated:{am:`AM`,pm:`PM`,midnight:`midnight`,noon:`noon`,morning:`morning`,afternoon:`afternoon`,evening:`evening`,night:`night`},wide:{am:`a.m.`,pm:`p.m.`,midnight:`midnight`,noon:`noon`,morning:`morning`,afternoon:`afternoon`,evening:`evening`,night:`night`}},defaultWidth:`wide`,formattingValues:{narrow:{am:`a`,pm:`p`,midnight:`mi`,noon:`n`,morning:`in the morning`,afternoon:`in the afternoon`,evening:`in the evening`,night:`at night`},abbreviated:{am:`AM`,pm:`PM`,midnight:`midnight`,noon:`noon`,morning:`in the morning`,afternoon:`in the afternoon`,evening:`in the evening`,night:`at night`},wide:{am:`a.m.`,pm:`p.m.`,midnight:`midnight`,noon:`noon`,morning:`in the morning`,afternoon:`in the afternoon`,evening:`in the evening`,night:`at night`}},defaultFormattingWidth:`wide`})};function x(e){return(t,n={})=>{let r=n.width,i=r&&e.matchPatterns[r]||e.matchPatterns[e.defaultMatchWidth],a=t.match(i);if(!a)return null;let o=a[0],s=r&&e.parsePatterns[r]||e.parsePatterns[e.defaultParseWidth],c=Array.isArray(s)?me(s,e=>e.test(o)):pe(s,e=>e.test(o)),l;l=e.valueCallback?e.valueCallback(c):c,l=n.valueCallback?n.valueCallback(l):l;let u=t.slice(o.length);return{value:l,rest:u}}}function pe(e,t){for(let n in e)if(Object.prototype.hasOwnProperty.call(e,n)&&t(e[n]))return n}function me(e,t){for(let n=0;n<e.length;n++)if(t(e[n]))return n}function he(e){return(t,n={})=>{let r=t.match(e.matchPattern);if(!r)return null;let i=r[0],a=t.match(e.parsePattern);if(!a)return null;let o=e.valueCallback?e.valueCallback(a[0]):a[0];o=n.valueCallback?n.valueCallback(o):o;let s=t.slice(i.length);return{value:o,rest:s}}}var ge={code:`en-US`,formatDistance:ce,formatLong:le,formatRelative:de,localize:fe,match:{ordinalNumber:he({matchPattern:/^(\d+)(th|st|nd|rd)?/i,parsePattern:/\d+/i,valueCallback:e=>parseInt(e,10)}),era:x({matchPatterns:{narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},defaultMatchWidth:`wide`,parsePatterns:{any:[/^b/i,/^(a|c)/i]},defaultParseWidth:`any`}),quarter:x({matchPatterns:{narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},defaultMatchWidth:`wide`,parsePatterns:{any:[/1/i,/2/i,/3/i,/4/i]},defaultParseWidth:`any`,valueCallback:e=>e+1}),month:x({matchPatterns:{narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},defaultMatchWidth:`wide`,parsePatterns:{narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},defaultParseWidth:`any`}),day:x({matchPatterns:{narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},defaultMatchWidth:`wide`,parsePatterns:{narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},defaultParseWidth:`any`}),dayPeriod:x({matchPatterns:{narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},defaultMatchWidth:`any`,parsePatterns:{any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},defaultParseWidth:`any`})},options:{weekStartsOn:0,firstWeekContainsDate:1}};function _e(e,t){let n=c(e,t?.in);return ee(n,oe(n))+1}function ve(e,t){let n=c(e,t?.in),i=p(n)-+te(n);return Math.round(i/r)+1}function S(e,t){let n=c(e,t?.in),r=n.getFullYear(),i=d(),a=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??i.firstWeekContainsDate??i.locale?.options?.firstWeekContainsDate??1,o=s(t?.in||e,0);o.setFullYear(r+1,0,a),o.setHours(0,0,0,0);let l=f(o,t),u=s(t?.in||e,0);u.setFullYear(r,0,a),u.setHours(0,0,0,0);let p=f(u,t);return+n>=+l?r+1:+n>=+p?r:r-1}function ye(e,t){let n=d(),r=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??n.firstWeekContainsDate??n.locale?.options?.firstWeekContainsDate??1,i=S(e,t),a=s(t?.in||e,0);return a.setFullYear(i,0,r),a.setHours(0,0,0,0),f(a,t)}function C(e,t){let n=c(e,t?.in),i=f(n,t)-+ye(n,t);return Math.round(i/r)+1}function w(e,t){return(e<0?`-`:``)+Math.abs(e).toString().padStart(t,`0`)}var T={y(e,t){let n=e.getFullYear(),r=n>0?n:1-n;return w(t===`yy`?r%100:r,t.length)},M(e,t){let n=e.getMonth();return t===`M`?String(n+1):w(n+1,2)},d(e,t){return w(e.getDate(),t.length)},a(e,t){let n=e.getHours()/12>=1?`pm`:`am`;switch(t){case`a`:case`aa`:return n.toUpperCase();case`aaa`:return n;case`aaaaa`:return n[0];default:return n===`am`?`a.m.`:`p.m.`}},h(e,t){return w(e.getHours()%12||12,t.length)},H(e,t){return w(e.getHours(),t.length)},m(e,t){return w(e.getMinutes(),t.length)},s(e,t){return w(e.getSeconds(),t.length)},S(e,t){let n=t.length,r=e.getMilliseconds();return w(Math.trunc(r*10**(n-3)),t.length)}},E={am:`am`,pm:`pm`,midnight:`midnight`,noon:`noon`,morning:`morning`,afternoon:`afternoon`,evening:`evening`,night:`night`},D={G:function(e,t,n){let r=+(e.getFullYear()>0);switch(t){case`G`:case`GG`:case`GGG`:return n.era(r,{width:`abbreviated`});case`GGGGG`:return n.era(r,{width:`narrow`});default:return n.era(r,{width:`wide`})}},y:function(e,t,n){if(t===`yo`){let t=e.getFullYear(),r=t>0?t:1-t;return n.ordinalNumber(r,{unit:`year`})}return T.y(e,t)},Y:function(e,t,n,r){let i=S(e,r),a=i>0?i:1-i;return t===`YY`?w(a%100,2):t===`Yo`?n.ordinalNumber(a,{unit:`year`}):w(a,t.length)},R:function(e,t){return w(m(e),t.length)},u:function(e,t){return w(e.getFullYear(),t.length)},Q:function(e,t,n){let r=Math.ceil((e.getMonth()+1)/3);switch(t){case`Q`:return String(r);case`QQ`:return w(r,2);case`Qo`:return n.ordinalNumber(r,{unit:`quarter`});case`QQQ`:return n.quarter(r,{width:`abbreviated`,context:`formatting`});case`QQQQQ`:return n.quarter(r,{width:`narrow`,context:`formatting`});default:return n.quarter(r,{width:`wide`,context:`formatting`})}},q:function(e,t,n){let r=Math.ceil((e.getMonth()+1)/3);switch(t){case`q`:return String(r);case`qq`:return w(r,2);case`qo`:return n.ordinalNumber(r,{unit:`quarter`});case`qqq`:return n.quarter(r,{width:`abbreviated`,context:`standalone`});case`qqqqq`:return n.quarter(r,{width:`narrow`,context:`standalone`});default:return n.quarter(r,{width:`wide`,context:`standalone`})}},M:function(e,t,n){let r=e.getMonth();switch(t){case`M`:case`MM`:return T.M(e,t);case`Mo`:return n.ordinalNumber(r+1,{unit:`month`});case`MMM`:return n.month(r,{width:`abbreviated`,context:`formatting`});case`MMMMM`:return n.month(r,{width:`narrow`,context:`formatting`});default:return n.month(r,{width:`wide`,context:`formatting`})}},L:function(e,t,n){let r=e.getMonth();switch(t){case`L`:return String(r+1);case`LL`:return w(r+1,2);case`Lo`:return n.ordinalNumber(r+1,{unit:`month`});case`LLL`:return n.month(r,{width:`abbreviated`,context:`standalone`});case`LLLLL`:return n.month(r,{width:`narrow`,context:`standalone`});default:return n.month(r,{width:`wide`,context:`standalone`})}},w:function(e,t,n,r){let i=C(e,r);return t===`wo`?n.ordinalNumber(i,{unit:`week`}):w(i,t.length)},I:function(e,t,n){let r=ve(e);return t===`Io`?n.ordinalNumber(r,{unit:`week`}):w(r,t.length)},d:function(e,t,n){return t===`do`?n.ordinalNumber(e.getDate(),{unit:`date`}):T.d(e,t)},D:function(e,t,n){let r=_e(e);return t===`Do`?n.ordinalNumber(r,{unit:`dayOfYear`}):w(r,t.length)},E:function(e,t,n){let r=e.getDay();switch(t){case`E`:case`EE`:case`EEE`:return n.day(r,{width:`abbreviated`,context:`formatting`});case`EEEEE`:return n.day(r,{width:`narrow`,context:`formatting`});case`EEEEEE`:return n.day(r,{width:`short`,context:`formatting`});default:return n.day(r,{width:`wide`,context:`formatting`})}},e:function(e,t,n,r){let i=e.getDay(),a=(i-r.weekStartsOn+8)%7||7;switch(t){case`e`:return String(a);case`ee`:return w(a,2);case`eo`:return n.ordinalNumber(a,{unit:`day`});case`eee`:return n.day(i,{width:`abbreviated`,context:`formatting`});case`eeeee`:return n.day(i,{width:`narrow`,context:`formatting`});case`eeeeee`:return n.day(i,{width:`short`,context:`formatting`});default:return n.day(i,{width:`wide`,context:`formatting`})}},c:function(e,t,n,r){let i=e.getDay(),a=(i-r.weekStartsOn+8)%7||7;switch(t){case`c`:return String(a);case`cc`:return w(a,t.length);case`co`:return n.ordinalNumber(a,{unit:`day`});case`ccc`:return n.day(i,{width:`abbreviated`,context:`standalone`});case`ccccc`:return n.day(i,{width:`narrow`,context:`standalone`});case`cccccc`:return n.day(i,{width:`short`,context:`standalone`});default:return n.day(i,{width:`wide`,context:`standalone`})}},i:function(e,t,n){let r=e.getDay(),i=r===0?7:r;switch(t){case`i`:return String(i);case`ii`:return w(i,t.length);case`io`:return n.ordinalNumber(i,{unit:`day`});case`iii`:return n.day(r,{width:`abbreviated`,context:`formatting`});case`iiiii`:return n.day(r,{width:`narrow`,context:`formatting`});case`iiiiii`:return n.day(r,{width:`short`,context:`formatting`});default:return n.day(r,{width:`wide`,context:`formatting`})}},a:function(e,t,n){let r=e.getHours()/12>=1?`pm`:`am`;switch(t){case`a`:case`aa`:return n.dayPeriod(r,{width:`abbreviated`,context:`formatting`});case`aaa`:return n.dayPeriod(r,{width:`abbreviated`,context:`formatting`}).toLowerCase();case`aaaaa`:return n.dayPeriod(r,{width:`narrow`,context:`formatting`});default:return n.dayPeriod(r,{width:`wide`,context:`formatting`})}},b:function(e,t,n){let r=e.getHours(),i;switch(i=r===12?E.noon:r===0?E.midnight:r/12>=1?`pm`:`am`,t){case`b`:case`bb`:return n.dayPeriod(i,{width:`abbreviated`,context:`formatting`});case`bbb`:return n.dayPeriod(i,{width:`abbreviated`,context:`formatting`}).toLowerCase();case`bbbbb`:return n.dayPeriod(i,{width:`narrow`,context:`formatting`});default:return n.dayPeriod(i,{width:`wide`,context:`formatting`})}},B:function(e,t,n){let r=e.getHours(),i;switch(i=r>=17?E.evening:r>=12?E.afternoon:r>=4?E.morning:E.night,t){case`B`:case`BB`:case`BBB`:return n.dayPeriod(i,{width:`abbreviated`,context:`formatting`});case`BBBBB`:return n.dayPeriod(i,{width:`narrow`,context:`formatting`});default:return n.dayPeriod(i,{width:`wide`,context:`formatting`})}},h:function(e,t,n){if(t===`ho`){let t=e.getHours()%12;return t===0&&(t=12),n.ordinalNumber(t,{unit:`hour`})}return T.h(e,t)},H:function(e,t,n){return t===`Ho`?n.ordinalNumber(e.getHours(),{unit:`hour`}):T.H(e,t)},K:function(e,t,n){let r=e.getHours()%12;return t===`Ko`?n.ordinalNumber(r,{unit:`hour`}):w(r,t.length)},k:function(e,t,n){let r=e.getHours();return r===0&&(r=24),t===`ko`?n.ordinalNumber(r,{unit:`hour`}):w(r,t.length)},m:function(e,t,n){return t===`mo`?n.ordinalNumber(e.getMinutes(),{unit:`minute`}):T.m(e,t)},s:function(e,t,n){return t===`so`?n.ordinalNumber(e.getSeconds(),{unit:`second`}):T.s(e,t)},S:function(e,t){return T.S(e,t)},X:function(e,t,n){let r=e.getTimezoneOffset();if(r===0)return`Z`;switch(t){case`X`:return xe(r);case`XXXX`:case`XX`:return O(r);default:return O(r,`:`)}},x:function(e,t,n){let r=e.getTimezoneOffset();switch(t){case`x`:return xe(r);case`xxxx`:case`xx`:return O(r);default:return O(r,`:`)}},O:function(e,t,n){let r=e.getTimezoneOffset();switch(t){case`O`:case`OO`:case`OOO`:return`GMT`+be(r,`:`);default:return`GMT`+O(r,`:`)}},z:function(e,t,n){let r=e.getTimezoneOffset();switch(t){case`z`:case`zz`:case`zzz`:return`GMT`+be(r,`:`);default:return`GMT`+O(r,`:`)}},t:function(e,t,n){return w(Math.trunc(e/1e3),t.length)},T:function(e,t,n){return w(+e,t.length)}};function be(e,t=``){let n=e>0?`-`:`+`,r=Math.abs(e),i=Math.trunc(r/60),a=r%60;return a===0?n+String(i):n+String(i)+t+w(a,2)}function xe(e,t){return e%60==0?(e>0?`-`:`+`)+w(Math.abs(e)/60,2):O(e,t)}function O(e,t=``){let n=e>0?`-`:`+`,r=Math.abs(e),i=w(Math.trunc(r/60),2),a=w(r%60,2);return n+i+t+a}var k=(e,t)=>{switch(e){case`P`:return t.date({width:`short`});case`PP`:return t.date({width:`medium`});case`PPP`:return t.date({width:`long`});default:return t.date({width:`full`})}},A=(e,t)=>{switch(e){case`p`:return t.time({width:`short`});case`pp`:return t.time({width:`medium`});case`ppp`:return t.time({width:`long`});default:return t.time({width:`full`})}},Se={p:A,P:(e,t)=>{let n=e.match(/(P+)(p+)?/)||[],r=n[1],i=n[2];if(!i)return k(e,t);let a;switch(r){case`P`:a=t.dateTime({width:`short`});break;case`PP`:a=t.dateTime({width:`medium`});break;case`PPP`:a=t.dateTime({width:`long`});break;default:a=t.dateTime({width:`full`});break}return a.replace(`{{date}}`,k(r,t)).replace(`{{time}}`,A(i,t))}},Ce=/^D+$/,we=/^Y+$/,Te=[`D`,`DD`,`YY`,`YYYY`];function Ee(e){return Ce.test(e)}function De(e){return we.test(e)}function Oe(e,t,n){let r=ke(e,t,n);if(console.warn(r),Te.includes(e))throw RangeError(r)}function ke(e,t,n){let r=e[0]===`Y`?`years`:`days of the month`;return`Use \`${e.toLowerCase()}\` instead of \`${e}\` (in \`${t}\`) for formatting ${r} to the input \`${n}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`}var Ae=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,je=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,Me=/^'([^]*?)'?$/,Ne=/''/g,Pe=/[a-zA-Z]/;function Fe(e,t,n){let r=d(),i=n?.locale??r.locale??ge,a=n?.firstWeekContainsDate??n?.locale?.options?.firstWeekContainsDate??r.firstWeekContainsDate??r.locale?.options?.firstWeekContainsDate??1,o=n?.weekStartsOn??n?.locale?.options?.weekStartsOn??r.weekStartsOn??r.locale?.options?.weekStartsOn??0,s=c(e,n?.in);if(!re(s))throw RangeError(`Invalid time value`);let l=t.match(je).map(e=>{let t=e[0];if(t===`p`||t===`P`){let n=Se[t];return n(e,i.formatLong)}return e}).join(``).match(Ae).map(e=>{if(e===`''`)return{isToken:!1,value:`'`};let t=e[0];if(t===`'`)return{isToken:!1,value:Ie(e)};if(D[t])return{isToken:!0,value:e};if(t.match(Pe))throw RangeError("Format string contains an unescaped latin alphabet character `"+t+"`");return{isToken:!1,value:e}});i.localize.preprocessor&&(l=i.localize.preprocessor(s,l));let u={firstWeekContainsDate:a,weekStartsOn:o,locale:i};return l.map(r=>{if(!r.isToken)return r.value;let a=r.value;(!n?.useAdditionalWeekYearTokens&&De(a)||!n?.useAdditionalDayOfYearTokens&&Ee(a))&&Oe(a,t,String(e));let o=D[a[0]];return o(s,a,i.localize,u)}).join(``)}function Ie(e){let t=e.match(Me);return t?t[1].replace(Ne,`'`):e}function Le(e,t){let n=c(e,t?.in).getDay();return n===0?7:n}function Re(e,t,n=`long`){return new Intl.DateTimeFormat(`en-US`,{hour:`numeric`,timeZone:e,timeZoneName:n}).format(t).split(/\s/g).slice(2).join(` `)}var ze={},j={};function M(e,t){try{let n=(ze[e]||=new Intl.DateTimeFormat(`en-US`,{timeZone:e,timeZoneName:`longOffset`}).format)(t).split(`GMT`)[1];return n in j?j[n]:N(n,n.split(`:`))}catch{if(e in j)return j[e];let t=e?.match(Be);return t?N(e,t.slice(1)):NaN}}var Be=/([+-]\d\d):?(\d\d)?/;function N(e,t){let n=+(t[0]||0),r=+(t[1]||0),i=(t[2]||0)/60;return j[e]=n*60+r>0?n*60+r+i:n*60-r-i}var P=class e extends Date{constructor(...e){super(),e.length>1&&typeof e[e.length-1]==`string`&&(this.timeZone=e.pop()),this.internal=new Date,isNaN(M(this.timeZone,this))?this.setTime(NaN):e.length?typeof e[0]==`number`&&(e.length===1||e.length===2&&typeof e[1]!=`number`)?this.setTime(e[0]):typeof e[0]==`string`?this.setTime(+new Date(e[0])):e[0]instanceof Date?this.setTime(+e[0]):(this.setTime(+new Date(...e)),He(this,NaN),I(this)):this.setTime(Date.now())}static tz(t,...n){return n.length?new e(...n,t):new e(Date.now(),t)}withTimeZone(t){return new e(+this,t)}getTimezoneOffset(){let e=-M(this.timeZone,this);return e>0?Math.floor(e):Math.ceil(e)}setTime(e){return Date.prototype.setTime.apply(this,arguments),I(this),+this}[Symbol.for(`constructDateFrom`)](t){return new e(+new Date(t),this.timeZone)}},F=/^(get|set)(?!UTC)/;Object.getOwnPropertyNames(Date.prototype).forEach(e=>{if(!F.test(e))return;let t=e.replace(F,`$1UTC`);P.prototype[t]&&(e.startsWith(`get`)?P.prototype[e]=function(){return this.internal[t]()}:(P.prototype[e]=function(){return Date.prototype[t].apply(this.internal,arguments),Ve(this),+this},P.prototype[t]=function(){return Date.prototype[t].apply(this,arguments),I(this),+this}))});function I(e){e.internal.setTime(+e),e.internal.setUTCSeconds(e.internal.getUTCSeconds()-Math.round(-M(e.timeZone,e)*60))}function Ve(e){Date.prototype.setFullYear.call(e,e.internal.getUTCFullYear(),e.internal.getUTCMonth(),e.internal.getUTCDate()),Date.prototype.setHours.call(e,e.internal.getUTCHours(),e.internal.getUTCMinutes(),e.internal.getUTCSeconds(),e.internal.getUTCMilliseconds()),He(e)}function He(e){let t=M(e.timeZone,e),n=t>0?Math.floor(t):Math.ceil(t),r=new Date(+e);r.setUTCHours(r.getUTCHours()-1);let i=-new Date(+e).getTimezoneOffset(),a=i- -new Date(+r).getTimezoneOffset(),o=Date.prototype.getHours.apply(e)!==e.internal.getUTCHours();a&&o&&e.internal.setUTCMinutes(e.internal.getUTCMinutes()+a);let s=i-n;s&&Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+s);let c=new Date(+e);c.setUTCSeconds(0);let l=i>0?c.getSeconds():(c.getSeconds()-60)%60,u=Math.round(-(M(e.timeZone,e)*60))%60;(u||l)&&(e.internal.setUTCSeconds(e.internal.getUTCSeconds()+u),Date.prototype.setUTCSeconds.call(e,Date.prototype.getUTCSeconds.call(e)+u+l));let d=M(e.timeZone,e),f=d>0?Math.floor(d):Math.ceil(d),p=-new Date(+e).getTimezoneOffset()-f,m=f!==n,h=p-s;if(m&&h){Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+h);let t=M(e.timeZone,e),n=f-(t>0?Math.floor(t):Math.ceil(t));n&&(e.internal.setUTCMinutes(e.internal.getUTCMinutes()+n),Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+n))}}var Ue=class e extends P{static tz(t,...n){return n.length?new e(...n,t):new e(Date.now(),t)}toISOString(){let[e,t,n]=this.tzComponents(),r=`${e}${t}:${n}`;return this.internal.toISOString().slice(0,-1)+r}toString(){return`${this.toDateString()} ${this.toTimeString()}`}toDateString(){let[e,t,n,r]=this.internal.toUTCString().split(` `);return`${e?.slice(0,-1)} ${n} ${t} ${r}`}toTimeString(){let e=this.internal.toUTCString().split(` `)[4],[t,n,r]=this.tzComponents();return`${e} GMT${t}${n}${r} (${Re(this.timeZone,this)})`}toLocaleString(e,t){return Date.prototype.toLocaleString.call(this,e,{...t,timeZone:t?.timeZone||this.timeZone})}toLocaleDateString(e,t){return Date.prototype.toLocaleDateString.call(this,e,{...t,timeZone:t?.timeZone||this.timeZone})}toLocaleTimeString(e,t){return Date.prototype.toLocaleTimeString.call(this,e,{...t,timeZone:t?.timeZone||this.timeZone})}tzComponents(){let e=this.getTimezoneOffset();return[e>0?`-`:`+`,String(Math.floor(Math.abs(e)/60)).padStart(2,`0`),String(Math.abs(e)%60).padStart(2,`0`)]}withTimeZone(t){return new e(+this,t)}[Symbol.for(`constructDateFrom`)](t){return new e(+new Date(t),this.timeZone)}};window.pktTz=window.pktTz===void 0?`Europe/Oslo`:window.pktTz;var We=(e=window.pktTz)=>{let t=new Ue(new Date().toISOString(),e);return t.setHours(0,0,0,0),isNaN(t.getTime())?new Date:new Date(t.getFullYear(),t.getMonth(),t.getDate())};function L(e){if(!e||e===``)return new Date;if(/^\d{4}-\d{2}-\d{2}$/.test(e)){let[t,n,r]=e.split(`-`).map(Number);return new Date(t,n-1,r)}if(/^\d{4}-\d{2}$/.test(e)){let[t,n]=e.split(`-`).map(Number);return new Date(t,n-1,1)}return/^\d{4}$/.test(e)?new Date(Number(e),0,1):new Date(e)}var R=e=>!e||isNaN(e.getTime())?``:`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,`0`)}-${String(e.getDate()).padStart(2,`0`)}`,z=e=>{if(!e)return null;let t=L(e);return isNaN(t.getTime())?null:t},Ge=(e,t)=>{let n=B(e);return isNaN(n.getTime())?``:Fe(n,t)},B=(e=``,t)=>{let n=typeof e==`string`?L(e):e;return!n||isNaN(n.getTime())?new Date:t?t===`end`?ie(n):_(n):n},V=(e,t,n=1)=>{if(typeof e!=`number`||typeof t!=`number`||typeof n!=`number`||isNaN(e)||isNaN(t)||isNaN(n))return new Date;let r=new Date(e,t,n);return isNaN(r.getTime())?new Date:r},H=e=>{let t;return t=new Ue(e,window.pktTz),t.setHours(12,0,0,0),t},U=null,W=void 0,Ke=e=>{if(!e||isNaN(e.getTime()))return``;let t=typeof window<`u`?window.pktTz:void 0;return(!U||W!==t)&&(U=new Intl.DateTimeFormat(`no`,{dateStyle:`full`,timeZone:t}),W=t),U.format(e)},qe=(e,t,n)=>{if(!e||isNaN(e.getTime()))return!1;let r=t?B(t):null,i=n?B(n):null;return!(r&&e<r||i&&e>i)},Je=(e,t)=>{if(!e||isNaN(e.getTime())||!Array.isArray(t))return!1;let n=R(e);return t.includes(n)},Ye=(e,t)=>{if(!e||isNaN(e.getTime())||!Array.isArray(t))return!1;let n=e.getDay().toString();return t.includes(n)},G=(e,t,n,r,i)=>!(!e||isNaN(e.getTime())||!qe(e,t,n)||r&&Je(e,r)||i&&Ye(e,i)),Xe=(e,t,n,r,i)=>e.filter(e=>{let a=z(e);return a&&G(a,t,n,r,i)}),Ze=e=>e.slice().sort((e,t)=>{let n=z(e),r=z(t);return!n||!r?0:n.getTime()-r.getTime()}),Qe=(e,t)=>{let n=z(e),r=z(t);return!n||!r?!1:n<=r},K=e=>{if(!e)return[];if(Array.isArray(e))return e.filter(Boolean);if(typeof e==`string`&&e.trimStart().startsWith(`[`))try{let t=JSON.parse(e);if(Array.isArray(t))return t.filter(Boolean)}catch{}return String(e).split(`,`).map(e=>e.trim()).filter(Boolean)},$e=e=>e.join(`,`),q={csvToArray:e=>K(e),stringToDate:e=>e?L(e):null,stringsToDate:e=>{if(typeof e==`string`)return e.split(`,`).map(e=>L(e));if(Array.isArray(e))return e.map(e=>L(e))}},J={name:`pkt-calendar`,react:`PktCalendar`,"css-class":`pkt-calendar`,isElement:!0,isPureReact:!0,props:{id:{type:`string`,name:`ID`,description:`Unik identifikasjon for kalenderen`},currentmonth:{type:`date`,name:`Gjeldende måned`,converter:`stringToDate`,description:`Måneden som vises i kalenderen`},selected:{type:`array`,name:`Valgte datoer`,converter:`csvToArray`,reflect:!0,items:{type:`date`},description:`Liste over valgte datoer`},excludeweekdays:{type:`array`,name:`Utelat ukedager`,converter:`csvToArray`,items:{type:`string`},description:`Liste over ukedager (1-7) som skal ekskluderes`},excludedates:{type:`array`,name:`Utelat datoer`,converter:`stringsToDate`,items:{type:`date`},description:`Liste over spesifikke datoer som skal ekskluderes`},earliest:{type:`date`,name:`Tidligst tillatte dato`,converter:`stringToDate`,default:null,description:`Tidligste dato som kan velges`},latest:{type:`date`,name:`Senest tillatte dato`,converter:`stringToDate`,default:null,description:`Seneste dato som kan velges`},weeknumbers:{type:`boolean`,name:`Vis ukenummer`,reflect:!0,default:!1,description:`Vis ukenummer i kalenderen`},withcontrols:{type:`boolean`,name:`Med velgere for måned/år`,reflect:!0,default:!1,description:`Vis navigasjonskontroller for måned og år`},multiple:{type:`boolean`,name:`Flervalg`,reflect:!0,default:!1,description:`Tillat valg av flere datoer`},maxMultiple:{attribute:`max-multiple`,type:`number`,name:`Maks antall i flervalg`,default:4,description:`Maksimalt antall datoer som kan velges`},today:{type:`string`,name:`Dagens dato (overstyring)`,description:`ISO-datostreng som overstyrer dagens dato. Nyttig for snapshot-tester.`},range:{type:`boolean`,name:`Datotidsrom (fra og til)`,reflect:!0,default:!1,description:`Tillat valg av datotidsrom`},dayStrings:{attribute:`day-strings`,type:`array`,name:`Korte dagsnavn`,items:{type:`string`},description:`Korte dagsnavn for kalenderoverskriften`},dayStringsLong:{attribute:`day-strings-long`,type:`array`,name:`Fulle dagsnavn`,items:{type:`string`},description:`Fulle dagsnavn for tilgjengelighetsetiketter`},monthStrings:{attribute:`month-strings`,type:`array`,name:`Månedsnavn`,items:{type:`string`},description:`Månedsnavn for kalendernavigasjonen`},weekString:{attribute:`week-string`,type:`string`,name:`Ukenummer-etikett`,description:`Etikett for ukenummerkolonnen`},prevMonthString:{attribute:`prev-month-string`,type:`string`,name:`Forrige måned-etikett`,description:`Tilgjengelighetsetikett for forrige måned-knappen`},nextMonthString:{attribute:`next-month-string`,type:`string`,name:`Neste måned-etikett`,description:`Tilgjengelighetsetikett for neste måned-knappen`}},events:{"date-selected":{description:`Returnerer en liste med valgte datoer i ISO-format`},close:{description:`Utløses når kalenderen ber om å lukkes (Escape-tast eller fokus forlater)`}}};function Y(e,t){let n=(t.excludedates??[]).map(e=>typeof e==`string`?e:R(e));return!G(e,t.earliest,t.latest,n,t.excludeweekdays??[])}function et(e,t,n,r){return!!(Y(e,n)||!t&&r.multiple&&r.maxMultiple>0&&r.selectedCount>=r.maxMultiple)}function tt(e,t,n){let r=V(e,t,0);return!(n&&B(n)>r)}function nt(e,t,n){let r=V(t===11?e+1:e,t===11?0:t+1,1);return!(n&&B(n)<r)}function rt(e,t){let n=V(e,t,1),r=V(e,t+1,0),i=(n.getDay()+6)%7,a=r.getDate();return{firstDayOfMonth:n,lastDayOfMonth:r,startingDay:i,numDays:a,numRows:Math.ceil((a+i)/7),numDaysPrevMonth:V(e,t,0).getDate(),initialWeek:C(n)}}function it(e,t,n,r){let{startingDay:i,numDays:a}=r;return e===0&&t<i?`prev-month`:n>a?`next-month`:`current-month`}function at(e,t,n,r){let{startingDay:i,numDaysPrevMonth:a,numDays:o}=r;return e===`prev-month`?a-(i-t-1):e===`next-month`?n-o:n}function X(e){return typeof e==`string`&&(e=e.split(`,`)),e.length===1&&e[0]===``?[]:e.map(e=>L(e))}function ot(e,t){let n=v({start:e,end:t}),r={};if(Array.isArray(n)&&n.length)for(let i=0;i<n.length;i++){let a=n[i],o=a>e&&a<t;r[R(a)]=o}return r}function st(e,t,n,r){if(t.length!==1)return!0;let i=v({start:t[0],end:e});if(!Array.isArray(i)||!i.length)return!0;for(let a=0;a<i.length;a++){for(let r of n??[])if(r>t[0]&&r<e)return!1;if((r??[]).includes(Le(i[a]).toString()))return!1}return!0}function Z(e,t){let n=R(e);return t.includes(n)?t:[...t,n]}function Q(e,t){let n=R(e),r=t.indexOf(n);if(r===-1)return t;if(t.length===1)return[];let i=[...t];return i.splice(r,1),i}function ct(e,t,n){let r=R(e);return t.includes(r)?Q(e,t):n>0&&t.length>=n?t:Z(e,t)}function lt(e,t,n){let r=R(e),i=X(t);return t.includes(r)?t.indexOf(r)===0?[]:Q(e,t):t.length>1||t.length===1&&(!st(e,i,n.excludedates,n.excludeweekdays)||i[0]>e)?[r]:Z(e,t)}var ut={ArrowLeft:-1,ArrowRight:1,ArrowUp:-7,ArrowDown:7};function dt(e){let t=e.nodeName;return t===`INPUT`||t===`SELECT`||t===`BUTTON`&&!e.dataset?.date}function ft(e,t,n){let r=l(e,t);if(!r)return null;let i=n(`button[data-date="${R(r)}"]`);for(;i instanceof HTMLButtonElement&&i.dataset.disabled;)if(r=l(r,t),i=n(`button[data-date="${R(r)}"]`),!i)return null;return r}function pt(e){return ut[e]??null}var $=class extends e.t{constructor(...e){super(...e),this.selected=[],this.multiple=J.props.multiple.default,this.maxMultiple=J.props.maxMultiple.default,this.range=J.props.range.default,this.earliest=J.props.earliest.default,this.latest=J.props.latest.default,this.excludedates=[],this.excludeweekdays=[],this.weeknumbers=J.props.weeknumbers.default,this.withcontrols=J.props.withcontrols.default,this.currentmonth=null,this.today=null,this.dayStrings=this.strings.dates.daysShort,this.dayStringsLong=this.strings.dates.days,this.monthStrings=this.strings.dates.months,this.weekString=this.strings.dates.week,this.prevMonthString=this.strings.dates.prevMonth,this.nextMonthString=this.strings.dates.nextMonth,this._selected=[],this.inRange={},this.rangeHovered=null,this.year=0,this.month=0,this.week=0,this.currentmonthtouched=!1,this.focusedDate=null,this.selectableDates=[],this.tabIndexSet=0}get todayDate(){return this.today?L(this.today):We()}firstUpdated(e){this.addEventListener(`keydown`,this.handleKeydown)}disconnectedCallback(){this.removeEventListener(`keydown`,this.handleKeydown),super.disconnectedCallback()}updated(e){super.updated(e),e.has(`selected`)&&this.convertSelected()}convertSelected(){typeof this.selected==`string`&&(this.selected=this.selected.split(`,`)),this.selected.length===1&&this.selected[0]===``&&(this.selected=[]),this._selected=X(this.selected),this.range&&this.selected.length===2&&(this.inRange=ot(this._selected[0],this._selected[1])),this.setCurrentMonth()}setCurrentMonth(){if(this.currentmonth===null&&!this.currentmonthtouched&&(this.currentmonthtouched=!0),this.selected.length&&this.selected[0]!==``){let e=L(this.selected[this.selected.length-1]);this.currentmonth=isNaN(e.getTime())?H(this.todayDate):e}else this.currentmonth===null&&(this.currentmonth=H(this.todayDate));(!this.currentmonth||isNaN(this.currentmonth.getTime()))&&(this.currentmonth=H(this.todayDate)),this.year=this.currentmonth.getFullYear(),this.month=this.currentmonth.getMonth()}handleKeydown(e){let t=pt(e.key);t!==null&&this.handleArrowKey(e,t)}handleArrowKey(e,t){let n=e.target;if(dt(n))return;if(e.preventDefault(),!this.focusedDate){this.focusOnCurrentDate();return}let r=ft(this.focusedDate?B(this.focusedDate):V(this.year,this.month,1),t,this.querySelector.bind(this));if(r){let e=this.querySelector(`button[data-date="${R(r)}"]`);e instanceof HTMLButtonElement&&!e.dataset.disabled&&(this.focusedDate=R(r),e.focus())}}render(){return e.d`
|
|
2
|
+
<div
|
|
3
|
+
class="pkt-calendar ${this.weeknumbers?`pkt-cal-weeknumbers`:``}"
|
|
4
|
+
@focusout=${this.closeEvent}
|
|
5
|
+
@keydown=${e=>{e.key===`Escape`&&(e.preventDefault(),this.close())}}
|
|
6
|
+
>
|
|
7
|
+
<nav class="pkt-cal-month-nav">
|
|
8
|
+
${this.renderMonthNavButton(`prev`)}
|
|
9
|
+
${this.renderMonthNav()}
|
|
10
|
+
${this.renderMonthNavButton(`next`)}
|
|
11
|
+
</nav>
|
|
12
|
+
<table
|
|
13
|
+
class="pkt-cal-days pkt-txt-12-medium pkt-calendar__body"
|
|
14
|
+
role="grid"
|
|
15
|
+
?aria-multiselectable=${this.range||this.multiple}
|
|
16
|
+
>
|
|
17
|
+
<thead>
|
|
18
|
+
${this.renderDayNames()}
|
|
19
|
+
</thead>
|
|
20
|
+
<tbody>
|
|
21
|
+
${this.renderCalendarBody()}
|
|
22
|
+
</tbody>
|
|
23
|
+
</table>
|
|
24
|
+
</div>
|
|
25
|
+
`}renderMonthNavButton(t){let n=t===`prev`,r=n?this.isPrevMonthAllowed():this.isNextMonthAllowed(),i=n?this.prevMonthString:this.nextMonthString,a=n?`chevron-thin-left`:`chevron-thin-right`,o=n?`pkt-calendar__prev-month`:`pkt-calendar__next-month`,s=n?()=>this.prevMonth():()=>this.nextMonth();return e.d`<div>
|
|
26
|
+
<button
|
|
27
|
+
type="button"
|
|
28
|
+
aria-label="${i}"
|
|
29
|
+
@click=${()=>r&&s()}
|
|
30
|
+
@keydown=${e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),r&&s())}}
|
|
31
|
+
class="pkt-btn pkt-btn--tertiary pkt-btn--small pkt-btn--icon-only ${o} ${r?``:`pkt-invisible`}"
|
|
32
|
+
.data-disabled=${r?e.l:`disabled`}
|
|
33
|
+
?aria-disabled=${!r}
|
|
34
|
+
tabindex=${r?`0`:`-1`}
|
|
35
|
+
>
|
|
36
|
+
<pkt-icon class="pkt-btn__icon" name="${a}"></pkt-icon>
|
|
37
|
+
<span class="pkt-btn__text">${i}</span>
|
|
38
|
+
</button>
|
|
39
|
+
</div>`}renderDayNames(){let t=[];this.weeknumbers&&t.push(e.d`<th><div class="pkt-calendar__week-number">${this.weekString}</div></th>`);for(let n=0;n<this.dayStrings.length;n++)t.push(e.d`<th>
|
|
40
|
+
<div class="pkt-calendar__day-name" aria-label="${this.dayStringsLong[n]}">
|
|
41
|
+
${this.dayStrings[n]}
|
|
42
|
+
</div>
|
|
43
|
+
</th>`);return e.d`<tr class="pkt-cal-week-row">${t}</tr>`}renderMonthNav(){return this.withcontrols?e.d`<div class="pkt-cal-month-picker">
|
|
44
|
+
<label for="${this.id}-monthnav" class="pkt-hide">${this.strings.dates.month}</label>
|
|
45
|
+
<select
|
|
46
|
+
aria-label="${this.strings.dates.month}"
|
|
47
|
+
class="pkt-input pkt-input-compact"
|
|
48
|
+
id="${this.id}-monthnav"
|
|
49
|
+
@change=${e=>{e.stopImmediatePropagation();let t=e.target;this.changeMonth(this.year,parseInt(t.value))}}
|
|
50
|
+
>
|
|
51
|
+
${this.monthStrings.map((t,n)=>e.d`<option value=${n} ?selected=${this.month===n}>${t}</option>`)}
|
|
52
|
+
</select>
|
|
53
|
+
<label for="${this.id}-yearnav" class="pkt-hide">${this.strings.dates.year}</label>
|
|
54
|
+
<input
|
|
55
|
+
aria-label="${this.strings.dates.year}"
|
|
56
|
+
class="pkt-input pkt-cal-input-year pkt-input-compact"
|
|
57
|
+
id="${this.id}-yearnav"
|
|
58
|
+
type="number"
|
|
59
|
+
size="4"
|
|
60
|
+
placeholder="0000"
|
|
61
|
+
@change=${e=>{e.stopImmediatePropagation();let t=e.target;this.changeMonth(parseInt(t.value),this.month)}}
|
|
62
|
+
.value=${this.year}
|
|
63
|
+
/>
|
|
64
|
+
</div>`:e.d`<div class="pkt-txt-16-medium pkt-calendar__month-title" aria-live="polite">
|
|
65
|
+
${this.monthStrings[this.month]} ${this.year}
|
|
66
|
+
</div>`}getDayViewData(e,t){let n=V(this.year,this.month,e),r=R(n),i=r===R(t),a=this.selected.includes(r),o=this.isDayDisabled(n,a),s=this.calculateTabIndex(r,o,e);return{currentDate:n,currentDateISO:r,isToday:i,isSelected:a,isDisabled:o,ariaLabel:Ke(n),tabindex:s}}getDateConstraints(){return{earliest:this.earliest,latest:this.latest,excludedates:this.excludedates,excludeweekdays:this.excludeweekdays}}isDayDisabled(e,t){return et(e,t,this.getDateConstraints(),{multiple:this.multiple,maxMultiple:this.maxMultiple,selectedCount:this.selected.length})}calculateTabIndex(e,t,n){return this.focusedDate?this.focusedDate===e&&!t?`0`:`-1`:!t&&this.tabIndexSet===0?(this.tabIndexSet=n,`0`):this.tabIndexSet===n?`0`:`-1`}getDayCellClasses(e){let{currentDateISO:t,isToday:n,isSelected:r}=e,i=this.range&&(this.selected.length===2||this.rangeHovered!==null)&&t===this.selected[0],a=this.range&&this.selected.length===2&&t===this.selected[1];return{"pkt-cal-today":n,"pkt-cal-selected":r,"pkt-cal-in-range":this.inRange[t],"pkt-cal-excluded":this.isExcluded(e.currentDate),"pkt-cal-in-range-first":i,"pkt-cal-in-range-last":a,"pkt-cal-range-hover":this.rangeHovered!==null&&t===R(this.rangeHovered)}}getDayButtonClasses(e){let{currentDateISO:t,isToday:n,isSelected:r,isDisabled:i}=e,a=this.range&&(this.selected.length===2||this.rangeHovered!==null)&&t===this.selected[0],o=this.range&&this.selected.length===2&&t===this.selected[1];return{"pkt-calendar__date":!0,"pkt-calendar__date--today":n,"pkt-calendar__date--selected":r,"pkt-calendar__date--disabled":i,"pkt-calendar__date--in-range":this.inRange[t],"pkt-calendar__date--in-range-hover":this.rangeHovered!==null&&t===R(this.rangeHovered),"pkt-calendar__date--range-start":a,"pkt-calendar__date--range-end":o}}handleDayFocus(e,t){this.range&&!this.isExcluded(e)&&this.handleRangeHover(e),this.focusedDate=t}renderDayView(n,r){let i=this.getDayViewData(n,r),{currentDate:a,currentDateISO:o,isSelected:s,isDisabled:c,ariaLabel:l,tabindex:u}=i;this.selectableDates.push({currentDateISO:o,isDisabled:c,tabindex:u});let d=this.getDayCellClasses(i),f=this.getDayButtonClasses(i);return e.d`<td class=${t.t(d)}>
|
|
67
|
+
<button
|
|
68
|
+
type="button"
|
|
69
|
+
aria-pressed=${s?`true`:`false`}
|
|
70
|
+
?disabled=${c}
|
|
71
|
+
class="pkt-btn pkt-btn--tertiary pkt-btn--small pkt-btn--label-only ${t.t(f)}"
|
|
72
|
+
@mouseover=${()=>this.range&&!this.isExcluded(a)&&this.handleRangeHover(a)}
|
|
73
|
+
@focus=${()=>this.handleDayFocus(a,o)}
|
|
74
|
+
aria-label="${l}"
|
|
75
|
+
tabindex=${u}
|
|
76
|
+
data-disabled=${c?`disabled`:e.l}
|
|
77
|
+
data-date=${o}
|
|
78
|
+
@keydown=${e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),this.handleDateSelect(a))}}
|
|
79
|
+
@click=${e=>{c||(e.preventDefault(),this.handleDateSelect(a))}}
|
|
80
|
+
>
|
|
81
|
+
<span class="pkt-btn__text pkt-txt-14-light">${n}</span>
|
|
82
|
+
</button>
|
|
83
|
+
</td>`}renderEmptyDayCell(t){return e.d`<td class="pkt-cal-other">
|
|
84
|
+
<div
|
|
85
|
+
class="pkt-btn pkt-btn--tertiary pkt-btn--small pkt-btn--label-only"
|
|
86
|
+
data-disabled="disabled"
|
|
87
|
+
>
|
|
88
|
+
<span class="pkt-btn__text pkt-txt-14-light">${t}</span>
|
|
89
|
+
</div>
|
|
90
|
+
</td>`}renderWeekRow(t){return e.d`<tr class="pkt-cal-week-row" role="row">${t}</tr>`}renderCalendarBody(){let t=this.todayDate,n=rt(this.year,this.month);this.selectableDates=[],this.tabIndexSet=0;let r=1;this.week=n.initialWeek;let i=[];for(let a=0;a<n.numRows;a++){let o=[];this.weeknumbers&&o.push(e.d`<td class="pkt-cal-week">${this.week}</td>`),this.week++;for(let e=0;e<7;e++){let i=it(a,e,r,n);if(i===`current-month`)o.push(this.renderDayView(r,t)),r++;else{let t=at(i,e,r,n);o.push(this.renderEmptyDayCell(t)),i===`next-month`&&r++}}i.push(this.renderWeekRow(o))}return i}isExcluded(e){return Y(e,this.getDateConstraints())}isPrevMonthAllowed(){return tt(this.year,this.month,this.earliest)}prevMonth(){let e=this.month===0?11:this.month-1,t=this.month===0?this.year-1:this.year;this.changeMonth(t,e)}isNextMonthAllowed(){return nt(this.year,this.month,this.latest)}nextMonth(){let e=this.month===11?0:this.month+1,t=this.month===11?this.year+1:this.year;this.changeMonth(t,e)}changeMonth(e,t){this.year=typeof e==`string`?parseInt(e):e,this.month=typeof t==`string`?parseInt(t):t,this.currentmonth=H(new Date(this.year,this.month,1)),this.tabIndexSet=0,this.focusedDate=null,this.selectableDates=[]}emptySelected(){this.selected=[],this._selected=[],this.inRange={}}normalizeSelected(){return typeof this.selected==`string`?this.selected.split(`,`):this.selected}addToSelected(e){this.selected=Z(e,this.normalizeSelected()),this._selected=X(this.selected),this.range&&this.selected.length===2&&(this.convertSelected(),this.close())}removeFromSelected(e){this.selected=Q(e,this.normalizeSelected()),this._selected=X(this.selected)}toggleSelected(e){this.selected=ct(e,this.normalizeSelected(),this.maxMultiple),this._selected=X(this.selected)}isRangeAllowed(e){return st(e,this._selected,this.excludedates,this.excludeweekdays)}handleRangeSelect(e){return this.selected=lt(e,this.normalizeSelected(),{excludedates:this.excludedates,excludeweekdays:this.excludeweekdays}),this._selected=X(this.selected),this.selected.length===2?(this.convertSelected(),this.close()):this.selected.length===1&&(this.inRange={}),Promise.resolve()}handleRangeHover(e){if(!this.range||this._selected.length!==1||!this.isRangeAllowed(e)||this._selected[0]>=e){this.rangeHovered=null;return}this.rangeHovered=e,this.inRange=ot(this._selected[0],e)}handleDateSelect(e){return e?(this.range?this.handleRangeSelect(e):this.multiple?this.toggleSelected(e):(this.selected.includes(R(e))?this.emptySelected():(this.emptySelected(),this.addToSelected(e)),this.close()),this.dispatchEvent(new CustomEvent(`date-selected`,{detail:this.selected,bubbles:!0,composed:!0})),Promise.resolve()):Promise.resolve()}focusOnCurrentDate(){let e=R(H(this.todayDate)),t=this.querySelector(`button[data-date="${e}"]`);if(t instanceof HTMLButtonElement){this.focusedDate=e,t.focus();return}let n=this.selectableDates.find(e=>!e.isDisabled);if(n){let e=this.querySelector(`button[data-date="${n.currentDateISO}"]`);e instanceof HTMLButtonElement&&(this.focusedDate=n.currentDateISO,e.focus())}}closeEvent(e){!this.contains(e.relatedTarget)&&!e.target.classList.contains(`pkt-invisible`)&&this.close()}close(){this.dispatchEvent(new CustomEvent(`close`,{detail:!0,bubbles:!0,composed:!0}))}};e.r([e.s({converter:q.csvToArray})],$.prototype,`selected`,void 0),e.r([e.s({type:Boolean})],$.prototype,`multiple`,void 0),e.r([e.s({type:Number,attribute:`max-multiple`})],$.prototype,`maxMultiple`,void 0),e.r([e.s({type:Boolean})],$.prototype,`range`,void 0),e.r([e.s({type:String})],$.prototype,`earliest`,void 0),e.r([e.s({type:String})],$.prototype,`latest`,void 0),e.r([e.s({converter:q.stringsToDate})],$.prototype,`excludedates`,void 0),e.r([e.s({converter:q.csvToArray})],$.prototype,`excludeweekdays`,void 0),e.r([e.s({type:Boolean})],$.prototype,`weeknumbers`,void 0),e.r([e.s({type:Boolean})],$.prototype,`withcontrols`,void 0),e.r([e.s({converter:q.stringToDate})],$.prototype,`currentmonth`,void 0),e.r([e.s({type:String})],$.prototype,`today`,void 0),e.r([e.s({type:Array,attribute:`day-strings`})],$.prototype,`dayStrings`,void 0),e.r([e.s({type:Array,attribute:`day-strings-long`})],$.prototype,`dayStringsLong`,void 0),e.r([e.s({type:Array,attribute:`month-strings`})],$.prototype,`monthStrings`,void 0),e.r([e.s({type:String,attribute:`week-string`})],$.prototype,`weekString`,void 0),e.r([e.s({type:String,attribute:`prev-month-string`})],$.prototype,`prevMonthString`,void 0),e.r([e.s({type:String,attribute:`next-month-string`})],$.prototype,`nextMonthString`,void 0),e.r([e.s({type:Array})],$.prototype,`_selected`,void 0),e.r([e.o()],$.prototype,`inRange`,void 0),e.r([e.s({type:Date})],$.prototype,`rangeHovered`,void 0),e.r([e.s({type:Number})],$.prototype,`year`,void 0),e.r([e.s({type:Number})],$.prototype,`month`,void 0),e.r([e.s({type:Number})],$.prototype,`week`,void 0),e.r([e.o()],$.prototype,`currentmonthtouched`,void 0),e.r([e.o()],$.prototype,`focusedDate`,void 0);try{e.c(`pkt-calendar`)($)}catch{console.warn(`Forsøker å definere <pkt-calendar>, men den er allerede definert`)}var mt=$;Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return K}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return z}}),Object.defineProperty(exports,`d`,{enumerable:!0,get:function(){return B}}),Object.defineProperty(exports,`f`,{enumerable:!0,get:function(){return L}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return $e}}),Object.defineProperty(exports,`l`,{enumerable:!0,get:function(){return Ge}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return $}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return Xe}}),Object.defineProperty(exports,`p`,{enumerable:!0,get:function(){return Ze}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return q}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return R}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return mt}}),Object.defineProperty(exports,`u`,{enumerable:!0,get:function(){return Qe}});
|
|
@@ -0,0 +1,339 @@
|
|
|
1
|
+
import { c as e, d as t, l as n, r, s as i } from "./element-cZ85T_aa.js";
|
|
2
|
+
import { t as a } from "./class-map-C8HuhNzZ.js";
|
|
3
|
+
import { n as o, t as s } from "./element-with-slot-4J2o3SeU.js";
|
|
4
|
+
import "./icon-Co72KtgF.js";
|
|
5
|
+
import { t as c } from "./if-defined-Cjj8qN-Z.js";
|
|
6
|
+
import "./tag-VwykmuQR.js";
|
|
7
|
+
import "./heading-DiQLPxdf.js";
|
|
8
|
+
var l = {
|
|
9
|
+
name: "pkt-card",
|
|
10
|
+
react: "PktCard",
|
|
11
|
+
"css-class": "pkt-card",
|
|
12
|
+
isElement: !0,
|
|
13
|
+
isPureReact: !0,
|
|
14
|
+
"dark-mode": !0,
|
|
15
|
+
props: {
|
|
16
|
+
heading: {
|
|
17
|
+
type: "string",
|
|
18
|
+
name: "Overskrift",
|
|
19
|
+
description: "Tittel på card",
|
|
20
|
+
category: "contents"
|
|
21
|
+
},
|
|
22
|
+
headingLevel: {
|
|
23
|
+
type: [
|
|
24
|
+
1,
|
|
25
|
+
2,
|
|
26
|
+
3,
|
|
27
|
+
4,
|
|
28
|
+
5,
|
|
29
|
+
6
|
|
30
|
+
],
|
|
31
|
+
name: "Overskriftsnivå",
|
|
32
|
+
description: "Nivået på headingen. Brukes for tilgjengelighet.",
|
|
33
|
+
default: 3,
|
|
34
|
+
category: "accessibility"
|
|
35
|
+
},
|
|
36
|
+
subheading: {
|
|
37
|
+
type: "string",
|
|
38
|
+
name: "Undertittel",
|
|
39
|
+
description: "Undertittel på card",
|
|
40
|
+
category: "contents"
|
|
41
|
+
},
|
|
42
|
+
layout: {
|
|
43
|
+
type: ["vertical", "horizontal"],
|
|
44
|
+
name: "Layout",
|
|
45
|
+
description: "Horisontal eller vertikal layout. Ved horisontal layout vil bildet være plassert til venstre for teksten på desktop, og over teksten på mobil.",
|
|
46
|
+
default: "vertical",
|
|
47
|
+
category: "ui"
|
|
48
|
+
},
|
|
49
|
+
skin: {
|
|
50
|
+
type: [
|
|
51
|
+
"outlined",
|
|
52
|
+
"outlined-beige",
|
|
53
|
+
"gray",
|
|
54
|
+
"blue",
|
|
55
|
+
"beige",
|
|
56
|
+
"green"
|
|
57
|
+
],
|
|
58
|
+
name: "Utseende",
|
|
59
|
+
description: "Fargen på card. Velg mellom outlined, outlined-beige, gray, blue, beige og green. Ved padding=none er det ikke mulighet for outlined-skin. Card med kombinasjonen av propsene padding=none + layout=vertical vil alltid være transparante.",
|
|
60
|
+
default: "outlined",
|
|
61
|
+
category: "ui"
|
|
62
|
+
},
|
|
63
|
+
padding: {
|
|
64
|
+
type: ["none", "default"],
|
|
65
|
+
name: "Padding",
|
|
66
|
+
description: "Padding rundt card. Ved \"none\" strekker innholdet i card seg ut til kantene, og dette er derfor ikke mulig å kombinere med outlined skin.",
|
|
67
|
+
default: "default",
|
|
68
|
+
category: "ui"
|
|
69
|
+
},
|
|
70
|
+
metaLead: {
|
|
71
|
+
type: "string",
|
|
72
|
+
name: "Forfatter eller annen metadata",
|
|
73
|
+
description: "Undertekst med fet skriftvekt",
|
|
74
|
+
default: !1,
|
|
75
|
+
category: "contents"
|
|
76
|
+
},
|
|
77
|
+
metaTrail: {
|
|
78
|
+
type: "string",
|
|
79
|
+
name: "Dato eller annen metadata",
|
|
80
|
+
description: "Undertekst med normal skriftvekt",
|
|
81
|
+
default: !1,
|
|
82
|
+
category: "contents"
|
|
83
|
+
},
|
|
84
|
+
tagPosition: {
|
|
85
|
+
type: ["top", "bottom"],
|
|
86
|
+
name: "Tagplassering",
|
|
87
|
+
description: "Plassering av tags i card",
|
|
88
|
+
default: "top",
|
|
89
|
+
category: "ui"
|
|
90
|
+
},
|
|
91
|
+
clickCardlink: {
|
|
92
|
+
type: "string",
|
|
93
|
+
name: "Lenke for klikkbart card",
|
|
94
|
+
description: "Href sendes inn som streng for å gjøre card klikkbart. Ved bruk MÅ heading sendes inn da denne vil brukes som lenketekst i klikkbart card.",
|
|
95
|
+
category: "contents"
|
|
96
|
+
},
|
|
97
|
+
openLinkInNewTab: {
|
|
98
|
+
type: "boolean",
|
|
99
|
+
name: "Åpne i ny fane",
|
|
100
|
+
description: "Velg denne dersom du ønsker at lenken i card skal åpnes i ny fane.",
|
|
101
|
+
default: !1,
|
|
102
|
+
category: "tech"
|
|
103
|
+
},
|
|
104
|
+
borderOnHover: {
|
|
105
|
+
type: "boolean",
|
|
106
|
+
name: "Hover border for klikkbart card",
|
|
107
|
+
description: "Vi anbefaler hoverborder på klikkbart card. Kan slås av ved behov.",
|
|
108
|
+
default: !0,
|
|
109
|
+
category: "ui"
|
|
110
|
+
},
|
|
111
|
+
image: {
|
|
112
|
+
type: "object",
|
|
113
|
+
name: "Bilde",
|
|
114
|
+
description: "Bildet på card. Tar inn et objekt av typen {src: string, alt: string}.",
|
|
115
|
+
properties: {
|
|
116
|
+
src: {
|
|
117
|
+
type: "string",
|
|
118
|
+
description: "Stien til bildet",
|
|
119
|
+
required: !0
|
|
120
|
+
},
|
|
121
|
+
alt: {
|
|
122
|
+
type: "string",
|
|
123
|
+
description: "Tekst til skjermleser. Skal kun sendes inn for bilder som ikke er dekorative",
|
|
124
|
+
required: !1
|
|
125
|
+
}
|
|
126
|
+
},
|
|
127
|
+
category: "contents"
|
|
128
|
+
},
|
|
129
|
+
imageShape: {
|
|
130
|
+
type: ["square", "round"],
|
|
131
|
+
name: "Bildeform",
|
|
132
|
+
description: "Valg for om bildet skal ha rektangulær eller rund form.",
|
|
133
|
+
default: "square",
|
|
134
|
+
category: "contents"
|
|
135
|
+
},
|
|
136
|
+
tags: {
|
|
137
|
+
type: "array",
|
|
138
|
+
description: "Liste av tags på card. Tar inn et array med objekter med følgende stringproperties: skin, iconName, ariaLabel, text",
|
|
139
|
+
name: "Tags",
|
|
140
|
+
items: {
|
|
141
|
+
type: "object",
|
|
142
|
+
name: "Tag",
|
|
143
|
+
properties: {
|
|
144
|
+
skin: {
|
|
145
|
+
type: [
|
|
146
|
+
"blue",
|
|
147
|
+
"green",
|
|
148
|
+
"red",
|
|
149
|
+
"yellow"
|
|
150
|
+
],
|
|
151
|
+
description: "Farge på tag"
|
|
152
|
+
},
|
|
153
|
+
iconName: {
|
|
154
|
+
type: "icon",
|
|
155
|
+
description: "Id på ikonet du ønsker å bruke til tag"
|
|
156
|
+
},
|
|
157
|
+
ariaLabel: {
|
|
158
|
+
type: "string",
|
|
159
|
+
description: "Tekst for aria-label"
|
|
160
|
+
},
|
|
161
|
+
text: {
|
|
162
|
+
type: "string",
|
|
163
|
+
description: "Tekst på tag",
|
|
164
|
+
required: !0
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
},
|
|
168
|
+
category: "contents"
|
|
169
|
+
},
|
|
170
|
+
ariaLabel: {
|
|
171
|
+
type: "string",
|
|
172
|
+
name: "Aria-label for card",
|
|
173
|
+
description: "Tekst til skjermleser for aria-label på card. Settes automatisk til headingen, eller subheadingen der heading ikke eksisterer. Ved bruk av klikkbart card må heading alltid sendes inn da denne brukes som lenketekst.",
|
|
174
|
+
category: "accessibility"
|
|
175
|
+
}
|
|
176
|
+
},
|
|
177
|
+
slots: { default: { description: "Innholdet i card" } }
|
|
178
|
+
}, u = class extends s {
|
|
179
|
+
constructor(...e) {
|
|
180
|
+
super(...e), this.ariaLabel = "", this.metaLead = null, this.borderOnHover = !0, this.clickCardLink = null, this.metaTrail = null, this.layout = l.props.layout.default, this.heading = "", this.headinglevel = 3, this.image = {
|
|
181
|
+
src: "",
|
|
182
|
+
alt: ""
|
|
183
|
+
}, this.imageShape = "square", this.openLinkInNewTab = !1, this.padding = l.props.padding.default, this.skin = l.props.skin.default, this.subheading = "", this.tagPosition = "top", this.tags = [];
|
|
184
|
+
}
|
|
185
|
+
connectedCallback() {
|
|
186
|
+
super.connectedCallback();
|
|
187
|
+
}
|
|
188
|
+
render() {
|
|
189
|
+
let e = {
|
|
190
|
+
"pkt-card": !0,
|
|
191
|
+
[`pkt-card--${this.skin}`]: this.skin,
|
|
192
|
+
[`pkt-card--${this.layout}`]: this.layout,
|
|
193
|
+
[`pkt-card--padding-${this.padding}`]: this.padding,
|
|
194
|
+
"pkt-card--border-on-hover": this.borderOnHover
|
|
195
|
+
}, r = this.ariaLabel?.trim() || (this.heading ? `${this.heading} lenkekort` : "lenkekort"), i = this.ariaLabel?.trim() || (this.heading ? this.heading : "kort");
|
|
196
|
+
return t`
|
|
197
|
+
<article
|
|
198
|
+
class=${a(e)}
|
|
199
|
+
aria-label=${c(this.clickCardLink ? r : i)}
|
|
200
|
+
>
|
|
201
|
+
${this.renderImage()}
|
|
202
|
+
<div class="pkt-card__wrapper">
|
|
203
|
+
${this.tagPosition === "top" ? this.renderTags() : n}
|
|
204
|
+
${this.renderHeader()}
|
|
205
|
+
${this.renderSlot()}
|
|
206
|
+
${this.tagPosition === "bottom" ? this.renderTags() : n}
|
|
207
|
+
${this.renderMetadata()}
|
|
208
|
+
</div>
|
|
209
|
+
</article>
|
|
210
|
+
`;
|
|
211
|
+
}
|
|
212
|
+
renderImage() {
|
|
213
|
+
let e = {
|
|
214
|
+
"pkt-card__image": !0,
|
|
215
|
+
[`pkt-card__image-${this.imageShape}`]: this.imageShape
|
|
216
|
+
};
|
|
217
|
+
return t`
|
|
218
|
+
${this.image.src && t`
|
|
219
|
+
<div class=${a(e)}>
|
|
220
|
+
<img src=${this.image.src} alt=${this.image.alt || ""} />
|
|
221
|
+
</div>
|
|
222
|
+
`}
|
|
223
|
+
`;
|
|
224
|
+
}
|
|
225
|
+
renderHeading() {
|
|
226
|
+
return t`
|
|
227
|
+
${this.heading && !this.clickCardLink ? t`
|
|
228
|
+
<pkt-heading
|
|
229
|
+
class="pkt-card__heading"
|
|
230
|
+
.level=${this.headinglevel || 3}
|
|
231
|
+
size="medium"
|
|
232
|
+
nospacing
|
|
233
|
+
weight="regular"
|
|
234
|
+
>
|
|
235
|
+
${this.heading}
|
|
236
|
+
</pkt-heading>
|
|
237
|
+
` : n}
|
|
238
|
+
`;
|
|
239
|
+
}
|
|
240
|
+
renderLinkHeading() {
|
|
241
|
+
return t`
|
|
242
|
+
${this.clickCardLink ? t`
|
|
243
|
+
<pkt-heading
|
|
244
|
+
class="pkt-card__link-heading pkt-card__heading"
|
|
245
|
+
.level=${this.headinglevel || 3}
|
|
246
|
+
size="medium"
|
|
247
|
+
weight="regular"
|
|
248
|
+
nospacing
|
|
249
|
+
>
|
|
250
|
+
<a
|
|
251
|
+
class="pkt-card__link"
|
|
252
|
+
href=${this.clickCardLink}
|
|
253
|
+
target=${this.openLinkInNewTab ? "_blank" : "_self"}
|
|
254
|
+
>${this.heading}</a
|
|
255
|
+
>
|
|
256
|
+
</pkt-heading>
|
|
257
|
+
` : n}
|
|
258
|
+
`;
|
|
259
|
+
}
|
|
260
|
+
renderSubheading() {
|
|
261
|
+
return t`
|
|
262
|
+
${this.subheading ? t` <p class="pkt-card__subheading ">${this.subheading}</p> ` : n}
|
|
263
|
+
`;
|
|
264
|
+
}
|
|
265
|
+
renderHeader() {
|
|
266
|
+
return t`
|
|
267
|
+
${this.heading || this.subheading ? t`
|
|
268
|
+
<header class="pkt-card__header">
|
|
269
|
+
${this.renderHeading()}
|
|
270
|
+
${this.renderLinkHeading()}
|
|
271
|
+
${this.renderSubheading()}
|
|
272
|
+
</header>
|
|
273
|
+
` : n}
|
|
274
|
+
`;
|
|
275
|
+
}
|
|
276
|
+
renderTags() {
|
|
277
|
+
let e = {
|
|
278
|
+
"pkt-card__tags": !0,
|
|
279
|
+
[`pkt-card__tags-${this.tagPosition}`]: this.tagPosition
|
|
280
|
+
};
|
|
281
|
+
return t`
|
|
282
|
+
${this.tags.length > 0 ? t`
|
|
283
|
+
<div
|
|
284
|
+
class=${a(e)}
|
|
285
|
+
role="list"
|
|
286
|
+
aria-label=${this.tags.length > 1 ? "merkelapper" : "merkelapp"}
|
|
287
|
+
>
|
|
288
|
+
${this.tags.map((e) => t`
|
|
289
|
+
<pkt-tag
|
|
290
|
+
role="listitem"
|
|
291
|
+
textStyle="normal-text"
|
|
292
|
+
size="medium"
|
|
293
|
+
skin=${c(e.skin)}
|
|
294
|
+
iconName=${c(e.iconName)}
|
|
295
|
+
>
|
|
296
|
+
<span>${e.text}</span>
|
|
297
|
+
</pkt-tag>
|
|
298
|
+
`)}
|
|
299
|
+
</div>
|
|
300
|
+
` : n}
|
|
301
|
+
`;
|
|
302
|
+
}
|
|
303
|
+
renderSlot() {
|
|
304
|
+
return t`<section class="pkt-card__content">${o(this)}</section>`;
|
|
305
|
+
}
|
|
306
|
+
renderMetadata() {
|
|
307
|
+
return t`
|
|
308
|
+
${this.metaLead || this.metaTrail ? t`
|
|
309
|
+
<footer class="pkt-card__metadata">
|
|
310
|
+
${this.metaLead ? t`<span class="pkt-card__metadata-lead">${this.metaLead}</span>` : n}
|
|
311
|
+
${this.metaTrail ? t`<span class="pkt-card__metadata-trail">${this.metaTrail}</span>` : n}
|
|
312
|
+
</footer>
|
|
313
|
+
` : n}
|
|
314
|
+
`;
|
|
315
|
+
}
|
|
316
|
+
};
|
|
317
|
+
r([i({ type: String })], u.prototype, "ariaLabel", void 0), r([i({ type: String })], u.prototype, "metaLead", void 0), r([i({ type: Boolean })], u.prototype, "borderOnHover", void 0), r([i({
|
|
318
|
+
type: String,
|
|
319
|
+
reflect: !0
|
|
320
|
+
})], u.prototype, "clickCardLink", void 0), r([i({ type: String })], u.prototype, "metaTrail", void 0), r([i({ type: String })], u.prototype, "layout", void 0), r([i({ type: String })], u.prototype, "heading", void 0), r([i({ type: Number })], u.prototype, "headinglevel", void 0), r([i({ type: Object })], u.prototype, "image", void 0), r([i({ type: String })], u.prototype, "imageShape", void 0), r([i({ type: Boolean })], u.prototype, "openLinkInNewTab", void 0), r([i({ type: String })], u.prototype, "padding", void 0), r([i({
|
|
321
|
+
type: String,
|
|
322
|
+
converter: {
|
|
323
|
+
fromAttribute: (e) => {
|
|
324
|
+
let t = l.props.skin.type;
|
|
325
|
+
return e && t.includes(e) ? e : (e && !t.includes(e) && console.warn(`Invalid skin value "${e}". Using default skin "${l.props.skin.default}".`), l.props.skin.default);
|
|
326
|
+
},
|
|
327
|
+
toAttribute: (e) => e
|
|
328
|
+
}
|
|
329
|
+
})], u.prototype, "skin", void 0), r([i({ type: String })], u.prototype, "subheading", void 0), r([i({ type: String })], u.prototype, "tagPosition", void 0), r([i({ type: Array })], u.prototype, "tags", void 0);
|
|
330
|
+
try {
|
|
331
|
+
e("pkt-card")(u);
|
|
332
|
+
} catch {
|
|
333
|
+
console.warn("Forsøker å definere <pkt-card>, men den er allerede definert");
|
|
334
|
+
}
|
|
335
|
+
//#endregion
|
|
336
|
+
//#region src/components/card/index.ts
|
|
337
|
+
var d = u;
|
|
338
|
+
//#endregion
|
|
339
|
+
export { u as n, d as t };
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
const e=require(`./element-DjtxO-1r.cjs`),t=require(`./class-map-CJ-msbHs.cjs`),n=require(`./element-with-slot-CWoTGA1B.cjs`);require(`./icon-Dr8sfT2X.cjs`);const r=require(`./if-defined-XKOD_t_V.cjs`);require(`./tag-DLthw5b4.cjs`),require(`./heading-BgSWIRii.cjs`);var i={name:`pkt-card`,react:`PktCard`,"css-class":`pkt-card`,isElement:!0,isPureReact:!0,"dark-mode":!0,props:{heading:{type:`string`,name:`Overskrift`,description:`Tittel på card`,category:`contents`},headingLevel:{type:[1,2,3,4,5,6],name:`Overskriftsnivå`,description:`Nivået på headingen. Brukes for tilgjengelighet.`,default:3,category:`accessibility`},subheading:{type:`string`,name:`Undertittel`,description:`Undertittel på card`,category:`contents`},layout:{type:[`vertical`,`horizontal`],name:`Layout`,description:`Horisontal eller vertikal layout. Ved horisontal layout vil bildet være plassert til venstre for teksten på desktop, og over teksten på mobil.`,default:`vertical`,category:`ui`},skin:{type:[`outlined`,`outlined-beige`,`gray`,`blue`,`beige`,`green`],name:`Utseende`,description:`Fargen på card. Velg mellom outlined, outlined-beige, gray, blue, beige og green. Ved padding=none er det ikke mulighet for outlined-skin. Card med kombinasjonen av propsene padding=none + layout=vertical vil alltid være transparante.`,default:`outlined`,category:`ui`},padding:{type:[`none`,`default`],name:`Padding`,description:`Padding rundt card. Ved "none" strekker innholdet i card seg ut til kantene, og dette er derfor ikke mulig å kombinere med outlined skin.`,default:`default`,category:`ui`},metaLead:{type:`string`,name:`Forfatter eller annen metadata`,description:`Undertekst med fet skriftvekt`,default:!1,category:`contents`},metaTrail:{type:`string`,name:`Dato eller annen metadata`,description:`Undertekst med normal skriftvekt`,default:!1,category:`contents`},tagPosition:{type:[`top`,`bottom`],name:`Tagplassering`,description:`Plassering av tags i card`,default:`top`,category:`ui`},clickCardlink:{type:`string`,name:`Lenke for klikkbart card`,description:`Href sendes inn som streng for å gjøre card klikkbart. Ved bruk MÅ heading sendes inn da denne vil brukes som lenketekst i klikkbart card.`,category:`contents`},openLinkInNewTab:{type:`boolean`,name:`Åpne i ny fane`,description:`Velg denne dersom du ønsker at lenken i card skal åpnes i ny fane.`,default:!1,category:`tech`},borderOnHover:{type:`boolean`,name:`Hover border for klikkbart card`,description:`Vi anbefaler hoverborder på klikkbart card. Kan slås av ved behov.`,default:!0,category:`ui`},image:{type:`object`,name:`Bilde`,description:`Bildet på card. Tar inn et objekt av typen {src: string, alt: string}.`,properties:{src:{type:`string`,description:`Stien til bildet`,required:!0},alt:{type:`string`,description:`Tekst til skjermleser. Skal kun sendes inn for bilder som ikke er dekorative`,required:!1}},category:`contents`},imageShape:{type:[`square`,`round`],name:`Bildeform`,description:`Valg for om bildet skal ha rektangulær eller rund form.`,default:`square`,category:`contents`},tags:{type:`array`,description:`Liste av tags på card. Tar inn et array med objekter med følgende stringproperties: skin, iconName, ariaLabel, text`,name:`Tags`,items:{type:`object`,name:`Tag`,properties:{skin:{type:[`blue`,`green`,`red`,`yellow`],description:`Farge på tag`},iconName:{type:`icon`,description:`Id på ikonet du ønsker å bruke til tag`},ariaLabel:{type:`string`,description:`Tekst for aria-label`},text:{type:`string`,description:`Tekst på tag`,required:!0}}},category:`contents`},ariaLabel:{type:`string`,name:`Aria-label for card`,description:`Tekst til skjermleser for aria-label på card. Settes automatisk til headingen, eller subheadingen der heading ikke eksisterer. Ved bruk av klikkbart card må heading alltid sendes inn da denne brukes som lenketekst.`,category:`accessibility`}},slots:{default:{description:`Innholdet i card`}}},a=class extends n.t{constructor(...e){super(...e),this.ariaLabel=``,this.metaLead=null,this.borderOnHover=!0,this.clickCardLink=null,this.metaTrail=null,this.layout=i.props.layout.default,this.heading=``,this.headinglevel=3,this.image={src:``,alt:``},this.imageShape=`square`,this.openLinkInNewTab=!1,this.padding=i.props.padding.default,this.skin=i.props.skin.default,this.subheading=``,this.tagPosition=`top`,this.tags=[]}connectedCallback(){super.connectedCallback()}render(){let n={"pkt-card":!0,[`pkt-card--${this.skin}`]:this.skin,[`pkt-card--${this.layout}`]:this.layout,[`pkt-card--padding-${this.padding}`]:this.padding,"pkt-card--border-on-hover":this.borderOnHover},i=this.ariaLabel?.trim()||(this.heading?`${this.heading} lenkekort`:`lenkekort`),a=this.ariaLabel?.trim()||(this.heading?this.heading:`kort`);return e.d`
|
|
2
|
+
<article
|
|
3
|
+
class=${t.t(n)}
|
|
4
|
+
aria-label=${r.t(this.clickCardLink?i:a)}
|
|
5
|
+
>
|
|
6
|
+
${this.renderImage()}
|
|
7
|
+
<div class="pkt-card__wrapper">
|
|
8
|
+
${this.tagPosition===`top`?this.renderTags():e.l}
|
|
9
|
+
${this.renderHeader()}
|
|
10
|
+
${this.renderSlot()}
|
|
11
|
+
${this.tagPosition===`bottom`?this.renderTags():e.l}
|
|
12
|
+
${this.renderMetadata()}
|
|
13
|
+
</div>
|
|
14
|
+
</article>
|
|
15
|
+
`}renderImage(){let n={"pkt-card__image":!0,[`pkt-card__image-${this.imageShape}`]:this.imageShape};return e.d`
|
|
16
|
+
${this.image.src&&e.d`
|
|
17
|
+
<div class=${t.t(n)}>
|
|
18
|
+
<img src=${this.image.src} alt=${this.image.alt||``} />
|
|
19
|
+
</div>
|
|
20
|
+
`}
|
|
21
|
+
`}renderHeading(){return e.d`
|
|
22
|
+
${this.heading&&!this.clickCardLink?e.d`
|
|
23
|
+
<pkt-heading
|
|
24
|
+
class="pkt-card__heading"
|
|
25
|
+
.level=${this.headinglevel||3}
|
|
26
|
+
size="medium"
|
|
27
|
+
nospacing
|
|
28
|
+
weight="regular"
|
|
29
|
+
>
|
|
30
|
+
${this.heading}
|
|
31
|
+
</pkt-heading>
|
|
32
|
+
`:e.l}
|
|
33
|
+
`}renderLinkHeading(){return e.d`
|
|
34
|
+
${this.clickCardLink?e.d`
|
|
35
|
+
<pkt-heading
|
|
36
|
+
class="pkt-card__link-heading pkt-card__heading"
|
|
37
|
+
.level=${this.headinglevel||3}
|
|
38
|
+
size="medium"
|
|
39
|
+
weight="regular"
|
|
40
|
+
nospacing
|
|
41
|
+
>
|
|
42
|
+
<a
|
|
43
|
+
class="pkt-card__link"
|
|
44
|
+
href=${this.clickCardLink}
|
|
45
|
+
target=${this.openLinkInNewTab?`_blank`:`_self`}
|
|
46
|
+
>${this.heading}</a
|
|
47
|
+
>
|
|
48
|
+
</pkt-heading>
|
|
49
|
+
`:e.l}
|
|
50
|
+
`}renderSubheading(){return e.d`
|
|
51
|
+
${this.subheading?e.d` <p class="pkt-card__subheading ">${this.subheading}</p> `:e.l}
|
|
52
|
+
`}renderHeader(){return e.d`
|
|
53
|
+
${this.heading||this.subheading?e.d`
|
|
54
|
+
<header class="pkt-card__header">
|
|
55
|
+
${this.renderHeading()}
|
|
56
|
+
${this.renderLinkHeading()}
|
|
57
|
+
${this.renderSubheading()}
|
|
58
|
+
</header>
|
|
59
|
+
`:e.l}
|
|
60
|
+
`}renderTags(){let n={"pkt-card__tags":!0,[`pkt-card__tags-${this.tagPosition}`]:this.tagPosition};return e.d`
|
|
61
|
+
${this.tags.length>0?e.d`
|
|
62
|
+
<div
|
|
63
|
+
class=${t.t(n)}
|
|
64
|
+
role="list"
|
|
65
|
+
aria-label=${this.tags.length>1?`merkelapper`:`merkelapp`}
|
|
66
|
+
>
|
|
67
|
+
${this.tags.map(t=>e.d`
|
|
68
|
+
<pkt-tag
|
|
69
|
+
role="listitem"
|
|
70
|
+
textStyle="normal-text"
|
|
71
|
+
size="medium"
|
|
72
|
+
skin=${r.t(t.skin)}
|
|
73
|
+
iconName=${r.t(t.iconName)}
|
|
74
|
+
>
|
|
75
|
+
<span>${t.text}</span>
|
|
76
|
+
</pkt-tag>
|
|
77
|
+
`)}
|
|
78
|
+
</div>
|
|
79
|
+
`:e.l}
|
|
80
|
+
`}renderSlot(){return e.d`<section class="pkt-card__content">${n.n(this)}</section>`}renderMetadata(){return e.d`
|
|
81
|
+
${this.metaLead||this.metaTrail?e.d`
|
|
82
|
+
<footer class="pkt-card__metadata">
|
|
83
|
+
${this.metaLead?e.d`<span class="pkt-card__metadata-lead">${this.metaLead}</span>`:e.l}
|
|
84
|
+
${this.metaTrail?e.d`<span class="pkt-card__metadata-trail">${this.metaTrail}</span>`:e.l}
|
|
85
|
+
</footer>
|
|
86
|
+
`:e.l}
|
|
87
|
+
`}};e.r([e.s({type:String})],a.prototype,`ariaLabel`,void 0),e.r([e.s({type:String})],a.prototype,`metaLead`,void 0),e.r([e.s({type:Boolean})],a.prototype,`borderOnHover`,void 0),e.r([e.s({type:String,reflect:!0})],a.prototype,`clickCardLink`,void 0),e.r([e.s({type:String})],a.prototype,`metaTrail`,void 0),e.r([e.s({type:String})],a.prototype,`layout`,void 0),e.r([e.s({type:String})],a.prototype,`heading`,void 0),e.r([e.s({type:Number})],a.prototype,`headinglevel`,void 0),e.r([e.s({type:Object})],a.prototype,`image`,void 0),e.r([e.s({type:String})],a.prototype,`imageShape`,void 0),e.r([e.s({type:Boolean})],a.prototype,`openLinkInNewTab`,void 0),e.r([e.s({type:String})],a.prototype,`padding`,void 0),e.r([e.s({type:String,converter:{fromAttribute:e=>{let t=i.props.skin.type;return e&&t.includes(e)?e:(e&&!t.includes(e)&&console.warn(`Invalid skin value "${e}". Using default skin "${i.props.skin.default}".`),i.props.skin.default)},toAttribute:e=>e}})],a.prototype,`skin`,void 0),e.r([e.s({type:String})],a.prototype,`subheading`,void 0),e.r([e.s({type:String})],a.prototype,`tagPosition`,void 0),e.r([e.s({type:Array})],a.prototype,`tags`,void 0);try{e.c(`pkt-card`)(a)}catch{console.warn(`Forsøker å definere <pkt-card>, men den er allerede definert`)}var o=a;Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return a}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return o}});
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
const e=require(`./element-DjtxO-1r.cjs`),t=require(`./class-map-CJ-msbHs.cjs`),n=require(`./ref-BaJ0mBT_.cjs`),r=require(`./input-element-B1yxcfz4.cjs`);var i=class extends r.t{constructor(...e){super(...e),this.inputRef=n.t(),this.value=``,this.checkHelptext=null,this.defaultChecked=!1,this.hasTile=!1,this.isSwitch=!1,this.labelPosition=`right`,this.hideLabel=!1,this.checked=null,this.indeterminate=!1,this.type=`checkbox`,this.tagText=null,this.optionalTag=!1,this.optionalText=`Valgfritt`,this.requiredTag=!1,this.requiredText=`Må fylles ut`}connectedCallback(){super.connectedCallback()}attributeChangedCallback(e,t,n){e===`defaultChecked`&&!this.checked&&(this.checked=this.defaultChecked),e===`checked`&&(this.checked=this.checked===``||this.checked===`true`||this.checked===!0,this.inputRef.value&&(this.inputRef.value.checked=this.checked)),e===`indeterminate`&&(this.indeterminate=this.indeterminate===``||this.indeterminate===`true`||this.indeterminate===!0,this.inputRef.value&&(this.inputRef.value.indeterminate=this.indeterminate)),super.attributeChangedCallback(e,t,n)}firstUpdated(e){e.has(`defaultChecked`)&&!this.checked&&(this.checked=this.defaultChecked),this.inputRef.value&&(this.inputRef.value.indeterminate=this.indeterminate===``||this.indeterminate===`true`||this.indeterminate===!0),super.firstUpdated(e)}updated(e){e.has(`defaultChecked`)&&!this.checked&&(this.checked=this.defaultChecked),e.has(`checked`)&&this.inputRef.value&&(this.inputRef.value.checked=this.checked===``||this.checked===`true`||this.checked===!0),e.has(`indeterminate`)&&this.inputRef.value&&(this.inputRef.value.indeterminate=this.indeterminate===``||this.indeterminate===`true`||this.indeterminate===!0),super.updated(e)}render(){let r=t.t({"pkt-input-check__input":!0,"pkt-input-check__input--tile":this.hasTile,"pkt-input-check__input--tile-disabled":this.disabled&&this.hasTile}),i=t.t({"pkt-input-check__input-checkbox":!0,"pkt-input-check__input-checkbox--error":this.hasError}),a=t.t({"pkt-input-check__input-label":!0,"pkt-input-check__input-label--disabled":this.disabled,"pkt-input-check__input-label--left":this.labelPosition===`left`,"pkt-input-check__input-label--right":this.labelPosition===`right`,"pkt-sr-only":this.hideLabel}),o=`pkt-tag pkt-tag--small pkt-tag--thin-text`,s=()=>e.d`
|
|
2
|
+
${this.tagText?e.d`<span class=${o+` pkt-tag--gray`}>${this.tagText}</span>`:e.l}
|
|
3
|
+
${this.optionalTag?e.d`<span class=${o+` pkt-tag--blue-light`}>${this.optionalText}</span>`:e.l}
|
|
4
|
+
${this.requiredTag?e.d`<span class=${o+` pkt-tag--beige`}>${this.requiredText}</span>`:e.l}
|
|
5
|
+
`,c=()=>e.d`
|
|
6
|
+
<label class=${a} for=${this.id+`-internal`}>
|
|
7
|
+
${this.label} ${s()}
|
|
8
|
+
${this.checkHelptext?e.d`<div class="pkt-input-check__input-helptext">${this.checkHelptext}</div>`:e.l}
|
|
9
|
+
</label>
|
|
10
|
+
`;return e.d`
|
|
11
|
+
<div class="pkt-input-check">
|
|
12
|
+
<div class=${r}>
|
|
13
|
+
${this.labelPosition===`left`?c():e.l}
|
|
14
|
+
<input
|
|
15
|
+
id=${this.id+`-internal`}
|
|
16
|
+
class=${i}
|
|
17
|
+
type="checkbox"
|
|
18
|
+
?disabled=${this.disabled}
|
|
19
|
+
name=${this.name+`-internal`}
|
|
20
|
+
${n.n(this.inputRef)}
|
|
21
|
+
@change=${this.handleChange}
|
|
22
|
+
@click=${this.handleClick}
|
|
23
|
+
@blur=${this.onBlur}
|
|
24
|
+
@focus=${this.onFocus}
|
|
25
|
+
?checked=${this.checked}
|
|
26
|
+
role=${this.isSwitch?`switch`:`checkbox`}
|
|
27
|
+
/>
|
|
28
|
+
${this.labelPosition===`right`?c():e.l}
|
|
29
|
+
</div>
|
|
30
|
+
</div>
|
|
31
|
+
`}handleClick(e){if(this.disabled)return e.preventDefault(),e.stopImmediatePropagation(),!1}handleChange(e){if(this.disabled)return e.preventDefault(),e.stopImmediatePropagation(),!1;this.toggleChecked(e)}toggleChecked(e){if(this.disabled){e.preventDefault(),e.stopImmediatePropagation();return}let t=e.target;if(t&&t.disabled){e.preventDefault(),e.stopImmediatePropagation();return}e.stopImmediatePropagation(),this.touched=!0,this.inputRef.value&&(this.checked=this.inputRef.value.matches(`:checked`),this.valueChecked(this.checked))}};e.r([e.s({type:String,reflect:!0})],i.prototype,`value`,void 0),e.r([e.s({type:String})],i.prototype,`checkHelptext`,void 0),e.r([e.s({type:Boolean})],i.prototype,`defaultChecked`,void 0),e.r([e.s({type:Boolean})],i.prototype,`hasTile`,void 0),e.r([e.s({type:Boolean})],i.prototype,`isSwitch`,void 0),e.r([e.s({type:String})],i.prototype,`labelPosition`,void 0),e.r([e.s({type:Boolean})],i.prototype,`hideLabel`,void 0),e.r([e.s({type:Boolean,reflect:!0})],i.prototype,`checked`,void 0),e.r([e.s({type:Boolean,reflect:!0})],i.prototype,`indeterminate`,void 0),e.r([e.s({type:String,reflect:!0})],i.prototype,`type`,void 0),e.r([e.s({type:String})],i.prototype,`tagText`,void 0),e.r([e.s({type:Boolean})],i.prototype,`optionalTag`,void 0),e.r([e.s({type:String})],i.prototype,`optionalText`,void 0),e.r([e.s({type:Boolean})],i.prototype,`requiredTag`,void 0),e.r([e.s({type:String})],i.prototype,`requiredText`,void 0);try{e.c(`pkt-checkbox`)(i)}catch{console.warn(`Forsøker å definere <pkt-checkbox>, men den er allerede definert`)}var a=i;Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return a}});
|