@fremtind/jokul 0.9.0 → 0.10.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 (112) hide show
  1. package/build/NativeSelect-DSmX3GZo.cjs +2 -0
  2. package/build/{NativeSelect-gBndJVSb.cjs.map → NativeSelect-DSmX3GZo.cjs.map} +1 -1
  3. package/build/NativeSelect-EidDABsT.js +2 -0
  4. package/build/{NativeSelect-DOSP8-ZQ.js.map → NativeSelect-EidDABsT.js.map} +1 -1
  5. package/build/build-stats.html +1 -1
  6. package/build/cjs/components/datepicker/DatePicker.js +2 -0
  7. package/build/cjs/components/datepicker/DatePicker.js.map +1 -0
  8. package/build/cjs/components/datepicker/index.js +2 -0
  9. package/build/cjs/components/datepicker/index.js.map +1 -0
  10. package/build/cjs/components/datepicker/internal/Calendar.js +2 -0
  11. package/build/cjs/components/datepicker/internal/Calendar.js.map +1 -0
  12. package/build/cjs/components/datepicker/internal/calendarReducer.js +2 -0
  13. package/build/cjs/components/datepicker/internal/calendarReducer.js.map +1 -0
  14. package/build/cjs/components/datepicker/internal/useCalendar.js +2 -0
  15. package/build/cjs/components/datepicker/internal/useCalendar.js.map +1 -0
  16. package/build/cjs/components/datepicker/internal/utils.js +2 -0
  17. package/build/cjs/components/datepicker/internal/utils.js.map +1 -0
  18. package/build/cjs/components/datepicker/types.js +2 -0
  19. package/build/cjs/components/datepicker/types.js.map +1 -0
  20. package/build/cjs/components/datepicker/utils.js +2 -0
  21. package/build/cjs/components/datepicker/utils.js.map +1 -0
  22. package/build/cjs/components/datepicker/validation.js +2 -0
  23. package/build/cjs/components/datepicker/validation.js.map +1 -0
  24. package/build/cjs/components/index.js +1 -1
  25. package/build/cjs/components/select/NativeSelect.js +1 -1
  26. package/build/cjs/components/select/Select.js +1 -1
  27. package/build/cjs/components/select/index.js +1 -1
  28. package/build/cjs/components/text-input/BaseTextArea.js +2 -0
  29. package/build/cjs/components/text-input/BaseTextArea.js.map +1 -0
  30. package/build/cjs/components/text-input/BaseTextInput.js +2 -0
  31. package/build/cjs/components/text-input/BaseTextInput.js.map +1 -0
  32. package/build/cjs/components/text-input/TextArea.js +2 -0
  33. package/build/cjs/components/text-input/TextArea.js.map +1 -0
  34. package/build/cjs/components/text-input/TextInput.js +2 -0
  35. package/build/cjs/components/text-input/TextInput.js.map +1 -0
  36. package/build/cjs/components/text-input/index.js +2 -0
  37. package/build/cjs/components/text-input/index.js.map +1 -0
  38. package/build/cjs/index.js +1 -1
  39. package/build/components/datepicker/DatePicker.d.ts +3 -0
  40. package/build/components/datepicker/index.d.ts +4 -0
  41. package/build/components/datepicker/internal/Calendar.d.ts +18 -0
  42. package/build/components/datepicker/internal/calendarReducer.d.ts +18 -0
  43. package/build/components/datepicker/internal/useCalendar.d.ts +59 -0
  44. package/build/components/datepicker/internal/utils.d.ts +167 -0
  45. package/build/components/datepicker/types.d.ts +269 -0
  46. package/build/components/datepicker/utils.d.ts +23 -0
  47. package/build/components/datepicker/validation.d.ts +11 -0
  48. package/build/components/index.d.ts +2 -0
  49. package/build/components/text-input/BaseTextArea.d.ts +27 -0
  50. package/build/components/text-input/BaseTextInput.d.ts +34 -0
  51. package/build/components/text-input/TextArea.d.ts +6 -0
  52. package/build/components/text-input/TextInput.d.ts +9 -0
  53. package/build/components/text-input/index.d.ts +4 -0
  54. package/build/es/components/datepicker/DatePicker.js +2 -0
  55. package/build/es/components/datepicker/DatePicker.js.map +1 -0
  56. package/build/es/components/datepicker/index.js +2 -0
  57. package/build/es/components/datepicker/index.js.map +1 -0
  58. package/build/es/components/datepicker/internal/Calendar.js +2 -0
  59. package/build/es/components/datepicker/internal/Calendar.js.map +1 -0
  60. package/build/es/components/datepicker/internal/calendarReducer.js +2 -0
  61. package/build/es/components/datepicker/internal/calendarReducer.js.map +1 -0
  62. package/build/es/components/datepicker/internal/useCalendar.js +2 -0
  63. package/build/es/components/datepicker/internal/useCalendar.js.map +1 -0
  64. package/build/es/components/datepicker/internal/utils.js +2 -0
  65. package/build/es/components/datepicker/internal/utils.js.map +1 -0
  66. package/build/es/components/datepicker/types.js +2 -0
  67. package/build/es/components/datepicker/types.js.map +1 -0
  68. package/build/es/components/datepicker/utils.js +2 -0
  69. package/build/es/components/datepicker/utils.js.map +1 -0
  70. package/build/es/components/datepicker/validation.js +2 -0
  71. package/build/es/components/datepicker/validation.js.map +1 -0
  72. package/build/es/components/index.js +1 -1
  73. package/build/es/components/select/NativeSelect.js +1 -1
  74. package/build/es/components/select/Select.js +1 -1
  75. package/build/es/components/select/index.js +1 -1
  76. package/build/es/components/text-input/BaseTextArea.js +2 -0
  77. package/build/es/components/text-input/BaseTextArea.js.map +1 -0
  78. package/build/es/components/text-input/BaseTextInput.js +2 -0
  79. package/build/es/components/text-input/BaseTextInput.js.map +1 -0
  80. package/build/es/components/text-input/TextArea.js +2 -0
  81. package/build/es/components/text-input/TextArea.js.map +1 -0
  82. package/build/es/components/text-input/TextInput.js +2 -0
  83. package/build/es/components/text-input/TextInput.js.map +1 -0
  84. package/build/es/components/text-input/index.js +2 -0
  85. package/build/es/components/text-input/index.js.map +1 -0
  86. package/build/es/index.js +1 -1
  87. package/package.json +7 -2
  88. package/src/components/button/styles/button.css +4 -4
  89. package/src/components/button/styles/button.min.css +1 -1
  90. package/src/components/checkbox/styles/checkbox.css +4 -4
  91. package/src/components/checkbox/styles/checkbox.min.css +1 -1
  92. package/src/components/datepicker/styles/_calendar-date-button.scss +100 -0
  93. package/src/components/datepicker/styles/_calendar-navigation-dropdown.scss +53 -0
  94. package/src/components/datepicker/styles/_calendar-navigation.scss +54 -0
  95. package/src/components/datepicker/styles/_calendar-table.scss +27 -0
  96. package/src/components/datepicker/styles/_calendar.scss +68 -0
  97. package/src/components/datepicker/styles/_index.scss +1 -0
  98. package/src/components/datepicker/styles/datepicker.css +453 -0
  99. package/src/components/datepicker/styles/datepicker.min.css +1 -0
  100. package/src/components/datepicker/styles/datepicker.scss +63 -0
  101. package/src/components/loader/styles/loader.css +6 -6
  102. package/src/components/loader/styles/loader.min.css +1 -1
  103. package/src/components/loader/styles/skeleton-loader.css +5 -5
  104. package/src/components/loader/styles/skeleton-loader.min.css +1 -1
  105. package/src/components/radio-button/styles/radio-button.css +2 -2
  106. package/src/components/radio-button/styles/radio-button.min.css +1 -1
  107. package/src/components/text-input/styles/_index.scss +1 -0
  108. package/src/components/text-input/styles/text-input.css +513 -0
  109. package/src/components/text-input/styles/text-input.min.css +1 -0
  110. package/src/components/text-input/styles/text-input.scss +389 -0
  111. package/build/NativeSelect-DOSP8-ZQ.js +0 -2
  112. package/build/NativeSelect-gBndJVSb.cjs +0 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TextInput.js","sources":["../../../../src/components/text-input/TextInput.tsx"],"sourcesContent":["import cn from \"classnames\";\nimport React, { forwardRef } from \"react\";\nimport { InputGroup, InputGroupProps } from \"../input-group\";\nimport { BaseTextInput, BaseTextInputProps } from \"./BaseTextInput\";\n\nexport interface TextInputProps extends Omit<InputGroupProps, \"children\">, BaseTextInputProps {\n \"data-testautoid\"?: string;\n inline?: boolean;\n inputClassName?: string;\n}\n\nexport const TextInput = forwardRef<HTMLInputElement, TextInputProps>((props, ref) => {\n const {\n label,\n className,\n density,\n errorLabel,\n helpLabel,\n inline,\n inputClassName,\n labelProps,\n supportLabelProps,\n tooltipProps,\n ...rest\n } = props;\n const inputGroupProps = {\n label,\n density,\n errorLabel,\n helpLabel,\n labelProps,\n inline,\n supportLabelProps,\n tooltipProps,\n };\n return (\n <InputGroup\n {...inputGroupProps}\n className={cn(className, \"jkl-text-input\", {\n \"jkl-text-input--inline\": inline,\n })}\n data-testid=\"jkl-text-input\"\n density={inline ? \"compact\" : density}\n >\n <BaseTextInput ref={ref} {...rest} className={inputClassName} />\n </InputGroup>\n );\n});\n\nTextInput.displayName = \"TextInput\";\n"],"names":["TextInput","forwardRef","props","ref","label","className","density","errorLabel","helpLabel","inline","inputClassName","labelProps","supportLabelProps","tooltipProps","rest","inputGroupProps","jsx","InputGroup","cn","children","BaseTextInput","displayName"],"mappings":"i2DAWaA,EAAYC,EAAAA,YAA6C,CAACC,EAAOC,KACpE,MACFC,MAAAA,EACAC,UAAAA,EACAC,QAAAA,EACAC,WAAAA,EACAC,UAAAA,EACAC,OAAAA,EACAC,eAAAA,EACAC,WAAAA,EACAC,kBAAAA,EACAC,aAAAA,KACGC,GACHZ,EACEa,EAAkB,CACpBX,MAAAA,EACAE,QAAAA,EACAC,WAAAA,EACAC,UAAAA,EACAG,WAAAA,EACAF,OAAAA,EACAG,kBAAAA,EACAC,aAAAA,GAGA,OAAAG,EAAAA,IAACC,EAAAA,WAAA,IACOF,EACJV,UAAWa,EAAGb,EAAW,iBAAkB,CACvC,yBAA0BI,IAE9B,cAAY,iBACZH,QAASG,EAAS,UAAYH,EAE9Ba,eAACC,EAAAA,cAAc,CAAAjB,IAAAA,KAAcW,EAAMT,UAAWK,KAAgB,IAK1EV,EAAUqB,YAAc"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./BaseTextArea.js"),t=require("./BaseTextInput.js"),r=require("./TextArea.js"),s=require("./TextInput.js");exports.BaseTextArea=e.BaseTextArea,exports.BaseTextInput=t.BaseTextInput,exports.TextArea=r.TextArea,exports.TextInput=s.TextInput;
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./components/accordion/AccordionItem.js"),o=require("./components/accordion/Accordion.js"),r=require("./components/breadcrumb/Breadcrumb.js"),s=require("./components/breadcrumb/BreadcrumbItem.js"),t=require("./components/button/Button.js"),n=require("./components/card/Card.js"),i=require("./components/card/CardImage.js"),u=require("./components/card/NavCard.js"),c=require("./components/card/TaskCard.js"),a=require("./components/card/InfoCard.js"),p=require("./components/checkbox/Checkbox.js"),m=require("./components/combobox/Combobox.js"),l=require("./components/cookie-consent/CookieConsent.js"),x=require("./components/cookie-consent/CookieConsentContext.js"),d=require("./components/icon/Icon.js"),I=require("./components/icon/icons/animated/ArrowVerticalAnimated.js"),j=require("./components/icon/icons/animated/ArrowHorizontalAnimated.js"),k=require("./components/icon/icons/animated/PlusRemoveAnimated.js"),q=require("./components/icon/icons/ArrowDownIcon.js"),g=require("./components/icon/icons/ArrowLeftIcon.js"),h=require("./components/icon/icons/ArrowNorthEastIcon.js"),C=require("./components/icon/icons/ArrowRightIcon.js"),S=require("./components/icon/icons/ArrowUpIcon.js"),b=require("./components/icon/icons/CalendarIcon.js"),A=require("./components/icon/icons/CheckIcon.js"),f=require("./components/icon/icons/ChevronDownIcon.js"),L=require("./components/icon/icons/ChevronLeftIcon.js"),T=require("./components/icon/icons/ChevronRightIcon.js"),R=require("./components/icon/icons/ChevronUpIcon.js"),v=require("./components/icon/icons/CloseIcon.js"),M=require("./components/icon/icons/CopyIcon.js"),B=require("./components/icon/icons/DotsIcon.js"),E=require("./components/icon/icons/DragIcon.js"),w=require("./components/icon/icons/ErrorIcon.js"),O=require("./components/icon/icons/GreenCheckIcon.js"),N=require("./components/icon/icons/HamburgerIcon.js"),P=require("./components/icon/icons/InfoIcon.js"),G=require("./components/icon/icons/LinkIcon.js"),y=require("./components/icon/icons/PlusIcon.js"),D=require("./components/icon/icons/QuestionIcon.js"),H=require("./components/icon/icons/RedCrossIcon.js"),U=require("./components/icon/icons/SearchIcon.js"),K=require("./components/icon/icons/SuccessIcon.js"),V=require("./components/icon/icons/WarningIcon.js"),F=require("./components/icon/icons/MinusIcon.js"),W=require("./components/icon/icons/ThumbDownIcon.js"),X=require("./components/icon/icons/ThumbUpIcon.js"),_=require("./components/icon/icons/TrashCanIcon.js"),z=require("./components/icon/icons/PenIcon.js"),Q=require("./components/icon-button/IconButton.js"),J=require("./components/input-group/FieldGroup.js"),Y=require("./components/input-group/InputGroup.js"),Z=require("./components/input-group/Label.js"),$=require("./components/input-group/SupportLabel.js"),ee=require("./components/link/Link.js"),oe=require("./components/link/NavLink.js"),re=require("./components/link-list/LinkList.js"),se=require("./components/list/List.js"),te=require("./components/list/ListItem.js"),ne=require("./components/loader/Loader.js"),ie=require("./components/loader/skeletons/SkeletonAnimation.js"),ue=require("./components/loader/skeletons/SkeletonButton.js"),ce=require("./components/loader/skeletons/SkeletonCheckboxGroup.js"),ae=require("./components/loader/skeletons/SkeletonElement.js"),pe=require("./components/loader/skeletons/SkeletonInput.js"),me=require("./components/loader/skeletons/SkeletonRadioButtonGroup.js"),le=require("./components/loader/skeletons/SkeletonTable.js"),xe=require("./components/loader/skeletons/SkeletonTextArea.js"),de=require("./components/modal/Modal.js"),Ie=require("./components/modal/useModal.js"),je=require("./components/radio-button/RadioButton.js"),ke=require("./components/radio-button/RadioButtonGroup.js"),qe=require("./components/radio-button/BaseRadioButton.js"),ge=require("../NativeSelect-gBndJVSb.cjs"),he=require("./components/tag/Tag.js"),Ce=require("./components/tooltip/Tooltip.js"),Se=require("./components/tooltip/TooltipContent.js"),be=require("./components/tooltip/TooltipTrigger.js"),Ae=require("./components/tooltip/PopupTip.js"),fe=require("./components/ScreenReaderOnly.js"),Le=require("./core/tokens.js"),Te=require("./hooks/useAnimatedDetails/useAnimatedDetails.js"),Re=require("./hooks/useAnimatedHeight/useAnimatedHeight.js"),ve=require("./hooks/useAnimatedHeight/useAnimatedHeightBetween.js"),Me=require("./hooks/useAnimatedHeight/useAutoAnimateHeight.js"),Be=require("./hooks/useBrowserPreferences/useBrowserPreferences.js"),Ee=require("./hooks/useIntersectionObserver/useIntersectionObserver.js"),we=require("./hooks/useLocalStorage/useLocalStorage.js"),Oe=require("./hooks/useMutationObserver/useMutationObserver.js"),Ne=require("./hooks/usePreviousValue/usePreviousValue.js"),Pe=require("./hooks/useProgressiveImg/useProgressiveImg.js"),Ge=require("./hooks/useScreen/useScreen.js"),ye=require("./hooks/useScrollIntoView/useScrollIntoView.js"),De=require("./hooks/useAriaLiveRegion/useAriaLiveRegion.js"),He=require("./hooks/useClickOutside/useClickOutside.js"),Ue=require("./hooks/useFocusOutside/useFocusOutside.js"),Ke=require("./hooks/useElementDimensions/useElementDimensions.js"),Ve=require("./hooks/useId/useId.js"),Fe=require("./hooks/useKeyListener/useKeyListener.js"),We=require("./hooks/useListNavigation/useListNavigation.js"),Xe=require("./hooks/useSwipeGesture/useSwipeGesture.js"),_e=require("../index-hKyqa1PH.cjs"),ze=require("./utilities/formatters/util/formatNumber.js"),Qe=require("./utilities/formatters/util/parseNumber.js"),Je=require("./utilities/formatters/util/registerWithMask.js"),Ye=require("./utilities/formatters/avstand/formatAvstand.js"),Ze=require("./utilities/formatters/bytes/formatBytes.js"),$e=require("./utilities/formatters/date/formatDate.js"),eo=require("./utilities/formatters/fodselsnummer/formatFodselsnummer.js"),oo=require("./utilities/formatters/organisasjonsnummer/formatOrganisasjonsnummer.js"),ro=require("./utilities/formatters/kontonummer/formatKontonummer.js"),so=require("./utilities/formatters/kortnummer/formatKortnummer.js"),to=require("./utilities/formatters/telefonnummer/formatTelefonnummer.js"),no=require("./utilities/formatters/valuta/formatValuta.js"),io=require("./utilities/polymorphism/mergeProps.js"),uo=require("./utilities/polymorphism/mergeRefs.js"),co=require("./utilities/polymorphism/SlotComponent.js"),ao=require("./utilities/tabListener.js"),po=require("./utilities/valuePair.js");exports.AccordionItem=e.AccordionItem,exports.Accordion=o.Accordion,exports.Breadcrumb=r.Breadcrumb,exports.BreadcrumbItem=s.BreadcrumbItem,exports.Button=t.Button,exports.PrimaryButton=t.PrimaryButton,exports.SecondaryButton=t.SecondaryButton,exports.TertiaryButton=t.TertiaryButton,exports.Card=n.Card,exports.CardImage=i.CardImage,exports.InfoBlock=u.InfoBlock,exports.NavCard=u.NavCard,exports.TaskCard=c.TaskCard,exports.InfoCard=a.InfoCard,exports.Checkbox=p.Checkbox,exports.Combobox=m.Combobox,exports.getComboboxValuePair=m.getComboboxValuePair,exports.CookieConsent=l.CookieConsent,exports.CookieConsentProvider=x.CookieConsentProvider,exports.useCookieConsent=x.useCookieConsent,exports.Icon=d.Icon,exports.ArrowVerticalAnimated=I.ArrowVerticalAnimated,exports.ArrowHorizontalAnimated=j.ArrowHorizontalAnimated,exports.PlusRemoveAnimated=k.PlusRemoveAnimated,exports.ArrowDownIcon=q.ArrowDownIcon,exports.ArrowLeftIcon=g.ArrowLeftIcon,exports.ArrowNorthEastIcon=h.ArrowNorthEastIcon,exports.ArrowRightIcon=C.ArrowRightIcon,exports.ArrowUpIcon=S.ArrowUpIcon,exports.CalendarIcon=b.CalendarIcon,exports.CheckIcon=A.CheckIcon,exports.ChevronDownIcon=f.ChevronDownIcon,exports.ChevronLeftIcon=L.ChevronLeftIcon,exports.ChevronRightIcon=T.ChevronRightIcon,exports.ChevronUpIcon=R.ChevronUpIcon,exports.CloseIcon=v.CloseIcon,exports.CopyIcon=M.CopyIcon,exports.DotsIcon=B.DotsIcon,exports.DragIcon=E.DragIcon,exports.ErrorIcon=w.ErrorIcon,exports.GreenCheckIcon=O.GreenCheckIcon,exports.HamburgerIcon=N.HamburgerIcon,exports.InfoIcon=P.InfoIcon,exports.LinkIcon=G.LinkIcon,exports.PlusIcon=y.PlusIcon,exports.QuestionIcon=D.QuestionIcon,exports.RedCrossIcon=H.RedCrossIcon,exports.SearchIcon=U.SearchIcon,exports.SuccessIcon=K.SuccessIcon,exports.WarningIcon=V.WarningIcon,exports.MinusIcon=F.MinusIcon,exports.ThumbDownIcon=W.ThumbDownIcon,exports.ThumbUpIcon=X.ThumbUpIcon,exports.TrashCanIcon=_.TrashCanIcon,exports.PenIcon=z.PenIcon,exports.IconButton=Q.IconButton,exports.FieldGroup=J.FieldGroup,exports.InputGroup=Y.InputGroup,exports.Label=Z.Label,exports.SupportLabel=$.SupportLabel,exports.Link=ee.Link,exports.NavLink=oe.NavLink,exports.LinkList=re.LinkList,exports.List=se.List,exports.OrderedList=se.OrderedList,exports.UnorderedList=se.UnorderedList,exports.CheckListItem=te.CheckListItem,exports.CrossListItem=te.CrossListItem,exports.ListItem=te.ListItem,exports.Loader=ne.Loader,exports.SkeletonAnimation=ie.SkeletonAnimation,exports.SkeletonButton=ue.SkeletonButton,exports.SkeletonCheckboxGroup=ce.SkeletonCheckboxGroup,exports.SkeletonElement=ae.SkeletonElement,exports.SkeletonInput=pe.SkeletonInput,exports.SkeletonRadioButtonGroup=me.SkeletonRadioButtonGroup,exports.SkeletonTable=le.SkeletonTable,exports.SkeletonTableHeader=le.SkeletonTableHeader,exports.SkeletonTableRow=le.SkeletonTableRow,exports.SkeletonTextArea=xe.SkeletonTextArea,exports.Modal=de.Modal,exports.ModalActions=de.ModalActions,exports.ModalBody=de.ModalBody,exports.ModalCloseButton=de.ModalCloseButton,exports.ModalContainer=de.ModalContainer,exports.ModalHeader=de.ModalHeader,exports.ModalOverlay=de.ModalOverlay,exports.ModalTitle=de.ModalTitle,exports.useModal=Ie.useModal,exports.RadioButton=je.RadioButton,exports.RadioButtonGroup=ke.RadioButtonGroup,exports.BaseRadioButton=qe.BaseRadioButton,exports.NativeSelect=ge.NativeSelect,exports.Select=ge.Select,exports.ErrorTag=he.ErrorTag,exports.InfoTag=he.InfoTag,exports.SuccessTag=he.SuccessTag,exports.Tag=he.Tag,exports.WarningTag=he.WarningTag,exports.Tooltip=Ce.Tooltip,exports.TooltipContent=Se.TooltipContent,exports.TooltipTrigger=be.TooltipTrigger,exports.PopupTip=Ae.PopupTip,exports.ScreenReaderOnly=fe.ScreenReaderOnly,exports.tokens=Le,exports.useAnimatedDetails=Te.useAnimatedDetails,exports.useAnimatedHeight=Re.useAnimatedHeight,exports.useAnimatedHeightBetween=ve.useAnimatedHeightBetween,exports.useAutoAnimatedHeight=Me.useAutoAnimatedHeight,exports.useBrowserPreferences=Be.useBrowserPreferences,exports.useIntersectionObserver=Ee.useIntersectionObserver,exports.useLocalStorage=we.useLocalStorage,exports.useMutationObserver=Oe.useMutationObserver,exports.usePreviousValue=Ne.usePreviousValue,exports.useProgressiveImg=Pe.useProgressiveImg,exports.useScreen=Ge.useScreen,exports.useScrollIntoView=ye.useScrollIntoView,exports.useAriaLiveRegion=De.useAriaLiveRegion,exports.useClickOutside=He.useClickOutside,exports.useFocusOutside=Ue.useFocusOutside,exports.useElementDimensions=Ke.useElementDimensions,exports.useId=Ve.useId,exports.useKeyListener=Fe.useKeyListener,exports.useListNavigation=We.useListNavigation,exports.useSwipeGesture=Xe.useSwipeGesture,exports.unicode=_e.unicode,exports.formatNumber=ze.formatNumber,exports.parseNumber=Qe.parseNumber,exports.registerWithFodselsnummerMask=Je.registerWithFodselsnummerMask,exports.registerWithKontonummerMask=Je.registerWithKontonummerMask,exports.registerWithKortnummerMask=Je.registerWithKortnummerMask,exports.registerWithMasks=Je.registerWithMasks,exports.registerWithTelefonnummerMask=Je.registerWithTelefonnummerMask,exports.formatAvstand=Ye.formatAvstand,exports.formatBytes=Ze.formatBytes,exports.formatDate=$e.formatDate,exports.FODSELSNUMMER_REGEX=eo.FODSELSNUMMER_REGEX,exports.formatFodselsnummer=eo.formatFodselsnummer,exports.ORGANISASJONSNUMMER_REGEX=oo.ORGANISASJONSNUMMER_REGEX,exports.formatOrganisasjonsnummer=oo.formatOrganisasjonsnummer,exports.KONTONUMMER_REGEX=ro.KONTONUMMER_REGEX,exports.formatKontonummer=ro.formatKontonummer,exports.KORTNUMMER_REGEX=so.KORTNUMMER_REGEX,exports.formatKortnummer=so.formatKortnummer,exports.TELEFONNUMMER_REGEX=to.TELEFONNUMMER_REGEX,exports.formatTelefonnummer=to.formatTelefonnummer,exports.formatValuta=no.formatValuta,exports.mergeProps=io.mergeProps,exports.mergeRefs=uo.mergeRefs,exports.SlotComponent=co.SlotComponent,exports.initTabListener=ao.initTabListener,exports.getValuePair=po.getValuePair;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./components/accordion/AccordionItem.js"),o=require("./components/accordion/Accordion.js"),r=require("./components/breadcrumb/Breadcrumb.js"),t=require("./components/breadcrumb/BreadcrumbItem.js"),s=require("./components/button/Button.js"),n=require("./components/card/Card.js"),i=require("./components/card/CardImage.js"),u=require("./components/card/NavCard.js"),c=require("./components/card/TaskCard.js"),a=require("./components/card/InfoCard.js"),p=require("./components/checkbox/Checkbox.js"),m=require("./components/combobox/Combobox.js"),l=require("./components/cookie-consent/CookieConsent.js"),x=require("./components/cookie-consent/CookieConsentContext.js"),d=require("./components/datepicker/validation.js"),I=require("./components/datepicker/utils.js"),j=require("./components/datepicker/DatePicker.js"),k=require("./components/icon/Icon.js"),q=require("./components/icon/icons/animated/ArrowVerticalAnimated.js"),g=require("./components/icon/icons/animated/ArrowHorizontalAnimated.js"),h=require("./components/icon/icons/animated/PlusRemoveAnimated.js"),C=require("./components/icon/icons/ArrowDownIcon.js"),S=require("./components/icon/icons/ArrowLeftIcon.js"),A=require("./components/icon/icons/ArrowNorthEastIcon.js"),T=require("./components/icon/icons/ArrowRightIcon.js"),b=require("./components/icon/icons/ArrowUpIcon.js"),f=require("./components/icon/icons/CalendarIcon.js"),L=require("./components/icon/icons/CheckIcon.js"),B=require("./components/icon/icons/ChevronDownIcon.js"),R=require("./components/icon/icons/ChevronLeftIcon.js"),M=require("./components/icon/icons/ChevronRightIcon.js"),v=require("./components/icon/icons/ChevronUpIcon.js"),E=require("./components/icon/icons/CloseIcon.js"),w=require("./components/icon/icons/CopyIcon.js"),O=require("./components/icon/icons/DotsIcon.js"),N=require("./components/icon/icons/DragIcon.js"),P=require("./components/icon/icons/ErrorIcon.js"),G=require("./components/icon/icons/GreenCheckIcon.js"),D=require("./components/icon/icons/HamburgerIcon.js"),y=require("./components/icon/icons/InfoIcon.js"),U=require("./components/icon/icons/LinkIcon.js"),H=require("./components/icon/icons/PlusIcon.js"),W=require("./components/icon/icons/QuestionIcon.js"),F=require("./components/icon/icons/RedCrossIcon.js"),K=require("./components/icon/icons/SearchIcon.js"),V=require("./components/icon/icons/SuccessIcon.js"),X=require("./components/icon/icons/WarningIcon.js"),_=require("./components/icon/icons/MinusIcon.js"),z=require("./components/icon/icons/ThumbDownIcon.js"),Q=require("./components/icon/icons/ThumbUpIcon.js"),J=require("./components/icon/icons/TrashCanIcon.js"),Y=require("./components/icon/icons/PenIcon.js"),Z=require("./components/icon-button/IconButton.js"),$=require("./components/input-group/FieldGroup.js"),ee=require("./components/input-group/InputGroup.js"),oe=require("./components/input-group/Label.js"),re=require("./components/input-group/SupportLabel.js"),te=require("./components/link/Link.js"),se=require("./components/link/NavLink.js"),ne=require("./components/link-list/LinkList.js"),ie=require("./components/list/List.js"),ue=require("./components/list/ListItem.js"),ce=require("./components/loader/Loader.js"),ae=require("./components/loader/skeletons/SkeletonAnimation.js"),pe=require("./components/loader/skeletons/SkeletonButton.js"),me=require("./components/loader/skeletons/SkeletonCheckboxGroup.js"),le=require("./components/loader/skeletons/SkeletonElement.js"),xe=require("./components/loader/skeletons/SkeletonInput.js"),de=require("./components/loader/skeletons/SkeletonRadioButtonGroup.js"),Ie=require("./components/loader/skeletons/SkeletonTable.js"),je=require("./components/loader/skeletons/SkeletonTextArea.js"),ke=require("./components/modal/Modal.js"),qe=require("./components/modal/useModal.js"),ge=require("./components/radio-button/RadioButton.js"),he=require("./components/radio-button/RadioButtonGroup.js"),Ce=require("./components/radio-button/BaseRadioButton.js"),Se=require("../NativeSelect-DSmX3GZo.cjs"),Ae=require("./components/tag/Tag.js"),Te=require("./components/text-input/BaseTextArea.js"),be=require("./components/text-input/BaseTextInput.js"),fe=require("./components/text-input/TextArea.js"),Le=require("./components/text-input/TextInput.js"),Be=require("./components/tooltip/Tooltip.js"),Re=require("./components/tooltip/TooltipContent.js"),Me=require("./components/tooltip/TooltipTrigger.js"),ve=require("./components/tooltip/PopupTip.js"),Ee=require("./components/ScreenReaderOnly.js"),we=require("./core/tokens.js"),Oe=require("./hooks/useAnimatedDetails/useAnimatedDetails.js"),Ne=require("./hooks/useAnimatedHeight/useAnimatedHeight.js"),Pe=require("./hooks/useAnimatedHeight/useAnimatedHeightBetween.js"),Ge=require("./hooks/useAnimatedHeight/useAutoAnimateHeight.js"),De=require("./hooks/useBrowserPreferences/useBrowserPreferences.js"),ye=require("./hooks/useIntersectionObserver/useIntersectionObserver.js"),Ue=require("./hooks/useLocalStorage/useLocalStorage.js"),He=require("./hooks/useMutationObserver/useMutationObserver.js"),We=require("./hooks/usePreviousValue/usePreviousValue.js"),Fe=require("./hooks/useProgressiveImg/useProgressiveImg.js"),Ke=require("./hooks/useScreen/useScreen.js"),Ve=require("./hooks/useScrollIntoView/useScrollIntoView.js"),Xe=require("./hooks/useAriaLiveRegion/useAriaLiveRegion.js"),_e=require("./hooks/useClickOutside/useClickOutside.js"),ze=require("./hooks/useFocusOutside/useFocusOutside.js"),Qe=require("./hooks/useElementDimensions/useElementDimensions.js"),Je=require("./hooks/useId/useId.js"),Ye=require("./hooks/useKeyListener/useKeyListener.js"),Ze=require("./hooks/useListNavigation/useListNavigation.js"),$e=require("./hooks/useSwipeGesture/useSwipeGesture.js"),eo=require("../index-hKyqa1PH.cjs"),oo=require("./utilities/formatters/util/formatNumber.js"),ro=require("./utilities/formatters/util/parseNumber.js"),to=require("./utilities/formatters/util/registerWithMask.js"),so=require("./utilities/formatters/avstand/formatAvstand.js"),no=require("./utilities/formatters/bytes/formatBytes.js"),io=require("./utilities/formatters/date/formatDate.js"),uo=require("./utilities/formatters/fodselsnummer/formatFodselsnummer.js"),co=require("./utilities/formatters/organisasjonsnummer/formatOrganisasjonsnummer.js"),ao=require("./utilities/formatters/kontonummer/formatKontonummer.js"),po=require("./utilities/formatters/kortnummer/formatKortnummer.js"),mo=require("./utilities/formatters/telefonnummer/formatTelefonnummer.js"),lo=require("./utilities/formatters/valuta/formatValuta.js"),xo=require("./utilities/polymorphism/mergeProps.js"),Io=require("./utilities/polymorphism/mergeRefs.js"),jo=require("./utilities/polymorphism/SlotComponent.js"),ko=require("./utilities/tabListener.js"),qo=require("./utilities/valuePair.js");exports.AccordionItem=e.AccordionItem,exports.Accordion=o.Accordion,exports.Breadcrumb=r.Breadcrumb,exports.BreadcrumbItem=t.BreadcrumbItem,exports.Button=s.Button,exports.PrimaryButton=s.PrimaryButton,exports.SecondaryButton=s.SecondaryButton,exports.TertiaryButton=s.TertiaryButton,exports.Card=n.Card,exports.CardImage=i.CardImage,exports.InfoBlock=u.InfoBlock,exports.NavCard=u.NavCard,exports.TaskCard=c.TaskCard,exports.InfoCard=a.InfoCard,exports.Checkbox=p.Checkbox,exports.Combobox=m.Combobox,exports.getComboboxValuePair=m.getComboboxValuePair,exports.CookieConsent=l.CookieConsent,exports.CookieConsentProvider=x.CookieConsentProvider,exports.useCookieConsent=x.useCookieConsent,exports.isCorrectFormat=d.isCorrectFormat,exports.isWithinLowerBound=d.isWithinLowerBound,exports.isWithinUpperBound=d.isWithinUpperBound,exports.dayMonthYearRegex=I.dayMonthYearRegex,exports.formatInput=I.formatInput,exports.isBlurTargetOutside=I.isBlurTargetOutside,exports.parseDateString=I.parseDateString,exports.DatePicker=j.DatePicker,exports.Icon=k.Icon,exports.ArrowVerticalAnimated=q.ArrowVerticalAnimated,exports.ArrowHorizontalAnimated=g.ArrowHorizontalAnimated,exports.PlusRemoveAnimated=h.PlusRemoveAnimated,exports.ArrowDownIcon=C.ArrowDownIcon,exports.ArrowLeftIcon=S.ArrowLeftIcon,exports.ArrowNorthEastIcon=A.ArrowNorthEastIcon,exports.ArrowRightIcon=T.ArrowRightIcon,exports.ArrowUpIcon=b.ArrowUpIcon,exports.CalendarIcon=f.CalendarIcon,exports.CheckIcon=L.CheckIcon,exports.ChevronDownIcon=B.ChevronDownIcon,exports.ChevronLeftIcon=R.ChevronLeftIcon,exports.ChevronRightIcon=M.ChevronRightIcon,exports.ChevronUpIcon=v.ChevronUpIcon,exports.CloseIcon=E.CloseIcon,exports.CopyIcon=w.CopyIcon,exports.DotsIcon=O.DotsIcon,exports.DragIcon=N.DragIcon,exports.ErrorIcon=P.ErrorIcon,exports.GreenCheckIcon=G.GreenCheckIcon,exports.HamburgerIcon=D.HamburgerIcon,exports.InfoIcon=y.InfoIcon,exports.LinkIcon=U.LinkIcon,exports.PlusIcon=H.PlusIcon,exports.QuestionIcon=W.QuestionIcon,exports.RedCrossIcon=F.RedCrossIcon,exports.SearchIcon=K.SearchIcon,exports.SuccessIcon=V.SuccessIcon,exports.WarningIcon=X.WarningIcon,exports.MinusIcon=_.MinusIcon,exports.ThumbDownIcon=z.ThumbDownIcon,exports.ThumbUpIcon=Q.ThumbUpIcon,exports.TrashCanIcon=J.TrashCanIcon,exports.PenIcon=Y.PenIcon,exports.IconButton=Z.IconButton,exports.FieldGroup=$.FieldGroup,exports.InputGroup=ee.InputGroup,exports.Label=oe.Label,exports.SupportLabel=re.SupportLabel,exports.Link=te.Link,exports.NavLink=se.NavLink,exports.LinkList=ne.LinkList,exports.List=ie.List,exports.OrderedList=ie.OrderedList,exports.UnorderedList=ie.UnorderedList,exports.CheckListItem=ue.CheckListItem,exports.CrossListItem=ue.CrossListItem,exports.ListItem=ue.ListItem,exports.Loader=ce.Loader,exports.SkeletonAnimation=ae.SkeletonAnimation,exports.SkeletonButton=pe.SkeletonButton,exports.SkeletonCheckboxGroup=me.SkeletonCheckboxGroup,exports.SkeletonElement=le.SkeletonElement,exports.SkeletonInput=xe.SkeletonInput,exports.SkeletonRadioButtonGroup=de.SkeletonRadioButtonGroup,exports.SkeletonTable=Ie.SkeletonTable,exports.SkeletonTableHeader=Ie.SkeletonTableHeader,exports.SkeletonTableRow=Ie.SkeletonTableRow,exports.SkeletonTextArea=je.SkeletonTextArea,exports.Modal=ke.Modal,exports.ModalActions=ke.ModalActions,exports.ModalBody=ke.ModalBody,exports.ModalCloseButton=ke.ModalCloseButton,exports.ModalContainer=ke.ModalContainer,exports.ModalHeader=ke.ModalHeader,exports.ModalOverlay=ke.ModalOverlay,exports.ModalTitle=ke.ModalTitle,exports.useModal=qe.useModal,exports.RadioButton=ge.RadioButton,exports.RadioButtonGroup=he.RadioButtonGroup,exports.BaseRadioButton=Ce.BaseRadioButton,exports.NativeSelect=Se.NativeSelect,exports.Select=Se.Select,exports.ErrorTag=Ae.ErrorTag,exports.InfoTag=Ae.InfoTag,exports.SuccessTag=Ae.SuccessTag,exports.Tag=Ae.Tag,exports.WarningTag=Ae.WarningTag,exports.BaseTextArea=Te.BaseTextArea,exports.BaseTextInput=be.BaseTextInput,exports.TextArea=fe.TextArea,exports.TextInput=Le.TextInput,exports.Tooltip=Be.Tooltip,exports.TooltipContent=Re.TooltipContent,exports.TooltipTrigger=Me.TooltipTrigger,exports.PopupTip=ve.PopupTip,exports.ScreenReaderOnly=Ee.ScreenReaderOnly,exports.tokens=we,exports.useAnimatedDetails=Oe.useAnimatedDetails,exports.useAnimatedHeight=Ne.useAnimatedHeight,exports.useAnimatedHeightBetween=Pe.useAnimatedHeightBetween,exports.useAutoAnimatedHeight=Ge.useAutoAnimatedHeight,exports.useBrowserPreferences=De.useBrowserPreferences,exports.useIntersectionObserver=ye.useIntersectionObserver,exports.useLocalStorage=Ue.useLocalStorage,exports.useMutationObserver=He.useMutationObserver,exports.usePreviousValue=We.usePreviousValue,exports.useProgressiveImg=Fe.useProgressiveImg,exports.useScreen=Ke.useScreen,exports.useScrollIntoView=Ve.useScrollIntoView,exports.useAriaLiveRegion=Xe.useAriaLiveRegion,exports.useClickOutside=_e.useClickOutside,exports.useFocusOutside=ze.useFocusOutside,exports.useElementDimensions=Qe.useElementDimensions,exports.useId=Je.useId,exports.useKeyListener=Ye.useKeyListener,exports.useListNavigation=Ze.useListNavigation,exports.useSwipeGesture=$e.useSwipeGesture,exports.unicode=eo.unicode,exports.formatNumber=oo.formatNumber,exports.parseNumber=ro.parseNumber,exports.registerWithFodselsnummerMask=to.registerWithFodselsnummerMask,exports.registerWithKontonummerMask=to.registerWithKontonummerMask,exports.registerWithKortnummerMask=to.registerWithKortnummerMask,exports.registerWithMasks=to.registerWithMasks,exports.registerWithTelefonnummerMask=to.registerWithTelefonnummerMask,exports.formatAvstand=so.formatAvstand,exports.formatBytes=no.formatBytes,exports.formatDate=io.formatDate,exports.FODSELSNUMMER_REGEX=uo.FODSELSNUMMER_REGEX,exports.formatFodselsnummer=uo.formatFodselsnummer,exports.ORGANISASJONSNUMMER_REGEX=co.ORGANISASJONSNUMMER_REGEX,exports.formatOrganisasjonsnummer=co.formatOrganisasjonsnummer,exports.KONTONUMMER_REGEX=ao.KONTONUMMER_REGEX,exports.formatKontonummer=ao.formatKontonummer,exports.KORTNUMMER_REGEX=po.KORTNUMMER_REGEX,exports.formatKortnummer=po.formatKortnummer,exports.TELEFONNUMMER_REGEX=mo.TELEFONNUMMER_REGEX,exports.formatTelefonnummer=mo.formatTelefonnummer,exports.formatValuta=lo.formatValuta,exports.mergeProps=xo.mergeProps,exports.mergeRefs=Io.mergeRefs,exports.SlotComponent=jo.SlotComponent,exports.initTabListener=ko.initTabListener,exports.getValuePair=qo.getValuePair;
2
2
  //# sourceMappingURL=index.js.map
@@ -0,0 +1,3 @@
1
+ import { default as React } from 'react';
2
+ import { DatePickerProps } from './types';
3
+ export declare const DatePicker: React.ForwardRefExoticComponent<DatePickerProps & React.RefAttributes<HTMLInputElement>>;
@@ -0,0 +1,4 @@
1
+ export * from './types';
2
+ export * from './validation';
3
+ export * from './utils';
4
+ export { DatePicker } from './DatePicker';
@@ -0,0 +1,18 @@
1
+ import { default as React } from 'react';
2
+ import { Density } from '../../../core';
3
+ import { YearsToShow } from '../types';
4
+ import { UseCalendarProps } from './useCalendar';
5
+ interface CalendarProps extends Omit<UseCalendarProps, "date" | "onOffsetChanged" | "offset" | "firstDayOfWeek" | "selected"> {
6
+ date: Date | null;
7
+ density?: Density;
8
+ defaultSelected?: Date;
9
+ hidden?: boolean;
10
+ days?: string[];
11
+ months?: string[];
12
+ monthLabel?: string;
13
+ yearLabel?: string;
14
+ yearsToShow?: YearsToShow;
15
+ onTabOutside: React.KeyboardEventHandler;
16
+ }
17
+ export declare const Calendar: React.ForwardRefExoticComponent<CalendarProps & React.RefAttributes<HTMLDivElement>>;
18
+ export {};
@@ -0,0 +1,18 @@
1
+ import { Reducer } from 'react';
2
+ export type CalendarAction = {
3
+ type: "SET_SELECTED_DATE";
4
+ newDate: Date;
5
+ } | {
6
+ type: "SET_OFFSET";
7
+ newOffset: number;
8
+ } | {
9
+ type: "ADD_OFFSET";
10
+ addedOffset: number;
11
+ };
12
+ export type CalendarState = {
13
+ selectedDate: Date;
14
+ offset: number;
15
+ shownDate: Date;
16
+ };
17
+ export declare const calendarReducer: Reducer<CalendarState, CalendarAction>;
18
+ export declare const calendarInitializer: (initialDate: Date) => CalendarState;
@@ -0,0 +1,59 @@
1
+ import { default as React } from 'react';
2
+ import { DateInfo, CalendarMonth } from './utils';
3
+ type GetDateProps = {
4
+ onClick?: React.MouseEventHandler;
5
+ dateObj: DateInfo;
6
+ };
7
+ type GetDatePropsResult = {
8
+ onClick: React.MouseEventHandler;
9
+ disabled: boolean;
10
+ "aria-pressed": boolean;
11
+ role: "button";
12
+ };
13
+ type GetBackProps = {
14
+ onClick?: React.MouseEventHandler;
15
+ offset?: number;
16
+ calendars: CalendarMonth[];
17
+ };
18
+ type GetBackPropsResult = {
19
+ onClick: React.MouseEventHandler;
20
+ disabled: boolean;
21
+ "aria-label": string;
22
+ title: string;
23
+ };
24
+ type GetForwardProps = {
25
+ onClick?: React.MouseEventHandler;
26
+ offset?: number;
27
+ calendars: CalendarMonth[];
28
+ };
29
+ type GetForwardPropsResult = {
30
+ onClick: React.MouseEventHandler;
31
+ disabled: boolean;
32
+ "aria-label": string;
33
+ title: string;
34
+ };
35
+ export interface UseCalendarProps {
36
+ date?: Date;
37
+ maxDate?: Date;
38
+ minDate?: Date;
39
+ monthsToDisplay?: number;
40
+ firstDayOfWeek?: number;
41
+ showOutsideDays?: boolean;
42
+ offset: number;
43
+ onDateSelected: (dateObj: DateInfo, event: React.MouseEvent) => void;
44
+ onOffsetChanged: (newOffset: number) => void;
45
+ selected?: Date | Date[];
46
+ }
47
+ export type GetDatePropsFunc = (props: GetDateProps) => GetDatePropsResult;
48
+ export type GetBackPropsFunc = (props: GetBackProps) => GetBackPropsResult;
49
+ export type GetForwardPropsFunc = (props: GetForwardProps) => GetForwardPropsResult;
50
+ export type HandleOffsetFunc = (newOffset: number) => void;
51
+ export type UseCalendarResult = {
52
+ calendars: CalendarMonth[];
53
+ getDateProps: GetDatePropsFunc;
54
+ getBackProps: GetBackPropsFunc;
55
+ getForwardProps: GetForwardPropsFunc;
56
+ handleOffsetChanged: HandleOffsetFunc;
57
+ };
58
+ export declare function useCalendar({ date, maxDate, minDate, monthsToDisplay, firstDayOfWeek, showOutsideDays, offset, onDateSelected, onOffsetChanged, selected, }: UseCalendarProps): UseCalendarResult;
59
+ export {};
@@ -0,0 +1,167 @@
1
+ import { default as React } from 'react';
2
+ import { ValuePair } from '../../../utilities';
3
+ import { YearsToShow } from '../types';
4
+ export declare function composeEventHandlers(...fns: Array<React.MouseEventHandler | undefined>): (event: React.MouseEvent) => boolean;
5
+ /**
6
+ * Takes a calendars array and figures out the number of months to subtract
7
+ * based on the current offset and the minDate allowed.
8
+ * @param {Object} param The param object
9
+ * @param {Array} param.calendars The calendars array created by the getCalendars function
10
+ * @param {Number} param.offset The num of months to be subtracted
11
+ * @param {Date} param.minDate The earliest date we are allow to subtract back to
12
+ * @returns {Number} The number of months to subtract
13
+ */
14
+ export declare function subtractMonth({ calendars, offset, minDate, }: {
15
+ calendars: CalendarMonth[];
16
+ offset: number;
17
+ minDate?: Date;
18
+ }): number;
19
+ export declare const DEFAULT_YEARS_TO_SHOW = 3;
20
+ /**
21
+ * Generates an array of year strings for a year selector component, with min and max dates taken into account.
22
+ *
23
+ * @param {number} currentYear - The current year to center the list around
24
+ * @param {Date | undefined} [minDate] - The minimum date to include in the list of years
25
+ * @param {Date | undefined} [maxDate] - The maximum date to include in the list of years
26
+ *
27
+ * @returns {string[]} - An array of year strings, starting from the earliest year specified by minDate or currentYear - 3, and ending at the latest year specified by maxDate or currentYear + 3
28
+ */
29
+ export declare function getYearSelectOptions(currentYear: number, minDate: Date | undefined, maxDate: Date | undefined, yearsToShow: YearsToShow): string[];
30
+ /**
31
+ * Returns an array of months that are allowed for selection in the current year based on the minimum and maximum dates.
32
+ * @param {number} currentYear The current year
33
+ * @param {string[]} monthNames An array of strings representing the month names
34
+ * @param {Date | undefined} minDate The minimum date that is allowed for selection
35
+ * @param {Date | undefined} maxDate The maximum date that is allowed for selection
36
+ * @returns {ValuePair[]} An array of ValuePairs representing the months that are allowed for selection in the current year
37
+ */
38
+ export declare function getMonthSelectOptions(currentYear: number, monthNames: string[], minDate: Date | undefined, maxDate: Date | undefined): ValuePair[];
39
+ /**s
40
+ * Takes a calendars array and figures out the number of months to add
41
+ * based on the current offset and the maxDate allowed.
42
+ * @param {Object} param The param object
43
+ * @param {Array} param.calendars The calendars array created by the getCalendars function
44
+ * @param {Number} param.offset The num of months to be added
45
+ * @param {Date} param.maxDate The furthest date we are allow to add forward to
46
+ * @returns {Number} The number of months to add
47
+ */
48
+ export declare function addMonth({ calendars, offset, maxDate, }: {
49
+ calendars: CalendarMonth[];
50
+ offset: number;
51
+ maxDate?: Date;
52
+ }): number;
53
+ /**
54
+ * Takes a calendars array and figures out if the back button should be
55
+ * disabled based on the minDate allowed.
56
+ * @param {Object} param The param object
57
+ * @param {Array} param.calendars The calendars array created by the getCalendars function
58
+ * @param {Date} param.minDate The earliest date available
59
+ * @returns {Boolean} Whether the back button should be disabled.
60
+ */
61
+ export declare function isBackDisabled({ calendars, minDate }: {
62
+ calendars: CalendarMonth[];
63
+ minDate?: Date;
64
+ }): boolean;
65
+ /**
66
+ * Takes a calendars array and figures out if the forward button should be
67
+ * disabled based on the maxDate allowed.
68
+ * @param {Object} param The param object
69
+ * @param {Array} param.calendars The calendars array created by the getCalendars function
70
+ * @param {Date} param.maxDate The furthest date available
71
+ * @returns {Boolean} Whether the forward button should be disabled.
72
+ */
73
+ export declare function isForwardDisabled({ calendars, maxDate }: {
74
+ calendars: CalendarMonth[];
75
+ maxDate?: Date;
76
+ }): boolean;
77
+ type GetCalendarProps = {
78
+ /** The date to start the calendar at */
79
+ date: Date;
80
+ /** Date or dates currently selected. */
81
+ selected?: Date | Date[];
82
+ /** The earliest date available */
83
+ minDate?: Date;
84
+ /** The earliest date available */
85
+ maxDate?: Date;
86
+ /** The number of months to return in the calendar view */
87
+ monthsToDisplay: number;
88
+ /** The number of months to offset based off the param.date given */
89
+ offset: number;
90
+ /** First day of week, 0-6 (Sunday to Saturday) */
91
+ firstDayOfWeek: number;
92
+ /** Flag to fill front and back weeks with dates from adjacent months */
93
+ showOutsideDays: boolean;
94
+ };
95
+ /**
96
+ * Figures out the months data needed based off the number of monthsToDisplay
97
+ * and other options provided.
98
+ * @param {Object} param The param object
99
+ * @param {Date} param.date The date to start the calendar at
100
+ * @param {Array.<Date>} param.selected An array of dates currently selected
101
+ * @param {Number} param.monthsToDisplay The number of months to return in the calendar view
102
+ * @param {Number} param.offset The number of months to offset based off the param.date given
103
+ * @param {Date} param.minDate The earliest date available
104
+ * @param {Date} param.maxDate The furthest date available
105
+ * @param {Number} param.firstDayOfWeek First day of week, 0-6 (Sunday to Saturday)
106
+ * @param {Bool} param.showOutsideDays Flag to fill front and back weeks with dates from adjacent months
107
+ * @returns {Array.<Object>} An array of objects with month data
108
+ */
109
+ export declare function getCalendars({ date, selected, monthsToDisplay, offset, minDate, maxDate, firstDayOfWeek, showOutsideDays, }: GetCalendarProps): CalendarMonth[];
110
+ export type CalendarMonth = {
111
+ firstDayOfMonth: Date;
112
+ lastDayOfMonth: Date;
113
+ month: number;
114
+ year: number;
115
+ weeks: CalendarWeek[];
116
+ };
117
+ export type CalendarWeek = CalendarDay[];
118
+ export type CalendarDay = DateInfo | string;
119
+ export type DateInfo = {
120
+ date: Date;
121
+ selected: boolean;
122
+ selectable: boolean;
123
+ today: boolean;
124
+ prevMonth: boolean;
125
+ nextMonth: boolean;
126
+ };
127
+ /**
128
+ * Check if two Date objects represent the same day
129
+ *
130
+ * @param date1 first Date to compare
131
+ * @param date2 second Date to compare
132
+ */
133
+ export declare function isSameDay(date1: Date, date2: Date): boolean;
134
+ /**
135
+ * Check if the date has changed from the previous date
136
+ *
137
+ * @param date First date to compare
138
+ * @param newDate Second date to compare
139
+ */
140
+ export declare function dateHasChanged(date: Date | undefined, newDate: Date): boolean;
141
+ /**
142
+ * Check if a given date is outside a given range
143
+ *
144
+ * @param date Input date
145
+ * @param rangeStart Dates before this date should be disabled
146
+ * @param rangeEnd Dates after this date should be disabled
147
+ */
148
+ export declare function dateIsOutsideRange(date: Date, rangeStart: Date | undefined, rangeEnd: Date | undefined): boolean;
149
+ /**
150
+ * Get the correct initial date for initiating the datepicker reducer store
151
+ *
152
+ * @param value Value from props
153
+ * @param initialDate Initial date from porps
154
+ * @param disableDate Function for checking whether the date should be disabled
155
+ */
156
+ export declare function getInitialDate(value: string | undefined, defaultValue: string | undefined, minDate: Date | undefined, maxDate: Date | undefined): Date | null;
157
+ /**
158
+ * Get the initial date to show in the calendar
159
+ *
160
+ * @param date The date set in the DatePicker (from props)
161
+ * @param defaultSelected The defaultSelected prop from DatePicker
162
+ * @param minDate The earliest selectable date, from props
163
+ * @param maxDate The latest selectable date, from props
164
+ * @returns The date to show in the calendar
165
+ */
166
+ export declare function getInitialDateShown(date: Date | null, defaultSelected: Date | undefined, minDate: Date | undefined, maxDate: Date | undefined): Date;
167
+ export {};
@@ -0,0 +1,269 @@
1
+ import { ChangeEvent, KeyboardEvent, FocusEvent, ButtonHTMLAttributes } from 'react';
2
+ import { DataTestAutoId, Density } from '../../core';
3
+ import { InputGroupProps, LabelProps } from '../input-group';
4
+ export type DateValidationError = "WRONG_FORMAT" | "OUTSIDE_LOWER_BOUND" | "OUTSIDE_UPPER_BOUND";
5
+ export type DatePickerChangeEventHandler = (e: ChangeEvent<HTMLInputElement>, date: Date | null, meta: DatePickerMetadata) => void;
6
+ export type DatePickerBlurEventHandler = (e: FocusEvent<HTMLInputElement>, date: Date | null, meta: DatePickerMetadata) => void;
7
+ export type DatePickerFocusEventHandler = DatePickerBlurEventHandler;
8
+ export type DatePickerKeyDownEventHandler = (e: KeyboardEvent<HTMLInputElement>, date: Date | null, meta: DatePickerMetadata) => void;
9
+ export type DatePickerMetadata = {
10
+ error: DateValidationError | null;
11
+ /** Samme som event.target.value */
12
+ value: string;
13
+ };
14
+ export type YearsToShow = number | "all" | {
15
+ previous: number;
16
+ coming: number;
17
+ };
18
+ export interface DatePickerProps extends Omit<InputGroupProps, "label" | "children">, DataTestAutoId {
19
+ /** Settes på rotnivå. */
20
+ id?: string;
21
+ /** Settes på rotnivå. */
22
+ className?: string;
23
+ /**
24
+ * @default "Velg dato"
25
+ */
26
+ label?: string;
27
+ /**
28
+ * Bruk labelProps for å sette props som `variant` og `srOnly`.
29
+ *
30
+ * @example
31
+ * ```tsx
32
+ * <DatePicker
33
+ * labelProps={{ srOnly: true }}
34
+ * />
35
+ * ```
36
+ */
37
+ labelProps?: Omit<LabelProps, "children">;
38
+ /**
39
+ * dd.mm.åååå
40
+ *
41
+ * Dersom komponenten ikke er _controlled_, send inn ønsket standardverdi her (hvis noen).
42
+ *
43
+ * @default undefined // tomt skjemafelt
44
+ */
45
+ defaultValue?: string;
46
+ /**
47
+ * Styr om du vil at kalenderen skal starte åpen.
48
+ * @default false
49
+ */
50
+ defaultShow?: boolean;
51
+ /**
52
+ * dd.mm.åååå
53
+ *
54
+ * Verdien til inputfeltet.
55
+ */
56
+ value?: string;
57
+ /**
58
+ * dd.mm.åååå
59
+ *
60
+ * Skru av knapper i kalenderen før denne datoen,
61
+ * og gi valideringsfeil om dato som har blitt skrevet inn er utenfor.
62
+ */
63
+ disableBeforeDate?: string;
64
+ /**
65
+ * dd.mm.åååå
66
+ *
67
+ * Skru av knapper i kalenderen etter denne datoen,
68
+ * og gi valideringsfeil om dato som har blitt skrevet inn er utenfor.
69
+ */
70
+ disableAfterDate?: string;
71
+ /**
72
+ * Angir hvor mange år som skal vises i nedtrekkslisten i kalenderen. Du kan angi samme verdi
73
+ * for kommende og foregående år ved å sende inn et tall, eller sende inn et objekt med separate
74
+ * verdier for kommende og foregående år. Hvis du sender inn "all" vil alle år mellom min. og
75
+ * maks. dato vises i listen (eller default antall år hvis ikke min./maks. dato er angitt).
76
+ * @default 3
77
+ */
78
+ yearsToShow?: YearsToShow;
79
+ /**
80
+ * Settes på inputfeltet.
81
+ */
82
+ name?: string;
83
+ /**
84
+ * Hjelpetekst som vises under inputfeltet.
85
+ */
86
+ helpLabel?: string;
87
+ /**
88
+ * Hvis datovelgeren har valideringsfeil må dette feltet settes. Inputfeltet
89
+ * merkes som ugyldig og teksten erstatter en eventuell hjelpetekst.
90
+ */
91
+ errorLabel?: string;
92
+ /**
93
+ * Merk som ugyldig uten å sende inn en errorLabel.
94
+ * NB! Brukes kun i tilfeller der valideringsfeil dukker opp andre steder, for eksempel i en FieldGroup.
95
+ */
96
+ invalid?: boolean;
97
+ density?: Density;
98
+ /**
99
+ * @deprecated Kalenderen viser nå alltid kontroller for å navigere mellom år og måneder. Denne prop'en gjør ikke lenger noe og kan fjernes.
100
+ */
101
+ extended?: boolean;
102
+ /**
103
+ * Om du ønsker andre labels for ukedagene kan du gi de her.
104
+ */
105
+ days?: string[];
106
+ /**
107
+ * Om du ønsker andre labels for måneder kan du gi de her.
108
+ */
109
+ months?: string[];
110
+ /**
111
+ * Overstyr hvordan vi omtaler "Måned".
112
+ * @default "Måned"
113
+ */
114
+ monthLabel?: string;
115
+ /**
116
+ * Overstyr hvordan vi omtaler "År".
117
+ * @default "År"
118
+ */
119
+ yearLabel?: string;
120
+ /**
121
+ * Vises i inputfeltet hvis det ikke har noen input, som hint for datoformat.
122
+ * @default "dd.mm.åååå"
123
+ */
124
+ placeholder?: string;
125
+ /**
126
+ * Bredden på inputfeltet, tilpasset typisk bredde for en dato i formatet `dd.mm.åååå`.
127
+ * @default "10ch"
128
+ */
129
+ width?: string;
130
+ /**
131
+ * Kalles ved change-event fra datovelgerens inputfelt. Verdien fra selve eventet vil
132
+ * alltid være teksten fra inputfeltet.
133
+ *
134
+ * Det er _ikke_ garantert at verdien fra `event.target.value` er en
135
+ * gyldig dato, eller i datoformat. Andre parameter vil enten være en gyldig
136
+ * `Date` eller `null`. Tredje parameter har informasjon om validering,
137
+ * men du kan også gjøre validering selv rett på `event.target.value`
138
+ * med utility-funksjoner som eksporteres fra pakka (se eksempel lenger ned).
139
+ *
140
+ * Kalles også når brukeren velger en dato fra kalendervisningen. Kallet
141
+ * prøver å simulere et vanlig change-event så nært som mulig.
142
+ *
143
+ * Bruk meta-objektet for å se om det er valideringsfeil, og i så fal hvilken type feil:
144
+ *
145
+ * - ugyldig format på tekst
146
+ * - dato utenfor minimum tillatte dato (satt med `disableBeforeDate`)
147
+ * - dato utenfor maksimum tillatte dato (satt med `disableAfterDate`)
148
+ *
149
+ * @example
150
+ *
151
+ * ```tsx
152
+ * <DatePicker
153
+ * value={value}
154
+ * onChange={(e, date, meta) => {
155
+ * setValue(e.target.value);
156
+ *
157
+ * console.log("onChange", {
158
+ * event: e,
159
+ * date,
160
+ * meta,
161
+ * });
162
+ * }}
163
+ * />
164
+ * ```
165
+ *
166
+ * @example
167
+ *
168
+ * ```tsx
169
+ * import {
170
+ * DatePicker,
171
+ * formatInput,
172
+ * isCorrectFormat,
173
+ * isWithinUpperBound,
174
+ * isWithinLowerBound,
175
+ * parseDateString
176
+ * } from "@fremtind/jkl-datepicker-react";
177
+ * import { formatDate } from "@fremtind/jkl-formatters-util";
178
+ *
179
+ * <DatePicker
180
+ * label="Fødselsdato"
181
+ * errorLabel={formState.errors.fodselsdato?.message}
182
+ * disableBefore="01.01.1970"
183
+ * disableAfter={formatInput(new Date())}
184
+ * {...register("fodselsdato", {
185
+ * required: "Du må fylle ut fødselsdato",
186
+ * validate: {
187
+ * isCorrectFormat: (v) =>
188
+ * isCorrectFormat(v) ||
189
+ * `Datoen må være skrevet i formen ${formatDate(new Date())} eller kortformat`,
190
+ * withinLowerBound: (v) =>
191
+ * isWithinLowerBound(v, parseDateString("01.01.1970") || "Datoen må være før 01.01.1970"",
192
+ * withinUpperBound: (v) =>
193
+ * isWithinUpperBound(v, new Date()) || `Datoen må være før ${formatDate(new Date())}`,
194
+ * },
195
+ * })}
196
+ * />
197
+ * ```
198
+ */
199
+ onChange?: DatePickerChangeEventHandler;
200
+ /**
201
+ * Kalles ved focus-event fra datovelgerens inputfelt.
202
+ *
203
+ * @example
204
+ * ```tsx
205
+ * <DatePicker
206
+ * onFocus={(e, date, meta) => {
207
+ * console.log("onFocus", {
208
+ * event: e,
209
+ * date,
210
+ * meta,
211
+ * });
212
+ * }}
213
+ * />
214
+ * ```
215
+ */
216
+ onFocus?: DatePickerFocusEventHandler;
217
+ /**
218
+ * Kalles ved blur-event fra datovelgerens inputfelt, og kommer når fokus flyttes ut
219
+ * av skjemaelementet.
220
+ *
221
+ * **NB!** Dette inkluderer når fokus flyttes inn i kalenderen, eller til kalenderknappen!
222
+ *
223
+ * Om du ønsker å gjøre ting når brukeren går videre fra hele DatePicker:
224
+ * 1. Ha en onBlur på DatePicker, men ignorere events når fokus er inni DatePicker
225
+ * 2. Ha en onBlur på DatePicker sin action-prop (kalenderknappen), og gjøre det samme
226
+ *
227
+ * Hjelpefunksjonen isBlurTargetOutside hjelper med detaljene.
228
+ *
229
+ * @example
230
+ * ```tsx
231
+ * import { DatePicker, isBlurTargetOutside } from "@fremtind/jkl-datepicker-react";
232
+ *
233
+ * <DatePicker
234
+ * onBlur={(e, date, meta) => {
235
+ * // Ignorer blurs som går til kalenderknapper
236
+ * if (isBlurTargetOutside(e)) {
237
+ * console.log("onBlur");
238
+ * }
239
+ * }}
240
+ * action={{
241
+ * onBlur: (e) => {
242
+ * // Ignorer blurs som går tilbake til inputfeltet
243
+ * if (isBlurTargetOutside(e)) {
244
+ * console.log("action.onBlur");
245
+ * }
246
+ * },
247
+ * }}
248
+ * />
249
+ * ```
250
+ */
251
+ onBlur?: DatePickerBlurEventHandler;
252
+ /**
253
+ * Kalles ved onKeyDown på datovelgerens inputfelt. Dersom du trenger å fange opp
254
+ * alle tastetrykk, inkludert Tab videre til knappen for å åpne/lukke kalenderen,
255
+ * så kan du bruke dette eventet.
256
+ *
257
+ * @deprecated Eventet har mye overlapp med onChange, men var tidligere eneste metode for å
258
+ * få tilbakemelding ved tastetrykk i inputfeltet. Foretrekk onChange for ny kode.
259
+ */
260
+ onKeyDown?: DatePickerKeyDownEventHandler;
261
+ /**
262
+ * Lar deg sette lyttere på kalenderknappen i skjemafeltet.
263
+ */
264
+ action?: DatePickerAction;
265
+ showCalendarLabel?: string;
266
+ hideCalendarLabel?: string;
267
+ }
268
+ export interface DatePickerAction extends Exclude<ButtonHTMLAttributes<HTMLButtonElement>, "disabled"> {
269
+ }
@@ -0,0 +1,23 @@
1
+ import { default as React } from 'react';
2
+ export declare const dayMonthYearRegex: RegExp;
3
+ /**
4
+ * Format a Date object as a string in the format DatePicker expects.
5
+ *
6
+ * @param date the Date object to format
7
+ * @return returns a date string with "dd.mm.yyyy"-format
8
+ */
9
+ export declare function formatInput(date: Date): string;
10
+ /**
11
+ * Convert a date string to a Date object
12
+ *
13
+ * @param dateString date as string with format dd.mm.yyyy
14
+ * @return a Date object representing the given date
15
+ */
16
+ export declare function parseDateString(dateString?: string): Date | undefined;
17
+ /**
18
+ * Hjelpefunksjon for å se om en onBlur går utenfor DatePicker,
19
+ * eller om den går til et interaktivt element inni DatePickeren.
20
+ * @param {React.FocusEvent<HTMLButtonElement | HTMLInputElement>} e - Eventet fra onBlur og action.onBlur
21
+ * @returns {boolean} true hvis e.relatedTarget er utenfor DatePicker
22
+ */
23
+ export declare function isBlurTargetOutside(e: React.FocusEvent<HTMLButtonElement | HTMLInputElement>): boolean;