{"version":3,"file":"javascripts/chunks/ca6aa1fe2f8450d5e7eb.watchlist-button.js","mappings":"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","sources":["webpack:///./components/icon/Icon.jsx","webpack:///./components/text/Text.jsx","webpack:///./components/watchlist-button/WatchlistButton.jsx","webpack:///./components/watchlist-button/javascripts/watchlist-button.jsx","webpack:///./components/watchlist/javascripts/hooks/useStore.js","webpack:///../.yarn/__virtual__/zustand-virtual-3c3a7485b4/0/cache/zustand-npm-3.7.2-4cb33a3ae6-18f025b1b6.zip/node_modules/zustand/esm/index.js","webpack:///../.yarn/__virtual__/zustand-virtual-3c3a7485b4/0/cache/zustand-npm-3.7.2-4cb33a3ae6-18f025b1b6.zip/node_modules/zustand/esm/vanilla.js","webpack:///../.yarn/unplugged/core-js-npm-3.19.3-6f11d9f8bc/node_modules/core-js/internals/array-sort.js","webpack:///../.yarn/unplugged/core-js-npm-3.19.3-6f11d9f8bc/node_modules/core-js/internals/engine-ff-version.js","webpack:///../.yarn/unplugged/core-js-npm-3.19.3-6f11d9f8bc/node_modules/core-js/internals/engine-is-ie-or-edge.js","webpack:///../.yarn/unplugged/core-js-npm-3.19.3-6f11d9f8bc/node_modules/core-js/internals/engine-webkit-version.js","webpack:///../.yarn/unplugged/core-js-npm-3.19.3-6f11d9f8bc/node_modules/core-js/modules/es.array.find.js","webpack:///../.yarn/unplugged/core-js-npm-3.19.3-6f11d9f8bc/node_modules/core-js/modules/es.array.includes.js","webpack:///../.yarn/unplugged/core-js-npm-3.19.3-6f11d9f8bc/node_modules/core-js/modules/es.array.sort.js","webpack:///./twig-extensions/filter/withModifier.js"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React from 'react';\n\nconst Icon = ({ className, size, id }) => (\n \n);\n\nIcon.propTypes = {\n className: PropTypes.string,\n size: PropTypes.string,\n id: PropTypes.string.isRequired\n};\n\nIcon.defaultProps = {\n className: '',\n size: 'small'\n};\n\nexport default Icon;\n","import PropTypes from 'prop-types';\nimport React from 'react';\n\nimport withModifier from '../../twig-extensions/filter/withModifier';\n\nconst Text = React.forwardRef(\n ({ className, modifiers = [], children, html, tag, variant }, ref) => {\n const Tag = tag;\n\n if (html) {\n return (\n \n );\n }\n\n return (\n \n {children}\n \n );\n }\n);\n\nText.propTypes = {\n className: PropTypes.string,\n modifiers: PropTypes.arrayOf(PropTypes.string),\n children: PropTypes.node,\n html: PropTypes.string,\n variant: PropTypes.string,\n tag: PropTypes.oneOf([\n 'p',\n 'h1',\n 'h2',\n 'h3',\n 'h4',\n 'h5',\n 'h5',\n 'h6',\n 'span',\n 'figcaption',\n 'cite',\n 'label',\n 'legend',\n 'small',\n 'div'\n ])\n};\n\nText.defaultProps = {\n className: '',\n modifiers: [],\n children: null,\n html: null,\n variant: 'copy',\n tag: 'p'\n};\n\nexport default Text;\n","import React, { useEffect, useState } from 'react';\nimport PropTypes from 'prop-types';\n\nimport useWatchlistStore from '../watchlist/javascripts/hooks/useStore';\n\nimport Icon from '../icon/Icon.jsx';\nimport Text from '../text/Text.jsx';\n\nconst WatchlistButton = React.forwardRef(\n (\n { id, type, label, watchedLabel, alreadyWatched, hiddenLabel, className },\n ref\n ) => {\n const addItem = useWatchlistStore((state) => state.addItem);\n const removeItem = useWatchlistStore((state) => state.removeItem);\n const storage = useWatchlistStore((state) => state.storage);\n\n const isInWatchlist = Boolean(\n storage.find((item) => item.id === id && item.type === type)\n );\n\n const [watched, setWatched] = useState(alreadyWatched);\n const [added, setAdded] = useState(false);\n\n useEffect(() => {\n if (alreadyWatched) return;\n setWatched(isInWatchlist);\n setAdded(isInWatchlist);\n }, [isInWatchlist]);\n\n const handleAdd = () => {\n setAdded(true);\n addItem({ id, type });\n };\n\n const handleRemove = () => {\n setAdded(false);\n removeItem(id);\n };\n\n return (\n \n );\n }\n);\n\nWatchlistButton.propTypes = {\n id: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).isRequired,\n label: PropTypes.string.isRequired,\n watchedLabel: PropTypes.string.isRequired,\n alreadyWatched: PropTypes.bool,\n hiddenLabel: PropTypes.bool,\n className: PropTypes.string,\n type: PropTypes.string.isRequired\n};\n\nWatchlistButton.defaultProps = {\n alreadyWatched: false,\n hiddenLabel: false,\n className: ''\n};\n\nexport default WatchlistButton;\n","import React from 'react';\nimport { createRoot } from 'react-dom/client';\n\nimport BaseModule from '../../../javascripts/helpers/baseModule';\n\nimport WatchlistButton from '../WatchlistButton.jsx';\n\nexport default class WatchlistButtonComponent extends BaseModule {\n constructor(element) {\n super(element, 'watchlist-button');\n\n this.config = JSON.parse(this.elements.self.dataset.jsModuleConfig);\n\n this.container = document.getElementById(this.config.containerId);\n this.reference = document.getElementById(this.config.referenceId);\n this.button = this.elements.self;\n\n this.resizeObserver = null;\n\n this.init();\n this.initResizeObserver();\n }\n\n calculatePosition() {\n if (!this.button || !this.container || !this.reference) return;\n const referenceRect = this.reference.getBoundingClientRect();\n const containerRect = this.container.getBoundingClientRect();\n const top = referenceRect.top - containerRect.top;\n\n this.button.style.top = `${top + 10}px`;\n }\n\n initResizeObserver() {\n if (!this.button || !this.container || !this.reference) return;\n this.resizeObserver = new ResizeObserver(() => this.calculatePosition());\n this.resizeObserver.observe(this.container);\n }\n\n init() {\n const root = createRoot(this.elements.self);\n root.render(\n \n );\n }\n}\n","import create from 'zustand';\n\nimport watchlist from '../../../../store/watchlist';\n\nconst useWatchlistStore = create(watchlist);\n\nexport default useWatchlistStore;\n","import { useReducer, useRef, useDebugValue, useEffect, useLayoutEffect } from 'react';\n\nfunction createStore(createState) {\n let state;\n const listeners = /* @__PURE__ */ new Set();\n const setState = (partial, replace) => {\n const nextState = typeof partial === \"function\" ? partial(state) : partial;\n if (nextState !== state) {\n const previousState = state;\n state = replace ? nextState : Object.assign({}, state, nextState);\n listeners.forEach((listener) => listener(state, previousState));\n }\n };\n const getState = () => state;\n const subscribeWithSelector = (listener, selector = getState, equalityFn = Object.is) => {\n console.warn(\"[DEPRECATED] Please use `subscribeWithSelector` middleware\");\n let currentSlice = selector(state);\n function listenerToAdd() {\n const nextSlice = selector(state);\n if (!equalityFn(currentSlice, nextSlice)) {\n const previousSlice = currentSlice;\n listener(currentSlice = nextSlice, previousSlice);\n }\n }\n listeners.add(listenerToAdd);\n return () => listeners.delete(listenerToAdd);\n };\n const subscribe = (listener, selector, equalityFn) => {\n if (selector || equalityFn) {\n return subscribeWithSelector(listener, selector, equalityFn);\n }\n listeners.add(listener);\n return () => listeners.delete(listener);\n };\n const destroy = () => listeners.clear();\n const api = { setState, getState, subscribe, destroy };\n state = createState(setState, getState, api);\n return api;\n}\n\nconst isSSR = typeof window === \"undefined\" || !window.navigator || /ServerSideRendering|^Deno\\//.test(window.navigator.userAgent);\nconst useIsomorphicLayoutEffect = isSSR ? useEffect : useLayoutEffect;\nfunction create(createState) {\n const api = typeof createState === \"function\" ? createStore(createState) : createState;\n const useStore = (selector = api.getState, equalityFn = Object.is) => {\n const [, forceUpdate] = useReducer((c) => c + 1, 0);\n const state = api.getState();\n const stateRef = useRef(state);\n const selectorRef = useRef(selector);\n const equalityFnRef = useRef(equalityFn);\n const erroredRef = useRef(false);\n const currentSliceRef = useRef();\n if (currentSliceRef.current === void 0) {\n currentSliceRef.current = selector(state);\n }\n let newStateSlice;\n let hasNewStateSlice = false;\n if (stateRef.current !== state || selectorRef.current !== selector || equalityFnRef.current !== equalityFn || erroredRef.current) {\n newStateSlice = selector(state);\n hasNewStateSlice = !equalityFn(currentSliceRef.current, newStateSlice);\n }\n useIsomorphicLayoutEffect(() => {\n if (hasNewStateSlice) {\n currentSliceRef.current = newStateSlice;\n }\n stateRef.current = state;\n selectorRef.current = selector;\n equalityFnRef.current = equalityFn;\n erroredRef.current = false;\n });\n const stateBeforeSubscriptionRef = useRef(state);\n useIsomorphicLayoutEffect(() => {\n const listener = () => {\n try {\n const nextState = api.getState();\n const nextStateSlice = selectorRef.current(nextState);\n if (!equalityFnRef.current(currentSliceRef.current, nextStateSlice)) {\n stateRef.current = nextState;\n currentSliceRef.current = nextStateSlice;\n forceUpdate();\n }\n } catch (error) {\n erroredRef.current = true;\n forceUpdate();\n }\n };\n const unsubscribe = api.subscribe(listener);\n if (api.getState() !== stateBeforeSubscriptionRef.current) {\n listener();\n }\n return unsubscribe;\n }, []);\n const sliceToReturn = hasNewStateSlice ? newStateSlice : currentSliceRef.current;\n useDebugValue(sliceToReturn);\n return sliceToReturn;\n };\n Object.assign(useStore, api);\n useStore[Symbol.iterator] = function() {\n console.warn(\"[useStore, api] = create() is deprecated and will be removed in v4\");\n const items = [useStore, api];\n return {\n next() {\n const done = items.length <= 0;\n return { value: items.shift(), done };\n }\n };\n };\n return useStore;\n}\n\nexport { create as default };\n","function createStore(createState) {\n let state;\n const listeners = /* @__PURE__ */ new Set();\n const setState = (partial, replace) => {\n const nextState = typeof partial === \"function\" ? partial(state) : partial;\n if (nextState !== state) {\n const previousState = state;\n state = replace ? nextState : Object.assign({}, state, nextState);\n listeners.forEach((listener) => listener(state, previousState));\n }\n };\n const getState = () => state;\n const subscribeWithSelector = (listener, selector = getState, equalityFn = Object.is) => {\n console.warn(\"[DEPRECATED] Please use `subscribeWithSelector` middleware\");\n let currentSlice = selector(state);\n function listenerToAdd() {\n const nextSlice = selector(state);\n if (!equalityFn(currentSlice, nextSlice)) {\n const previousSlice = currentSlice;\n listener(currentSlice = nextSlice, previousSlice);\n }\n }\n listeners.add(listenerToAdd);\n return () => listeners.delete(listenerToAdd);\n };\n const subscribe = (listener, selector, equalityFn) => {\n if (selector || equalityFn) {\n return subscribeWithSelector(listener, selector, equalityFn);\n }\n listeners.add(listener);\n return () => listeners.delete(listener);\n };\n const destroy = () => listeners.clear();\n const api = { setState, getState, subscribe, destroy };\n state = createState(setState, getState, api);\n return api;\n}\n\nexport { createStore as default };\n","var arraySlice = require('../internals/array-slice-simple');\n\nvar floor = Math.floor;\n\nvar mergeSort = function (array, comparefn) {\n var length = array.length;\n var middle = floor(length / 2);\n return length < 8 ? insertionSort(array, comparefn) : merge(\n array,\n mergeSort(arraySlice(array, 0, middle), comparefn),\n mergeSort(arraySlice(array, middle), comparefn),\n comparefn\n );\n};\n\nvar insertionSort = function (array, comparefn) {\n var length = array.length;\n var i = 1;\n var element, j;\n\n while (i < length) {\n j = i;\n element = array[i];\n while (j && comparefn(array[j - 1], element) > 0) {\n array[j] = array[--j];\n }\n if (j !== i++) array[j] = element;\n } return array;\n};\n\nvar merge = function (array, left, right, comparefn) {\n var llength = left.length;\n var rlength = right.length;\n var lindex = 0;\n var rindex = 0;\n\n while (lindex < llength || rindex < rlength) {\n array[lindex + rindex] = (lindex < llength && rindex < rlength)\n ? comparefn(left[lindex], right[rindex]) <= 0 ? left[lindex++] : right[rindex++]\n : lindex < llength ? left[lindex++] : right[rindex++];\n } return array;\n};\n\nmodule.exports = mergeSort;\n","var userAgent = require('../internals/engine-user-agent');\n\nvar firefox = userAgent.match(/firefox\\/(\\d+)/i);\n\nmodule.exports = !!firefox && +firefox[1];\n","var UA = require('../internals/engine-user-agent');\n\nmodule.exports = /MSIE|Trident/.test(UA);\n","var userAgent = require('../internals/engine-user-agent');\n\nvar webkit = userAgent.match(/AppleWebKit\\/(\\d+)\\./);\n\nmodule.exports = !!webkit && +webkit[1];\n","'use strict';\nvar $ = require('../internals/export');\nvar $find = require('../internals/array-iteration').find;\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\nvar FIND = 'find';\nvar SKIPS_HOLES = true;\n\n// Shouldn't skip holes\nif (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; });\n\n// `Array.prototype.find` method\n// https://tc39.es/ecma262/#sec-array.prototype.find\n$({ target: 'Array', proto: true, forced: SKIPS_HOLES }, {\n find: function find(callbackfn /* , that = undefined */) {\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables(FIND);\n","'use strict';\nvar $ = require('../internals/export');\nvar $includes = require('../internals/array-includes').includes;\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\n// `Array.prototype.includes` method\n// https://tc39.es/ecma262/#sec-array.prototype.includes\n$({ target: 'Array', proto: true }, {\n includes: function includes(el /* , fromIndex = 0 */) {\n return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('includes');\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar toString = require('../internals/to-string');\nvar fails = require('../internals/fails');\nvar internalSort = require('../internals/array-sort');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar FF = require('../internals/engine-ff-version');\nvar IE_OR_EDGE = require('../internals/engine-is-ie-or-edge');\nvar V8 = require('../internals/engine-v8-version');\nvar WEBKIT = require('../internals/engine-webkit-version');\n\nvar test = [];\nvar un$Sort = uncurryThis(test.sort);\nvar push = uncurryThis(test.push);\n\n// IE8-\nvar FAILS_ON_UNDEFINED = fails(function () {\n test.sort(undefined);\n});\n// V8 bug\nvar FAILS_ON_NULL = fails(function () {\n test.sort(null);\n});\n// Old WebKit\nvar STRICT_METHOD = arrayMethodIsStrict('sort');\n\nvar STABLE_SORT = !fails(function () {\n // feature detection can be too slow, so check engines versions\n if (V8) return V8 < 70;\n if (FF && FF > 3) return;\n if (IE_OR_EDGE) return true;\n if (WEBKIT) return WEBKIT < 603;\n\n var result = '';\n var code, chr, value, index;\n\n // generate an array with more 512 elements (Chakra and old V8 fails only in this case)\n for (code = 65; code < 76; code++) {\n chr = String.fromCharCode(code);\n\n switch (code) {\n case 66: case 69: case 70: case 72: value = 3; break;\n case 68: case 71: value = 4; break;\n default: value = 2;\n }\n\n for (index = 0; index < 47; index++) {\n test.push({ k: chr + index, v: value });\n }\n }\n\n test.sort(function (a, b) { return b.v - a.v; });\n\n for (index = 0; index < test.length; index++) {\n chr = test[index].k.charAt(0);\n if (result.charAt(result.length - 1) !== chr) result += chr;\n }\n\n return result !== 'DGBEFHACIJK';\n});\n\nvar FORCED = FAILS_ON_UNDEFINED || !FAILS_ON_NULL || !STRICT_METHOD || !STABLE_SORT;\n\nvar getSortCompare = function (comparefn) {\n return function (x, y) {\n if (y === undefined) return -1;\n if (x === undefined) return 1;\n if (comparefn !== undefined) return +comparefn(x, y) || 0;\n return toString(x) > toString(y) ? 1 : -1;\n };\n};\n\n// `Array.prototype.sort` method\n// https://tc39.es/ecma262/#sec-array.prototype.sort\n$({ target: 'Array', proto: true, forced: FORCED }, {\n sort: function sort(comparefn) {\n if (comparefn !== undefined) aCallable(comparefn);\n\n var array = toObject(this);\n\n if (STABLE_SORT) return comparefn === undefined ? un$Sort(array) : un$Sort(array, comparefn);\n\n var items = [];\n var arrayLength = lengthOfArrayLike(array);\n var itemsLength, index;\n\n for (index = 0; index < arrayLength; index++) {\n if (index in array) push(items, array[index]);\n }\n\n internalSort(items, getSortCompare(comparefn));\n\n itemsLength = items.length;\n index = 0;\n\n while (index < itemsLength) array[index] = items[index++];\n while (index < arrayLength) delete array[index++];\n\n return array;\n }\n});\n","/**\n * Creates a class-set with BEM modifiers for a component\n * @param {string} prefix Prefix classname for the component\n * @param {Array} modifier Array with modifiers\n * @return {string} Classnames in BEM format\n */\nexport default function myFunctionName(prefix, modifier) {\n const flattenArray = (arr) => {\n return arr.reduce(\n (acc, val) =>\n Array.isArray(val) ? acc.concat(flattenArray(val)) : acc.concat(val),\n []\n );\n };\n\n let classes = [prefix];\n const modifiers = flattenArray(modifier || []);\n\n const uniqueModifiers = modifiers.filter((m, i) => {\n return modifiers.indexOf(m) === i;\n });\n\n classes = [\n ...classes,\n ...uniqueModifiers\n .filter((suffix) => suffix)\n .map((suffix) => `${prefix}--${suffix}`)\n ];\n\n return classes.join(' ');\n}\n"],"names":["Icon","className","size","id","xlinkHref","propTypes","PropTypes","defaultProps","Text","React","ref","modifiers","children","html","tag","variant","Tag","withModifier","dangerouslySetInnerHTML","__html","WatchlistButton","type","label","watchedLabel","alreadyWatched","hiddenLabel","addItem","useWatchlistStore","state","removeItem","storage","isInWatchlist","Boolean","find","item","useState","watched","setWatched","added","setAdded","useEffect","onClick","title","isRequired","WatchlistButtonComponent","element","config","JSON","parse","elements","self","dataset","jsModuleConfig","container","document","getElementById","containerId","reference","referenceId","button","resizeObserver","init","initResizeObserver","this","referenceRect","getBoundingClientRect","containerRect","top","style","ResizeObserver","calculatePosition","observe","createRoot","render","BaseModule","create","watchlist","useIsomorphicLayoutEffect","window","navigator","test","userAgent","useLayoutEffect","createState","api","listeners","Set","setState","partial","replace","nextState","previousState","Object","assign","forEach","listener","getState","subscribe","selector","equalityFn","is","console","warn","currentSlice","listenerToAdd","nextSlice","previousSlice","add","delete","subscribeWithSelector","destroy","clear","createStore","useStore","forceUpdate","useReducer","c","stateRef","useRef","selectorRef","equalityFnRef","erroredRef","currentSliceRef","newStateSlice","current","hasNewStateSlice","stateBeforeSubscriptionRef","nextStateSlice","error","unsubscribe","sliceToReturn","useDebugValue","Symbol","iterator","items","next","done","length","value","shift","arraySlice","floor","Math","mergeSort","array","comparefn","middle","insertionSort","merge","j","i","left","right","llength","rlength","lindex","rindex","module","exports","firefox","match","UA","webkit","$","$find","addToUnscopables","FIND","SKIPS_HOLES","Array","target","proto","forced","callbackfn","arguments","undefined","$includes","includes","el","uncurryThis","aCallable","toObject","lengthOfArrayLike","toString","fails","internalSort","arrayMethodIsStrict","FF","IE_OR_EDGE","V8","WEBKIT","un$Sort","sort","push","FAILS_ON_UNDEFINED","FAILS_ON_NULL","STRICT_METHOD","STABLE_SORT","code","chr","index","result","String","fromCharCode","k","v","a","b","charAt","itemsLength","arrayLength","x","y","getSortCompare","myFunctionName","prefix","modifier","flattenArray","arr","reduce","acc","val","isArray","concat","classes","uniqueModifiers","filter","m","indexOf","suffix","map","join"],"sourceRoot":""}