{"version":3,"sources":["webpack:///./src/Frontend/app/components/search/search.tsx","webpack:///./src/Frontend/app/views/search/search-view.tsx","webpack:///./node_modules/classnames/index.js","webpack:///./src/Frontend/app/components/icons/icon.tsx","webpack:///./src/Frontend/app/components/anchor/anchor.tsx"],"names":["state","searchString","props","searchInputPrefill","componentDidMount","inputField","value","onChange","event","target","setState","render","this","title","disableBackgroundColor","searchResultsPageUrl","searchButtonLabel","searchInputPlaceholder","richText","anchorId","baseClass","componentClasses","className","id","dangerouslySetInnerHTML","__html","role","action","method","ref","node","name","placeholder","type","autoFocus","enableAutoFocus","iconId","contextModel","hasOwn","hasOwnProperty","classNames","classes","i","arguments","length","arg","argType","push","Array","isArray","inner","apply","key","call","join","module","exports","default","spriteUrl","viewBox","preserveAspectRatio","onClick","xmlnsXlink","xlinkHref"],"mappings":"6dAuGe,EAlFf,uE,OAEW,EAAAA,MAAQ,CACXC,aAAc,EAAKC,MAAMC,oBAAsB,IAG5C,EAAAC,kBAAoB,WAEnB,EAAKC,aACL,EAAKA,WAAWC,MAAQ,EAAKN,MAAMC,eAIpC,EAAAM,SAAW,SAACC,GACP,IAAAF,EAAUE,EAAMC,OAAX,MAEb,EAAKC,SAAS,CACVT,aAAcK,K,EA+D1B,OAhFqB,OAqBV,YAAAK,OAAP,W,MAAA,OACU,EAQFC,KAAKV,MAPLW,EAAK,QACLC,EAAsB,yBACtBC,EAAoB,uBACpBC,EAAiB,oBACjBC,EAAsB,yBACtBC,EAAQ,WACRC,EAAQ,WAGNC,EAAY,gBACZC,EAAmB,IAAWD,IAAS,GACzC,mBAAoBD,IAChBC,EAAS,uBAAwBN,EACvC,IAEF,OACI,2BAASQ,UAAWD,GACfF,GAAY,gBAAC,IAAM,CAACI,GAAIJ,IACzB,uBAAKG,UAAcF,EAAS,WACvBP,EAAQ,sBAAIS,UAAcF,EAAS,oBAAqBP,GAAc,KACtEK,GACG,uBACII,UAAcF,EAAS,gCACvBI,wBAAyB,CAAEC,OAAQP,KAG1CH,GAAwBE,GAA0BD,EAC/C,wBACIM,UAAcF,EAAS,SACvBM,KAAK,SACLC,OAAQZ,EACRa,OAAO,OAEP,uBAAKN,UAAcF,EAAS,mBACxB,yBACIS,IAAK,SAAAC,GAAQ,OAAC,EAAKzB,WAAN,GACb0B,KAAK,SACLT,UAAcF,EAAS,gBACvBY,YAAaf,EACbV,SAAUK,KAAKL,SACf0B,KAAK,SACLC,UAAWtB,KAAKV,MAAMiC,kBAE1B,0BACIb,UAAcF,EAAS,WACvBa,KAAK,SACLpB,MAAOG,GAEP,gBAAC,IAAI,CAACoB,OAAO,iBAIzB,QAKxB,EAhFA,CAAqB,a,gjBCdrB,2B,+CAIA,OAJyB,OACd,YAAAzB,OAAP,WACI,OAAO,gBAAC,EAAM,KAAKC,KAAKV,MAAMmC,gBAEtC,EAJA,CAAyB,aAMV,a,oBCbf;;;;;GAOC,WACA,aAEA,IAAIC,EAAS,GAAGC,eAEhB,SAASC,IAGR,IAFA,IAAIC,EAAU,GAELC,EAAI,EAAGA,EAAIC,UAAUC,OAAQF,IAAK,CAC1C,IAAIG,EAAMF,UAAUD,GACpB,GAAKG,EAAL,CAEA,IAAIC,SAAiBD,EAErB,GAAgB,WAAZC,GAAoC,WAAZA,EAC3BL,EAAQM,KAAKF,QACP,GAAIG,MAAMC,QAAQJ,IAAQA,EAAID,OAAQ,CAC5C,IAAIM,EAAQV,EAAWW,MAAM,KAAMN,GAC/BK,GACHT,EAAQM,KAAKG,QAER,GAAgB,WAAZJ,EACV,IAAK,IAAIM,KAAOP,EACXP,EAAOe,KAAKR,EAAKO,IAAQP,EAAIO,IAChCX,EAAQM,KAAKK,IAMjB,OAAOX,EAAQa,KAAK,KAGgBC,EAAOC,SAC3ChB,EAAWiB,QAAUjB,EACrBe,EAAOC,QAAUhB,QAKhB,KAFwB,EAAF,WACtB,OAAOA,GACP,QAFoB,OAEpB,aAxCH,I,iCCPA,6BA0Ee,IAhBoB,SAAAtC,GAC/B,IAAMwD,EAAYxD,EAAMwD,WAAa,GAC/BC,EAAUzD,EAAMyD,SAAW,YAEjC,OACI,uBACIA,QAASA,EACTrC,UAAW,IAAWpB,EAAMoB,UAAW,OAAQ,QAAQpB,EAAMkC,QAC7DwB,oBAAoB,WACpBC,QAAS,WAAM,OAAA3D,EAAM2D,SAAW3D,EAAjB,YAEf,uBAAK4D,WAAW,+BAA+BC,UAAcL,EAAS,IAAIxD,EAAMkC,Y,iCCrE5F,WAUe,IAJA,SAAC,G,IAAEb,EAAE,KAChB,OAAO,uBAAKD,UAAU,SAASC,GAAIA","file":"35.5e8e9e7ba70e95708075.js","sourcesContent":["import * as React from \"react\";\r\nimport Icon from \"../icons/icon\";\r\nimport classNames from \"classnames\";\r\nimport Anchor from \"../anchor/anchor\";\r\n\r\nexport interface ISearchProps {\r\n title?: string;\r\n disableBackgroundColor?: boolean;\r\n searchResultsPageUrl?: string;\r\n searchButtonLabel?: string;\r\n searchInputPlaceholder?: string;\r\n searchInputPrefill?: string;\r\n richText?: string;\r\n enableAutoFocus?: boolean;\r\n anchorId?: string;\r\n}\r\n\r\nexport interface ISearchState {\r\n searchString: string;\r\n}\r\n\r\nclass Search extends React.Component<ISearchProps, ISearchState> {\r\n private inputField: HTMLInputElement | null;\r\n public state = {\r\n searchString: this.props.searchInputPrefill || \"\"\r\n };\r\n\r\n public componentDidMount = () => {\r\n // To make sure the cursor is placed after the input value\r\n if (this.inputField) {\r\n this.inputField.value = this.state.searchString;\r\n }\r\n };\r\n\r\n public onChange = (event: React.FormEvent<HTMLInputElement>) => {\r\n const { value } = event.target as HTMLInputElement;\r\n\r\n this.setState({\r\n searchString: value\r\n });\r\n };\r\n\r\n public render() {\r\n const {\r\n title,\r\n disableBackgroundColor,\r\n searchResultsPageUrl,\r\n searchButtonLabel,\r\n searchInputPlaceholder,\r\n richText,\r\n anchorId\r\n } = this.props;\r\n\r\n const baseClass = \"search-module\";\r\n const componentClasses = classNames(baseClass, {\r\n \"anchor-wrapper\": !!anchorId,\r\n [`${baseClass}--theme-background`]: !disableBackgroundColor\r\n });\r\n\r\n return (\r\n <section className={componentClasses}>\r\n {anchorId && <Anchor id={anchorId} />}\r\n <div className={`${baseClass}__inner`}>\r\n {title ? <h2 className={`${baseClass}__title h2-style`}>{title}</h2> : null}\r\n {richText && (\r\n <div\r\n className={`${baseClass}__rich-text content-rich-text`}\r\n dangerouslySetInnerHTML={{ __html: richText }}\r\n />\r\n )}\r\n {searchResultsPageUrl && searchInputPlaceholder && searchButtonLabel ? (\r\n <form\r\n className={`${baseClass}__form`}\r\n role=\"search\"\r\n action={searchResultsPageUrl}\r\n method=\"get\"\r\n >\r\n <div className={`${baseClass}__input-wrapper`}>\r\n <input\r\n ref={node => (this.inputField = node)}\r\n name=\"search\"\r\n className={`${baseClass}__input input`}\r\n placeholder={searchInputPlaceholder}\r\n onChange={this.onChange}\r\n type=\"search\"\r\n autoFocus={this.props.enableAutoFocus}\r\n />\r\n <button\r\n className={`${baseClass}__button`}\r\n type=\"submit\"\r\n title={searchButtonLabel}\r\n >\r\n <Icon iconId=\"32_search\" />\r\n </button>\r\n </div>\r\n </form>\r\n ) : null}\r\n </div>\r\n </section>\r\n );\r\n }\r\n}\r\n\r\nexport default Search;\r\n","import * as React from \"react\";\r\nimport Search, { ISearchProps } from \"~/components/search/search\";\r\n\r\ninterface ISearchViewProps {\r\n contextModel: ISearchProps;\r\n}\r\n\r\nclass SearchView extends React.Component<ISearchViewProps> {\r\n public render() {\r\n return <Search {...this.props.contextModel} />;\r\n }\r\n}\r\n\r\nexport default SearchView;\r\n","/*!\n Copyright (c) 2017 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg) && arg.length) {\n\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\tif (inner) {\n\t\t\t\t\tclasses.push(inner);\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tfor (var key in arg) {\n\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","import * as React from \"react\";\r\nimport classNames from \"classnames\";\r\n\r\nexport type TIconNames =\r\n | \"24_expand\"\r\n | \"24_play\"\r\n | \"24_star\"\r\n | \"24_trash\"\r\n | \"32_add-user\"\r\n | \"32_basket\"\r\n | \"32_checkmark-circle\"\r\n | \"32_checkmark\"\r\n | \"32_error\"\r\n | \"32_information\"\r\n | \"32_katalog\"\r\n | \"32_search\"\r\n | \"32_truck-in-motion\"\r\n | \"32_user\"\r\n | \"32_warning\"\r\n | \"icon_16_arrow-down\"\r\n | \"icon_16_arrow-left\"\r\n | \"icon_16_arrow-right-bold\"\r\n | \"icon_16_arrow-right\"\r\n | \"icon_16_arrow-up\"\r\n | \"icon_28_close\"\r\n | \"icon_32_thumbs-up\"\r\n | \"icon_80x41_quotation-mark-gyldendal-dk\"\r\n | \"icon_80x48_quotation-mark\"\r\n | \"icon_checkbox-black\"\r\n | \"icon_checkmark-black\"\r\n | \"icon_download\"\r\n | \"icon_herringbone-narrow\"\r\n | \"icon_herringbone-wide\"\r\n | \"icon_placeholder-email\"\r\n | \"icon_placeholder-lock\"\r\n | \"icon_placeholder-phone-small\"\r\n | \"icon_placeholder-vip-white\"\r\n | \"icon_placeholder_basket\"\r\n | \"icon_placeholder_checkmark\"\r\n | \"icon_placeholder_eye-closed\"\r\n | \"icon_placeholder_eye\"\r\n | \"icon_placeholder_facebook\"\r\n | \"icon_placeholder_filtering\"\r\n | \"icon_placeholder_hamburger\"\r\n | \"icon_placeholder_instagram\"\r\n | \"icon_placeholder_phone\"\r\n | \"icon_placeholder_user\"\r\n | \"icon_read\"\r\n | \"icon_listen\";\r\n\r\nexport interface IIconProps {\r\n iconId: TIconNames;\r\n spriteUrl?: string;\r\n viewBox?: string;\r\n className?: string;\r\n onClick?: () => void;\r\n}\r\n\r\nconst Icon: React.FC<IIconProps> = props => {\r\n const spriteUrl = props.spriteUrl || \"\";\r\n const viewBox = props.viewBox || \"0 0 32 32\";\r\n\r\n return (\r\n <svg\r\n viewBox={viewBox}\r\n className={classNames(props.className, \"icon\", `icon-${props.iconId}`)}\r\n preserveAspectRatio=\"xMidYMid\"\r\n onClick={() => props.onClick && props.onClick()}\r\n >\r\n <use xmlnsXlink=\"http://www.w3.org/1999/xlink\" xlinkHref={`${spriteUrl}#${props.iconId}`} />\r\n </svg>\r\n );\r\n};\r\n\r\nexport default Icon;\r\n","import * as React from \"react\";\r\n\r\nexport interface AnchorProps {\r\n id?: string;\r\n}\r\n\r\nconst Anchor = ({ id }: AnchorProps) => {\r\n return <div className=\"anchor\" id={id} />;\r\n};\r\n\r\nexport default Anchor;\r\n"],"sourceRoot":""}