@oslokommune/punkt-elements 13.6.10 → 13.6.12

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 (39) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/dist/{combobox-cK_746ek.cjs → combobox-BFOjlFIj.cjs} +1 -1
  3. package/dist/{combobox-DxNotM0u.js → combobox-DaiEdUKx.js} +1 -1
  4. package/dist/datepicker-C244h82t.cjs +190 -0
  5. package/dist/datepicker-DwOkktaP.js +859 -0
  6. package/dist/index.d.ts +48 -13
  7. package/dist/{input-wrapper-D_JdEqcO.js → input-wrapper-CQzXG44g.js} +22 -22
  8. package/dist/{input-wrapper-C9rZEgju.cjs → input-wrapper-DVjNwf8-.cjs} +11 -12
  9. package/dist/pkt-combobox.cjs +1 -1
  10. package/dist/pkt-combobox.js +1 -1
  11. package/dist/pkt-datepicker.cjs +1 -1
  12. package/dist/pkt-datepicker.js +1 -1
  13. package/dist/pkt-index.cjs +1 -1
  14. package/dist/pkt-index.js +6 -6
  15. package/dist/pkt-input-wrapper.cjs +1 -1
  16. package/dist/pkt-input-wrapper.js +1 -1
  17. package/dist/pkt-select.cjs +1 -1
  18. package/dist/pkt-select.js +1 -1
  19. package/dist/pkt-textarea.cjs +1 -1
  20. package/dist/pkt-textarea.js +1 -1
  21. package/dist/pkt-textinput.cjs +1 -1
  22. package/dist/pkt-textinput.js +1 -1
  23. package/dist/{select-D7OQaUrQ.js → select-DKkoxmgj.js} +1 -1
  24. package/dist/{select-Cf1RWSsI.cjs → select-DynzsPo0.cjs} +1 -1
  25. package/dist/{textarea-CXu8UUsY.cjs → textarea-BS1tgktz.cjs} +1 -1
  26. package/dist/{textarea-C0vTWTov.js → textarea-COG1CH_s.js} +1 -1
  27. package/dist/{textinput-C6wccDhZ.cjs → textinput-CCK8ti2y.cjs} +1 -1
  28. package/dist/{textinput-CmZrfH4A.js → textinput-CTOtfcTR.js} +1 -1
  29. package/package.json +2 -2
  30. package/src/components/checkbox/checkbox.ts +17 -1
  31. package/src/components/datepicker/datepicker-popup.test.ts +77 -0
  32. package/src/components/datepicker/datepicker-popup.ts +137 -0
  33. package/src/components/datepicker/datepicker-utils.ts +13 -8
  34. package/src/components/datepicker/datepicker.ts +64 -48
  35. package/src/components/input-wrapper/input-wrapper.ts +7 -7
  36. package/src/components/radiobutton/radiobutton.ts +14 -1
  37. package/src/components/textarea/textarea.ts +4 -1
  38. package/dist/datepicker-BEMo4X9s.js +0 -770
  39. package/dist/datepicker-n49TAIAt.cjs +0 -169
package/dist/index.d.ts CHANGED
@@ -505,7 +505,7 @@ export declare class PktCard extends PktElement implements IPktCard {
505
505
  renderMetadata(): TemplateResult<1>;
506
506
  }
507
507
 
508
- export declare class PktCheckbox extends PktInputElement {
508
+ export declare class PktCheckbox extends PktInputElement<Props_3> {
509
509
  private inputRef;
510
510
  value: string;
511
511
  checkHelptext: string | null;
@@ -657,13 +657,12 @@ export declare class PktConsent extends PktElement<IPktConsent> implements IPktC
657
657
  render(): TemplateResult<1>;
658
658
  }
659
659
 
660
- export declare class PktDatepicker extends PktInputElement {
660
+ export declare class PktDatepicker extends PktInputElement<Props_4> {
661
661
  /**
662
662
  * Element attributes and properties
663
663
  */
664
664
  private _valueProperty;
665
- private documentClickListener?;
666
- private documentKeydownListener?;
665
+ datepickerPopupRef: Ref<PktDatepickerPopup>;
667
666
  get value(): string;
668
667
  set value(newValue: string | string[]);
669
668
  _value: string[];
@@ -720,13 +719,41 @@ export declare class PktDatepicker extends PktInputElement {
720
719
  */
721
720
  handleCalendarPosition(): void;
722
721
  addToSelected: (e: Event | KeyboardEvent) => void;
723
- private handleFocusOut;
724
722
  showCalendar(): Promise<void>;
725
723
  hideCalendar(): void;
726
724
  toggleCalendar(e: Event): Promise<void>;
727
725
  clearInputValue(): void;
728
726
  }
729
727
 
728
+ declare class PktDatepickerPopup extends PktElement {
729
+ open: boolean;
730
+ multiple: boolean;
731
+ range: boolean;
732
+ weeknumbers: boolean;
733
+ withcontrols: boolean;
734
+ maxMultiple: number | null;
735
+ selected: string[];
736
+ earliest: string | null;
737
+ latest: string | null;
738
+ excludedates: string[];
739
+ excludeweekdays: string[];
740
+ currentmonth: string | null;
741
+ popupRef: Ref<HTMLElement>;
742
+ calendarRef: Ref<HTMLElement>;
743
+ firstUpdated(): void;
744
+ disconnectedCallback(): void;
745
+ handleDocumentClick: (e: MouseEvent) => void;
746
+ handleDocumentKeydown: (e: KeyboardEvent) => void;
747
+ show(): void;
748
+ hide(): void;
749
+ toggle(): void;
750
+ contains(node: Node | null): boolean;
751
+ focusOnCurrentDate(): void;
752
+ addToSelected(e: Event, min?: string | null, max?: string | null): void;
753
+ handleDateSelect(date: Date): Promise<void> | undefined;
754
+ render(): TemplateResult<1>;
755
+ }
756
+
730
757
  /**
731
758
  * OBS! `dateformat` er standard formatteringsstreng for visning av datoer.
732
759
  * Denne brukes for å sette "menneskeleselig" format på datoene i tags.
@@ -781,7 +808,7 @@ export declare class PktHelptext extends PktElement {
781
808
  render(): TemplateResult<1>;
782
809
  }
783
810
 
784
- export declare class PktIcon extends PktElement<Props_3> {
811
+ export declare class PktIcon extends PktElement<Props_5> {
785
812
  path: string | undefined;
786
813
  name: PktIconName;
787
814
  private icon;
@@ -849,7 +876,7 @@ declare class PktInputElement<T = {}> extends PktElement<Props_2 & T> {
849
876
  protected firstUpdated(_changedProperties: PropertyValues): void;
850
877
  }
851
878
 
852
- export declare class PktInputWrapper extends PktElement<Props_4> {
879
+ export declare class PktInputWrapper extends PktElement<Props_6> {
853
880
  defaultSlot: Ref<HTMLElement>;
854
881
  helptextSlot: Ref<HTMLElement>;
855
882
  constructor();
@@ -1042,7 +1069,7 @@ export declare class PktProgressbar extends PktElement implements IPktProgressba
1042
1069
  private _handleAttribute;
1043
1070
  }
1044
1071
 
1045
- declare class PktRadioButton extends PktInputElement {
1072
+ declare class PktRadioButton extends PktInputElement<Props_7> {
1046
1073
  private inputRef;
1047
1074
  value: string;
1048
1075
  checkHelptext: string | null;
@@ -1162,7 +1189,7 @@ export declare class PktTag extends PktElement<IPktTag> implements IPktTag {
1162
1189
  render(): TemplateResult<1>;
1163
1190
  }
1164
1191
 
1165
- export declare class PktTextarea extends PktInputElement {
1192
+ export declare class PktTextarea extends PktInputElement<Props_8> {
1166
1193
  private inputRef;
1167
1194
  private helptextSlot;
1168
1195
  value: string;
@@ -1175,7 +1202,7 @@ export declare class PktTextarea extends PktInputElement {
1175
1202
  render(): TemplateResult<1>;
1176
1203
  }
1177
1204
 
1178
- export declare class PktTextinput extends PktInputElement<Props_5> {
1205
+ export declare class PktTextinput extends PktInputElement<Props_9> {
1179
1206
  private inputRef;
1180
1207
  private helptextSlot;
1181
1208
  value: string;
@@ -1197,11 +1224,19 @@ declare type Props = ElementProps<PktElement, 'strings' | 'role'>;
1197
1224
 
1198
1225
  declare type Props_2 = ElementProps<PktInputElement, 'defaultValue' | 'disabled' | 'readonly' | 'required' | 'max' | 'maxlength' | 'min' | 'minlength' | 'ariaDescribedBy' | 'ariaLabelledby' | 'name' | 'pattern' | 'placeholder' | 'id' | 'counter' | 'hasError' | 'hasFieldset' | 'inline' | 'optionalTag' | 'requiredTag' | 'skipForwardTestid' | 'useWrapper' | 'fullwidth' | 'counterMaxLength' | 'errorMessage' | 'helptext' | 'helptextDropdown' | 'helptextDropdownButton' | 'label' | 'optionalText' | 'requiredText' | 'dataTestid'>;
1199
1226
 
1200
- declare type Props_3 = ElementProps<PktIcon, 'path' | 'name'>;
1227
+ declare type Props_3 = ElementProps<PktCheckbox, 'checkHelptext' | 'defaultChecked' | 'hasTile' | 'isSwitch' | 'labelPosition' | 'hideLabel' | 'tagText' | 'optionalTag' | 'optionalText' | 'requiredTag' | 'requiredText'>;
1228
+
1229
+ declare type Props_4 = ElementProps<PktDatepicker, 'label' | 'dateformat' | 'multiple' | 'maxlength' | 'range' | 'showRangeLabels' | 'min' | 'max' | 'weeknumbers' | 'withcontrols' | 'excludedates' | 'excludeweekdays' | 'currentmonth' | 'calendarOpen' | 'timezone'>;
1230
+
1231
+ declare type Props_5 = ElementProps<PktIcon, 'path' | 'name'>;
1232
+
1233
+ declare type Props_6 = ElementProps<PktInputWrapper, 'forId' | 'label' | 'helptext' | 'helptextDropdown' | 'helptextDropdownButton' | 'counter' | 'counterCurrent' | 'counterMaxLength' | 'optionalTag' | 'optionalText' | 'requiredTag' | 'requiredText' | 'tagText' | 'hasError' | 'errorMessage' | 'disabled' | 'inline' | 'ariaDescribedby' | 'hasFieldset' | 'useWrapper' | 'role'>;
1234
+
1235
+ declare type Props_7 = ElementProps<PktRadioButton, 'checkHelptext' | 'defaultChecked' | 'hasTile' | 'tagText' | 'optionalTag' | 'optionalText' | 'requiredTag' | 'requiredText'>;
1201
1236
 
1202
- declare type Props_4 = ElementProps<PktInputWrapper, 'forId' | 'label' | 'helptext' | 'helptextDropdown' | 'helptextDropdownButton' | 'counter' | 'counterCurrent' | 'counterMaxLength' | 'optionalTag' | 'optionalText' | 'requiredTag' | 'requiredText' | 'tagText' | 'hasError' | 'errorMessage' | 'disabled' | 'inline' | 'ariaDescribedby' | 'hasFieldset' | 'useWrapper' | 'role'>;
1237
+ declare type Props_8 = ElementProps<PktTextarea, 'autocomplete' | 'rows'>;
1203
1238
 
1204
- declare type Props_5 = ElementProps<PktTextinput, 'value' | 'type' | 'size' | 'autocomplete' | 'iconNameRight' | 'prefix' | 'suffix' | 'omitSearchIcon'>;
1239
+ declare type Props_9 = ElementProps<PktTextinput, 'value' | 'type' | 'size' | 'autocomplete' | 'iconNameRight' | 'prefix' | 'suffix' | 'omitSearchIcon'>;
1205
1240
 
1206
1241
  declare type TAlertSkin = 'error' | 'success' | 'warning' | 'info';
1207
1242
 
@@ -2,17 +2,18 @@ import { P as x, E as i, x as p, n as r, a as m } from "./element-DJZPsA_J.js";
2
2
  import { P as k } from "./pkt-slot-controller-BPGj-LC5.js";
3
3
  import { e as f, n as b } from "./ref-BCGCor-j.js";
4
4
  import { o as w } from "./if-defined-D3lgJqT7.js";
5
- import { o as v } from "./icon-B1-mkmwB.js";
6
- import { e as T } from "./class-map-Dw6Wrxwi.js";
7
- import { u as E } from "./stringutils-DJjRa8dG.js";
5
+ import { o as T } from "./icon-B1-mkmwB.js";
6
+ import { e as E } from "./class-map-Dw6Wrxwi.js";
7
+ import { u as v } from "./stringutils-DJjRa8dG.js";
8
8
  import { s } from "./input-wrapper-8iKEzDRZ.js";
9
9
  import "./helptext-8ykxyegi.js";
10
- var S = Object.defineProperty, _ = Object.getOwnPropertyDescriptor, e = (o, a, n, h) => {
11
- for (var l = h > 1 ? void 0 : h ? _(a, n) : a, u = o.length - 1, d; u >= 0; u--)
12
- (d = o[u]) && (l = (h ? d(a, n, l) : d(l)) || l);
10
+ import "./alert-CTTm6ugp.js";
11
+ var S = Object.defineProperty, D = Object.getOwnPropertyDescriptor, e = (o, a, n, h) => {
12
+ for (var l = h > 1 ? void 0 : h ? D(a, n) : a, d = o.length - 1, u; d >= 0; d--)
13
+ (u = o[d]) && (l = (h ? u(a, n, l) : u(l)) || l);
13
14
  return h && l && S(a, n, l), l;
14
15
  };
15
- const D = {
16
+ const _ = {
16
17
  fromAttribute(o) {
17
18
  return o == null ? !1 : o === "" || o === "true" || o === !0 ? !0 : o === "false" || o === !1 ? !1 : !!o;
18
19
  },
@@ -22,7 +23,7 @@ const D = {
22
23
  };
23
24
  let t = class extends x {
24
25
  constructor() {
25
- super(), this.defaultSlot = f(), this.helptextSlot = f(), this.forId = E(), this.label = "", this.helptext = null, this.helptextDropdown = null, this.helptextDropdownButton = null, this.counter = s.props.counter.default, this.counterCurrent = 0, this.counterMaxLength = 0, this.counterError = null, this.counterPosition = "bottom", this.optionalTag = s.props.optionalTag.default, this.optionalText = s.props.optionalText.default, this.requiredTag = s.props.requiredTag.default, this.requiredText = s.props.requiredText.default, this.tagText = null, this.hasError = s.props.hasError.default, this.errorMessage = "", this.disabled = s.props.disabled.default, this.inline = s.props.inline.default, this.ariaDescribedby = void 0, this.hasFieldset = s.props.hasFieldset.default, this.role = "group", this.useWrapper = s.props.useWrapper.default, this.slotController = new k(this, this.defaultSlot, this.helptextSlot);
26
+ super(), this.defaultSlot = f(), this.helptextSlot = f(), this.forId = v(), this.label = "", this.helptext = null, this.helptextDropdown = null, this.helptextDropdownButton = null, this.counter = s.props.counter.default, this.counterCurrent = 0, this.counterMaxLength = 0, this.counterError = null, this.counterPosition = "bottom", this.optionalTag = s.props.optionalTag.default, this.optionalText = s.props.optionalText.default, this.requiredTag = s.props.requiredTag.default, this.requiredText = s.props.requiredText.default, this.tagText = null, this.hasError = s.props.hasError.default, this.errorMessage = "", this.disabled = s.props.disabled.default, this.inline = s.props.inline.default, this.ariaDescribedby = void 0, this.hasFieldset = s.props.hasFieldset.default, this.role = "group", this.useWrapper = s.props.useWrapper.default, this.slotController = new k(this, this.defaultSlot, this.helptextSlot);
26
27
  }
27
28
  updated(o) {
28
29
  super.updated(o);
@@ -57,7 +58,7 @@ let t = class extends x {
57
58
  id="${this.forId}-label"
58
59
  >
59
60
  ${this.label}
60
- </label>`, u = () => p`
61
+ </label>`, d = () => p`
61
62
  <pkt-helptext
62
63
  class="${w(this.useWrapper ? void 0 : "pkt-hide")}"
63
64
  .forId=${this.forId}
@@ -70,29 +71,28 @@ let t = class extends x {
70
71
  ${b(this.helptextSlot)}
71
72
  name="helptext"
72
73
  ></pkt-helptext>
73
- `, d = () => this.counter ? p`<div class="pkt-input__counter" aria-live="polite" aria-atomic="true">
74
+ `, u = () => this.counter ? p`<div class="pkt-input__counter" aria-live="polite" aria-atomic="true">
74
75
  ${this.counterError ? this.counterError : i} ${this.counterCurrent || 0}
75
76
  ${this.counterMaxLength ? `/${this.counterMaxLength}` : i}
76
- </div>` : i, g = () => this.hasError && this.errorMessage ? p`<div
77
- role="alert"
78
- class="pkt-alert pkt-alert--error pkt-alert--compact"
77
+ </div>` : i, g = () => this.hasError && this.errorMessage ? p`<pkt-alert
78
+ skin="error"
79
+ compact
80
+ id=${`${this.forId}-error`}
79
81
  aria-live="assertive"
80
82
  aria-atomic="true"
81
- id="${this.forId}-error"
82
83
  >
83
- <pkt-icon name="alert-error" class="pkt-alert__icon"></pkt-icon>
84
- <div class="pkt-alert__text">${v(this.errorMessage)}</div>
85
- </div>` : i, c = () => p`
84
+ ${T(this.errorMessage)}
85
+ </pkt-alert>` : i, c = () => p`
86
86
  ${l()}
87
- ${u()}
88
- ${this.counterPosition === "top" ? d() : i}
87
+ ${d()}
88
+ ${this.counterPosition === "top" ? u() : i}
89
89
  <div class="pkt-contents" ${b(this.defaultSlot)}></div>
90
- ${this.counterPosition === "bottom" ? d() : i}
90
+ ${this.counterPosition === "bottom" ? u() : i}
91
91
  ${g()}
92
92
  `, y = () => this.hasFieldset ? p`<fieldset class="pkt-inputwrapper__fieldset" aria-describedby="${n}">
93
93
  ${c()}
94
94
  </fieldset>` : p`<div class="pkt-inputwrapper__fieldset">${c()}</div>`;
95
- return p`<div class=${T(o)}>${y()}</div> `;
95
+ return p`<div class=${E(o)}>${y()}</div> `;
96
96
  }
97
97
  toggleDropdown(o) {
98
98
  this.dispatchEvent(
@@ -179,7 +179,7 @@ e([
179
179
  r({ type: String, reflect: !0 })
180
180
  ], t.prototype, "role", 2);
181
181
  e([
182
- r({ type: Boolean, reflect: !0, converter: D })
182
+ r({ type: Boolean, reflect: !0, converter: _ })
183
183
  ], t.prototype, "useWrapper", 2);
184
184
  t = e([
185
185
  m("pkt-input-wrapper")
@@ -1,4 +1,4 @@
1
- "use strict";const t=require("./element-D62wHiNU.cjs"),g=require("./pkt-slot-controller-BzddBp7z.cjs"),u=require("./ref-BfgcOXko.cjs"),b=require("./if-defined-CkVc_RJD.cjs"),x=require("./icon-__Hjt2XZ.cjs"),y=require("./class-map-CG3vIaNm.cjs"),$=require("./stringutils-CkVRq4jP.cjs"),s=require("./input-wrapper-EoSAbU-U.cjs");require("./helptext-D1fkGmfT.cjs");var I=Object.defineProperty,P=Object.getOwnPropertyDescriptor,e=(r,p,i,n)=>{for(var o=n>1?void 0:n?P(p,i):p,l=r.length-1,a;l>=0;l--)(a=r[l])&&(o=(n?a(p,i,o):a(o))||o);return n&&o&&I(p,i,o),o};const W={fromAttribute(r){return r==null?!1:r===""||r==="true"||r===!0?!0:r==="false"||r===!1?!1:!!r},toAttribute(r){return r?"true":"false"}};exports.PktInputWrapper=class extends t.PktElement{constructor(){super(),this.defaultSlot=u.e(),this.helptextSlot=u.e(),this.forId=$.uuidish(),this.label="",this.helptext=null,this.helptextDropdown=null,this.helptextDropdownButton=null,this.counter=s.specs.props.counter.default,this.counterCurrent=0,this.counterMaxLength=0,this.counterError=null,this.counterPosition="bottom",this.optionalTag=s.specs.props.optionalTag.default,this.optionalText=s.specs.props.optionalText.default,this.requiredTag=s.specs.props.requiredTag.default,this.requiredText=s.specs.props.requiredText.default,this.tagText=null,this.hasError=s.specs.props.hasError.default,this.errorMessage="",this.disabled=s.specs.props.disabled.default,this.inline=s.specs.props.inline.default,this.ariaDescribedby=void 0,this.hasFieldset=s.specs.props.hasFieldset.default,this.role="group",this.useWrapper=s.specs.props.useWrapper.default,this.slotController=new g.PktSlotController(this,this.defaultSlot,this.helptextSlot)}updated(p){super.updated(p)}render(){const p={"pkt-inputwrapper":!0,"pkt-inputwrapper--error":this.hasError,"pkt-inputwrapper--disabled":this.disabled,"pkt-inputwrapper--inline":this.inline},i="pkt-tag pkt-tag--small pkt-tag--thin-text",n=this.ariaDescribedby?this.ariaDescribedby:this.helptext?`${this.forId}-helptext`:t.E,o=()=>t.x`
1
+ "use strict";const t=require("./element-D62wHiNU.cjs"),b=require("./pkt-slot-controller-BzddBp7z.cjs"),u=require("./ref-BfgcOXko.cjs"),k=require("./if-defined-CkVc_RJD.cjs"),x=require("./icon-__Hjt2XZ.cjs"),y=require("./class-map-CG3vIaNm.cjs"),$=require("./stringutils-CkVRq4jP.cjs"),s=require("./input-wrapper-EoSAbU-U.cjs");require("./helptext-D1fkGmfT.cjs");require("./alert-ZP5-fqlt.cjs");var I=Object.defineProperty,P=Object.getOwnPropertyDescriptor,e=(r,p,i,n)=>{for(var o=n>1?void 0:n?P(p,i):p,l=r.length-1,a;l>=0;l--)(a=r[l])&&(o=(n?a(p,i,o):a(o))||o);return n&&o&&I(p,i,o),o};const W={fromAttribute(r){return r==null?!1:r===""||r==="true"||r===!0?!0:r==="false"||r===!1?!1:!!r},toAttribute(r){return r?"true":"false"}};exports.PktInputWrapper=class extends t.PktElement{constructor(){super(),this.defaultSlot=u.e(),this.helptextSlot=u.e(),this.forId=$.uuidish(),this.label="",this.helptext=null,this.helptextDropdown=null,this.helptextDropdownButton=null,this.counter=s.specs.props.counter.default,this.counterCurrent=0,this.counterMaxLength=0,this.counterError=null,this.counterPosition="bottom",this.optionalTag=s.specs.props.optionalTag.default,this.optionalText=s.specs.props.optionalText.default,this.requiredTag=s.specs.props.requiredTag.default,this.requiredText=s.specs.props.requiredText.default,this.tagText=null,this.hasError=s.specs.props.hasError.default,this.errorMessage="",this.disabled=s.specs.props.disabled.default,this.inline=s.specs.props.inline.default,this.ariaDescribedby=void 0,this.hasFieldset=s.specs.props.hasFieldset.default,this.role="group",this.useWrapper=s.specs.props.useWrapper.default,this.slotController=new b.PktSlotController(this,this.defaultSlot,this.helptextSlot)}updated(p){super.updated(p)}render(){const p={"pkt-inputwrapper":!0,"pkt-inputwrapper--error":this.hasError,"pkt-inputwrapper--disabled":this.disabled,"pkt-inputwrapper--inline":this.inline},i="pkt-tag pkt-tag--small pkt-tag--thin-text",n=this.ariaDescribedby?this.ariaDescribedby:this.helptext?`${this.forId}-helptext`:t.E,o=()=>t.x`
2
2
  ${this.tagText?t.x`<span class=${i+" pkt-tag--gray"}>${this.tagText}</span>`:t.E}
3
3
  ${this.optionalTag?t.x`<span class=${i+" pkt-tag--blue-light"}>${this.optionalText}</span>`:t.E}
4
4
  ${this.requiredTag?t.x`<span class=${i+" pkt-tag--beige"}>${this.requiredText}</span>`:t.E}
@@ -24,34 +24,33 @@
24
24
  ${this.label}
25
25
  </label>`,a=()=>t.x`
26
26
  <pkt-helptext
27
- class="${b.o(this.useWrapper?void 0:"pkt-hide")}"
27
+ class="${k.o(this.useWrapper?void 0:"pkt-hide")}"
28
28
  .forId=${this.forId}
29
29
  .helptext=${this.helptext}
30
30
  .helptextDropdown=${this.helptextDropdown}
31
31
  .helptextDropdownButton=${this.helptextDropdownButton||s.specs.props.helptextDropdownButton.default}
32
- @toggleHelpText=${f=>{this.toggleDropdown(f)}}
32
+ @toggleHelpText=${g=>{this.toggleDropdown(g)}}
33
33
  ${u.n(this.helptextSlot)}
34
34
  name="helptext"
35
35
  ></pkt-helptext>
36
36
  `,h=()=>this.counter?t.x`<div class="pkt-input__counter" aria-live="polite" aria-atomic="true">
37
37
  ${this.counterError?this.counterError:t.E} ${this.counterCurrent||0}
38
38
  ${this.counterMaxLength?`/${this.counterMaxLength}`:t.E}
39
- </div>`:t.E,c=()=>this.hasError&&this.errorMessage?t.x`<div
40
- role="alert"
41
- class="pkt-alert pkt-alert--error pkt-alert--compact"
39
+ </div>`:t.E,c=()=>this.hasError&&this.errorMessage?t.x`<pkt-alert
40
+ skin="error"
41
+ compact
42
+ id=${`${this.forId}-error`}
42
43
  aria-live="assertive"
43
44
  aria-atomic="true"
44
- id="${this.forId}-error"
45
45
  >
46
- <pkt-icon name="alert-error" class="pkt-alert__icon"></pkt-icon>
47
- <div class="pkt-alert__text">${x.o(this.errorMessage)}</div>
48
- </div>`:t.E,d=()=>t.x`
46
+ ${x.o(this.errorMessage)}
47
+ </pkt-alert>`:t.E,d=()=>t.x`
49
48
  ${l()}
50
49
  ${a()}
51
50
  ${this.counterPosition==="top"?h():t.E}
52
51
  <div class="pkt-contents" ${u.n(this.defaultSlot)}></div>
53
52
  ${this.counterPosition==="bottom"?h():t.E}
54
53
  ${c()}
55
- `,k=()=>this.hasFieldset?t.x`<fieldset class="pkt-inputwrapper__fieldset" aria-describedby="${n}">
54
+ `,f=()=>this.hasFieldset?t.x`<fieldset class="pkt-inputwrapper__fieldset" aria-describedby="${n}">
56
55
  ${d()}
57
- </fieldset>`:t.x`<div class="pkt-inputwrapper__fieldset">${d()}</div>`;return t.x`<div class=${y.e(p)}>${k()}</div> `}toggleDropdown(p){this.dispatchEvent(new CustomEvent("toggleHelpText",{bubbles:!1,detail:{isOpen:p.detail.isOpen}}))}handleLabelClick(p){this.disabled&&(p.preventDefault(),p.stopImmediatePropagation()),this.dispatchEvent(new CustomEvent("labelClick",{bubbles:!0,composed:!0,detail:"label clicked"}))}};e([t.n({type:String})],exports.PktInputWrapper.prototype,"forId",2);e([t.n({type:String})],exports.PktInputWrapper.prototype,"label",2);e([t.n({type:String})],exports.PktInputWrapper.prototype,"helptext",2);e([t.n({type:String})],exports.PktInputWrapper.prototype,"helptextDropdown",2);e([t.n({type:String})],exports.PktInputWrapper.prototype,"helptextDropdownButton",2);e([t.n({type:Boolean})],exports.PktInputWrapper.prototype,"counter",2);e([t.n({type:Number})],exports.PktInputWrapper.prototype,"counterCurrent",2);e([t.n({type:Number})],exports.PktInputWrapper.prototype,"counterMaxLength",2);e([t.n({type:String})],exports.PktInputWrapper.prototype,"counterError",2);e([t.n({type:String,reflect:!1})],exports.PktInputWrapper.prototype,"counterPosition",2);e([t.n({type:Boolean})],exports.PktInputWrapper.prototype,"optionalTag",2);e([t.n({type:String})],exports.PktInputWrapper.prototype,"optionalText",2);e([t.n({type:Boolean})],exports.PktInputWrapper.prototype,"requiredTag",2);e([t.n({type:String})],exports.PktInputWrapper.prototype,"requiredText",2);e([t.n({type:String})],exports.PktInputWrapper.prototype,"tagText",2);e([t.n({type:Boolean})],exports.PktInputWrapper.prototype,"hasError",2);e([t.n({type:String})],exports.PktInputWrapper.prototype,"errorMessage",2);e([t.n({type:Boolean})],exports.PktInputWrapper.prototype,"disabled",2);e([t.n({type:Boolean})],exports.PktInputWrapper.prototype,"inline",2);e([t.n({type:String})],exports.PktInputWrapper.prototype,"ariaDescribedby",2);e([t.n({type:Boolean})],exports.PktInputWrapper.prototype,"hasFieldset",2);e([t.n({type:String,reflect:!0})],exports.PktInputWrapper.prototype,"role",2);e([t.n({type:Boolean,reflect:!0,converter:W})],exports.PktInputWrapper.prototype,"useWrapper",2);exports.PktInputWrapper=e([t.t("pkt-input-wrapper")],exports.PktInputWrapper);
56
+ </fieldset>`:t.x`<div class="pkt-inputwrapper__fieldset">${d()}</div>`;return t.x`<div class=${y.e(p)}>${f()}</div> `}toggleDropdown(p){this.dispatchEvent(new CustomEvent("toggleHelpText",{bubbles:!1,detail:{isOpen:p.detail.isOpen}}))}handleLabelClick(p){this.disabled&&(p.preventDefault(),p.stopImmediatePropagation()),this.dispatchEvent(new CustomEvent("labelClick",{bubbles:!0,composed:!0,detail:"label clicked"}))}};e([t.n({type:String})],exports.PktInputWrapper.prototype,"forId",2);e([t.n({type:String})],exports.PktInputWrapper.prototype,"label",2);e([t.n({type:String})],exports.PktInputWrapper.prototype,"helptext",2);e([t.n({type:String})],exports.PktInputWrapper.prototype,"helptextDropdown",2);e([t.n({type:String})],exports.PktInputWrapper.prototype,"helptextDropdownButton",2);e([t.n({type:Boolean})],exports.PktInputWrapper.prototype,"counter",2);e([t.n({type:Number})],exports.PktInputWrapper.prototype,"counterCurrent",2);e([t.n({type:Number})],exports.PktInputWrapper.prototype,"counterMaxLength",2);e([t.n({type:String})],exports.PktInputWrapper.prototype,"counterError",2);e([t.n({type:String,reflect:!1})],exports.PktInputWrapper.prototype,"counterPosition",2);e([t.n({type:Boolean})],exports.PktInputWrapper.prototype,"optionalTag",2);e([t.n({type:String})],exports.PktInputWrapper.prototype,"optionalText",2);e([t.n({type:Boolean})],exports.PktInputWrapper.prototype,"requiredTag",2);e([t.n({type:String})],exports.PktInputWrapper.prototype,"requiredText",2);e([t.n({type:String})],exports.PktInputWrapper.prototype,"tagText",2);e([t.n({type:Boolean})],exports.PktInputWrapper.prototype,"hasError",2);e([t.n({type:String})],exports.PktInputWrapper.prototype,"errorMessage",2);e([t.n({type:Boolean})],exports.PktInputWrapper.prototype,"disabled",2);e([t.n({type:Boolean})],exports.PktInputWrapper.prototype,"inline",2);e([t.n({type:String})],exports.PktInputWrapper.prototype,"ariaDescribedby",2);e([t.n({type:Boolean})],exports.PktInputWrapper.prototype,"hasFieldset",2);e([t.n({type:String,reflect:!0})],exports.PktInputWrapper.prototype,"role",2);e([t.n({type:Boolean,reflect:!0,converter:W})],exports.PktInputWrapper.prototype,"useWrapper",2);exports.PktInputWrapper=e([t.t("pkt-input-wrapper")],exports.PktInputWrapper);
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./combobox-cK_746ek.cjs"),o=e.PktCombobox;Object.defineProperty(exports,"PktCombobox",{enumerable:!0,get:()=>e.PktCombobox});exports.default=o;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./combobox-BFOjlFIj.cjs"),o=e.PktCombobox;Object.defineProperty(exports,"PktCombobox",{enumerable:!0,get:()=>e.PktCombobox});exports.default=o;
@@ -1,4 +1,4 @@
1
- import { P as o } from "./combobox-DxNotM0u.js";
1
+ import { P as o } from "./combobox-DaiEdUKx.js";
2
2
  const b = o;
3
3
  export {
4
4
  o as PktCombobox,
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./datepicker-n49TAIAt.cjs"),t=e.PktDatepicker;Object.defineProperty(exports,"PktDatepicker",{enumerable:!0,get:()=>e.PktDatepicker});exports.default=t;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./datepicker-C244h82t.cjs"),t=e.PktDatepicker;Object.defineProperty(exports,"PktDatepicker",{enumerable:!0,get:()=>e.PktDatepicker});exports.default=t;
@@ -1,4 +1,4 @@
1
- import { a as t } from "./datepicker-BEMo4X9s.js";
1
+ import { a as t } from "./datepicker-DwOkktaP.js";
2
2
  const e = t;
3
3
  export {
4
4
  t as PktDatepicker,
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("./alert-ZP5-fqlt.cjs"),l=require("./accordionitem-BOmnm80g.cjs"),b=require("./backlink-BT7DO6rV.cjs"),m=require("./button-BfqxLnMT.cjs"),P=require("./calendar-DH-fCGyW.cjs"),g=require("./card-B9RPShvV.cjs"),h=require("./combobox-cK_746ek.cjs"),f=require("./consent-DFrsiYGQ.cjs"),y=require("./checkbox-CH8xeK-0.cjs"),t=require("./element-D62wHiNU.cjs"),O=require("./pkt-slot-controller-BzddBp7z.cjs"),s=require("./ref-BfgcOXko.cjs"),j=require("./class-map-CG3vIaNm.cjs"),k=require("./datepicker-n49TAIAt.cjs"),q=require("./helptext-D1fkGmfT.cjs"),x=require("./heading-H_FWjo2k.cjs"),C=require("./icon-__Hjt2XZ.cjs"),v=require("./input-wrapper-C9rZEgju.cjs"),S=require("./link-CyiVlb-7.cjs"),$=require("./linkcard-fH9uydjS.cjs"),L=require("./loader-C-3l7kb9.cjs"),T=require("./messagebox---xPIAwR.cjs"),_=require("./modal-IjDRQfX1.cjs"),A=require("./progressbar-DJzEC7cx.cjs"),p=require("./radiobutton-DEboKECm.cjs"),B=require("./tag-BKq07hGI.cjs"),I=require("./textarea-CXu8UUsY.cjs"),D=require("./textinput-C6wccDhZ.cjs"),M=require("./select-Cf1RWSsI.cjs");var R=Object.defineProperty,H=Object.getOwnPropertyDescriptor,o=(a,e,r,i)=>{for(var n=i>1?void 0:i?H(e,r):e,u=a.length-1,c;u>=0;u--)(c=a[u])&&(n=(i?c(e,r,n):c(n))||n);return i&&n&&R(e,r,n),n};exports.PktComponent=class extends t.PktElement{constructor(){super(),this.string="",this.strings=[],this.darkmode=!1,this._list=[],this.defaultSlot=s.e(),this.namedSlot=s.e(),this.slotController=new O.PktSlotController(this,this.defaultSlot,this.namedSlot)}connectedCallback(){this.strings.length&&this.strings.forEach(e=>{this._list.push(e.toUpperCase())}),super.connectedCallback()}render(){const e={"pkt-component":!0,"pkt-component--has-list":this.strings.length>0,"pkt-darkmode":this.darkmode};return t.x`
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("./alert-ZP5-fqlt.cjs"),l=require("./accordionitem-BOmnm80g.cjs"),b=require("./backlink-BT7DO6rV.cjs"),m=require("./button-BfqxLnMT.cjs"),P=require("./calendar-DH-fCGyW.cjs"),g=require("./card-B9RPShvV.cjs"),h=require("./combobox-BFOjlFIj.cjs"),f=require("./consent-DFrsiYGQ.cjs"),y=require("./checkbox-CH8xeK-0.cjs"),t=require("./element-D62wHiNU.cjs"),O=require("./pkt-slot-controller-BzddBp7z.cjs"),s=require("./ref-BfgcOXko.cjs"),j=require("./class-map-CG3vIaNm.cjs"),k=require("./datepicker-C244h82t.cjs"),q=require("./helptext-D1fkGmfT.cjs"),x=require("./heading-H_FWjo2k.cjs"),C=require("./icon-__Hjt2XZ.cjs"),v=require("./input-wrapper-DVjNwf8-.cjs"),S=require("./link-CyiVlb-7.cjs"),$=require("./linkcard-fH9uydjS.cjs"),L=require("./loader-C-3l7kb9.cjs"),T=require("./messagebox---xPIAwR.cjs"),_=require("./modal-IjDRQfX1.cjs"),A=require("./progressbar-DJzEC7cx.cjs"),p=require("./radiobutton-DEboKECm.cjs"),B=require("./tag-BKq07hGI.cjs"),I=require("./textarea-BS1tgktz.cjs"),D=require("./textinput-CCK8ti2y.cjs"),M=require("./select-DynzsPo0.cjs");var R=Object.defineProperty,H=Object.getOwnPropertyDescriptor,o=(a,e,r,i)=>{for(var n=i>1?void 0:i?H(e,r):e,u=a.length-1,c;u>=0;u--)(c=a[u])&&(n=(i?c(e,r,n):c(n))||n);return i&&n&&R(e,r,n),n};exports.PktComponent=class extends t.PktElement{constructor(){super(),this.string="",this.strings=[],this.darkmode=!1,this._list=[],this.defaultSlot=s.e(),this.namedSlot=s.e(),this.slotController=new O.PktSlotController(this,this.defaultSlot,this.namedSlot)}connectedCallback(){this.strings.length&&this.strings.forEach(e=>{this._list.push(e.toUpperCase())}),super.connectedCallback()}render(){const e={"pkt-component":!0,"pkt-component--has-list":this.strings.length>0,"pkt-darkmode":this.darkmode};return t.x`
2
2
  <div class="${j.e(e)}">
3
3
  <h1 class="pkt-txt-28">${this.string}</h1>
4
4
 
package/dist/pkt-index.js CHANGED
@@ -5,18 +5,18 @@ import { P as O } from "./button-x6Xw-5w0.js";
5
5
  import { c as d } from "./calendar-CodWwTHM.js";
6
6
  import { P as j } from "./calendar-CodWwTHM.js";
7
7
  import { P as G } from "./card-en2KhOPO.js";
8
- import { P as K } from "./combobox-DxNotM0u.js";
8
+ import { P as K } from "./combobox-DaiEdUKx.js";
9
9
  import { P as U } from "./consent-CXp0bLvg.js";
10
10
  import { P as q } from "./checkbox-DSAcMC-D.js";
11
11
  import { P as f, t as h, x as P, n, a as c } from "./element-DJZPsA_J.js";
12
12
  import { P as x } from "./pkt-slot-controller-BPGj-LC5.js";
13
13
  import { e as m, n as k } from "./ref-BCGCor-j.js";
14
14
  import { e as u } from "./class-map-Dw6Wrxwi.js";
15
- import { P as F, a as J } from "./datepicker-BEMo4X9s.js";
15
+ import { P as F, a as J } from "./datepicker-DwOkktaP.js";
16
16
  import { P as V } from "./helptext-8ykxyegi.js";
17
17
  import { P as Y } from "./heading-DQ0R34j4.js";
18
18
  import { P as tt } from "./icon-B1-mkmwB.js";
19
- import { P as rt } from "./input-wrapper-D_JdEqcO.js";
19
+ import { P as rt } from "./input-wrapper-CQzXG44g.js";
20
20
  import { P as st } from "./link-DSSJYrtn.js";
21
21
  import { P as nt } from "./linkcard-g8JtooPU.js";
22
22
  import { P as pt } from "./loader-Bzf1sPSg.js";
@@ -25,9 +25,9 @@ import { P as kt } from "./modal-pohCsr_x.js";
25
25
  import { P as ft } from "./progressbar-DjsupQ7Y.js";
26
26
  import { P as ct, P as xt } from "./radiobutton-Bz_qApF3.js";
27
27
  import { P as gt } from "./tag-NZ5oeGfw.js";
28
- import { P as St } from "./textarea-C0vTWTov.js";
29
- import { P as Ct } from "./textinput-CmZrfH4A.js";
30
- import { P as yt } from "./select-D7OQaUrQ.js";
28
+ import { P as St } from "./textarea-COG1CH_s.js";
29
+ import { P as Ct } from "./textinput-CTOtfcTR.js";
30
+ import { P as yt } from "./select-DKkoxmgj.js";
31
31
  var g = Object.defineProperty, v = Object.getOwnPropertyDescriptor, s = (t, e, i, a) => {
32
32
  for (var r = a > 1 ? void 0 : a ? v(e, i) : e, p = t.length - 1, l; p >= 0; p--)
33
33
  (l = t[p]) && (r = (a ? l(e, i, r) : l(r)) || r);
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./input-wrapper-C9rZEgju.cjs"),t=e.PktInputWrapper;Object.defineProperty(exports,"PktInputWrapper",{enumerable:!0,get:()=>e.PktInputWrapper});exports.default=t;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./input-wrapper-DVjNwf8-.cjs"),t=e.PktInputWrapper;Object.defineProperty(exports,"PktInputWrapper",{enumerable:!0,get:()=>e.PktInputWrapper});exports.default=t;
@@ -1,4 +1,4 @@
1
- import { P as p } from "./input-wrapper-D_JdEqcO.js";
1
+ import { P as p } from "./input-wrapper-CQzXG44g.js";
2
2
  const r = p;
3
3
  export {
4
4
  p as PktInputWrapper,
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./select-Cf1RWSsI.cjs"),t=e.PktSelect;Object.defineProperty(exports,"PktSelect",{enumerable:!0,get:()=>e.PktSelect});exports.default=t;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./select-DynzsPo0.cjs"),t=e.PktSelect;Object.defineProperty(exports,"PktSelect",{enumerable:!0,get:()=>e.PktSelect});exports.default=t;
@@ -1,4 +1,4 @@
1
- import { P as t } from "./select-D7OQaUrQ.js";
1
+ import { P as t } from "./select-DKkoxmgj.js";
2
2
  const a = t;
3
3
  export {
4
4
  t as PktSelect,
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./textarea-CXu8UUsY.cjs"),t=e.PktTextarea;Object.defineProperty(exports,"PktTextarea",{enumerable:!0,get:()=>e.PktTextarea});exports.default=t;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./textarea-BS1tgktz.cjs"),t=e.PktTextarea;Object.defineProperty(exports,"PktTextarea",{enumerable:!0,get:()=>e.PktTextarea});exports.default=t;
@@ -1,4 +1,4 @@
1
- import { P as a } from "./textarea-C0vTWTov.js";
1
+ import { P as a } from "./textarea-COG1CH_s.js";
2
2
  const e = a;
3
3
  export {
4
4
  a as PktTextarea,
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./textinput-C6wccDhZ.cjs"),t=e.PktTextinput;Object.defineProperty(exports,"PktTextinput",{enumerable:!0,get:()=>e.PktTextinput});exports.default=t;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./textinput-CCK8ti2y.cjs"),t=e.PktTextinput;Object.defineProperty(exports,"PktTextinput",{enumerable:!0,get:()=>e.PktTextinput});exports.default=t;
@@ -1,4 +1,4 @@
1
- import { P as t } from "./textinput-CmZrfH4A.js";
1
+ import { P as t } from "./textinput-CTOtfcTR.js";
2
2
  const p = t;
3
3
  export {
4
4
  t as PktTextinput,
@@ -5,7 +5,7 @@ import { o as l } from "./if-defined-D3lgJqT7.js";
5
5
  import { P as _ } from "./input-element-DQOVrqUZ.js";
6
6
  import { P as x } from "./pkt-options-controller-CZO1nxZ8.js";
7
7
  import { P as b } from "./pkt-slot-controller-BPGj-LC5.js";
8
- import "./input-wrapper-D_JdEqcO.js";
8
+ import "./input-wrapper-CQzXG44g.js";
9
9
  var $ = Object.defineProperty, m = Object.getOwnPropertyDescriptor, a = (t, e, s, i) => {
10
10
  for (var o = i > 1 ? void 0 : i ? m(e, s) : e, n = t.length - 1, p; n >= 0; n--)
11
11
  (p = t[n]) && (o = (i ? p(e, s, o) : p(o)) || o);
@@ -1,4 +1,4 @@
1
- "use strict";const h=require("./element-D62wHiNU.cjs"),u=require("./state-BkE_Rxl7.cjs"),r=require("./ref-BfgcOXko.cjs"),o=require("./if-defined-CkVc_RJD.cjs"),d=require("./input-element-Y8sdrq9C.cjs"),c=require("./pkt-options-controller-CiuBG6Lt.cjs"),v=require("./pkt-slot-controller-BzddBp7z.cjs");require("./input-wrapper-C9rZEgju.cjs");var f=Object.defineProperty,_=Object.getOwnPropertyDescriptor,a=(p,t,e,s)=>{for(var i=s>1?void 0:s?_(t,e):t,l=p.length-1,n;l>=0;l--)(n=p[l])&&(i=(s?n(t,e,i):n(i))||i);return s&&i&&f(t,e,i),i};exports.PktSelect=class extends d.PktInputElement{constructor(){super(),this.inputRef=r.e(),this.helptextSlot=r.e(),this._optionsProp=[],this.value="",this._options=[],this.selectedIndex=-1,this.selectedOptions=void 0,this.optionsController=new c.PktOptionsSlotController(this),this.slotController=new v.PktSlotController(this,this.helptextSlot),this.slotController.skipOptions=!0}get options(){return this._options.map(t=>({...t,selected:t.value===this.value}))}set options(t){this._optionsProp=t,this.requestUpdate("_optionsProp",this._options)}connectedCallback(){super.connectedCallback();const t=this._optionsProp.length>0,e=this.optionsController.nodes.length&&this.optionsController.nodes.length>0;!t&&e?this.optionsController.nodes.forEach(s=>{const i={value:s.hasAttribute("value")?s.getAttribute("value")??"":s.textContent??"",label:s.textContent||s.getAttribute("value")||"",disabled:s.hasAttribute("disabled"),selected:s.hasAttribute("selected"),hidden:s.hasAttribute("data-hidden")};s.getAttribute("selected")&&!this.value&&(this.value=i.value),this._options.push(i)}):(this._options=this._optionsProp,this._options.forEach(s=>{s.selected&&!this.value&&(this.value=s.value)}))}add(t,e){const s={value:t.value||t.text,label:t.text||t.value,selected:t.selected,disabled:t.disabled};if(e===void 0)this._options.push(s);else if(typeof e=="number")this._options.splice(e,0,s);else{const i=e.value||e.text,l=this._options.findIndex(n=>n.value===i);l>=0?this._options.splice(l,0,s):this._options.push(s)}t.selected&&(this.value=t.value||t.text,this.selectedIndex=this._options.findIndex(i=>i.value===this.value)),this.requestUpdate()}remove(t){var e;typeof t=="number"&&(this.selectedIndex===t&&(this.value=((e=this._options[0])==null?void 0:e.value)||""),this._options.splice(t,1),this.requestUpdate())}item(t){var e;return(e=this.inputRef.value)==null?void 0:e.item(t)}namedItem(t){var e;return(e=this.inputRef.value)==null?void 0:e.namedItem(t)}showPicker(){this.inputRef.value&&"showPicker"in this.inputRef.value&&this.inputRef.value.showPicker()}attributeChangedCallback(t,e,s){var i,l;t==="options"&&(this._options=s?JSON.parse(s):[]),t==="value"&&this.value!==e&&(this.selectedIndex=this.touched?this.returnNumberOrNull((i=this.inputRef.value)==null?void 0:i.selectedIndex):this._options.findIndex(n=>n.value===s),this.selectedOptions=(l=this.inputRef.value)==null?void 0:l.selectedOptions,this.valueChanged(s,e)),super.attributeChangedCallback(t,e,s)}update(t){var e,s;super.update(t),t.has("_optionsProp")&&this._optionsProp.length>0&&(this._options=this._optionsProp,this.requestUpdate("_options"),!this.value&&this._options.length>0&&(this.value=this._options[0].value,this.selectedIndex=0)),t.has("value")&&this.value!==t.get("value")&&(this.selectedIndex=this.touched?this.returnNumberOrNull((e=this.inputRef.value)==null?void 0:e.selectedIndex):this._options.findIndex(i=>i.value===this.value),this.selectedOptions=(s=this.inputRef.value)==null?void 0:s.selectedOptions,this.valueChanged(this.value,t.get("value"))),t.has("id")&&!this.name&&this.id&&(this.name=this.id)}firstUpdated(t){var e;super.firstUpdated(t),this._optionsProp.length&&(this._options=this._optionsProp),!this.value&&this._options.length>0?(this.value=this._options[0].value,this.selectedIndex=0):this.selectedIndex=this._options.findIndex(s=>s.value===this.value),this.selectedOptions=(e=this.inputRef.value)==null?void 0:e.selectedOptions}render(){const t=`pkt-input ${this.fullwidth?"pkt-input--fullwidth":""}`;return h.x`
1
+ "use strict";const h=require("./element-D62wHiNU.cjs"),u=require("./state-BkE_Rxl7.cjs"),r=require("./ref-BfgcOXko.cjs"),o=require("./if-defined-CkVc_RJD.cjs"),d=require("./input-element-Y8sdrq9C.cjs"),c=require("./pkt-options-controller-CiuBG6Lt.cjs"),v=require("./pkt-slot-controller-BzddBp7z.cjs");require("./input-wrapper-DVjNwf8-.cjs");var f=Object.defineProperty,_=Object.getOwnPropertyDescriptor,a=(p,t,e,s)=>{for(var i=s>1?void 0:s?_(t,e):t,l=p.length-1,n;l>=0;l--)(n=p[l])&&(i=(s?n(t,e,i):n(i))||i);return s&&i&&f(t,e,i),i};exports.PktSelect=class extends d.PktInputElement{constructor(){super(),this.inputRef=r.e(),this.helptextSlot=r.e(),this._optionsProp=[],this.value="",this._options=[],this.selectedIndex=-1,this.selectedOptions=void 0,this.optionsController=new c.PktOptionsSlotController(this),this.slotController=new v.PktSlotController(this,this.helptextSlot),this.slotController.skipOptions=!0}get options(){return this._options.map(t=>({...t,selected:t.value===this.value}))}set options(t){this._optionsProp=t,this.requestUpdate("_optionsProp",this._options)}connectedCallback(){super.connectedCallback();const t=this._optionsProp.length>0,e=this.optionsController.nodes.length&&this.optionsController.nodes.length>0;!t&&e?this.optionsController.nodes.forEach(s=>{const i={value:s.hasAttribute("value")?s.getAttribute("value")??"":s.textContent??"",label:s.textContent||s.getAttribute("value")||"",disabled:s.hasAttribute("disabled"),selected:s.hasAttribute("selected"),hidden:s.hasAttribute("data-hidden")};s.getAttribute("selected")&&!this.value&&(this.value=i.value),this._options.push(i)}):(this._options=this._optionsProp,this._options.forEach(s=>{s.selected&&!this.value&&(this.value=s.value)}))}add(t,e){const s={value:t.value||t.text,label:t.text||t.value,selected:t.selected,disabled:t.disabled};if(e===void 0)this._options.push(s);else if(typeof e=="number")this._options.splice(e,0,s);else{const i=e.value||e.text,l=this._options.findIndex(n=>n.value===i);l>=0?this._options.splice(l,0,s):this._options.push(s)}t.selected&&(this.value=t.value||t.text,this.selectedIndex=this._options.findIndex(i=>i.value===this.value)),this.requestUpdate()}remove(t){var e;typeof t=="number"&&(this.selectedIndex===t&&(this.value=((e=this._options[0])==null?void 0:e.value)||""),this._options.splice(t,1),this.requestUpdate())}item(t){var e;return(e=this.inputRef.value)==null?void 0:e.item(t)}namedItem(t){var e;return(e=this.inputRef.value)==null?void 0:e.namedItem(t)}showPicker(){this.inputRef.value&&"showPicker"in this.inputRef.value&&this.inputRef.value.showPicker()}attributeChangedCallback(t,e,s){var i,l;t==="options"&&(this._options=s?JSON.parse(s):[]),t==="value"&&this.value!==e&&(this.selectedIndex=this.touched?this.returnNumberOrNull((i=this.inputRef.value)==null?void 0:i.selectedIndex):this._options.findIndex(n=>n.value===s),this.selectedOptions=(l=this.inputRef.value)==null?void 0:l.selectedOptions,this.valueChanged(s,e)),super.attributeChangedCallback(t,e,s)}update(t){var e,s;super.update(t),t.has("_optionsProp")&&this._optionsProp.length>0&&(this._options=this._optionsProp,this.requestUpdate("_options"),!this.value&&this._options.length>0&&(this.value=this._options[0].value,this.selectedIndex=0)),t.has("value")&&this.value!==t.get("value")&&(this.selectedIndex=this.touched?this.returnNumberOrNull((e=this.inputRef.value)==null?void 0:e.selectedIndex):this._options.findIndex(i=>i.value===this.value),this.selectedOptions=(s=this.inputRef.value)==null?void 0:s.selectedOptions,this.valueChanged(this.value,t.get("value"))),t.has("id")&&!this.name&&this.id&&(this.name=this.id)}firstUpdated(t){var e;super.firstUpdated(t),this._optionsProp.length&&(this._options=this._optionsProp),!this.value&&this._options.length>0?(this.value=this._options[0].value,this.selectedIndex=0):this.selectedIndex=this._options.findIndex(s=>s.value===this.value),this.selectedOptions=(e=this.inputRef.value)==null?void 0:e.selectedOptions}render(){const t=`pkt-input ${this.fullwidth?"pkt-input--fullwidth":""}`;return h.x`
2
2
  <pkt-input-wrapper
3
3
  ?counter=${this.counter}
4
4
  ?disabled=${this.disabled}
@@ -1,4 +1,4 @@
1
- "use strict";const s=require("./element-D62wHiNU.cjs"),p=require("./if-defined-CkVc_RJD.cjs"),c=require("./state-BkE_Rxl7.cjs"),l=require("./ref-BfgcOXko.cjs"),$=require("./class-map-CG3vIaNm.cjs"),a=require("./directive-C7oCP5Bh.cjs"),d=require("./directive-helpers-_qHew-gi.cjs"),x=require("./input-element-Y8sdrq9C.cjs"),T=require("./pkt-slot-controller-BzddBp7z.cjs");require("./input-wrapper-C9rZEgju.cjs");require("./icon-__Hjt2XZ.cjs");/**
1
+ "use strict";const s=require("./element-D62wHiNU.cjs"),p=require("./if-defined-CkVc_RJD.cjs"),c=require("./state-BkE_Rxl7.cjs"),l=require("./ref-BfgcOXko.cjs"),$=require("./class-map-CG3vIaNm.cjs"),a=require("./directive-C7oCP5Bh.cjs"),d=require("./directive-helpers-_qHew-gi.cjs"),x=require("./input-element-Y8sdrq9C.cjs"),T=require("./pkt-slot-controller-BzddBp7z.cjs");require("./input-wrapper-DVjNwf8-.cjs");require("./icon-__Hjt2XZ.cjs");/**
2
2
  * @license
3
3
  * Copyright 2020 Google LLC
4
4
  * SPDX-License-Identifier: BSD-3-Clause
@@ -7,7 +7,7 @@ import { e as T, i as b, t as a } from "./directive-oAbCiebi.js";
7
7
  import { f as y, m as w } from "./directive-helpers-cAOIHg9K.js";
8
8
  import { P as C } from "./input-element-DQOVrqUZ.js";
9
9
  import { P as E } from "./pkt-slot-controller-BPGj-LC5.js";
10
- import "./input-wrapper-D_JdEqcO.js";
10
+ import "./input-wrapper-CQzXG44g.js";
11
11
  import "./icon-B1-mkmwB.js";
12
12
  /**
13
13
  * @license
@@ -1,4 +1,4 @@
1
- "use strict";const t=require("./element-D62wHiNU.cjs"),a=require("./if-defined-CkVc_RJD.cjs"),l=require("./state-BkE_Rxl7.cjs"),h=require("./ref-BfgcOXko.cjs"),c=require("./class-map-CG3vIaNm.cjs"),d=require("./input-element-Y8sdrq9C.cjs"),x=require("./pkt-slot-controller-BzddBp7z.cjs");require("./input-wrapper-C9rZEgju.cjs");require("./icon-__Hjt2XZ.cjs");var $=Object.defineProperty,f=Object.getOwnPropertyDescriptor,r=(u,i,s,n)=>{for(var e=n>1?void 0:n?f(i,s):i,o=u.length-1,p;o>=0;o--)(p=u[o])&&(e=(n?p(i,s,e):p(e))||e);return n&&e&&$(i,s,e),e};exports.PktTextinput=class extends d.PktInputElement{constructor(){super(),this.inputRef=h.e(),this.helptextSlot=h.e(),this.value="",this.type="text",this.size=null,this.autocomplete=null,this.iconNameRight=null,this.prefix=null,this.suffix=null,this.omitSearchIcon=!1,this.counterCurrent=0,this.slotController=new x.PktSlotController(this,this.helptextSlot)}attributeChangedCallback(i,s,n){i==="value"&&this.value!==s&&(this.counterCurrent=n?n.length:0,this.valueChanged(n,s)),super.attributeChangedCallback(i,s,n)}updated(i){var s;super.updated(i),i.has("value")&&(this.counterCurrent=((s=this.value)==null?void 0:s.length)||0,this.valueChanged(this.value,i.get("value"))),i.has("id")&&!this.name&&this.id&&(this.name=this.id)}render(){const i=this.type==="search"&&!this.iconNameRight&&!this.omitSearchIcon,s=c.e({"pkt-input":!0,"pkt-input--fullwidth":this.fullwidth,"pkt-input--counter-error":this.counter&&this.counterMaxLength&&this.value.length&&this.value.length>this.counterMaxLength}),n=this.ariaLabelledby||`${this.id}-input-label`;return t.x`
1
+ "use strict";const t=require("./element-D62wHiNU.cjs"),a=require("./if-defined-CkVc_RJD.cjs"),l=require("./state-BkE_Rxl7.cjs"),h=require("./ref-BfgcOXko.cjs"),c=require("./class-map-CG3vIaNm.cjs"),d=require("./input-element-Y8sdrq9C.cjs"),x=require("./pkt-slot-controller-BzddBp7z.cjs");require("./input-wrapper-DVjNwf8-.cjs");require("./icon-__Hjt2XZ.cjs");var $=Object.defineProperty,f=Object.getOwnPropertyDescriptor,r=(u,i,s,n)=>{for(var e=n>1?void 0:n?f(i,s):i,o=u.length-1,p;o>=0;o--)(p=u[o])&&(e=(n?p(i,s,e):p(e))||e);return n&&e&&$(i,s,e),e};exports.PktTextinput=class extends d.PktInputElement{constructor(){super(),this.inputRef=h.e(),this.helptextSlot=h.e(),this.value="",this.type="text",this.size=null,this.autocomplete=null,this.iconNameRight=null,this.prefix=null,this.suffix=null,this.omitSearchIcon=!1,this.counterCurrent=0,this.slotController=new x.PktSlotController(this,this.helptextSlot)}attributeChangedCallback(i,s,n){i==="value"&&this.value!==s&&(this.counterCurrent=n?n.length:0,this.valueChanged(n,s)),super.attributeChangedCallback(i,s,n)}updated(i){var s;super.updated(i),i.has("value")&&(this.counterCurrent=((s=this.value)==null?void 0:s.length)||0,this.valueChanged(this.value,i.get("value"))),i.has("id")&&!this.name&&this.id&&(this.name=this.id)}render(){const i=this.type==="search"&&!this.iconNameRight&&!this.omitSearchIcon,s=c.e({"pkt-input":!0,"pkt-input--fullwidth":this.fullwidth,"pkt-input--counter-error":this.counter&&this.counterMaxLength&&this.value.length&&this.value.length>this.counterMaxLength}),n=this.ariaLabelledby||`${this.id}-input-label`;return t.x`
2
2
  <pkt-input-wrapper
3
3
  label="${this.label}"
4
4
  ?counter=${this.counter}
@@ -5,7 +5,7 @@ import { e as d, n as m } from "./ref-BCGCor-j.js";
5
5
  import { e as g } from "./class-map-Dw6Wrxwi.js";
6
6
  import { P as x } from "./input-element-DQOVrqUZ.js";
7
7
  import { P as v } from "./pkt-slot-controller-BPGj-LC5.js";
8
- import "./input-wrapper-D_JdEqcO.js";
8
+ import "./input-wrapper-CQzXG44g.js";
9
9
  import "./icon-B1-mkmwB.js";
10
10
  var y = Object.defineProperty, b = Object.getOwnPropertyDescriptor, o = (i, e, r, t) => {
11
11
  for (var n = t > 1 ? void 0 : t ? b(e, r) : e, l = i.length - 1, c; l >= 0; l--)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oslokommune/punkt-elements",
3
- "version": "13.6.10",
3
+ "version": "13.6.12",
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",
@@ -72,5 +72,5 @@
72
72
  "url": "https://github.com/oslokommune/punkt/issues"
73
73
  },
74
74
  "license": "MIT",
75
- "gitHead": "0eaf5483d55590a0fa341a79c1f30d51d15c5741"
75
+ "gitHead": "0a373416dbf5e0b210cf078b3a29587bba6b6975"
76
76
  }
@@ -4,9 +4,25 @@ import { PktInputElement } from '@/base-elements/input-element'
4
4
  import { Ref, createRef, ref } from 'lit/directives/ref.js'
5
5
  import { html, nothing, PropertyValues } from 'lit'
6
6
  import { classMap } from 'lit/directives/class-map.js'
7
+ import { ElementProps } from '@/types/typeUtils'
8
+
9
+ type Props = ElementProps<
10
+ PktCheckbox,
11
+ | 'checkHelptext'
12
+ | 'defaultChecked'
13
+ | 'hasTile'
14
+ | 'isSwitch'
15
+ | 'labelPosition'
16
+ | 'hideLabel'
17
+ | 'tagText'
18
+ | 'optionalTag'
19
+ | 'optionalText'
20
+ | 'requiredTag'
21
+ | 'requiredText'
22
+ >
7
23
 
8
24
  @customElement('pkt-checkbox')
9
- export class PktCheckbox extends PktInputElement {
25
+ export class PktCheckbox extends PktInputElement<Props> {
10
26
  private inputRef: Ref<HTMLInputElement> = createRef()
11
27
 
12
28
  @property({ type: String, reflect: true }) value: string = ''