{"version":3,"file":"main-52f5519f078a3a27ab53.esm.js","mappings":"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","sources":["webpack://dh-breakingmal/webpack/runtime/create fake namespace object","webpack://dh-breakingmal/webpack/runtime/import chunk loading","webpack://dh-breakingmal/./node_modules/@nrk/dh-basis-mediainfo/render-utils/render-utils.cjs","webpack://dh-breakingmal/./node_modules/@nrk/dh-server-libs/base-element.js","webpack://dh-breakingmal/./node_modules/@nrk/dh-server-libs/get-element-tag.js","webpack://dh-breakingmal/./node_modules/@nrk/dh-server-libs/src/base-element.js","webpack://dh-breakingmal/./node_modules/@nrk/dh-server-libs/src/get-context-id.js","webpack://dh-breakingmal/./node_modules/@nrk/dh-server-libs/src/get-element-tag.js","webpack://dh-breakingmal/webpack/bootstrap","webpack://dh-breakingmal/webpack/runtime/define property getters","webpack://dh-breakingmal/webpack/runtime/ensure chunk","webpack://dh-breakingmal/webpack/runtime/get javascript chunk filename","webpack://dh-breakingmal/webpack/runtime/get mini-css chunk filename","webpack://dh-breakingmal/webpack/runtime/global","webpack://dh-breakingmal/webpack/runtime/hasOwnProperty shorthand","webpack://dh-breakingmal/webpack/runtime/make namespace object","webpack://dh-breakingmal/webpack/runtime/publicPath","webpack://dh-breakingmal/./node_modules/preact/dist/preact.module.js","webpack://dh-breakingmal/./src/lib/context.tsx","webpack://dh-breakingmal/./src/components/App.css?7065","webpack://dh-breakingmal/./src/components/header/header.module.css?cd45","webpack://dh-breakingmal/./src/components/header/header.tsx","webpack://dh-breakingmal/./src/components/short-explainer/short-explainer.module.css?ab07","webpack://dh-breakingmal/./src/components/esi-include/esi-include.tsx","webpack://dh-breakingmal/./src/components/short-explainer/short-explainer.jsx","webpack://dh-breakingmal/./src/components/section/section.module.css?5af0","webpack://dh-breakingmal/./src/components/section/text/text.module.css?6aac","webpack://dh-breakingmal/./src/components/section/text/text.tsx","webpack://dh-breakingmal/./src/components/section/image/image.module.css?db58","webpack://dh-breakingmal/./src/components/section/image/image.tsx","webpack://dh-breakingmal/./src/components/section/video/video.module.css?d17c","webpack://dh-breakingmal/./src/components/section/video/video.tsx","webpack://dh-breakingmal/./src/components/section/timeline/timeline.module.css?2830","webpack://dh-breakingmal/./src/components/section/timeline/heading/heading.module.css?1fbe","webpack://dh-breakingmal/./src/components/section/timeline/heading/heading.tsx","webpack://dh-breakingmal/./src/components/section/map/map.module.css?83e4","webpack://dh-breakingmal/./src/components/section/map/map.jsx","webpack://dh-breakingmal/./src/components/section/spesialmodul/spesialmodul.module.css?71ac","webpack://dh-breakingmal/./src/components/section/spesialmodul/spesialmodul.jsx","webpack://dh-breakingmal/./src/components/section/timeline/timeline.tsx","webpack://dh-breakingmal/./src/components/section/side-explainer/side-explainer.module.css?4432","webpack://dh-breakingmal/./src/components/section/side-explainer/side-explainer.tsx","webpack://dh-breakingmal/./src/components/section/header/header.module.css?fb5f","webpack://dh-breakingmal/./src/components/section/header/header.tsx","webpack://dh-breakingmal/./src/components/section/section.tsx","webpack://dh-breakingmal/./src/components/footer/footer.module.css?f35d","webpack://dh-breakingmal/./node_modules/date-fns/locale/en-US/_lib/formatDistance.mjs","webpack://dh-breakingmal/./node_modules/date-fns/locale/_lib/buildFormatLongFn.mjs","webpack://dh-breakingmal/./node_modules/date-fns/locale/en-US/_lib/formatLong.mjs","webpack://dh-breakingmal/./node_modules/date-fns/locale/en-US/_lib/formatRelative.mjs","webpack://dh-breakingmal/./node_modules/date-fns/locale/_lib/buildLocalizeFn.mjs","webpack://dh-breakingmal/./node_modules/date-fns/locale/_lib/buildMatchFn.mjs","webpack://dh-breakingmal/./node_modules/date-fns/locale/_lib/buildMatchPatternFn.mjs","webpack://dh-breakingmal/./node_modules/date-fns/locale/en-US/_lib/match.mjs","webpack://dh-breakingmal/./node_modules/date-fns/locale/en-US.mjs","webpack://dh-breakingmal/./node_modules/date-fns/locale/en-US/_lib/localize.mjs","webpack://dh-breakingmal/./node_modules/date-fns/_lib/defaultOptions.mjs","webpack://dh-breakingmal/./node_modules/date-fns/constants.mjs","webpack://dh-breakingmal/./node_modules/date-fns/toDate.mjs","webpack://dh-breakingmal/./node_modules/date-fns/startOfDay.mjs","webpack://dh-breakingmal/./node_modules/date-fns/_lib/getTimezoneOffsetInMilliseconds.mjs","webpack://dh-breakingmal/./node_modules/date-fns/differenceInCalendarDays.mjs","webpack://dh-breakingmal/./node_modules/date-fns/constructFrom.mjs","webpack://dh-breakingmal/./node_modules/date-fns/startOfYear.mjs","webpack://dh-breakingmal/./node_modules/date-fns/getDayOfYear.mjs","webpack://dh-breakingmal/./node_modules/date-fns/startOfWeek.mjs","webpack://dh-breakingmal/./node_modules/date-fns/startOfISOWeek.mjs","webpack://dh-breakingmal/./node_modules/date-fns/getISOWeekYear.mjs","webpack://dh-breakingmal/./node_modules/date-fns/startOfISOWeekYear.mjs","webpack://dh-breakingmal/./node_modules/date-fns/getISOWeek.mjs","webpack://dh-breakingmal/./node_modules/date-fns/getWeekYear.mjs","webpack://dh-breakingmal/./node_modules/date-fns/startOfWeekYear.mjs","webpack://dh-breakingmal/./node_modules/date-fns/getWeek.mjs","webpack://dh-breakingmal/./node_modules/date-fns/_lib/addLeadingZeros.mjs","webpack://dh-breakingmal/./node_modules/date-fns/_lib/format/lightFormatters.mjs","webpack://dh-breakingmal/./node_modules/date-fns/_lib/format/formatters.mjs","webpack://dh-breakingmal/./node_modules/date-fns/_lib/format/longFormatters.mjs","webpack://dh-breakingmal/./node_modules/date-fns/_lib/protectedTokens.mjs","webpack://dh-breakingmal/./node_modules/date-fns/isDate.mjs","webpack://dh-breakingmal/./node_modules/date-fns/isValid.mjs","webpack://dh-breakingmal/./node_modules/date-fns/format.mjs","webpack://dh-breakingmal/./node_modules/date-fns/locale/nb/_lib/formatDistance.mjs","webpack://dh-breakingmal/./node_modules/date-fns/locale/nb/_lib/formatLong.mjs","webpack://dh-breakingmal/./node_modules/date-fns/locale/nb/_lib/formatRelative.mjs","webpack://dh-breakingmal/./node_modules/date-fns/locale/nb.mjs","webpack://dh-breakingmal/./node_modules/date-fns/locale/nb/_lib/localize.mjs","webpack://dh-breakingmal/./node_modules/date-fns/locale/nb/_lib/match.mjs","webpack://dh-breakingmal/./src/components/footer/published.tsx","webpack://dh-breakingmal/./src/components/footer/author.tsx","webpack://dh-breakingmal/./src/components/footer/footer.tsx","webpack://dh-breakingmal/./src/components/menu/menu.module.css?a1b2","webpack://dh-breakingmal/./src/components/menu/menu.tsx","webpack://dh-breakingmal/./src/components/App.tsx","webpack://dh-breakingmal/./src/client.tsx"],"sourcesContent":["var getProto = Object.getPrototypeOf ? (obj) => (Object.getPrototypeOf(obj)) : (obj) => (obj.__proto__);\nvar leafPrototypes;\n// create a fake namespace object\n// mode & 1: value is a module id, require it\n// mode & 2: merge all properties of value into the ns\n// mode & 4: return value when already ns object\n// mode & 16: return value when it's Promise-like\n// mode & 8|1: behave like require\n__webpack_require__.t = function(value, mode) {\n\tif(mode & 1) value = this(value);\n\tif(mode & 8) return value;\n\tif(typeof value === 'object' && value) {\n\t\tif((mode & 4) && value.__esModule) return value;\n\t\tif((mode & 16) && typeof value.then === 'function') return value;\n\t}\n\tvar ns = Object.create(null);\n\t__webpack_require__.r(ns);\n\tvar def = {};\n\tleafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];\n\tfor(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {\n\t\tObject.getOwnPropertyNames(current).forEach((key) => (def[key] = () => (value[key])));\n\t}\n\tdef['default'] = () => (value);\n\t__webpack_require__.d(ns, def);\n\treturn ns;\n};","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t792: 0\n};\n\nvar installChunk = (data) => {\n\tvar {ids, modules, runtime} = data;\n\t// add \"modules\" to the modules object,\n\t// then flag all \"ids\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tfor(moduleId in modules) {\n\t\tif(__webpack_require__.o(modules, moduleId)) {\n\t\t\t__webpack_require__.m[moduleId] = modules[moduleId];\n\t\t}\n\t}\n\tif(runtime) runtime(__webpack_require__);\n\tfor(;i < ids.length; i++) {\n\t\tchunkId = ids[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[ids[i]] = 0;\n\t}\n\n}\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// import() chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[1]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = import(\"./\" + __webpack_require__.u(chunkId)).then(installChunk, (e) => {\n\t\t\t\t\t\tif(installedChunks[chunkId] !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\tthrow e;\n\t\t\t\t\t});\n\t\t\t\t\tvar promise = Promise.race([promise, new Promise((resolve) => (installedChunkData = installedChunks[chunkId] = [resolve]))])\n\t\t\t\t\tpromises.push(installedChunkData[1] = promise);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no external install chunk\n\n// no on chunks loaded","/**\n * @typedef ImageCandidate\n * @type {[number, string]}\n */\n\n/**\n * Converts a list of image candidates to a srcset string for use in the `` elements `srcset` attribute\n * @param {ImageCandidate[]} imageCandidates\n * @return {string}\n */\nfunction toSrcsetString(imageCandidates = []) {\n return imageCandidates?.map(([width, url]) => `${url} ${width}w`).join(',') ?? ''\n}\n\nmodule.exports = { toSrcsetString }\n","module.exports = require('./src/base-element.js')\n","module.exports = require('./src/get-element-tag')\n","const { getContextId } = require('./get-context-id')\n\nlet _coreAnalyticsPromise = undefined\nfunction getCoreAnalytics() {\n if (!_coreAnalyticsPromise) {\n if ('coreAnalytics' in window) {\n _coreAnalyticsPromise = Promise.resolve(window['coreAnalytics'])\n } else {\n _coreAnalyticsPromise = import('@nrk/core-analytics' /* webpackChunkName: \"ca\" */).then(\n (m) => m.default\n )\n }\n }\n return _coreAnalyticsPromise\n}\n\nclass BaseElement extends HTMLElement {\n constructor() {\n super()\n this.sendError = this.sendError.bind(this)\n this.sendGaEvent = this.sendGaEvent.bind(this)\n }\n connectedCallback() {\n if (!this.name) throw Error('Name not provided')\n this.setupTracker()\n if (typeof this.render === 'function') this.render()\n }\n\n setupTracker() {\n this.coreAnalyticsTracker = new Promise((resolve) => {\n getCoreAnalytics().then((coreAnalytics) => {\n const tracker = coreAnalytics.create()\n\n tracker('initialize', {\n container: this,\n parentId: this.metadata.parentId || getContextId(window.location.href),\n ga: this.dataset.gaPropertyId,\n })\n\n tracker('context', {\n title: this.metadata.title,\n contentId: this.metadata.selfId,\n publishDate: this.metadata.published,\n })\n\n resolve(tracker)\n })\n })\n }\n\n async sendError(message) {\n // error reporter has been removed\n }\n\n async sendGaEvent(event) {\n const tracker = await this.coreAnalyticsTracker\n tracker('event', {\n ga: {\n eventCategory: `dh-modul-${this.name}`,\n ...event,\n },\n })\n }\n\n get metadata() {\n return this.dataset.metadata ? JSON.parse(this.dataset.metadata) : {}\n }\n\n get preloadedState() {\n return this.dataset.preloadedState ? JSON.parse(this.dataset.preloadedState) : null\n }\n\n get errorTracking() {\n return {\n url: '',\n enabled: false,\n }\n }\n}\n\nmodule.exports.BaseElement = BaseElement\n","const POLOPOLY_ID_REGEX = /[1-9]{1,2}\\.\\d+/g\n\nfunction extractPolopolyIdFromString(str) {\n const matches = str.match(POLOPOLY_ID_REGEX)\n if (matches && matches.length) {\n return matches[0]\n }\n return null\n}\n\nfunction getContextId(url) {\n return extractPolopolyIdFromString(url)\n}\n\nmodule.exports.getContextId = getContextId\n","/**\n * Creates a valid custom element name that is versioned (major)\n */\nfunction getElementTag(name, version) {\n const formattedVersion = version ? `-v${version.split('.')[0]}` : ''\n return name + formattedVersion\n}\n\nmodule.exports.getElementTag = getElementTag\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"\" + (chunkId === 171 ? \"ca\" : chunkId) + \"-chunk-\" + {\"171\":\"c4231cd712bd53e4fff5\",\"298\":\"57229bdfbd3903cd10dc\"}[chunkId] + \".js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = (chunkId) => {\n\t// return url for filenames based on template\n\treturn undefined;\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.p = \"https://static.nrk.no/dh/module/breakingmal/static/\";","var n,l,u,t,i,o,r,f,e,c,s,a,h={},v=[],p=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,y=Array.isArray;function d(n,l){for(var u in l)n[u]=l[u];return n}function _(n){var l=n.parentNode;l&&l.removeChild(n)}function g(l,u,t){var i,o,r,f={};for(r in u)\"key\"==r?i=u[r]:\"ref\"==r?o=u[r]:f[r]=u[r];if(arguments.length>2&&(f.children=arguments.length>3?n.call(arguments,2):t),\"function\"==typeof l&&null!=l.defaultProps)for(r in l.defaultProps)void 0===f[r]&&(f[r]=l.defaultProps[r]);return k(l,f,i,o,null)}function k(n,t,i,o,r){var f={type:n,props:t,key:i,ref:o,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,constructor:void 0,__v:null==r?++u:r,__i:-1,__u:0};return null==r&&null!=l.vnode&&l.vnode(f),f}function b(){return{current:null}}function m(n){return n.children}function w(n,l){this.props=n,this.context=l}function C(n,l){if(null==l)return n.__?C(n.__,n.__i+1):null;for(var u;lu&&i.sort(f));S.__r=0}function $(n,l,u,t,i,o,r,f,e,c,s){var a,p,y,d,_,g=t&&t.__k||v,k=l.length;for(u.__d=e,I(u,l,g),e=u.__d,a=0;a0?k(i.type,i.props,i.key,i.ref?i.ref:null,i.__v):i)?(i.__=n,i.__b=n.__b+1,f=A(i,u,r,s),i.__i=f,o=null,-1!==f&&(s--,(o=u[f])&&(o.__u|=131072)),null==o||null===o.__v?(-1==f&&a--,\"function\"!=typeof i.type&&(i.__u|=65536)):f!==r&&(f===r+1?a++:f>r?s>e-r?a+=f-r:a--:f(null!=e&&0==(131072&e.__u)?1:0))for(;r>=0||f=0){if((e=l[r])&&0==(131072&e.__u)&&i==e.key&&o===e.type)return r;r--}if(f2&&(e.children=arguments.length>3?n.call(arguments,2):t),k(l.type,e,i||l.key,o||l.ref,null)}function G(n,l){var u={__c:l=\"__cC\"+a++,__:n,Consumer:function(n,l){return n.children(l)},Provider:function(n){var u,t;return this.getChildContext||(u=[],(t={})[l]=this,this.getChildContext=function(){return t},this.shouldComponentUpdate=function(n){this.props.value!==n.value&&u.some(function(n){n.__e=!0,P(n)})},this.sub=function(n){u.push(n);var l=n.componentWillUnmount;n.componentWillUnmount=function(){u.splice(u.indexOf(n),1),l&&l.call(n)}}),n.children}};return u.Provider.__=u.Consumer.contextType=u}n=v.slice,l={__e:function(n,l,u,t){for(var i,o,r;l=l.__;)if((i=l.__c)&&!i.__)try{if((o=i.constructor)&&null!=o.getDerivedStateFromError&&(i.setState(o.getDerivedStateFromError(n)),r=i.__d),null!=i.componentDidCatch&&(i.componentDidCatch(n,t||{}),r=i.__d),r)return i.__E=i}catch(l){n=l}throw n}},u=0,t=function(n){return null!=n&&null==n.constructor},w.prototype.setState=function(n,l){var u;u=null!=this.__s&&this.__s!==this.state?this.__s:this.__s=d({},this.state),\"function\"==typeof n&&(n=n(d({},u),this.props)),n&&d(u,n),null!=n&&this.__v&&(l&&this._sb.push(l),P(this))},w.prototype.forceUpdate=function(n){this.__v&&(this.__e=!0,n&&this.__h.push(n),P(this))},w.prototype.render=m,i=[],r=\"function\"==typeof Promise?Promise.prototype.then.bind(Promise.resolve()):setTimeout,f=function(n,l){return n.__v.__b-l.__v.__b},S.__r=0,e=0,c=M(!1),s=M(!0),a=0;export{w as Component,m as Fragment,E as cloneElement,G as createContext,g as createElement,b as createRef,g as h,D as hydrate,t as isValidElement,l as options,B as render,T as toChildArray};\n//# sourceMappingURL=preact.module.js.map\n","import { createContext } from 'preact'\nimport { PartialCoreAnalyticsGAData } from '../types.ts'\n\ninterface AppContextType {\n sendGaEvent: (event: PartialCoreAnalyticsGAData) => void\n sendError: (message: string) => void\n}\n\nexport const AppContext = createContext({\n sendGaEvent: () => {},\n sendError: () => {},\n})\n","// extracted by mini-css-extract-plugin\nexport default {\"root\":\"root\",\"app\":\"app\"};","// extracted by mini-css-extract-plugin\nexport default {\"header\":\"dhbrm__header--e7763\",\"title\":\"dhbrm__title--a27ec\",\"saken\":\"dhbrm__saken--c82ce\",\"updating\":\"dhbrm__updating--f5ffa\",\"dot\":\"dhbrm__dot--f4b15\"};","import { h } from 'preact'\nimport styles from './header.module.css'\n\nexport const Header = ({ isLive, title, hideSubtitle }) => (\n
\n

{title}

\n {!hideSubtitle &&
Dette er saken
}\n {isLive && (\n
\n \n Oppdateres\n
\n )}\n
\n)\n","// extracted by mini-css-extract-plugin\nexport default {\"sveipWrapper\":\"dhbrm__sveipWrapper--c421e\",\"item\":\"dhbrm__item--bac53\",\"title\":\"dhbrm__title--b044f\",\"titleMedia\":\"dhbrm__titleMedia--ece8c dhbrm__title--b044f\",\"paragraph\":\"dhbrm__paragraph--a47d9\",\"media\":\"dhbrm__media--e7880\"};","import * as preact from 'preact'\nconst { h, Component } = preact\n\nconst IS_CLIENT = typeof window !== 'undefined'\nconst globalAny: any = global\n\ninterface Props {\n id: string\n isDynamic?: boolean\n className?: string\n}\n\ninterface State {\n fetchedHtml: string | null\n}\n\nexport class EsiInclude extends Component {\n state = {\n fetchedHtml: null,\n }\n\n componentDidMount(): void {\n const { isDynamic, id } = this.props\n const path = this.getPath(id)\n\n if (isDynamic) {\n // eslint-disable-next-line promise/catch-or-return\n fetch(path, { mode: 'no-cors' })\n .then((res) => res.text())\n .then((body) => this.setState({ fetchedHtml: body }))\n }\n }\n\n componentDidUpdate(prevProps: Props): void {\n const { isDynamic, id } = this.props\n if (prevProps.id !== id) {\n const path = this.getPath(id)\n if (isDynamic) {\n // eslint-disable-next-line promise/catch-or-return\n fetch(path, { mode: 'no-cors' })\n .then((res) => res.text())\n .then((body) => this.setState({ fetchedHtml: body }))\n }\n }\n }\n\n getPath = (id) => {\n return id ? `/serum/render?id=${id.trim()}&size=10` : null\n }\n\n render() {\n const { id, isDynamic, className } = this.props\n if (!id) {\n return ''\n }\n const esiUrl = this.getPath(id)\n if (!isDynamic) {\n if (IS_CLIENT) {\n const html = globalAny.document.querySelector(`[data-esi-url=\"${esiUrl}\"]`)\n if (html) {\n return (\n \n )\n }\n return null\n }\n return (\n ` }}\n />\n )\n } else {\n const { fetchedHtml } = this.state\n if (!fetchedHtml) {\n return
\n } else {\n return (\n \n )\n }\n }\n }\n}\n","import { h, Component } from 'preact'\nimport styles from './short-explainer.module.css'\nimport { EsiInclude } from '../esi-include/esi-include.tsx'\n\nexport class ShortExplainer extends Component {\n async componentDidMount() {\n if (typeof window !== 'undefined') {\n const Sveip = await import('@nrk/dh-basis-sveip')\n window.customElements.define('dh-basis-sveip', Sveip.default)\n }\n }\n\n render() {\n const { props } = this\n const mappedItems = props.data?.map((el) => {\n if (el.id) {\n return (\n
\n
{el.title}
\n \n
\n )\n }\n return (\n
\n
{el.title}
\n {el.text &&

{el.text}

}\n
\n )\n })\n return (\n
\n \n
{mappedItems}
\n
\n
\n )\n }\n}\n","// extracted by mini-css-extract-plugin\nexport default {\"section\":\"dhbrm__section--bb17b\",\"sectionTitle\":\"dhbrm__sectionTitle--ae494\",\"stickyTitle\":\"dhbrm__stickyTitle--f978f\"};","// extracted by mini-css-extract-plugin\nexport default {\"text\":\"dhbrm__text--d33b9\"};","import { h } from 'preact'\nimport styles from './text.module.css'\n\nexport const Text = ({ text }) => (\n
\n)\n","// extracted by mini-css-extract-plugin\nexport default {\"wrapper\":\"dhbrm__wrapper--f2b63\",\"image\":\"dhbrm__image--a0cb3\"};","import { h } from 'preact'\nimport styles from './image.module.css'\nimport { toSrcsetString } from '@nrk/dh-basis-mediainfo/render-utils'\n\nexport const Image = (props) => {\n const imageInfo = props.mediaInfo\n\n if (!props.source.id) {\n return

Mangler bilde-ID

\n }\n\n if (!imageInfo) {\n return \"\"\n }\n\n const sizes = '(min-width: 590px) 590px, 100vw'\n return (\n
\n \n {imageInfo.sources.map((source) => {\n return \n })}\n \n \n
\n

{props.text}

\n \n {imageInfo.creditText ? `${imageInfo.category ?? 'Foto'}: ${imageInfo.creditText}` : ''}\n \n
\n
\n )\n}\n","// extracted by mini-css-extract-plugin\nexport default {\"video\":\"dhbrm__video--d8066\"};","import { Component, h } from 'preact'\nimport styles from './video.module.css'\nimport { getElementTag } from '@nrk/dh-server-libs/get-element-tag'\n\nconst tag = getElementTag(__APP_NAME__, __APP_VERSION__)\n\ninterface Props {\n id?: string\n text?: string\n gaTrackingId?: string\n}\n\nclass Video extends Component {\n ludo?: any\n ludoInstance?: any\n ludoMount?: HTMLDivElement\n\n async componentDidMount() {\n if (this.props.id) {\n const id = this.extractIdFromSmartUrl(this.props.id)\n await this.instanciateLudo(id)\n }\n }\n\n extractIdFromSmartUrl = (id) => {\n if (id.indexOf('klipp:') > -1) {\n return id.substr(id.lastIndexOf('/') + 1, id.length)\n }\n return id\n }\n\n requireLudo = () =>\n new Promise((resolve, reject) => {\n if (this.ludo) {\n resolve(this.ludo)\n } else {\n const require = (window as any).requirejs\n require(['ludo'], (ludo: any) => {\n if (ludo) {\n this.ludo = ludo\n resolve(this.ludo)\n } else {\n reject(new Error('Failed to require Ludo'))\n }\n })\n }\n })\n\n getOptions = () => {\n const trackingId = this.getTrackingId()\n return {\n chromecast: {\n enabled: false,\n },\n analytics: {\n ga: {\n trackingId,\n },\n },\n }\n }\n\n getTrackingId = () => {\n return this.ludoMount.closest(tag).getAttribute('data-ga-property-id')\n }\n\n instanciateLudo = async (id: string) => {\n // eslint-disable-next-line promise/always-return\n return this.requireLudo().then((ludo: any) => {\n this.ludoInstance = ludo(this.ludoMount, id, this.getOptions())\n })\n }\n\n render() {\n return (\n {\n this.ludoMount = el\n }}\n />\n )\n }\n}\n\nexport { Video }\n","// extracted by mini-css-extract-plugin\nexport default {\"timeline\":\"dhbrm__timeline--e4e5e\"};","// extracted by mini-css-extract-plugin\nexport default {\"heading\":\"dhbrm__heading--b8f31\"};","import { h } from 'preact'\nimport styles from './heading.module.css'\n\nexport const Heading = ({ text }) =>

{text}

\n","// extracted by mini-css-extract-plugin\nexport default {\"map\":\"dhbrm__map--ab2f2\"};","import { h } from 'preact'\nimport { EsiInclude } from '../../esi-include/esi-include.tsx'\nimport styles from './map.module.css'\n\nexport const Map = ({ id }) => \n","// extracted by mini-css-extract-plugin\nexport default {\"spesial\":\"dhbrm__spesial--e31ac\"};","import { h } from 'preact'\nimport { EsiInclude } from '../../esi-include/esi-include.tsx'\nimport styles from './spesialmodul.module.css'\n\nexport const Spesialmodul = ({ id, width }) => {\n const className =\n width === 'Fullbredde'\n ? `${styles.spesial} breakingmal-fullbredde dh-fullbredde`\n : styles.spesial\n return \n}\n","import { h } from 'preact'\nimport styles from './timeline.module.css'\nimport { Heading } from './heading/heading.tsx'\nimport { Text } from '../text/text.tsx'\nimport { Image } from '../image/image.tsx'\nimport { Video } from '../video/video.tsx'\nimport { Map } from '../map/map.jsx'\nimport { Spesialmodul } from '../spesialmodul/spesialmodul.jsx'\n\nexport const Timeline = ({ content }) => {\n const mappedContent = content.map((el) => {\n const Component = getComponentForType(el.type)\n return \n })\n return
{mappedContent}
\n}\n\nfunction getComponentForType(type) {\n switch (type) {\n case 'Tidspunkt':\n return Heading\n case 'text':\n return Text\n case 'image':\n return Image\n case 'video':\n return Video\n case 'map':\n return Map\n case 'spesialmodul':\n return Spesialmodul\n }\n}\n","// extracted by mini-css-extract-plugin\nexport default {\"sideExplainer\":\"dhbrm__sideExplainer--a1ccb\",\"leftBorder\":\"dhbrm__leftBorder--ad2c5\",\"rightBorder\":\"dhbrm__rightBorder--d21b3\",\"text\":\"dhbrm__text--b7696\"};","import { h } from 'preact'\nimport styles from './side-explainer.module.css'\n\nexport const SideExplainer = ({ sideOne, sideTwo }) => {\n return (\n
\n
\n

\n
\n
\n
\n

\n
\n
\n
\n )\n}\n","// extracted by mini-css-extract-plugin\nexport default {\"header\":\"dhbrm__header--f6e04\"};","import { h } from 'preact'\nimport styles from './header.module.css'\n\nexport const Header = ({ text }) => (\n

\n)\n","import { h } from 'preact'\nimport styles from './section.module.css'\nimport { Text } from './text/text.tsx'\nimport { Image } from './image/image.tsx'\nimport { Video } from './video/video.tsx'\nimport { Timeline } from './timeline/timeline.tsx'\nimport { SideExplainer } from './side-explainer/side-explainer.tsx'\nimport { Map } from './map/map.jsx'\nimport { Spesialmodul } from './spesialmodul/spesialmodul.jsx'\nimport { Header } from './header/header.tsx'\n\nexport const Section = ({ title, content = [], stickyTitles }) => {\n const mappedContent = content.map((el) => {\n const Component = getComponentForType(el.type)\n return \n })\n\n const titleClasses = [styles.sectionTitle, stickyTitles ? styles.stickyTitle : undefined]\n .filter(Boolean)\n .join(' ')\n return (\n
\n
\n

{title}

\n
\n {mappedContent}\n
\n )\n}\n\nfunction getComponentForType(type) {\n switch (type) {\n case 'text':\n return Text\n case 'timeline':\n return Timeline\n case 'For og imot':\n return SideExplainer\n case 'header':\n return Header\n case 'image':\n return Image\n case 'video':\n return Video\n case 'map':\n return Map\n case 'spesialmodul':\n return Spesialmodul\n default:\n return Text\n }\n}\n","// extracted by mini-css-extract-plugin\nexport default {\"footer\":\"dhbrm__footer--e287f\",\"published\":\"dhbrm__published--b5e2d\",\"person\":\"dhbrm__person--b45ec\",\"name\":\"dhbrm__name--b2c02\",\"role\":\"dhbrm__role--b326e\",\"date\":\"dhbrm__date--eb892\"};","const formatDistanceLocale = {\n lessThanXSeconds: {\n one: \"less than a second\",\n other: \"less than {{count}} seconds\",\n },\n\n xSeconds: {\n one: \"1 second\",\n other: \"{{count}} seconds\",\n },\n\n halfAMinute: \"half a minute\",\n\n lessThanXMinutes: {\n one: \"less than a minute\",\n other: \"less than {{count}} minutes\",\n },\n\n xMinutes: {\n one: \"1 minute\",\n other: \"{{count}} minutes\",\n },\n\n aboutXHours: {\n one: \"about 1 hour\",\n other: \"about {{count}} hours\",\n },\n\n xHours: {\n one: \"1 hour\",\n other: \"{{count}} hours\",\n },\n\n xDays: {\n one: \"1 day\",\n other: \"{{count}} days\",\n },\n\n aboutXWeeks: {\n one: \"about 1 week\",\n other: \"about {{count}} weeks\",\n },\n\n xWeeks: {\n one: \"1 week\",\n other: \"{{count}} weeks\",\n },\n\n aboutXMonths: {\n one: \"about 1 month\",\n other: \"about {{count}} months\",\n },\n\n xMonths: {\n one: \"1 month\",\n other: \"{{count}} months\",\n },\n\n aboutXYears: {\n one: \"about 1 year\",\n other: \"about {{count}} years\",\n },\n\n xYears: {\n one: \"1 year\",\n other: \"{{count}} years\",\n },\n\n overXYears: {\n one: \"over 1 year\",\n other: \"over {{count}} years\",\n },\n\n almostXYears: {\n one: \"almost 1 year\",\n other: \"almost {{count}} years\",\n },\n};\n\nexport const formatDistance = (token, count, options) => {\n let result;\n\n const tokenValue = formatDistanceLocale[token];\n if (typeof tokenValue === \"string\") {\n result = tokenValue;\n } else if (count === 1) {\n result = tokenValue.one;\n } else {\n result = tokenValue.other.replace(\"{{count}}\", count.toString());\n }\n\n if (options?.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n return \"in \" + result;\n } else {\n return result + \" ago\";\n }\n }\n\n return result;\n};\n","export function buildFormatLongFn(args) {\n return (options = {}) => {\n // TODO: Remove String()\n const width = options.width ? String(options.width) : args.defaultWidth;\n const format = args.formats[width] || args.formats[args.defaultWidth];\n return format;\n };\n}\n","import { buildFormatLongFn } from \"../../_lib/buildFormatLongFn.mjs\";\n\nconst dateFormats = {\n full: \"EEEE, MMMM do, y\",\n long: \"MMMM do, y\",\n medium: \"MMM d, y\",\n short: \"MM/dd/yyyy\",\n};\n\nconst timeFormats = {\n full: \"h:mm:ss a zzzz\",\n long: \"h:mm:ss a z\",\n medium: \"h:mm:ss a\",\n short: \"h:mm a\",\n};\n\nconst dateTimeFormats = {\n full: \"{{date}} 'at' {{time}}\",\n long: \"{{date}} 'at' {{time}}\",\n medium: \"{{date}}, {{time}}\",\n short: \"{{date}}, {{time}}\",\n};\n\nexport const formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: \"full\",\n }),\n\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: \"full\",\n }),\n\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: \"full\",\n }),\n};\n","const formatRelativeLocale = {\n lastWeek: \"'last' eeee 'at' p\",\n yesterday: \"'yesterday at' p\",\n today: \"'today at' p\",\n tomorrow: \"'tomorrow at' p\",\n nextWeek: \"eeee 'at' p\",\n other: \"P\",\n};\n\nexport const formatRelative = (token, _date, _baseDate, _options) =>\n formatRelativeLocale[token];\n","/* eslint-disable no-unused-vars */\n\n/**\n * The localize function argument callback which allows to convert raw value to\n * the actual type.\n *\n * @param value - The value to convert\n *\n * @returns The converted value\n */\n\n/**\n * The map of localized values for each width.\n */\n\n/**\n * The index type of the locale unit value. It types conversion of units of\n * values that don't start at 0 (i.e. quarters).\n */\n\n/**\n * Converts the unit value to the tuple of values.\n */\n\n/**\n * The tuple of localized era values. The first element represents BC,\n * the second element represents AD.\n */\n\n/**\n * The tuple of localized quarter values. The first element represents Q1.\n */\n\n/**\n * The tuple of localized day values. The first element represents Sunday.\n */\n\n/**\n * The tuple of localized month values. The first element represents January.\n */\n\nexport function buildLocalizeFn(args) {\n return (value, options) => {\n const context = options?.context ? String(options.context) : \"standalone\";\n\n let valuesArray;\n if (context === \"formatting\" && args.formattingValues) {\n const defaultWidth = args.defaultFormattingWidth || args.defaultWidth;\n const width = options?.width ? String(options.width) : defaultWidth;\n\n valuesArray =\n args.formattingValues[width] || args.formattingValues[defaultWidth];\n } else {\n const defaultWidth = args.defaultWidth;\n const width = options?.width ? String(options.width) : args.defaultWidth;\n\n valuesArray = args.values[width] || args.values[defaultWidth];\n }\n const index = args.argumentCallback ? args.argumentCallback(value) : value;\n\n // @ts-expect-error - For some reason TypeScript just don't want to match it, no matter how hard we try. I challenge you to try to remove it!\n return valuesArray[index];\n };\n}\n","export function buildMatchFn(args) {\n return (string, options = {}) => {\n const width = options.width;\n\n const matchPattern =\n (width && args.matchPatterns[width]) ||\n args.matchPatterns[args.defaultMatchWidth];\n const matchResult = string.match(matchPattern);\n\n if (!matchResult) {\n return null;\n }\n const matchedString = matchResult[0];\n\n const parsePatterns =\n (width && args.parsePatterns[width]) ||\n args.parsePatterns[args.defaultParseWidth];\n\n const key = Array.isArray(parsePatterns)\n ? findIndex(parsePatterns, (pattern) => pattern.test(matchedString))\n : // eslint-disable-next-line @typescript-eslint/no-explicit-any -- I challange you to fix the type\n findKey(parsePatterns, (pattern) => pattern.test(matchedString));\n\n let value;\n\n value = args.valueCallback ? args.valueCallback(key) : key;\n value = options.valueCallback\n ? // eslint-disable-next-line @typescript-eslint/no-explicit-any -- I challange you to fix the type\n options.valueCallback(value)\n : value;\n\n const rest = string.slice(matchedString.length);\n\n return { value, rest };\n };\n}\n\nfunction findKey(object, predicate) {\n for (const key in object) {\n if (\n Object.prototype.hasOwnProperty.call(object, key) &&\n predicate(object[key])\n ) {\n return key;\n }\n }\n return undefined;\n}\n\nfunction findIndex(array, predicate) {\n for (let key = 0; key < array.length; key++) {\n if (predicate(array[key])) {\n return key;\n }\n }\n return undefined;\n}\n","export function buildMatchPatternFn(args) {\n return (string, options = {}) => {\n const matchResult = string.match(args.matchPattern);\n if (!matchResult) return null;\n const matchedString = matchResult[0];\n\n const parseResult = string.match(args.parsePattern);\n if (!parseResult) return null;\n let value = args.valueCallback\n ? args.valueCallback(parseResult[0])\n : parseResult[0];\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any -- I challange you to fix the type\n value = options.valueCallback ? options.valueCallback(value) : value;\n\n const rest = string.slice(matchedString.length);\n\n return { value, rest };\n };\n}\n","import { buildMatchFn } from \"../../_lib/buildMatchFn.mjs\";\nimport { buildMatchPatternFn } from \"../../_lib/buildMatchPatternFn.mjs\";\n\nconst matchOrdinalNumberPattern = /^(\\d+)(th|st|nd|rd)?/i;\nconst parseOrdinalNumberPattern = /\\d+/i;\n\nconst matchEraPatterns = {\n narrow: /^(b|a)/i,\n abbreviated: /^(b\\.?\\s?c\\.?|b\\.?\\s?c\\.?\\s?e\\.?|a\\.?\\s?d\\.?|c\\.?\\s?e\\.?)/i,\n wide: /^(before christ|before common era|anno domini|common era)/i,\n};\nconst parseEraPatterns = {\n any: [/^b/i, /^(a|c)/i],\n};\n\nconst matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^q[1234]/i,\n wide: /^[1234](th|st|nd|rd)? quarter/i,\n};\nconst parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i],\n};\n\nconst matchMonthPatterns = {\n narrow: /^[jfmasond]/i,\n abbreviated: /^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,\n wide: /^(january|february|march|april|may|june|july|august|september|october|november|december)/i,\n};\nconst parseMonthPatterns = {\n narrow: [\n /^j/i,\n /^f/i,\n /^m/i,\n /^a/i,\n /^m/i,\n /^j/i,\n /^j/i,\n /^a/i,\n /^s/i,\n /^o/i,\n /^n/i,\n /^d/i,\n ],\n\n any: [\n /^ja/i,\n /^f/i,\n /^mar/i,\n /^ap/i,\n /^may/i,\n /^jun/i,\n /^jul/i,\n /^au/i,\n /^s/i,\n /^o/i,\n /^n/i,\n /^d/i,\n ],\n};\n\nconst matchDayPatterns = {\n narrow: /^[smtwf]/i,\n short: /^(su|mo|tu|we|th|fr|sa)/i,\n abbreviated: /^(sun|mon|tue|wed|thu|fri|sat)/i,\n wide: /^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i,\n};\nconst parseDayPatterns = {\n narrow: [/^s/i, /^m/i, /^t/i, /^w/i, /^t/i, /^f/i, /^s/i],\n any: [/^su/i, /^m/i, /^tu/i, /^w/i, /^th/i, /^f/i, /^sa/i],\n};\n\nconst matchDayPeriodPatterns = {\n narrow: /^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,\n any: /^([ap]\\.?\\s?m\\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i,\n};\nconst parseDayPeriodPatterns = {\n any: {\n am: /^a/i,\n pm: /^p/i,\n midnight: /^mi/i,\n noon: /^no/i,\n morning: /morning/i,\n afternoon: /afternoon/i,\n evening: /evening/i,\n night: /night/i,\n },\n};\n\nexport const match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: (value) => parseInt(value, 10),\n }),\n\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseEraPatterns,\n defaultParseWidth: \"any\",\n }),\n\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: \"any\",\n valueCallback: (index) => index + 1,\n }),\n\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: \"any\",\n }),\n\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseDayPatterns,\n defaultParseWidth: \"any\",\n }),\n\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: \"any\",\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: \"any\",\n }),\n};\n","import { formatDistance } from \"./en-US/_lib/formatDistance.mjs\";\nimport { formatLong } from \"./en-US/_lib/formatLong.mjs\";\nimport { formatRelative } from \"./en-US/_lib/formatRelative.mjs\";\nimport { localize } from \"./en-US/_lib/localize.mjs\";\nimport { match } from \"./en-US/_lib/match.mjs\";\n\n/**\n * @category Locales\n * @summary English locale (United States).\n * @language English\n * @iso-639-2 eng\n * @author Sasha Koss [@kossnocorp](https://github.com/kossnocorp)\n * @author Lesha Koss [@leshakoss](https://github.com/leshakoss)\n */\nexport const enUS = {\n code: \"en-US\",\n formatDistance: formatDistance,\n formatLong: formatLong,\n formatRelative: formatRelative,\n localize: localize,\n match: match,\n options: {\n weekStartsOn: 0 /* Sunday */,\n firstWeekContainsDate: 1,\n },\n};\n\n// Fallback for modularized imports:\nexport default enUS;\n","import { buildLocalizeFn } from \"../../_lib/buildLocalizeFn.mjs\";\n\nconst eraValues = {\n narrow: [\"B\", \"A\"],\n abbreviated: [\"BC\", \"AD\"],\n wide: [\"Before Christ\", \"Anno Domini\"],\n};\n\nconst quarterValues = {\n narrow: [\"1\", \"2\", \"3\", \"4\"],\n abbreviated: [\"Q1\", \"Q2\", \"Q3\", \"Q4\"],\n wide: [\"1st quarter\", \"2nd quarter\", \"3rd quarter\", \"4th quarter\"],\n};\n\n// Note: in English, the names of days of the week and months are capitalized.\n// If you are making a new locale based on this one, check if the same is true for the language you're working on.\n// Generally, formatted dates should look like they are in the middle of a sentence,\n// e.g. in Spanish language the weekdays and months should be in the lowercase.\nconst monthValues = {\n narrow: [\"J\", \"F\", \"M\", \"A\", \"M\", \"J\", \"J\", \"A\", \"S\", \"O\", \"N\", \"D\"],\n abbreviated: [\n \"Jan\",\n \"Feb\",\n \"Mar\",\n \"Apr\",\n \"May\",\n \"Jun\",\n \"Jul\",\n \"Aug\",\n \"Sep\",\n \"Oct\",\n \"Nov\",\n \"Dec\",\n ],\n\n wide: [\n \"January\",\n \"February\",\n \"March\",\n \"April\",\n \"May\",\n \"June\",\n \"July\",\n \"August\",\n \"September\",\n \"October\",\n \"November\",\n \"December\",\n ],\n};\n\nconst dayValues = {\n narrow: [\"S\", \"M\", \"T\", \"W\", \"T\", \"F\", \"S\"],\n short: [\"Su\", \"Mo\", \"Tu\", \"We\", \"Th\", \"Fr\", \"Sa\"],\n abbreviated: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"],\n wide: [\n \"Sunday\",\n \"Monday\",\n \"Tuesday\",\n \"Wednesday\",\n \"Thursday\",\n \"Friday\",\n \"Saturday\",\n ],\n};\n\nconst dayPeriodValues = {\n narrow: {\n am: \"a\",\n pm: \"p\",\n midnight: \"mi\",\n noon: \"n\",\n morning: \"morning\",\n afternoon: \"afternoon\",\n evening: \"evening\",\n night: \"night\",\n },\n abbreviated: {\n am: \"AM\",\n pm: \"PM\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"morning\",\n afternoon: \"afternoon\",\n evening: \"evening\",\n night: \"night\",\n },\n wide: {\n am: \"a.m.\",\n pm: \"p.m.\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"morning\",\n afternoon: \"afternoon\",\n evening: \"evening\",\n night: \"night\",\n },\n};\n\nconst formattingDayPeriodValues = {\n narrow: {\n am: \"a\",\n pm: \"p\",\n midnight: \"mi\",\n noon: \"n\",\n morning: \"in the morning\",\n afternoon: \"in the afternoon\",\n evening: \"in the evening\",\n night: \"at night\",\n },\n abbreviated: {\n am: \"AM\",\n pm: \"PM\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"in the morning\",\n afternoon: \"in the afternoon\",\n evening: \"in the evening\",\n night: \"at night\",\n },\n wide: {\n am: \"a.m.\",\n pm: \"p.m.\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"in the morning\",\n afternoon: \"in the afternoon\",\n evening: \"in the evening\",\n night: \"at night\",\n },\n};\n\nconst ordinalNumber = (dirtyNumber, _options) => {\n const number = Number(dirtyNumber);\n\n // If ordinal numbers depend on context, for example,\n // if they are different for different grammatical genders,\n // use `options.unit`.\n //\n // `unit` can be 'year', 'quarter', 'month', 'week', 'date', 'dayOfYear',\n // 'day', 'hour', 'minute', 'second'.\n\n const rem100 = number % 100;\n if (rem100 > 20 || rem100 < 10) {\n switch (rem100 % 10) {\n case 1:\n return number + \"st\";\n case 2:\n return number + \"nd\";\n case 3:\n return number + \"rd\";\n }\n }\n return number + \"th\";\n};\n\nexport const localize = {\n ordinalNumber,\n\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: \"wide\",\n }),\n\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: \"wide\",\n argumentCallback: (quarter) => quarter - 1,\n }),\n\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: \"wide\",\n }),\n\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: \"wide\",\n }),\n\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: \"wide\",\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: \"wide\",\n }),\n};\n","let defaultOptions = {};\n\nexport function getDefaultOptions() {\n return defaultOptions;\n}\n\nexport function setDefaultOptions(newOptions) {\n defaultOptions = newOptions;\n}\n","/**\n * @module constants\n * @summary Useful constants\n * @description\n * Collection of useful date constants.\n *\n * The constants could be imported from `date-fns/constants`:\n *\n * ```ts\n * import { maxTime, minTime } from \"./constants/date-fns/constants\";\n *\n * function isAllowedTime(time) {\n * return time <= maxTime && time >= minTime;\n * }\n * ```\n */\n\n/**\n * @constant\n * @name daysInWeek\n * @summary Days in 1 week.\n */\nexport const daysInWeek = 7;\n\n/**\n * @constant\n * @name daysInYear\n * @summary Days in 1 year.\n *\n * @description\n * How many days in a year.\n *\n * One years equals 365.2425 days according to the formula:\n *\n * > Leap year occures every 4 years, except for years that are divisable by 100 and not divisable by 400.\n * > 1 mean year = (365+1/4-1/100+1/400) days = 365.2425 days\n */\nexport const daysInYear = 365.2425;\n\n/**\n * @constant\n * @name maxTime\n * @summary Maximum allowed time.\n *\n * @example\n * import { maxTime } from \"./constants/date-fns/constants\";\n *\n * const isValid = 8640000000000001 <= maxTime;\n * //=> false\n *\n * new Date(8640000000000001);\n * //=> Invalid Date\n */\nexport const maxTime = Math.pow(10, 8) * 24 * 60 * 60 * 1000;\n\n/**\n * @constant\n * @name minTime\n * @summary Minimum allowed time.\n *\n * @example\n * import { minTime } from \"./constants/date-fns/constants\";\n *\n * const isValid = -8640000000000001 >= minTime;\n * //=> false\n *\n * new Date(-8640000000000001)\n * //=> Invalid Date\n */\nexport const minTime = -maxTime;\n\n/**\n * @constant\n * @name millisecondsInWeek\n * @summary Milliseconds in 1 week.\n */\nexport const millisecondsInWeek = 604800000;\n\n/**\n * @constant\n * @name millisecondsInDay\n * @summary Milliseconds in 1 day.\n */\nexport const millisecondsInDay = 86400000;\n\n/**\n * @constant\n * @name millisecondsInMinute\n * @summary Milliseconds in 1 minute\n */\nexport const millisecondsInMinute = 60000;\n\n/**\n * @constant\n * @name millisecondsInHour\n * @summary Milliseconds in 1 hour\n */\nexport const millisecondsInHour = 3600000;\n\n/**\n * @constant\n * @name millisecondsInSecond\n * @summary Milliseconds in 1 second\n */\nexport const millisecondsInSecond = 1000;\n\n/**\n * @constant\n * @name minutesInYear\n * @summary Minutes in 1 year.\n */\nexport const minutesInYear = 525600;\n\n/**\n * @constant\n * @name minutesInMonth\n * @summary Minutes in 1 month.\n */\nexport const minutesInMonth = 43200;\n\n/**\n * @constant\n * @name minutesInDay\n * @summary Minutes in 1 day.\n */\nexport const minutesInDay = 1440;\n\n/**\n * @constant\n * @name minutesInHour\n * @summary Minutes in 1 hour.\n */\nexport const minutesInHour = 60;\n\n/**\n * @constant\n * @name monthsInQuarter\n * @summary Months in 1 quarter.\n */\nexport const monthsInQuarter = 3;\n\n/**\n * @constant\n * @name monthsInYear\n * @summary Months in 1 year.\n */\nexport const monthsInYear = 12;\n\n/**\n * @constant\n * @name quartersInYear\n * @summary Quarters in 1 year\n */\nexport const quartersInYear = 4;\n\n/**\n * @constant\n * @name secondsInHour\n * @summary Seconds in 1 hour.\n */\nexport const secondsInHour = 3600;\n\n/**\n * @constant\n * @name secondsInMinute\n * @summary Seconds in 1 minute.\n */\nexport const secondsInMinute = 60;\n\n/**\n * @constant\n * @name secondsInDay\n * @summary Seconds in 1 day.\n */\nexport const secondsInDay = secondsInHour * 24;\n\n/**\n * @constant\n * @name secondsInWeek\n * @summary Seconds in 1 week.\n */\nexport const secondsInWeek = secondsInDay * 7;\n\n/**\n * @constant\n * @name secondsInYear\n * @summary Seconds in 1 year.\n */\nexport const secondsInYear = secondsInDay * daysInYear;\n\n/**\n * @constant\n * @name secondsInMonth\n * @summary Seconds in 1 month\n */\nexport const secondsInMonth = secondsInYear / 12;\n\n/**\n * @constant\n * @name secondsInQuarter\n * @summary Seconds in 1 quarter.\n */\nexport const secondsInQuarter = secondsInMonth * 3;\n","/**\n * @name toDate\n * @category Common Helpers\n * @summary Convert the given argument to an instance of Date.\n *\n * @description\n * Convert the given argument to an instance of Date.\n *\n * If the argument is an instance of Date, the function returns its clone.\n *\n * If the argument is a number, it is treated as a timestamp.\n *\n * If the argument is none of the above, the function returns Invalid Date.\n *\n * **Note**: *all* Date arguments passed to any *date-fns* function is processed by `toDate`.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param argument - The value to convert\n *\n * @returns The parsed date in the local time zone\n *\n * @example\n * // Clone the date:\n * const result = toDate(new Date(2014, 1, 11, 11, 30, 30))\n * //=> Tue Feb 11 2014 11:30:30\n *\n * @example\n * // Convert the timestamp to date:\n * const result = toDate(1392098430000)\n * //=> Tue Feb 11 2014 11:30:30\n */\nexport function toDate(argument) {\n const argStr = Object.prototype.toString.call(argument);\n\n // Clone the date\n if (\n argument instanceof Date ||\n (typeof argument === \"object\" && argStr === \"[object Date]\")\n ) {\n // Prevent the date to lose the milliseconds when passed to new Date() in IE10\n return new argument.constructor(+argument);\n } else if (\n typeof argument === \"number\" ||\n argStr === \"[object Number]\" ||\n typeof argument === \"string\" ||\n argStr === \"[object String]\"\n ) {\n // TODO: Can we get rid of as?\n return new Date(argument);\n } else {\n // TODO: Can we get rid of as?\n return new Date(NaN);\n }\n}\n\n// Fallback for modularized imports:\nexport default toDate;\n","import { toDate } from \"./toDate.mjs\";\n\n/**\n * @name startOfDay\n * @category Day Helpers\n * @summary Return the start of a day for the given date.\n *\n * @description\n * Return the start of a day for the given date.\n * The result will be in the local timezone.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The original date\n *\n * @returns The start of a day\n *\n * @example\n * // The start of a day for 2 September 2014 11:55:00:\n * const result = startOfDay(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Tue Sep 02 2014 00:00:00\n */\nexport function startOfDay(date) {\n const _date = toDate(date);\n _date.setHours(0, 0, 0, 0);\n return _date;\n}\n\n// Fallback for modularized imports:\nexport default startOfDay;\n","import { toDate } from \"../toDate.mjs\";\n\n/**\n * Google Chrome as of 67.0.3396.87 introduced timezones with offset that includes seconds.\n * They usually appear for dates that denote time before the timezones were introduced\n * (e.g. for 'Europe/Prague' timezone the offset is GMT+00:57:44 before 1 October 1891\n * and GMT+01:00:00 after that date)\n *\n * Date#getTimezoneOffset returns the offset in minutes and would return 57 for the example above,\n * which would lead to incorrect calculations.\n *\n * This function returns the timezone offset in milliseconds that takes seconds in account.\n */\nexport function getTimezoneOffsetInMilliseconds(date) {\n const _date = toDate(date);\n const utcDate = new Date(\n Date.UTC(\n _date.getFullYear(),\n _date.getMonth(),\n _date.getDate(),\n _date.getHours(),\n _date.getMinutes(),\n _date.getSeconds(),\n _date.getMilliseconds(),\n ),\n );\n utcDate.setUTCFullYear(_date.getFullYear());\n return +date - +utcDate;\n}\n","import { millisecondsInDay } from \"./constants.mjs\";\nimport { startOfDay } from \"./startOfDay.mjs\";\nimport { getTimezoneOffsetInMilliseconds } from \"./_lib/getTimezoneOffsetInMilliseconds.mjs\";\n\n/**\n * @name differenceInCalendarDays\n * @category Day Helpers\n * @summary Get the number of calendar days between the given dates.\n *\n * @description\n * Get the number of calendar days between the given dates. This means that the times are removed\n * from the dates and then the difference in days is calculated.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param dateLeft - The later date\n * @param dateRight - The earlier date\n *\n * @returns The number of calendar days\n *\n * @example\n * // How many calendar days are between\n * // 2 July 2011 23:00:00 and 2 July 2012 00:00:00?\n * const result = differenceInCalendarDays(\n * new Date(2012, 6, 2, 0, 0),\n * new Date(2011, 6, 2, 23, 0)\n * )\n * //=> 366\n * // How many calendar days are between\n * // 2 July 2011 23:59:00 and 3 July 2011 00:01:00?\n * const result = differenceInCalendarDays(\n * new Date(2011, 6, 3, 0, 1),\n * new Date(2011, 6, 2, 23, 59)\n * )\n * //=> 1\n */\nexport function differenceInCalendarDays(dateLeft, dateRight) {\n const startOfDayLeft = startOfDay(dateLeft);\n const startOfDayRight = startOfDay(dateRight);\n\n const timestampLeft =\n +startOfDayLeft - getTimezoneOffsetInMilliseconds(startOfDayLeft);\n const timestampRight =\n +startOfDayRight - getTimezoneOffsetInMilliseconds(startOfDayRight);\n\n // Round the number of days to the nearest integer because the number of\n // milliseconds in a day is not constant (e.g. it's different in the week of\n // the daylight saving time clock shift).\n return Math.round((timestampLeft - timestampRight) / millisecondsInDay);\n}\n\n// Fallback for modularized imports:\nexport default differenceInCalendarDays;\n","/**\n * @name constructFrom\n * @category Generic Helpers\n * @summary Constructs a date using the reference date and the value\n *\n * @description\n * The function constructs a new date using the constructor from the reference\n * date and the given value. It helps to build generic functions that accept\n * date extensions.\n *\n * It defaults to `Date` if the passed reference date is a number or a string.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The reference date to take constructor from\n * @param value - The value to create the date\n *\n * @returns Date initialized using the given date and value\n *\n * @example\n * import { constructFrom } from 'date-fns'\n *\n * // A function that clones a date preserving the original type\n * function cloneDate Wed Jan 01 2014 00:00:00\n */\nexport function startOfYear(date) {\n const cleanDate = toDate(date);\n const _date = constructFrom(date, 0);\n _date.setFullYear(cleanDate.getFullYear(), 0, 1);\n _date.setHours(0, 0, 0, 0);\n return _date;\n}\n\n// Fallback for modularized imports:\nexport default startOfYear;\n","import { differenceInCalendarDays } from \"./differenceInCalendarDays.mjs\";\nimport { startOfYear } from \"./startOfYear.mjs\";\nimport { toDate } from \"./toDate.mjs\";\n\n/**\n * @name getDayOfYear\n * @category Day Helpers\n * @summary Get the day of the year of the given date.\n *\n * @description\n * Get the day of the year of the given date.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The given date\n *\n * @returns The day of year\n *\n * @example\n * // Which day of the year is 2 July 2014?\n * const result = getDayOfYear(new Date(2014, 6, 2))\n * //=> 183\n */\nexport function getDayOfYear(date) {\n const _date = toDate(date);\n const diff = differenceInCalendarDays(_date, startOfYear(_date));\n const dayOfYear = diff + 1;\n return dayOfYear;\n}\n\n// Fallback for modularized imports:\nexport default getDayOfYear;\n","import { toDate } from \"./toDate.mjs\";\nimport { getDefaultOptions } from \"./_lib/defaultOptions.mjs\";\n\n/**\n * The {@link startOfWeek} function options.\n */\n\n/**\n * @name startOfWeek\n * @category Week Helpers\n * @summary Return the start of a week for the given date.\n *\n * @description\n * Return the start of a week for the given date.\n * The result will be in the local timezone.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The original date\n * @param options - An object with options\n *\n * @returns The start of a week\n *\n * @example\n * // The start of a week for 2 September 2014 11:55:00:\n * const result = startOfWeek(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Sun Aug 31 2014 00:00:00\n *\n * @example\n * // If the week starts on Monday, the start of the week for 2 September 2014 11:55:00:\n * const result = startOfWeek(new Date(2014, 8, 2, 11, 55, 0), { weekStartsOn: 1 })\n * //=> Mon Sep 01 2014 00:00:00\n */\nexport function startOfWeek(date, options) {\n const defaultOptions = getDefaultOptions();\n const weekStartsOn =\n options?.weekStartsOn ??\n options?.locale?.options?.weekStartsOn ??\n defaultOptions.weekStartsOn ??\n defaultOptions.locale?.options?.weekStartsOn ??\n 0;\n\n const _date = toDate(date);\n const day = _date.getDay();\n const diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn;\n\n _date.setDate(_date.getDate() - diff);\n _date.setHours(0, 0, 0, 0);\n return _date;\n}\n\n// Fallback for modularized imports:\nexport default startOfWeek;\n","import { startOfWeek } from \"./startOfWeek.mjs\";\n\n/**\n * @name startOfISOWeek\n * @category ISO Week Helpers\n * @summary Return the start of an ISO week for the given date.\n *\n * @description\n * Return the start of an ISO week for the given date.\n * The result will be in the local timezone.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The original date\n *\n * @returns The start of an ISO week\n *\n * @example\n * // The start of an ISO week for 2 September 2014 11:55:00:\n * const result = startOfISOWeek(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Mon Sep 01 2014 00:00:00\n */\nexport function startOfISOWeek(date) {\n return startOfWeek(date, { weekStartsOn: 1 });\n}\n\n// Fallback for modularized imports:\nexport default startOfISOWeek;\n","import { constructFrom } from \"./constructFrom.mjs\";\nimport { startOfISOWeek } from \"./startOfISOWeek.mjs\";\nimport { toDate } from \"./toDate.mjs\";\n\n/**\n * @name getISOWeekYear\n * @category ISO Week-Numbering Year Helpers\n * @summary Get the ISO week-numbering year of the given date.\n *\n * @description\n * Get the ISO week-numbering year of the given date,\n * which always starts 3 days before the year's first Thursday.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The given date\n *\n * @returns The ISO week-numbering year\n *\n * @example\n * // Which ISO-week numbering year is 2 January 2005?\n * const result = getISOWeekYear(new Date(2005, 0, 2))\n * //=> 2004\n */\nexport function getISOWeekYear(date) {\n const _date = toDate(date);\n const year = _date.getFullYear();\n\n const fourthOfJanuaryOfNextYear = constructFrom(date, 0);\n fourthOfJanuaryOfNextYear.setFullYear(year + 1, 0, 4);\n fourthOfJanuaryOfNextYear.setHours(0, 0, 0, 0);\n const startOfNextYear = startOfISOWeek(fourthOfJanuaryOfNextYear);\n\n const fourthOfJanuaryOfThisYear = constructFrom(date, 0);\n fourthOfJanuaryOfThisYear.setFullYear(year, 0, 4);\n fourthOfJanuaryOfThisYear.setHours(0, 0, 0, 0);\n const startOfThisYear = startOfISOWeek(fourthOfJanuaryOfThisYear);\n\n if (_date.getTime() >= startOfNextYear.getTime()) {\n return year + 1;\n } else if (_date.getTime() >= startOfThisYear.getTime()) {\n return year;\n } else {\n return year - 1;\n }\n}\n\n// Fallback for modularized imports:\nexport default getISOWeekYear;\n","import { getISOWeekYear } from \"./getISOWeekYear.mjs\";\nimport { startOfISOWeek } from \"./startOfISOWeek.mjs\";\nimport { constructFrom } from \"./constructFrom.mjs\";\n\n/**\n * @name startOfISOWeekYear\n * @category ISO Week-Numbering Year Helpers\n * @summary Return the start of an ISO week-numbering year for the given date.\n *\n * @description\n * Return the start of an ISO week-numbering year,\n * which always starts 3 days before the year's first Thursday.\n * The result will be in the local timezone.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The original date\n *\n * @returns The start of an ISO week-numbering year\n *\n * @example\n * // The start of an ISO week-numbering year for 2 July 2005:\n * const result = startOfISOWeekYear(new Date(2005, 6, 2))\n * //=> Mon Jan 03 2005 00:00:00\n */\nexport function startOfISOWeekYear(date) {\n const year = getISOWeekYear(date);\n const fourthOfJanuary = constructFrom(date, 0);\n fourthOfJanuary.setFullYear(year, 0, 4);\n fourthOfJanuary.setHours(0, 0, 0, 0);\n return startOfISOWeek(fourthOfJanuary);\n}\n\n// Fallback for modularized imports:\nexport default startOfISOWeekYear;\n","import { millisecondsInWeek } from \"./constants.mjs\";\nimport { startOfISOWeek } from \"./startOfISOWeek.mjs\";\nimport { startOfISOWeekYear } from \"./startOfISOWeekYear.mjs\";\nimport { toDate } from \"./toDate.mjs\";\n\n/**\n * @name getISOWeek\n * @category ISO Week Helpers\n * @summary Get the ISO week of the given date.\n *\n * @description\n * Get the ISO week of the given date.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The given date\n *\n * @returns The ISO week\n *\n * @example\n * // Which week of the ISO-week numbering year is 2 January 2005?\n * const result = getISOWeek(new Date(2005, 0, 2))\n * //=> 53\n */\nexport function getISOWeek(date) {\n const _date = toDate(date);\n const diff = +startOfISOWeek(_date) - +startOfISOWeekYear(_date);\n\n // Round the number of weeks to the nearest integer because the number of\n // milliseconds in a week is not constant (e.g. it's different in the week of\n // the daylight saving time clock shift).\n return Math.round(diff / millisecondsInWeek) + 1;\n}\n\n// Fallback for modularized imports:\nexport default getISOWeek;\n","import { constructFrom } from \"./constructFrom.mjs\";\nimport { startOfWeek } from \"./startOfWeek.mjs\";\nimport { toDate } from \"./toDate.mjs\";\nimport { getDefaultOptions } from \"./_lib/defaultOptions.mjs\";\n\n/**\n * The {@link getWeekYear} function options.\n */\n\n/**\n * @name getWeekYear\n * @category Week-Numbering Year Helpers\n * @summary Get the local week-numbering year of the given date.\n *\n * @description\n * Get the local week-numbering year of the given date.\n * The exact calculation depends on the values of\n * `options.weekStartsOn` (which is the index of the first day of the week)\n * and `options.firstWeekContainsDate` (which is the day of January, which is always in\n * the first week of the week-numbering year)\n *\n * Week numbering: https://en.wikipedia.org/wiki/Week#The_ISO_week_date_system\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The given date\n * @param options - An object with options.\n *\n * @returns The local week-numbering year\n *\n * @example\n * // Which week numbering year is 26 December 2004 with the default settings?\n * const result = getWeekYear(new Date(2004, 11, 26))\n * //=> 2005\n *\n * @example\n * // Which week numbering year is 26 December 2004 if week starts on Saturday?\n * const result = getWeekYear(new Date(2004, 11, 26), { weekStartsOn: 6 })\n * //=> 2004\n *\n * @example\n * // Which week numbering year is 26 December 2004 if the first week contains 4 January?\n * const result = getWeekYear(new Date(2004, 11, 26), { firstWeekContainsDate: 4 })\n * //=> 2004\n */\nexport function getWeekYear(date, options) {\n const _date = toDate(date);\n const year = _date.getFullYear();\n\n const defaultOptions = getDefaultOptions();\n const firstWeekContainsDate =\n options?.firstWeekContainsDate ??\n options?.locale?.options?.firstWeekContainsDate ??\n defaultOptions.firstWeekContainsDate ??\n defaultOptions.locale?.options?.firstWeekContainsDate ??\n 1;\n\n const firstWeekOfNextYear = constructFrom(date, 0);\n firstWeekOfNextYear.setFullYear(year + 1, 0, firstWeekContainsDate);\n firstWeekOfNextYear.setHours(0, 0, 0, 0);\n const startOfNextYear = startOfWeek(firstWeekOfNextYear, options);\n\n const firstWeekOfThisYear = constructFrom(date, 0);\n firstWeekOfThisYear.setFullYear(year, 0, firstWeekContainsDate);\n firstWeekOfThisYear.setHours(0, 0, 0, 0);\n const startOfThisYear = startOfWeek(firstWeekOfThisYear, options);\n\n if (_date.getTime() >= startOfNextYear.getTime()) {\n return year + 1;\n } else if (_date.getTime() >= startOfThisYear.getTime()) {\n return year;\n } else {\n return year - 1;\n }\n}\n\n// Fallback for modularized imports:\nexport default getWeekYear;\n","import { constructFrom } from \"./constructFrom.mjs\";\nimport { getWeekYear } from \"./getWeekYear.mjs\";\nimport { startOfWeek } from \"./startOfWeek.mjs\";\nimport { getDefaultOptions } from \"./_lib/defaultOptions.mjs\";\n\n/**\n * The {@link startOfWeekYear} function options.\n */\n\n/**\n * @name startOfWeekYear\n * @category Week-Numbering Year Helpers\n * @summary Return the start of a local week-numbering year for the given date.\n *\n * @description\n * Return the start of a local week-numbering year.\n * The exact calculation depends on the values of\n * `options.weekStartsOn` (which is the index of the first day of the week)\n * and `options.firstWeekContainsDate` (which is the day of January, which is always in\n * the first week of the week-numbering year)\n *\n * Week numbering: https://en.wikipedia.org/wiki/Week#The_ISO_week_date_system\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The original date\n * @param options - An object with options\n *\n * @returns The start of a week-numbering year\n *\n * @example\n * // The start of an a week-numbering year for 2 July 2005 with default settings:\n * const result = startOfWeekYear(new Date(2005, 6, 2))\n * //=> Sun Dec 26 2004 00:00:00\n *\n * @example\n * // The start of a week-numbering year for 2 July 2005\n * // if Monday is the first day of week\n * // and 4 January is always in the first week of the year:\n * const result = startOfWeekYear(new Date(2005, 6, 2), {\n * weekStartsOn: 1,\n * firstWeekContainsDate: 4\n * })\n * //=> Mon Jan 03 2005 00:00:00\n */\nexport function startOfWeekYear(date, options) {\n const defaultOptions = getDefaultOptions();\n const firstWeekContainsDate =\n options?.firstWeekContainsDate ??\n options?.locale?.options?.firstWeekContainsDate ??\n defaultOptions.firstWeekContainsDate ??\n defaultOptions.locale?.options?.firstWeekContainsDate ??\n 1;\n\n const year = getWeekYear(date, options);\n const firstWeek = constructFrom(date, 0);\n firstWeek.setFullYear(year, 0, firstWeekContainsDate);\n firstWeek.setHours(0, 0, 0, 0);\n const _date = startOfWeek(firstWeek, options);\n return _date;\n}\n\n// Fallback for modularized imports:\nexport default startOfWeekYear;\n","import { millisecondsInWeek } from \"./constants.mjs\";\nimport { startOfWeek } from \"./startOfWeek.mjs\";\nimport { startOfWeekYear } from \"./startOfWeekYear.mjs\";\nimport { toDate } from \"./toDate.mjs\";\n\n/**\n * The {@link getWeek} function options.\n */\n\n/**\n * @name getWeek\n * @category Week Helpers\n * @summary Get the local week index of the given date.\n *\n * @description\n * Get the local week index of the given date.\n * The exact calculation depends on the values of\n * `options.weekStartsOn` (which is the index of the first day of the week)\n * and `options.firstWeekContainsDate` (which is the day of January, which is always in\n * the first week of the week-numbering year)\n *\n * Week numbering: https://en.wikipedia.org/wiki/Week#The_ISO_week_date_system\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The given date\n * @param options - An object with options\n *\n * @returns The week\n *\n * @example\n * // Which week of the local week numbering year is 2 January 2005 with default options?\n * const result = getWeek(new Date(2005, 0, 2))\n * //=> 2\n *\n * @example\n * // Which week of the local week numbering year is 2 January 2005,\n * // if Monday is the first day of the week,\n * // and the first week of the year always contains 4 January?\n * const result = getWeek(new Date(2005, 0, 2), {\n * weekStartsOn: 1,\n * firstWeekContainsDate: 4\n * })\n * //=> 53\n */\n\nexport function getWeek(date, options) {\n const _date = toDate(date);\n const diff = +startOfWeek(_date, options) - +startOfWeekYear(_date, options);\n\n // Round the number of weeks to the nearest integer because the number of\n // milliseconds in a week is not constant (e.g. it's different in the week of\n // the daylight saving time clock shift).\n return Math.round(diff / millisecondsInWeek) + 1;\n}\n\n// Fallback for modularized imports:\nexport default getWeek;\n","export function addLeadingZeros(number, targetLength) {\n const sign = number < 0 ? \"-\" : \"\";\n const output = Math.abs(number).toString().padStart(targetLength, \"0\");\n return sign + output;\n}\n","import { addLeadingZeros } from \"../addLeadingZeros.mjs\";\n\n/*\n * | | Unit | | Unit |\n * |-----|--------------------------------|-----|--------------------------------|\n * | a | AM, PM | A* | |\n * | d | Day of month | D | |\n * | h | Hour [1-12] | H | Hour [0-23] |\n * | m | Minute | M | Month |\n * | s | Second | S | Fraction of second |\n * | y | Year (abs) | Y | |\n *\n * Letters marked by * are not implemented but reserved by Unicode standard.\n */\n\nexport const lightFormatters = {\n // Year\n y(date, token) {\n // From http://www.unicode.org/reports/tr35/tr35-31/tr35-dates.html#Date_Format_tokens\n // | Year | y | yy | yyy | yyyy | yyyyy |\n // |----------|-------|----|-------|-------|-------|\n // | AD 1 | 1 | 01 | 001 | 0001 | 00001 |\n // | AD 12 | 12 | 12 | 012 | 0012 | 00012 |\n // | AD 123 | 123 | 23 | 123 | 0123 | 00123 |\n // | AD 1234 | 1234 | 34 | 1234 | 1234 | 01234 |\n // | AD 12345 | 12345 | 45 | 12345 | 12345 | 12345 |\n\n const signedYear = date.getFullYear();\n // Returns 1 for 1 BC (which is year 0 in JavaScript)\n const year = signedYear > 0 ? signedYear : 1 - signedYear;\n return addLeadingZeros(token === \"yy\" ? year % 100 : year, token.length);\n },\n\n // Month\n M(date, token) {\n const month = date.getMonth();\n return token === \"M\" ? String(month + 1) : addLeadingZeros(month + 1, 2);\n },\n\n // Day of the month\n d(date, token) {\n return addLeadingZeros(date.getDate(), token.length);\n },\n\n // AM or PM\n a(date, token) {\n const dayPeriodEnumValue = date.getHours() / 12 >= 1 ? \"pm\" : \"am\";\n\n switch (token) {\n case \"a\":\n case \"aa\":\n return dayPeriodEnumValue.toUpperCase();\n case \"aaa\":\n return dayPeriodEnumValue;\n case \"aaaaa\":\n return dayPeriodEnumValue[0];\n case \"aaaa\":\n default:\n return dayPeriodEnumValue === \"am\" ? \"a.m.\" : \"p.m.\";\n }\n },\n\n // Hour [1-12]\n h(date, token) {\n return addLeadingZeros(date.getHours() % 12 || 12, token.length);\n },\n\n // Hour [0-23]\n H(date, token) {\n return addLeadingZeros(date.getHours(), token.length);\n },\n\n // Minute\n m(date, token) {\n return addLeadingZeros(date.getMinutes(), token.length);\n },\n\n // Second\n s(date, token) {\n return addLeadingZeros(date.getSeconds(), token.length);\n },\n\n // Fraction of second\n S(date, token) {\n const numberOfDigits = token.length;\n const milliseconds = date.getMilliseconds();\n const fractionalSeconds = Math.trunc(\n milliseconds * Math.pow(10, numberOfDigits - 3),\n );\n return addLeadingZeros(fractionalSeconds, token.length);\n },\n};\n","import { getDayOfYear } from \"../../getDayOfYear.mjs\";\nimport { getISOWeek } from \"../../getISOWeek.mjs\";\nimport { getISOWeekYear } from \"../../getISOWeekYear.mjs\";\nimport { getWeek } from \"../../getWeek.mjs\";\nimport { getWeekYear } from \"../../getWeekYear.mjs\";\nimport { addLeadingZeros } from \"../addLeadingZeros.mjs\";\nimport { lightFormatters } from \"./lightFormatters.mjs\";\n\nconst dayPeriodEnum = {\n am: \"am\",\n pm: \"pm\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"morning\",\n afternoon: \"afternoon\",\n evening: \"evening\",\n night: \"night\",\n};\n\n/*\n * | | Unit | | Unit |\n * |-----|--------------------------------|-----|--------------------------------|\n * | a | AM, PM | A* | Milliseconds in day |\n * | b | AM, PM, noon, midnight | B | Flexible day period |\n * | c | Stand-alone local day of week | C* | Localized hour w/ day period |\n * | d | Day of month | D | Day of year |\n * | e | Local day of week | E | Day of week |\n * | f | | F* | Day of week in month |\n * | g* | Modified Julian day | G | Era |\n * | h | Hour [1-12] | H | Hour [0-23] |\n * | i! | ISO day of week | I! | ISO week of year |\n * | j* | Localized hour w/ day period | J* | Localized hour w/o day period |\n * | k | Hour [1-24] | K | Hour [0-11] |\n * | l* | (deprecated) | L | Stand-alone month |\n * | m | Minute | M | Month |\n * | n | | N | |\n * | o! | Ordinal number modifier | O | Timezone (GMT) |\n * | p! | Long localized time | P! | Long localized date |\n * | q | Stand-alone quarter | Q | Quarter |\n * | r* | Related Gregorian year | R! | ISO week-numbering year |\n * | s | Second | S | Fraction of second |\n * | t! | Seconds timestamp | T! | Milliseconds timestamp |\n * | u | Extended year | U* | Cyclic year |\n * | v* | Timezone (generic non-locat.) | V* | Timezone (location) |\n * | w | Local week of year | W* | Week of month |\n * | x | Timezone (ISO-8601 w/o Z) | X | Timezone (ISO-8601) |\n * | y | Year (abs) | Y | Local week-numbering year |\n * | z | Timezone (specific non-locat.) | Z* | Timezone (aliases) |\n *\n * Letters marked by * are not implemented but reserved by Unicode standard.\n *\n * Letters marked by ! are non-standard, but implemented by date-fns:\n * - `o` modifies the previous token to turn it into an ordinal (see `format` docs)\n * - `i` is ISO day of week. For `i` and `ii` is returns numeric ISO week days,\n * i.e. 7 for Sunday, 1 for Monday, etc.\n * - `I` is ISO week of year, as opposed to `w` which is local week of year.\n * - `R` is ISO week-numbering year, as opposed to `Y` which is local week-numbering year.\n * `R` is supposed to be used in conjunction with `I` and `i`\n * for universal ISO week-numbering date, whereas\n * `Y` is supposed to be used in conjunction with `w` and `e`\n * for week-numbering date specific to the locale.\n * - `P` is long localized date format\n * - `p` is long localized time format\n */\n\nexport const formatters = {\n // Era\n G: function (date, token, localize) {\n const era = date.getFullYear() > 0 ? 1 : 0;\n switch (token) {\n // AD, BC\n case \"G\":\n case \"GG\":\n case \"GGG\":\n return localize.era(era, { width: \"abbreviated\" });\n // A, B\n case \"GGGGG\":\n return localize.era(era, { width: \"narrow\" });\n // Anno Domini, Before Christ\n case \"GGGG\":\n default:\n return localize.era(era, { width: \"wide\" });\n }\n },\n\n // Year\n y: function (date, token, localize) {\n // Ordinal number\n if (token === \"yo\") {\n const signedYear = date.getFullYear();\n // Returns 1 for 1 BC (which is year 0 in JavaScript)\n const year = signedYear > 0 ? signedYear : 1 - signedYear;\n return localize.ordinalNumber(year, { unit: \"year\" });\n }\n\n return lightFormatters.y(date, token);\n },\n\n // Local week-numbering year\n Y: function (date, token, localize, options) {\n const signedWeekYear = getWeekYear(date, options);\n // Returns 1 for 1 BC (which is year 0 in JavaScript)\n const weekYear = signedWeekYear > 0 ? signedWeekYear : 1 - signedWeekYear;\n\n // Two digit year\n if (token === \"YY\") {\n const twoDigitYear = weekYear % 100;\n return addLeadingZeros(twoDigitYear, 2);\n }\n\n // Ordinal number\n if (token === \"Yo\") {\n return localize.ordinalNumber(weekYear, { unit: \"year\" });\n }\n\n // Padding\n return addLeadingZeros(weekYear, token.length);\n },\n\n // ISO week-numbering year\n R: function (date, token) {\n const isoWeekYear = getISOWeekYear(date);\n\n // Padding\n return addLeadingZeros(isoWeekYear, token.length);\n },\n\n // Extended year. This is a single number designating the year of this calendar system.\n // The main difference between `y` and `u` localizers are B.C. years:\n // | Year | `y` | `u` |\n // |------|-----|-----|\n // | AC 1 | 1 | 1 |\n // | BC 1 | 1 | 0 |\n // | BC 2 | 2 | -1 |\n // Also `yy` always returns the last two digits of a year,\n // while `uu` pads single digit years to 2 characters and returns other years unchanged.\n u: function (date, token) {\n const year = date.getFullYear();\n return addLeadingZeros(year, token.length);\n },\n\n // Quarter\n Q: function (date, token, localize) {\n const quarter = Math.ceil((date.getMonth() + 1) / 3);\n switch (token) {\n // 1, 2, 3, 4\n case \"Q\":\n return String(quarter);\n // 01, 02, 03, 04\n case \"QQ\":\n return addLeadingZeros(quarter, 2);\n // 1st, 2nd, 3rd, 4th\n case \"Qo\":\n return localize.ordinalNumber(quarter, { unit: \"quarter\" });\n // Q1, Q2, Q3, Q4\n case \"QQQ\":\n return localize.quarter(quarter, {\n width: \"abbreviated\",\n context: \"formatting\",\n });\n // 1, 2, 3, 4 (narrow quarter; could be not numerical)\n case \"QQQQQ\":\n return localize.quarter(quarter, {\n width: \"narrow\",\n context: \"formatting\",\n });\n // 1st quarter, 2nd quarter, ...\n case \"QQQQ\":\n default:\n return localize.quarter(quarter, {\n width: \"wide\",\n context: \"formatting\",\n });\n }\n },\n\n // Stand-alone quarter\n q: function (date, token, localize) {\n const quarter = Math.ceil((date.getMonth() + 1) / 3);\n switch (token) {\n // 1, 2, 3, 4\n case \"q\":\n return String(quarter);\n // 01, 02, 03, 04\n case \"qq\":\n return addLeadingZeros(quarter, 2);\n // 1st, 2nd, 3rd, 4th\n case \"qo\":\n return localize.ordinalNumber(quarter, { unit: \"quarter\" });\n // Q1, Q2, Q3, Q4\n case \"qqq\":\n return localize.quarter(quarter, {\n width: \"abbreviated\",\n context: \"standalone\",\n });\n // 1, 2, 3, 4 (narrow quarter; could be not numerical)\n case \"qqqqq\":\n return localize.quarter(quarter, {\n width: \"narrow\",\n context: \"standalone\",\n });\n // 1st quarter, 2nd quarter, ...\n case \"qqqq\":\n default:\n return localize.quarter(quarter, {\n width: \"wide\",\n context: \"standalone\",\n });\n }\n },\n\n // Month\n M: function (date, token, localize) {\n const month = date.getMonth();\n switch (token) {\n case \"M\":\n case \"MM\":\n return lightFormatters.M(date, token);\n // 1st, 2nd, ..., 12th\n case \"Mo\":\n return localize.ordinalNumber(month + 1, { unit: \"month\" });\n // Jan, Feb, ..., Dec\n case \"MMM\":\n return localize.month(month, {\n width: \"abbreviated\",\n context: \"formatting\",\n });\n // J, F, ..., D\n case \"MMMMM\":\n return localize.month(month, {\n width: \"narrow\",\n context: \"formatting\",\n });\n // January, February, ..., December\n case \"MMMM\":\n default:\n return localize.month(month, { width: \"wide\", context: \"formatting\" });\n }\n },\n\n // Stand-alone month\n L: function (date, token, localize) {\n const month = date.getMonth();\n switch (token) {\n // 1, 2, ..., 12\n case \"L\":\n return String(month + 1);\n // 01, 02, ..., 12\n case \"LL\":\n return addLeadingZeros(month + 1, 2);\n // 1st, 2nd, ..., 12th\n case \"Lo\":\n return localize.ordinalNumber(month + 1, { unit: \"month\" });\n // Jan, Feb, ..., Dec\n case \"LLL\":\n return localize.month(month, {\n width: \"abbreviated\",\n context: \"standalone\",\n });\n // J, F, ..., D\n case \"LLLLL\":\n return localize.month(month, {\n width: \"narrow\",\n context: \"standalone\",\n });\n // January, February, ..., December\n case \"LLLL\":\n default:\n return localize.month(month, { width: \"wide\", context: \"standalone\" });\n }\n },\n\n // Local week of year\n w: function (date, token, localize, options) {\n const week = getWeek(date, options);\n\n if (token === \"wo\") {\n return localize.ordinalNumber(week, { unit: \"week\" });\n }\n\n return addLeadingZeros(week, token.length);\n },\n\n // ISO week of year\n I: function (date, token, localize) {\n const isoWeek = getISOWeek(date);\n\n if (token === \"Io\") {\n return localize.ordinalNumber(isoWeek, { unit: \"week\" });\n }\n\n return addLeadingZeros(isoWeek, token.length);\n },\n\n // Day of the month\n d: function (date, token, localize) {\n if (token === \"do\") {\n return localize.ordinalNumber(date.getDate(), { unit: \"date\" });\n }\n\n return lightFormatters.d(date, token);\n },\n\n // Day of year\n D: function (date, token, localize) {\n const dayOfYear = getDayOfYear(date);\n\n if (token === \"Do\") {\n return localize.ordinalNumber(dayOfYear, { unit: \"dayOfYear\" });\n }\n\n return addLeadingZeros(dayOfYear, token.length);\n },\n\n // Day of week\n E: function (date, token, localize) {\n const dayOfWeek = date.getDay();\n switch (token) {\n // Tue\n case \"E\":\n case \"EE\":\n case \"EEE\":\n return localize.day(dayOfWeek, {\n width: \"abbreviated\",\n context: \"formatting\",\n });\n // T\n case \"EEEEE\":\n return localize.day(dayOfWeek, {\n width: \"narrow\",\n context: \"formatting\",\n });\n // Tu\n case \"EEEEEE\":\n return localize.day(dayOfWeek, {\n width: \"short\",\n context: \"formatting\",\n });\n // Tuesday\n case \"EEEE\":\n default:\n return localize.day(dayOfWeek, {\n width: \"wide\",\n context: \"formatting\",\n });\n }\n },\n\n // Local day of week\n e: function (date, token, localize, options) {\n const dayOfWeek = date.getDay();\n const localDayOfWeek = (dayOfWeek - options.weekStartsOn + 8) % 7 || 7;\n switch (token) {\n // Numerical value (Nth day of week with current locale or weekStartsOn)\n case \"e\":\n return String(localDayOfWeek);\n // Padded numerical value\n case \"ee\":\n return addLeadingZeros(localDayOfWeek, 2);\n // 1st, 2nd, ..., 7th\n case \"eo\":\n return localize.ordinalNumber(localDayOfWeek, { unit: \"day\" });\n case \"eee\":\n return localize.day(dayOfWeek, {\n width: \"abbreviated\",\n context: \"formatting\",\n });\n // T\n case \"eeeee\":\n return localize.day(dayOfWeek, {\n width: \"narrow\",\n context: \"formatting\",\n });\n // Tu\n case \"eeeeee\":\n return localize.day(dayOfWeek, {\n width: \"short\",\n context: \"formatting\",\n });\n // Tuesday\n case \"eeee\":\n default:\n return localize.day(dayOfWeek, {\n width: \"wide\",\n context: \"formatting\",\n });\n }\n },\n\n // Stand-alone local day of week\n c: function (date, token, localize, options) {\n const dayOfWeek = date.getDay();\n const localDayOfWeek = (dayOfWeek - options.weekStartsOn + 8) % 7 || 7;\n switch (token) {\n // Numerical value (same as in `e`)\n case \"c\":\n return String(localDayOfWeek);\n // Padded numerical value\n case \"cc\":\n return addLeadingZeros(localDayOfWeek, token.length);\n // 1st, 2nd, ..., 7th\n case \"co\":\n return localize.ordinalNumber(localDayOfWeek, { unit: \"day\" });\n case \"ccc\":\n return localize.day(dayOfWeek, {\n width: \"abbreviated\",\n context: \"standalone\",\n });\n // T\n case \"ccccc\":\n return localize.day(dayOfWeek, {\n width: \"narrow\",\n context: \"standalone\",\n });\n // Tu\n case \"cccccc\":\n return localize.day(dayOfWeek, {\n width: \"short\",\n context: \"standalone\",\n });\n // Tuesday\n case \"cccc\":\n default:\n return localize.day(dayOfWeek, {\n width: \"wide\",\n context: \"standalone\",\n });\n }\n },\n\n // ISO day of week\n i: function (date, token, localize) {\n const dayOfWeek = date.getDay();\n const isoDayOfWeek = dayOfWeek === 0 ? 7 : dayOfWeek;\n switch (token) {\n // 2\n case \"i\":\n return String(isoDayOfWeek);\n // 02\n case \"ii\":\n return addLeadingZeros(isoDayOfWeek, token.length);\n // 2nd\n case \"io\":\n return localize.ordinalNumber(isoDayOfWeek, { unit: \"day\" });\n // Tue\n case \"iii\":\n return localize.day(dayOfWeek, {\n width: \"abbreviated\",\n context: \"formatting\",\n });\n // T\n case \"iiiii\":\n return localize.day(dayOfWeek, {\n width: \"narrow\",\n context: \"formatting\",\n });\n // Tu\n case \"iiiiii\":\n return localize.day(dayOfWeek, {\n width: \"short\",\n context: \"formatting\",\n });\n // Tuesday\n case \"iiii\":\n default:\n return localize.day(dayOfWeek, {\n width: \"wide\",\n context: \"formatting\",\n });\n }\n },\n\n // AM or PM\n a: function (date, token, localize) {\n const hours = date.getHours();\n const dayPeriodEnumValue = hours / 12 >= 1 ? \"pm\" : \"am\";\n\n switch (token) {\n case \"a\":\n case \"aa\":\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: \"abbreviated\",\n context: \"formatting\",\n });\n case \"aaa\":\n return localize\n .dayPeriod(dayPeriodEnumValue, {\n width: \"abbreviated\",\n context: \"formatting\",\n })\n .toLowerCase();\n case \"aaaaa\":\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: \"narrow\",\n context: \"formatting\",\n });\n case \"aaaa\":\n default:\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: \"wide\",\n context: \"formatting\",\n });\n }\n },\n\n // AM, PM, midnight, noon\n b: function (date, token, localize) {\n const hours = date.getHours();\n let dayPeriodEnumValue;\n if (hours === 12) {\n dayPeriodEnumValue = dayPeriodEnum.noon;\n } else if (hours === 0) {\n dayPeriodEnumValue = dayPeriodEnum.midnight;\n } else {\n dayPeriodEnumValue = hours / 12 >= 1 ? \"pm\" : \"am\";\n }\n\n switch (token) {\n case \"b\":\n case \"bb\":\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: \"abbreviated\",\n context: \"formatting\",\n });\n case \"bbb\":\n return localize\n .dayPeriod(dayPeriodEnumValue, {\n width: \"abbreviated\",\n context: \"formatting\",\n })\n .toLowerCase();\n case \"bbbbb\":\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: \"narrow\",\n context: \"formatting\",\n });\n case \"bbbb\":\n default:\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: \"wide\",\n context: \"formatting\",\n });\n }\n },\n\n // in the morning, in the afternoon, in the evening, at night\n B: function (date, token, localize) {\n const hours = date.getHours();\n let dayPeriodEnumValue;\n if (hours >= 17) {\n dayPeriodEnumValue = dayPeriodEnum.evening;\n } else if (hours >= 12) {\n dayPeriodEnumValue = dayPeriodEnum.afternoon;\n } else if (hours >= 4) {\n dayPeriodEnumValue = dayPeriodEnum.morning;\n } else {\n dayPeriodEnumValue = dayPeriodEnum.night;\n }\n\n switch (token) {\n case \"B\":\n case \"BB\":\n case \"BBB\":\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: \"abbreviated\",\n context: \"formatting\",\n });\n case \"BBBBB\":\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: \"narrow\",\n context: \"formatting\",\n });\n case \"BBBB\":\n default:\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: \"wide\",\n context: \"formatting\",\n });\n }\n },\n\n // Hour [1-12]\n h: function (date, token, localize) {\n if (token === \"ho\") {\n let hours = date.getHours() % 12;\n if (hours === 0) hours = 12;\n return localize.ordinalNumber(hours, { unit: \"hour\" });\n }\n\n return lightFormatters.h(date, token);\n },\n\n // Hour [0-23]\n H: function (date, token, localize) {\n if (token === \"Ho\") {\n return localize.ordinalNumber(date.getHours(), { unit: \"hour\" });\n }\n\n return lightFormatters.H(date, token);\n },\n\n // Hour [0-11]\n K: function (date, token, localize) {\n const hours = date.getHours() % 12;\n\n if (token === \"Ko\") {\n return localize.ordinalNumber(hours, { unit: \"hour\" });\n }\n\n return addLeadingZeros(hours, token.length);\n },\n\n // Hour [1-24]\n k: function (date, token, localize) {\n let hours = date.getHours();\n if (hours === 0) hours = 24;\n\n if (token === \"ko\") {\n return localize.ordinalNumber(hours, { unit: \"hour\" });\n }\n\n return addLeadingZeros(hours, token.length);\n },\n\n // Minute\n m: function (date, token, localize) {\n if (token === \"mo\") {\n return localize.ordinalNumber(date.getMinutes(), { unit: \"minute\" });\n }\n\n return lightFormatters.m(date, token);\n },\n\n // Second\n s: function (date, token, localize) {\n if (token === \"so\") {\n return localize.ordinalNumber(date.getSeconds(), { unit: \"second\" });\n }\n\n return lightFormatters.s(date, token);\n },\n\n // Fraction of second\n S: function (date, token) {\n return lightFormatters.S(date, token);\n },\n\n // Timezone (ISO-8601. If offset is 0, output is always `'Z'`)\n X: function (date, token, _localize) {\n const timezoneOffset = date.getTimezoneOffset();\n\n if (timezoneOffset === 0) {\n return \"Z\";\n }\n\n switch (token) {\n // Hours and optional minutes\n case \"X\":\n return formatTimezoneWithOptionalMinutes(timezoneOffset);\n\n // Hours, minutes and optional seconds without `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `XX`\n case \"XXXX\":\n case \"XX\": // Hours and minutes without `:` delimiter\n return formatTimezone(timezoneOffset);\n\n // Hours, minutes and optional seconds with `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `XXX`\n case \"XXXXX\":\n case \"XXX\": // Hours and minutes with `:` delimiter\n default:\n return formatTimezone(timezoneOffset, \":\");\n }\n },\n\n // Timezone (ISO-8601. If offset is 0, output is `'+00:00'` or equivalent)\n x: function (date, token, _localize) {\n const timezoneOffset = date.getTimezoneOffset();\n\n switch (token) {\n // Hours and optional minutes\n case \"x\":\n return formatTimezoneWithOptionalMinutes(timezoneOffset);\n\n // Hours, minutes and optional seconds without `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `xx`\n case \"xxxx\":\n case \"xx\": // Hours and minutes without `:` delimiter\n return formatTimezone(timezoneOffset);\n\n // Hours, minutes and optional seconds with `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `xxx`\n case \"xxxxx\":\n case \"xxx\": // Hours and minutes with `:` delimiter\n default:\n return formatTimezone(timezoneOffset, \":\");\n }\n },\n\n // Timezone (GMT)\n O: function (date, token, _localize) {\n const timezoneOffset = date.getTimezoneOffset();\n\n switch (token) {\n // Short\n case \"O\":\n case \"OO\":\n case \"OOO\":\n return \"GMT\" + formatTimezoneShort(timezoneOffset, \":\");\n // Long\n case \"OOOO\":\n default:\n return \"GMT\" + formatTimezone(timezoneOffset, \":\");\n }\n },\n\n // Timezone (specific non-location)\n z: function (date, token, _localize) {\n const timezoneOffset = date.getTimezoneOffset();\n\n switch (token) {\n // Short\n case \"z\":\n case \"zz\":\n case \"zzz\":\n return \"GMT\" + formatTimezoneShort(timezoneOffset, \":\");\n // Long\n case \"zzzz\":\n default:\n return \"GMT\" + formatTimezone(timezoneOffset, \":\");\n }\n },\n\n // Seconds timestamp\n t: function (date, token, _localize) {\n const timestamp = Math.trunc(date.getTime() / 1000);\n return addLeadingZeros(timestamp, token.length);\n },\n\n // Milliseconds timestamp\n T: function (date, token, _localize) {\n const timestamp = date.getTime();\n return addLeadingZeros(timestamp, token.length);\n },\n};\n\nfunction formatTimezoneShort(offset, delimiter = \"\") {\n const sign = offset > 0 ? \"-\" : \"+\";\n const absOffset = Math.abs(offset);\n const hours = Math.trunc(absOffset / 60);\n const minutes = absOffset % 60;\n if (minutes === 0) {\n return sign + String(hours);\n }\n return sign + String(hours) + delimiter + addLeadingZeros(minutes, 2);\n}\n\nfunction formatTimezoneWithOptionalMinutes(offset, delimiter) {\n if (offset % 60 === 0) {\n const sign = offset > 0 ? \"-\" : \"+\";\n return sign + addLeadingZeros(Math.abs(offset) / 60, 2);\n }\n return formatTimezone(offset, delimiter);\n}\n\nfunction formatTimezone(offset, delimiter = \"\") {\n const sign = offset > 0 ? \"-\" : \"+\";\n const absOffset = Math.abs(offset);\n const hours = addLeadingZeros(Math.trunc(absOffset / 60), 2);\n const minutes = addLeadingZeros(absOffset % 60, 2);\n return sign + hours + delimiter + minutes;\n}\n","const dateLongFormatter = (pattern, formatLong) => {\n switch (pattern) {\n case \"P\":\n return formatLong.date({ width: \"short\" });\n case \"PP\":\n return formatLong.date({ width: \"medium\" });\n case \"PPP\":\n return formatLong.date({ width: \"long\" });\n case \"PPPP\":\n default:\n return formatLong.date({ width: \"full\" });\n }\n};\n\nconst timeLongFormatter = (pattern, formatLong) => {\n switch (pattern) {\n case \"p\":\n return formatLong.time({ width: \"short\" });\n case \"pp\":\n return formatLong.time({ width: \"medium\" });\n case \"ppp\":\n return formatLong.time({ width: \"long\" });\n case \"pppp\":\n default:\n return formatLong.time({ width: \"full\" });\n }\n};\n\nconst dateTimeLongFormatter = (pattern, formatLong) => {\n const matchResult = pattern.match(/(P+)(p+)?/) || [];\n const datePattern = matchResult[1];\n const timePattern = matchResult[2];\n\n if (!timePattern) {\n return dateLongFormatter(pattern, formatLong);\n }\n\n let dateTimeFormat;\n\n switch (datePattern) {\n case \"P\":\n dateTimeFormat = formatLong.dateTime({ width: \"short\" });\n break;\n case \"PP\":\n dateTimeFormat = formatLong.dateTime({ width: \"medium\" });\n break;\n case \"PPP\":\n dateTimeFormat = formatLong.dateTime({ width: \"long\" });\n break;\n case \"PPPP\":\n default:\n dateTimeFormat = formatLong.dateTime({ width: \"full\" });\n break;\n }\n\n return dateTimeFormat\n .replace(\"{{date}}\", dateLongFormatter(datePattern, formatLong))\n .replace(\"{{time}}\", timeLongFormatter(timePattern, formatLong));\n};\n\nexport const longFormatters = {\n p: timeLongFormatter,\n P: dateTimeLongFormatter,\n};\n","const dayOfYearTokenRE = /^D+$/;\nconst weekYearTokenRE = /^Y+$/;\n\nconst throwTokens = [\"D\", \"DD\", \"YY\", \"YYYY\"];\n\nexport function isProtectedDayOfYearToken(token) {\n return dayOfYearTokenRE.test(token);\n}\n\nexport function isProtectedWeekYearToken(token) {\n return weekYearTokenRE.test(token);\n}\n\nexport function warnOrThrowProtectedError(token, format, input) {\n const _message = message(token, format, input);\n console.warn(_message);\n if (throwTokens.includes(token)) throw new RangeError(_message);\n}\n\nfunction message(token, format, input) {\n const subject = token[0] === \"Y\" ? \"years\" : \"days of the month\";\n return `Use \\`${token.toLowerCase()}\\` instead of \\`${token}\\` (in \\`${format}\\`) for formatting ${subject} to the input \\`${input}\\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`;\n}\n","/**\n * @name isDate\n * @category Common Helpers\n * @summary Is the given value a date?\n *\n * @description\n * Returns true if the given value is an instance of Date. The function works for dates transferred across iframes.\n *\n * @param value - The value to check\n *\n * @returns True if the given value is a date\n *\n * @example\n * // For a valid date:\n * const result = isDate(new Date())\n * //=> true\n *\n * @example\n * // For an invalid date:\n * const result = isDate(new Date(NaN))\n * //=> true\n *\n * @example\n * // For some value:\n * const result = isDate('2014-02-31')\n * //=> false\n *\n * @example\n * // For an object:\n * const result = isDate({})\n * //=> false\n */\nexport function isDate(value) {\n return (\n value instanceof Date ||\n (typeof value === \"object\" &&\n Object.prototype.toString.call(value) === \"[object Date]\")\n );\n}\n\n// Fallback for modularized imports:\nexport default isDate;\n","import { isDate } from \"./isDate.mjs\";\nimport { toDate } from \"./toDate.mjs\";\n\n/**\n * @name isValid\n * @category Common Helpers\n * @summary Is the given date valid?\n *\n * @description\n * Returns false if argument is Invalid Date and true otherwise.\n * Argument is converted to Date using `toDate`. See [toDate](https://date-fns.org/docs/toDate)\n * Invalid Date is a Date, whose time value is NaN.\n *\n * Time value of Date: http://es5.github.io/#x15.9.1.1\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The date to check\n *\n * @returns The date is valid\n *\n * @example\n * // For the valid date:\n * const result = isValid(new Date(2014, 1, 31))\n * //=> true\n *\n * @example\n * // For the value, convertable into a date:\n * const result = isValid(1393804800000)\n * //=> true\n *\n * @example\n * // For the invalid date:\n * const result = isValid(new Date(''))\n * //=> false\n */\nexport function isValid(date) {\n if (!isDate(date) && typeof date !== \"number\") {\n return false;\n }\n const _date = toDate(date);\n return !isNaN(Number(_date));\n}\n\n// Fallback for modularized imports:\nexport default isValid;\n","import { defaultLocale } from \"./_lib/defaultLocale.mjs\";\nimport { getDefaultOptions } from \"./_lib/defaultOptions.mjs\";\nimport { formatters } from \"./_lib/format/formatters.mjs\";\nimport { longFormatters } from \"./_lib/format/longFormatters.mjs\";\nimport {\n isProtectedDayOfYearToken,\n isProtectedWeekYearToken,\n warnOrThrowProtectedError,\n} from \"./_lib/protectedTokens.mjs\";\nimport { isValid } from \"./isValid.mjs\";\nimport { toDate } from \"./toDate.mjs\";\n\n// Rexports of internal for libraries to use.\n// See: https://github.com/date-fns/date-fns/issues/3638#issuecomment-1877082874\nexport { formatters, longFormatters };\n\n// This RegExp consists of three parts separated by `|`:\n// - [yYQqMLwIdDecihHKkms]o matches any available ordinal number token\n// (one of the certain letters followed by `o`)\n// - (\\w)\\1* matches any sequences of the same letter\n// - '' matches two quote characters in a row\n// - '(''|[^'])+('|$) matches anything surrounded by two quote characters ('),\n// except a single quote symbol, which ends the sequence.\n// Two quote characters do not end the sequence.\n// If there is no matching single quote\n// then the sequence will continue until the end of the string.\n// - . matches any single character unmatched by previous parts of the RegExps\nconst formattingTokensRegExp =\n /[yYQqMLwIdDecihHKkms]o|(\\w)\\1*|''|'(''|[^'])+('|$)|./g;\n\n// This RegExp catches symbols escaped by quotes, and also\n// sequences of symbols P, p, and the combinations like `PPPPPPPppppp`\nconst longFormattingTokensRegExp = /P+p+|P+|p+|''|'(''|[^'])+('|$)|./g;\n\nconst escapedStringRegExp = /^'([^]*?)'?$/;\nconst doubleQuoteRegExp = /''/g;\nconst unescapedLatinCharacterRegExp = /[a-zA-Z]/;\n\nexport { format as formatDate };\n\n/**\n * The {@link format} function options.\n */\n\n/**\n * @name format\n * @alias formatDate\n * @category Common Helpers\n * @summary Format the date.\n *\n * @description\n * Return the formatted date string in the given format. The result may vary by locale.\n *\n * > ⚠️ Please note that the `format` tokens differ from Moment.js and other libraries.\n * > See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * The characters wrapped between two single quotes characters (') are escaped.\n * Two single quotes in a row, whether inside or outside a quoted sequence, represent a 'real' single quote.\n * (see the last example)\n *\n * Format of the string is based on Unicode Technical Standard #35:\n * https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n * with a few additions (see note 7 below the table).\n *\n * Accepted patterns:\n * | Unit | Pattern | Result examples | Notes |\n * |---------------------------------|---------|-----------------------------------|-------|\n * | Era | G..GGG | AD, BC | |\n * | | GGGG | Anno Domini, Before Christ | 2 |\n * | | GGGGG | A, B | |\n * | Calendar year | y | 44, 1, 1900, 2017 | 5 |\n * | | yo | 44th, 1st, 0th, 17th | 5,7 |\n * | | yy | 44, 01, 00, 17 | 5 |\n * | | yyy | 044, 001, 1900, 2017 | 5 |\n * | | yyyy | 0044, 0001, 1900, 2017 | 5 |\n * | | yyyyy | ... | 3,5 |\n * | Local week-numbering year | Y | 44, 1, 1900, 2017 | 5 |\n * | | Yo | 44th, 1st, 1900th, 2017th | 5,7 |\n * | | YY | 44, 01, 00, 17 | 5,8 |\n * | | YYY | 044, 001, 1900, 2017 | 5 |\n * | | YYYY | 0044, 0001, 1900, 2017 | 5,8 |\n * | | YYYYY | ... | 3,5 |\n * | ISO week-numbering year | R | -43, 0, 1, 1900, 2017 | 5,7 |\n * | | RR | -43, 00, 01, 1900, 2017 | 5,7 |\n * | | RRR | -043, 000, 001, 1900, 2017 | 5,7 |\n * | | RRRR | -0043, 0000, 0001, 1900, 2017 | 5,7 |\n * | | RRRRR | ... | 3,5,7 |\n * | Extended year | u | -43, 0, 1, 1900, 2017 | 5 |\n * | | uu | -43, 01, 1900, 2017 | 5 |\n * | | uuu | -043, 001, 1900, 2017 | 5 |\n * | | uuuu | -0043, 0001, 1900, 2017 | 5 |\n * | | uuuuu | ... | 3,5 |\n * | Quarter (formatting) | Q | 1, 2, 3, 4 | |\n * | | Qo | 1st, 2nd, 3rd, 4th | 7 |\n * | | QQ | 01, 02, 03, 04 | |\n * | | QQQ | Q1, Q2, Q3, Q4 | |\n * | | QQQQ | 1st quarter, 2nd quarter, ... | 2 |\n * | | QQQQQ | 1, 2, 3, 4 | 4 |\n * | Quarter (stand-alone) | q | 1, 2, 3, 4 | |\n * | | qo | 1st, 2nd, 3rd, 4th | 7 |\n * | | qq | 01, 02, 03, 04 | |\n * | | qqq | Q1, Q2, Q3, Q4 | |\n * | | qqqq | 1st quarter, 2nd quarter, ... | 2 |\n * | | qqqqq | 1, 2, 3, 4 | 4 |\n * | Month (formatting) | M | 1, 2, ..., 12 | |\n * | | Mo | 1st, 2nd, ..., 12th | 7 |\n * | | MM | 01, 02, ..., 12 | |\n * | | MMM | Jan, Feb, ..., Dec | |\n * | | MMMM | January, February, ..., December | 2 |\n * | | MMMMM | J, F, ..., D | |\n * | Month (stand-alone) | L | 1, 2, ..., 12 | |\n * | | Lo | 1st, 2nd, ..., 12th | 7 |\n * | | LL | 01, 02, ..., 12 | |\n * | | LLL | Jan, Feb, ..., Dec | |\n * | | LLLL | January, February, ..., December | 2 |\n * | | LLLLL | J, F, ..., D | |\n * | Local week of year | w | 1, 2, ..., 53 | |\n * | | wo | 1st, 2nd, ..., 53th | 7 |\n * | | ww | 01, 02, ..., 53 | |\n * | ISO week of year | I | 1, 2, ..., 53 | 7 |\n * | | Io | 1st, 2nd, ..., 53th | 7 |\n * | | II | 01, 02, ..., 53 | 7 |\n * | Day of month | d | 1, 2, ..., 31 | |\n * | | do | 1st, 2nd, ..., 31st | 7 |\n * | | dd | 01, 02, ..., 31 | |\n * | Day of year | D | 1, 2, ..., 365, 366 | 9 |\n * | | Do | 1st, 2nd, ..., 365th, 366th | 7 |\n * | | DD | 01, 02, ..., 365, 366 | 9 |\n * | | DDD | 001, 002, ..., 365, 366 | |\n * | | DDDD | ... | 3 |\n * | Day of week (formatting) | E..EEE | Mon, Tue, Wed, ..., Sun | |\n * | | EEEE | Monday, Tuesday, ..., Sunday | 2 |\n * | | EEEEE | M, T, W, T, F, S, S | |\n * | | EEEEEE | Mo, Tu, We, Th, Fr, Sa, Su | |\n * | ISO day of week (formatting) | i | 1, 2, 3, ..., 7 | 7 |\n * | | io | 1st, 2nd, ..., 7th | 7 |\n * | | ii | 01, 02, ..., 07 | 7 |\n * | | iii | Mon, Tue, Wed, ..., Sun | 7 |\n * | | iiii | Monday, Tuesday, ..., Sunday | 2,7 |\n * | | iiiii | M, T, W, T, F, S, S | 7 |\n * | | iiiiii | Mo, Tu, We, Th, Fr, Sa, Su | 7 |\n * | Local day of week (formatting) | e | 2, 3, 4, ..., 1 | |\n * | | eo | 2nd, 3rd, ..., 1st | 7 |\n * | | ee | 02, 03, ..., 01 | |\n * | | eee | Mon, Tue, Wed, ..., Sun | |\n * | | eeee | Monday, Tuesday, ..., Sunday | 2 |\n * | | eeeee | M, T, W, T, F, S, S | |\n * | | eeeeee | Mo, Tu, We, Th, Fr, Sa, Su | |\n * | Local day of week (stand-alone) | c | 2, 3, 4, ..., 1 | |\n * | | co | 2nd, 3rd, ..., 1st | 7 |\n * | | cc | 02, 03, ..., 01 | |\n * | | ccc | Mon, Tue, Wed, ..., Sun | |\n * | | cccc | Monday, Tuesday, ..., Sunday | 2 |\n * | | ccccc | M, T, W, T, F, S, S | |\n * | | cccccc | Mo, Tu, We, Th, Fr, Sa, Su | |\n * | AM, PM | a..aa | AM, PM | |\n * | | aaa | am, pm | |\n * | | aaaa | a.m., p.m. | 2 |\n * | | aaaaa | a, p | |\n * | AM, PM, noon, midnight | b..bb | AM, PM, noon, midnight | |\n * | | bbb | am, pm, noon, midnight | |\n * | | bbbb | a.m., p.m., noon, midnight | 2 |\n * | | bbbbb | a, p, n, mi | |\n * | Flexible day period | B..BBB | at night, in the morning, ... | |\n * | | BBBB | at night, in the morning, ... | 2 |\n * | | BBBBB | at night, in the morning, ... | |\n * | Hour [1-12] | h | 1, 2, ..., 11, 12 | |\n * | | ho | 1st, 2nd, ..., 11th, 12th | 7 |\n * | | hh | 01, 02, ..., 11, 12 | |\n * | Hour [0-23] | H | 0, 1, 2, ..., 23 | |\n * | | Ho | 0th, 1st, 2nd, ..., 23rd | 7 |\n * | | HH | 00, 01, 02, ..., 23 | |\n * | Hour [0-11] | K | 1, 2, ..., 11, 0 | |\n * | | Ko | 1st, 2nd, ..., 11th, 0th | 7 |\n * | | KK | 01, 02, ..., 11, 00 | |\n * | Hour [1-24] | k | 24, 1, 2, ..., 23 | |\n * | | ko | 24th, 1st, 2nd, ..., 23rd | 7 |\n * | | kk | 24, 01, 02, ..., 23 | |\n * | Minute | m | 0, 1, ..., 59 | |\n * | | mo | 0th, 1st, ..., 59th | 7 |\n * | | mm | 00, 01, ..., 59 | |\n * | Second | s | 0, 1, ..., 59 | |\n * | | so | 0th, 1st, ..., 59th | 7 |\n * | | ss | 00, 01, ..., 59 | |\n * | Fraction of second | S | 0, 1, ..., 9 | |\n * | | SS | 00, 01, ..., 99 | |\n * | | SSS | 000, 001, ..., 999 | |\n * | | SSSS | ... | 3 |\n * | Timezone (ISO-8601 w/ Z) | X | -08, +0530, Z | |\n * | | XX | -0800, +0530, Z | |\n * | | XXX | -08:00, +05:30, Z | |\n * | | XXXX | -0800, +0530, Z, +123456 | 2 |\n * | | XXXXX | -08:00, +05:30, Z, +12:34:56 | |\n * | Timezone (ISO-8601 w/o Z) | x | -08, +0530, +00 | |\n * | | xx | -0800, +0530, +0000 | |\n * | | xxx | -08:00, +05:30, +00:00 | 2 |\n * | | xxxx | -0800, +0530, +0000, +123456 | |\n * | | xxxxx | -08:00, +05:30, +00:00, +12:34:56 | |\n * | Timezone (GMT) | O...OOO | GMT-8, GMT+5:30, GMT+0 | |\n * | | OOOO | GMT-08:00, GMT+05:30, GMT+00:00 | 2 |\n * | Timezone (specific non-locat.) | z...zzz | GMT-8, GMT+5:30, GMT+0 | 6 |\n * | | zzzz | GMT-08:00, GMT+05:30, GMT+00:00 | 2,6 |\n * | Seconds timestamp | t | 512969520 | 7 |\n * | | tt | ... | 3,7 |\n * | Milliseconds timestamp | T | 512969520900 | 7 |\n * | | TT | ... | 3,7 |\n * | Long localized date | P | 04/29/1453 | 7 |\n * | | PP | Apr 29, 1453 | 7 |\n * | | PPP | April 29th, 1453 | 7 |\n * | | PPPP | Friday, April 29th, 1453 | 2,7 |\n * | Long localized time | p | 12:00 AM | 7 |\n * | | pp | 12:00:00 AM | 7 |\n * | | ppp | 12:00:00 AM GMT+2 | 7 |\n * | | pppp | 12:00:00 AM GMT+02:00 | 2,7 |\n * | Combination of date and time | Pp | 04/29/1453, 12:00 AM | 7 |\n * | | PPpp | Apr 29, 1453, 12:00:00 AM | 7 |\n * | | PPPppp | April 29th, 1453 at ... | 7 |\n * | | PPPPpppp| Friday, April 29th, 1453 at ... | 2,7 |\n * Notes:\n * 1. \"Formatting\" units (e.g. formatting quarter) in the default en-US locale\n * are the same as \"stand-alone\" units, but are different in some languages.\n * \"Formatting\" units are declined according to the rules of the language\n * in the context of a date. \"Stand-alone\" units are always nominative singular:\n *\n * `format(new Date(2017, 10, 6), 'do LLLL', {locale: cs}) //=> '6. listopad'`\n *\n * `format(new Date(2017, 10, 6), 'do MMMM', {locale: cs}) //=> '6. listopadu'`\n *\n * 2. Any sequence of the identical letters is a pattern, unless it is escaped by\n * the single quote characters (see below).\n * If the sequence is longer than listed in table (e.g. `EEEEEEEEEEE`)\n * the output will be the same as default pattern for this unit, usually\n * the longest one (in case of ISO weekdays, `EEEE`). Default patterns for units\n * are marked with \"2\" in the last column of the table.\n *\n * `format(new Date(2017, 10, 6), 'MMM') //=> 'Nov'`\n *\n * `format(new Date(2017, 10, 6), 'MMMM') //=> 'November'`\n *\n * `format(new Date(2017, 10, 6), 'MMMMM') //=> 'N'`\n *\n * `format(new Date(2017, 10, 6), 'MMMMMM') //=> 'November'`\n *\n * `format(new Date(2017, 10, 6), 'MMMMMMM') //=> 'November'`\n *\n * 3. Some patterns could be unlimited length (such as `yyyyyyyy`).\n * The output will be padded with zeros to match the length of the pattern.\n *\n * `format(new Date(2017, 10, 6), 'yyyyyyyy') //=> '00002017'`\n *\n * 4. `QQQQQ` and `qqqqq` could be not strictly numerical in some locales.\n * These tokens represent the shortest form of the quarter.\n *\n * 5. The main difference between `y` and `u` patterns are B.C. years:\n *\n * | Year | `y` | `u` |\n * |------|-----|-----|\n * | AC 1 | 1 | 1 |\n * | BC 1 | 1 | 0 |\n * | BC 2 | 2 | -1 |\n *\n * Also `yy` always returns the last two digits of a year,\n * while `uu` pads single digit years to 2 characters and returns other years unchanged:\n *\n * | Year | `yy` | `uu` |\n * |------|------|------|\n * | 1 | 01 | 01 |\n * | 14 | 14 | 14 |\n * | 376 | 76 | 376 |\n * | 1453 | 53 | 1453 |\n *\n * The same difference is true for local and ISO week-numbering years (`Y` and `R`),\n * except local week-numbering years are dependent on `options.weekStartsOn`\n * and `options.firstWeekContainsDate` (compare [getISOWeekYear](https://date-fns.org/docs/getISOWeekYear)\n * and [getWeekYear](https://date-fns.org/docs/getWeekYear)).\n *\n * 6. Specific non-location timezones are currently unavailable in `date-fns`,\n * so right now these tokens fall back to GMT timezones.\n *\n * 7. These patterns are not in the Unicode Technical Standard #35:\n * - `i`: ISO day of week\n * - `I`: ISO week of year\n * - `R`: ISO week-numbering year\n * - `t`: seconds timestamp\n * - `T`: milliseconds timestamp\n * - `o`: ordinal number modifier\n * - `P`: long localized date\n * - `p`: long localized time\n *\n * 8. `YY` and `YYYY` tokens represent week-numbering years but they are often confused with years.\n * You should enable `options.useAdditionalWeekYearTokens` to use them. See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * 9. `D` and `DD` tokens represent days of the year but they are often confused with days of the month.\n * You should enable `options.useAdditionalDayOfYearTokens` to use them. See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The original date\n * @param format - The string of tokens\n * @param options - An object with options\n *\n * @returns The formatted date string\n *\n * @throws `date` must not be Invalid Date\n * @throws `options.locale` must contain `localize` property\n * @throws `options.locale` must contain `formatLong` property\n * @throws use `yyyy` instead of `YYYY` for formatting years using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws use `yy` instead of `YY` for formatting years using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws use `d` instead of `D` for formatting days of the month using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws use `dd` instead of `DD` for formatting days of the month using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws format string contains an unescaped latin alphabet character\n *\n * @example\n * // Represent 11 February 2014 in middle-endian format:\n * const result = format(new Date(2014, 1, 11), 'MM/dd/yyyy')\n * //=> '02/11/2014'\n *\n * @example\n * // Represent 2 July 2014 in Esperanto:\n * import { eoLocale } from 'date-fns/locale/eo'\n * const result = format(new Date(2014, 6, 2), \"do 'de' MMMM yyyy\", {\n * locale: eoLocale\n * })\n * //=> '2-a de julio 2014'\n *\n * @example\n * // Escape string by single quote characters:\n * const result = format(new Date(2014, 6, 2, 15), \"h 'o''clock'\")\n * //=> \"3 o'clock\"\n */\nexport function format(date, formatStr, options) {\n const defaultOptions = getDefaultOptions();\n const locale = options?.locale ?? defaultOptions.locale ?? defaultLocale;\n\n const firstWeekContainsDate =\n options?.firstWeekContainsDate ??\n options?.locale?.options?.firstWeekContainsDate ??\n defaultOptions.firstWeekContainsDate ??\n defaultOptions.locale?.options?.firstWeekContainsDate ??\n 1;\n\n const weekStartsOn =\n options?.weekStartsOn ??\n options?.locale?.options?.weekStartsOn ??\n defaultOptions.weekStartsOn ??\n defaultOptions.locale?.options?.weekStartsOn ??\n 0;\n\n const originalDate = toDate(date);\n\n if (!isValid(originalDate)) {\n throw new RangeError(\"Invalid time value\");\n }\n\n let parts = formatStr\n .match(longFormattingTokensRegExp)\n .map((substring) => {\n const firstCharacter = substring[0];\n if (firstCharacter === \"p\" || firstCharacter === \"P\") {\n const longFormatter = longFormatters[firstCharacter];\n return longFormatter(substring, locale.formatLong);\n }\n return substring;\n })\n .join(\"\")\n .match(formattingTokensRegExp)\n .map((substring) => {\n // Replace two single quote characters with one single quote character\n if (substring === \"''\") {\n return { isToken: false, value: \"'\" };\n }\n\n const firstCharacter = substring[0];\n if (firstCharacter === \"'\") {\n return { isToken: false, value: cleanEscapedString(substring) };\n }\n\n if (formatters[firstCharacter]) {\n return { isToken: true, value: substring };\n }\n\n if (firstCharacter.match(unescapedLatinCharacterRegExp)) {\n throw new RangeError(\n \"Format string contains an unescaped latin alphabet character `\" +\n firstCharacter +\n \"`\",\n );\n }\n\n return { isToken: false, value: substring };\n });\n\n // invoke localize preprocessor (only for french locales at the moment)\n if (locale.localize.preprocessor) {\n parts = locale.localize.preprocessor(originalDate, parts);\n }\n\n const formatterOptions = {\n firstWeekContainsDate,\n weekStartsOn,\n locale,\n };\n\n return parts\n .map((part) => {\n if (!part.isToken) return part.value;\n\n const token = part.value;\n\n if (\n (!options?.useAdditionalWeekYearTokens &&\n isProtectedWeekYearToken(token)) ||\n (!options?.useAdditionalDayOfYearTokens &&\n isProtectedDayOfYearToken(token))\n ) {\n warnOrThrowProtectedError(token, formatStr, String(date));\n }\n\n const formatter = formatters[token[0]];\n return formatter(originalDate, token, locale.localize, formatterOptions);\n })\n .join(\"\");\n}\n\nfunction cleanEscapedString(input) {\n const matched = input.match(escapedStringRegExp);\n\n if (!matched) {\n return input;\n }\n\n return matched[1].replace(doubleQuoteRegExp, \"'\");\n}\n\n// Fallback for modularized imports:\nexport default format;\n","const formatDistanceLocale = {\n lessThanXSeconds: {\n one: \"mindre enn ett sekund\",\n other: \"mindre enn {{count}} sekunder\",\n },\n\n xSeconds: {\n one: \"ett sekund\",\n other: \"{{count}} sekunder\",\n },\n\n halfAMinute: \"et halvt minutt\",\n\n lessThanXMinutes: {\n one: \"mindre enn ett minutt\",\n other: \"mindre enn {{count}} minutter\",\n },\n\n xMinutes: {\n one: \"ett minutt\",\n other: \"{{count}} minutter\",\n },\n\n aboutXHours: {\n one: \"omtrent en time\",\n other: \"omtrent {{count}} timer\",\n },\n\n xHours: {\n one: \"en time\",\n other: \"{{count}} timer\",\n },\n\n xDays: {\n one: \"en dag\",\n other: \"{{count}} dager\",\n },\n\n aboutXWeeks: {\n one: \"omtrent en uke\",\n other: \"omtrent {{count}} uker\",\n },\n\n xWeeks: {\n one: \"en uke\",\n other: \"{{count}} uker\",\n },\n\n aboutXMonths: {\n one: \"omtrent en måned\",\n other: \"omtrent {{count}} måneder\",\n },\n\n xMonths: {\n one: \"en måned\",\n other: \"{{count}} måneder\",\n },\n\n aboutXYears: {\n one: \"omtrent ett år\",\n other: \"omtrent {{count}} år\",\n },\n\n xYears: {\n one: \"ett år\",\n other: \"{{count}} år\",\n },\n\n overXYears: {\n one: \"over ett år\",\n other: \"over {{count}} år\",\n },\n\n almostXYears: {\n one: \"nesten ett år\",\n other: \"nesten {{count}} år\",\n },\n};\n\nexport const formatDistance = (token, count, options) => {\n let result;\n\n const tokenValue = formatDistanceLocale[token];\n if (typeof tokenValue === \"string\") {\n result = tokenValue;\n } else if (count === 1) {\n result = tokenValue.one;\n } else {\n result = tokenValue.other.replace(\"{{count}}\", String(count));\n }\n\n if (options?.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n return \"om \" + result;\n } else {\n return result + \" siden\";\n }\n }\n\n return result;\n};\n","import { buildFormatLongFn } from \"../../_lib/buildFormatLongFn.mjs\";\n\nconst dateFormats = {\n full: \"EEEE d. MMMM y\",\n long: \"d. MMMM y\",\n medium: \"d. MMM y\",\n short: \"dd.MM.y\",\n};\n\nconst timeFormats = {\n full: \"'kl'. HH:mm:ss zzzz\",\n long: \"HH:mm:ss z\",\n medium: \"HH:mm:ss\",\n short: \"HH:mm\",\n};\n\nconst dateTimeFormats = {\n full: \"{{date}} 'kl.' {{time}}\",\n long: \"{{date}} 'kl.' {{time}}\",\n medium: \"{{date}} {{time}}\",\n short: \"{{date}} {{time}}\",\n};\n\nexport const formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: \"full\",\n }),\n\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: \"full\",\n }),\n\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: \"full\",\n }),\n};\n","const formatRelativeLocale = {\n lastWeek: \"'forrige' eeee 'kl.' p\",\n yesterday: \"'i går kl.' p\",\n today: \"'i dag kl.' p\",\n tomorrow: \"'i morgen kl.' p\",\n nextWeek: \"EEEE 'kl.' p\",\n other: \"P\",\n};\n\nexport const formatRelative = (token, _date, _baseDate, _options) =>\n formatRelativeLocale[token];\n","import { formatDistance } from \"./nb/_lib/formatDistance.mjs\";\nimport { formatLong } from \"./nb/_lib/formatLong.mjs\";\nimport { formatRelative } from \"./nb/_lib/formatRelative.mjs\";\nimport { localize } from \"./nb/_lib/localize.mjs\";\nimport { match } from \"./nb/_lib/match.mjs\";\n\n/**\n * @category Locales\n * @summary Norwegian Bokmål locale.\n * @language Norwegian Bokmål\n * @iso-639-2 nob\n * @author Hans-Kristian Koren [@Hanse](https://github.com/Hanse)\n * @author Mikolaj Grzyb [@mikolajgrzyb](https://github.com/mikolajgrzyb)\n * @author Dag Stuan [@dagstuan](https://github.com/dagstuan)\n */\nexport const nb = {\n code: \"nb\",\n formatDistance: formatDistance,\n formatLong: formatLong,\n formatRelative: formatRelative,\n localize: localize,\n match: match,\n options: {\n weekStartsOn: 1 /* Monday */,\n firstWeekContainsDate: 4,\n },\n};\n\n// Fallback for modularized imports:\nexport default nb;\n","import { buildLocalizeFn } from \"../../_lib/buildLocalizeFn.mjs\";\n\nconst eraValues = {\n narrow: [\"f.Kr.\", \"e.Kr.\"],\n abbreviated: [\"f.Kr.\", \"e.Kr.\"],\n wide: [\"før Kristus\", \"etter Kristus\"],\n};\n\nconst quarterValues = {\n narrow: [\"1\", \"2\", \"3\", \"4\"],\n abbreviated: [\"Q1\", \"Q2\", \"Q3\", \"Q4\"],\n wide: [\"1. kvartal\", \"2. kvartal\", \"3. kvartal\", \"4. kvartal\"],\n};\n\nconst monthValues = {\n narrow: [\"J\", \"F\", \"M\", \"A\", \"M\", \"J\", \"J\", \"A\", \"S\", \"O\", \"N\", \"D\"],\n abbreviated: [\n \"jan.\",\n \"feb.\",\n \"mars\",\n \"apr.\",\n \"mai\",\n \"juni\",\n \"juli\",\n \"aug.\",\n \"sep.\",\n \"okt.\",\n \"nov.\",\n \"des.\",\n ],\n\n wide: [\n \"januar\",\n \"februar\",\n \"mars\",\n \"april\",\n \"mai\",\n \"juni\",\n \"juli\",\n \"august\",\n \"september\",\n \"oktober\",\n \"november\",\n \"desember\",\n ],\n};\n\nconst dayValues = {\n narrow: [\"S\", \"M\", \"T\", \"O\", \"T\", \"F\", \"L\"],\n short: [\"sø\", \"ma\", \"ti\", \"on\", \"to\", \"fr\", \"lø\"],\n abbreviated: [\"søn\", \"man\", \"tir\", \"ons\", \"tor\", \"fre\", \"lør\"],\n wide: [\n \"søndag\",\n \"mandag\",\n \"tirsdag\",\n \"onsdag\",\n \"torsdag\",\n \"fredag\",\n \"lørdag\",\n ],\n};\n\nconst dayPeriodValues = {\n narrow: {\n am: \"a\",\n pm: \"p\",\n midnight: \"midnatt\",\n noon: \"middag\",\n morning: \"på morg.\",\n afternoon: \"på etterm.\",\n evening: \"på kvelden\",\n night: \"på natten\",\n },\n abbreviated: {\n am: \"a.m.\",\n pm: \"p.m.\",\n midnight: \"midnatt\",\n noon: \"middag\",\n morning: \"på morg.\",\n afternoon: \"på etterm.\",\n evening: \"på kvelden\",\n night: \"på natten\",\n },\n wide: {\n am: \"a.m.\",\n pm: \"p.m.\",\n midnight: \"midnatt\",\n noon: \"middag\",\n morning: \"på morgenen\",\n afternoon: \"på ettermiddagen\",\n evening: \"på kvelden\",\n night: \"på natten\",\n },\n};\n\nconst ordinalNumber = (dirtyNumber, _options) => {\n const number = Number(dirtyNumber);\n return number + \".\";\n};\n\nexport const localize = {\n ordinalNumber,\n\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: \"wide\",\n }),\n\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: \"wide\",\n argumentCallback: (quarter) => quarter - 1,\n }),\n\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: \"wide\",\n }),\n\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: \"wide\",\n }),\n\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: \"wide\",\n }),\n};\n","import { buildMatchFn } from \"../../_lib/buildMatchFn.mjs\";\nimport { buildMatchPatternFn } from \"../../_lib/buildMatchPatternFn.mjs\";\n\nconst matchOrdinalNumberPattern = /^(\\d+)\\.?/i;\nconst parseOrdinalNumberPattern = /\\d+/i;\n\nconst matchEraPatterns = {\n narrow: /^(f\\.? ?Kr\\.?|fvt\\.?|e\\.? ?Kr\\.?|evt\\.?)/i,\n abbreviated: /^(f\\.? ?Kr\\.?|fvt\\.?|e\\.? ?Kr\\.?|evt\\.?)/i,\n wide: /^(før Kristus|før vår tid|etter Kristus|vår tid)/i,\n};\nconst parseEraPatterns = {\n any: [/^f/i, /^e/i],\n};\n\nconst matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^q[1234]/i,\n wide: /^[1234](\\.)? kvartal/i,\n};\nconst parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i],\n};\n\nconst matchMonthPatterns = {\n narrow: /^[jfmasond]/i,\n abbreviated: /^(jan|feb|mars?|apr|mai|juni?|juli?|aug|sep|okt|nov|des)\\.?/i,\n wide: /^(januar|februar|mars|april|mai|juni|juli|august|september|oktober|november|desember)/i,\n};\nconst parseMonthPatterns = {\n narrow: [\n /^j/i,\n /^f/i,\n /^m/i,\n /^a/i,\n /^m/i,\n /^j/i,\n /^j/i,\n /^a/i,\n /^s/i,\n /^o/i,\n /^n/i,\n /^d/i,\n ],\n\n any: [\n /^ja/i,\n /^f/i,\n /^mar/i,\n /^ap/i,\n /^mai/i,\n /^jun/i,\n /^jul/i,\n /^aug/i,\n /^s/i,\n /^o/i,\n /^n/i,\n /^d/i,\n ],\n};\n\nconst matchDayPatterns = {\n narrow: /^[smtofl]/i,\n short: /^(sø|ma|ti|on|to|fr|lø)/i,\n abbreviated: /^(søn|man|tir|ons|tor|fre|lør)/i,\n wide: /^(søndag|mandag|tirsdag|onsdag|torsdag|fredag|lørdag)/i,\n};\nconst parseDayPatterns = {\n any: [/^s/i, /^m/i, /^ti/i, /^o/i, /^to/i, /^f/i, /^l/i],\n};\n\nconst matchDayPeriodPatterns = {\n narrow:\n /^(midnatt|middag|(på) (morgenen|ettermiddagen|kvelden|natten)|[ap])/i,\n any: /^([ap]\\.?\\s?m\\.?|midnatt|middag|(på) (morgenen|ettermiddagen|kvelden|natten))/i,\n};\nconst parseDayPeriodPatterns = {\n any: {\n am: /^a(\\.?\\s?m\\.?)?$/i,\n pm: /^p(\\.?\\s?m\\.?)?$/i,\n midnight: /^midn/i,\n noon: /^midd/i,\n morning: /morgen/i,\n afternoon: /ettermiddag/i,\n evening: /kveld/i,\n night: /natt/i,\n },\n};\n\nexport const match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: (value) => parseInt(value, 10),\n }),\n\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseEraPatterns,\n defaultParseWidth: \"any\",\n }),\n\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: \"any\",\n valueCallback: (index) => index + 1,\n }),\n\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: \"any\",\n }),\n\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseDayPatterns,\n defaultParseWidth: \"any\",\n }),\n\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: \"any\",\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: \"any\",\n }),\n};\n","import { h } from 'preact'\nimport styles from './footer.module.css'\n\nimport { format } from 'date-fns'\nimport { nb } from 'date-fns/locale'\n\nexport const Published = ({ meta }) => {\n const published = meta && meta.published && (\n
\n Publisert {getDate(meta.published)}\n
\n )\n const updated = meta && meta.updated && (\n
\n Oppdatert {getDate(meta.updated)}\n
\n )\n return (\n
\n {published}\n {updated}\n
\n )\n}\n\nfunction getDate(date) {\n return format(new Date(date), 'd. MMMM y HH:mm', { locale: nb })\n}\n","import { h } from 'preact'\nimport styles from './footer.module.css'\n\nexport const Author = ({ email, displayname, role }) => (\n
\n \n {displayname}\n \n
{role}
\n
\n)\n","import { h } from 'preact'\nimport styles from './footer.module.css'\nimport { Published } from './published.tsx'\nimport { Author } from './author.tsx'\n\nexport const Footer = ({ meta, byline = [], showPublicationDate = true }) => {\n const mappedByline =\n byline &&\n byline.length > 0 &&\n byline.map(({ email = '', displayname = '', role = '' }) => (\n \n ))\n return (\n
\n {showPublicationDate && }\n
{mappedByline}
\n
\n )\n}\n","// extracted by mini-css-extract-plugin\nexport default {\"menuWrapper\":\"dhbrm__menuWrapper--bebfd\",\"linkWrapper\":\"dhbrm__linkWrapper--cbfd6\",\"urlWrapper\":\"dhbrm__urlWrapper--e1f40\"};","import { h } from 'preact'\nimport styles from './menu.module.css'\n\nexport const Menu = ({ sections = [] }) => {\n const mappedLinks = sections.map((section) => (\n \n {section.menuTitle || section.title}\n \n ))\n return
{mappedLinks}
\n}\n","import { h, Component } from 'preact'\nimport styles from './App.css'\nimport { Header } from './header/header.tsx'\nimport { ShortExplainer } from './short-explainer/short-explainer.jsx'\nimport { Section } from './section/section.tsx'\nimport { Footer } from './footer/footer.tsx'\nimport { Menu } from './menu/menu.tsx'\ninterface Props {\n title: string\n isLive: boolean\n shortExplainer: any\n sections: any[]\n meta?: any\n byline?: any\n latest?: any\n polopolyId?: any\n showPublicationDate?: boolean\n}\nconst articlesWithHiddenExplainer = ['1.14960213', '1.15227270']\nconst hasMenu = ['1.14961835', '1.14967782', '1.14961836']\nexport class App extends Component {\n render() {\n const {\n title,\n isLive,\n shortExplainer,\n sections = [],\n meta,\n byline,\n polopolyId,\n showPublicationDate,\n } = this.props\n const hideExplainer =\n !shortExplainer ||\n !shortExplainer.length ||\n articlesWithHiddenExplainer.indexOf(polopolyId) !== -1\n const showMenu = hasMenu.indexOf(polopolyId) !== -1\n const mappedSections = sections.map((section) => (\n
\n ))\n return (\n
\n
\n {!hideExplainer && }\n {showMenu ? : null}\n {mappedSections}\n {/* */}\n
\n {/*
{JSON.stringify(this.props, null, 2)}
*/}\n
\n )\n }\n}\n","import { h, hydrate } from 'preact'\nimport { BaseElement } from '@nrk/dh-server-libs/base-element'\nimport { getElementTag } from '@nrk/dh-server-libs/get-element-tag'\nimport { AppContext } from './lib/context.tsx'\nimport { App } from './components/App.tsx'\n\nconst tag = getElementTag(__APP_NAME__, __APP_VERSION__)\n\nclass AppElement extends BaseElement {\n name = tag\n\n render() {\n hydrate(\n \n \n ,\n this,\n )\n\n this.sendGaEvent({ eventAction: `MOUNT:${tag}` })\n }\n\n get preloadedState() {\n return JSON.parse(this.querySelector('script[type=\"application/json\"]').textContent)\n }\n}\n\nif (!customElements.get(tag)) {\n customElements.define(tag, AppElement)\n}\n"],"names":["leafPrototypes","getProto","installedChunks","installChunk","module","exports","toSrcsetString","imageCandidates","map","width","url","join","getContextId","_coreAnalyticsPromise","BaseElement","HTMLElement","constructor","super","this","sendError","bind","sendGaEvent","connectedCallback","name","Error","setupTracker","render","coreAnalyticsTracker","Promise","resolve","window","then","m","default","coreAnalytics","tracker","create","container","parentId","metadata","location","href","ga","dataset","gaPropertyId","title","contentId","selfId","publishDate","published","message","event","eventCategory","JSON","parse","preloadedState","errorTracking","enabled","POLOPOLY_ID_REGEX","str","matches","match","length","extractPolopolyIdFromString","getElementTag","version","split","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","__webpack_modules__","Object","getPrototypeOf","obj","t","value","mode","__esModule","ns","r","def","current","indexOf","getOwnPropertyNames","forEach","key","d","definition","o","defineProperty","enumerable","get","f","e","chunkId","all","keys","reduce","promises","u","miniCssF","g","globalThis","Function","prop","prototype","hasOwnProperty","call","Symbol","toStringTag","p","data","ids","modules","runtime","i","j","installedChunkData","push","promise","import","race","n","l","c","s","a","h","v","y","Array","isArray","_","parentNode","removeChild","arguments","children","defaultProps","k","type","props","ref","__k","__","__b","__e","__d","__c","__v","__i","__u","vnode","w","context","C","x","base","P","S","__r","debounceRendering","sort","shift","__P","O","__n","ownerSVGElement","$","I","N","isConnected","H","nextSibling","String","A","V","insertBefore","nodeType","F","setProperty","test","L","style","cssText","replace","toLowerCase","slice","addEventListener","removeEventListener","removeAttribute","setAttribute","M","b","T","contextType","__E","q","sub","state","__h","_sb","__s","getDerivedStateFromProps","componentWillMount","componentDidMount","componentWillReceiveProps","shouldComponentUpdate","componentWillUpdate","componentDidUpdate","getChildContext","getSnapshotBeforeUpdate","z","diffed","some","localName","document","createTextNode","createElementNS","createElement","is","childNodes","attributes","__html","innerHTML","unmount","componentWillUnmount","B","firstChild","D","G","Consumer","Provider","splice","getDerivedStateFromError","setState","componentDidCatch","forceUpdate","setTimeout","AppContext","createContext","Header","isLive","hideSubtitle","class","styles","className","Component","preact","IS_CLIENT","globalAny","global","EsiInclude","args","fetchedHtml","getPath","id","trim","isDynamic","path","fetch","res","text","body","prevProps","esiUrl","dangerouslySetInnerHTML","html","querySelector","ShortExplainer","Sveip","customElements","define","_props$data","mappedItems","el","item","titleMedia","media","paragraph","sveipWrapper","wrapper","Text","Image","_imageInfo$category","imageInfo","mediaInfo","source","alt","sizes","sources","srcset","naturalDimensions","height","loading","creditText","category","tag","__APP_NAME__","__APP_VERSION__","Video","extractIdFromSmartUrl","substr","lastIndexOf","requireLudo","reject","ludo","require","requirejs","getOptions","chromecast","analytics","trackingId","getTrackingId","ludoMount","closest","getAttribute","instanciateLudo","async","ludoInstance","Heading","Map","Spesialmodul","Timeline","content","mappedContent","getComponentForType","SideExplainer","sideOne","sideTwo","Section","stickyTitles","titleClasses","sectionTitle","stickyTitle","filter","Boolean","section","formatDistanceLocale","lessThanXSeconds","one","other","xSeconds","halfAMinute","lessThanXMinutes","xMinutes","aboutXHours","xHours","xDays","aboutXWeeks","xWeeks","aboutXMonths","xMonths","aboutXYears","xYears","overXYears","almostXYears","buildFormatLongFn","options","defaultWidth","formats","formatLong","date","full","long","medium","short","time","dateTime","formatRelativeLocale","lastWeek","yesterday","today","tomorrow","nextWeek","buildLocalizeFn","valuesArray","formattingValues","defaultFormattingWidth","values","argumentCallback","buildMatchFn","string","matchPattern","matchPatterns","defaultMatchWidth","matchResult","matchedString","parsePatterns","defaultParseWidth","array","predicate","findIndex","pattern","object","findKey","valueCallback","rest","buildMatchPatternFn","parseResult","parsePattern","enUS","code","formatDistance","token","count","result","tokenValue","toString","addSuffix","comparison","formatRelative","_date","_baseDate","_options","localize","ordinalNumber","dirtyNumber","number","Number","rem100","era","narrow","abbreviated","wide","quarter","month","day","dayPeriod","am","pm","midnight","noon","morning","afternoon","evening","night","parseInt","any","index","weekStartsOn","firstWeekContainsDate","defaultOptions","getDefaultOptions","Math","pow","millisecondsInWeek","millisecondsInDay","toDate","argument","argStr","Date","NaN","startOfDay","setHours","getTimezoneOffsetInMilliseconds","utcDate","UTC","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","getMilliseconds","setUTCFullYear","differenceInCalendarDays","dateLeft","dateRight","startOfDayLeft","startOfDayRight","timestampLeft","timestampRight","round","constructFrom","startOfYear","cleanDate","setFullYear","getDayOfYear","startOfWeek","locale","getDay","diff","setDate","startOfISOWeek","getISOWeekYear","year","fourthOfJanuaryOfNextYear","startOfNextYear","fourthOfJanuaryOfThisYear","startOfThisYear","getTime","startOfISOWeekYear","fourthOfJanuary","getISOWeek","getWeekYear","firstWeekOfNextYear","firstWeekOfThisYear","startOfWeekYear","firstWeek","getWeek","addLeadingZeros","targetLength","abs","padStart","lightFormatters","signedYear","dayPeriodEnumValue","toUpperCase","numberOfDigits","milliseconds","trunc","dayPeriodEnum","formatters","unit","Y","signedWeekYear","weekYear","R","Q","ceil","week","isoWeek","dayOfYear","E","dayOfWeek","localDayOfWeek","isoDayOfWeek","hours","K","X","_localize","timezoneOffset","getTimezoneOffset","formatTimezoneWithOptionalMinutes","formatTimezone","formatTimezoneShort","offset","delimiter","sign","absOffset","minutes","dateLongFormatter","timeLongFormatter","longFormatters","datePattern","timePattern","dateTimeFormat","dayOfYearTokenRE","weekYearTokenRE","throwTokens","isDate","isValid","isNaN","formattingTokensRegExp","longFormattingTokensRegExp","escapedStringRegExp","doubleQuoteRegExp","unescapedLatinCharacterRegExp","format","formatStr","originalDate","RangeError","parts","substring","firstCharacter","longFormatter","isToken","cleanEscapedString","preprocessor","formatterOptions","part","useAdditionalWeekYearTokens","isProtectedWeekYearToken","useAdditionalDayOfYearTokens","isProtectedDayOfYearToken","input","_message","subject","console","warn","includes","warnOrThrowProtectedError","formatter","matched","nb","Published","meta","updated","Author","email","displayname","role","Footer","byline","showPublicationDate","mappedByline","Menu","sections","mappedLinks","menuTitle","articlesWithHiddenExplainer","hasMenu","App","shortExplainer","polopolyId","hideExplainer","showMenu","mappedSections","_extends","AppElement","hydrate","eventAction","textContent"],"sourceRoot":""}