@fremtind/jokul 4.6.0 → 4.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 (94) hide show
  1. package/build/build-stats.html +1 -1
  2. package/build/cjs/components/system-message/types.d.cts +7 -2
  3. package/build/cjs/components/typography/Text.cjs +2 -0
  4. package/build/cjs/components/typography/Text.cjs.map +1 -0
  5. package/build/cjs/components/typography/Text.d.cts +5 -0
  6. package/build/cjs/components/typography/Title.cjs +2 -0
  7. package/build/cjs/components/typography/Title.cjs.map +1 -0
  8. package/build/cjs/components/typography/Title.d.cts +5 -0
  9. package/build/cjs/components/typography/index.cjs +2 -0
  10. package/build/cjs/components/typography/index.cjs.map +1 -0
  11. package/build/cjs/components/typography/index.d.cts +3 -0
  12. package/build/cjs/components/typography/types.cjs +2 -0
  13. package/build/cjs/components/typography/types.cjs.map +1 -0
  14. package/build/cjs/components/typography/types.d.cts +48 -0
  15. package/build/es/components/datepicker/DatePicker.js +1 -1
  16. package/build/es/components/datepicker/internal/Calendar.js +1 -1
  17. package/build/es/components/datepicker/internal/useCalendar.js +1 -1
  18. package/build/es/components/datepicker/internal/utils.js +1 -1
  19. package/build/es/components/menu/Menu.js +1 -1
  20. package/build/es/components/system-message/types.d.ts +7 -2
  21. package/build/es/components/toast/toastContext.js +1 -1
  22. package/build/es/components/tooltip/Tooltip.js +1 -1
  23. package/build/es/components/typography/Text.d.ts +5 -0
  24. package/build/es/components/typography/Text.js +2 -0
  25. package/build/es/components/typography/Text.js.map +1 -0
  26. package/build/es/components/typography/Title.d.ts +5 -0
  27. package/build/es/components/typography/Title.js +2 -0
  28. package/build/es/components/typography/Title.js.map +1 -0
  29. package/build/es/components/typography/index.d.ts +3 -0
  30. package/build/es/components/typography/index.js +2 -0
  31. package/build/es/components/typography/index.js.map +1 -0
  32. package/build/es/components/typography/types.d.ts +48 -0
  33. package/build/es/components/typography/types.js +2 -0
  34. package/build/es/components/typography/types.js.map +1 -0
  35. package/build/es/hooks/stories/content.js +1 -1
  36. package/build/es/index.js +1 -1
  37. package/build/es/utilities/constants/index.js +1 -1
  38. package/build/es/utilities/constants/unicode.js +1 -1
  39. package/build/es/utilities/formatters/bytes/formatBytes.js +1 -1
  40. package/build/es/utilities/formatters/fodselsnummer/formatFodselsnummer.js +1 -1
  41. package/build/es/utilities/formatters/kontonummer/formatKontonummer.js +1 -1
  42. package/build/es/utilities/formatters/kortnummer/formatKortnummer.js +1 -1
  43. package/build/es/utilities/formatters/organisasjonsnummer/formatOrganisasjonsnummer.js +1 -1
  44. package/build/es/utilities/formatters/telefonnummer/formatTelefonnummer.js +1 -1
  45. package/build/es/utilities/formatters/valuta/formatValuta.js +1 -1
  46. package/build/es/utilities/index.js +1 -1
  47. package/build/{index-CWRMnfcx.js → index-C1iqmqvT.js} +2 -2
  48. package/build/{index-CWRMnfcx.js.map → index-C1iqmqvT.js.map} +1 -1
  49. package/build/{utils-CcE6HjQp.js → utils-CtwpNW4I.js} +2 -2
  50. package/build/{utils-CcE6HjQp.js.map → utils-CtwpNW4I.js.map} +1 -1
  51. package/package.json +16 -2
  52. package/styles/components/button/button.css +2 -1
  53. package/styles/components/button/button.min.css +1 -1
  54. package/styles/components/button/button.scss +3 -2
  55. package/styles/components/countdown/countdown.css +2 -2
  56. package/styles/components/countdown/countdown.min.css +1 -1
  57. package/styles/components/feedback/feedback.css +2 -2
  58. package/styles/components/feedback/feedback.min.css +1 -1
  59. package/styles/components/file/file.css +1 -1
  60. package/styles/components/file/file.min.css +1 -1
  61. package/styles/components/file/file.scss +2 -1
  62. package/styles/components/file-input/file-input.css +12 -11
  63. package/styles/components/file-input/file-input.min.css +1 -1
  64. package/styles/components/input-group/input-group.css +2 -2
  65. package/styles/components/input-group/input-group.min.css +1 -1
  66. package/styles/components/loader/loader.css +6 -6
  67. package/styles/components/loader/loader.min.css +1 -1
  68. package/styles/components/loader/skeleton-loader.css +3 -3
  69. package/styles/components/loader/skeleton-loader.min.css +1 -1
  70. package/styles/components/message/message.css +2 -2
  71. package/styles/components/message/message.min.css +1 -1
  72. package/styles/components/progress-bar/progress-bar.css +1 -1
  73. package/styles/components/progress-bar/progress-bar.min.css +1 -1
  74. package/styles/components/segmented-control/segmented-control.css +2 -2
  75. package/styles/components/segmented-control/segmented-control.min.css +1 -1
  76. package/styles/components/system-message/system-message.css +7 -16
  77. package/styles/components/system-message/system-message.min.css +1 -1
  78. package/styles/components/system-message/system-message.scss +2 -10
  79. package/styles/components/toast/toast.css +4 -4
  80. package/styles/components/toast/toast.min.css +1 -1
  81. package/styles/components/typography/_index.scss +2 -0
  82. package/styles/components/typography/text.css +52 -0
  83. package/styles/components/typography/text.min.css +1 -0
  84. package/styles/components/typography/text.scss +55 -0
  85. package/styles/components/typography/title.css +70 -0
  86. package/styles/components/typography/title.min.css +1 -0
  87. package/styles/components/typography/title.scss +58 -0
  88. package/styles/core/core.css +1 -1
  89. package/styles/core/core.min.css +1 -1
  90. package/styles/core/jkl/_convert.scss +15 -6
  91. package/styles/core/utility/_paragraphs.scss +11 -1
  92. package/styles/styles.css +148 -40
  93. package/styles/styles.min.css +2 -2
  94. package/styles/styles.scss +1 -0
@@ -1,11 +1,16 @@
1
+ import { AriaRole } from 'react';
1
2
  import { WithChildren } from '../../core/types.cjs';
2
3
  export interface SystemMessageProps extends WithChildren {
3
4
  id?: string;
4
5
  className?: string;
5
6
  maxContentWidth?: string;
6
7
  paddingLeft?: string;
7
- /** Overstyr standardrollen til meldingen. Om du ønsker å "skru av" rollen kan du bruke verdien `none presentation`. */
8
- role?: string;
8
+ /**
9
+ * Overstyr standardrollen til meldingen. Om du ønsker å "skru av" rollen kan du bruke verdien `none` eller `presentation`.
10
+ *
11
+ * @see https://www.w3.org/TR/wai-aria-1.2/#role_definitions
12
+ */
13
+ role?: AriaRole | string;
9
14
  dismissed?: boolean;
10
15
  dismissAction?: {
11
16
  handleDismiss: () => void;
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),t=require("../../../clsx-E3yX_9sL.cjs"),r=require("react").forwardRef(function({as:r,className:s,size:o="m",bold:a,short:l,srOnly:c,...i},d){const n=r||"p";return e.jsx(n,{className:t.clsx("jkl-text",c&&"jkl-sr-only",s),"data-text-size":o,"data-bold":a||void 0,"data-short":l||void 0,ref:d,...i})});exports.Text=r;
2
+ //# sourceMappingURL=Text.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Text.cjs","sources":["../../../../src/components/typography/Text.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport React, { forwardRef } from \"react\";\nimport type { PolymorphicRef } from \"../../utilities/index.js\";\nimport type { TextElement, TextProps } from \"./types.js\";\n\ntype TextComponent = <As extends TextElement = \"p\">(\n props: TextProps<As>,\n) => React.ReactElement | null;\n\nexport const Text: TextComponent = forwardRef(function Text<\n As extends TextElement = \"p\",\n>(\n {\n as,\n className,\n size = \"m\",\n bold,\n short,\n srOnly,\n ...rest\n }: TextProps<As>,\n ref?: PolymorphicRef<As>,\n) {\n const Component = (as || \"p\") as React.ElementType;\n return (\n <Component\n className={clsx(\"jkl-text\", srOnly && \"jkl-sr-only\", className)}\n data-text-size={size}\n data-bold={bold || undefined}\n data-short={short || undefined}\n ref={ref}\n {...rest}\n />\n );\n}) as TextComponent;\n"],"names":["Text","forwardRef","as","className","size","bold","short","srOnly","rest","ref","Component","jsx","clsx"],"mappings":"6JASaA,mBAAsBC,WAAW,UAItCC,GAAAA,EACAC,UAAAA,EACAC,KAAAA,EAAO,IACPC,KAAAA,EACAC,MAAAA,EACAC,OAAAA,KACGC,GAEPC,GAEA,MAAMC,EAAaR,GAAM,IACzB,OACIS,EAAAA,IAACD,EAAA,CACGP,UAAWS,EAAAA,KAAK,WAAYL,GAAU,cAAeJ,GACrD,iBAAgBC,EAChB,YAAWC,QAAQ,EACnB,aAAYC,QAAS,EACrBG,IAAAA,KACID,GAGhB"}
@@ -0,0 +1,5 @@
1
+ import { default as React } from 'react';
2
+ import { TextElement, TextProps } from './types.cjs';
3
+ type TextComponent = <As extends TextElement = "p">(props: TextProps<As>) => React.ReactElement | null;
4
+ export declare const Text: TextComponent;
5
+ export {};
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),r=require("../../../clsx-E3yX_9sL.cjs"),t=require("react").forwardRef(function({className:t,size:s="l",as:l,srOnly:a,...c},i){const o=l||"h2";return e.jsx(o,{className:r.clsx("jkl-title",a&&"jkl-sr-only",t),"data-text-size":s,ref:i,...c})});exports.Title=t;
2
+ //# sourceMappingURL=Title.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Title.cjs","sources":["../../../../src/components/typography/Title.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport React, { forwardRef } from \"react\";\nimport type { PolymorphicRef } from \"../../utilities/index.js\";\nimport type { TitleElement, TitleProps } from \"./types.js\";\n\ntype TitleComponent = <As extends TitleElement = \"h2\">(\n props: TitleProps<As>,\n) => React.ReactElement | null;\n\nexport const Title: TitleComponent = forwardRef(function Title<\n As extends TitleElement = \"h2\",\n>(\n { className, size = \"l\", as, srOnly, ...rest }: TitleProps<As>,\n ref?: PolymorphicRef<As>,\n) {\n const Tag = (as || \"h2\") as React.ElementType;\n return (\n <Tag\n className={clsx(\"jkl-title\", srOnly && \"jkl-sr-only\", className)}\n data-text-size={size}\n ref={ref}\n {...rest}\n />\n );\n}) as TitleComponent;\n"],"names":["Title","forwardRef","className","size","as","srOnly","rest","ref","Tag","jsx","clsx"],"mappings":"6JASaA,mBAAwBC,WAAW,UAG1CC,UAAAA,EAAWC,KAAAA,EAAO,IAAKC,GAAAA,EAAIC,OAAAA,KAAWC,GACxCC,GAEA,MAAMC,EAAOJ,GAAM,KACnB,OACIK,EAAAA,IAACD,EAAA,CACGN,UAAWQ,EAAAA,KAAK,YAAaL,GAAU,cAAeH,GACtD,iBAAgBC,EAChBI,IAAAA,KACID,GAGhB"}
@@ -0,0 +1,5 @@
1
+ import { default as React } from 'react';
2
+ import { TitleElement, TitleProps } from './types.cjs';
3
+ type TitleComponent = <As extends TitleElement = "h2">(props: TitleProps<As>) => React.ReactElement | null;
4
+ export declare const Title: TitleComponent;
5
+ export {};
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./Text.cjs"),t=require("./Title.cjs");exports.Text=e.Text,exports.Title=t.Title;
2
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ export { Text } from './Text.cjs';
2
+ export { Title } from './Title.cjs';
3
+ export type { TextProps, TextSize, TitleProps, TitleSize } from './types.cjs';
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=types.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,48 @@
1
+ import { PolymorphicPropsWithRef } from '../../utilities/index.cjs';
2
+ export type TextElement = "p" | "span" | "label" | "legend" | "small" | "strong" | "em" | "code" | "kbd" | "samp" | "var";
3
+ export type TitleElement = "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "label" | "legend";
4
+ export type TextSize = "xs" | "s" | "m" | "l";
5
+ export type TitleSize = "xs" | "s" | "m" | "l" | "xl";
6
+ type TextOwnProps = {
7
+ /**
8
+ * Visuell størrelse på teksten. Tilsvarer font-size-tokens i Jøkul.
9
+ * @default "m"
10
+ */
11
+ size?: TextSize;
12
+ /**
13
+ * Uthever teksten (font-weight: bold).
14
+ * @default false
15
+ */
16
+ bold?: boolean;
17
+ /**
18
+ * Setter mindre linjehøyde — bruk når teksten i all hovedsak går over
19
+ * én linje (f.eks. i tabellceller eller knapper).
20
+ * @default false
21
+ */
22
+ short?: boolean;
23
+ /**
24
+ * Skjuler elementet visuelt, men beholder det for skjermlesere.
25
+ * Bruk for å gi ekstra kontekst til assistive teknologier uten å
26
+ * påvirke det visuelle.
27
+ * @default false
28
+ */
29
+ srOnly?: boolean;
30
+ };
31
+ type TitleOwnProps = {
32
+ /**
33
+ * Visuell størrelse på tittelen. Frakoblet fra `as` — velg semantisk
34
+ * nivå via `as`, og visuell størrelse via `size`.
35
+ * @default "l"
36
+ */
37
+ size?: TitleSize;
38
+ /**
39
+ * Skjuler elementet visuelt, men beholder det for skjermlesere.
40
+ * Bruk for å beholde riktig overskrifts-hierarki i skjermlesere
41
+ * uten å vise tittelen visuelt.
42
+ * @default false
43
+ */
44
+ srOnly?: boolean;
45
+ };
46
+ export type TextProps<As extends TextElement = "p"> = PolymorphicPropsWithRef<As, TextOwnProps>;
47
+ export type TitleProps<As extends TitleElement = "h2"> = PolymorphicPropsWithRef<As, TitleOwnProps>;
48
+ export {};
@@ -1,2 +1,2 @@
1
- import{jsx as e,jsxs as t}from"react/jsx-runtime";import{c as r}from"../../../clsx-BeLtu-UY.js";import{d as a,g as o}from"../../../utils-CcE6HjQp.js";import{forwardRef as n,useState as l,useRef as s,useCallback as i}from"react";import{flushSync as u}from"react-dom";import{formatDateString as c}from"../../utilities/formatters/date/formatDate.js";import{IconButton as d}from"../icon-button/IconButton.js";import{CalendarIcon as p}from"../icon/icons/CalendarIcon.js";import{InputGroup as m}from"../input-group/InputGroup.js";import{Popover as f}from"../popover/Popover.js";import{BaseTextInput as v}from"../text-input/BaseTextInput.js";import{Calendar as D}from"./internal/Calendar.js";import{parseDateString as h,formatInput as b}from"./utils.js";import{isWithinLowerBound as g,isWithinUpperBound as k}from"./validation.js";const j=n((n,j)=>{const{"data-testautoid":y,id:L,className:w="",label:x="Velg dato",labelProps:C,defaultValue:I,defaultShow:O=!1,value:P,disableBeforeDate:T,disableAfterDate:B,yearsToShow:E,name:_,helpLabel:S,errorLabel:N,invalid:R,days:U,months:V,monthLabel:F,yearLabel:K,placeholder:W="dd.mm.åååå",width:A="11.25rem",onChange:G,onBlur:H,onFocus:M,onKeyDown:q,action:$,showCalendarLabel:z="Åpne kalender",hideCalendarLabel:J="Lukk kalender",supportLabelProps:Q,tooltip:X,textInputProps:Y,description:Z,...ee}=n;"production"!==process.env.NODE_ENV&&P&&I&&console.warn("DatePicker må enten være controlled eller uncontrolled. Hvis du bruker defaultValue og value sammen vil defaultValue bli ignorert.");const te=h(T),re=te?a(te).startOf("day").toDate():void 0,ae=h(B),oe=ae?a(ae).startOf("day").toDate():void 0,[ne,le]=l(o(P,I,re,oe)),[se,ie]=l(null),[ue,ce]=l(O),de=s(null),pe=s(null),me=s(null),fe=s(null),ve=s(!1),De=i(e=>{fe.current=e,j&&("function"==typeof j?j(e):j.current=e)},[j]),he=i(e=>{M&&pe.current&&(pe.current.contains(e.relatedTarget)||M(e,ne,{error:se,value:e.target.value}))},[M,ne,se]),be=i(e=>{H&&H(e,ne,{error:se,value:e.target.value})},[H,ne,se]),ge=i(e=>{"Escape"===e.key&&(ce(!1),e.preventDefault(),e.stopPropagation()),$?.onKeyDown&&$.onKeyDown(e)},[$]),ke=i(e=>{const t=e.currentTarget.value,r=((e,t)=>{const r=e.replace(/\D/g,""),a=c(r,{partial:!0}),o=e.replace(/\D+$/,""),n=8===r.length?c(r):e,l=h(n)?n:null,s=t&&e!==r&&o===a&&void 0===h(e)&&null===l;return l??(s?r:e)})(t,ve.current);r!==t&&((e,t)=>{const r=Object.getOwnPropertyDescriptor(HTMLInputElement.prototype,"value")?.set;r?r.call(e,t):e.value=t})(e.currentTarget,r);const a=t.replace(/\D/g,"");ve.current=t===a&&r===c(a)&&r!==t&&void 0!==h(r);const{date:o,error:n}=(({value:e,minDate:t,maxDate:r})=>{if(!e)return{date:null,error:null};const a=h(e);return a?t&&!g(a,t)?{date:a,error:"OUTSIDE_LOWER_BOUND"}:r&&!k(a,r)?{date:a,error:"OUTSIDE_UPPER_BOUND"}:{date:a,error:null}:{date:null,error:"WRONG_FORMAT"}})({value:r,minDate:re,maxDate:oe});o&&!n&&ce(!1),ie(n),le(o),G&&G(e,o,{error:n,value:r})},[G,re,oe]),je=i(e=>{u(()=>{ce(!ue)});const t=de.current,r=t&&t.querySelector('[aria-pressed="true"]');window.requestAnimationFrame(()=>r?.focus()),$?.onClick&&$.onClick(e)},[ue,$]),ye=i(({date:e})=>{if(ce(!1),le(e),fe.current){const t=fe.current;ve.current=!1,t.value=b(e);const r=document.createEvent("HTMLEvents");r.initEvent("input",!0,!1),t.dispatchEvent(r),t.focus(),G&&G(r,e,{error:null,value:t.value})}},[G]),Le=i(e=>{e.preventDefault(),ce(!1),me.current?.focus()},[]);return e(m,{id:L,className:r("jkl-datepicker",w),...ee,ref:pe,label:x,labelProps:C,helpLabel:S,errorLabel:N,supportLabelProps:Q,tooltip:X,description:Z,render:r=>e(v,{"data-focused":ue?"true":void 0,ref:De,"data-testid":"jkl-datepicker__input","data-testautoid":y,className:"jkl-datepicker__input",name:_,defaultValue:I,value:P,type:"text",placeholder:W,width:A,onFocus:he,onBlur:be,onChange:ke,actionButton:t(f,{positionReference:fe,open:ue,onOpenChange:()=>ce(!ue),offset:8,children:[e(f.Trigger,{...$,"data-testid":"jkl-datepicker__trigger",className:"jkl-text-input-action-button",title:ue?J:z,tabIndex:0,onClick:je,onKeyDown:ge,asChild:!0,children:e(d,{children:e(p,{})})}),e(f.Content,{initialFocus:-1,padding:24,children:e(D,{ref:de,date:ne,minDate:re,maxDate:oe,days:U,months:V,monthLabel:F,yearLabel:K,yearsToShow:E,onDateSelected:ye,onTabOutside:Le})})]}),...Y,...r,"aria-invalid":R||!!N})})});j.displayName="DatePicker";export{j as DatePicker};
1
+ import{jsx as e,jsxs as t}from"react/jsx-runtime";import{c as r}from"../../../clsx-BeLtu-UY.js";import{d as a,g as o}from"../../../utils-CtwpNW4I.js";import{forwardRef as n,useState as l,useRef as s,useCallback as i}from"react";import{flushSync as u}from"react-dom";import{formatDateString as c}from"../../utilities/formatters/date/formatDate.js";import{IconButton as d}from"../icon-button/IconButton.js";import{CalendarIcon as p}from"../icon/icons/CalendarIcon.js";import{InputGroup as m}from"../input-group/InputGroup.js";import{Popover as f}from"../popover/Popover.js";import{BaseTextInput as v}from"../text-input/BaseTextInput.js";import{Calendar as D}from"./internal/Calendar.js";import{parseDateString as h,formatInput as b}from"./utils.js";import{isWithinLowerBound as g,isWithinUpperBound as k}from"./validation.js";const j=n((n,j)=>{const{"data-testautoid":y,id:L,className:w="",label:x="Velg dato",labelProps:C,defaultValue:I,defaultShow:O=!1,value:P,disableBeforeDate:T,disableAfterDate:B,yearsToShow:E,name:_,helpLabel:S,errorLabel:N,invalid:R,days:U,months:V,monthLabel:F,yearLabel:K,placeholder:W="dd.mm.åååå",width:A="11.25rem",onChange:G,onBlur:H,onFocus:M,onKeyDown:q,action:$,showCalendarLabel:z="Åpne kalender",hideCalendarLabel:J="Lukk kalender",supportLabelProps:Q,tooltip:X,textInputProps:Y,description:Z,...ee}=n;"production"!==process.env.NODE_ENV&&P&&I&&console.warn("DatePicker må enten være controlled eller uncontrolled. Hvis du bruker defaultValue og value sammen vil defaultValue bli ignorert.");const te=h(T),re=te?a(te).startOf("day").toDate():void 0,ae=h(B),oe=ae?a(ae).startOf("day").toDate():void 0,[ne,le]=l(o(P,I,re,oe)),[se,ie]=l(null),[ue,ce]=l(O),de=s(null),pe=s(null),me=s(null),fe=s(null),ve=s(!1),De=i(e=>{fe.current=e,j&&("function"==typeof j?j(e):j.current=e)},[j]),he=i(e=>{M&&pe.current&&(pe.current.contains(e.relatedTarget)||M(e,ne,{error:se,value:e.target.value}))},[M,ne,se]),be=i(e=>{H&&H(e,ne,{error:se,value:e.target.value})},[H,ne,se]),ge=i(e=>{"Escape"===e.key&&(ce(!1),e.preventDefault(),e.stopPropagation()),$?.onKeyDown&&$.onKeyDown(e)},[$]),ke=i(e=>{const t=e.currentTarget.value,r=((e,t)=>{const r=e.replace(/\D/g,""),a=c(r,{partial:!0}),o=e.replace(/\D+$/,""),n=8===r.length?c(r):e,l=h(n)?n:null,s=t&&e!==r&&o===a&&void 0===h(e)&&null===l;return l??(s?r:e)})(t,ve.current);r!==t&&((e,t)=>{const r=Object.getOwnPropertyDescriptor(HTMLInputElement.prototype,"value")?.set;r?r.call(e,t):e.value=t})(e.currentTarget,r);const a=t.replace(/\D/g,"");ve.current=t===a&&r===c(a)&&r!==t&&void 0!==h(r);const{date:o,error:n}=(({value:e,minDate:t,maxDate:r})=>{if(!e)return{date:null,error:null};const a=h(e);return a?t&&!g(a,t)?{date:a,error:"OUTSIDE_LOWER_BOUND"}:r&&!k(a,r)?{date:a,error:"OUTSIDE_UPPER_BOUND"}:{date:a,error:null}:{date:null,error:"WRONG_FORMAT"}})({value:r,minDate:re,maxDate:oe});o&&!n&&ce(!1),ie(n),le(o),G&&G(e,o,{error:n,value:r})},[G,re,oe]),je=i(e=>{u(()=>{ce(!ue)});const t=de.current,r=t&&t.querySelector('[aria-pressed="true"]');window.requestAnimationFrame(()=>r?.focus()),$?.onClick&&$.onClick(e)},[ue,$]),ye=i(({date:e})=>{if(ce(!1),le(e),fe.current){const t=fe.current;ve.current=!1,t.value=b(e);const r=document.createEvent("HTMLEvents");r.initEvent("input",!0,!1),t.dispatchEvent(r),t.focus(),G&&G(r,e,{error:null,value:t.value})}},[G]),Le=i(e=>{e.preventDefault(),ce(!1),me.current?.focus()},[]);return e(m,{id:L,className:r("jkl-datepicker",w),...ee,ref:pe,label:x,labelProps:C,helpLabel:S,errorLabel:N,supportLabelProps:Q,tooltip:X,description:Z,render:r=>e(v,{"data-focused":ue?"true":void 0,ref:De,"data-testid":"jkl-datepicker__input","data-testautoid":y,className:"jkl-datepicker__input",name:_,defaultValue:I,value:P,type:"text",placeholder:W,width:A,onFocus:he,onBlur:be,onChange:ke,actionButton:t(f,{positionReference:fe,open:ue,onOpenChange:()=>ce(!ue),offset:8,children:[e(f.Trigger,{...$,"data-testid":"jkl-datepicker__trigger",className:"jkl-text-input-action-button",title:ue?J:z,tabIndex:0,onClick:je,onKeyDown:ge,asChild:!0,children:e(d,{children:e(p,{})})}),e(f.Content,{initialFocus:-1,padding:24,children:e(D,{ref:de,date:ne,minDate:re,maxDate:oe,days:U,months:V,monthLabel:F,yearLabel:K,yearsToShow:E,onDateSelected:ye,onTabOutside:Le})})]}),...Y,...r,"aria-invalid":R||!!N})})});j.displayName="DatePicker";export{j as DatePicker};
2
2
  //# sourceMappingURL=DatePicker.js.map
@@ -1,2 +1,2 @@
1
- import{jsx as e,jsxs as t}from"react/jsx-runtime";import{forwardRef as a,useReducer as n,useEffect as r,useCallback as l,useRef as o}from"react";import{flushSync as s}from"react-dom";import{useId as d}from"../../../hooks/useId/useId.js";import{Button as c}from"../../button/Button.js";import{ArrowLeftIcon as i}from"../../icon/icons/ArrowLeftIcon.js";import{ArrowRightIcon as u}from"../../icon/icons/ArrowRightIcon.js";import{ChevronDownIcon as h}from"../../icon/icons/ChevronDownIcon.js";import{calendarReducer as m,calendarInitializer as f}from"./calendarReducer.js";import{useCalendar as g}from"./useCalendar.js";import{D as b,a as p,i as v,s as k,b as j,c as D,e as w,f as y}from"../../../../utils-CcE6HjQp.js";const M=["Januar","Februar","Mars","April","Mai","Juni","Juli","August","September","Oktober","November","Desember"],F=["man","tir","ons","tor","fre","lør","søn"],S=a((a,S)=>{const{date:A,defaultSelected:N,minDate:_,maxDate:$,days:x=F,months:C=M,monthLabel:E="Velg måned",yearLabel:Y="Velg år",yearsToShow:I=b,onTabOutside:O,...T}=a,R=d("jkl-calendar"),[{offset:L,selectedDate:q,shownDate:K},B]=n(m,p(A,N,_,$),f),J=K.getMonth(),P=K.getFullYear();r(()=>{B({type:"SET_SELECTED_DATE",newDate:p(A,N,_,$)})},[A,N,_,$]);const V=l(e=>{B({type:"SET_OFFSET",newOffset:e})},[]),{calendars:z,getBackProps:U,getDateProps:W,getForwardProps:G,handleOffsetChanged:H}=g({date:q,selected:q,minDate:_,maxDate:$,offset:L,onOffsetChanged:V,firstDayOfWeek:1,...T}),Q=o(null),X=l(e=>{if(!Q.current)return;const t=document.activeElement,a=Q.current.querySelectorAll('button.jkl-calendar-date-button:not([data-adjacent="true"]'),n=async e=>{t?.setAttribute("tabindex","-1"),e.setAttribute("tabindex","0"),e.focus()};a.forEach((r,l)=>{const o=l+e;if(r===t)if(o<=a.length-1&&o>=0)n(a[o]);else if(e<0){if(v({calendars:z,minDate:_})||(s(()=>{H(L-k({calendars:z,offset:1,minDate:_}))}),!Q.current))return;const e=Q.current.querySelectorAll('button.jkl-calendar-date-button:not([data-adjacent="true"]');e[e.length+o]&&(e[0].setAttribute("tabindex","-1"),n(e[e.length+o]))}else{if(j({calendars:z,maxDate:$})||(s(()=>{H(L+D({calendars:z,offset:1,maxDate:$}))}),!Q.current))return;const e=Q.current.querySelectorAll('button.jkl-calendar-date-button:not([data-adjacent="true"]');e[o-a.length]&&(e[0].setAttribute("tabindex","-1"),n(e[o-a.length]))}})},[H,L,z,$,_]),Z=l(e=>{switch(e.key){case"ArrowUp":X(-7),e.preventDefault();break;case"ArrowRight":X(1),e.preventDefault();break;case"ArrowDown":X(7),e.preventDefault();break;case"ArrowLeft":X(-1),e.preventDefault()}},[X]),ee=l(e=>{if("Tab"!==e.key)return;const t=Q.current?.querySelectorAll('button:not([disabled]):not([tabindex="-1"]), select');if(!t)return;const a=t[0],n=t[t.length-1];e.shiftKey||document.activeElement!==n?e.shiftKey&&document.activeElement===a&&(n.focus(),e.preventDefault()):(a.focus(),e.preventDefault())},[]),te=l(e=>{const{date:t,selected:a,selectable:n,prevMonth:r,nextMonth:l}=e;return!!n&&!(!a&&t.toString()!==_?.toString()&&(r||l||K.getFullYear()!==t.getFullYear()||q.getMonth()===t.getMonth()||1!==t.getDate()))},[K,_,q]),ae=l(()=>{_&&K.getFullYear()-_.getFullYear()===0&&K.getMonth()-_.getMonth()===1?document.querySelector(`[data-testid="${R}-forward-button"]`)?.focus():$&&$.getFullYear()-K.getFullYear()===0&&$.getMonth()-K.getMonth()===1&&document.querySelector(`[data-testid="${R}-back-button"]`)?.focus()},[_,$,K,R]),ne=l(e=>{if(4!==e.target.value.length)return;const t=Number.parseInt(e.target.value);if(Number.isNaN(t))return;let a=12*(t-K.getFullYear());const n=new Date(K.getFullYear(),K.getMonth()+a,K.getDate());$&&$.getFullYear()===n.getFullYear()&&$.getMonth()<n.getMonth()?a-=n.getMonth()-$.getMonth():_&&_.getFullYear()===n.getFullYear()&&_.getMonth()>n.getMonth()&&(a+=_.getMonth()-n.getMonth()),B({type:"ADD_OFFSET",addedOffset:a})},[K,_,$]),re=l(e=>{if(!q&&!A)return;const t=K.getFullYear()-(q||new Date).getFullYear(),a=Number.parseInt(e.target.value)-(q||new Date).getMonth();B({type:"SET_OFFSET",newOffset:12*t+a})},[q,A,K]),le=w(P,_,$,I),oe=y(P,C,_,$);return e("div",{ref:S,id:R,className:"jkl-calendar","data-testid":"jkl-calendar",children:t("div",{className:"jkl-calendar__padding",ref:Q,onKeyDown:ee,children:[t("fieldset",{className:"jkl-calendar-navigation",children:[t("div",{children:[e(c,{...U({calendars:z,onClick:ae}),"data-testid":`${R}-back-button`,variant:"ghost",icon:e(i,{variant:"medium",bold:!0})}),e(c,{...G({calendars:z,onClick:ae}),variant:"ghost","data-testid":`${R}-forward-button`,icon:e(u,{variant:"medium",bold:!0})})]}),t("div",{children:[t("div",{className:"jkl-calendar-navigation-dropdown",children:[e("select",{onChange:re,className:"jkl-calendar-navigation-dropdown__select","aria-label":E,value:J.toString(),children:oe.map(({label:t,value:a})=>e("option",{value:a,children:t},a))}),e(h,{bold:!0,className:"jkl-calendar-navigation-dropdown__chevron"})]}),t("div",{className:"jkl-calendar-navigation-dropdown",children:[e("select",{onChange:ne,className:"jkl-calendar-navigation-dropdown__select","aria-label":Y,value:P.toString(),children:le.map(t=>e("option",{value:t,children:t},t))}),e(h,{bold:!0,className:"jkl-calendar-navigation-dropdown__chevron"})]})]})]}),z.map(a=>t("table",{className:"jkl-calendar-table","data-testid":"jkl-datepicker-calendar",children:[t("caption",{className:"jkl-sr-only",children:[C[a.month],", ",a.year]}),e("thead",{children:e("tr",{children:x.map(t=>e("th",{children:t},`${a.month}${a.year}${t}`))})}),e("tbody",{"data-testid":"jkl-datepicker-dates",children:a.weeks.map((t,n)=>e("tr",{children:t.map((t,r)=>{const l=`${a.month}${a.year}${n}${r}`;if("string"==typeof t)return e("td",{className:"jkl-calendar__date jkl-calendar__date--empty",children:t},l);const{date:o,selectable:s,today:d,prevMonth:c,nextMonth:i}=t;return e("td",{children:e("button",{...W({dateObj:t}),type:"button",className:"jkl-calendar-date-button",tabIndex:te(t)?0:-1,"aria-label":`${o.getDate()}. ${C[o.getMonth()].toLowerCase()}`,"aria-current":d?"date":void 0,"data-adjacent":c||i?"true":void 0,disabled:!s,onKeyDown:Z,children:e("span",{"aria-hidden":"true",children:o.getDate()})})},l)})},`${a.month}${a.year}${n}`))})]},`${a.month}${a.year}`))]})})});S.displayName="Calendar";export{S as Calendar};
1
+ import{jsx as e,jsxs as t}from"react/jsx-runtime";import{forwardRef as a,useReducer as n,useEffect as r,useCallback as l,useRef as o}from"react";import{flushSync as s}from"react-dom";import{useId as d}from"../../../hooks/useId/useId.js";import{Button as c}from"../../button/Button.js";import{ArrowLeftIcon as i}from"../../icon/icons/ArrowLeftIcon.js";import{ArrowRightIcon as u}from"../../icon/icons/ArrowRightIcon.js";import{ChevronDownIcon as h}from"../../icon/icons/ChevronDownIcon.js";import{calendarReducer as m,calendarInitializer as f}from"./calendarReducer.js";import{useCalendar as g}from"./useCalendar.js";import{D as b,a as p,i as v,s as k,b as j,c as D,e as w,f as y}from"../../../../utils-CtwpNW4I.js";const M=["Januar","Februar","Mars","April","Mai","Juni","Juli","August","September","Oktober","November","Desember"],F=["man","tir","ons","tor","fre","lør","søn"],S=a((a,S)=>{const{date:A,defaultSelected:N,minDate:_,maxDate:$,days:x=F,months:C=M,monthLabel:E="Velg måned",yearLabel:Y="Velg år",yearsToShow:I=b,onTabOutside:O,...T}=a,R=d("jkl-calendar"),[{offset:L,selectedDate:q,shownDate:K},B]=n(m,p(A,N,_,$),f),J=K.getMonth(),P=K.getFullYear();r(()=>{B({type:"SET_SELECTED_DATE",newDate:p(A,N,_,$)})},[A,N,_,$]);const V=l(e=>{B({type:"SET_OFFSET",newOffset:e})},[]),{calendars:z,getBackProps:U,getDateProps:W,getForwardProps:G,handleOffsetChanged:H}=g({date:q,selected:q,minDate:_,maxDate:$,offset:L,onOffsetChanged:V,firstDayOfWeek:1,...T}),Q=o(null),X=l(e=>{if(!Q.current)return;const t=document.activeElement,a=Q.current.querySelectorAll('button.jkl-calendar-date-button:not([data-adjacent="true"]'),n=async e=>{t?.setAttribute("tabindex","-1"),e.setAttribute("tabindex","0"),e.focus()};a.forEach((r,l)=>{const o=l+e;if(r===t)if(o<=a.length-1&&o>=0)n(a[o]);else if(e<0){if(v({calendars:z,minDate:_})||(s(()=>{H(L-k({calendars:z,offset:1,minDate:_}))}),!Q.current))return;const e=Q.current.querySelectorAll('button.jkl-calendar-date-button:not([data-adjacent="true"]');e[e.length+o]&&(e[0].setAttribute("tabindex","-1"),n(e[e.length+o]))}else{if(j({calendars:z,maxDate:$})||(s(()=>{H(L+D({calendars:z,offset:1,maxDate:$}))}),!Q.current))return;const e=Q.current.querySelectorAll('button.jkl-calendar-date-button:not([data-adjacent="true"]');e[o-a.length]&&(e[0].setAttribute("tabindex","-1"),n(e[o-a.length]))}})},[H,L,z,$,_]),Z=l(e=>{switch(e.key){case"ArrowUp":X(-7),e.preventDefault();break;case"ArrowRight":X(1),e.preventDefault();break;case"ArrowDown":X(7),e.preventDefault();break;case"ArrowLeft":X(-1),e.preventDefault()}},[X]),ee=l(e=>{if("Tab"!==e.key)return;const t=Q.current?.querySelectorAll('button:not([disabled]):not([tabindex="-1"]), select');if(!t)return;const a=t[0],n=t[t.length-1];e.shiftKey||document.activeElement!==n?e.shiftKey&&document.activeElement===a&&(n.focus(),e.preventDefault()):(a.focus(),e.preventDefault())},[]),te=l(e=>{const{date:t,selected:a,selectable:n,prevMonth:r,nextMonth:l}=e;return!!n&&!(!a&&t.toString()!==_?.toString()&&(r||l||K.getFullYear()!==t.getFullYear()||q.getMonth()===t.getMonth()||1!==t.getDate()))},[K,_,q]),ae=l(()=>{_&&K.getFullYear()-_.getFullYear()===0&&K.getMonth()-_.getMonth()===1?document.querySelector(`[data-testid="${R}-forward-button"]`)?.focus():$&&$.getFullYear()-K.getFullYear()===0&&$.getMonth()-K.getMonth()===1&&document.querySelector(`[data-testid="${R}-back-button"]`)?.focus()},[_,$,K,R]),ne=l(e=>{if(4!==e.target.value.length)return;const t=Number.parseInt(e.target.value);if(Number.isNaN(t))return;let a=12*(t-K.getFullYear());const n=new Date(K.getFullYear(),K.getMonth()+a,K.getDate());$&&$.getFullYear()===n.getFullYear()&&$.getMonth()<n.getMonth()?a-=n.getMonth()-$.getMonth():_&&_.getFullYear()===n.getFullYear()&&_.getMonth()>n.getMonth()&&(a+=_.getMonth()-n.getMonth()),B({type:"ADD_OFFSET",addedOffset:a})},[K,_,$]),re=l(e=>{if(!q&&!A)return;const t=K.getFullYear()-(q||new Date).getFullYear(),a=Number.parseInt(e.target.value)-(q||new Date).getMonth();B({type:"SET_OFFSET",newOffset:12*t+a})},[q,A,K]),le=w(P,_,$,I),oe=y(P,C,_,$);return e("div",{ref:S,id:R,className:"jkl-calendar","data-testid":"jkl-calendar",children:t("div",{className:"jkl-calendar__padding",ref:Q,onKeyDown:ee,children:[t("fieldset",{className:"jkl-calendar-navigation",children:[t("div",{children:[e(c,{...U({calendars:z,onClick:ae}),"data-testid":`${R}-back-button`,variant:"ghost",icon:e(i,{variant:"medium",bold:!0})}),e(c,{...G({calendars:z,onClick:ae}),variant:"ghost","data-testid":`${R}-forward-button`,icon:e(u,{variant:"medium",bold:!0})})]}),t("div",{children:[t("div",{className:"jkl-calendar-navigation-dropdown",children:[e("select",{onChange:re,className:"jkl-calendar-navigation-dropdown__select","aria-label":E,value:J.toString(),children:oe.map(({label:t,value:a})=>e("option",{value:a,children:t},a))}),e(h,{bold:!0,className:"jkl-calendar-navigation-dropdown__chevron"})]}),t("div",{className:"jkl-calendar-navigation-dropdown",children:[e("select",{onChange:ne,className:"jkl-calendar-navigation-dropdown__select","aria-label":Y,value:P.toString(),children:le.map(t=>e("option",{value:t,children:t},t))}),e(h,{bold:!0,className:"jkl-calendar-navigation-dropdown__chevron"})]})]})]}),z.map(a=>t("table",{className:"jkl-calendar-table","data-testid":"jkl-datepicker-calendar",children:[t("caption",{className:"jkl-sr-only",children:[C[a.month],", ",a.year]}),e("thead",{children:e("tr",{children:x.map(t=>e("th",{children:t},`${a.month}${a.year}${t}`))})}),e("tbody",{"data-testid":"jkl-datepicker-dates",children:a.weeks.map((t,n)=>e("tr",{children:t.map((t,r)=>{const l=`${a.month}${a.year}${n}${r}`;if("string"==typeof t)return e("td",{className:"jkl-calendar__date jkl-calendar__date--empty",children:t},l);const{date:o,selectable:s,today:d,prevMonth:c,nextMonth:i}=t;return e("td",{children:e("button",{...W({dateObj:t}),type:"button",className:"jkl-calendar-date-button",tabIndex:te(t)?0:-1,"aria-label":`${o.getDate()}. ${C[o.getMonth()].toLowerCase()}`,"aria-current":d?"date":void 0,"data-adjacent":c||i?"true":void 0,disabled:!s,onKeyDown:Z,children:e("span",{"aria-hidden":"true",children:o.getDate()})})},l)})},`${a.month}${a.year}${n}`))})]},`${a.month}${a.year}`))]})})});S.displayName="Calendar";export{S as Calendar};
2
2
  //# sourceMappingURL=Calendar.js.map
@@ -1,2 +1,2 @@
1
- import{h as e,d as a,b as t,j as n,i as s,s as o,c as f}from"../../../../utils-CcE6HjQp.js";import{useState as l}from"react";function d(e){return void 0!==e}function i(e,{onClick:a,dateObj:t}){return{onClick:n(a,a=>{e(t,a)}),disabled:!t.selectable,"aria-pressed":t.selected,role:"button"}}function r({minDate:e,offsetMonth:a,handleOffsetChanged:t},{onClick:f,offset:l=1,calendars:d}){const i=`Gå tilbake ${l} måned${1===l?"":"er"}`;return{onClick:n(f,()=>{t(a-o({calendars:d,offset:l,minDate:e}))}),disabled:s({calendars:d,minDate:e}),"aria-label":i,title:i}}function c({maxDate:e,offsetMonth:a,handleOffsetChanged:s},{onClick:o,offset:l=1,calendars:d}){const i=`Gå frem ${l} måned${1===l?"":"er"}`;return{onClick:n(o,()=>{s(a+f({calendars:d,offset:l,maxDate:e}))}),disabled:t({calendars:d,maxDate:e}),"aria-label":i,title:i}}function u({date:t=a().startOf("day").toDate(),maxDate:n,minDate:s,monthsToDisplay:o=1,firstDayOfWeek:f=0,showOutsideDays:u=!0,offset:m,onDateSelected:D,onOffsetChanged:h,selected:b}){const[C,O]=l(0),k=function(e,a){return d(e)?e:a}(m,C);function g(e){d(m)||O(e),h(e)}return{calendars:e({date:t,selected:b,monthsToDisplay:o,minDate:s,maxDate:n,offset:k,firstDayOfWeek:f,showOutsideDays:u}),getDateProps:i.bind(null,D),getBackProps:r.bind(null,{minDate:s,offsetMonth:k,handleOffsetChanged:g}),getForwardProps:c.bind(null,{maxDate:n,offsetMonth:k,handleOffsetChanged:g}),handleOffsetChanged:g}}export{u as useCalendar};
1
+ import{h as e,d as a,b as t,j as n,i as s,s as o,c as f}from"../../../../utils-CtwpNW4I.js";import{useState as l}from"react";function d(e){return void 0!==e}function i(e,{onClick:a,dateObj:t}){return{onClick:n(a,a=>{e(t,a)}),disabled:!t.selectable,"aria-pressed":t.selected,role:"button"}}function r({minDate:e,offsetMonth:a,handleOffsetChanged:t},{onClick:f,offset:l=1,calendars:d}){const i=`Gå tilbake ${l} måned${1===l?"":"er"}`;return{onClick:n(f,()=>{t(a-o({calendars:d,offset:l,minDate:e}))}),disabled:s({calendars:d,minDate:e}),"aria-label":i,title:i}}function c({maxDate:e,offsetMonth:a,handleOffsetChanged:s},{onClick:o,offset:l=1,calendars:d}){const i=`Gå frem ${l} måned${1===l?"":"er"}`;return{onClick:n(o,()=>{s(a+f({calendars:d,offset:l,maxDate:e}))}),disabled:t({calendars:d,maxDate:e}),"aria-label":i,title:i}}function u({date:t=a().startOf("day").toDate(),maxDate:n,minDate:s,monthsToDisplay:o=1,firstDayOfWeek:f=0,showOutsideDays:u=!0,offset:m,onDateSelected:D,onOffsetChanged:h,selected:b}){const[C,O]=l(0),k=function(e,a){return d(e)?e:a}(m,C);function g(e){d(m)||O(e),h(e)}return{calendars:e({date:t,selected:b,monthsToDisplay:o,minDate:s,maxDate:n,offset:k,firstDayOfWeek:f,showOutsideDays:u}),getDateProps:i.bind(null,D),getBackProps:r.bind(null,{minDate:s,offsetMonth:k,handleOffsetChanged:g}),getForwardProps:c.bind(null,{maxDate:n,offsetMonth:k,handleOffsetChanged:g}),handleOffsetChanged:g}}export{u as useCalendar};
2
2
  //# sourceMappingURL=useCalendar.js.map
@@ -1,2 +1,2 @@
1
- import{D as a,c as s,j as t,l as e,m as i,h as o,g as n,a as r,f as d,e as l,i as c,b as g,k as m,s as p}from"../../../../utils-CcE6HjQp.js";import"react";import"../utils.js";export{a as DEFAULT_YEARS_TO_SHOW,s as addMonth,t as composeEventHandlers,e as dateHasChanged,i as dateIsOutsideRange,o as getCalendars,n as getInitialDate,r as getInitialDateShown,d as getMonthSelectOptions,l as getYearSelectOptions,c as isBackDisabled,g as isForwardDisabled,m as isSameDay,p as subtractMonth};
1
+ import{D as a,c as s,j as t,k as e,l as i,h as o,g as n,a as r,f as d,e as l,i as c,b as g,m,s as p}from"../../../../utils-CtwpNW4I.js";import"react";import"../utils.js";export{a as DEFAULT_YEARS_TO_SHOW,s as addMonth,t as composeEventHandlers,e as dateHasChanged,i as dateIsOutsideRange,o as getCalendars,n as getInitialDate,r as getInitialDateShown,d as getMonthSelectOptions,l as getYearSelectOptions,c as isBackDisabled,g as isForwardDisabled,m as isSameDay,p as subtractMonth};
2
2
  //# sourceMappingURL=utils.js.map
@@ -1,2 +1,2 @@
1
- import{jsxs as e,jsx as s}from"react/jsx-runtime";import{useFloatingTree as t,useFloatingNodeId as n,useFloatingParentNodeId as o,useFloating as a,autoUpdate as r,offset as i,flip as l,shift as u,useInteractions as d,useHover as c,useClick as m,useDismiss as p,useRole as f,useListNavigation as g,safePolygon as h,useMergeRefs as v,useTransitionStyles as k,FloatingNode as x,FloatingPortal as y,FloatingFocusManager as P,FloatingTree as j}from"@floating-ui/react";import{c as F}from"../../../clsx-BeLtu-UY.js";import w,{forwardRef as I,useId as M,useRef as C,useState as E,useEffect as S}from"react";import{useBrowserPreferences as N}from"../../hooks/useBrowserPreferences/useBrowserPreferences.js";import"../../hooks/useScreen/useScreen.js";import"../../hooks/useId/useId.js";import{getThemeAndSize as O}from"../../utilities/getThemeAndSize.js";import{SlotComponent as R}from"../../utilities/polymorphism/SlotComponent.js";import{useMenuWideEvents as b}from"./useMenuWideEvents.js";function T(e,s=0){switch(e){case"top":default:return`0 ${s}px`;case"left":return`${s}px 0`;case"bottom":return`0 ${-s}px`;case"right":return-s+"px 0"}}const z=I((j,I)=>{const{children:z,className:A,initialPlacement:D,openOnHover:$=!1,keepOpenOnClickOutside:B=!1,triggerElement:H,isOpen:K,onToggle:V,...W}=j,q=`"jkl-menu"${M()}`,{prefersReducedMotion:L}=N(),U=t(),G=n(),J=o(),Q=null!=J,X=C([]),[Y,Z]=E(null),{allowHover:_,isOpen:ee,setIsOpen:se}=b(U,G,J),te=void 0!==K?K:ee;S(()=>V?.(te),[te,V]);const{refs:ne,placement:oe,context:ae,floatingStyles:re}=a({nodeId:G,open:te,onOpenChange:se,placement:D||(Q?"right-start":"bottom-start"),middleware:[i(2),l({fallbackAxisSideDirection:"end",crossAxis:!1}),u({padding:8})],whileElementsMounted:r}),{getReferenceProps:ie,getFloatingProps:le,getItemProps:ue}=d([c(ae,{enabled:$&&_,delay:{open:75},handleClose:h({requireIntent:!0,blockPointerEvents:!0})}),m(ae,{event:"mousedown"}),p(ae,{outsidePress:!B}),f(ae,{role:"menu"}),g(ae,{listRef:X,activeIndex:Y,nested:Q,onNavigate:Z})]),de=v([ne.setReference,I]),{theme:ce,size:me}=O(ne.reference.current),{isMounted:pe,styles:fe}=k(ae,{duration:{open:L?0:250,close:L?0:150},initial:({side:e})=>({opacity:0,translate:T(e,5)}),open:({side:e})=>({opacity:1,translate:T(e,0)}),close:({side:e})=>({opacity:0,translate:T(e,5)})});return e(x,{id:G,children:[w.isValidElement(H)&&s(R,{...ie({...W,ref:de,role:Q?"menuitem":void 0,"aria-controls":q,onClick(e){e.stopPropagation()}}),children:H}),pe&&s(y,{children:s(P,{context:ae,modal:!1,initialFocus:Q?-1:0,returnFocus:!Q,children:s("div",{className:F("jkl jkl-menu",A),"data-theme":ce,"data-size":me,role:"menu","data-placement":oe,"aria-live":"assertive","aria-hidden":!te,ref:ne.setFloating,...le({id:q,style:{...re,...fe}}),children:w.Children.map(z,(e,t)=>w.isValidElement(e)?s(R,{...ue({...e.props,tabIndex:Y===t?0:-1,role:"menuitem",ref(e){X.current[t]=e},onClick(e){e.defaultPrevented||U?.events.emit("click")},onKeyDown(s){e.props.onKeyDown?.(s),!s.defaultPrevented&&(U?.events.emit("keydown"),"menuitemcheckbox"===s.currentTarget.role&&"Enter"===s.key&&se(!1))},onMouseEnter(){_&&te&&Z(t)}}),children:e}):e)})})})]})});z.displayName="MenuComponent";const A=I((e,t)=>null===o()?s(j,{children:s(z,{ref:t,...e})}):s(z,{ref:t,...e}));A.displayName="Menu";export{A as Menu};
1
+ import{jsxs as e,jsx as s}from"react/jsx-runtime";import{useFloatingTree as t,useFloatingNodeId as n,useFloatingParentNodeId as o,useFloating as a,autoUpdate as r,offset as i,flip as l,shift as u,useInteractions as d,useHover as c,safePolygon as m,useClick as p,useDismiss as f,useRole as g,useListNavigation as h,useMergeRefs as v,useTransitionStyles as k,FloatingNode as x,FloatingPortal as y,FloatingFocusManager as P,FloatingTree as j}from"@floating-ui/react";import{c as F}from"../../../clsx-BeLtu-UY.js";import w,{forwardRef as I,useId as M,useRef as C,useState as E,useEffect as S}from"react";import{useBrowserPreferences as N}from"../../hooks/useBrowserPreferences/useBrowserPreferences.js";import"../../hooks/useScreen/useScreen.js";import"../../hooks/useId/useId.js";import{getThemeAndSize as O}from"../../utilities/getThemeAndSize.js";import{SlotComponent as R}from"../../utilities/polymorphism/SlotComponent.js";import{useMenuWideEvents as b}from"./useMenuWideEvents.js";function T(e,s=0){switch(e){case"top":default:return`0 ${s}px`;case"left":return`${s}px 0`;case"bottom":return`0 ${-s}px`;case"right":return-s+"px 0"}}const z=I((j,I)=>{const{children:z,className:A,initialPlacement:D,openOnHover:$=!1,keepOpenOnClickOutside:B=!1,triggerElement:H,isOpen:K,onToggle:V,...W}=j,q=`"jkl-menu"${M()}`,{prefersReducedMotion:L}=N(),U=t(),G=n(),J=o(),Q=null!=J,X=C([]),[Y,Z]=E(null),{allowHover:_,isOpen:ee,setIsOpen:se}=b(U,G,J),te=void 0!==K?K:ee;S(()=>V?.(te),[te,V]);const{refs:ne,placement:oe,context:ae,floatingStyles:re}=a({nodeId:G,open:te,onOpenChange:se,placement:D||(Q?"right-start":"bottom-start"),middleware:[i(2),l({fallbackAxisSideDirection:"end",crossAxis:!1}),u({padding:8})],whileElementsMounted:r}),{getReferenceProps:ie,getFloatingProps:le,getItemProps:ue}=d([c(ae,{enabled:$&&_,delay:{open:75},handleClose:m({requireIntent:!0,blockPointerEvents:!0})}),p(ae,{event:"mousedown"}),f(ae,{outsidePress:!B}),g(ae,{role:"menu"}),h(ae,{listRef:X,activeIndex:Y,nested:Q,onNavigate:Z})]),de=v([ne.setReference,I]),{theme:ce,size:me}=O(ne.reference.current),{isMounted:pe,styles:fe}=k(ae,{duration:{open:L?0:250,close:L?0:150},initial:({side:e})=>({opacity:0,translate:T(e,5)}),open:({side:e})=>({opacity:1,translate:T(e,0)}),close:({side:e})=>({opacity:0,translate:T(e,5)})});return e(x,{id:G,children:[w.isValidElement(H)&&s(R,{...ie({...W,ref:de,role:Q?"menuitem":void 0,"aria-controls":q,onClick(e){e.stopPropagation()}}),children:H}),pe&&s(y,{children:s(P,{context:ae,modal:!1,initialFocus:Q?-1:0,returnFocus:!Q,children:s("div",{className:F("jkl jkl-menu",A),"data-theme":ce,"data-size":me,role:"menu","data-placement":oe,"aria-live":"assertive","aria-hidden":!te,ref:ne.setFloating,...le({id:q,style:{...re,...fe}}),children:w.Children.map(z,(e,t)=>w.isValidElement(e)?s(R,{...ue({...e.props,tabIndex:Y===t?0:-1,role:"menuitem",ref(e){X.current[t]=e},onClick(e){e.defaultPrevented||U?.events.emit("click")},onKeyDown(s){e.props.onKeyDown?.(s),!s.defaultPrevented&&(U?.events.emit("keydown"),"menuitemcheckbox"===s.currentTarget.role&&"Enter"===s.key&&se(!1))},onMouseEnter(){_&&te&&Z(t)}}),children:e}):e)})})})]})});z.displayName="MenuComponent";const A=I((e,t)=>null===o()?s(j,{children:s(z,{ref:t,...e})}):s(z,{ref:t,...e}));A.displayName="Menu";export{A as Menu};
2
2
  //# sourceMappingURL=Menu.js.map
@@ -1,11 +1,16 @@
1
+ import { AriaRole } from 'react';
1
2
  import { WithChildren } from '../../core/types.js';
2
3
  export interface SystemMessageProps extends WithChildren {
3
4
  id?: string;
4
5
  className?: string;
5
6
  maxContentWidth?: string;
6
7
  paddingLeft?: string;
7
- /** Overstyr standardrollen til meldingen. Om du ønsker å "skru av" rollen kan du bruke verdien `none presentation`. */
8
- role?: string;
8
+ /**
9
+ * Overstyr standardrollen til meldingen. Om du ønsker å "skru av" rollen kan du bruke verdien `none` eller `presentation`.
10
+ *
11
+ * @see https://www.w3.org/TR/wai-aria-1.2/#role_definitions
12
+ */
13
+ role?: AriaRole | string;
9
14
  dismissed?: boolean;
10
15
  dismissAction?: {
11
16
  handleDismiss: () => void;
@@ -1,2 +1,2 @@
1
- import{jsxs as e,jsx as t}from"react/jsx-runtime";import{ToastQueue as o}from"@react-stately/toast";import{createContext as s,useContext as a,useState as i}from"react";import{ToastRegion as r}from"./ToastRegion.js";const m=s({add:()=>"missing-provider",close:()=>{}}),n=()=>a(m),u=({children:s,maxVisibleToasts:a=5,placement:n="center"})=>{const[u]=i(new o({maxVisibleToasts:a,hasExitAnimation:!0}));return e(m.Provider,{value:{close:u.close.bind(u),add:(e,t)=>{let o=5e3;return"number"==typeof t?.timeout?o=t.timeout:(null===t?.timeout||"off"===t?.timeout)&&(o=void 0),u.add(e,{...t,timeout:o})}},children:[s,t(r,{queue:u,placement:n})]})};export{u as ToastProvider,n as useToast};
1
+ import{jsxs as e,jsx as t}from"react/jsx-runtime";import{ToastQueue as o}from"@react-stately/toast";import{createContext as s,useState as a,useContext as i}from"react";import{ToastRegion as r}from"./ToastRegion.js";const m=s({add:()=>"missing-provider",close:()=>{}}),n=()=>i(m),u=({children:s,maxVisibleToasts:i=5,placement:n="center"})=>{const[u]=a(new o({maxVisibleToasts:i,hasExitAnimation:!0}));return e(m.Provider,{value:{close:u.close.bind(u),add:(e,t)=>{let o=5e3;return"number"==typeof t?.timeout?o=t.timeout:(null===t?.timeout||"off"===t?.timeout)&&(o=void 0),u.add(e,{...t,timeout:o})}},children:[s,t(r,{queue:u,placement:n})]})};export{u as ToastProvider,n as useToast};
2
2
  //# sourceMappingURL=toastContext.js.map
@@ -1,2 +1,2 @@
1
- import{jsx as e}from"react/jsx-runtime";import{useFloating as t,offset as n,flip as o,shift as s,arrow as r,autoUpdate as a,useRole as i,useDismiss as l,useClick as u,useHover as p,useFocus as c,useInteractions as d}from"@floating-ui/react";import{createContext as m,useContext as f,useState as x,useRef as g}from"react";const h=m(null),v=h.Provider,O=()=>{const e=f(h);if(null===e)throw new Error("Tooltip-komponentene kan kun brukes inne i <Tooltip />");return e},k=({children:m,...f})=>{const h=(({initialOpen:e=!1,placement:m="top",delay:f=250,triggerOn:h="hover",onOpenChange:v})=>{const[O,k]=x(e),w=g(null),C=g(null),T=t({open:O,onOpenChange:e=>{v?.(e),k(e)},placement:m,whileElementsMounted:a,middleware:[n(16),o(),s({padding:16}),r({element:w,padding:8})]}),b=i(T.context,{role:"tooltip"}),E=l(T.context),j=u(T.context,{enabled:"click"===h}),y=p(T.context,{enabled:"hover"===h,delay:O?0:f}),D=c(T.context,{enabled:"hover"===h}),F=d([E,D,b,j,y]);return{triggerOn:h,isOpen:O,setOpen:k,arrowElement:w,...T,refs:{...T.refs,description:C,setDescription:e=>{C.current=e}},...F}})(f);return e(v,{value:h,children:m})};export{k as Tooltip,v as TooltipProvider,O as useTooltipContext};
1
+ import{jsx as e}from"react/jsx-runtime";import{useFloating as t,autoUpdate as n,offset as o,flip as s,shift as r,arrow as a,useRole as i,useDismiss as l,useClick as u,useHover as p,useFocus as c,useInteractions as d}from"@floating-ui/react";import{createContext as m,useContext as f,useState as x,useRef as g}from"react";const h=m(null),v=h.Provider,O=()=>{const e=f(h);if(null===e)throw new Error("Tooltip-komponentene kan kun brukes inne i <Tooltip />");return e},k=({children:m,...f})=>{const h=(({initialOpen:e=!1,placement:m="top",delay:f=250,triggerOn:h="hover",onOpenChange:v})=>{const[O,k]=x(e),w=g(null),C=g(null),T=t({open:O,onOpenChange:e=>{v?.(e),k(e)},placement:m,whileElementsMounted:n,middleware:[o(16),s(),r({padding:16}),a({element:w,padding:8})]}),b=i(T.context,{role:"tooltip"}),E=l(T.context),j=u(T.context,{enabled:"click"===h}),y=p(T.context,{enabled:"hover"===h,delay:O?0:f}),D=c(T.context,{enabled:"hover"===h}),F=d([E,D,b,j,y]);return{triggerOn:h,isOpen:O,setOpen:k,arrowElement:w,...T,refs:{...T.refs,description:C,setDescription:e=>{C.current=e}},...F}})(f);return e(v,{value:h,children:m})};export{k as Tooltip,v as TooltipProvider,O as useTooltipContext};
2
2
  //# sourceMappingURL=Tooltip.js.map
@@ -0,0 +1,5 @@
1
+ import { default as React } from 'react';
2
+ import { TextElement, TextProps } from './types.js';
3
+ type TextComponent = <As extends TextElement = "p">(props: TextProps<As>) => React.ReactElement | null;
4
+ export declare const Text: TextComponent;
5
+ export {};
@@ -0,0 +1,2 @@
1
+ import{jsx as s}from"react/jsx-runtime";import{c as t}from"../../../clsx-BeLtu-UY.js";import{forwardRef as r}from"react";const a=r(function({as:r,className:a,size:o="m",bold:e,short:m,srOnly:i,...l},c){return s(r||"p",{className:t("jkl-text",i&&"jkl-sr-only",a),"data-text-size":o,"data-bold":e||void 0,"data-short":m||void 0,ref:c,...l})});export{a as Text};
2
+ //# sourceMappingURL=Text.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Text.js","sources":["../../../../src/components/typography/Text.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport React, { forwardRef } from \"react\";\nimport type { PolymorphicRef } from \"../../utilities/index.js\";\nimport type { TextElement, TextProps } from \"./types.js\";\n\ntype TextComponent = <As extends TextElement = \"p\">(\n props: TextProps<As>,\n) => React.ReactElement | null;\n\nexport const Text: TextComponent = forwardRef(function Text<\n As extends TextElement = \"p\",\n>(\n {\n as,\n className,\n size = \"m\",\n bold,\n short,\n srOnly,\n ...rest\n }: TextProps<As>,\n ref?: PolymorphicRef<As>,\n) {\n const Component = (as || \"p\") as React.ElementType;\n return (\n <Component\n className={clsx(\"jkl-text\", srOnly && \"jkl-sr-only\", className)}\n data-text-size={size}\n data-bold={bold || undefined}\n data-short={short || undefined}\n ref={ref}\n {...rest}\n />\n );\n}) as TextComponent;\n"],"names":["Text","forwardRef","as","className","size","bold","short","srOnly","rest","ref","jsx","clsx"],"mappings":"yHASO,MAAMA,EAAsBC,EAAW,UAItCC,GAAAA,EACAC,UAAAA,EACAC,KAAAA,EAAO,IACPC,KAAAA,EACAC,MAAAA,EACAC,OAAAA,KACGC,GAEPC,GAGA,OACIC,EAFeR,GAAM,IAEpB,CACGC,UAAWQ,EAAK,WAAYJ,GAAU,cAAeJ,GACrD,iBAAgBC,EAChB,YAAWC,QAAQ,EACnB,aAAYC,QAAS,EACrBG,IAAAA,KACID,GAGhB"}
@@ -0,0 +1,5 @@
1
+ import { default as React } from 'react';
2
+ import { TitleElement, TitleProps } from './types.js';
3
+ type TitleComponent = <As extends TitleElement = "h2">(props: TitleProps<As>) => React.ReactElement | null;
4
+ export declare const Title: TitleComponent;
5
+ export {};
@@ -0,0 +1,2 @@
1
+ import{jsx as s}from"react/jsx-runtime";import{c as r}from"../../../clsx-BeLtu-UY.js";import{forwardRef as t}from"react";const a=t(function({className:t,size:a="l",as:e,srOnly:o,...l},i){return s(e||"h2",{className:r("jkl-title",o&&"jkl-sr-only",t),"data-text-size":a,ref:i,...l})});export{a as Title};
2
+ //# sourceMappingURL=Title.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Title.js","sources":["../../../../src/components/typography/Title.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport React, { forwardRef } from \"react\";\nimport type { PolymorphicRef } from \"../../utilities/index.js\";\nimport type { TitleElement, TitleProps } from \"./types.js\";\n\ntype TitleComponent = <As extends TitleElement = \"h2\">(\n props: TitleProps<As>,\n) => React.ReactElement | null;\n\nexport const Title: TitleComponent = forwardRef(function Title<\n As extends TitleElement = \"h2\",\n>(\n { className, size = \"l\", as, srOnly, ...rest }: TitleProps<As>,\n ref?: PolymorphicRef<As>,\n) {\n const Tag = (as || \"h2\") as React.ElementType;\n return (\n <Tag\n className={clsx(\"jkl-title\", srOnly && \"jkl-sr-only\", className)}\n data-text-size={size}\n ref={ref}\n {...rest}\n />\n );\n}) as TitleComponent;\n"],"names":["Title","forwardRef","className","size","as","srOnly","rest","ref","jsx","clsx"],"mappings":"yHASO,MAAMA,EAAwBC,EAAW,UAG1CC,UAAAA,EAAWC,KAAAA,EAAO,IAAKC,GAAAA,EAAIC,OAAAA,KAAWC,GACxCC,GAGA,OACIC,EAFSJ,GAAM,KAEd,CACGF,UAAWO,EAAK,YAAaJ,GAAU,cAAeH,GACtD,iBAAgBC,EAChBI,IAAAA,KACID,GAGhB"}
@@ -0,0 +1,3 @@
1
+ export { Text } from './Text.js';
2
+ export { Title } from './Title.js';
3
+ export type { TextProps, TextSize, TitleProps, TitleSize } from './types.js';
@@ -0,0 +1,2 @@
1
+ import{Text as t}from"./Text.js";import{Title as e}from"./Title.js";export{t as Text,e as Title};
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,48 @@
1
+ import { PolymorphicPropsWithRef } from '../../utilities/index.js';
2
+ export type TextElement = "p" | "span" | "label" | "legend" | "small" | "strong" | "em" | "code" | "kbd" | "samp" | "var";
3
+ export type TitleElement = "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "label" | "legend";
4
+ export type TextSize = "xs" | "s" | "m" | "l";
5
+ export type TitleSize = "xs" | "s" | "m" | "l" | "xl";
6
+ type TextOwnProps = {
7
+ /**
8
+ * Visuell størrelse på teksten. Tilsvarer font-size-tokens i Jøkul.
9
+ * @default "m"
10
+ */
11
+ size?: TextSize;
12
+ /**
13
+ * Uthever teksten (font-weight: bold).
14
+ * @default false
15
+ */
16
+ bold?: boolean;
17
+ /**
18
+ * Setter mindre linjehøyde — bruk når teksten i all hovedsak går over
19
+ * én linje (f.eks. i tabellceller eller knapper).
20
+ * @default false
21
+ */
22
+ short?: boolean;
23
+ /**
24
+ * Skjuler elementet visuelt, men beholder det for skjermlesere.
25
+ * Bruk for å gi ekstra kontekst til assistive teknologier uten å
26
+ * påvirke det visuelle.
27
+ * @default false
28
+ */
29
+ srOnly?: boolean;
30
+ };
31
+ type TitleOwnProps = {
32
+ /**
33
+ * Visuell størrelse på tittelen. Frakoblet fra `as` — velg semantisk
34
+ * nivå via `as`, og visuell størrelse via `size`.
35
+ * @default "l"
36
+ */
37
+ size?: TitleSize;
38
+ /**
39
+ * Skjuler elementet visuelt, men beholder det for skjermlesere.
40
+ * Bruk for å beholde riktig overskrifts-hierarki i skjermlesere
41
+ * uten å vise tittelen visuelt.
42
+ * @default false
43
+ */
44
+ srOnly?: boolean;
45
+ };
46
+ export type TextProps<As extends TextElement = "p"> = PolymorphicPropsWithRef<As, TextOwnProps>;
47
+ export type TitleProps<As extends TitleElement = "h2"> = PolymorphicPropsWithRef<As, TitleOwnProps>;
48
+ export {};
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,2 +1,2 @@
1
- import{jsx as e,jsxs as t,Fragment as n}from"react/jsx-runtime";import"react";const s=[e(n,{children:e("p",{className:"jkl-body",children:"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industrys standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book."})}),t(n,{children:[e("p",{className:"jkl-body",children:"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industrys standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book."}),e("p",{className:"jkl-body",children:"It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged."})]}),t(n,{children:[e("p",{className:"jkl-body",children:"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industrys standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book."}),e("p",{className:"jkl-body",children:"It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged."}),e("p",{className:"jkl-body",children:"It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum."})]}),t(n,{children:[e("p",{className:"jkl-body",children:"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industrys standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book."}),e("p",{className:"jkl-body",children:"It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged."}),e("p",{className:"jkl-body",children:"It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum."}),e("p",{className:"jkl-body",children:"Contrary to popular belief, Lorem Ipsum is not simply random text. It has roots in a piece of classical Latin literature from 45 BC, making it over 2000 years old."})]})];function a(e){let t=s[Math.floor(Math.random()*s.length)];return t===e&&(t=a(e)),t}export{a as randomContentBlock};
1
+ import{jsx as e,Fragment as t,jsxs as n}from"react/jsx-runtime";import"react";const s=[e(t,{children:e("p",{className:"jkl-body",children:"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industrys standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book."})}),n(t,{children:[e("p",{className:"jkl-body",children:"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industrys standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book."}),e("p",{className:"jkl-body",children:"It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged."})]}),n(t,{children:[e("p",{className:"jkl-body",children:"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industrys standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book."}),e("p",{className:"jkl-body",children:"It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged."}),e("p",{className:"jkl-body",children:"It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum."})]}),n(t,{children:[e("p",{className:"jkl-body",children:"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industrys standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book."}),e("p",{className:"jkl-body",children:"It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged."}),e("p",{className:"jkl-body",children:"It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum."}),e("p",{className:"jkl-body",children:"Contrary to popular belief, Lorem Ipsum is not simply random text. It has roots in a piece of classical Latin literature from 45 BC, making it over 2000 years old."})]})];function a(e){let t=s[Math.floor(Math.random()*s.length)];return t===e&&(t=a(e)),t}export{a as randomContentBlock};
2
2
  //# sourceMappingURL=content.js.map
package/build/es/index.js CHANGED
@@ -1,2 +1,2 @@
1
- import{default as s}from"./core/tokens.js";import{useAnimatedDetails as e}from"./hooks/useAnimatedDetails/useAnimatedDetails.js";import{useAnimatedHeight as i}from"./hooks/useAnimatedHeight/useAnimatedHeight.js";import{useAnimatedHeightBetween as r}from"./hooks/useAnimatedHeight/useAnimatedHeightBetween.js";import{useAutoAnimatedHeight as t}from"./hooks/useAnimatedHeight/useAutoAnimateHeight.js";import{useBrowserPreferences as a}from"./hooks/useBrowserPreferences/useBrowserPreferences.js";import{useIntersectionObserver as o}from"./hooks/useIntersectionObserver/useIntersectionObserver.js";import{useLocalStorage as m}from"./hooks/useLocalStorage/useLocalStorage.js";import{useMutationObserver as u}from"./hooks/useMutationObserver/useMutationObserver.js";import{usePreviousValue as n}from"./hooks/usePreviousValue/usePreviousValue.js";import{useProgressiveImg as l}from"./hooks/useProgressiveImg/useProgressiveImg.js";import{useScreen as f}from"./hooks/useScreen/useScreen.js";import{useScrollIntoView as d}from"./hooks/useScrollIntoView/useScrollIntoView.js";import{useAriaLiveRegion as g}from"./hooks/useAriaLiveRegion/useAriaLiveRegion.js";import{useClickOutside as p}from"./hooks/useClickOutside/useClickOutside.js";import{useFocusOutside as h}from"./hooks/useFocusOutside/useFocusOutside.js";import{useElementDimensions as j}from"./hooks/useElementDimensions/useElementDimensions.js";import{useId as E}from"./hooks/useId/useId.js";import{useKeyListener as V}from"./hooks/useKeyListener/useKeyListener.js";import{useListNavigation as v}from"./hooks/useListNavigation/useListNavigation.js";import{useSwipeGesture as M}from"./hooks/useSwipeGesture/useSwipeGesture.js";import{u as k}from"../index-CWRMnfcx.js";import{formatNumber as c}from"./utilities/formatters/util/formatNumber.js";import{parseNumber as O}from"./utilities/formatters/util/parseNumber.js";import{registerWithFodselsnummerMask as R,registerWithKontonummerMask as N,registerWithKortnummerMask as A,registerWithMasks as S,registerWithTelefonnummerMask as I}from"./utilities/formatters/util/registerWithMask.js";import{formatAvstand as L}from"./utilities/formatters/avstand/formatAvstand.js";import{formatBytes as T}from"./utilities/formatters/bytes/formatBytes.js";import{formatDate as b}from"./utilities/formatters/date/formatDate.js";import{FODSELSNUMMER_REGEX as K,formatFodselsnummer as P}from"./utilities/formatters/fodselsnummer/formatFodselsnummer.js";import{ORGANISASJONSNUMMER_REGEX as D,formatOrganisasjonsnummer as F}from"./utilities/formatters/organisasjonsnummer/formatOrganisasjonsnummer.js";import{KONTONUMMER_REGEX as G,formatKontonummer as w}from"./utilities/formatters/kontonummer/formatKontonummer.js";import{KORTNUMMER_REGEX as C,formatKortnummer as W}from"./utilities/formatters/kortnummer/formatKortnummer.js";import{TELEFONNUMMER_REGEX as H,formatTelefonnummer as y}from"./utilities/formatters/telefonnummer/formatTelefonnummer.js";import{formatValuta as B}from"./utilities/formatters/valuta/formatValuta.js";import{getThemeAndSize as U}from"./utilities/getThemeAndSize.js";import{mergeRefs as X,useMergeRefs as _}from"./utilities/mergeRefs.js";import{mergeProps as x}from"./utilities/polymorphism/mergeProps.js";import{SlotComponent as z}from"./utilities/polymorphism/SlotComponent.js";import{initTabListener as J}from"./utilities/tabListener.js";import{isValidEpost as q}from"./utilities/validators/isValidEpost/isValidEpost.js";import{isValidTelefonnummer as Q}from"./utilities/validators/isValidTelefonnummer/isValidTelefonnummer.js";import{isValidRegistreringsnummer as Y}from"./utilities/validators/isValidRegistreringsnummer/isValidRegistreringsnummer.js";import{isValidChassisnummer as Z}from"./utilities/validators/isValidChassisnummer/isValidChassisnummer.js";import{isValidDogId as $}from"./utilities/validators/isValidDogId/isValidDogId.js";import{isExactLength as ss}from"./utilities/validators/isExactLength/isExactLength.js";import{isInteger as es}from"./utilities/validators/isInteger/isInteger.js";import{isValidFodselsnummer as is}from"./utilities/validators/isValidFodselsnummer/isValidFodselsnummer.js";import{isValidOrganisasjonsnummer as rs}from"./utilities/validators/isValidOrganisasjonsnummer/isValidOrganisasjonsnummer.js";import{isValidName as ts}from"./utilities/validators/isValidName/isValidName.js";import{hasMinimumWords as as}from"./utilities/validators/hasMinimumWords/hasMinimumWords.js";import{hasNoIllegalCharacters as os}from"./utilities/validators/hasNoIllegalCharacters/hasNoIllegalCharacters.js";import{getValuePair as ms}from"./utilities/valuePair.js";export{K as FODSELSNUMMER_REGEX,G as KONTONUMMER_REGEX,C as KORTNUMMER_REGEX,D as ORGANISASJONSNUMMER_REGEX,z as SlotComponent,H as TELEFONNUMMER_REGEX,L as formatAvstand,T as formatBytes,b as formatDate,P as formatFodselsnummer,w as formatKontonummer,W as formatKortnummer,c as formatNumber,F as formatOrganisasjonsnummer,y as formatTelefonnummer,B as formatValuta,U as getThemeAndSize,ms as getValuePair,as as hasMinimumWords,os as hasNoIllegalCharacters,J as initTabListener,ss as isExactLength,es as isInteger,Z as isValidChassisnummer,$ as isValidDogId,q as isValidEpost,is as isValidFodselsnummer,ts as isValidName,rs as isValidOrganisasjonsnummer,Y as isValidRegistreringsnummer,Q as isValidTelefonnummer,x as mergeProps,X as mergeRefs,O as parseNumber,R as registerWithFodselsnummerMask,N as registerWithKontonummerMask,A as registerWithKortnummerMask,S as registerWithMasks,I as registerWithTelefonnummerMask,s as tokens,k as unicode,e as useAnimatedDetails,i as useAnimatedHeight,r as useAnimatedHeightBetween,g as useAriaLiveRegion,t as useAutoAnimatedHeight,a as useBrowserPreferences,p as useClickOutside,j as useElementDimensions,h as useFocusOutside,E as useId,o as useIntersectionObserver,V as useKeyListener,v as useListNavigation,m as useLocalStorage,_ as useMergeRefs,u as useMutationObserver,n as usePreviousValue,l as useProgressiveImg,f as useScreen,d as useScrollIntoView,M as useSwipeGesture};
1
+ import{default as s}from"./core/tokens.js";import{useAnimatedDetails as e}from"./hooks/useAnimatedDetails/useAnimatedDetails.js";import{useAnimatedHeight as i}from"./hooks/useAnimatedHeight/useAnimatedHeight.js";import{useAnimatedHeightBetween as r}from"./hooks/useAnimatedHeight/useAnimatedHeightBetween.js";import{useAutoAnimatedHeight as t}from"./hooks/useAnimatedHeight/useAutoAnimateHeight.js";import{useBrowserPreferences as a}from"./hooks/useBrowserPreferences/useBrowserPreferences.js";import{useIntersectionObserver as o}from"./hooks/useIntersectionObserver/useIntersectionObserver.js";import{useLocalStorage as m}from"./hooks/useLocalStorage/useLocalStorage.js";import{useMutationObserver as u}from"./hooks/useMutationObserver/useMutationObserver.js";import{usePreviousValue as n}from"./hooks/usePreviousValue/usePreviousValue.js";import{useProgressiveImg as l}from"./hooks/useProgressiveImg/useProgressiveImg.js";import{useScreen as f}from"./hooks/useScreen/useScreen.js";import{useScrollIntoView as d}from"./hooks/useScrollIntoView/useScrollIntoView.js";import{useAriaLiveRegion as g}from"./hooks/useAriaLiveRegion/useAriaLiveRegion.js";import{useClickOutside as p}from"./hooks/useClickOutside/useClickOutside.js";import{useFocusOutside as h}from"./hooks/useFocusOutside/useFocusOutside.js";import{useElementDimensions as j}from"./hooks/useElementDimensions/useElementDimensions.js";import{useId as E}from"./hooks/useId/useId.js";import{useKeyListener as V}from"./hooks/useKeyListener/useKeyListener.js";import{useListNavigation as v}from"./hooks/useListNavigation/useListNavigation.js";import{useSwipeGesture as M}from"./hooks/useSwipeGesture/useSwipeGesture.js";import{u as k}from"../index-C1iqmqvT.js";import{formatNumber as c}from"./utilities/formatters/util/formatNumber.js";import{parseNumber as O}from"./utilities/formatters/util/parseNumber.js";import{registerWithFodselsnummerMask as R,registerWithKontonummerMask as N,registerWithKortnummerMask as A,registerWithMasks as S,registerWithTelefonnummerMask as I}from"./utilities/formatters/util/registerWithMask.js";import{formatAvstand as L}from"./utilities/formatters/avstand/formatAvstand.js";import{formatBytes as T}from"./utilities/formatters/bytes/formatBytes.js";import{formatDate as b}from"./utilities/formatters/date/formatDate.js";import{FODSELSNUMMER_REGEX as K,formatFodselsnummer as P}from"./utilities/formatters/fodselsnummer/formatFodselsnummer.js";import{ORGANISASJONSNUMMER_REGEX as D,formatOrganisasjonsnummer as F}from"./utilities/formatters/organisasjonsnummer/formatOrganisasjonsnummer.js";import{KONTONUMMER_REGEX as G,formatKontonummer as w}from"./utilities/formatters/kontonummer/formatKontonummer.js";import{KORTNUMMER_REGEX as C,formatKortnummer as W}from"./utilities/formatters/kortnummer/formatKortnummer.js";import{TELEFONNUMMER_REGEX as H,formatTelefonnummer as y}from"./utilities/formatters/telefonnummer/formatTelefonnummer.js";import{formatValuta as B}from"./utilities/formatters/valuta/formatValuta.js";import{getThemeAndSize as U}from"./utilities/getThemeAndSize.js";import{mergeRefs as X,useMergeRefs as _}from"./utilities/mergeRefs.js";import{mergeProps as x}from"./utilities/polymorphism/mergeProps.js";import{SlotComponent as z}from"./utilities/polymorphism/SlotComponent.js";import{initTabListener as J}from"./utilities/tabListener.js";import{isValidEpost as q}from"./utilities/validators/isValidEpost/isValidEpost.js";import{isValidTelefonnummer as Q}from"./utilities/validators/isValidTelefonnummer/isValidTelefonnummer.js";import{isValidRegistreringsnummer as Y}from"./utilities/validators/isValidRegistreringsnummer/isValidRegistreringsnummer.js";import{isValidChassisnummer as Z}from"./utilities/validators/isValidChassisnummer/isValidChassisnummer.js";import{isValidDogId as $}from"./utilities/validators/isValidDogId/isValidDogId.js";import{isExactLength as ss}from"./utilities/validators/isExactLength/isExactLength.js";import{isInteger as es}from"./utilities/validators/isInteger/isInteger.js";import{isValidFodselsnummer as is}from"./utilities/validators/isValidFodselsnummer/isValidFodselsnummer.js";import{isValidOrganisasjonsnummer as rs}from"./utilities/validators/isValidOrganisasjonsnummer/isValidOrganisasjonsnummer.js";import{isValidName as ts}from"./utilities/validators/isValidName/isValidName.js";import{hasMinimumWords as as}from"./utilities/validators/hasMinimumWords/hasMinimumWords.js";import{hasNoIllegalCharacters as os}from"./utilities/validators/hasNoIllegalCharacters/hasNoIllegalCharacters.js";import{getValuePair as ms}from"./utilities/valuePair.js";export{K as FODSELSNUMMER_REGEX,G as KONTONUMMER_REGEX,C as KORTNUMMER_REGEX,D as ORGANISASJONSNUMMER_REGEX,z as SlotComponent,H as TELEFONNUMMER_REGEX,L as formatAvstand,T as formatBytes,b as formatDate,P as formatFodselsnummer,w as formatKontonummer,W as formatKortnummer,c as formatNumber,F as formatOrganisasjonsnummer,y as formatTelefonnummer,B as formatValuta,U as getThemeAndSize,ms as getValuePair,as as hasMinimumWords,os as hasNoIllegalCharacters,J as initTabListener,ss as isExactLength,es as isInteger,Z as isValidChassisnummer,$ as isValidDogId,q as isValidEpost,is as isValidFodselsnummer,ts as isValidName,rs as isValidOrganisasjonsnummer,Y as isValidRegistreringsnummer,Q as isValidTelefonnummer,x as mergeProps,X as mergeRefs,O as parseNumber,R as registerWithFodselsnummerMask,N as registerWithKontonummerMask,A as registerWithKortnummerMask,S as registerWithMasks,I as registerWithTelefonnummerMask,s as tokens,k as unicode,e as useAnimatedDetails,i as useAnimatedHeight,r as useAnimatedHeightBetween,g as useAriaLiveRegion,t as useAutoAnimatedHeight,a as useBrowserPreferences,p as useClickOutside,j as useElementDimensions,h as useFocusOutside,E as useId,o as useIntersectionObserver,V as useKeyListener,v as useListNavigation,m as useLocalStorage,_ as useMergeRefs,u as useMutationObserver,n as usePreviousValue,l as useProgressiveImg,f as useScreen,d as useScrollIntoView,M as useSwipeGesture};
2
2
  //# sourceMappingURL=index.js.map
@@ -1,2 +1,2 @@
1
- import{u as o}from"../../../index-CWRMnfcx.js";export{o as unicode};
1
+ import{u as o}from"../../../index-C1iqmqvT.js";export{o as unicode};
2
2
  //# sourceMappingURL=index.js.map
@@ -1,2 +1,2 @@
1
- import{B as s,C as a,D as R,L as A,a as _,N as O,c as N,R as W,S as E,U as S,Z as H,b as T,n as D,s as P}from"../../../index-CWRMnfcx.js";export{s as BULLET,a as COPYRIGHT,R as DOWNWARDS_ARROW,A as LEFTWARDS_ARROW,_ as NON_BREAKING_HYPHEN,O as NON_BREAKING_SPACE,N as NORTH_EAST_ARROW,W as RIGHTWARDS_ARROW,E as SOFT_HYPHEN,S as UPWARDS_ARROW,H as ZERO_WIDTH_SPACE,T as nbhy,D as nbsp,P as shy};
1
+ import{B as s,C as a,D as R,L as A,a as _,N as O,b as N,R as W,S as E,U as S,Z as H,c as T,n as D,s as P}from"../../../index-C1iqmqvT.js";export{s as BULLET,a as COPYRIGHT,R as DOWNWARDS_ARROW,A as LEFTWARDS_ARROW,_ as NON_BREAKING_HYPHEN,O as NON_BREAKING_SPACE,N as NORTH_EAST_ARROW,W as RIGHTWARDS_ARROW,E as SOFT_HYPHEN,S as UPWARDS_ARROW,H as ZERO_WIDTH_SPACE,T as nbhy,D as nbsp,P as shy};
2
2
  //# sourceMappingURL=unicode.js.map
@@ -1,2 +1,2 @@
1
- import{n as m}from"../../../../index-CWRMnfcx.js";import{formatNumber as r}from"../util/formatNumber.js";function t(t,i){return t>=1e5?`${r(Number(t/1e3/1e3),{maximumFractionDigits:1,...i})}${m}MB`:`${r(t/1e3,{maximumFractionDigits:2,...i})}${m}KB`}export{t as formatBytes};
1
+ import{n as m}from"../../../../index-C1iqmqvT.js";import{formatNumber as r}from"../util/formatNumber.js";function t(t,i){return t>=1e5?`${r(Number(t/1e3/1e3),{maximumFractionDigits:1,...i})}${m}MB`:`${r(t/1e3,{maximumFractionDigits:2,...i})}${m}KB`}export{t as formatBytes};
2
2
  //# sourceMappingURL=formatBytes.js.map
@@ -1,2 +1,2 @@
1
- import{N as a}from"../../../../index-CWRMnfcx.js";const l={full:/^(\d{6})(\d{5})$/,partial:/^(\d{6})(\d{1,5})?$/};function r(r,t){const o=r.replace(/\W/g,""),e=t?.partial?l.partial:l.full,i=o.match(e);return i?i.slice(1).filter(Boolean).join(a):r}export{l as FODSELSNUMMER_REGEX,r as formatFodselsnummer};
1
+ import{N as a}from"../../../../index-C1iqmqvT.js";const l={full:/^(\d{6})(\d{5})$/,partial:/^(\d{6})(\d{1,5})?$/};function r(r,t){const o=r.replace(/\W/g,""),e=t?.partial?l.partial:l.full,i=o.match(e);return i?i.slice(1).filter(Boolean).join(a):r}export{l as FODSELSNUMMER_REGEX,r as formatFodselsnummer};
2
2
  //# sourceMappingURL=formatFodselsnummer.js.map
@@ -1,2 +1,2 @@
1
- import{N as a}from"../../../../index-CWRMnfcx.js";const r={full:/^(\d{4})(\d{2})(\d{5})$/,partial:/^(\d{4})(\d{1,2})?(\d{1,5})?$/};function t(t,o){const l=t.replace(/\W/g,""),e=o?.partial?r.partial:r.full,n=l.match(e);return n?n.slice(1).filter(Boolean).join(o?.separator||a):t}export{r as KONTONUMMER_REGEX,t as formatKontonummer};
1
+ import{N as a}from"../../../../index-C1iqmqvT.js";const r={full:/^(\d{4})(\d{2})(\d{5})$/,partial:/^(\d{4})(\d{1,2})?(\d{1,5})?$/};function t(t,o){const l=t.replace(/\W/g,""),e=o?.partial?r.partial:r.full,n=l.match(e);return n?n.slice(1).filter(Boolean).join(o?.separator||a):t}export{r as KONTONUMMER_REGEX,t as formatKontonummer};
2
2
  //# sourceMappingURL=formatKontonummer.js.map
@@ -1,2 +1,2 @@
1
- import{N as a}from"../../../../index-CWRMnfcx.js";const r={full:/^(\d{4})(\d{4})(\d{4})(\d{4})$/,partial:/^(\d{4})(\d{1,4})?(\d{1,4})?(\d{1,4})?$/};function t(t,l){const o=t.replace(/[\s-.]/g,""),d=l?.partial?r.partial:r.full,e=o.match(d);return e?e.slice(1).filter(Boolean).join(a):t}export{r as KORTNUMMER_REGEX,t as formatKortnummer};
1
+ import{N as a}from"../../../../index-C1iqmqvT.js";const r={full:/^(\d{4})(\d{4})(\d{4})(\d{4})$/,partial:/^(\d{4})(\d{1,4})?(\d{1,4})?(\d{1,4})?$/};function t(t,l){const o=t.replace(/[\s-.]/g,""),d=l?.partial?r.partial:r.full,e=o.match(d);return e?e.slice(1).filter(Boolean).join(a):t}export{r as KORTNUMMER_REGEX,t as formatKortnummer};
2
2
  //# sourceMappingURL=formatKortnummer.js.map
@@ -1,2 +1,2 @@
1
- import{N as a}from"../../../../index-CWRMnfcx.js";const r={full:/^(\d{3})(\d{3})(\d{3})$/,partial:/^(\d{3})(\d{1,3})?(\d{1,5})?$/};function t(t,l){const n=t.replace(/[\s-.]/g,""),o=l?.partial?r.partial:r.full,s=n.match(o);return s?s.slice(1).filter(Boolean).join(a):t}export{r as ORGANISASJONSNUMMER_REGEX,t as formatOrganisasjonsnummer};
1
+ import{N as a}from"../../../../index-C1iqmqvT.js";const r={full:/^(\d{3})(\d{3})(\d{3})$/,partial:/^(\d{3})(\d{1,3})?(\d{1,5})?$/};function t(t,l){const n=t.replace(/[\s-.]/g,""),o=l?.partial?r.partial:r.full,s=n.match(o);return s?s.slice(1).filter(Boolean).join(a):t}export{r as ORGANISASJONSNUMMER_REGEX,t as formatOrganisasjonsnummer};
2
2
  //# sourceMappingURL=formatOrganisasjonsnummer.js.map
@@ -1,2 +1,2 @@
1
- import{N as a}from"../../../../index-CWRMnfcx.js";const t={mobil:/^([8]\d{2})(\d{2})(\d{3})$/,fast:/^([2-9]\d)(\d{2})(\d{2})(\d{2})$/,mobilPartial:/^([8]\d{2})(\d{1,2})?(\d{1,3})?$/,fastPartial:/^([2-9]\d)(\d{1,2})?(\d{1,2})?(\d{1,2})?$/};function o(o,d){const i=o.replace(/\W/g,""),r=d?.partial?t.mobilPartial:t.mobil,l=d?.partial?t.fastPartial:t.fast,e=i.match(r)||i.match(l);return e?[d?.countryCode?`+${d.countryCode}`:void 0,...e.slice(1)].filter(Boolean).join(a):o}export{t as TELEFONNUMMER_REGEX,o as formatTelefonnummer};
1
+ import{N as a}from"../../../../index-C1iqmqvT.js";const t={mobil:/^([8]\d{2})(\d{2})(\d{3})$/,fast:/^([2-9]\d)(\d{2})(\d{2})(\d{2})$/,mobilPartial:/^([8]\d{2})(\d{1,2})?(\d{1,3})?$/,fastPartial:/^([2-9]\d)(\d{1,2})?(\d{1,2})?(\d{1,2})?$/};function o(o,d){const i=o.replace(/\W/g,""),r=d?.partial?t.mobilPartial:t.mobil,l=d?.partial?t.fastPartial:t.fast,e=i.match(r)||i.match(l);return e?[d?.countryCode?`+${d.countryCode}`:void 0,...e.slice(1)].filter(Boolean).join(a):o}export{t as TELEFONNUMMER_REGEX,o as formatTelefonnummer};
2
2
  //# sourceMappingURL=formatTelefonnummer.js.map
@@ -1,2 +1,2 @@
1
- import{n as i}from"../../../../index-CWRMnfcx.js";import{formatNumber as r}from"../util/formatNumber.js";import{parseNumber as t}from"../util/parseNumber.js";const m={locale:"no-NB",minimumFractionDigits:0,maximumFractionDigits:2,suffix:"kr"};function o(o,s){const n=t(o);if(Number.isNaN(n))return o.toString();const u=Number.isInteger(n)?{}:{minimumFractionDigits:2,maximumFractionDigits:2},a=void 0!==s?.suffix?s.suffix:m.suffix,{prefix:e,...f}={...m,...u,...s},c=e?.length?`${e}${i}`:"",x=a?.length?`${i}${a}`:"";return`${c}${r(n,f)}${x}`}export{o as formatValuta};
1
+ import{n as i}from"../../../../index-C1iqmqvT.js";import{formatNumber as r}from"../util/formatNumber.js";import{parseNumber as t}from"../util/parseNumber.js";const m={locale:"no-NB",minimumFractionDigits:0,maximumFractionDigits:2,suffix:"kr"};function o(o,s){const n=t(o);if(Number.isNaN(n))return o.toString();const u=Number.isInteger(n)?{}:{minimumFractionDigits:2,maximumFractionDigits:2},a=void 0!==s?.suffix?s.suffix:m.suffix,{prefix:e,...f}={...m,...u,...s},c=e?.length?`${e}${i}`:"",x=a?.length?`${i}${a}`:"";return`${c}${r(n,f)}${x}`}export{o as formatValuta};
2
2
  //# sourceMappingURL=formatValuta.js.map
@@ -1,2 +1,2 @@
1
- import{u as s}from"../../index-CWRMnfcx.js";import{formatNumber as a}from"./formatters/util/formatNumber.js";import{parseNumber as r}from"./formatters/util/parseNumber.js";import{registerWithFodselsnummerMask as m,registerWithKontonummerMask as e,registerWithKortnummerMask as o,registerWithMasks as t,registerWithTelefonnummerMask as i}from"./formatters/util/registerWithMask.js";import{formatAvstand as n}from"./formatters/avstand/formatAvstand.js";import{formatBytes as l}from"./formatters/bytes/formatBytes.js";import{formatDate as f}from"./formatters/date/formatDate.js";import{FODSELSNUMMER_REGEX as d,formatFodselsnummer as u}from"./formatters/fodselsnummer/formatFodselsnummer.js";import{ORGANISASJONSNUMMER_REGEX as g,formatOrganisasjonsnummer as p}from"./formatters/organisasjonsnummer/formatOrganisasjonsnummer.js";import{KONTONUMMER_REGEX as E,formatKontonummer as j}from"./formatters/kontonummer/formatKontonummer.js";import{KORTNUMMER_REGEX as M,formatKortnummer as V}from"./formatters/kortnummer/formatKortnummer.js";import{TELEFONNUMMER_REGEX as h,formatTelefonnummer as R}from"./formatters/telefonnummer/formatTelefonnummer.js";import{formatValuta as N}from"./formatters/valuta/formatValuta.js";import{getThemeAndSize as O}from"./getThemeAndSize.js";import{mergeRefs as T,useMergeRefs as v}from"./mergeRefs.js";import{mergeProps as S}from"./polymorphism/mergeProps.js";import{SlotComponent as W}from"./polymorphism/SlotComponent.js";import{initTabListener as I}from"./tabListener.js";import{isValidEpost as K}from"./validators/isValidEpost/isValidEpost.js";import{isValidTelefonnummer as k}from"./validators/isValidTelefonnummer/isValidTelefonnummer.js";import{isValidRegistreringsnummer as F}from"./validators/isValidRegistreringsnummer/isValidRegistreringsnummer.js";import{isValidChassisnummer as G}from"./validators/isValidChassisnummer/isValidChassisnummer.js";import{isValidDogId as C}from"./validators/isValidDogId/isValidDogId.js";import{isExactLength as L}from"./validators/isExactLength/isExactLength.js";import{isInteger as b}from"./validators/isInteger/isInteger.js";import{isValidFodselsnummer as A}from"./validators/isValidFodselsnummer/isValidFodselsnummer.js";import{isValidOrganisasjonsnummer as U}from"./validators/isValidOrganisasjonsnummer/isValidOrganisasjonsnummer.js";import{isValidName as X}from"./validators/isValidName/isValidName.js";import{hasMinimumWords as _}from"./validators/hasMinimumWords/hasMinimumWords.js";import{hasNoIllegalCharacters as c}from"./validators/hasNoIllegalCharacters/hasNoIllegalCharacters.js";import{getValuePair as D}from"./valuePair.js";export{d as FODSELSNUMMER_REGEX,E as KONTONUMMER_REGEX,M as KORTNUMMER_REGEX,g as ORGANISASJONSNUMMER_REGEX,W as SlotComponent,h as TELEFONNUMMER_REGEX,n as formatAvstand,l as formatBytes,f as formatDate,u as formatFodselsnummer,j as formatKontonummer,V as formatKortnummer,a as formatNumber,p as formatOrganisasjonsnummer,R as formatTelefonnummer,N as formatValuta,O as getThemeAndSize,D as getValuePair,_ as hasMinimumWords,c as hasNoIllegalCharacters,I as initTabListener,L as isExactLength,b as isInteger,G as isValidChassisnummer,C as isValidDogId,K as isValidEpost,A as isValidFodselsnummer,X as isValidName,U as isValidOrganisasjonsnummer,F as isValidRegistreringsnummer,k as isValidTelefonnummer,S as mergeProps,T as mergeRefs,r as parseNumber,m as registerWithFodselsnummerMask,e as registerWithKontonummerMask,o as registerWithKortnummerMask,t as registerWithMasks,i as registerWithTelefonnummerMask,s as unicode,v as useMergeRefs};
1
+ import{u as s}from"../../index-C1iqmqvT.js";import{formatNumber as a}from"./formatters/util/formatNumber.js";import{parseNumber as r}from"./formatters/util/parseNumber.js";import{registerWithFodselsnummerMask as m,registerWithKontonummerMask as e,registerWithKortnummerMask as o,registerWithMasks as t,registerWithTelefonnummerMask as i}from"./formatters/util/registerWithMask.js";import{formatAvstand as n}from"./formatters/avstand/formatAvstand.js";import{formatBytes as l}from"./formatters/bytes/formatBytes.js";import{formatDate as f}from"./formatters/date/formatDate.js";import{FODSELSNUMMER_REGEX as d,formatFodselsnummer as u}from"./formatters/fodselsnummer/formatFodselsnummer.js";import{ORGANISASJONSNUMMER_REGEX as g,formatOrganisasjonsnummer as p}from"./formatters/organisasjonsnummer/formatOrganisasjonsnummer.js";import{KONTONUMMER_REGEX as E,formatKontonummer as j}from"./formatters/kontonummer/formatKontonummer.js";import{KORTNUMMER_REGEX as M,formatKortnummer as V}from"./formatters/kortnummer/formatKortnummer.js";import{TELEFONNUMMER_REGEX as h,formatTelefonnummer as R}from"./formatters/telefonnummer/formatTelefonnummer.js";import{formatValuta as N}from"./formatters/valuta/formatValuta.js";import{getThemeAndSize as O}from"./getThemeAndSize.js";import{mergeRefs as T,useMergeRefs as v}from"./mergeRefs.js";import{mergeProps as S}from"./polymorphism/mergeProps.js";import{SlotComponent as W}from"./polymorphism/SlotComponent.js";import{initTabListener as I}from"./tabListener.js";import{isValidEpost as K}from"./validators/isValidEpost/isValidEpost.js";import{isValidTelefonnummer as k}from"./validators/isValidTelefonnummer/isValidTelefonnummer.js";import{isValidRegistreringsnummer as F}from"./validators/isValidRegistreringsnummer/isValidRegistreringsnummer.js";import{isValidChassisnummer as G}from"./validators/isValidChassisnummer/isValidChassisnummer.js";import{isValidDogId as C}from"./validators/isValidDogId/isValidDogId.js";import{isExactLength as L}from"./validators/isExactLength/isExactLength.js";import{isInteger as b}from"./validators/isInteger/isInteger.js";import{isValidFodselsnummer as A}from"./validators/isValidFodselsnummer/isValidFodselsnummer.js";import{isValidOrganisasjonsnummer as U}from"./validators/isValidOrganisasjonsnummer/isValidOrganisasjonsnummer.js";import{isValidName as X}from"./validators/isValidName/isValidName.js";import{hasMinimumWords as _}from"./validators/hasMinimumWords/hasMinimumWords.js";import{hasNoIllegalCharacters as c}from"./validators/hasNoIllegalCharacters/hasNoIllegalCharacters.js";import{getValuePair as D}from"./valuePair.js";export{d as FODSELSNUMMER_REGEX,E as KONTONUMMER_REGEX,M as KORTNUMMER_REGEX,g as ORGANISASJONSNUMMER_REGEX,W as SlotComponent,h as TELEFONNUMMER_REGEX,n as formatAvstand,l as formatBytes,f as formatDate,u as formatFodselsnummer,j as formatKontonummer,V as formatKortnummer,a as formatNumber,p as formatOrganisasjonsnummer,R as formatTelefonnummer,N as formatValuta,O as getThemeAndSize,D as getValuePair,_ as hasMinimumWords,c as hasNoIllegalCharacters,I as initTabListener,L as isExactLength,b as isInteger,G as isValidChassisnummer,C as isValidDogId,K as isValidEpost,A as isValidFodselsnummer,X as isValidName,U as isValidOrganisasjonsnummer,F as isValidRegistreringsnummer,k as isValidTelefonnummer,S as mergeProps,T as mergeRefs,r as parseNumber,m as registerWithFodselsnummerMask,e as registerWithKontonummerMask,o as registerWithKortnummerMask,t as registerWithMasks,i as registerWithTelefonnummerMask,s as unicode,v as useMergeRefs};
2
2
  //# sourceMappingURL=index.js.map
@@ -1,2 +1,2 @@
1
- const R=" ",s=" ",a="‑",_="‑",A="­",O="­",e="©",N="↗",S="←",W="↑",E="→",T="↓",o="​",t="•",H=Object.freeze(Object.defineProperty({__proto__:null,BULLET:"•",COPYRIGHT:"©",DOWNWARDS_ARROW:"↓",LEFTWARDS_ARROW:"←",NON_BREAKING_HYPHEN:"‑",NON_BREAKING_SPACE:" ",NORTH_EAST_ARROW:"↗",RIGHTWARDS_ARROW:"→",SOFT_HYPHEN:"­",UPWARDS_ARROW:"↑",ZERO_WIDTH_SPACE:"​",nbhy:"‑",nbsp:" ",shy:"­"},Symbol.toStringTag,{value:"Module"}));export{t as B,e as C,T as D,S as L,R as N,E as R,A as S,W as U,o as Z,a,_ as b,N as c,s as n,O as s,H as u};
2
- //# sourceMappingURL=index-CWRMnfcx.js.map
1
+ const R=" ",s=" ",a="‑",_="‑",A="­",O="­",e="©",N="↗",S="←",W="↑",E="→",T="↓",o="​",t="•",H=Object.freeze(Object.defineProperty({__proto__:null,BULLET:"•",COPYRIGHT:"©",DOWNWARDS_ARROW:"↓",LEFTWARDS_ARROW:"←",NON_BREAKING_HYPHEN:"‑",NON_BREAKING_SPACE:" ",NORTH_EAST_ARROW:"↗",RIGHTWARDS_ARROW:"→",SOFT_HYPHEN:"­",UPWARDS_ARROW:"↑",ZERO_WIDTH_SPACE:"​",nbhy:"‑",nbsp:" ",shy:"­"},Symbol.toStringTag,{value:"Module"}));export{t as B,e as C,T as D,S as L,R as N,E as R,A as S,W as U,o as Z,a,N as b,_ as c,s as n,O as s,H as u};
2
+ //# sourceMappingURL=index-C1iqmqvT.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-CWRMnfcx.js","sources":["../src/utilities/constants/unicode.ts"],"sourcesContent":["export const NON_BREAKING_SPACE = \"\\u00A0\";\nexport const nbsp = NON_BREAKING_SPACE;\nexport const NON_BREAKING_HYPHEN = \"\\u2011\";\nexport const nbhy = NON_BREAKING_HYPHEN;\nexport const SOFT_HYPHEN = \"\\u00AD\";\nexport const shy = SOFT_HYPHEN;\nexport const COPYRIGHT = \"\\u00A9\";\nexport const NORTH_EAST_ARROW = \"\\u2197\";\nexport const LEFTWARDS_ARROW = \"\\u2190\";\nexport const UPWARDS_ARROW = \"\\u2191\";\nexport const RIGHTWARDS_ARROW = \"\\u2192\";\nexport const DOWNWARDS_ARROW = \"\\u2193\";\nexport const ZERO_WIDTH_SPACE = \"\\u200B\";\nexport const BULLET = \"\\u2022\";\n"],"names":["NON_BREAKING_SPACE","nbsp","NON_BREAKING_HYPHEN","nbhy","SOFT_HYPHEN","shy","COPYRIGHT","NORTH_EAST_ARROW","LEFTWARDS_ARROW","UPWARDS_ARROW","RIGHTWARDS_ARROW","DOWNWARDS_ARROW","ZERO_WIDTH_SPACE","BULLET"],"mappings":"AAAO,MAAMA,EAAqB,IACrBC,EAAO,IACPC,EAAsB,IACtBC,EAAO,IACPC,EAAc,IACdC,EAAM,IACNC,EAAY,IACZC,EAAmB,IACnBC,EAAkB,IAClBC,EAAgB,IAChBC,EAAmB,IACnBC,EAAkB,IAClBC,EAAmB,IACnBC,EAAS"}
1
+ {"version":3,"file":"index-C1iqmqvT.js","sources":["../src/utilities/constants/unicode.ts"],"sourcesContent":["export const NON_BREAKING_SPACE = \"\\u00A0\";\nexport const nbsp = NON_BREAKING_SPACE;\nexport const NON_BREAKING_HYPHEN = \"\\u2011\";\nexport const nbhy = NON_BREAKING_HYPHEN;\nexport const SOFT_HYPHEN = \"\\u00AD\";\nexport const shy = SOFT_HYPHEN;\nexport const COPYRIGHT = \"\\u00A9\";\nexport const NORTH_EAST_ARROW = \"\\u2197\";\nexport const LEFTWARDS_ARROW = \"\\u2190\";\nexport const UPWARDS_ARROW = \"\\u2191\";\nexport const RIGHTWARDS_ARROW = \"\\u2192\";\nexport const DOWNWARDS_ARROW = \"\\u2193\";\nexport const ZERO_WIDTH_SPACE = \"\\u200B\";\nexport const BULLET = \"\\u2022\";\n"],"names":["NON_BREAKING_SPACE","nbsp","NON_BREAKING_HYPHEN","nbhy","SOFT_HYPHEN","shy","COPYRIGHT","NORTH_EAST_ARROW","LEFTWARDS_ARROW","UPWARDS_ARROW","RIGHTWARDS_ARROW","DOWNWARDS_ARROW","ZERO_WIDTH_SPACE","BULLET"],"mappings":"AAAO,MAAMA,EAAqB,IACrBC,EAAO,IACPC,EAAsB,IACtBC,EAAO,IACPC,EAAc,IACdC,EAAM,IACNC,EAAY,IACZC,EAAmB,IACnBC,EAAkB,IAClBC,EAAgB,IAChBC,EAAmB,IACnBC,EAAkB,IAClBC,EAAmB,IACnBC,EAAS"}