@oslokommune/punkt-react 13.6.15 → 13.7.0

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 (67) hide show
  1. package/CHANGELOG.md +41 -0
  2. package/dist/index.d.ts +38 -74
  3. package/dist/punkt-react.es.js +5358 -35971
  4. package/dist/punkt-react.umd.js +418 -548
  5. package/package.json +11 -15
  6. package/src/components/accordion/Accordion.test.tsx +1 -1
  7. package/src/components/accordion/Accordion.tsx +1 -1
  8. package/src/components/accordion/AccordionItem.tsx +6 -5
  9. package/src/components/alert/Alert.tsx +2 -1
  10. package/src/components/breadcrumbs/Breadcrumbs.test.tsx +16 -4
  11. package/src/components/breadcrumbs/Breadcrumbs.tsx +3 -2
  12. package/src/components/button/Button.tsx +3 -2
  13. package/src/components/checkbox/Checkbox.tsx +4 -3
  14. package/src/components/datepicker/Datepicker.test.tsx +393 -0
  15. package/src/components/footer/Footer.tsx +6 -5
  16. package/src/components/footerSimple/FooterSimple.tsx +4 -3
  17. package/src/components/icon/Icon.test.tsx +6 -19
  18. package/src/components/index.ts +0 -2
  19. package/src/components/input/Input.tsx +4 -3
  20. package/src/components/radio/RadioButton.tsx +3 -2
  21. package/src/components/searchinput/SearchInput.tsx +3 -3
  22. package/src/components/stepper/Stepper.tsx +6 -6
  23. package/src/components/table/Table.tsx +2 -1
  24. package/src/components/table/TableBody.tsx +2 -1
  25. package/src/components/table/TableData.tsx +2 -1
  26. package/src/components/table/TableDataCell.tsx +2 -1
  27. package/src/components/table/TableHeader.tsx +2 -1
  28. package/src/components/table/TableHeaderCell.tsx +2 -1
  29. package/src/components/table/TableRow.tsx +2 -1
  30. package/src/components/tag/Tag.tsx +2 -1
  31. package/src/components/preview/Preview.tsx +0 -274
  32. package/src/components/preview/PreviewCode.tsx +0 -118
  33. package/src/components/preview/PreviewPropEditor.tsx +0 -266
  34. package/src/components/preview/PreviewSpecs.tsx +0 -125
  35. package/src/components/preview/PreviewWithJson.tsx +0 -519
  36. package/src/components/preview/preview-types.ts +0 -42
  37. package/src/components/preview/preview-utils.ts +0 -226
  38. package/src/components/preview/previewJson/accordion.json +0 -84
  39. package/src/components/preview/previewJson/alert.json +0 -27
  40. package/src/components/preview/previewJson/backlink.json +0 -14
  41. package/src/components/preview/previewJson/breadcrumbs.json +0 -17
  42. package/src/components/preview/previewJson/button.json +0 -28
  43. package/src/components/preview/previewJson/card.json +0 -41
  44. package/src/components/preview/previewJson/checkbox.json +0 -21
  45. package/src/components/preview/previewJson/combobox.json +0 -24
  46. package/src/components/preview/previewJson/consent.json +0 -14
  47. package/src/components/preview/previewJson/datepicker.json +0 -14
  48. package/src/components/preview/previewJson/footer-simple.json +0 -17
  49. package/src/components/preview/previewJson/footer.json +0 -29
  50. package/src/components/preview/previewJson/header.json +0 -34
  51. package/src/components/preview/previewJson/icon.json +0 -13
  52. package/src/components/preview/previewJson/input-wrapper.json +0 -39
  53. package/src/components/preview/previewJson/link.json +0 -28
  54. package/src/components/preview/previewJson/linkcard.json +0 -30
  55. package/src/components/preview/previewJson/loader.json +0 -28
  56. package/src/components/preview/previewJson/messagebox.json +0 -28
  57. package/src/components/preview/previewJson/modal.json +0 -65
  58. package/src/components/preview/previewJson/progressbar.json +0 -16
  59. package/src/components/preview/previewJson/radiobutton.json +0 -21
  60. package/src/components/preview/previewJson/searchinput.json +0 -20
  61. package/src/components/preview/previewJson/select.json +0 -73
  62. package/src/components/preview/previewJson/steps.json +0 -72
  63. package/src/components/preview/previewJson/table.json +0 -130
  64. package/src/components/preview/previewJson/tabs.json +0 -33
  65. package/src/components/preview/previewJson/tag.json +0 -26
  66. package/src/components/preview/previewJson/textarea.json +0 -18
  67. package/src/components/preview/previewJson/textinput.json +0 -18
package/CHANGELOG.md CHANGED
@@ -5,6 +5,47 @@ og skriver commits ca etter [Conventional Commits](https://conventionalcommits.o
5
5
 
6
6
  ---
7
7
 
8
+ ## [13.7.0](https://github.com/oslokommune/punkt/compare/13.6.16...13.7.0) (2025-10-14)
9
+
10
+ ### ⚠ BREAKING CHANGES
11
+ Ingen
12
+
13
+ ### Features
14
+ * Massiv opprydding og oppdatering + fjerning av PktPreview i React (#3074). - Byttet React-tester til å bruke Vitest (så vi kan fjerne utdatert react-scripts som Facebook ikke lenger vedlikeholder og ga feilmeldinger i bygget vårt)
15
+ - Fjernet PktPreview fra React-pakken, da vi ikke lenger bruker denne i dokumentasjonen vår, og den skapte feilmeldinger i bygget vårt
16
+ - Oppdaterte Lerna, Vite, Vitest, ESLint, Typescript
17
+ - Oppdaterte omtrent alle React-komponenter til å ha moderne syntaks for bruk av dens metoder (Det er visst ønskelig at man skal gjøre `import { useState } from 'react'` istedenfor `import React from 'react'` og så bruke `React.useState`.)
18
+ - La til linting i Elements
19
+ - React-pakken gikk fra å være 1.6 megabyte til å være 365 kilobytes!!!
20
+
21
+
22
+ ### Bug Fixes
23
+ Ingen
24
+
25
+ ### Chores
26
+ Ingen
27
+
28
+ ---
29
+
30
+
31
+ ## [13.6.16](https://github.com/oslokommune/punkt/compare/13.6.15...13.6.16) (2025-10-14)
32
+
33
+ ### ⚠ BREAKING CHANGES
34
+ Ingen
35
+
36
+ ### Features
37
+ Ingen
38
+
39
+ ### Bug Fixes
40
+ * Legg til enkel testdekning av datepicker i React (#3076). I påvente av omskriving av datepicker til ren React-komponent er det greit å ha grunnleggende testdekning. Mer testing bør komme etter omskriving.
41
+
42
+
43
+ ### Chores
44
+ Ingen
45
+
46
+ ---
47
+
48
+
8
49
  ## [13.6.15](https://github.com/oslokommune/punkt/compare/13.6.14...13.6.15) (2025-10-09)
9
50
 
10
51
  ### ⚠ BREAKING CHANGES
package/dist/index.d.ts CHANGED
@@ -1,7 +1,10 @@
1
1
  /// <reference types="react" />
2
2
 
3
3
  import { AnchorHTMLAttributes } from 'react';
4
+ import { ButtonHTMLAttributes } from 'react';
5
+ import { ChangeEvent } from 'react';
4
6
  import { ChangeEventHandler } from 'react';
7
+ import { CSSProperties } from 'react';
5
8
  import { default as default_2 } from 'react';
6
9
  import { FC } from 'react';
7
10
  import { FocusEventHandler } from 'react';
@@ -18,12 +21,15 @@ import { IPktProgressbar as IPktProgressbar_2 } from '@oslokommune/punkt-element
18
21
  import { JSX as JSX_2 } from 'react/jsx-runtime';
19
22
  import { LegacyRef } from 'react';
20
23
  import { LinkHTMLAttributes } from 'react';
24
+ import { MouseEvent as MouseEvent_2 } from 'react';
21
25
  import { MouseEventHandler } from 'react';
22
26
  import * as React_2 from 'react';
23
27
  import { ReactElement } from 'react';
24
28
  import { ReactNode } from 'react';
25
29
  import { RefAttributes } from 'react';
30
+ import { RefObject } from 'react';
26
31
  import { SelectHTMLAttributes } from 'react';
32
+ import { SyntheticEvent } from 'react';
27
33
  import { TextareaHTMLAttributes } from 'react';
28
34
 
29
35
  declare type Booleanish = boolean | 'true' | 'false';
@@ -47,7 +53,7 @@ declare interface IBreadcrumbs {
47
53
  href: string;
48
54
  }
49
55
 
50
- declare interface InputProps extends default_2.InputHTMLAttributes<HTMLInputElement> {
56
+ declare interface InputProps extends InputHTMLAttributes<HTMLInputElement> {
51
57
  /** The input's label */
52
58
  label?: string;
53
59
  /** The input's id */
@@ -79,8 +85,8 @@ export declare interface IPktAccordionItem {
79
85
  children?: ReactNode;
80
86
  name?: string;
81
87
  className?: string;
82
- onClick?: (e: default_2.MouseEvent<HTMLDetailsElement>) => void;
83
- onToggle?: (e: default_2.SyntheticEvent<HTMLDetailsElement>) => void;
88
+ onClick?: (e: MouseEvent_2<HTMLDetailsElement>) => void;
89
+ onToggle?: (e: SyntheticEvent<HTMLDetailsElement>) => void;
84
90
  }
85
91
 
86
92
  export declare interface IPktAlert extends PktElType {
@@ -101,12 +107,12 @@ export declare interface IPktBackLink extends ExtendedBackLink {
101
107
  onClick?: MouseEventHandler<HTMLAnchorElement>;
102
108
  }
103
109
 
104
- export declare interface IPktBreadcrumbs extends default_2.AnchorHTMLAttributes<HTMLAnchorElement> {
110
+ export declare interface IPktBreadcrumbs extends AnchorHTMLAttributes<HTMLAnchorElement> {
105
111
  breadcrumbs: IBreadcrumbs[];
106
112
  navigationType?: 'router' | 'anchor';
107
113
  }
108
114
 
109
- export declare interface IPktButton extends default_2.ButtonHTMLAttributes<HTMLButtonElement> {
115
+ export declare interface IPktButton extends ButtonHTMLAttributes<HTMLButtonElement> {
110
116
  iconName?: string;
111
117
  secondIconName?: string;
112
118
  mode?: 'light' | 'dark';
@@ -144,7 +150,7 @@ export declare interface IPktCard extends PktElType {
144
150
  })[];
145
151
  }
146
152
 
147
- export declare interface IPktCheckbox extends default_2.InputHTMLAttributes<HTMLInputElement> {
153
+ export declare interface IPktCheckbox extends InputHTMLAttributes<HTMLInputElement> {
148
154
  id: string;
149
155
  hasTile?: boolean;
150
156
  disabled?: boolean;
@@ -219,7 +225,7 @@ export declare interface IPktDatepicker extends InputHTMLAttributes<HTMLInputEle
219
225
  skipForwardTestid?: boolean;
220
226
  }
221
227
 
222
- export declare interface IPktFooter extends default_2.HTMLAttributes<HTMLDivElement> {
228
+ export declare interface IPktFooter extends HTMLAttributes<HTMLDivElement> {
223
229
  columnOne: Column;
224
230
  columnTwo: Column;
225
231
  socialLinks?: SocialLink[];
@@ -236,7 +242,7 @@ export declare interface IPktFooter extends default_2.HTMLAttributes<HTMLDivElem
236
242
  onToggleConsent?: (e: CustomEvent) => void;
237
243
  }
238
244
 
239
- export declare interface IPktFooterSimple extends default_2.HTMLAttributes<HTMLDivElement> {
245
+ export declare interface IPktFooterSimple extends HTMLAttributes<HTMLDivElement> {
240
246
  links?: Array<{
241
247
  href: string;
242
248
  text: string;
@@ -366,7 +372,7 @@ export declare interface IPktModal extends PktElType {
366
372
  export declare interface IPktProgressbar extends ExtendedProgressbar {
367
373
  }
368
374
 
369
- export declare interface IPktRadioButton extends default_2.InputHTMLAttributes<HTMLInputElement> {
375
+ export declare interface IPktRadioButton extends InputHTMLAttributes<HTMLInputElement> {
370
376
  id: string;
371
377
  name: string;
372
378
  label: string;
@@ -431,7 +437,7 @@ export declare interface IPktStep {
431
437
  title: string;
432
438
  }
433
439
 
434
- export declare interface IPktStepper extends default_2.HTMLAttributes<HTMLOListElement> {
440
+ export declare interface IPktStepper extends HTMLAttributes<HTMLOListElement> {
435
441
  /**
436
442
  * The index of the current active step
437
443
  */
@@ -589,43 +595,32 @@ declare interface ISearchForm extends ISearch {
589
595
  }
590
596
 
591
597
  declare interface ISearchInput extends ISearch {
592
- onChange: (event: default_2.ChangeEvent<HTMLInputElement>) => void;
598
+ onChange: (event: ChangeEvent<HTMLInputElement>) => void;
593
599
  disabled?: boolean;
594
600
  }
595
601
 
596
- declare interface ISpecObject {
597
- name?: string;
598
- 'css-class'?: string;
599
- 'dark-mode'?: boolean;
600
- isElement?: boolean;
601
- props?: Record<string, TPropObject | string[] | number[]>;
602
- events?: Record<string, TPropObject>;
603
- slots?: Record<string, any>;
604
- default?: any;
605
- }
606
-
607
- declare interface ITableBodyProps extends React_2.HTMLAttributes<HTMLTableSectionElement> {
602
+ declare interface ITableBodyProps extends HTMLAttributes<HTMLTableSectionElement> {
608
603
  className?: string;
609
604
  children: React_2.ReactNode;
610
605
  }
611
606
 
612
- declare interface ITableDataCellProps extends React_2.HTMLAttributes<HTMLTableCellElement> {
607
+ declare interface ITableDataCellProps extends HTMLAttributes<HTMLTableCellElement> {
613
608
  className?: string;
614
609
  children?: React_2.ReactNode;
615
610
  dataLabel?: string;
616
611
  }
617
612
 
618
- declare interface ITableHeaderCellProps extends React_2.HTMLAttributes<HTMLTableCellElement> {
613
+ declare interface ITableHeaderCellProps extends HTMLAttributes<HTMLTableCellElement> {
619
614
  className?: string;
620
615
  children: React_2.ReactNode;
621
616
  }
622
617
 
623
- declare interface ITableHeaderProps extends React_2.HTMLAttributes<HTMLTableSectionElement> {
618
+ declare interface ITableHeaderProps extends HTMLAttributes<HTMLTableSectionElement> {
624
619
  className?: string;
625
620
  children: React_2.ReactNode;
626
621
  }
627
622
 
628
- declare interface ITableProps extends React_2.HTMLAttributes<HTMLTableElement> {
623
+ declare interface ITableProps extends HTMLAttributes<HTMLTableElement> {
629
624
  compact?: boolean;
630
625
  skin?: 'basic' | 'zebra-blue';
631
626
  responsiveView?: boolean;
@@ -633,7 +628,7 @@ declare interface ITableProps extends React_2.HTMLAttributes<HTMLTableElement> {
633
628
  children: React_2.ReactNode;
634
629
  }
635
630
 
636
- declare interface ITableRowProps extends React_2.HTMLAttributes<HTMLTableRowElement> {
631
+ declare interface ITableRowProps extends HTMLAttributes<HTMLTableRowElement> {
637
632
  className?: string;
638
633
  children: React_2.ReactNode;
639
634
  }
@@ -645,21 +640,21 @@ declare interface Link {
645
640
  openInNewTab?: boolean;
646
641
  }
647
642
 
648
- export declare const PktAccordion: default_2.ForwardRefExoticComponent<IPktAccordion & default_2.RefAttributes<HTMLDivElement>>;
643
+ export declare const PktAccordion: ForwardRefExoticComponent<IPktAccordion & RefAttributes<HTMLDivElement>>;
649
644
 
650
- export declare const PktAccordionItem: default_2.ForwardRefExoticComponent<IPktAccordionItem & default_2.RefAttributes<HTMLDetailsElement>>;
645
+ export declare const PktAccordionItem: ForwardRefExoticComponent<IPktAccordionItem & RefAttributes<HTMLDetailsElement>>;
651
646
 
652
647
  export declare const PktAlert: FC<IPktAlert>;
653
648
 
654
649
  export declare const PktBackLink: default_2.ForwardRefExoticComponent<IPktBackLink>;
655
650
 
656
- export declare const PktBreadcrumbs: default_2.ForwardRefExoticComponent<IPktBreadcrumbs & default_2.RefAttributes<HTMLAnchorElement>>;
651
+ export declare const PktBreadcrumbs: ForwardRefExoticComponent<IPktBreadcrumbs & RefAttributes<HTMLAnchorElement>>;
657
652
 
658
- export declare const PktButton: default_2.ForwardRefExoticComponent<IPktButton & default_2.RefAttributes<HTMLButtonElement>>;
653
+ export declare const PktButton: ForwardRefExoticComponent<IPktButton & RefAttributes<HTMLButtonElement>>;
659
654
 
660
655
  export declare const PktCard: FC<IPktCard>;
661
656
 
662
- export declare const PktCheckbox: default_2.ForwardRefExoticComponent<IPktCheckbox & default_2.RefAttributes<HTMLInputElement>>;
657
+ export declare const PktCheckbox: ForwardRefExoticComponent<IPktCheckbox & RefAttributes<HTMLInputElement>>;
663
658
 
664
659
  export declare const PktCombobox: FC<IPktCombobox>;
665
660
 
@@ -667,17 +662,17 @@ export declare const PktConsent: ForwardRefExoticComponent<IPktConsent>;
667
662
 
668
663
  export declare const PktDatepicker: FC<IPktDatepicker>;
669
664
 
670
- declare interface PktElType extends default_2.HTMLAttributes<HTMLElement> {
665
+ declare interface PktElType extends HTMLAttributes<HTMLElement> {
671
666
  className?: string;
672
- style?: default_2.CSSProperties;
673
- children?: default_2.ReactNode | default_2.ReactNode[];
674
- ref?: default_2.RefObject<HTMLElement> | default_2.LegacyRef<HTMLElement>;
667
+ style?: CSSProperties;
668
+ children?: string | ReactNode | ReactNode[];
669
+ ref?: RefObject<HTMLElement> | LegacyRef<HTMLElement>;
675
670
  id?: string;
676
671
  }
677
672
 
678
- export declare const PktFooter: default_2.FC<IPktFooter>;
673
+ export declare const PktFooter: FC<IPktFooter>;
679
674
 
680
- export declare const PktFooterSimple: default_2.FC<IPktFooterSimple>;
675
+ export declare const PktFooterSimple: FC<IPktFooterSimple>;
681
676
 
682
677
  export declare const PktHeader: default_2.ForwardRefExoticComponent<IPktHeader & default_2.RefAttributes<HTMLDivElement>>;
683
678
 
@@ -699,7 +694,7 @@ export declare const PktIcon: FC<IPktIcon>;
699
694
  * <Input label="First name" id="firstName" validationMessage="First name is required" />
700
695
  *
701
696
  */
702
- export declare const PktInput: default_2.ForwardRefExoticComponent<InputProps & default_2.RefAttributes<HTMLInputElement>>;
697
+ export declare const PktInput: ForwardRefExoticComponent<InputProps & RefAttributes<HTMLInputElement>>;
703
698
 
704
699
  export declare const PktInputWrapper: ForwardRefExoticComponent<Omit<IPktInputWrapper, "ref"> & RefAttributes<HTMLDivElement>>;
705
700
 
@@ -713,21 +708,17 @@ export declare const PktMessagebox: FC<IPktMessagebox>;
713
708
 
714
709
  export declare const PktModal: FC<IPktModal>;
715
710
 
716
- export declare const PktPreview: default_2.FC<PreviewProps>;
717
-
718
- export declare const PktPreviewWithJson: default_2.FC<PreviewProps_2>;
719
-
720
711
  export declare const PktProgressbar: default_2.ForwardRefExoticComponent<Omit<IPktProgressbar, "ref"> & default_2.RefAttributes<HTMLElement>>;
721
712
 
722
- export declare const PktRadioButton: default_2.ForwardRefExoticComponent<IPktRadioButton & default_2.RefAttributes<HTMLInputElement>>;
713
+ export declare const PktRadioButton: ForwardRefExoticComponent<IPktRadioButton & RefAttributes<HTMLInputElement>>;
723
714
 
724
- export declare const PktSearchInput: default_2.ForwardRefExoticComponent<(Omit<ISearchForm, "ref"> | Omit<ISearchInput, "ref">) & default_2.RefAttributes<HTMLInputElement>>;
715
+ export declare const PktSearchInput: ForwardRefExoticComponent<(Omit<ISearchForm, "ref"> | Omit<ISearchInput, "ref">) & RefAttributes<HTMLInputElement>>;
725
716
 
726
717
  export declare const PktSelect: ForwardRefExoticComponent<IPktSelectProps & RefAttributes<HTMLSelectElement>>;
727
718
 
728
719
  export declare const PktStep: ({ children, className, status, title }: IPktStep) => JSX_2.Element;
729
720
 
730
- export declare const PktStepper: default_2.ForwardRefExoticComponent<IPktStepper & default_2.RefAttributes<HTMLOListElement>>;
721
+ export declare const PktStepper: ForwardRefExoticComponent<IPktStepper & RefAttributes<HTMLOListElement>>;
731
722
 
732
723
  export declare const PktTable: ({ className, compact, skin, responsiveView, children, ...props }: ITableProps) => JSX_2.Element;
733
724
 
@@ -749,18 +740,6 @@ export declare const PktTextarea: default_2.ForwardRefExoticComponent<IPktTextar
749
740
 
750
741
  export declare const PktTextinput: default_2.ForwardRefExoticComponent<IPktTextinput & default_2.RefAttributes<HTMLInputElement>>;
751
742
 
752
- declare interface PreviewProps {
753
- children?: ReactNode;
754
- specs: ISpecObject;
755
- fullWidth?: boolean;
756
- }
757
-
758
- declare interface PreviewProps_2 {
759
- specs: Record<string, ISpecObject>;
760
- previewJson: any;
761
- fullWidth?: boolean;
762
- }
763
-
764
743
  declare interface Representing {
765
744
  name?: string;
766
745
  shortname?: string;
@@ -795,21 +774,6 @@ declare type TPktAccordionSkin = 'borderless' | 'outlined' | 'beige' | 'blue';
795
774
 
796
775
  declare type TPktAccordionSkin_2 = 'borderless' | 'outlined' | 'beige' | 'blue';
797
776
 
798
- declare type TPropObject = {
799
- name?: string;
800
- description?: string;
801
- type?: string | string[] | number | number[];
802
- variant?: string;
803
- converter?: string;
804
- reflect?: boolean;
805
- default?: any;
806
- previewDefault?: any;
807
- items?: TPropObject;
808
- displayAsFalse?: boolean;
809
- category?: string;
810
- showIf?: Record<string, any>;
811
- };
812
-
813
777
  declare type TSkin = 'blue' | 'green' | 'red' | 'beige' | 'yellow' | 'grey' | 'gray' | 'blue-light';
814
778
 
815
779
  declare type TStepStatus = 'completed' | 'incomplete' | 'current';