@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
package/dist/pkt-timepicker.cjs
CHANGED
|
@@ -1,191 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("./element-gR_VtSiD.cjs"),k=require("./state-Dg-53wQ8.cjs"),p=require("./ref-CL-Xk9Xm.cjs"),d=require("./if-defined-BOW3ODSj.cjs"),S=require("./class-map-CsENJXf1.cjs"),D=require("./input-element-DdVhUvva.cjs"),w=require("./element-with-slot-ZX-up7jO.cjs");require("./icon-q81vqPK_.cjs");require("./input-wrapper-Bv9aqqVq.cjs");const x=o=>/^\d{2}:\d{2}$/.test(o)&&parseInt(o.slice(0,2),10)<=23&&parseInt(o.slice(3),10)<=59,m=o=>{const[t,e]=o.split(":").map(Number);return t*60+e},_=o=>o?Math.max(1,Math.round(o/60)):1,I=(o,t)=>{const e=o?parseInt(String(o).split(":")[0],10):0,s=t?parseInt(String(t).split(":")[0],10):23;return Array.from({length:s-e+1},(i,n)=>n+e)},A=o=>{const t=_(o);return Array.from({length:Math.floor(60/t)},(e,s)=>s*t)},F=(o,t,e,s)=>{let r=o!==""?parseInt(o,10):e===1?0:23,u=t!==""?parseInt(t,10):e===1?0:Math.floor(59/s)*s;return u+=e*s,u>59?(u=0,r=(r+1)%24):u<0&&(u=Math.floor(59/s)*s,r=(r-1+24)%24),{hours:String(r).padStart(2,"0"),minutes:String(u).padStart(2,"0")}};var C=Object.defineProperty,c=(o,t,e,s)=>{for(var i=void 0,n=o.length-1,r;n>=0;n--)(r=o[n])&&(i=r(t,e,i)||i);return i&&C(t,e,i),i};class h extends D.PktInputElement{constructor(){super(...arguments),this.hiddenInputRef=p.e(),this.hoursInputRef=p.e(),this.minutesInputRef=p.e(),this.buttonRef=p.e(),this.value="",this.hidePicker=!1,this.stepArrows=!1,this._hours="",this._minutes="",this._isOpen=!1,this._hoursDigitCount=0,this._hoursFirstDigit=-1,this._minutesDigitCount=0,this._minutesFirstDigit=-1,this._hasFocus=!1,this._outsideClickHandler=t=>{this.contains(t.target)||this._closePopup()},this._handleComponentFocusIn=()=>{this._hasFocus||(this._hasFocus=!0,this.onFocus())},this._handleComponentFocusOut=t=>{this.contains(t.relatedTarget)||(this._hasFocus=!1,this.onBlur())},this._handleHoursKeydown=t=>{var s,i,n;const e=t.target;switch(t.key){case"ArrowUp":{t.preventDefault();const r=this._hours!==""?parseInt(this._hours,10):0;this._hours=String((r+1)%24).padStart(2,"0"),this._syncValueFromDisplay(),this.onInput();break}case"ArrowDown":{t.preventDefault();const r=this._hours!==""?parseInt(this._hours,10):0;this._hours=String((r-1+24)%24).padStart(2,"0"),this._syncValueFromDisplay(),this.onInput();break}case"ArrowRight":t.preventDefault(),(s=this.minutesInputRef.value)==null||s.focus();break;case"Backspace":case"Delete":this._hoursDigitCount=0,this._hoursFirstDigit=-1;break;case"Tab":break;case"Enter":{t.preventDefault();const r=this.internals.form;r?r.requestSubmit():e.blur();break}default:if(/^\d$/.test(t.key)){t.preventDefault();const r=parseInt(t.key,10);if(this._hoursDigitCount===0)this._hoursFirstDigit=r,this._hours=String(r).padStart(2,"0"),this._hoursDigitCount=1,this.onInput(),r>=3&&(this._hoursFirstDigit=-1,this._hoursDigitCount=0,this._syncValueFromDisplay(),(i=this.minutesInputRef.value)==null||i.focus());else{const u=this._hoursFirstDigit*10+r;this._hours=u<=23?String(u).padStart(2,"0"):String(r).padStart(2,"0"),this._hoursFirstDigit=-1,this._hoursDigitCount=0,this._syncValueFromDisplay(),this.onInput(),(n=this.minutesInputRef.value)==null||n.focus()}}else t.preventDefault()}},this._handleHoursBlur=()=>{this._hours!==""&&(this._hours=String(parseInt(this._hours,10)).padStart(2,"0")),this._hoursDigitCount=0,this._hoursFirstDigit=-1,this._syncValueFromDisplay()},this._handleMinutesKeydown=t=>{var s;const e=t.target;switch(t.key){case"ArrowUp":{t.preventDefault();const i=this._minutes!==""?parseInt(this._minutes,10):0;this._minutes=String((i+this._minuteStep)%60).padStart(2,"0"),this._syncValueFromDisplay(),this.onInput();break}case"ArrowDown":{t.preventDefault();const i=this._minutes!==""?parseInt(this._minutes,10):0;this._minutes=String((i-this._minuteStep+60)%60).padStart(2,"0"),this._syncValueFromDisplay(),this.onInput();break}case"ArrowLeft":t.preventDefault(),(s=this.hoursInputRef.value)==null||s.focus();break;case"Backspace":case"Delete":this._minutesDigitCount=0,this._minutesFirstDigit=-1;break;case"Tab":break;case"Enter":{t.preventDefault();const i=this.internals.form;i?i.requestSubmit():e.blur();break}default:if(/^\d$/.test(t.key)){t.preventDefault();const i=parseInt(t.key,10);if(this._minutesDigitCount===0)this._minutesFirstDigit=i,this._minutes=String(i).padStart(2,"0"),this._minutesDigitCount=1,this.onInput(),i>=6&&(this._minutesFirstDigit=-1,this._minutesDigitCount=0,this._syncValueFromDisplay());else{const n=this._minutesFirstDigit*10+i;this._minutes=n<=59?String(n).padStart(2,"0"):String(i).padStart(2,"0"),this._minutesFirstDigit=-1,this._minutesDigitCount=0,this._syncValueFromDisplay(),this.onInput()}}else t.preventDefault()}},this._handleMinutesBlur=()=>{this._minutes!==""&&(this._minutes=String(parseInt(this._minutes,10)).padStart(2,"0")),this._minutesDigitCount=0,this._minutesFirstDigit=-1,this._syncValueFromDisplay()},this._handlePopupKeydown=t=>{var u;const e=document.activeElement,s=e.closest(".pkt-timepicker-popup__col");if(!s)return;const i=Array.from(s.querySelectorAll(".pkt-timepicker-popup__option")),n=i.indexOf(e),r=e.dataset.type??"";switch(t.key){case"ArrowDown":t.preventDefault(),this._focusOptionAndSync(i[Math.min(n+1,i.length-1)],r);break;case"ArrowUp":t.preventDefault(),this._focusOptionAndSync(i[Math.max(n-1,0)],r);break;case"Home":t.preventDefault(),this._focusOptionAndSync(i[0],r);break;case"End":t.preventDefault(),this._focusOptionAndSync(i[i.length-1],r);break;case"ArrowRight":t.preventDefault(),r==="hour"&&(this._focusOptionAndSync(e,r),this.updateComplete.then(()=>{this._scrollToSelected(),this._focusSelectedOrFirst("minute")}));break;case"ArrowLeft":t.preventDefault(),r==="minute"&&(this._focusOptionAndSync(e,r),this.updateComplete.then(()=>{this._scrollToSelected(),this._focusSelectedOrFirst("hour")}));break;case"Enter":case" ":t.preventDefault(),e.click();break;case"Escape":t.preventDefault(),this._closePopup(),(u=this.buttonRef.value)==null||u.focus();break}}}get inputRef(){return this.hiddenInputRef}manageValidity(t){const e=this.hoursInputRef.value;if(!e)return;if(this.required&&!this.value){this.internals.setValidity({valueMissing:!0},a.strings.forms.messages.required,e),this._setAriaInvalid(!0);return}if(!this.value){this.internals.setValidity({}),this._setAriaInvalid(!1);return}const s=m(this.value),i=_(this.step);if(this.min&&s<m(String(this.min))){this.internals.setValidity({rangeUnderflow:!0},a.strings.forms.messages.rangeUnderflowMin.replace("{min}",String(this.min)),e),this._setAriaInvalid(!0);return}if(this.max&&s>m(String(this.max))){this.internals.setValidity({rangeOverflow:!0},a.strings.forms.messages.rangeOverflowMax.replace("{max}",String(this.max)),e),this._setAriaInvalid(!0);return}if(this.step&&s%i!==0){const n=i===60?a.strings.forms.messages.timeStepMismatchHour:i===30?a.strings.forms.messages.timeStepMismatchHalfHour:a.strings.forms.messages.timeStepMismatch.replace("{step}",`${i}, ${i*2}, ${i*3}`);this.internals.setValidity({stepMismatch:!0},n,e),this._setAriaInvalid(!0);return}this.internals.setValidity({}),this._setAriaInvalid(!1)}_setAriaInvalid(t){if(!this.touched&&t)return;const e=this.hoursInputRef.value,s=this.minutesInputRef.value;t?(e==null||e.setAttribute("aria-invalid","true"),s==null||s.setAttribute("aria-invalid","true")):(e==null||e.removeAttribute("aria-invalid"),s==null||s.removeAttribute("aria-invalid"))}connectedCallback(){super.connectedCallback(),this.addEventListener("focusin",this._handleComponentFocusIn),this.addEventListener("focusout",this._handleComponentFocusOut),document.addEventListener("click",this._outsideClickHandler)}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("focusin",this._handleComponentFocusIn),this.removeEventListener("focusout",this._handleComponentFocusOut),document.removeEventListener("click",this._outsideClickHandler)}willUpdate(t){super.willUpdate(t),t.has("value")&&this._syncDisplayFromValue()}updated(t){super.updated(t),this.classList.toggle("pkt-timepicker--stepper",this.stepArrows),this.classList.toggle("pkt-timepicker--fullwidth",this.fullwidth),t.has("step")&&this.step!==null&&!this._isValidStep(this.step)&&console.warn(`pkt-timepicker: step="${this.step}" er ikke en gyldig verdi. Step må være et multiplum av 60 (hele minutter) eller nøyaktig 3600 (hel time).`)}formResetCallback(){super.formResetCallback(),this._hours="",this._minutes="",this._isOpen=!1}_isValidStep(t){return t===3600||t<3600&&3600%t===0&&t%60===0}_syncDisplayFromValue(){const t=x(this.value)?this.value.split(":"):null;t?(this._hours=t[0],this._minutes=t[1]):(this._hours="",this._minutes="")}_syncValueFromDisplay(){if(this._hours!==""&&this._minutes!==""){const t=`${this._hours}:${this._minutes}`;t!==this.value&&(this.value=t,this.onChange(t))}else this.value!==""&&(this.value="",this.onChange(""))}get _minuteStep(){return _(this.step)}get _hourOptions(){return I(this.min,this.max)}get _minuteOptions(){return A(this.step)}_openPopup(){this._isOpen=!0,this.updateComplete.then(()=>{this._scrollToSelected(),this._focusSelectedOrFirst("hour")})}_closePopup(){this._isOpen=!1,this._syncValueFromDisplay()}_togglePopup(){this._isOpen?this._closePopup():this._openPopup()}_scrollToSelected(){const t=this.querySelector(".pkt-timepicker-popup");t&&t.querySelectorAll(".pkt-timepicker-popup__col").forEach(e=>{const s=e.querySelector(".pkt-timepicker-popup__option--selected");s&&s.scrollIntoView({block:"center"})})}_focusSelectedOrFirst(t){var u;const e=this.querySelector(".pkt-timepicker-popup");if(!e)return;const s=e.querySelectorAll(".pkt-timepicker-popup__col"),i=t==="hour"?s[0]:s[1];if(!i)return;const n=i.querySelector(".pkt-timepicker-popup__option--selected"),r=i.querySelector(".pkt-timepicker-popup__option");(u=n||r)==null||u.focus()}_handleOptionClick(t,e){var i;const s=String(t).padStart(2,"0");e==="hour"?(this._hours=s,this.updateComplete.then(()=>this._focusSelectedOrFirst("minute"))):(this._minutes=s,this._closePopup(),(i=this.buttonRef.value)==null||i.focus())}_focusOptionAndSync(t,e){if(!t)return;const s=parseInt(t.dataset.value??"0",10);e==="hour"?this._hours=String(s).padStart(2,"0"):this._minutes=String(s).padStart(2,"0"),t.focus()}_stepTime(t){const e=F(this._hours,this._minutes,t,this._minuteStep);this._hours=e.hours,this._minutes=e.minutes,this._syncValueFromDisplay()}_renderOption(t,e){const s=String(t).padStart(2,"0"),i=e==="hour"?this._hours!==""?parseInt(this._hours,10):NaN:this._minutes!==""?parseInt(this._minutes,10):NaN,n=t===i;return a.b`
|
|
2
|
-
<button
|
|
3
|
-
class=${S.e({"pkt-btn":!0,"pkt-btn--tertiary":!0,"pkt-btn--small":!0,"pkt-btn--label-only":!0,"pkt-timepicker-popup__option":!0,"pkt-timepicker-popup__option--selected":n})}
|
|
4
|
-
type="button"
|
|
5
|
-
role="option"
|
|
6
|
-
aria-selected=${n?"true":"false"}
|
|
7
|
-
tabindex=${n?"0":"-1"}
|
|
8
|
-
data-type=${e}
|
|
9
|
-
data-value=${t}
|
|
10
|
-
@click=${r=>{r.stopImmediatePropagation(),this._handleOptionClick(t,e)}}
|
|
11
|
-
>
|
|
12
|
-
<span class="pkt-btn__text pkt-txt-14-light">${s}</span>
|
|
13
|
-
</button>
|
|
14
|
-
`}_renderPopup(){var t,e,s;return a.b`
|
|
15
|
-
<div
|
|
16
|
-
class="pkt-timepicker-popup"
|
|
17
|
-
id=${this.id+"-popup"}
|
|
18
|
-
?hidden=${!this._isOpen}
|
|
19
|
-
role="group"
|
|
20
|
-
aria-label=${((t=this.strings.timepicker)==null?void 0:t.selectTime)??"Velg tidspunkt"}
|
|
21
|
-
@keydown=${this._handlePopupKeydown}
|
|
22
|
-
@focusout=${i=>{var n;(n=this.querySelector(".pkt-timepicker-popup"))!=null&&n.contains(i.relatedTarget)||this._closePopup()}}
|
|
23
|
-
>
|
|
24
|
-
<div
|
|
25
|
-
class="pkt-timepicker-popup__col"
|
|
26
|
-
role="listbox"
|
|
27
|
-
aria-label=${((e=this.strings.timepicker)==null?void 0:e.hours)??"Timer"}
|
|
28
|
-
aria-orientation="vertical"
|
|
29
|
-
>
|
|
30
|
-
${this._hourOptions.map(i=>this._renderOption(i,"hour"))}
|
|
31
|
-
</div>
|
|
32
|
-
<div
|
|
33
|
-
class="pkt-timepicker-popup__col"
|
|
34
|
-
role="listbox"
|
|
35
|
-
aria-label=${((s=this.strings.timepicker)==null?void 0:s.minutes)??"Minutter"}
|
|
36
|
-
aria-orientation="vertical"
|
|
37
|
-
>
|
|
38
|
-
${this._minuteOptions.map(i=>this._renderOption(i,"minute"))}
|
|
39
|
-
</div>
|
|
40
|
-
</div>
|
|
41
|
-
`}_renderContainer(){var n,r,u,f,g,b,v,$;const t=((n=this.strings.timepicker)==null?void 0:n.hours)??"Timer",e=((r=this.strings.timepicker)==null?void 0:r.minutes)??"Minutter",s=this.label?`${t}, ${this.label}`:t,i=this.label?`${e}, ${this.label}`:e;return a.b`
|
|
42
|
-
<div
|
|
43
|
-
class="pkt-input__container"
|
|
44
|
-
@click=${l=>{var y;l.target.closest("button, input")||(y=this.hoursInputRef.value)==null||y.focus()}}
|
|
45
|
-
>
|
|
46
|
-
${this.stepArrows?a.b`
|
|
47
|
-
<button
|
|
48
|
-
class="pkt-input-icon pkt-btn pkt-btn--icon-only pkt-btn--tertiary pkt-timepicker__button pkt-timepicker__button--prev"
|
|
49
|
-
type="button"
|
|
50
|
-
aria-label=${((u=this.strings.timepicker)==null?void 0:u.prevTime)??"Forrige tidspunkt"}
|
|
51
|
-
?disabled=${this.disabled}
|
|
52
|
-
@click=${()=>this._stepTime(-1)}
|
|
53
|
-
>
|
|
54
|
-
<pkt-icon name="chevron-thin-left"></pkt-icon>
|
|
55
|
-
<span class="pkt-btn__text"
|
|
56
|
-
>${((f=this.strings.timepicker)==null?void 0:f.prevTime)??"Forrige tidspunkt"}</span
|
|
57
|
-
>
|
|
58
|
-
</button>
|
|
59
|
-
`:a.A}
|
|
60
|
-
<input
|
|
61
|
-
${p.n(this.hoursInputRef)}
|
|
62
|
-
type="text"
|
|
63
|
-
inputmode="numeric"
|
|
64
|
-
maxlength="2"
|
|
65
|
-
size="2"
|
|
66
|
-
class="pkt-input pkt-timepicker__input"
|
|
67
|
-
id=${this.id+"-hours"}
|
|
68
|
-
data-min="0"
|
|
69
|
-
data-max="23"
|
|
70
|
-
.value=${this._hours}
|
|
71
|
-
placeholder="––"
|
|
72
|
-
aria-label=${s}
|
|
73
|
-
role="spinbutton"
|
|
74
|
-
aria-invalid=${this.hasError?"true":a.A}
|
|
75
|
-
aria-valuemin="0"
|
|
76
|
-
aria-valuemax="23"
|
|
77
|
-
aria-valuenow=${this._hours!==""?this._hours:a.A}
|
|
78
|
-
aria-valuetext=${this._hours!==""?`${this._hours} ${t.toLowerCase()}`:a.A}
|
|
79
|
-
autocomplete="off"
|
|
80
|
-
?disabled=${this.disabled}
|
|
81
|
-
@keydown=${this._handleHoursKeydown}
|
|
82
|
-
@blur=${this._handleHoursBlur}
|
|
83
|
-
@focus=${l=>{l.target.select(),l.stopImmediatePropagation()}}
|
|
84
|
-
/>
|
|
85
|
-
<span class="pkt-timepicker__separator">:</span>
|
|
86
|
-
<input
|
|
87
|
-
${p.n(this.minutesInputRef)}
|
|
88
|
-
type="text"
|
|
89
|
-
inputmode="numeric"
|
|
90
|
-
maxlength="2"
|
|
91
|
-
size="2"
|
|
92
|
-
class="pkt-input pkt-timepicker__input"
|
|
93
|
-
id=${this.id+"-minutes"}
|
|
94
|
-
data-min="0"
|
|
95
|
-
data-max="59"
|
|
96
|
-
.value=${this._minutes}
|
|
97
|
-
placeholder="––"
|
|
98
|
-
aria-label=${i}
|
|
99
|
-
role="spinbutton"
|
|
100
|
-
aria-invalid=${this.hasError?"true":a.A}
|
|
101
|
-
aria-valuemin="0"
|
|
102
|
-
aria-valuemax="59"
|
|
103
|
-
aria-valuenow=${this._minutes!==""?this._minutes:a.A}
|
|
104
|
-
aria-valuetext=${this._minutes!==""?`${this._minutes} ${e.toLowerCase()}`:a.A}
|
|
105
|
-
autocomplete="off"
|
|
106
|
-
?disabled=${this.disabled}
|
|
107
|
-
@keydown=${this._handleMinutesKeydown}
|
|
108
|
-
@blur=${this._handleMinutesBlur}
|
|
109
|
-
@focus=${l=>{l.target.select(),l.stopImmediatePropagation()}}
|
|
110
|
-
/>
|
|
111
|
-
${this.hidePicker&&!this.stepArrows?a.b`<pkt-icon
|
|
112
|
-
class="pkt-input-icon pkt-timepicker__icon"
|
|
113
|
-
name="clock"
|
|
114
|
-
aria-hidden="true"
|
|
115
|
-
></pkt-icon>`:a.A}
|
|
116
|
-
${!this.hidePicker&&!this.stepArrows?a.b`
|
|
117
|
-
<button
|
|
118
|
-
${p.n(this.buttonRef)}
|
|
119
|
-
class="pkt-input-icon pkt-btn pkt-btn--icon-only pkt-btn--tertiary pkt-timepicker__button"
|
|
120
|
-
type="button"
|
|
121
|
-
aria-label=${((g=this.strings.timepicker)==null?void 0:g.openPicker)??"Åpne tidspunkt-velger"}
|
|
122
|
-
aria-haspopup="listbox"
|
|
123
|
-
aria-expanded=${this._isOpen?"true":"false"}
|
|
124
|
-
aria-controls=${this.id+"-popup"}
|
|
125
|
-
?disabled=${this.disabled}
|
|
126
|
-
@click=${this._togglePopup}
|
|
127
|
-
>
|
|
128
|
-
<pkt-icon name="clock"></pkt-icon>
|
|
129
|
-
<span class="pkt-btn__text"
|
|
130
|
-
>${((b=this.strings.timepicker)==null?void 0:b.openPicker)??"Åpne tidspunkt-velger"}</span
|
|
131
|
-
>
|
|
132
|
-
</button>
|
|
133
|
-
`:a.A}
|
|
134
|
-
${this.stepArrows?a.b`
|
|
135
|
-
<button
|
|
136
|
-
class="pkt-input-icon pkt-btn pkt-btn--icon-only pkt-btn--tertiary pkt-timepicker__button pkt-timepicker__button--next"
|
|
137
|
-
type="button"
|
|
138
|
-
aria-label=${((v=this.strings.timepicker)==null?void 0:v.nextTime)??"Neste tidspunkt"}
|
|
139
|
-
?disabled=${this.disabled}
|
|
140
|
-
@click=${()=>this._stepTime(1)}
|
|
141
|
-
>
|
|
142
|
-
<pkt-icon name="chevron-thin-right"></pkt-icon>
|
|
143
|
-
<span class="pkt-btn__text"
|
|
144
|
-
>${(($=this.strings.timepicker)==null?void 0:$.nextTime)??"Neste tidspunkt"}</span
|
|
145
|
-
>
|
|
146
|
-
</button>
|
|
147
|
-
`:a.A}
|
|
148
|
-
<input
|
|
149
|
-
${p.n(this.hiddenInputRef)}
|
|
150
|
-
type="time"
|
|
151
|
-
hidden
|
|
152
|
-
name=${this.name||this.id}
|
|
153
|
-
id=${this.id+"-input"}
|
|
154
|
-
.value=${this.value}
|
|
155
|
-
min=${d.o(this.min??void 0)}
|
|
156
|
-
max=${d.o(this.max??void 0)}
|
|
157
|
-
step=${d.o(this.step??void 0)}
|
|
158
|
-
?required=${this.required}
|
|
159
|
-
?disabled=${this.disabled}
|
|
160
|
-
tabindex="-1"
|
|
161
|
-
/>
|
|
162
|
-
</div>
|
|
163
|
-
`}render(){return a.b`
|
|
164
|
-
<pkt-input-wrapper
|
|
165
|
-
label="${this.label}"
|
|
166
|
-
?disabled=${this.disabled}
|
|
167
|
-
?fullwidth=${this.fullwidth}
|
|
168
|
-
?hasError=${this.hasError}
|
|
169
|
-
?inline=${this.inline}
|
|
170
|
-
?optionalTag=${this.optionalTag}
|
|
171
|
-
?required=${this.required}
|
|
172
|
-
?requiredTag=${this.requiredTag}
|
|
173
|
-
useWrapper=${this.useWrapper}
|
|
174
|
-
.ariaDescribedBy=${this.ariaDescribedBy}
|
|
175
|
-
.errorMessage=${this.errorMessage}
|
|
176
|
-
.forId="${this.id+"-hours"}"
|
|
177
|
-
.helptext=${this.helptext}
|
|
178
|
-
.helptextDropdown=${this.helptextDropdown}
|
|
179
|
-
.helptextDropdownButton=${this.helptextDropdownButton}
|
|
180
|
-
.optionalText=${this.optionalText}
|
|
181
|
-
.requiredText=${this.requiredText}
|
|
182
|
-
.tagText=${this.tagText}
|
|
183
|
-
>
|
|
184
|
-
<div class="pkt-contents" slot="helptext">${w.slotContent(this,"helptext")}</div>
|
|
185
|
-
${!this.hidePicker&&!this.stepArrows?a.b`
|
|
186
|
-
<div class="pkt-timepicker__anchor">
|
|
187
|
-
${this._renderContainer()} ${this._renderPopup()}
|
|
188
|
-
</div>
|
|
189
|
-
`:this._renderContainer()}
|
|
190
|
-
</pkt-input-wrapper>
|
|
191
|
-
`}}c([a.n({type:String,reflect:!0})],h.prototype,"value");c([a.n({type:Boolean,reflect:!0,attribute:"hide-picker"})],h.prototype,"hidePicker");c([a.n({type:Boolean,reflect:!0,attribute:"step-arrows"})],h.prototype,"stepArrows");c([k.r()],h.prototype,"_hours");c([k.r()],h.prototype,"_minutes");c([k.r()],h.prototype,"_isOpen");try{a.t("pkt-timepicker")(h)}catch{console.warn("Forsøker å definere <pkt-timepicker>, men den er allerede definert")}exports.PktTimepicker=h;
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./timepicker-BIfE7KKJ.cjs`);exports.PktTimepicker=e.t;
|