@oslokommune/punkt-elements 15.4.2 → 15.4.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 +17 -0
- package/dist/{datepicker-BqGkvUmw.cjs → datepicker-SEKblnRR.cjs} +2 -4
- package/dist/{datepicker-BOW852c2.js → datepicker-nnyTW0vf.js} +1 -3
- package/dist/pkt-datepicker.cjs +1 -1
- package/dist/pkt-datepicker.js +2 -2
- package/dist/pkt-index.cjs +1 -1
- package/dist/pkt-index.js +1 -1
- package/package.json +3 -3
- package/src/components/datepicker/datepicker.ts +32 -33
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,23 @@ og skriver commits ca etter [Conventional Commits](https://conventionalcommits.o
|
|
|
5
5
|
|
|
6
6
|
---
|
|
7
7
|
|
|
8
|
+
## [15.4.3](https://github.com/oslokommune/punkt/compare/15.4.2...15.4.3) (2026-02-26)
|
|
9
|
+
|
|
10
|
+
### ⚠ BREAKING CHANGES
|
|
11
|
+
Ingen
|
|
12
|
+
|
|
13
|
+
### Features
|
|
14
|
+
Ingen
|
|
15
|
+
|
|
16
|
+
### Bug Fixes
|
|
17
|
+
Ingen
|
|
18
|
+
|
|
19
|
+
### Chores
|
|
20
|
+
Ingen
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
|
|
8
25
|
## [15.0.2](https://github.com/oslokommune/punkt/compare/15.0.1...15.0.2) (2026-02-13)
|
|
9
26
|
|
|
10
27
|
### ⚠ BREAKING CHANGES
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";const l=require("./element-CMTfByxQ.cjs"),I=require("./state-BNgpvY-A.cjs"),u=require("./calendar-DjbO2g5L.cjs"),A=require("./input-element-DM0tY799.cjs"),o=require("./ref-CxLwrCxt.cjs");require("./icon-Dj0oZZSa.cjs");require("./input-wrapper-JU4D2TGu.cjs");const m=require("./class-map-Bokp1SoS.cjs"),M=require("./repeat-C-FJ2vfy.cjs");require("./tag-BnT5onW2.cjs");const O=require("./utils-byXsEz1u.cjs"),g=require("./if-defined-hKKmbsI8.cjs"),F=require("./pkt-slot-controller-D4nKlom5.cjs"),B={calendar:{buttonAltText:"Åpne kalender"}},j={calendar:{buttonAltText:"Åpne kalender"},generic:{from:"Fra",to:"Til"}};var
|
|
1
|
+
"use strict";const l=require("./element-CMTfByxQ.cjs"),I=require("./state-BNgpvY-A.cjs"),u=require("./calendar-DjbO2g5L.cjs"),A=require("./input-element-DM0tY799.cjs"),o=require("./ref-CxLwrCxt.cjs");require("./icon-Dj0oZZSa.cjs");require("./input-wrapper-JU4D2TGu.cjs");const m=require("./class-map-Bokp1SoS.cjs"),M=require("./repeat-C-FJ2vfy.cjs");require("./tag-BnT5onW2.cjs");const O=require("./utils-byXsEz1u.cjs"),g=require("./if-defined-hKKmbsI8.cjs"),F=require("./pkt-slot-controller-D4nKlom5.cjs"),B={calendar:{buttonAltText:"Åpne kalender"}},j={calendar:{buttonAltText:"Åpne kalender"},generic:{from:"Fra",to:"Til"}};var q=Object.defineProperty,L=Object.getOwnPropertyDescriptor,b=(s,e,t,a)=>{for(var i=a>1?void 0:a?L(e,t):e,r=s.length-1,n;r>=0;r--)(n=s[r])&&(i=(a?n(e,t,i):n(i))||i);return a&&i&&q(e,t,i),i};exports.PktDateTags=class extends l.PktElement{constructor(){super(...arguments),this.dates=[],this.dateformat="dd.MM.yyyy",this.className="pkt-datepicker__tags",this.idBase=O.uuidish()}render(){return this.classes={"pkt-date-tags":!0,[this.className]:!0},l.b`
|
|
2
2
|
<div class=${m.e(this.classes)} aria-live="polite">
|
|
3
3
|
${Array.isArray(this.dates)&&this.dates[0]?M.c(u.sortDateStrings((this.dates??[]).filter(Boolean)),e=>e,e=>{var t;return l.b` <pkt-tag
|
|
4
4
|
id=${this.idBase+e+"-tag"}
|
|
@@ -265,9 +265,7 @@
|
|
|
265
265
|
id-base=${this.id}
|
|
266
266
|
@date-tag-removed=${e=>{var i;const t=this.datepickerPopupRef.value,a=u.fromISOToDate(e.detail);t&&a&&typeof t.handleDateSelect=="function"?t.handleDateSelect(a):(i=this.calRef.value)==null||i.handleDateSelect(a)}}
|
|
267
267
|
></pkt-date-tags>`:l.A}
|
|
268
|
-
<div
|
|
269
|
-
class="pkt-datepicker__inputs ${this.range&&this.showRangeLabels?"pkt-input__range-inputs":""}"
|
|
270
|
-
>
|
|
268
|
+
<div class="pkt-datepicker__inputs ${this.range?"pkt-input__range-inputs":""}">
|
|
271
269
|
${this.range?this.renderRangeInput():this.multiple?this.renderMultipleInput():this.renderInput()}
|
|
272
270
|
</div>
|
|
273
271
|
</pkt-input-wrapper>
|
|
@@ -1045,9 +1045,7 @@ let u = class extends ee {
|
|
|
1045
1045
|
t && s && typeof t.handleDateSelect == "function" ? t.handleDateSelect(s) : (n = this.calRef.value) == null || n.handleDateSelect(s);
|
|
1046
1046
|
}}
|
|
1047
1047
|
></pkt-date-tags>` : D}
|
|
1048
|
-
<div
|
|
1049
|
-
class="pkt-datepicker__inputs ${this.range && this.showRangeLabels ? "pkt-input__range-inputs" : ""}"
|
|
1050
|
-
>
|
|
1048
|
+
<div class="pkt-datepicker__inputs ${this.range ? "pkt-input__range-inputs" : ""}">
|
|
1051
1049
|
${this.range ? this.renderRangeInput() : this.multiple ? this.renderMultipleInput() : this.renderInput()}
|
|
1052
1050
|
</div>
|
|
1053
1051
|
</pkt-input-wrapper>
|
package/dist/pkt-datepicker.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./datepicker-
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./datepicker-SEKblnRR.cjs"),t=e.PktDatepicker;Object.defineProperty(exports,"PktDatepicker",{enumerable:!0,get:()=>e.PktDatepicker});Object.defineProperty(exports,"PktDatepickerMultiple",{enumerable:!0,get:()=>e.PktDatepickerMultiple});Object.defineProperty(exports,"PktDatepickerRange",{enumerable:!0,get:()=>e.PktDatepickerRange});Object.defineProperty(exports,"PktDatepickerSingle",{enumerable:!0,get:()=>e.PktDatepickerSingle});exports.default=t;
|
package/dist/pkt-datepicker.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { a as e } from "./datepicker-
|
|
2
|
-
import { b as p, c as i, d as c } from "./datepicker-
|
|
1
|
+
import { a as e } from "./datepicker-nnyTW0vf.js";
|
|
2
|
+
import { b as p, c as i, d as c } from "./datepicker-nnyTW0vf.js";
|
|
3
3
|
const a = e;
|
|
4
4
|
export {
|
|
5
5
|
e as PktDatepicker,
|
package/dist/pkt-index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("./alert-BDXWFRcf.cjs"),t=require("./accordionitem-To95GT6b.cjs"),a=require("./backlink-CQoNgoa-.cjs"),P=require("./button-VWxZW89G.cjs"),i=require("./calendar-DjbO2g5L.cjs"),c=require("./card-5S2r9UD1.cjs"),b=require("./combobox-CZsCRADa.cjs"),k=require("./consent-BQLkfN3d.cjs"),d=require("./checkbox-D98_NjcU.cjs"),r=require("./datepicker-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("./alert-BDXWFRcf.cjs"),t=require("./accordionitem-To95GT6b.cjs"),a=require("./backlink-CQoNgoa-.cjs"),P=require("./button-VWxZW89G.cjs"),i=require("./calendar-DjbO2g5L.cjs"),c=require("./card-5S2r9UD1.cjs"),b=require("./combobox-CZsCRADa.cjs"),k=require("./consent-BQLkfN3d.cjs"),d=require("./checkbox-D98_NjcU.cjs"),r=require("./datepicker-SEKblnRR.cjs"),e=require("./pkt-header.cjs"),l=require("./helptext-BjW1WdOn.cjs"),s=require("./heading-B0XRE0lq.cjs"),p=require("./icon-Dj0oZZSa.cjs"),g=require("./input-wrapper-JU4D2TGu.cjs"),m=require("./link-CDuv1jxx.cjs"),f=require("./linkcard-3WUL0CpY.cjs"),y=require("./loader-C1LI8Q4z.cjs"),j=require("./messagebox-Dmot5szX.cjs"),O=require("./modal-S9MOKOaz.cjs"),q=require("./progressbar-Bxh335uT.cjs"),n=require("./radiobutton-95wp024h.cjs"),x=require("./tag-BnT5onW2.cjs"),o=require("./tabitem-BKv4eN0a.cjs"),T=require("./textarea-CuTsE1WX.cjs"),C=require("./textinput-st4Vml5J.cjs"),H=require("./select-CZ_Lx5W6.cjs");Object.defineProperty(exports,"PktAlert",{enumerable:!0,get:()=>u.PktAlert});exports.PktAccordion=t.PktAccordion;exports.PktAccordionItem=t.PktAccordionItem_default;Object.defineProperty(exports,"PktBackLink",{enumerable:!0,get:()=>a.PktBackLink});Object.defineProperty(exports,"PktButton",{enumerable:!0,get:()=>P.PktButton});Object.defineProperty(exports,"PktCalendar",{enumerable:!0,get:()=>i.PktCalendar});Object.defineProperty(exports,"PktCard",{enumerable:!0,get:()=>c.PktCard});Object.defineProperty(exports,"PktCombobox",{enumerable:!0,get:()=>b.PktCombobox});Object.defineProperty(exports,"PktConsent",{enumerable:!0,get:()=>k.PktConsent});Object.defineProperty(exports,"PktCheckbox",{enumerable:!0,get:()=>d.PktCheckbox});Object.defineProperty(exports,"PktDateTags",{enumerable:!0,get:()=>r.PktDateTags});Object.defineProperty(exports,"PktDatepicker",{enumerable:!0,get:()=>r.PktDatepicker});Object.defineProperty(exports,"PktHeader",{enumerable:!0,get:()=>e.PktHeader});Object.defineProperty(exports,"PktHeaderService",{enumerable:!0,get:()=>e.PktHeaderService});Object.defineProperty(exports,"PktHeaderUserMenu",{enumerable:!0,get:()=>e.PktHeaderUserMenu});Object.defineProperty(exports,"PktHelptext",{enumerable:!0,get:()=>l.PktHelptext});Object.defineProperty(exports,"PktHeading",{enumerable:!0,get:()=>s.PktHeading});Object.defineProperty(exports,"PktIcon",{enumerable:!0,get:()=>p.PktIcon});Object.defineProperty(exports,"PktInputWrapper",{enumerable:!0,get:()=>g.PktInputWrapper});Object.defineProperty(exports,"PktLink",{enumerable:!0,get:()=>m.PktLink});Object.defineProperty(exports,"PktLinkCard",{enumerable:!0,get:()=>f.PktLinkCard});Object.defineProperty(exports,"PktLoader",{enumerable:!0,get:()=>y.PktLoader});Object.defineProperty(exports,"PktMessagebox",{enumerable:!0,get:()=>j.PktMessagebox});Object.defineProperty(exports,"PktModal",{enumerable:!0,get:()=>O.PktModal});Object.defineProperty(exports,"PktProgressbar",{enumerable:!0,get:()=>q.PktProgressbar});Object.defineProperty(exports,"PktRadioButton",{enumerable:!0,get:()=>n.PktRadioButton});Object.defineProperty(exports,"PktRadiobutton",{enumerable:!0,get:()=>n.PktRadioButton});Object.defineProperty(exports,"PktTag",{enumerable:!0,get:()=>x.PktTag});exports.PktTabItem=o.PktTabItem_default;exports.PktTabs=o.PktTabs;Object.defineProperty(exports,"PktTextarea",{enumerable:!0,get:()=>T.PktTextarea});Object.defineProperty(exports,"PktTextinput",{enumerable:!0,get:()=>C.PktTextinput});Object.defineProperty(exports,"PktSelect",{enumerable:!0,get:()=>H.PktSelect});
|
package/dist/pkt-index.js
CHANGED
|
@@ -7,7 +7,7 @@ import { P as d } from "./card-CnPjrdre.js";
|
|
|
7
7
|
import { P as c } from "./combobox-CXBYVeh-.js";
|
|
8
8
|
import { P as u } from "./consent-knPF4PS_.js";
|
|
9
9
|
import { P as T } from "./checkbox-BSz71IeT.js";
|
|
10
|
-
import { P as l, a as H } from "./datepicker-
|
|
10
|
+
import { P as l, a as H } from "./datepicker-nnyTW0vf.js";
|
|
11
11
|
import { PktHeader as L, PktHeaderService as A, PktHeaderUserMenu as B } from "./pkt-header.js";
|
|
12
12
|
import { P as D } from "./helptext-TFpeGJ1P.js";
|
|
13
13
|
import { P as S } from "./heading-D9R5UBcv.js";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@oslokommune/punkt-elements",
|
|
3
|
-
"version": "15.4.
|
|
3
|
+
"version": "15.4.4",
|
|
4
4
|
"description": "Komponentbiblioteket til Punkt, et designsystem laget av Oslo Origo",
|
|
5
5
|
"homepage": "https://punkt.oslo.kommune.no",
|
|
6
6
|
"author": "Team Designsystem, Oslo Origo",
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
"@babel/preset-env": "^7.28.3",
|
|
43
43
|
"@babel/preset-typescript": "^7.25.9",
|
|
44
44
|
"@oslokommune/punkt-assets": "^15.0.0",
|
|
45
|
-
"@oslokommune/punkt-css": "^15.4.
|
|
45
|
+
"@oslokommune/punkt-css": "^15.4.4",
|
|
46
46
|
"@testing-library/jest-dom": "^6.6.3",
|
|
47
47
|
"@typescript-eslint/eslint-plugin": "^8.46.0",
|
|
48
48
|
"@typescript-eslint/parser": "^8.46.0",
|
|
@@ -79,5 +79,5 @@
|
|
|
79
79
|
"url": "https://github.com/oslokommune/punkt/issues"
|
|
80
80
|
},
|
|
81
81
|
"license": "MIT",
|
|
82
|
-
"gitHead": "
|
|
82
|
+
"gitHead": "f311283f212b9c79eab7c4a73e8bfc90751b1f61"
|
|
83
83
|
}
|
|
@@ -161,37 +161,37 @@ export class PktDatepicker extends PktInputElement<Props> {
|
|
|
161
161
|
try {
|
|
162
162
|
const parsedValue = valueToArray(newValue)
|
|
163
163
|
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
164
|
+
// For multiple dates, filter out invalid ones to prevent accumulating bad dates
|
|
165
|
+
// For single/range dates, preserve user input for validation feedback
|
|
166
|
+
const filteredValue =
|
|
167
|
+
this.multiple && parsedValue.length > 1
|
|
168
|
+
? valueUtils.filterSelectableDates(
|
|
169
|
+
parsedValue,
|
|
170
|
+
this.min,
|
|
171
|
+
this.max,
|
|
172
|
+
this.excludedates,
|
|
173
|
+
this.excludeweekdays,
|
|
174
|
+
)
|
|
175
|
+
: parsedValue
|
|
176
|
+
|
|
177
|
+
if (this.range && !valueUtils.validateRangeOrder(filteredValue)) {
|
|
178
|
+
this._value = []
|
|
179
|
+
this._valueProperty = ''
|
|
180
|
+
super.valueChanged('', oldValue)
|
|
181
|
+
return
|
|
182
|
+
}
|
|
183
183
|
|
|
184
|
-
|
|
184
|
+
this._value = filteredValue
|
|
185
185
|
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
186
|
+
const parsedValueString = arrayToCsv(filteredValue)
|
|
187
|
+
if (this._valueProperty !== parsedValueString) {
|
|
188
|
+
this._valueProperty = parsedValueString
|
|
189
|
+
}
|
|
190
190
|
|
|
191
|
-
|
|
192
|
-
|
|
191
|
+
// In range mode, don't dispatch events until both dates are selected
|
|
192
|
+
if (this.range && filteredValue.length < 2) return
|
|
193
193
|
|
|
194
|
-
|
|
194
|
+
super.valueChanged(parsedValueString, oldValue)
|
|
195
195
|
} finally {
|
|
196
196
|
this._valueProcessing = false
|
|
197
197
|
}
|
|
@@ -374,7 +374,10 @@ export class PktDatepicker extends PktInputElement<Props> {
|
|
|
374
374
|
this.value = fromValue
|
|
375
375
|
} else {
|
|
376
376
|
const newValues = [fromValue, toValue].filter(Boolean)
|
|
377
|
-
if (
|
|
377
|
+
if (
|
|
378
|
+
newValues.length > 0 &&
|
|
379
|
+
(newValues[0] !== this._value[0] || newValues[1] !== this._value[1])
|
|
380
|
+
) {
|
|
378
381
|
this._value = newValues
|
|
379
382
|
this.value = newValues.join(',')
|
|
380
383
|
}
|
|
@@ -536,11 +539,7 @@ export class PktDatepicker extends PktInputElement<Props> {
|
|
|
536
539
|
}}
|
|
537
540
|
></pkt-date-tags>`
|
|
538
541
|
: nothing}
|
|
539
|
-
<div
|
|
540
|
-
class="pkt-datepicker__inputs ${this.range && this.showRangeLabels
|
|
541
|
-
? 'pkt-input__range-inputs'
|
|
542
|
-
: ''}"
|
|
543
|
-
>
|
|
542
|
+
<div class="pkt-datepicker__inputs ${this.range ? 'pkt-input__range-inputs' : ''}">
|
|
544
543
|
${this.range
|
|
545
544
|
? this.renderRangeInput()
|
|
546
545
|
: this.multiple
|