@oslokommune/punkt-elements 12.37.1 → 12.37.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (91) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/dist/{accordionitem-cvsySqgK.cjs → accordionitem-RFwXQC_0.cjs} +1 -1
  3. package/dist/{accordionitem-Db-3WiJS.js → accordionitem-vmwqD9rr.js} +1 -1
  4. package/dist/{alert-DWIElKEZ.cjs → alert-C2EPmB0W.cjs} +1 -1
  5. package/dist/{alert-B5lVS6Qs.js → alert-C33z1kBf.js} +1 -1
  6. package/dist/{button-iCBnadXj.cjs → button-jdMbbn-e.cjs} +1 -1
  7. package/dist/{button-BYZHwPtW.js → button-sf_Yzx3X.js} +1 -1
  8. package/dist/{card-B5zTEmH1.js → card-Cyww1yKr.js} +2 -2
  9. package/dist/{card-BDcr3PII.cjs → card-DH-3qNgp.cjs} +1 -1
  10. package/dist/{combobox-Bsaj6Z6Y.js → combobox-CFH5-Ioh.js} +4 -4
  11. package/dist/{combobox-AbD1tkKx.cjs → combobox-ChFttX7F.cjs} +1 -1
  12. package/dist/{consent-CFgCfRsF.cjs → consent-BNY1XvpV.cjs} +1 -1
  13. package/dist/{consent-B888aPfK.js → consent-CTX9zf81.js} +6 -6
  14. package/dist/{datepicker-cNYYOtBI.js → datepicker-hetVXVX4.js} +3 -3
  15. package/dist/{datepicker-BAn16Z8U.cjs → datepicker-mhQrHoNJ.cjs} +1 -1
  16. package/dist/dialog-polyfill.esm-CPKZe7AL.cjs +1 -0
  17. package/dist/dialog-polyfill.esm-CbjBMXAG.js +395 -0
  18. package/dist/{heading-CP3NaeWE.cjs → heading-BnJhJDMD.cjs} +1 -1
  19. package/dist/{heading-BkC05ohM.js → heading-DNLQdsXY.js} +1 -1
  20. package/dist/{helptext-BLHAJ1aC.js → helptext-DcSUjjEq.js} +1 -1
  21. package/dist/{helptext-CCnYxYA9.cjs → helptext-bMgnhZ1R.cjs} +1 -1
  22. package/dist/index.d.ts +1 -0
  23. package/dist/{input-wrapper-Cn929YTV.cjs → input-wrapper-B-f_SotM.cjs} +1 -1
  24. package/dist/{input-wrapper-CeeNYbDA.js → input-wrapper-BdeoMGnk.js} +2 -2
  25. package/dist/{link-BYI8VNGd.js → link-B748tCGi.js} +1 -1
  26. package/dist/{link-CnibgS3c.cjs → link-BrDbM3GT.cjs} +1 -1
  27. package/dist/{linkcard--zuuAt_v.js → linkcard-Bt-Qa_SP.js} +1 -1
  28. package/dist/{linkcard-DPGX1kb1.cjs → linkcard-s9yoOq90.cjs} +1 -1
  29. package/dist/{loader-BN4q8pSl.cjs → loader-Bk4XPiOY.cjs} +1 -1
  30. package/dist/{loader-DgIiyYBl.js → loader-C9EtX_mK.js} +1 -1
  31. package/dist/{messagebox-BWJr42m9.cjs → messagebox-B0kgftoP.cjs} +1 -1
  32. package/dist/{messagebox-cme5VbUM.js → messagebox-DZDP8XZt.js} +1 -1
  33. package/dist/modal-4aQZVxGl.cjs +33 -0
  34. package/dist/{modal-DIwagdAc.js → modal-m--Sfj_1.js} +14 -9
  35. package/dist/pkt-accordion.cjs +1 -1
  36. package/dist/pkt-accordion.js +2 -2
  37. package/dist/pkt-alert.cjs +1 -1
  38. package/dist/pkt-alert.js +1 -1
  39. package/dist/pkt-button.cjs +1 -1
  40. package/dist/pkt-button.js +1 -1
  41. package/dist/pkt-card.cjs +1 -1
  42. package/dist/pkt-card.js +1 -1
  43. package/dist/pkt-combobox.cjs +1 -1
  44. package/dist/pkt-combobox.js +1 -1
  45. package/dist/pkt-consent.cjs +1 -1
  46. package/dist/pkt-consent.js +1 -1
  47. package/dist/pkt-datepicker.cjs +1 -1
  48. package/dist/pkt-datepicker.js +1 -1
  49. package/dist/pkt-heading.cjs +1 -1
  50. package/dist/pkt-heading.js +1 -1
  51. package/dist/pkt-helptext.cjs +1 -1
  52. package/dist/pkt-helptext.js +1 -1
  53. package/dist/pkt-index.cjs +1 -1
  54. package/dist/pkt-index.js +20 -20
  55. package/dist/pkt-input-wrapper.cjs +1 -1
  56. package/dist/pkt-input-wrapper.js +1 -1
  57. package/dist/pkt-link.cjs +1 -1
  58. package/dist/pkt-link.js +1 -1
  59. package/dist/pkt-linkcard.cjs +1 -1
  60. package/dist/pkt-linkcard.js +1 -1
  61. package/dist/pkt-loader.cjs +1 -1
  62. package/dist/pkt-loader.js +1 -1
  63. package/dist/pkt-messagebox.cjs +1 -1
  64. package/dist/pkt-messagebox.js +1 -1
  65. package/dist/pkt-modal.cjs +1 -1
  66. package/dist/pkt-modal.js +1 -1
  67. package/dist/{pkt-options-controller-TJ1apYGF.cjs → pkt-options-controller-Ay9ELZTV.cjs} +1 -1
  68. package/dist/{pkt-options-controller-CFmzX4xL.js → pkt-options-controller-DepYQBqb.js} +1 -1
  69. package/dist/pkt-select.cjs +1 -1
  70. package/dist/pkt-select.js +1 -1
  71. package/dist/pkt-slot-controller-Da-RgXfS.cjs +1 -0
  72. package/dist/{pkt-slot-controller-DFrc5O93.js → pkt-slot-controller-DtDaD9q_.js} +19 -19
  73. package/dist/pkt-tag.cjs +1 -1
  74. package/dist/pkt-tag.js +1 -1
  75. package/dist/pkt-textarea.cjs +1 -1
  76. package/dist/pkt-textarea.js +1 -1
  77. package/dist/pkt-textinput.cjs +1 -1
  78. package/dist/pkt-textinput.js +1 -1
  79. package/dist/{select-BO7s0ym6.js → select-CNK8uoVi.js} +3 -3
  80. package/dist/{select-CsrHon8V.cjs → select-s98KeDqQ.cjs} +1 -1
  81. package/dist/{tag-CgkUxA5D.cjs → tag-B9kFYxHg.cjs} +1 -1
  82. package/dist/{tag-CGnj4c1Z.js → tag-Cu8afZy8.js} +1 -1
  83. package/dist/{textarea-BdjszjRh.js → textarea-C9Kj6gGv.js} +2 -2
  84. package/dist/{textarea-vr4tUfJ3.cjs → textarea-CeUz6coA.cjs} +1 -1
  85. package/dist/{textinput-DTKG8h7M.cjs → textinput-BArDDwC2.cjs} +1 -1
  86. package/dist/{textinput-D-hYhwtS.js → textinput-Dj6R0L45.js} +2 -2
  87. package/package.json +4 -3
  88. package/src/components/consent/consent.ts +1 -1
  89. package/src/components/modal/modal.ts +14 -2
  90. package/dist/modal-OC0efchb.cjs +0 -33
  91. package/dist/pkt-slot-controller-plQxXRvV.cjs +0 -1
@@ -73,7 +73,7 @@ export class PktConsent extends PktElement<IPktConsent> implements IPktConsent {
73
73
  protected firstUpdated(_changedProperties: PropertyValues): void {
74
74
  if (
75
75
  !document.querySelector('#oslo-consent-script') &&
76
- window.location.hostname !== 'localhost'
76
+ window.location.hostname.toLowerCase().includes('oslo.kommune.no')
77
77
  ) {
78
78
  window.googleAnalyticsId = this.googleAnalyticsId
79
79
  window.hotjarId = this.hotjarId
@@ -1,6 +1,6 @@
1
1
  import { classMap } from 'lit/directives/class-map.js'
2
2
  import { customElement, property, state } from 'lit/decorators.js'
3
- import { html, nothing } from 'lit'
3
+ import { html, nothing, PropertyValues } from 'lit'
4
4
  import { PktElement } from '@/base-elements/element'
5
5
  import { PktSlotController } from '@/controllers/pkt-slot-controller'
6
6
  import { ref } from 'lit/directives/ref.js'
@@ -9,7 +9,6 @@ import { TPktSize } from '@/types/size'
9
9
  import specs from 'componentSpecs/modal.json'
10
10
  import '@/components/icon'
11
11
 
12
- // TODO: Exchange <button> here with <pkt-button> when it is available in pkt-elements
13
12
  export interface IPktModal {
14
13
  headingText?: string
15
14
  removePadding?: boolean
@@ -53,6 +52,19 @@ export class PktModal extends PktElement implements IPktModal {
53
52
  document.removeEventListener('click', this.handleBackdropClick)
54
53
  }
55
54
 
55
+ protected async firstUpdated(_changedProperties: PropertyValues): Promise<void> {
56
+ super.firstUpdated(_changedProperties)
57
+ if (this.dialogRef.value) {
58
+ if ('document' in window && 'createElement' in document) {
59
+ const dialogPolyfill = await import('dialog-polyfill').then((module) => module.default)
60
+ dialogPolyfill.registerDialog(this.dialogRef.value)
61
+ }
62
+ this.dialogRef.value.addEventListener('close', () => {
63
+ this.close(new Event('close'), true)
64
+ })
65
+ }
66
+ }
67
+
56
68
  // P R I V A T E M E T H O D S
57
69
  private handleKeyDown(event: KeyboardEvent) {
58
70
  if (event.key === 'Escape') {
@@ -1,33 +0,0 @@
1
- "use strict";const d=require("./class-map-DCyaICmy.cjs"),l=require("./element-BSypUpzA.cjs"),h=require("./state-B5KCNjEd.cjs"),k=require("./pkt-slot-controller-plQxXRvV.cjs"),r=require("./ref-BvbyvXRH.cjs");require("./icon-BnKGwYjj.cjs");const m={hideCloseButton:{default:!1},closeOnBackdropClick:{default:!1},size:{default:"medium"}},p={props:m};var f=Object.defineProperty,v=Object.getOwnPropertyDescriptor,i=(c,e,t,s)=>{for(var o=s>1?void 0:s?v(e,t):e,n=c.length-1,a;n>=0;n--)(a=c[n])&&(o=(s?a(e,t,o):a(o))||o);return s&&o&&f(e,t,o),o};exports.PktModal=class extends l.PktElement{constructor(){super(),this.headingText="",this.removePadding=!1,this.hideCloseButton=p.props.hideCloseButton.default,this.closeOnBackdropClick=p.props.closeOnBackdropClick.default,this.closeButtonSkin="blue",this.size=p.props.size.default,this.defaultSlot=r.e(),this.dialogRef=r.e(),this._isOpen=!1,this.close=(e,t=!1)=>{var o;if(!this._isOpen)return;this._isOpen=!1,document.body.classList.remove("pkt-modal--open");const s=document.activeElement;s&&!this.isElementInViewport(s)&&s.scrollIntoView({behavior:"smooth",block:"nearest"}),this.dispatchEvent(new CustomEvent("close",{detail:{origin:e},bubbles:!0,composed:!0})),t||(o=this.dialogRef.value)==null||o.close(),this.requestUpdate()},this.showModal=(e=null)=>{var s;this._isOpen=!0,(s=this.dialogRef.value)==null||s.showModal();const t=document.querySelector(".pkt-modal");requestAnimationFrame(()=>{var o;this.dialogRef.value&&((o=this.dialogRef.value)==null||o.focus())}),t&&document.body.classList.add("pkt-modal--open"),this.dispatchEvent(new CustomEvent("showModal",{detail:{origin:e},bubbles:!0,composed:!0})),this.requestUpdate()},this.slotController=new k.PktSlotController(this,this.defaultSlot),this._isOpen=!1}async connectedCallback(){super.connectedCallback(),document.addEventListener("keydown",this.handleKeyDown),document.addEventListener("click",this.handleBackdropClick)}disconnectedCallback(){super.disconnectedCallback(),document.removeEventListener("keydown",this.handleKeyDown),document.removeEventListener("click",this.handleBackdropClick)}handleKeyDown(e){e.key==="Escape"&&this.close(e)}handleBackdropClick(e){var t;this.closeOnBackdropClick&&e.target===((t=this.dialogRef)==null?void 0:t.value)&&this.close(e)}isElementInViewport(e){const t=e.getBoundingClientRect();return t.top>=0&&t.left>=0&&t.bottom<=(window.innerHeight||document.documentElement.clientHeight)&&t.right<=(window.innerWidth||document.documentElement.clientWidth)}render(){const e={"pkt-modal":!0,"pkt-modal--removePadding":this.removePadding??!1,"pkt-modal--noHeadingText":this.headingText===""||this.headingText===void 0,[`pkt-modal--${this.size}`]:this.size!==void 0},t={"pkt-modal__headingText":!0,"pkt-txt-24":!0},s={"pkt-modal__content":!0,"pkt-txt-18-light":!0},o=this.closeButtonSkin==="blue",n={"pkt-modal__closeButton":!0,[`pkt-modal__closeButton--${this.closeButtonSkin}`]:!0},a={"pkt-btn":!0,[`pkt-btn--${o?"tertiary":"primary"}`]:!0,"pkt-btn--icon-only":!0,"pkt-btn--medium":!0};return l.x`
2
- <dialog
3
- class=${d.e(e)}
4
- ${r.n(this.dialogRef)}
5
- aria-labelledby="pkt-modal__headingText"
6
- aria-describedby="pkt-modal__content"
7
- @close=${u=>this.close(u,!0)}
8
- >
9
- <div class="pkt-modal__header">
10
- <div class="pkt-modal__header-background"></div>
11
- ${this.headingText?l.x`<h1 id="pkt-modal__headingText" class=${d.e(t)}>
12
- ${this.headingText}
13
- </h1>`:l.E}
14
- ${this.hideCloseButton?l.E:l.x`<div class="${d.e(n)}">
15
- <pkt-button
16
- @click=${u=>this.close(u)}
17
- class=${d.e(a)}
18
- aria-label="close"
19
- iconname="close"
20
- variant="icon-only"
21
- >
22
- </pkt-button>
23
- </div>`}
24
- </div>
25
- <div class="pkt-modal__container">
26
- <div
27
- id="pkt-modal__content"
28
- class=${d.e(s)}
29
- ${r.n(this.defaultSlot)}
30
- ></div>
31
- </div>
32
- </dialog>
33
- `}};i([l.n({type:String,reflect:!0})],exports.PktModal.prototype,"headingText",2);i([l.n({type:Boolean,reflect:!0})],exports.PktModal.prototype,"removePadding",2);i([l.n({type:Boolean,reflect:!0})],exports.PktModal.prototype,"hideCloseButton",2);i([l.n({type:Boolean,reflect:!0})],exports.PktModal.prototype,"closeOnBackdropClick",2);i([l.n({type:String,reflect:!0})],exports.PktModal.prototype,"closeButtonSkin",2);i([l.n({type:String,reflect:!0})],exports.PktModal.prototype,"size",2);i([h.r()],exports.PktModal.prototype,"_isOpen",2);exports.PktModal=i([l.t("pkt-modal")],exports.PktModal);
@@ -1 +0,0 @@
1
- "use strict";function a(i,s){return s.some(t=>t.value===i)}function n(i){return typeof i.hasAttribute=="function"&&i.hasAttribute("data-skip")}function r(i){return i.nodeName==="OPTION"||i.nodeName==="DATA"}function u(i,s){return i.nodeType===Node.ELEMENT_NODE&&!a(i,s)}function d(i){var s;return i.nodeType===Node.TEXT_NODE&&((s=i.nodeValue)==null?void 0:s.trim())!==""}class f{constructor(s,...t){this.nodes=[],this.filledSlots=new Set,this.skipOptions=!1,this.updatingSlots=!1,this.host=s,this.host.addController(this),this.slots=t,this.nodes=[],this.observer=new MutationObserver(o=>this.handleMutations(o)),this.contentObserver=new MutationObserver(o=>this.handleSlotMutations(o))}hostConnected(){this.updateNodes(),this.observer.observe(this.host,{childList:!0}),this.contentObserver.observe(this.host,{childList:!0,subtree:!0})}hostDisconnected(){this.observer.disconnect(),this.contentObserver.disconnect()}hostUpdated(){this.updateSlots()}updateNodes(){this.nodes=[],Array.from(this.host.childNodes).forEach(t=>{n(t)||r(t)&&this.skipOptions||(!a(t,this.slots)||d(t))&&this.nodes.push(t)})}updateSlots(){if(this.updatingSlots)return;this.updatingSlots=!0;const s=new Set;this.slots.forEach(t=>{if(!t.value)return;const o=t.value.getAttribute("name"),h=this.nodes.flatMap(l=>d(l)||l.getAttribute&&l.getAttribute("slot")==o&&!n(l)?l:[]).filter(l=>t.value&&!t.value.contains(l)&&!l.contains(t.value));if(h.length>0)if(s.add(o),typeof t.value.replaceChildren!="function"){for(;t.value.firstChild;)t.value.removeChild(t.value.firstChild);t.value.append(...h)}else t.value.replaceChildren(...h)}),(this.filledSlots.size!==s.size||![...this.filledSlots].every(t=>s.has(t)))&&(this.filledSlots=s,this.host.requestUpdate()),this.updatingSlots=!1}handleMutations(s){let t=!1;s.forEach(o=>{o.type==="childList"&&(o.addedNodes.forEach(e=>{n(e)||r(e)&&this.skipOptions||(u(e,this.slots)||d(e))&&(this.nodes.push(e),t=!0)}),o.removedNodes.forEach(e=>{n(e)||r(e)&&this.skipOptions||(this.nodes=this.nodes.filter(h=>h!==e),t=!0)}))}),t&&this.updateSlots()}handleSlotMutations(s){let t=!1;s.forEach(o=>{const e=o.target.parentElement;if(e!=null&&e.hasAttribute("slot")){const h=e.getAttribute("slot"),l=e.hasChildNodes();l&&!this.filledSlots.has(h)?(this.filledSlots.add(h),t=!0):!l&&this.filledSlots.has(h)&&(this.filledSlots.delete(h),t=!0)}}),t&&typeof this.host.updateSlots=="function"&&this.host.updateSlots(this.filledSlots)}}exports.PktSlotController=f;exports.isOptionElement=r;