diff --git a/.size-snapshot.json b/.size-snapshot.json index 3867a7b47..e19a9983b 100644 --- a/.size-snapshot.json +++ b/.size-snapshot.json @@ -1,20 +1,20 @@ { "dist/index.js": { - "bundled": 200523, - "minified": 97259, - "gzipped": 25762 + "bundled": 200783, + "minified": 97388, + "gzipped": 25792 }, "dist/index.es.js": { - "bundled": 193151, - "minified": 90109, - "gzipped": 25296, + "bundled": 193411, + "minified": 90238, + "gzipped": 25330, "treeshaked": { "rollup": { - "code": 65534, + "code": 65661, "import_statements": 1307 }, "webpack": { - "code": 69257 + "code": 69384 } } } diff --git a/docs/storybook/iframe.html b/docs/storybook/iframe.html index 9e776cfb8..d9b8395c4 100644 --- a/docs/storybook/iframe.html +++ b/docs/storybook/iframe.html @@ -71,4 +71,4 @@ }

No Preview

Sorry, but you either have no stories or none are selected somehow.

If the problem persists, check the browser console, or the terminal you've run Storybook from.

\ No newline at end of file + }

No Preview

Sorry, but you either have no stories or none are selected somehow.

If the problem persists, check the browser console, or the terminal you've run Storybook from.

\ No newline at end of file diff --git a/docs/storybook/main.06ab75487992f28c2e8a.bundle.js b/docs/storybook/main.06ab75487992f28c2e8a.bundle.js deleted file mode 100644 index 1c9918cdb..000000000 --- a/docs/storybook/main.06ab75487992f28c2e8a.bundle.js +++ /dev/null @@ -1,2 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[0],{100:function(module,__webpack_exports__,__webpack_require__){"use strict";var react=__webpack_require__(0),react_default=__webpack_require__.n(react),FormGroup=__webpack_require__(88),Label=__webpack_require__(89),InputGroup=__webpack_require__(511),Input=__webpack_require__(71),DateTime=__webpack_require__(366),DateTime_default=__webpack_require__.n(DateTime),lodash=__webpack_require__(16),moment=__webpack_require__(9),moment_default=__webpack_require__.n(moment),reactTextMask=__webpack_require__(278),reactTextMask_default=__webpack_require__.n(reactTextMask);function combineFormat(dateFormat,timeFormat){if(!1!==dateFormat&&!1!==timeFormat)return`${dateFormat} ${timeFormat}`;if(!1!==dateFormat)return dateFormat;if(!1!==timeFormat)return timeFormat;throw new Error("DateTimeInput: dateFormat and timeFormat cannot both be false")}function formatToMask(dateFormat,timeFormat){const dateMask=function dateFormatToMask(dateFormat){if(!1===dateFormat)return[];const separator=function extractSeparator(dateFormat){if(dateFormat.includes("-"))return"-";if(dateFormat.includes("/"))return"/";if(dateFormat.includes("."))return".";throw new Error("DateTimeInput: cannot extract separator from dateFormat")}(dateFormat);return dateFormat.split("").map(char=>char===separator?separator:/\d/)}(dateFormat),timeMask=function timeFormatToMask(timeFormat){if(!1===timeFormat)return[];return timeFormat.split("").map(char=>":"===char?":":/\d/)}(timeFormat),dateMaskIsDefined=dateMask.length>0;return dateMaskIsDefined&&timeMask.length>0?[...dateMask," ",...timeMask]:dateMaskIsDefined?dateMask:timeMask}var withJarb=__webpack_require__(33),utils=__webpack_require__(55),translation=__webpack_require__(21);function useValue(defaultValue){return Object(react.useState)(defaultValue)}try{useValue.displayName="useValue",useValue.__docgenInfo={description:"",displayName:"useValue",props:{toString:{defaultValue:null,description:"Returns a string representation of a string.\nReturns a string representation of an object.",name:"toString",required:!1,type:{name:"(() => string) | (() => string)"}},valueOf:{defaultValue:null,description:"Returns the primitive value of the specified object.\n@return Unix timestamp in milliseconds",name:"valueOf",required:!1,type:{name:"(() => string) | (() => number)"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/form/DateTimeInput/DateTimeModal/useValue.ts#useValue"]={docgenInfo:useValue.__docgenInfo,name:"useValue",path:"src/form/DateTimeInput/DateTimeModal/useValue.ts#useValue"})}catch(__react_docgen_typescript_loader_error){}var OpenCloseModal=__webpack_require__(123);function DateTimeModal(props){const{isOpen:isOpen,onClose:onClose,onSave:onSave,label:label,dateFormat:dateFormat,timeFormat:timeFormat,locale:locale,text:text={save:Object(translation.a)({key:"DateTimeModal.SELECT",fallback:"Select"})}}=props,isDateAllowed=Object(lodash.get)(props,"isDateAllowed",Object(lodash.constant)(!0)),[value,setValue]=useValue(props.defaultValue?moment_default()(props.defaultValue):"");return react_default.a.createElement(OpenCloseModal.a,{isOpen:isOpen,onClose:onClose,onSave:()=>onSave(value),label:label,text:text,size:"sm",className:"date-time-modal"},react_default.a.createElement(DateTime_default.a,{input:!1,open:!0,closeOnSelect:!1,onChange:x=>setValue(x),value:value,dateFormat:dateFormat,timeFormat:timeFormat,locale:locale,isValidDate:(date,current)=>isDateAllowed(date,current)}))}try{DateTimeModal.displayName="DateTimeModal",DateTimeModal.__docgenInfo={description:"",displayName:"DateTimeModal",props:{isOpen:{defaultValue:null,description:"Whether or not the modal is open.",name:"isOpen",required:!0,type:{name:"boolean"}},onClose:{defaultValue:null,description:"Callback for when the modal should close.",name:"onClose",required:!0,type:{name:"() => void"}},label:{defaultValue:null,description:"The label of the form element.",name:"label",required:!1,type:{name:"any"}},onSave:{defaultValue:null,description:"Callback for when the form element changes.",name:"onSave",required:!0,type:{name:"(value: string | Moment) => void"}},defaultValue:{defaultValue:null,description:"The value that the form element currently has.",name:"defaultValue",required:!1,type:{name:"Date"}},dateFormat:{defaultValue:null,description:"The format for the date, follows Moment.js format.\n\nAt least a DateFormat or TimeFormat should be defined, otherwise\nan error occurs.\n@see https://momentjs.com/docs/#/displaying/format/",name:"dateFormat",required:!0,type:{name:"DateFormat"}},timeFormat:{defaultValue:null,description:"The format for the time, follows Moment.js format.\n\nAt least a TimeFormat or DateFormat should be defined, otherwise\nan error occurs.\n@see https://momentjs.com/docs/#/displaying/format/",name:"timeFormat",required:!0,type:{name:"DateFormat"}},locale:{defaultValue:null,description:"Optionally the locale moment js should use.",name:"locale",required:!1,type:{name:"string"}},isDateAllowed:{defaultValue:null,description:"Optional Callback which returns whether a date is selectable.\nIs ran for every date which is displayed. By default every\ndate can be selected.",name:"isDateAllowed",required:!1,type:{name:"any"}},text:{defaultValue:null,description:"Optionally customized text within the component.\nThis text should already be translated.",name:"text",required:!1,type:{name:"Text"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/form/DateTimeInput/DateTimeModal/DateTimeModal.tsx#DateTimeModal"]={docgenInfo:DateTimeModal.__docgenInfo,name:"DateTimeModal",path:"src/form/DateTimeInput/DateTimeModal/DateTimeModal.tsx#DateTimeModal"})}catch(__react_docgen_typescript_loader_error){}var classnames=__webpack_require__(8),classnames_default=__webpack_require__.n(classnames);var Addon=__webpack_require__(234);function DateTimeInput(props){const[hasFormatError,setHasFormatError]=function useHasFormatError(){return Object(react.useState)(!1)}(),[isModalOpen,setIsModalOpen]=function useIsModalOpen(){return Object(react.useState)(!1)}(),{id:id,label:label,placeholder:placeholder,valid:valid,onFocus:onFocus,dateFormat:dateFormat,timeFormat:timeFormat,color:color,value:value,error:error,locale:locale,mode:mode="default",text:text,className:className=""}=props,isDateAllowed=Object(lodash.get)(props,"isDateAllowed",Object(lodash.constant)(!0));if(!dateFormat&&!timeFormat)throw new Error("DateTimeInput: dateFormat and timeFormat cannot both be false. This is a programmer error.");function onChange(value){const{onChange:onChange,onBlur:onBlur}=props;if("string"==typeof value)if(function isDate(value,dateFormat,timeFormat){return!value.includes("_")&&moment_default()(value.trim(),combineFormat(dateFormat,timeFormat)).isValid()}(value,dateFormat,timeFormat)){onChange(moment_default()(value.trim(),combineFormat(dateFormat,timeFormat)).toDate()),setHasFormatError(!1)}else onChange(null),setHasFormatError(!Object(lodash.isEmpty)(value));else onChange(value.toDate()),Object(utils.a)(onBlur),setHasFormatError(!1);setIsModalOpen(!1)}const formGroupClassName=classnames_default()("date-time-input",className,{"with-modal":"modal"===mode});return react_default.a.createElement(FormGroup.a,{className:formGroupClassName,color:color},label?react_default.a.createElement(Label.a,{for:id},label," ",react_default.a.createElement("span",{className:`date-time-input-format ${value&&hasFormatError?"text-danger":"text-muted"}`},"(",combineFormat(dateFormat,timeFormat),")")):null,react_default.a.createElement(DateTime_default.a,{inputProps:{mask:formatToMask(dateFormat,timeFormat),placeholder:placeholder,invalid:!1===valid||hasFormatError},open:"modal"!==mode&&void 0,renderInput:props=>"modal"===mode?maskedInputGroup(props,()=>setIsModalOpen(!0)):maskedInput(props),onChange:onChange,onFocus:onFocus,value:value,dateFormat:dateFormat,timeFormat:timeFormat,closeOnSelect:!0,locale:locale,isValidDate:(date,current)=>isDateAllowed(date,current)}),error,"modal"===mode?react_default.a.createElement(DateTimeModal,{isOpen:isModalOpen,onClose:()=>setIsModalOpen(!1),onSave:onChange,dateFormat:dateFormat,timeFormat:timeFormat,defaultValue:value,isDateAllowed:isDateAllowed,label:placeholder,locale:locale,text:text}):null)}__webpack_require__.d(__webpack_exports__,"b",(function(){return DateTimeInput})),__webpack_require__.d(__webpack_exports__,"a",(function(){return JarbDateTimeInput}));const JarbDateTimeInput=Object(withJarb.a)(DateTimeInput);function maskedInput(props){return react_default.a.createElement(reactTextMask_default.a,Object.assign({},props,{render:reactStrapInput}))}function maskedInputGroup(props,onClick){return react_default.a.createElement(InputGroup.a,null,react_default.a.createElement(reactTextMask_default.a,Object.assign({},props,{render:reactStrapInput})),react_default.a.createElement(Addon.a,{position:"right",onClick:onClick,icon:"calendar_today"}))}function reactStrapInput(ref,props){return react_default.a.createElement(Input.a,Object.assign({innerRef:ref},props))}try{DateTimeInput.displayName="DateTimeInput",DateTimeInput.__docgenInfo={description:"DateTimeInput is a form element which allows the user to select:\ndate and times, times, and dates.",displayName:"DateTimeInput",props:{id:{defaultValue:null,description:"The id of the form element.",name:"id",required:!0,type:{name:"string"}},label:{defaultValue:null,description:"The label of the form element.",name:"label",required:!1,type:{name:"any"}},placeholder:{defaultValue:null,description:"The placeholder of the form element.",name:"placeholder",required:!1,type:{name:"string"}},value:{defaultValue:null,description:"The value that the form element currently has.",name:"value",required:!1,type:{name:"Date"}},dateFormat:{defaultValue:null,description:"The format for the date, follows Moment.js format.\n\nAt least a DateFormat or TimeFormat should be defined, otherwise\nan error occurs.\n@see https://momentjs.com/docs/#/displaying/format/",name:"dateFormat",required:!0,type:{name:"DateFormat"}},timeFormat:{defaultValue:null,description:"The format for the time, follows Moment.js format.\n\nAt least a TimeFormat or DateFormat should be defined, otherwise\nan error occurs.\n@see https://momentjs.com/docs/#/displaying/format/",name:"timeFormat",required:!0,type:{name:"DateFormat"}},isDateAllowed:{defaultValue:null,description:"Optional Callback which returns whether a date is selectable.\nIs ran for every date which is displayed. By default every\ndate can be selected.",name:"isDateAllowed",required:!1,type:{name:"IsDateAllowed"}},onChange:{defaultValue:null,description:"Callback for when the form element changes.",name:"onChange",required:!0,type:{name:"(value: Date) => void"}},onBlur:{defaultValue:null,description:"Optional callback for when the form element is blurred.",name:"onBlur",required:!1,type:{name:"() => void"}},onFocus:{defaultValue:null,description:"Optional callback for when the form element is focused.",name:"onFocus",required:!1,type:{name:"() => void"}},error:{defaultValue:null,description:"Optionally the error message to render.",name:"error",required:!1,type:{name:"any"}},color:{defaultValue:null,description:"Optionally the color of the FormGroup.",name:"color",required:!1,type:{name:"Color"}},valid:{defaultValue:null,description:"Whether or not the form element is currently valid.",name:"valid",required:!1,type:{name:"boolean"}},locale:{defaultValue:null,description:"Optionally the locale moment js should use.",name:"locale",required:!1,type:{name:"string"}},className:{defaultValue:null,description:"Optional extra CSS class you want to add to the component.\nUseful for styling the component.",name:"className",required:!1,type:{name:"string"}},mode:{defaultValue:null,description:"Whether or not the date picker should be displayed in a modal.\nDefaults to opening in a tooltip-like layout.",name:"mode",required:!1,type:{name:'"modal" | "default"'}},text:{defaultValue:null,description:"Optionally customized text within the DateTimeModal component.\nThis text should already be translated.",name:"text",required:!1,type:{name:"any"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/form/DateTimeInput/DateTimeInput.tsx#DateTimeInput"]={docgenInfo:DateTimeInput.__docgenInfo,name:"DateTimeInput",path:"src/form/DateTimeInput/DateTimeInput.tsx#DateTimeInput"})}catch(__react_docgen_typescript_loader_error){}try{maskedInput.displayName="maskedInput",maskedInput.__docgenInfo={description:"",displayName:"maskedInput",props:{}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/form/DateTimeInput/DateTimeInput.tsx#maskedInput"]={docgenInfo:maskedInput.__docgenInfo,name:"maskedInput",path:"src/form/DateTimeInput/DateTimeInput.tsx#maskedInput"})}catch(__react_docgen_typescript_loader_error){}try{maskedInputGroup.displayName="maskedInputGroup",maskedInputGroup.__docgenInfo={description:"",displayName:"maskedInputGroup",props:{}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/form/DateTimeInput/DateTimeInput.tsx#maskedInputGroup"]={docgenInfo:maskedInputGroup.__docgenInfo,name:"maskedInputGroup",path:"src/form/DateTimeInput/DateTimeInput.tsx#maskedInputGroup"})}catch(__react_docgen_typescript_loader_error){}try{JarbDateTimeInput.displayName="JarbDateTimeInput",JarbDateTimeInput.__docgenInfo={description:"Variant of the DateTimeInput which can be used in a Jarb context.",displayName:"JarbDateTimeInput",props:{}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/form/DateTimeInput/DateTimeInput.tsx#JarbDateTimeInput"]={docgenInfo:JarbDateTimeInput.__docgenInfo,name:"JarbDateTimeInput",path:"src/form/DateTimeInput/DateTimeInput.tsx#JarbDateTimeInput"})}catch(__react_docgen_typescript_loader_error){}},101:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return AsyncContent}));var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),_ContentState_ContentState__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(97),_utilities_translation_translation__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(21),_Button_Button__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(3);function AsyncContent(props){const{state:state,text:text={},showRetryButton:showRetryButton=!0,isEmpty:isEmpty,emptyContent:emptyContent}=props;return state.isLoading?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ContentState_ContentState__WEBPACK_IMPORTED_MODULE_1__.a,{mode:"loading",title:Object(_utilities_translation_translation__WEBPACK_IMPORTED_MODULE_2__.a)({key:"AsyncContent.LOADING.TITLE",fallback:"Loading...",overrideText:text.loading})}):state.isFulfilled?isEmpty&&isEmpty(state.data)?emptyContent?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment,null,emptyContent(state.data)):react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ContentState_ContentState__WEBPACK_IMPORTED_MODULE_1__.a,{mode:"empty",title:Object(_utilities_translation_translation__WEBPACK_IMPORTED_MODULE_2__.a)({key:"AsyncContent.EMPTY.TITLE",fallback:"No results found",overrideText:text.empty})}):react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment,null,props.children(state.data)):(console.error(state.error),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ContentState_ContentState__WEBPACK_IMPORTED_MODULE_1__.a,{mode:"error",title:Object(_utilities_translation_translation__WEBPACK_IMPORTED_MODULE_2__.a)({key:"AsyncContent.ERROR.TITLE",fallback:"Oops something went wrong!",overrideText:text.error})},showRetryButton?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Button_Button__WEBPACK_IMPORTED_MODULE_3__.a,{icon:"refresh",onClick:()=>state.reload()},Object(_utilities_translation_translation__WEBPACK_IMPORTED_MODULE_2__.a)({key:"AsyncContent.ERROR.RETRY",fallback:"Retry",overrideText:text.retry})):null))}try{AsyncContent.displayName="AsyncContent",AsyncContent.__docgenInfo={description:"AsyncContent is a component which can be used to render the\nresult of a call to `useAsync` from `react-async`.\n\nIt has the following behaviors:\n\n1. When the state is loading it shows a `ContentState` in the `loading` mode.\n\n2. When an error occurs it shows a `ContentState` in the `error` mode.\n By default it will then show a `Retry` button allowing the user\n to try again.\n\n3. When the state has loaded successfully it will render the `children`\n render function and it provides the `state.data` for you to render.\n\n4. When the state has loaded successfully will ask via the `isEmpty`\n callback if you consider the `state.data` empty. It will then\n render the `emptyContent` when defined or by default show\n a `ContentState` in the `empty` mode.\n\nWith these behaviors you ensure that you always handle the error and\nloading state when using `useAsync`.",displayName:"AsyncContent",props:{children:{defaultValue:null,description:"Render function which takes the `data` from the `useAsync`'s\n`state` when the promise is fulfilled, and expects a you\nto render content.",name:"children",required:!0,type:{name:"(data: T) => any"}},state:{defaultValue:null,description:"Result from calling `useAsync` from `react-async`.",name:"state",required:!0,type:{name:"BaseAsyncState>"}},text:{defaultValue:null,description:"Optionally customized text within the component.\nThis text should already be translated.",name:"text",required:!1,type:{name:"Text"}},showRetryButton:{defaultValue:{value:"true"},description:"Optionally whether or not to show a retry button when the\nerror state occurs. Defaults to `true`.",name:"showRetryButton",required:!1,type:{name:"boolean"}},isEmpty:{defaultValue:null,description:"An optional callback which gets called when the data has\nloaded. When `isEmpty` returns `true` the `emptyContent` is\nrendered.",name:"isEmpty",required:!1,type:{name:"(data: T) => boolean"}},emptyContent:{defaultValue:null,description:"Optionally when `isEmpty` returns `true` what content to render.\n\nDefaults to rendering a `ContentState` in the `empty` mode.",name:"emptyContent",required:!1,type:{name:"(data: T) => any"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/core/AsyncContent/AsyncContent.tsx#AsyncContent"]={docgenInfo:AsyncContent.__docgenInfo,name:"AsyncContent",path:"src/core/AsyncContent/AsyncContent.tsx#AsyncContent"})}catch(__react_docgen_typescript_loader_error){}},102:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return Avatar}));var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),classnames__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(8),classnames__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_1__),_Tooltip_Tooltip__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(30);function Avatar({size:size,className:className,alt:alt,src:src,children:children}){const sizeClass=size?`avatar-${size}`:null,classes=classnames__WEBPACK_IMPORTED_MODULE_1___default()("avatar",sizeClass,className);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span",{className:classes},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tooltip_Tooltip__WEBPACK_IMPORTED_MODULE_2__.a,{placement:"top",content:alt,distance:tooltipDistanceFromSize(size)},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span",{className:"img-placeholder"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("img",{alt:alt,src:src})),children))}function tooltipDistanceFromSize(size){switch(size){case"lg":return 42;case"md":return 32;case"sm":return 22}return 7}try{Avatar.displayName="Avatar",Avatar.__docgenInfo={description:"Avatar is a component which shows a circular image with any element underneath.\nUse it for instance for showing the profile image of a logged-in user.",displayName:"Avatar",props:{src:{defaultValue:null,description:"Image URL to show as avatar.",name:"src",required:!0,type:{name:"string"}},children:{defaultValue:null,description:"Element underneath the image.",name:"children",required:!1,type:{name:"ReactNode"}},alt:{defaultValue:null,description:"Text that will be shown upon hovering over the image.",name:"alt",required:!0,type:{name:"string"}},size:{defaultValue:{value:"md"},description:"Optional size.",name:"size",required:!1,type:{name:"BootstrapSize"}},className:{defaultValue:null,description:"Optional extra CSS class you want to add to the component.\nUseful for styling the component.",name:"className",required:!1,type:{name:"string"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/core/Avatar/Avatar.tsx#Avatar"]={docgenInfo:Avatar.__docgenInfo,name:"Avatar",path:"src/core/Avatar/Avatar.tsx#Avatar"})}catch(__react_docgen_typescript_loader_error){}},104:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return SearchInput}));var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),lodash__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(16),reactstrap__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(511),reactstrap__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(938),reactstrap__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(71),reactstrap__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(88),reactstrap__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(89),_Icon__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__(63),__rest=function(s,e){var t={};for(var p in s)Object.prototype.hasOwnProperty.call(s,p)&&e.indexOf(p)<0&&(t[p]=s[p]);if(null!=s&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(p=Object.getOwnPropertySymbols(s);ihandleChange.current(event.target.value),onKeyUp:handleKeyUp,placeholder:placeholder},rest);return showIcon?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_2__.a,{className:className,size:size},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_3__.a,{addonType:"prepend"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_7__.a,{icon:"search"})),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_4__.a,Object.assign({},inputProps))):react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_4__.a,Object.assign({className:className},inputProps))}Object(react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{handleChange.current=Object(lodash__WEBPACK_IMPORTED_MODULE_1__.debounce)(onChange,debounce,debounceSettings)},[onChange,debounce,debounceSettings]);const searchInputWrapper=children?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment,null,children(getInput(),{setValue:function setValue(value){inputRef.current&&(inputRef.current.value=value,onChange(value),handleChange.current.cancel())}})):getInput();return"label"in props?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_5__.a,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_6__.a,{for:props.id},props.label),searchInputWrapper):searchInputWrapper}try{SearchInput.displayName="SearchInput",SearchInput.__docgenInfo={description:"SearchInput is a component which shows an input field which has\nthe onChange debounced by a number of milliseconds. Useful for\nwhen you want to run search queries on your back-end, and you\ndon't want to spam the back-end for every keystroke.\n\nFor the debounce logic it uses lodash.",displayName:"SearchInput",props:{showIcon:{defaultValue:null,description:"Whether or not to show a magnifying glass icon.\n\nDefaults to true.\nWhether or not to show a magnifying glass icon.\n\nDefaults to true.",name:"showIcon",required:!1,type:{name:"boolean"}},size:{defaultValue:null,description:"Optional size you want to give the icon.\nOptional size you want to give the icon.",name:"size",required:!1,type:{name:"BootstrapSize"}},id:{defaultValue:null,description:"The id of the form element.",name:"id",required:!1,type:{name:"any"}},label:{defaultValue:null,description:"The label of the form element.",name:"label",required:!1,type:{name:"any"}},debounce:{defaultValue:null,description:"Optionally the number of milliseconds to debounce the onChange.\n\nDefaults to 500 milliseconds.",name:"debounce",required:!1,type:{name:"number"}},debounceSettings:{defaultValue:null,description:"Optionally the debounce settings. As defined by lodash\nhttps://lodash.com/docs/4.17.15#debounce.",name:"debounceSettings",required:!1,type:{name:"DebounceSettings"}},placeholder:{defaultValue:null,description:"The placeholder of the form element.",name:"placeholder",required:!1,type:{name:"string"}},value:{defaultValue:null,description:"The default value that the form element currently has.\nIn the future this will be called `defaultValue` instead\nof `value`.",name:"value",required:!0,type:{name:"string"}},onChange:{defaultValue:null,description:"Called when the value changes after the debounce period.",name:"onChange",required:!0,type:{name:"(value: string) => void"}},className:{defaultValue:null,description:"Optional extra CSS class you want to add to the component.\nUseful for styling the component.",name:"className",required:!1,type:{name:"string"}},children:{defaultValue:null,description:"Optionally you can use the `children` prop to manipulate the\nvalue rendered inside of the `SearchInput`.\n\nYou will be called with the `searchInput`, which you must render, and\nan API object, which you can use to manually alter the value.\n\nThe `setValue` in the API will then cancel any active debounce.\n\nThis has to be done via this unconventional api because the\n`SearchInput` has to use an uncontrolled so it can\ndebounce the value. If you would change the `props.value` from\noutside this component nothing would normally happen.",name:"children",required:!1,type:{name:"(searchInput: any, api: SearchInputApi) => any"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/core/SearchInput/SearchInput.tsx#SearchInput"]={docgenInfo:SearchInput.__docgenInfo,name:"SearchInput",path:"src/core/SearchInput/SearchInput.tsx#SearchInput"})}catch(__react_docgen_typescript_loader_error){}},105:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"b",(function(){return ValuePicker})),__webpack_require__.d(__webpack_exports__,"a",(function(){return JarbValuePicker}));var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),_withJarb_withJarb__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(33),_ModalPicker_multiple_ModalPickerMultiple__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(98),_CheckboxMultipleSelect_CheckboxMultipleSelect__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(115),_RadioGroup_RadioGroup__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(51),_Select_Select__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(79),_ModalPicker_single_ModalPickerSingle__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(80),_core_Spinner_Spinner__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__(69),_utilities_translation_translation__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__(21),__awaiter=function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){result.done?resolve(result.value):function adopt(value){return value instanceof P?value:new P((function(resolve){resolve(value)}))}(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))},__rest=function(s,e){var t={};for(var p in s)Object.prototype.hasOwnProperty.call(s,p)&&e.indexOf(p)<0&&(t[p]=s[p]);if(null!=s&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(p=Object.getOwnPropertySymbols(s);i{!function boot(){return __awaiter(this,void 0,void 0,(function*(){const page=yield fetchOptions("",1,1);setTotalElements(page.totalElements),setBooting(!1)}))}()},[fetchOptions]),booting)return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_Spinner_Spinner__WEBPACK_IMPORTED_MODULE_7__.a,{color:"black",size:16})," ",react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span",null,Object(_utilities_translation_translation__WEBPACK_IMPORTED_MODULE_8__.a)({key:"ValuePicker.LOADING",fallback:"Loading...",overrideText:text.loadingMessage})));if(props.multiple){const{fetchOptions:fetchOptions,multiple:multiple}=props,rest=__rest(props,["fetchOptions","multiple"]);return totalElements<11?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_CheckboxMultipleSelect_CheckboxMultipleSelect__WEBPACK_IMPORTED_MODULE_3__.b,Object.assign({options:()=>fetchOptions("",1,10)},rest)):react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ModalPicker_multiple_ModalPickerMultiple__WEBPACK_IMPORTED_MODULE_2__.b,Object.assign({fetchOptions:fetchOptions},rest))}{const{fetchOptions:fetchOptions,multiple:multiple}=props,rest=__rest(props,["fetchOptions","multiple"]);return totalElements<4?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_RadioGroup_RadioGroup__WEBPACK_IMPORTED_MODULE_4__.b,Object.assign({options:()=>fetchOptions("",1,3),canClear:!0},rest)):totalElements<11?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Select_Select__WEBPACK_IMPORTED_MODULE_5__.b,Object.assign({options:()=>fetchOptions("",1,10)},rest)):react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ModalPicker_single_ModalPickerSingle__WEBPACK_IMPORTED_MODULE_6__.b,Object.assign({fetchOptions:fetchOptions},rest))}}const JarbValuePicker=Object(_withJarb_withJarb__WEBPACK_IMPORTED_MODULE_1__.a)(ValuePicker);try{ValuePicker.displayName="ValuePicker",ValuePicker.__docgenInfo={description:"The `ValuePicker` component is an abstraction which automatically\nselects the best component to use when the user has to select a value\nfrom a pre-defined list.\n\nThis is the decision matrix:\n\n```\n| multiple | items <=3 | items <= 10 | items > 10\n| true | CheckboxMultipleSelect | CheckboxMultipleSelect | ModalPickerMultiple\n| false | RadioGroup | Select | ModalPickerSingle\n```\n\n`ValuePicker` starts in a booting state in which a spinner is shown.\nDuring the booting state it will call `FetchOptionsCallback` and ask\nfor a `Page` of size `1` so it can get the `totalElements`.",displayName:"ValuePicker",props:{id:{defaultValue:null,description:"The id of the form element.\nThe id of the form element.",name:"id",required:!1,type:{name:"string"}},label:{defaultValue:null,description:"The label of the form element.\nThe label of the form element.",name:"label",required:!1,type:{name:"any"}},multiple:{defaultValue:null,description:"Whether or not multiple values can be selected.\nWhether or not multiple values can be selected.",name:"multiple",required:!0,type:{name:"boolean"}},onChange:{defaultValue:null,description:"Callback for when the form element changes.\nCallback for when the form element changes.",name:"onChange",required:!0,type:{name:"((value: T) => void) | ((value: T[]) => void)"}},value:{defaultValue:null,description:"The value that the form element currently has.\nThe value that the form element currently has.",name:"value",required:!1,type:{name:"T | T[]"}},placeholder:{defaultValue:null,description:"The placeholder of the form element.",name:"placeholder",required:!0,type:{name:"string"}},canSearch:{defaultValue:null,description:"Optionally whether or not the user can search.\nDefaults to `true`.",name:"canSearch",required:!1,type:{name:"boolean"}},fetchOptions:{defaultValue:null,description:"Callback to fetch the options to display to the user.",name:"fetchOptions",required:!0,type:{name:"FetchOptionsCallback"}},optionForValue:{defaultValue:null,description:"Callback to convert an value of type T to an option to show\nto the user.",name:"optionForValue",required:!0,type:{name:"OptionForValue"}},isOptionEqual:{defaultValue:null,description:"Optional callback which is used to determine if two options\nof type T are equal.\n\nWhen `isOptionEqual` is not defined the outcome of `optionForValue`\nis used to test equality.",name:"isOptionEqual",required:!1,type:{name:"OptionEqual"}},onBlur:{defaultValue:null,description:"Optional callback for when the form element is blurred.",name:"onBlur",required:!1,type:{name:"() => void"}},error:{defaultValue:null,description:"Optionally the error message to render.",name:"error",required:!1,type:{name:"any"}},color:{defaultValue:null,description:"Optionally the color of the FormGroup.",name:"color",required:!1,type:{name:"Color"}},className:{defaultValue:null,description:"Optional extra CSS class you want to add to the component.\nUseful for styling the component.",name:"className",required:!1,type:{name:"string"}},text:{defaultValue:null,description:"Optionally customized text within the component.\nThis text should already be translated.",name:"text",required:!1,type:{name:"Text"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/form/ValuePicker/ValuePicker.tsx#ValuePicker"]={docgenInfo:ValuePicker.__docgenInfo,name:"ValuePicker",path:"src/form/ValuePicker/ValuePicker.tsx#ValuePicker"})}catch(__react_docgen_typescript_loader_error){}try{JarbValuePicker.displayName="JarbValuePicker",JarbValuePicker.__docgenInfo={description:"Variant of the ValuePicker which can be used in a Jarb context.",displayName:"JarbValuePicker",props:{}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/form/ValuePicker/ValuePicker.tsx#JarbValuePicker"]={docgenInfo:JarbValuePicker.__docgenInfo,name:"JarbValuePicker",path:"src/form/ValuePicker/ValuePicker.tsx#JarbValuePicker"})}catch(__react_docgen_typescript_loader_error){}},109:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return Loading}));var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),classnames__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(8),classnames__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_1__),_Spinner_Spinner__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(69),_utilities_translation_translation__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(21);function Loading({children:children,className:className,text:text={}}){const classes=classnames__WEBPACK_IMPORTED_MODULE_1___default()("d-flex",className);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:classes},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Spinner_Spinner__WEBPACK_IMPORTED_MODULE_2__.a,{className:"align-self-center",color:"black",size:16}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span",{className:"ml-1"},children||Object(_utilities_translation_translation__WEBPACK_IMPORTED_MODULE_3__.a)({key:"Loading.LOADING",fallback:"Loading...",overrideText:text.loading})))}try{Loading.displayName="Loading",Loading.__docgenInfo={description:"",displayName:"Loading",props:{text:{defaultValue:{value:"{}"},description:"Optionally customized text within the component.\nThis text should already be translated.",name:"text",required:!1,type:{name:"Text"}},className:{defaultValue:null,description:"Optional extra CSS class you want to add to the component.\nUseful for styling the component.",name:"className",required:!1,type:{name:"string"}},children:{defaultValue:null,description:"Optional text to show next to the loading indicator.",name:"children",required:!1,type:{name:"any"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/core/Loading/Loading.tsx#Loading"]={docgenInfo:Loading.__docgenInfo,name:"Loading",path:"src/core/Loading/Loading.tsx#Loading"})}catch(__react_docgen_typescript_loader_error){}},1093:function(module,exports){},110:function(module,__webpack_exports__,__webpack_require__){"use strict";var react=__webpack_require__(0),react_default=__webpack_require__.n(react),lodash=__webpack_require__(16),Input=__webpack_require__(38),withJarb=__webpack_require__(33),Progress=__webpack_require__(2343),translation=__webpack_require__(21),Icon=__webpack_require__(52);function useMeterWidth(compliant){const[meterWidth,setMeterWidth]=Object(react.useState)(0);return Object(react.useEffect)(()=>{const values=Object.values(compliant),noCompliantRules=values.filter(value=>value).length,noRules=values.length;setMeterWidth(noCompliantRules/noRules*100)},[compliant,setMeterWidth]),meterWidth}try{useMeterWidth.displayName="useMeterWidth",useMeterWidth.__docgenInfo={description:"",displayName:"useMeterWidth",props:{number:{defaultValue:null,description:"",name:"number",required:!1,type:{name:"boolean"}},lowercase:{defaultValue:null,description:"",name:"lowercase",required:!1,type:{name:"boolean"}},uppercase:{defaultValue:null,description:"",name:"uppercase",required:!1,type:{name:"boolean"}},specialChar:{defaultValue:null,description:"",name:"specialChar",required:!1,type:{name:"boolean"}},minimumLength:{defaultValue:null,description:"",name:"minimumLength",required:!1,type:{name:"boolean"}},noSpace:{defaultValue:null,description:"",name:"noSpace",required:!1,type:{name:"boolean"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/form/NewPasswordInput/PasswordStrength/useMeterWidth/useMeterWidth.ts#useMeterWidth"]={docgenInfo:useMeterWidth.__docgenInfo,name:"useMeterWidth",path:"src/form/NewPasswordInput/PasswordStrength/useMeterWidth/useMeterWidth.ts#useMeterWidth"})}catch(__react_docgen_typescript_loader_error){}function hasLowercase(value){return!!value&&/(?=.*[a-z])/.test(value)}function hasUppercase(value){return!!value&&/(?=.*[A-Z])/.test(value)}function hasNumber(value){return!!value&&/(?=.*[0-9])/.test(value)}function hasSpecialChar(value){return!!value&&/(?=.*[@#$%^&+=.,?!])/.test(value)}function hasMinimumLength(length,value){return!!value&&new RegExp(`.{${length},}`).test(value)}function hasNoSpaces(value){return/^\S*$/.test(null!=value?value:"")}try{hasLowercase.displayName="hasLowercase",hasLowercase.__docgenInfo={description:"",displayName:"hasLowercase",props:{toString:{defaultValue:null,description:"Returns a string representation of a string.",name:"toString",required:!1,type:{name:"() => string"}},charAt:{defaultValue:null,description:"Returns the character at the specified index.\n@param pos The zero-based index of the desired character.",name:"charAt",required:!0,type:{name:"(pos: number) => string"}},charCodeAt:{defaultValue:null,description:"Returns the Unicode value of the character at the specified location.\n@param index The zero-based index of the desired character. If there is no character at the specified index, NaN is returned.",name:"charCodeAt",required:!0,type:{name:"(index: number) => number"}},concat:{defaultValue:null,description:"Returns a string that contains the concatenation of two or more strings.\n@param strings The strings to append to the end of the string.",name:"concat",required:!0,type:{name:"(...strings: string[]) => string"}},indexOf:{defaultValue:null,description:"Returns the position of the first occurrence of a substring.\n@param searchString The substring to search for in the string\n@param position The index at which to begin searching the String object. If omitted, search starts at the beginning of the string.",name:"indexOf",required:!0,type:{name:"(searchString: string, position?: number) => number"}},lastIndexOf:{defaultValue:null,description:"Returns the last occurrence of a substring in the string.\n@param searchString The substring to search for.\n@param position The index at which to begin searching. If omitted, the search begins at the end of the string.",name:"lastIndexOf",required:!0,type:{name:"(searchString: string, position?: number) => number"}},localeCompare:{defaultValue:null,description:"Determines whether two strings are equivalent in the current locale.\nDetermines whether two strings are equivalent in the current or specified locale.\n@param that String to compare to target string\n@param that String to compare to target string\n@param locales A locale string or array of locale strings that contain one or more language or locale tags. If you include more than one locale string, list them in descending order of priority so that the first entry is the preferred locale. If you omit this parameter, the default locale of the JavaScript runtime is used. This parameter must conform to BCP 47 standards; see the Intl.Collator object for details.\n@param options An object that contains one or more properties that specify comparison options. see the Intl.Collator object for details.",name:"localeCompare",required:!0,type:{name:"{ (that: string): number; (that: string, locales?: string | string[], options?: CollatorOptions): number; }"}},match:{defaultValue:null,description:"Matches a string with a regular expression, and returns an array containing the results of that search.\nMatches a string an object that supports being matched against, and returns an array containing the results of that search.\n@param regexp A variable name or string literal containing the regular expression pattern and flags.\n@param matcher An object that supports being matched against.",name:"match",required:!0,type:{name:"{ (regexp: string | RegExp): RegExpMatchArray; (matcher: { [Symbol.match](string: string): RegExpMatchArray; }): RegExpMatchArray; }"}},replace:{defaultValue:null,description:"Replaces text in a string, using a regular expression or search string.\nReplaces text in a string, using a regular expression or search string.\nReplaces text in a string, using an object that supports replacement within a string.\nReplaces text in a string, using an object that supports replacement within a string.\n@param searchValue A string to search for.\n@param replaceValue A string containing the text to replace for every successful match of searchValue in this string.\n@param searchValue A string to search for.\n@param replacer A function that returns the replacement text.\n@param searchValue A object can search for and replace matches within a string.\n@param replaceValue A string containing the text to replace for every successful match of searchValue in this string.\n@param searchValue A object can search for and replace matches within a string.\n@param replacer A function that returns the replacement text.",name:"replace",required:!0,type:{name:"{ (searchValue: string | RegExp, replaceValue: string): string; (searchValue: string | RegExp, replacer: (substring: string, ...args: any[]) => string): string; (searchValue: { ...; }, replaceValue: string): string; (searchValue: { ...; }, replacer: (substring: string, ...args: any[]) => string): string; }"}},search:{defaultValue:null,description:"Finds the first substring match in a regular expression search.\nFinds the first substring match in a regular expression search.\n@param regexp The regular expression pattern and applicable flags.\n@param searcher An object which supports searching within a string.",name:"search",required:!0,type:{name:"{ (regexp: string | RegExp): number; (searcher: { [Symbol.search](string: string): number; }): number; }"}},slice:{defaultValue:null,description:"Returns a section of a string.\n@param start The index to the beginning of the specified portion of stringObj.\n@param end The index to the end of the specified portion of stringObj. The substring includes the characters up to, but not including, the character indicated by end.\rIf this value is not specified, the substring continues to the end of stringObj.",name:"slice",required:!0,type:{name:"(start?: number, end?: number) => string"}},split:{defaultValue:null,description:"Split a string into substrings using the specified separator and return them as an array.\nSplit a string into substrings using the specified separator and return them as an array.\n@param separator A string that identifies character or characters to use in separating the string. If omitted, a single-element array containing the entire string is returned.\n@param limit A value used to limit the number of elements returned in the array.\n@param splitter An object that can split a string.\n@param limit A value used to limit the number of elements returned in the array.",name:"split",required:!0,type:{name:"{ (separator: string | RegExp, limit?: number): string[]; (splitter: { [Symbol.split](string: string, limit?: number): string[]; }, limit?: number): string[]; }"}},substring:{defaultValue:null,description:"Returns the substring at the specified location within a String object.\n@param start The zero-based index number indicating the beginning of the substring.\n@param end Zero-based index number indicating the end of the substring. The substring includes the characters up to, but not including, the character indicated by end.\rIf end is omitted, the characters from start through the end of the original string are returned.",name:"substring",required:!0,type:{name:"(start: number, end?: number) => string"}},toLowerCase:{defaultValue:null,description:"Converts all the alphabetic characters in a string to lowercase.",name:"toLowerCase",required:!0,type:{name:"() => string"}},toLocaleLowerCase:{defaultValue:null,description:"Converts all alphabetic characters to lowercase, taking into account the host environment's current locale.",name:"toLocaleLowerCase",required:!0,type:{name:"(locales?: string | string[]) => string"}},toUpperCase:{defaultValue:null,description:"Converts all the alphabetic characters in a string to uppercase.",name:"toUpperCase",required:!0,type:{name:"() => string"}},toLocaleUpperCase:{defaultValue:null,description:"Returns a string where all alphabetic characters have been converted to uppercase, taking into account the host environment's current locale.",name:"toLocaleUpperCase",required:!0,type:{name:"(locales?: string | string[]) => string"}},trim:{defaultValue:null,description:"Removes the leading and trailing white space and line terminator characters from a string.",name:"trim",required:!0,type:{name:"() => string"}},length:{defaultValue:null,description:"Returns the length of a String object.",name:"length",required:!0,type:{name:"number"}},substr:{defaultValue:null,description:"Gets a substring beginning at the specified location and having the specified length.\n@param from The starting position of the desired substring. The index of the first character in the string is zero.\n@param length The number of characters to include in the returned substring.",name:"substr",required:!0,type:{name:"(from: number, length?: number) => string"}},valueOf:{defaultValue:null,description:"Returns the primitive value of the specified object.",name:"valueOf",required:!1,type:{name:"() => string"}},codePointAt:{defaultValue:null,description:"Returns a nonnegative integer Number less than 1114112 (0x110000) that is the code point\nvalue of the UTF-16 encoded code point starting at the string element at position pos in\r\nthe String resulting from converting this object to a String.\r\nIf there is no element at that position, the result is undefined.\r\nIf a valid UTF-16 surrogate pair does not begin at pos, the result is the code unit at pos.",name:"codePointAt",required:!0,type:{name:"(pos: number) => number"}},includes:{defaultValue:null,description:"Returns true if searchString appears as a substring of the result of converting this\nobject to a String, at one or more positions that are\r\ngreater than or equal to position; otherwise, returns false.\n@param searchString search string\n@param position If position is undefined, 0 is assumed, so as to search all of the String.",name:"includes",required:!0,type:{name:"(searchString: string, position?: number) => boolean"}},endsWith:{defaultValue:null,description:"Returns true if the sequence of elements of searchString converted to a String is the\nsame as the corresponding elements of this object (converted to a String) starting at\r\nendPosition – length(this). Otherwise returns false.",name:"endsWith",required:!0,type:{name:"(searchString: string, endPosition?: number) => boolean"}},normalize:{defaultValue:null,description:'Returns the String value result of normalizing the string into the normalization form\nnamed by form as specified in Unicode Standard Annex #15, Unicode Normalization Forms.\nReturns the String value result of normalizing the string into the normalization form\r\nnamed by form as specified in Unicode Standard Annex #15, Unicode Normalization Forms.\n@param form Applicable values: "NFC", "NFD", "NFKC", or "NFKD", If not specified default\ris "NFC"\n@param form Applicable values: "NFC", "NFD", "NFKC", or "NFKD", If not specified default\ris "NFC"',name:"normalize",required:!0,type:{name:'{ (form: "NFC" | "NFD" | "NFKC" | "NFKD"): string; (form?: string): string; }'}},repeat:{defaultValue:null,description:"Returns a String value that is made from count copies appended together. If count is 0,\nthe empty string is returned.\n@param count number of copies to append",name:"repeat",required:!0,type:{name:"(count: number) => string"}},startsWith:{defaultValue:null,description:"Returns true if the sequence of elements of searchString converted to a String is the\nsame as the corresponding elements of this object (converted to a String) starting at\r\nposition. Otherwise returns false.",name:"startsWith",required:!0,type:{name:"(searchString: string, position?: number) => boolean"}},anchor:{defaultValue:null,description:"Returns an HTML anchor element and sets the name attribute to the text value\n@param name",name:"anchor",required:!0,type:{name:"(name: string) => string"}},big:{defaultValue:null,description:"Returns a HTML element",name:"big",required:!0,type:{name:"() => string"}},blink:{defaultValue:null,description:"Returns a HTML element",name:"blink",required:!0,type:{name:"() => string"}},bold:{defaultValue:null,description:"Returns a HTML element",name:"bold",required:!0,type:{name:"() => string"}},fixed:{defaultValue:null,description:"Returns a HTML element",name:"fixed",required:!0,type:{name:"() => string"}},fontcolor:{defaultValue:null,description:"Returns a HTML element and sets the color attribute value",name:"fontcolor",required:!0,type:{name:"(color: string) => string"}},fontsize:{defaultValue:null,description:"Returns a HTML element and sets the size attribute value\nReturns a HTML element and sets the size attribute value",name:"fontsize",required:!0,type:{name:"{ (size: number): string; (size: string): string; }"}},italics:{defaultValue:null,description:"Returns an HTML element",name:"italics",required:!0,type:{name:"() => string"}},link:{defaultValue:null,description:"Returns an HTML element and sets the href attribute value",name:"link",required:!0,type:{name:"(url: string) => string"}},small:{defaultValue:null,description:"Returns a HTML element",name:"small",required:!0,type:{name:"() => string"}},strike:{defaultValue:null,description:"Returns a HTML element",name:"strike",required:!0,type:{name:"() => string"}},sub:{defaultValue:null,description:"Returns a HTML element",name:"sub",required:!0,type:{name:"() => string"}},sup:{defaultValue:null,description:"Returns a HTML element",name:"sup",required:!0,type:{name:"() => string"}},"__@iterator":{defaultValue:null,description:"Iterator",name:"__@iterator",required:!0,type:{name:"() => IterableIterator"}},padStart:{defaultValue:null,description:'Pads the current string with a given string (possibly repeated) so that the resulting string reaches a given length.\nThe padding is applied from the start (left) of the current string.\n@param maxLength The length of the resulting string once the current string has been padded.\rIf this parameter is smaller than the current string\'s length, the current string will be returned as it is.\n@param fillString The string to pad the current string with.\rIf this string is too long, it will be truncated and the left-most part will be applied.\rThe default value for this parameter is " " (U+0020).',name:"padStart",required:!0,type:{name:"(maxLength: number, fillString?: string) => string"}},padEnd:{defaultValue:null,description:'Pads the current string with a given string (possibly repeated) so that the resulting string reaches a given length.\nThe padding is applied from the end (right) of the current string.\n@param maxLength The length of the resulting string once the current string has been padded.\rIf this parameter is smaller than the current string\'s length, the current string will be returned as it is.\n@param fillString The string to pad the current string with.\rIf this string is too long, it will be truncated and the left-most part will be applied.\rThe default value for this parameter is " " (U+0020).',name:"padEnd",required:!0,type:{name:"(maxLength: number, fillString?: string) => string"}},trimLeft:{defaultValue:null,description:"Removes whitespace from the left end of a string.",name:"trimLeft",required:!0,type:{name:"() => string"}},trimRight:{defaultValue:null,description:"Removes whitespace from the right end of a string.",name:"trimRight",required:!0,type:{name:"() => string"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/form/NewPasswordInput/PasswordStrength/rules.ts#hasLowercase"]={docgenInfo:hasLowercase.__docgenInfo,name:"hasLowercase",path:"src/form/NewPasswordInput/PasswordStrength/rules.ts#hasLowercase"})}catch(__react_docgen_typescript_loader_error){}try{hasUppercase.displayName="hasUppercase",hasUppercase.__docgenInfo={description:"",displayName:"hasUppercase",props:{toString:{defaultValue:null,description:"Returns a string representation of a string.",name:"toString",required:!1,type:{name:"() => string"}},charAt:{defaultValue:null,description:"Returns the character at the specified index.\n@param pos The zero-based index of the desired character.",name:"charAt",required:!0,type:{name:"(pos: number) => string"}},charCodeAt:{defaultValue:null,description:"Returns the Unicode value of the character at the specified location.\n@param index The zero-based index of the desired character. If there is no character at the specified index, NaN is returned.",name:"charCodeAt",required:!0,type:{name:"(index: number) => number"}},concat:{defaultValue:null,description:"Returns a string that contains the concatenation of two or more strings.\n@param strings The strings to append to the end of the string.",name:"concat",required:!0,type:{name:"(...strings: string[]) => string"}},indexOf:{defaultValue:null,description:"Returns the position of the first occurrence of a substring.\n@param searchString The substring to search for in the string\n@param position The index at which to begin searching the String object. If omitted, search starts at the beginning of the string.",name:"indexOf",required:!0,type:{name:"(searchString: string, position?: number) => number"}},lastIndexOf:{defaultValue:null,description:"Returns the last occurrence of a substring in the string.\n@param searchString The substring to search for.\n@param position The index at which to begin searching. If omitted, the search begins at the end of the string.",name:"lastIndexOf",required:!0,type:{name:"(searchString: string, position?: number) => number"}},localeCompare:{defaultValue:null,description:"Determines whether two strings are equivalent in the current locale.\nDetermines whether two strings are equivalent in the current or specified locale.\n@param that String to compare to target string\n@param that String to compare to target string\n@param locales A locale string or array of locale strings that contain one or more language or locale tags. If you include more than one locale string, list them in descending order of priority so that the first entry is the preferred locale. If you omit this parameter, the default locale of the JavaScript runtime is used. This parameter must conform to BCP 47 standards; see the Intl.Collator object for details.\n@param options An object that contains one or more properties that specify comparison options. see the Intl.Collator object for details.",name:"localeCompare",required:!0,type:{name:"{ (that: string): number; (that: string, locales?: string | string[], options?: CollatorOptions): number; }"}},match:{defaultValue:null,description:"Matches a string with a regular expression, and returns an array containing the results of that search.\nMatches a string an object that supports being matched against, and returns an array containing the results of that search.\n@param regexp A variable name or string literal containing the regular expression pattern and flags.\n@param matcher An object that supports being matched against.",name:"match",required:!0,type:{name:"{ (regexp: string | RegExp): RegExpMatchArray; (matcher: { [Symbol.match](string: string): RegExpMatchArray; }): RegExpMatchArray; }"}},replace:{defaultValue:null,description:"Replaces text in a string, using a regular expression or search string.\nReplaces text in a string, using a regular expression or search string.\nReplaces text in a string, using an object that supports replacement within a string.\nReplaces text in a string, using an object that supports replacement within a string.\n@param searchValue A string to search for.\n@param replaceValue A string containing the text to replace for every successful match of searchValue in this string.\n@param searchValue A string to search for.\n@param replacer A function that returns the replacement text.\n@param searchValue A object can search for and replace matches within a string.\n@param replaceValue A string containing the text to replace for every successful match of searchValue in this string.\n@param searchValue A object can search for and replace matches within a string.\n@param replacer A function that returns the replacement text.",name:"replace",required:!0,type:{name:"{ (searchValue: string | RegExp, replaceValue: string): string; (searchValue: string | RegExp, replacer: (substring: string, ...args: any[]) => string): string; (searchValue: { ...; }, replaceValue: string): string; (searchValue: { ...; }, replacer: (substring: string, ...args: any[]) => string): string; }"}},search:{defaultValue:null,description:"Finds the first substring match in a regular expression search.\nFinds the first substring match in a regular expression search.\n@param regexp The regular expression pattern and applicable flags.\n@param searcher An object which supports searching within a string.",name:"search",required:!0,type:{name:"{ (regexp: string | RegExp): number; (searcher: { [Symbol.search](string: string): number; }): number; }"}},slice:{defaultValue:null,description:"Returns a section of a string.\n@param start The index to the beginning of the specified portion of stringObj.\n@param end The index to the end of the specified portion of stringObj. The substring includes the characters up to, but not including, the character indicated by end.\rIf this value is not specified, the substring continues to the end of stringObj.",name:"slice",required:!0,type:{name:"(start?: number, end?: number) => string"}},split:{defaultValue:null,description:"Split a string into substrings using the specified separator and return them as an array.\nSplit a string into substrings using the specified separator and return them as an array.\n@param separator A string that identifies character or characters to use in separating the string. If omitted, a single-element array containing the entire string is returned.\n@param limit A value used to limit the number of elements returned in the array.\n@param splitter An object that can split a string.\n@param limit A value used to limit the number of elements returned in the array.",name:"split",required:!0,type:{name:"{ (separator: string | RegExp, limit?: number): string[]; (splitter: { [Symbol.split](string: string, limit?: number): string[]; }, limit?: number): string[]; }"}},substring:{defaultValue:null,description:"Returns the substring at the specified location within a String object.\n@param start The zero-based index number indicating the beginning of the substring.\n@param end Zero-based index number indicating the end of the substring. The substring includes the characters up to, but not including, the character indicated by end.\rIf end is omitted, the characters from start through the end of the original string are returned.",name:"substring",required:!0,type:{name:"(start: number, end?: number) => string"}},toLowerCase:{defaultValue:null,description:"Converts all the alphabetic characters in a string to lowercase.",name:"toLowerCase",required:!0,type:{name:"() => string"}},toLocaleLowerCase:{defaultValue:null,description:"Converts all alphabetic characters to lowercase, taking into account the host environment's current locale.",name:"toLocaleLowerCase",required:!0,type:{name:"(locales?: string | string[]) => string"}},toUpperCase:{defaultValue:null,description:"Converts all the alphabetic characters in a string to uppercase.",name:"toUpperCase",required:!0,type:{name:"() => string"}},toLocaleUpperCase:{defaultValue:null,description:"Returns a string where all alphabetic characters have been converted to uppercase, taking into account the host environment's current locale.",name:"toLocaleUpperCase",required:!0,type:{name:"(locales?: string | string[]) => string"}},trim:{defaultValue:null,description:"Removes the leading and trailing white space and line terminator characters from a string.",name:"trim",required:!0,type:{name:"() => string"}},length:{defaultValue:null,description:"Returns the length of a String object.",name:"length",required:!0,type:{name:"number"}},substr:{defaultValue:null,description:"Gets a substring beginning at the specified location and having the specified length.\n@param from The starting position of the desired substring. The index of the first character in the string is zero.\n@param length The number of characters to include in the returned substring.",name:"substr",required:!0,type:{name:"(from: number, length?: number) => string"}},valueOf:{defaultValue:null,description:"Returns the primitive value of the specified object.",name:"valueOf",required:!1,type:{name:"() => string"}},codePointAt:{defaultValue:null,description:"Returns a nonnegative integer Number less than 1114112 (0x110000) that is the code point\nvalue of the UTF-16 encoded code point starting at the string element at position pos in\r\nthe String resulting from converting this object to a String.\r\nIf there is no element at that position, the result is undefined.\r\nIf a valid UTF-16 surrogate pair does not begin at pos, the result is the code unit at pos.",name:"codePointAt",required:!0,type:{name:"(pos: number) => number"}},includes:{defaultValue:null,description:"Returns true if searchString appears as a substring of the result of converting this\nobject to a String, at one or more positions that are\r\ngreater than or equal to position; otherwise, returns false.\n@param searchString search string\n@param position If position is undefined, 0 is assumed, so as to search all of the String.",name:"includes",required:!0,type:{name:"(searchString: string, position?: number) => boolean"}},endsWith:{defaultValue:null,description:"Returns true if the sequence of elements of searchString converted to a String is the\nsame as the corresponding elements of this object (converted to a String) starting at\r\nendPosition – length(this). Otherwise returns false.",name:"endsWith",required:!0,type:{name:"(searchString: string, endPosition?: number) => boolean"}},normalize:{defaultValue:null,description:'Returns the String value result of normalizing the string into the normalization form\nnamed by form as specified in Unicode Standard Annex #15, Unicode Normalization Forms.\nReturns the String value result of normalizing the string into the normalization form\r\nnamed by form as specified in Unicode Standard Annex #15, Unicode Normalization Forms.\n@param form Applicable values: "NFC", "NFD", "NFKC", or "NFKD", If not specified default\ris "NFC"\n@param form Applicable values: "NFC", "NFD", "NFKC", or "NFKD", If not specified default\ris "NFC"',name:"normalize",required:!0,type:{name:'{ (form: "NFC" | "NFD" | "NFKC" | "NFKD"): string; (form?: string): string; }'}},repeat:{defaultValue:null,description:"Returns a String value that is made from count copies appended together. If count is 0,\nthe empty string is returned.\n@param count number of copies to append",name:"repeat",required:!0,type:{name:"(count: number) => string"}},startsWith:{defaultValue:null,description:"Returns true if the sequence of elements of searchString converted to a String is the\nsame as the corresponding elements of this object (converted to a String) starting at\r\nposition. Otherwise returns false.",name:"startsWith",required:!0,type:{name:"(searchString: string, position?: number) => boolean"}},anchor:{defaultValue:null,description:"Returns an HTML anchor element and sets the name attribute to the text value\n@param name",name:"anchor",required:!0,type:{name:"(name: string) => string"}},big:{defaultValue:null,description:"Returns a HTML element",name:"big",required:!0,type:{name:"() => string"}},blink:{defaultValue:null,description:"Returns a HTML element",name:"blink",required:!0,type:{name:"() => string"}},bold:{defaultValue:null,description:"Returns a HTML element",name:"bold",required:!0,type:{name:"() => string"}},fixed:{defaultValue:null,description:"Returns a HTML element",name:"fixed",required:!0,type:{name:"() => string"}},fontcolor:{defaultValue:null,description:"Returns a HTML element and sets the color attribute value",name:"fontcolor",required:!0,type:{name:"(color: string) => string"}},fontsize:{defaultValue:null,description:"Returns a HTML element and sets the size attribute value\nReturns a HTML element and sets the size attribute value",name:"fontsize",required:!0,type:{name:"{ (size: number): string; (size: string): string; }"}},italics:{defaultValue:null,description:"Returns an HTML element",name:"italics",required:!0,type:{name:"() => string"}},link:{defaultValue:null,description:"Returns an HTML element and sets the href attribute value",name:"link",required:!0,type:{name:"(url: string) => string"}},small:{defaultValue:null,description:"Returns a HTML element",name:"small",required:!0,type:{name:"() => string"}},strike:{defaultValue:null,description:"Returns a HTML element",name:"strike",required:!0,type:{name:"() => string"}},sub:{defaultValue:null,description:"Returns a HTML element",name:"sub",required:!0,type:{name:"() => string"}},sup:{defaultValue:null,description:"Returns a HTML element",name:"sup",required:!0,type:{name:"() => string"}},"__@iterator":{defaultValue:null,description:"Iterator",name:"__@iterator",required:!0,type:{name:"() => IterableIterator"}},padStart:{defaultValue:null,description:'Pads the current string with a given string (possibly repeated) so that the resulting string reaches a given length.\nThe padding is applied from the start (left) of the current string.\n@param maxLength The length of the resulting string once the current string has been padded.\rIf this parameter is smaller than the current string\'s length, the current string will be returned as it is.\n@param fillString The string to pad the current string with.\rIf this string is too long, it will be truncated and the left-most part will be applied.\rThe default value for this parameter is " " (U+0020).',name:"padStart",required:!0,type:{name:"(maxLength: number, fillString?: string) => string"}},padEnd:{defaultValue:null,description:'Pads the current string with a given string (possibly repeated) so that the resulting string reaches a given length.\nThe padding is applied from the end (right) of the current string.\n@param maxLength The length of the resulting string once the current string has been padded.\rIf this parameter is smaller than the current string\'s length, the current string will be returned as it is.\n@param fillString The string to pad the current string with.\rIf this string is too long, it will be truncated and the left-most part will be applied.\rThe default value for this parameter is " " (U+0020).',name:"padEnd",required:!0,type:{name:"(maxLength: number, fillString?: string) => string"}},trimLeft:{defaultValue:null,description:"Removes whitespace from the left end of a string.",name:"trimLeft",required:!0,type:{name:"() => string"}},trimRight:{defaultValue:null,description:"Removes whitespace from the right end of a string.",name:"trimRight",required:!0,type:{name:"() => string"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/form/NewPasswordInput/PasswordStrength/rules.ts#hasUppercase"]={docgenInfo:hasUppercase.__docgenInfo,name:"hasUppercase",path:"src/form/NewPasswordInput/PasswordStrength/rules.ts#hasUppercase"})}catch(__react_docgen_typescript_loader_error){}try{hasNumber.displayName="hasNumber",hasNumber.__docgenInfo={description:"",displayName:"hasNumber",props:{toString:{defaultValue:null,description:"Returns a string representation of a string.",name:"toString",required:!1,type:{name:"() => string"}},charAt:{defaultValue:null,description:"Returns the character at the specified index.\n@param pos The zero-based index of the desired character.",name:"charAt",required:!0,type:{name:"(pos: number) => string"}},charCodeAt:{defaultValue:null,description:"Returns the Unicode value of the character at the specified location.\n@param index The zero-based index of the desired character. If there is no character at the specified index, NaN is returned.",name:"charCodeAt",required:!0,type:{name:"(index: number) => number"}},concat:{defaultValue:null,description:"Returns a string that contains the concatenation of two or more strings.\n@param strings The strings to append to the end of the string.",name:"concat",required:!0,type:{name:"(...strings: string[]) => string"}},indexOf:{defaultValue:null,description:"Returns the position of the first occurrence of a substring.\n@param searchString The substring to search for in the string\n@param position The index at which to begin searching the String object. If omitted, search starts at the beginning of the string.",name:"indexOf",required:!0,type:{name:"(searchString: string, position?: number) => number"}},lastIndexOf:{defaultValue:null,description:"Returns the last occurrence of a substring in the string.\n@param searchString The substring to search for.\n@param position The index at which to begin searching. If omitted, the search begins at the end of the string.",name:"lastIndexOf",required:!0,type:{name:"(searchString: string, position?: number) => number"}},localeCompare:{defaultValue:null,description:"Determines whether two strings are equivalent in the current locale.\nDetermines whether two strings are equivalent in the current or specified locale.\n@param that String to compare to target string\n@param that String to compare to target string\n@param locales A locale string or array of locale strings that contain one or more language or locale tags. If you include more than one locale string, list them in descending order of priority so that the first entry is the preferred locale. If you omit this parameter, the default locale of the JavaScript runtime is used. This parameter must conform to BCP 47 standards; see the Intl.Collator object for details.\n@param options An object that contains one or more properties that specify comparison options. see the Intl.Collator object for details.",name:"localeCompare",required:!0,type:{name:"{ (that: string): number; (that: string, locales?: string | string[], options?: CollatorOptions): number; }"}},match:{defaultValue:null,description:"Matches a string with a regular expression, and returns an array containing the results of that search.\nMatches a string an object that supports being matched against, and returns an array containing the results of that search.\n@param regexp A variable name or string literal containing the regular expression pattern and flags.\n@param matcher An object that supports being matched against.",name:"match",required:!0,type:{name:"{ (regexp: string | RegExp): RegExpMatchArray; (matcher: { [Symbol.match](string: string): RegExpMatchArray; }): RegExpMatchArray; }"}},replace:{defaultValue:null,description:"Replaces text in a string, using a regular expression or search string.\nReplaces text in a string, using a regular expression or search string.\nReplaces text in a string, using an object that supports replacement within a string.\nReplaces text in a string, using an object that supports replacement within a string.\n@param searchValue A string to search for.\n@param replaceValue A string containing the text to replace for every successful match of searchValue in this string.\n@param searchValue A string to search for.\n@param replacer A function that returns the replacement text.\n@param searchValue A object can search for and replace matches within a string.\n@param replaceValue A string containing the text to replace for every successful match of searchValue in this string.\n@param searchValue A object can search for and replace matches within a string.\n@param replacer A function that returns the replacement text.",name:"replace",required:!0,type:{name:"{ (searchValue: string | RegExp, replaceValue: string): string; (searchValue: string | RegExp, replacer: (substring: string, ...args: any[]) => string): string; (searchValue: { ...; }, replaceValue: string): string; (searchValue: { ...; }, replacer: (substring: string, ...args: any[]) => string): string; }"}},search:{defaultValue:null,description:"Finds the first substring match in a regular expression search.\nFinds the first substring match in a regular expression search.\n@param regexp The regular expression pattern and applicable flags.\n@param searcher An object which supports searching within a string.",name:"search",required:!0,type:{name:"{ (regexp: string | RegExp): number; (searcher: { [Symbol.search](string: string): number; }): number; }"}},slice:{defaultValue:null,description:"Returns a section of a string.\n@param start The index to the beginning of the specified portion of stringObj.\n@param end The index to the end of the specified portion of stringObj. The substring includes the characters up to, but not including, the character indicated by end.\rIf this value is not specified, the substring continues to the end of stringObj.",name:"slice",required:!0,type:{name:"(start?: number, end?: number) => string"}},split:{defaultValue:null,description:"Split a string into substrings using the specified separator and return them as an array.\nSplit a string into substrings using the specified separator and return them as an array.\n@param separator A string that identifies character or characters to use in separating the string. If omitted, a single-element array containing the entire string is returned.\n@param limit A value used to limit the number of elements returned in the array.\n@param splitter An object that can split a string.\n@param limit A value used to limit the number of elements returned in the array.",name:"split",required:!0,type:{name:"{ (separator: string | RegExp, limit?: number): string[]; (splitter: { [Symbol.split](string: string, limit?: number): string[]; }, limit?: number): string[]; }"}},substring:{defaultValue:null,description:"Returns the substring at the specified location within a String object.\n@param start The zero-based index number indicating the beginning of the substring.\n@param end Zero-based index number indicating the end of the substring. The substring includes the characters up to, but not including, the character indicated by end.\rIf end is omitted, the characters from start through the end of the original string are returned.",name:"substring",required:!0,type:{name:"(start: number, end?: number) => string"}},toLowerCase:{defaultValue:null,description:"Converts all the alphabetic characters in a string to lowercase.",name:"toLowerCase",required:!0,type:{name:"() => string"}},toLocaleLowerCase:{defaultValue:null,description:"Converts all alphabetic characters to lowercase, taking into account the host environment's current locale.",name:"toLocaleLowerCase",required:!0,type:{name:"(locales?: string | string[]) => string"}},toUpperCase:{defaultValue:null,description:"Converts all the alphabetic characters in a string to uppercase.",name:"toUpperCase",required:!0,type:{name:"() => string"}},toLocaleUpperCase:{defaultValue:null,description:"Returns a string where all alphabetic characters have been converted to uppercase, taking into account the host environment's current locale.",name:"toLocaleUpperCase",required:!0,type:{name:"(locales?: string | string[]) => string"}},trim:{defaultValue:null,description:"Removes the leading and trailing white space and line terminator characters from a string.",name:"trim",required:!0,type:{name:"() => string"}},length:{defaultValue:null,description:"Returns the length of a String object.",name:"length",required:!0,type:{name:"number"}},substr:{defaultValue:null,description:"Gets a substring beginning at the specified location and having the specified length.\n@param from The starting position of the desired substring. The index of the first character in the string is zero.\n@param length The number of characters to include in the returned substring.",name:"substr",required:!0,type:{name:"(from: number, length?: number) => string"}},valueOf:{defaultValue:null,description:"Returns the primitive value of the specified object.",name:"valueOf",required:!1,type:{name:"() => string"}},codePointAt:{defaultValue:null,description:"Returns a nonnegative integer Number less than 1114112 (0x110000) that is the code point\nvalue of the UTF-16 encoded code point starting at the string element at position pos in\r\nthe String resulting from converting this object to a String.\r\nIf there is no element at that position, the result is undefined.\r\nIf a valid UTF-16 surrogate pair does not begin at pos, the result is the code unit at pos.",name:"codePointAt",required:!0,type:{name:"(pos: number) => number"}},includes:{defaultValue:null,description:"Returns true if searchString appears as a substring of the result of converting this\nobject to a String, at one or more positions that are\r\ngreater than or equal to position; otherwise, returns false.\n@param searchString search string\n@param position If position is undefined, 0 is assumed, so as to search all of the String.",name:"includes",required:!0,type:{name:"(searchString: string, position?: number) => boolean"}},endsWith:{defaultValue:null,description:"Returns true if the sequence of elements of searchString converted to a String is the\nsame as the corresponding elements of this object (converted to a String) starting at\r\nendPosition – length(this). Otherwise returns false.",name:"endsWith",required:!0,type:{name:"(searchString: string, endPosition?: number) => boolean"}},normalize:{defaultValue:null,description:'Returns the String value result of normalizing the string into the normalization form\nnamed by form as specified in Unicode Standard Annex #15, Unicode Normalization Forms.\nReturns the String value result of normalizing the string into the normalization form\r\nnamed by form as specified in Unicode Standard Annex #15, Unicode Normalization Forms.\n@param form Applicable values: "NFC", "NFD", "NFKC", or "NFKD", If not specified default\ris "NFC"\n@param form Applicable values: "NFC", "NFD", "NFKC", or "NFKD", If not specified default\ris "NFC"',name:"normalize",required:!0,type:{name:'{ (form: "NFC" | "NFD" | "NFKC" | "NFKD"): string; (form?: string): string; }'}},repeat:{defaultValue:null,description:"Returns a String value that is made from count copies appended together. If count is 0,\nthe empty string is returned.\n@param count number of copies to append",name:"repeat",required:!0,type:{name:"(count: number) => string"}},startsWith:{defaultValue:null,description:"Returns true if the sequence of elements of searchString converted to a String is the\nsame as the corresponding elements of this object (converted to a String) starting at\r\nposition. Otherwise returns false.",name:"startsWith",required:!0,type:{name:"(searchString: string, position?: number) => boolean"}},anchor:{defaultValue:null,description:"Returns an HTML anchor element and sets the name attribute to the text value\n@param name",name:"anchor",required:!0,type:{name:"(name: string) => string"}},big:{defaultValue:null,description:"Returns a HTML element",name:"big",required:!0,type:{name:"() => string"}},blink:{defaultValue:null,description:"Returns a HTML element",name:"blink",required:!0,type:{name:"() => string"}},bold:{defaultValue:null,description:"Returns a HTML element",name:"bold",required:!0,type:{name:"() => string"}},fixed:{defaultValue:null,description:"Returns a HTML element",name:"fixed",required:!0,type:{name:"() => string"}},fontcolor:{defaultValue:null,description:"Returns a HTML element and sets the color attribute value",name:"fontcolor",required:!0,type:{name:"(color: string) => string"}},fontsize:{defaultValue:null,description:"Returns a HTML element and sets the size attribute value\nReturns a HTML element and sets the size attribute value",name:"fontsize",required:!0,type:{name:"{ (size: number): string; (size: string): string; }"}},italics:{defaultValue:null,description:"Returns an HTML element",name:"italics",required:!0,type:{name:"() => string"}},link:{defaultValue:null,description:"Returns an HTML element and sets the href attribute value",name:"link",required:!0,type:{name:"(url: string) => string"}},small:{defaultValue:null,description:"Returns a HTML element",name:"small",required:!0,type:{name:"() => string"}},strike:{defaultValue:null,description:"Returns a HTML element",name:"strike",required:!0,type:{name:"() => string"}},sub:{defaultValue:null,description:"Returns a HTML element",name:"sub",required:!0,type:{name:"() => string"}},sup:{defaultValue:null,description:"Returns a HTML element",name:"sup",required:!0,type:{name:"() => string"}},"__@iterator":{defaultValue:null,description:"Iterator",name:"__@iterator",required:!0,type:{name:"() => IterableIterator"}},padStart:{defaultValue:null,description:'Pads the current string with a given string (possibly repeated) so that the resulting string reaches a given length.\nThe padding is applied from the start (left) of the current string.\n@param maxLength The length of the resulting string once the current string has been padded.\rIf this parameter is smaller than the current string\'s length, the current string will be returned as it is.\n@param fillString The string to pad the current string with.\rIf this string is too long, it will be truncated and the left-most part will be applied.\rThe default value for this parameter is " " (U+0020).',name:"padStart",required:!0,type:{name:"(maxLength: number, fillString?: string) => string"}},padEnd:{defaultValue:null,description:'Pads the current string with a given string (possibly repeated) so that the resulting string reaches a given length.\nThe padding is applied from the end (right) of the current string.\n@param maxLength The length of the resulting string once the current string has been padded.\rIf this parameter is smaller than the current string\'s length, the current string will be returned as it is.\n@param fillString The string to pad the current string with.\rIf this string is too long, it will be truncated and the left-most part will be applied.\rThe default value for this parameter is " " (U+0020).',name:"padEnd",required:!0,type:{name:"(maxLength: number, fillString?: string) => string"}},trimLeft:{defaultValue:null,description:"Removes whitespace from the left end of a string.",name:"trimLeft",required:!0,type:{name:"() => string"}},trimRight:{defaultValue:null,description:"Removes whitespace from the right end of a string.",name:"trimRight",required:!0,type:{name:"() => string"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/form/NewPasswordInput/PasswordStrength/rules.ts#hasNumber"]={docgenInfo:hasNumber.__docgenInfo,name:"hasNumber",path:"src/form/NewPasswordInput/PasswordStrength/rules.ts#hasNumber"})}catch(__react_docgen_typescript_loader_error){}try{hasSpecialChar.displayName="hasSpecialChar",hasSpecialChar.__docgenInfo={description:"",displayName:"hasSpecialChar",props:{toString:{defaultValue:null,description:"Returns a string representation of a string.",name:"toString",required:!1,type:{name:"() => string"}},charAt:{defaultValue:null,description:"Returns the character at the specified index.\n@param pos The zero-based index of the desired character.",name:"charAt",required:!0,type:{name:"(pos: number) => string"}},charCodeAt:{defaultValue:null,description:"Returns the Unicode value of the character at the specified location.\n@param index The zero-based index of the desired character. If there is no character at the specified index, NaN is returned.",name:"charCodeAt",required:!0,type:{name:"(index: number) => number"}},concat:{defaultValue:null,description:"Returns a string that contains the concatenation of two or more strings.\n@param strings The strings to append to the end of the string.",name:"concat",required:!0,type:{name:"(...strings: string[]) => string"}},indexOf:{defaultValue:null,description:"Returns the position of the first occurrence of a substring.\n@param searchString The substring to search for in the string\n@param position The index at which to begin searching the String object. If omitted, search starts at the beginning of the string.",name:"indexOf",required:!0,type:{name:"(searchString: string, position?: number) => number"}},lastIndexOf:{defaultValue:null,description:"Returns the last occurrence of a substring in the string.\n@param searchString The substring to search for.\n@param position The index at which to begin searching. If omitted, the search begins at the end of the string.",name:"lastIndexOf",required:!0,type:{name:"(searchString: string, position?: number) => number"}},localeCompare:{defaultValue:null,description:"Determines whether two strings are equivalent in the current locale.\nDetermines whether two strings are equivalent in the current or specified locale.\n@param that String to compare to target string\n@param that String to compare to target string\n@param locales A locale string or array of locale strings that contain one or more language or locale tags. If you include more than one locale string, list them in descending order of priority so that the first entry is the preferred locale. If you omit this parameter, the default locale of the JavaScript runtime is used. This parameter must conform to BCP 47 standards; see the Intl.Collator object for details.\n@param options An object that contains one or more properties that specify comparison options. see the Intl.Collator object for details.",name:"localeCompare",required:!0,type:{name:"{ (that: string): number; (that: string, locales?: string | string[], options?: CollatorOptions): number; }"}},match:{defaultValue:null,description:"Matches a string with a regular expression, and returns an array containing the results of that search.\nMatches a string an object that supports being matched against, and returns an array containing the results of that search.\n@param regexp A variable name or string literal containing the regular expression pattern and flags.\n@param matcher An object that supports being matched against.",name:"match",required:!0,type:{name:"{ (regexp: string | RegExp): RegExpMatchArray; (matcher: { [Symbol.match](string: string): RegExpMatchArray; }): RegExpMatchArray; }"}},replace:{defaultValue:null,description:"Replaces text in a string, using a regular expression or search string.\nReplaces text in a string, using a regular expression or search string.\nReplaces text in a string, using an object that supports replacement within a string.\nReplaces text in a string, using an object that supports replacement within a string.\n@param searchValue A string to search for.\n@param replaceValue A string containing the text to replace for every successful match of searchValue in this string.\n@param searchValue A string to search for.\n@param replacer A function that returns the replacement text.\n@param searchValue A object can search for and replace matches within a string.\n@param replaceValue A string containing the text to replace for every successful match of searchValue in this string.\n@param searchValue A object can search for and replace matches within a string.\n@param replacer A function that returns the replacement text.",name:"replace",required:!0,type:{name:"{ (searchValue: string | RegExp, replaceValue: string): string; (searchValue: string | RegExp, replacer: (substring: string, ...args: any[]) => string): string; (searchValue: { ...; }, replaceValue: string): string; (searchValue: { ...; }, replacer: (substring: string, ...args: any[]) => string): string; }"}},search:{defaultValue:null,description:"Finds the first substring match in a regular expression search.\nFinds the first substring match in a regular expression search.\n@param regexp The regular expression pattern and applicable flags.\n@param searcher An object which supports searching within a string.",name:"search",required:!0,type:{name:"{ (regexp: string | RegExp): number; (searcher: { [Symbol.search](string: string): number; }): number; }"}},slice:{defaultValue:null,description:"Returns a section of a string.\n@param start The index to the beginning of the specified portion of stringObj.\n@param end The index to the end of the specified portion of stringObj. The substring includes the characters up to, but not including, the character indicated by end.\rIf this value is not specified, the substring continues to the end of stringObj.",name:"slice",required:!0,type:{name:"(start?: number, end?: number) => string"}},split:{defaultValue:null,description:"Split a string into substrings using the specified separator and return them as an array.\nSplit a string into substrings using the specified separator and return them as an array.\n@param separator A string that identifies character or characters to use in separating the string. If omitted, a single-element array containing the entire string is returned.\n@param limit A value used to limit the number of elements returned in the array.\n@param splitter An object that can split a string.\n@param limit A value used to limit the number of elements returned in the array.",name:"split",required:!0,type:{name:"{ (separator: string | RegExp, limit?: number): string[]; (splitter: { [Symbol.split](string: string, limit?: number): string[]; }, limit?: number): string[]; }"}},substring:{defaultValue:null,description:"Returns the substring at the specified location within a String object.\n@param start The zero-based index number indicating the beginning of the substring.\n@param end Zero-based index number indicating the end of the substring. The substring includes the characters up to, but not including, the character indicated by end.\rIf end is omitted, the characters from start through the end of the original string are returned.",name:"substring",required:!0,type:{name:"(start: number, end?: number) => string"}},toLowerCase:{defaultValue:null,description:"Converts all the alphabetic characters in a string to lowercase.",name:"toLowerCase",required:!0,type:{name:"() => string"}},toLocaleLowerCase:{defaultValue:null,description:"Converts all alphabetic characters to lowercase, taking into account the host environment's current locale.",name:"toLocaleLowerCase",required:!0,type:{name:"(locales?: string | string[]) => string"}},toUpperCase:{defaultValue:null,description:"Converts all the alphabetic characters in a string to uppercase.",name:"toUpperCase",required:!0,type:{name:"() => string"}},toLocaleUpperCase:{defaultValue:null,description:"Returns a string where all alphabetic characters have been converted to uppercase, taking into account the host environment's current locale.",name:"toLocaleUpperCase",required:!0,type:{name:"(locales?: string | string[]) => string"}},trim:{defaultValue:null,description:"Removes the leading and trailing white space and line terminator characters from a string.",name:"trim",required:!0,type:{name:"() => string"}},length:{defaultValue:null,description:"Returns the length of a String object.",name:"length",required:!0,type:{name:"number"}},substr:{defaultValue:null,description:"Gets a substring beginning at the specified location and having the specified length.\n@param from The starting position of the desired substring. The index of the first character in the string is zero.\n@param length The number of characters to include in the returned substring.",name:"substr",required:!0,type:{name:"(from: number, length?: number) => string"}},valueOf:{defaultValue:null,description:"Returns the primitive value of the specified object.",name:"valueOf",required:!1,type:{name:"() => string"}},codePointAt:{defaultValue:null,description:"Returns a nonnegative integer Number less than 1114112 (0x110000) that is the code point\nvalue of the UTF-16 encoded code point starting at the string element at position pos in\r\nthe String resulting from converting this object to a String.\r\nIf there is no element at that position, the result is undefined.\r\nIf a valid UTF-16 surrogate pair does not begin at pos, the result is the code unit at pos.",name:"codePointAt",required:!0,type:{name:"(pos: number) => number"}},includes:{defaultValue:null,description:"Returns true if searchString appears as a substring of the result of converting this\nobject to a String, at one or more positions that are\r\ngreater than or equal to position; otherwise, returns false.\n@param searchString search string\n@param position If position is undefined, 0 is assumed, so as to search all of the String.",name:"includes",required:!0,type:{name:"(searchString: string, position?: number) => boolean"}},endsWith:{defaultValue:null,description:"Returns true if the sequence of elements of searchString converted to a String is the\nsame as the corresponding elements of this object (converted to a String) starting at\r\nendPosition – length(this). Otherwise returns false.",name:"endsWith",required:!0,type:{name:"(searchString: string, endPosition?: number) => boolean"}},normalize:{defaultValue:null,description:'Returns the String value result of normalizing the string into the normalization form\nnamed by form as specified in Unicode Standard Annex #15, Unicode Normalization Forms.\nReturns the String value result of normalizing the string into the normalization form\r\nnamed by form as specified in Unicode Standard Annex #15, Unicode Normalization Forms.\n@param form Applicable values: "NFC", "NFD", "NFKC", or "NFKD", If not specified default\ris "NFC"\n@param form Applicable values: "NFC", "NFD", "NFKC", or "NFKD", If not specified default\ris "NFC"',name:"normalize",required:!0,type:{name:'{ (form: "NFC" | "NFD" | "NFKC" | "NFKD"): string; (form?: string): string; }'}},repeat:{defaultValue:null,description:"Returns a String value that is made from count copies appended together. If count is 0,\nthe empty string is returned.\n@param count number of copies to append",name:"repeat",required:!0,type:{name:"(count: number) => string"}},startsWith:{defaultValue:null,description:"Returns true if the sequence of elements of searchString converted to a String is the\nsame as the corresponding elements of this object (converted to a String) starting at\r\nposition. Otherwise returns false.",name:"startsWith",required:!0,type:{name:"(searchString: string, position?: number) => boolean"}},anchor:{defaultValue:null,description:"Returns an HTML anchor element and sets the name attribute to the text value\n@param name",name:"anchor",required:!0,type:{name:"(name: string) => string"}},big:{defaultValue:null,description:"Returns a HTML element",name:"big",required:!0,type:{name:"() => string"}},blink:{defaultValue:null,description:"Returns a HTML element",name:"blink",required:!0,type:{name:"() => string"}},bold:{defaultValue:null,description:"Returns a HTML element",name:"bold",required:!0,type:{name:"() => string"}},fixed:{defaultValue:null,description:"Returns a HTML element",name:"fixed",required:!0,type:{name:"() => string"}},fontcolor:{defaultValue:null,description:"Returns a HTML element and sets the color attribute value",name:"fontcolor",required:!0,type:{name:"(color: string) => string"}},fontsize:{defaultValue:null,description:"Returns a HTML element and sets the size attribute value\nReturns a HTML element and sets the size attribute value",name:"fontsize",required:!0,type:{name:"{ (size: number): string; (size: string): string; }"}},italics:{defaultValue:null,description:"Returns an HTML element",name:"italics",required:!0,type:{name:"() => string"}},link:{defaultValue:null,description:"Returns an HTML element and sets the href attribute value",name:"link",required:!0,type:{name:"(url: string) => string"}},small:{defaultValue:null,description:"Returns a HTML element",name:"small",required:!0,type:{name:"() => string"}},strike:{defaultValue:null,description:"Returns a HTML element",name:"strike",required:!0,type:{name:"() => string"}},sub:{defaultValue:null,description:"Returns a HTML element",name:"sub",required:!0,type:{name:"() => string"}},sup:{defaultValue:null,description:"Returns a HTML element",name:"sup",required:!0,type:{name:"() => string"}},"__@iterator":{defaultValue:null,description:"Iterator",name:"__@iterator",required:!0,type:{name:"() => IterableIterator"}},padStart:{defaultValue:null,description:'Pads the current string with a given string (possibly repeated) so that the resulting string reaches a given length.\nThe padding is applied from the start (left) of the current string.\n@param maxLength The length of the resulting string once the current string has been padded.\rIf this parameter is smaller than the current string\'s length, the current string will be returned as it is.\n@param fillString The string to pad the current string with.\rIf this string is too long, it will be truncated and the left-most part will be applied.\rThe default value for this parameter is " " (U+0020).',name:"padStart",required:!0,type:{name:"(maxLength: number, fillString?: string) => string"}},padEnd:{defaultValue:null,description:'Pads the current string with a given string (possibly repeated) so that the resulting string reaches a given length.\nThe padding is applied from the end (right) of the current string.\n@param maxLength The length of the resulting string once the current string has been padded.\rIf this parameter is smaller than the current string\'s length, the current string will be returned as it is.\n@param fillString The string to pad the current string with.\rIf this string is too long, it will be truncated and the left-most part will be applied.\rThe default value for this parameter is " " (U+0020).',name:"padEnd",required:!0,type:{name:"(maxLength: number, fillString?: string) => string"}},trimLeft:{defaultValue:null,description:"Removes whitespace from the left end of a string.",name:"trimLeft",required:!0,type:{name:"() => string"}},trimRight:{defaultValue:null,description:"Removes whitespace from the right end of a string.",name:"trimRight",required:!0,type:{name:"() => string"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/form/NewPasswordInput/PasswordStrength/rules.ts#hasSpecialChar"]={docgenInfo:hasSpecialChar.__docgenInfo,name:"hasSpecialChar",path:"src/form/NewPasswordInput/PasswordStrength/rules.ts#hasSpecialChar"})}catch(__react_docgen_typescript_loader_error){}try{hasNoSpaces.displayName="hasNoSpaces",hasNoSpaces.__docgenInfo={description:"",displayName:"hasNoSpaces",props:{toString:{defaultValue:null,description:"Returns a string representation of a string.",name:"toString",required:!1,type:{name:"() => string"}},charAt:{defaultValue:null,description:"Returns the character at the specified index.\n@param pos The zero-based index of the desired character.",name:"charAt",required:!0,type:{name:"(pos: number) => string"}},charCodeAt:{defaultValue:null,description:"Returns the Unicode value of the character at the specified location.\n@param index The zero-based index of the desired character. If there is no character at the specified index, NaN is returned.",name:"charCodeAt",required:!0,type:{name:"(index: number) => number"}},concat:{defaultValue:null,description:"Returns a string that contains the concatenation of two or more strings.\n@param strings The strings to append to the end of the string.",name:"concat",required:!0,type:{name:"(...strings: string[]) => string"}},indexOf:{defaultValue:null,description:"Returns the position of the first occurrence of a substring.\n@param searchString The substring to search for in the string\n@param position The index at which to begin searching the String object. If omitted, search starts at the beginning of the string.",name:"indexOf",required:!0,type:{name:"(searchString: string, position?: number) => number"}},lastIndexOf:{defaultValue:null,description:"Returns the last occurrence of a substring in the string.\n@param searchString The substring to search for.\n@param position The index at which to begin searching. If omitted, the search begins at the end of the string.",name:"lastIndexOf",required:!0,type:{name:"(searchString: string, position?: number) => number"}},localeCompare:{defaultValue:null,description:"Determines whether two strings are equivalent in the current locale.\nDetermines whether two strings are equivalent in the current or specified locale.\n@param that String to compare to target string\n@param that String to compare to target string\n@param locales A locale string or array of locale strings that contain one or more language or locale tags. If you include more than one locale string, list them in descending order of priority so that the first entry is the preferred locale. If you omit this parameter, the default locale of the JavaScript runtime is used. This parameter must conform to BCP 47 standards; see the Intl.Collator object for details.\n@param options An object that contains one or more properties that specify comparison options. see the Intl.Collator object for details.",name:"localeCompare",required:!0,type:{name:"{ (that: string): number; (that: string, locales?: string | string[], options?: CollatorOptions): number; }"}},match:{defaultValue:null,description:"Matches a string with a regular expression, and returns an array containing the results of that search.\nMatches a string an object that supports being matched against, and returns an array containing the results of that search.\n@param regexp A variable name or string literal containing the regular expression pattern and flags.\n@param matcher An object that supports being matched against.",name:"match",required:!0,type:{name:"{ (regexp: string | RegExp): RegExpMatchArray; (matcher: { [Symbol.match](string: string): RegExpMatchArray; }): RegExpMatchArray; }"}},replace:{defaultValue:null,description:"Replaces text in a string, using a regular expression or search string.\nReplaces text in a string, using a regular expression or search string.\nReplaces text in a string, using an object that supports replacement within a string.\nReplaces text in a string, using an object that supports replacement within a string.\n@param searchValue A string to search for.\n@param replaceValue A string containing the text to replace for every successful match of searchValue in this string.\n@param searchValue A string to search for.\n@param replacer A function that returns the replacement text.\n@param searchValue A object can search for and replace matches within a string.\n@param replaceValue A string containing the text to replace for every successful match of searchValue in this string.\n@param searchValue A object can search for and replace matches within a string.\n@param replacer A function that returns the replacement text.",name:"replace",required:!0,type:{name:"{ (searchValue: string | RegExp, replaceValue: string): string; (searchValue: string | RegExp, replacer: (substring: string, ...args: any[]) => string): string; (searchValue: { ...; }, replaceValue: string): string; (searchValue: { ...; }, replacer: (substring: string, ...args: any[]) => string): string; }"}},search:{defaultValue:null,description:"Finds the first substring match in a regular expression search.\nFinds the first substring match in a regular expression search.\n@param regexp The regular expression pattern and applicable flags.\n@param searcher An object which supports searching within a string.",name:"search",required:!0,type:{name:"{ (regexp: string | RegExp): number; (searcher: { [Symbol.search](string: string): number; }): number; }"}},slice:{defaultValue:null,description:"Returns a section of a string.\n@param start The index to the beginning of the specified portion of stringObj.\n@param end The index to the end of the specified portion of stringObj. The substring includes the characters up to, but not including, the character indicated by end.\rIf this value is not specified, the substring continues to the end of stringObj.",name:"slice",required:!0,type:{name:"(start?: number, end?: number) => string"}},split:{defaultValue:null,description:"Split a string into substrings using the specified separator and return them as an array.\nSplit a string into substrings using the specified separator and return them as an array.\n@param separator A string that identifies character or characters to use in separating the string. If omitted, a single-element array containing the entire string is returned.\n@param limit A value used to limit the number of elements returned in the array.\n@param splitter An object that can split a string.\n@param limit A value used to limit the number of elements returned in the array.",name:"split",required:!0,type:{name:"{ (separator: string | RegExp, limit?: number): string[]; (splitter: { [Symbol.split](string: string, limit?: number): string[]; }, limit?: number): string[]; }"}},substring:{defaultValue:null,description:"Returns the substring at the specified location within a String object.\n@param start The zero-based index number indicating the beginning of the substring.\n@param end Zero-based index number indicating the end of the substring. The substring includes the characters up to, but not including, the character indicated by end.\rIf end is omitted, the characters from start through the end of the original string are returned.",name:"substring",required:!0,type:{name:"(start: number, end?: number) => string"}},toLowerCase:{defaultValue:null,description:"Converts all the alphabetic characters in a string to lowercase.",name:"toLowerCase",required:!0,type:{name:"() => string"}},toLocaleLowerCase:{defaultValue:null,description:"Converts all alphabetic characters to lowercase, taking into account the host environment's current locale.",name:"toLocaleLowerCase",required:!0,type:{name:"(locales?: string | string[]) => string"}},toUpperCase:{defaultValue:null,description:"Converts all the alphabetic characters in a string to uppercase.",name:"toUpperCase",required:!0,type:{name:"() => string"}},toLocaleUpperCase:{defaultValue:null,description:"Returns a string where all alphabetic characters have been converted to uppercase, taking into account the host environment's current locale.",name:"toLocaleUpperCase",required:!0,type:{name:"(locales?: string | string[]) => string"}},trim:{defaultValue:null,description:"Removes the leading and trailing white space and line terminator characters from a string.",name:"trim",required:!0,type:{name:"() => string"}},length:{defaultValue:null,description:"Returns the length of a String object.",name:"length",required:!0,type:{name:"number"}},substr:{defaultValue:null,description:"Gets a substring beginning at the specified location and having the specified length.\n@param from The starting position of the desired substring. The index of the first character in the string is zero.\n@param length The number of characters to include in the returned substring.",name:"substr",required:!0,type:{name:"(from: number, length?: number) => string"}},valueOf:{defaultValue:null,description:"Returns the primitive value of the specified object.",name:"valueOf",required:!1,type:{name:"() => string"}},codePointAt:{defaultValue:null,description:"Returns a nonnegative integer Number less than 1114112 (0x110000) that is the code point\nvalue of the UTF-16 encoded code point starting at the string element at position pos in\r\nthe String resulting from converting this object to a String.\r\nIf there is no element at that position, the result is undefined.\r\nIf a valid UTF-16 surrogate pair does not begin at pos, the result is the code unit at pos.",name:"codePointAt",required:!0,type:{name:"(pos: number) => number"}},includes:{defaultValue:null,description:"Returns true if searchString appears as a substring of the result of converting this\nobject to a String, at one or more positions that are\r\ngreater than or equal to position; otherwise, returns false.\n@param searchString search string\n@param position If position is undefined, 0 is assumed, so as to search all of the String.",name:"includes",required:!0,type:{name:"(searchString: string, position?: number) => boolean"}},endsWith:{defaultValue:null,description:"Returns true if the sequence of elements of searchString converted to a String is the\nsame as the corresponding elements of this object (converted to a String) starting at\r\nendPosition – length(this). Otherwise returns false.",name:"endsWith",required:!0,type:{name:"(searchString: string, endPosition?: number) => boolean"}},normalize:{defaultValue:null,description:'Returns the String value result of normalizing the string into the normalization form\nnamed by form as specified in Unicode Standard Annex #15, Unicode Normalization Forms.\nReturns the String value result of normalizing the string into the normalization form\r\nnamed by form as specified in Unicode Standard Annex #15, Unicode Normalization Forms.\n@param form Applicable values: "NFC", "NFD", "NFKC", or "NFKD", If not specified default\ris "NFC"\n@param form Applicable values: "NFC", "NFD", "NFKC", or "NFKD", If not specified default\ris "NFC"',name:"normalize",required:!0,type:{name:'{ (form: "NFC" | "NFD" | "NFKC" | "NFKD"): string; (form?: string): string; }'}},repeat:{defaultValue:null,description:"Returns a String value that is made from count copies appended together. If count is 0,\nthe empty string is returned.\n@param count number of copies to append",name:"repeat",required:!0,type:{name:"(count: number) => string"}},startsWith:{defaultValue:null,description:"Returns true if the sequence of elements of searchString converted to a String is the\nsame as the corresponding elements of this object (converted to a String) starting at\r\nposition. Otherwise returns false.",name:"startsWith",required:!0,type:{name:"(searchString: string, position?: number) => boolean"}},anchor:{defaultValue:null,description:"Returns an HTML anchor element and sets the name attribute to the text value\n@param name",name:"anchor",required:!0,type:{name:"(name: string) => string"}},big:{defaultValue:null,description:"Returns a HTML element",name:"big",required:!0,type:{name:"() => string"}},blink:{defaultValue:null,description:"Returns a HTML element",name:"blink",required:!0,type:{name:"() => string"}},bold:{defaultValue:null,description:"Returns a HTML element",name:"bold",required:!0,type:{name:"() => string"}},fixed:{defaultValue:null,description:"Returns a HTML element",name:"fixed",required:!0,type:{name:"() => string"}},fontcolor:{defaultValue:null,description:"Returns a HTML element and sets the color attribute value",name:"fontcolor",required:!0,type:{name:"(color: string) => string"}},fontsize:{defaultValue:null,description:"Returns a HTML element and sets the size attribute value\nReturns a HTML element and sets the size attribute value",name:"fontsize",required:!0,type:{name:"{ (size: number): string; (size: string): string; }"}},italics:{defaultValue:null,description:"Returns an HTML element",name:"italics",required:!0,type:{name:"() => string"}},link:{defaultValue:null,description:"Returns an HTML element and sets the href attribute value",name:"link",required:!0,type:{name:"(url: string) => string"}},small:{defaultValue:null,description:"Returns a HTML element",name:"small",required:!0,type:{name:"() => string"}},strike:{defaultValue:null,description:"Returns a HTML element",name:"strike",required:!0,type:{name:"() => string"}},sub:{defaultValue:null,description:"Returns a HTML element",name:"sub",required:!0,type:{name:"() => string"}},sup:{defaultValue:null,description:"Returns a HTML element",name:"sup",required:!0,type:{name:"() => string"}},"__@iterator":{defaultValue:null,description:"Iterator",name:"__@iterator",required:!0,type:{name:"() => IterableIterator"}},padStart:{defaultValue:null,description:'Pads the current string with a given string (possibly repeated) so that the resulting string reaches a given length.\nThe padding is applied from the start (left) of the current string.\n@param maxLength The length of the resulting string once the current string has been padded.\rIf this parameter is smaller than the current string\'s length, the current string will be returned as it is.\n@param fillString The string to pad the current string with.\rIf this string is too long, it will be truncated and the left-most part will be applied.\rThe default value for this parameter is " " (U+0020).',name:"padStart",required:!0,type:{name:"(maxLength: number, fillString?: string) => string"}},padEnd:{defaultValue:null,description:'Pads the current string with a given string (possibly repeated) so that the resulting string reaches a given length.\nThe padding is applied from the end (right) of the current string.\n@param maxLength The length of the resulting string once the current string has been padded.\rIf this parameter is smaller than the current string\'s length, the current string will be returned as it is.\n@param fillString The string to pad the current string with.\rIf this string is too long, it will be truncated and the left-most part will be applied.\rThe default value for this parameter is " " (U+0020).',name:"padEnd",required:!0,type:{name:"(maxLength: number, fillString?: string) => string"}},trimLeft:{defaultValue:null,description:"Removes whitespace from the left end of a string.",name:"trimLeft",required:!0,type:{name:"() => string"}},trimRight:{defaultValue:null,description:"Removes whitespace from the right end of a string.",name:"trimRight",required:!0,type:{name:"() => string"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/form/NewPasswordInput/PasswordStrength/rules.ts#hasNoSpaces"]={docgenInfo:hasNoSpaces.__docgenInfo,name:"hasNoSpaces",path:"src/form/NewPasswordInput/PasswordStrength/rules.ts#hasNoSpaces"})}catch(__react_docgen_typescript_loader_error){}function checkRule(obj,rule,value,minimumLength){switch(rule){case"lowercase":return Object.assign(Object.assign({},obj),{[rule]:hasLowercase(value)});case"uppercase":return Object.assign(Object.assign({},obj),{[rule]:hasUppercase(value)});case"number":return Object.assign(Object.assign({},obj),{[rule]:hasNumber(value)});case"specialChar":return Object.assign(Object.assign({},obj),{[rule]:hasSpecialChar(value)});case"minimumLength":return Object.assign(Object.assign({},obj),{[rule]:hasMinimumLength(minimumLength,value)});case"noSpace":return Object.assign(Object.assign({},obj),{[rule]:hasNoSpaces(value)})}}function PasswordStrength(props){const{password:password,rules:rules,minimumLength:minimumLength=10,showMeter:showMeter=!0}=props,compliant=function useRules(rules,password,minimumLength){const[compliant,setCompliant]=Object(react.useState)(rules.reduce((obj,rule)=>checkRule(obj,rule,password,minimumLength),{}));return Object(react.useEffect)(()=>{setCompliant(rules.reduce((obj,rule)=>checkRule(obj,rule,password,minimumLength),{}))},[password,rules,setCompliant,minimumLength]),compliant}(rules,password,minimumLength),meterWidth=useMeterWidth(compliant);return react_default.a.createElement(react_default.a.Fragment,null,showMeter?react_default.a.createElement(Progress.a,{color:meterWidth>=100?"success":meterWidth>=75?"warning":"danger",value:meterWidth,className:"mb-2",style:{height:5}}):null,react_default.a.createElement("div",{className:"mb-2"},rules.map(rule=>{const isCompliant=compliant[rule];return react_default.a.createElement("div",{key:rule},react_default.a.createElement(Icon.a,{icon:isCompliant?"check_circle":"cancel",color:isCompliant?"success":"danger",size:16,className:"align-bottom mb-1 mr-3"}),Object(translation.a)(function labelForRule(rule,minimumLength){switch(rule){case"lowercase":return{key:"PasswordStrength.LOWERCASE",fallback:"Must contain at least one lowercase letter"};case"uppercase":return{key:"PasswordStrength.UPPERCASE",fallback:"Must contain at least one uppercase letter"};case"number":return{key:"PasswordStrength.NUMBER",fallback:"Must contain at least one number"};case"specialChar":return{key:"PasswordStrength.SPECIAL_CHAR",data:{specialCharacters:"@#$%^&+=.,?!"},fallback:"Must contain at least one special character (@#$%^&+=.,?!)"};case"minimumLength":return{key:"PasswordStrength.MINIMUM_LENGTH",data:{minimumLength:minimumLength},fallback:`Must contain at least ${minimumLength} characters`};case"noSpace":return{key:"PasswordStrength.NO_SPACE",fallback:"Must not contain any space"}}}(rule,minimumLength)))})))}try{PasswordStrength.displayName="PasswordStrength",PasswordStrength.__docgenInfo={description:"",displayName:"PasswordStrength",props:{password:{defaultValue:null,description:"The password to match the rule to.",name:"password",required:!0,type:{name:"string"}},rules:{defaultValue:null,description:"The list of rules to be matched.",name:"rules",required:!0,type:{name:"Rule[]"}},minimumLength:{defaultValue:null,description:"Optionally the minimum length of the password.",name:"minimumLength",required:!1,type:{name:"number"}},showMeter:{defaultValue:{value:"true"},description:"Whether or not to display a meter or only a list of rules.\nDefaults to true.",name:"showMeter",required:!1,type:{name:"boolean"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/form/NewPasswordInput/PasswordStrength/PasswordStrength.tsx#PasswordStrength"]={docgenInfo:PasswordStrength.__docgenInfo,name:"PasswordStrength",path:"src/form/NewPasswordInput/PasswordStrength/PasswordStrength.tsx#PasswordStrength"})}catch(__react_docgen_typescript_loader_error){}function NewPasswordInput(props){var _a;const rules=function getRulesFromProps(props){const{lowercase:lowercase=!0,uppercase:uppercase=!0,number:number=!0,specialCharacter:specialCharacter=!0,minimumLength:minimumLength=10,noSpace:noSpace=!0}=props,rules=[];lowercase&&rules.push("lowercase");uppercase&&rules.push("uppercase");number&&rules.push("number");specialCharacter&&rules.push("specialChar");minimumLength>0&&rules.push("minimumLength");noSpace&&rules.push("noSpace");return rules}(props),inputProps=Object(lodash.omit)(props,["lowercase","uppercase","number","specialCharacter","minimumLength","noSpace","showMeter"]);inputProps.type="password";const passwordStrengthProps=Object(lodash.pick)(props,["minimumLength","showMeter"]);return react_default.a.createElement(react_default.a.Fragment,null,react_default.a.createElement(Input.b,Object.assign({},inputProps)),react_default.a.createElement(PasswordStrength,Object.assign({password:(_a=inputProps.value,null!=_a?_a:""),rules:rules},passwordStrengthProps)))}__webpack_require__.d(__webpack_exports__,"b",(function(){return NewPasswordInput})),__webpack_require__.d(__webpack_exports__,"a",(function(){return JarbNewPasswordInput})),__webpack_require__.d(__webpack_exports__,"c",(function(){return isStrongPassword}));const JarbNewPasswordInput=Object(withJarb.a)(NewPasswordInput);function isStrongPassword(rules,minimumLength){return value=>{if(!rules.map(rule=>{switch(rule){case"lowercase":return hasLowercase(value);case"uppercase":return hasUppercase(value);case"number":return hasNumber(value);case"specialChar":return hasSpecialChar(value);case"minimumLength":return hasMinimumLength(minimumLength,value);case"noSpace":return hasNoSpaces(value)}}).every(value=>value))return{key:"NewPasswordInput.NOT_STRONG_ENOUGH",fallback:"Password does not follow rules"}}}try{NewPasswordInput.displayName="NewPasswordInput",NewPasswordInput.__docgenInfo={description:"",displayName:"NewPasswordInput",props:{lowercase:{defaultValue:{value:"true"},description:"Whether or not the password should contain at least one lowercase letter.\nDefaults to true.",name:"lowercase",required:!1,type:{name:"boolean"}},uppercase:{defaultValue:{value:"true"},description:"Whether or not the password should contain at least one uppercase letter.\nDefaults to true.",name:"uppercase",required:!1,type:{name:"boolean"}},number:{defaultValue:{value:"true"},description:"Whether or not the password should contain at least one number.\nDefaults to true.",name:"number",required:!1,type:{name:"boolean"}},specialCharacter:{defaultValue:{value:"true"},description:"Whether or not the password should contain at least one special character.\nDefaults to true.",name:"specialCharacter",required:!1,type:{name:"boolean"}},minimumLength:{defaultValue:{value:"10"},description:"Optionally the minimum length of the password.\nDefaults to 10.",name:"minimumLength",required:!1,type:{name:"number"}},noSpace:{defaultValue:{value:"true"},description:"Whether or not the password should not contain any space.\nDefaults to true.",name:"noSpace",required:!1,type:{name:"boolean"}},showMeter:{defaultValue:{value:"true"},description:"Whether or not to display a meter or only a list of rules.\nDefaults to true.",name:"showMeter",required:!1,type:{name:"boolean"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/form/NewPasswordInput/NewPasswordInput.tsx#NewPasswordInput"]={docgenInfo:NewPasswordInput.__docgenInfo,name:"NewPasswordInput",path:"src/form/NewPasswordInput/NewPasswordInput.tsx#NewPasswordInput"})}catch(__react_docgen_typescript_loader_error){}try{isStrongPassword.displayName="isStrongPassword",isStrongPassword.__docgenInfo={description:"Takes `rules` and a minimum length and returns a validator which can check if the\nthe password complies to the rules.\n@export\n@param rules The rules the password should comply to.\n@param minimumLength The minimum length of the password.\n@returns",displayName:"isStrongPassword",props:{}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/form/NewPasswordInput/NewPasswordInput.tsx#isStrongPassword"]={docgenInfo:isStrongPassword.__docgenInfo,name:"isStrongPassword",path:"src/form/NewPasswordInput/NewPasswordInput.tsx#isStrongPassword"})}catch(__react_docgen_typescript_loader_error){}try{JarbNewPasswordInput.displayName="JarbNewPasswordInput",JarbNewPasswordInput.__docgenInfo={description:"Variant of the FileInput which can be used in a Jarb context.",displayName:"JarbNewPasswordInput",props:{}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/form/NewPasswordInput/NewPasswordInput.tsx#JarbNewPasswordInput"]={docgenInfo:JarbNewPasswordInput.__docgenInfo,name:"JarbNewPasswordInput",path:"src/form/NewPasswordInput/NewPasswordInput.tsx#JarbNewPasswordInput"})}catch(__react_docgen_typescript_loader_error){}},111:function(module,__webpack_exports__,__webpack_require__){"use strict";var react=__webpack_require__(0),react_default=__webpack_require__.n(react),Icon=__webpack_require__(63);function nextDirection(direction){return"ASC"===direction?"DESC":"ASC"}try{nextDirection.displayName="nextDirection",nextDirection.__docgenInfo={description:"",displayName:"nextDirection",props:{toString:{defaultValue:null,description:"Returns a string representation of a string.",name:"toString",required:!1,type:{name:"() => string"}},charAt:{defaultValue:null,description:"Returns the character at the specified index.\n@param pos The zero-based index of the desired character.",name:"charAt",required:!0,type:{name:"(pos: number) => string"}},charCodeAt:{defaultValue:null,description:"Returns the Unicode value of the character at the specified location.\n@param index The zero-based index of the desired character. If there is no character at the specified index, NaN is returned.",name:"charCodeAt",required:!0,type:{name:"(index: number) => number"}},concat:{defaultValue:null,description:"Returns a string that contains the concatenation of two or more strings.\n@param strings The strings to append to the end of the string.",name:"concat",required:!0,type:{name:"(...strings: string[]) => string"}},indexOf:{defaultValue:null,description:"Returns the position of the first occurrence of a substring.\n@param searchString The substring to search for in the string\n@param position The index at which to begin searching the String object. If omitted, search starts at the beginning of the string.",name:"indexOf",required:!0,type:{name:"(searchString: string, position?: number) => number"}},lastIndexOf:{defaultValue:null,description:"Returns the last occurrence of a substring in the string.\n@param searchString The substring to search for.\n@param position The index at which to begin searching. If omitted, the search begins at the end of the string.",name:"lastIndexOf",required:!0,type:{name:"(searchString: string, position?: number) => number"}},localeCompare:{defaultValue:null,description:"Determines whether two strings are equivalent in the current locale.\nDetermines whether two strings are equivalent in the current or specified locale.\n@param that String to compare to target string\n@param that String to compare to target string\n@param locales A locale string or array of locale strings that contain one or more language or locale tags. If you include more than one locale string, list them in descending order of priority so that the first entry is the preferred locale. If you omit this parameter, the default locale of the JavaScript runtime is used. This parameter must conform to BCP 47 standards; see the Intl.Collator object for details.\n@param options An object that contains one or more properties that specify comparison options. see the Intl.Collator object for details.",name:"localeCompare",required:!0,type:{name:"{ (that: string): number; (that: string, locales?: string | string[], options?: CollatorOptions): number; }"}},match:{defaultValue:null,description:"Matches a string with a regular expression, and returns an array containing the results of that search.\nMatches a string an object that supports being matched against, and returns an array containing the results of that search.\n@param regexp A variable name or string literal containing the regular expression pattern and flags.\n@param matcher An object that supports being matched against.",name:"match",required:!0,type:{name:"{ (regexp: string | RegExp): RegExpMatchArray; (matcher: { [Symbol.match](string: string): RegExpMatchArray; }): RegExpMatchArray; }"}},replace:{defaultValue:null,description:"Replaces text in a string, using a regular expression or search string.\nReplaces text in a string, using a regular expression or search string.\nReplaces text in a string, using an object that supports replacement within a string.\nReplaces text in a string, using an object that supports replacement within a string.\n@param searchValue A string to search for.\n@param replaceValue A string containing the text to replace for every successful match of searchValue in this string.\n@param searchValue A string to search for.\n@param replacer A function that returns the replacement text.\n@param searchValue A object can search for and replace matches within a string.\n@param replaceValue A string containing the text to replace for every successful match of searchValue in this string.\n@param searchValue A object can search for and replace matches within a string.\n@param replacer A function that returns the replacement text.",name:"replace",required:!0,type:{name:"{ (searchValue: string | RegExp, replaceValue: string): string; (searchValue: string | RegExp, replacer: (substring: string, ...args: any[]) => string): string; (searchValue: { ...; }, replaceValue: string): string; (searchValue: { ...; }, replacer: (substring: string, ...args: any[]) => string): string; }"}},search:{defaultValue:null,description:"Finds the first substring match in a regular expression search.\nFinds the first substring match in a regular expression search.\n@param regexp The regular expression pattern and applicable flags.\n@param searcher An object which supports searching within a string.",name:"search",required:!0,type:{name:"{ (regexp: string | RegExp): number; (searcher: { [Symbol.search](string: string): number; }): number; }"}},slice:{defaultValue:null,description:"Returns a section of a string.\n@param start The index to the beginning of the specified portion of stringObj.\n@param end The index to the end of the specified portion of stringObj. The substring includes the characters up to, but not including, the character indicated by end.\rIf this value is not specified, the substring continues to the end of stringObj.",name:"slice",required:!0,type:{name:"(start?: number, end?: number) => string"}},split:{defaultValue:null,description:"Split a string into substrings using the specified separator and return them as an array.\nSplit a string into substrings using the specified separator and return them as an array.\n@param separator A string that identifies character or characters to use in separating the string. If omitted, a single-element array containing the entire string is returned.\n@param limit A value used to limit the number of elements returned in the array.\n@param splitter An object that can split a string.\n@param limit A value used to limit the number of elements returned in the array.",name:"split",required:!0,type:{name:"{ (separator: string | RegExp, limit?: number): string[]; (splitter: { [Symbol.split](string: string, limit?: number): string[]; }, limit?: number): string[]; }"}},substring:{defaultValue:null,description:"Returns the substring at the specified location within a String object.\n@param start The zero-based index number indicating the beginning of the substring.\n@param end Zero-based index number indicating the end of the substring. The substring includes the characters up to, but not including, the character indicated by end.\rIf end is omitted, the characters from start through the end of the original string are returned.",name:"substring",required:!0,type:{name:"(start: number, end?: number) => string"}},toLowerCase:{defaultValue:null,description:"Converts all the alphabetic characters in a string to lowercase.",name:"toLowerCase",required:!0,type:{name:"() => string"}},toLocaleLowerCase:{defaultValue:null,description:"Converts all alphabetic characters to lowercase, taking into account the host environment's current locale.",name:"toLocaleLowerCase",required:!0,type:{name:"(locales?: string | string[]) => string"}},toUpperCase:{defaultValue:null,description:"Converts all the alphabetic characters in a string to uppercase.",name:"toUpperCase",required:!0,type:{name:"() => string"}},toLocaleUpperCase:{defaultValue:null,description:"Returns a string where all alphabetic characters have been converted to uppercase, taking into account the host environment's current locale.",name:"toLocaleUpperCase",required:!0,type:{name:"(locales?: string | string[]) => string"}},trim:{defaultValue:null,description:"Removes the leading and trailing white space and line terminator characters from a string.",name:"trim",required:!0,type:{name:"() => string"}},length:{defaultValue:null,description:"Returns the length of a String object.",name:"length",required:!0,type:{name:"number"}},substr:{defaultValue:null,description:"Gets a substring beginning at the specified location and having the specified length.\n@param from The starting position of the desired substring. The index of the first character in the string is zero.\n@param length The number of characters to include in the returned substring.",name:"substr",required:!0,type:{name:"(from: number, length?: number) => string"}},valueOf:{defaultValue:null,description:"Returns the primitive value of the specified object.",name:"valueOf",required:!1,type:{name:"() => string"}},codePointAt:{defaultValue:null,description:"Returns a nonnegative integer Number less than 1114112 (0x110000) that is the code point\nvalue of the UTF-16 encoded code point starting at the string element at position pos in\r\nthe String resulting from converting this object to a String.\r\nIf there is no element at that position, the result is undefined.\r\nIf a valid UTF-16 surrogate pair does not begin at pos, the result is the code unit at pos.",name:"codePointAt",required:!0,type:{name:"(pos: number) => number"}},includes:{defaultValue:null,description:"Returns true if searchString appears as a substring of the result of converting this\nobject to a String, at one or more positions that are\r\ngreater than or equal to position; otherwise, returns false.\n@param searchString search string\n@param position If position is undefined, 0 is assumed, so as to search all of the String.",name:"includes",required:!0,type:{name:"(searchString: string, position?: number) => boolean"}},endsWith:{defaultValue:null,description:"Returns true if the sequence of elements of searchString converted to a String is the\nsame as the corresponding elements of this object (converted to a String) starting at\r\nendPosition – length(this). Otherwise returns false.",name:"endsWith",required:!0,type:{name:"(searchString: string, endPosition?: number) => boolean"}},normalize:{defaultValue:null,description:'Returns the String value result of normalizing the string into the normalization form\nnamed by form as specified in Unicode Standard Annex #15, Unicode Normalization Forms.\nReturns the String value result of normalizing the string into the normalization form\r\nnamed by form as specified in Unicode Standard Annex #15, Unicode Normalization Forms.\n@param form Applicable values: "NFC", "NFD", "NFKC", or "NFKD", If not specified default\ris "NFC"\n@param form Applicable values: "NFC", "NFD", "NFKC", or "NFKD", If not specified default\ris "NFC"',name:"normalize",required:!0,type:{name:'{ (form: "NFC" | "NFD" | "NFKC" | "NFKD"): string; (form?: string): string; }'}},repeat:{defaultValue:null,description:"Returns a String value that is made from count copies appended together. If count is 0,\nthe empty string is returned.\n@param count number of copies to append",name:"repeat",required:!0,type:{name:"(count: number) => string"}},startsWith:{defaultValue:null,description:"Returns true if the sequence of elements of searchString converted to a String is the\nsame as the corresponding elements of this object (converted to a String) starting at\r\nposition. Otherwise returns false.",name:"startsWith",required:!0,type:{name:"(searchString: string, position?: number) => boolean"}},anchor:{defaultValue:null,description:"Returns an HTML anchor element and sets the name attribute to the text value\n@param name",name:"anchor",required:!0,type:{name:"(name: string) => string"}},big:{defaultValue:null,description:"Returns a HTML element",name:"big",required:!0,type:{name:"() => string"}},blink:{defaultValue:null,description:"Returns a HTML element",name:"blink",required:!0,type:{name:"() => string"}},bold:{defaultValue:null,description:"Returns a HTML element",name:"bold",required:!0,type:{name:"() => string"}},fixed:{defaultValue:null,description:"Returns a HTML element",name:"fixed",required:!0,type:{name:"() => string"}},fontcolor:{defaultValue:null,description:"Returns a HTML element and sets the color attribute value",name:"fontcolor",required:!0,type:{name:"(color: string) => string"}},fontsize:{defaultValue:null,description:"Returns a HTML element and sets the size attribute value\nReturns a HTML element and sets the size attribute value",name:"fontsize",required:!0,type:{name:"{ (size: number): string; (size: string): string; }"}},italics:{defaultValue:null,description:"Returns an HTML element",name:"italics",required:!0,type:{name:"() => string"}},link:{defaultValue:null,description:"Returns an HTML element and sets the href attribute value",name:"link",required:!0,type:{name:"(url: string) => string"}},small:{defaultValue:null,description:"Returns a HTML element",name:"small",required:!0,type:{name:"() => string"}},strike:{defaultValue:null,description:"Returns a HTML element",name:"strike",required:!0,type:{name:"() => string"}},sub:{defaultValue:null,description:"Returns a HTML element",name:"sub",required:!0,type:{name:"() => string"}},sup:{defaultValue:null,description:"Returns a HTML element",name:"sup",required:!0,type:{name:"() => string"}},"__@iterator":{defaultValue:null,description:"Iterator",name:"__@iterator",required:!0,type:{name:"() => IterableIterator"}},padStart:{defaultValue:null,description:'Pads the current string with a given string (possibly repeated) so that the resulting string reaches a given length.\nThe padding is applied from the start (left) of the current string.\n@param maxLength The length of the resulting string once the current string has been padded.\rIf this parameter is smaller than the current string\'s length, the current string will be returned as it is.\n@param fillString The string to pad the current string with.\rIf this string is too long, it will be truncated and the left-most part will be applied.\rThe default value for this parameter is " " (U+0020).',name:"padStart",required:!0,type:{name:"(maxLength: number, fillString?: string) => string"}},padEnd:{defaultValue:null,description:'Pads the current string with a given string (possibly repeated) so that the resulting string reaches a given length.\nThe padding is applied from the end (right) of the current string.\n@param maxLength The length of the resulting string once the current string has been padded.\rIf this parameter is smaller than the current string\'s length, the current string will be returned as it is.\n@param fillString The string to pad the current string with.\rIf this string is too long, it will be truncated and the left-most part will be applied.\rThe default value for this parameter is " " (U+0020).',name:"padEnd",required:!0,type:{name:"(maxLength: number, fillString?: string) => string"}},trimLeft:{defaultValue:null,description:"Removes whitespace from the left end of a string.",name:"trimLeft",required:!0,type:{name:"() => string"}},trimRight:{defaultValue:null,description:"Removes whitespace from the right end of a string.",name:"trimRight",required:!0,type:{name:"() => string"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/table/EpicTable/widgets/EpicSort/utils.ts#nextDirection"]={docgenInfo:nextDirection.__docgenInfo,name:"nextDirection",path:"src/table/EpicTable/widgets/EpicSort/utils.ts#nextDirection"})}catch(__react_docgen_typescript_loader_error){}function EpicSort({direction:direction,onChange:onChange}){return react_default.a.createElement(Icon.a,{className:"pr-1",onClick:()=>onChange(nextDirection(direction)),icon:iconForDirection(direction)})}function iconForDirection(direction){return"ASC"===direction?"arrow_drop_up":"DESC"===direction?"arrow_drop_down":"sort"}__webpack_require__.d(__webpack_exports__,"a",(function(){return EpicSort}));try{EpicSort.displayName="EpicSort",EpicSort.__docgenInfo={description:"The EpicSort is a button which shows the user a sort direction. When\nthe user clicks the button it will go to the next direction.\n\nThe directions go from:\n\n NONE -> ASC -> DESC\n ^ |\n |--------",displayName:"EpicSort",props:{direction:{defaultValue:null,description:"The current direction of the sort.",name:"direction",required:!0,type:{name:"Direction"}},onChange:{defaultValue:null,description:"The callback which is called when the direction changes.",name:"onChange",required:!0,type:{name:"(direction: Direction) => void"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/table/EpicTable/widgets/EpicSort/EpicSort.tsx#EpicSort"]={docgenInfo:EpicSort.__docgenInfo,name:"EpicSort",path:"src/table/EpicTable/widgets/EpicSort/EpicSort.tsx#EpicSort"})}catch(__react_docgen_typescript_loader_error){}},1131:function(module,exports){},114:function(module,__webpack_exports__,__webpack_require__){"use strict";function isOptionSelected({option:option,optionForValue:optionForValue,isOptionEqual:isOptionEqual,value:value}){if(!value)return!1;if(Array.isArray(value)){if(isOptionEqual)return value.some(v=>isOptionEqual(v,option));{const label=optionForValue(option);return value.some(v=>label===optionForValue(v))}}if(isOptionEqual)return isOptionEqual(value,option);return optionForValue(option)===optionForValue(value)}__webpack_require__.d(__webpack_exports__,"a",(function(){return isOptionSelected}));try{isOptionSelected.displayName="isOptionSelected",isOptionSelected.__docgenInfo={description:"",displayName:"isOptionSelected",props:{option:{defaultValue:null,description:"",name:"option",required:!0,type:{name:"T"}},optionForValue:{defaultValue:null,description:"",name:"optionForValue",required:!0,type:{name:"OptionForValue"}},isOptionEqual:{defaultValue:null,description:"",name:"isOptionEqual",required:!1,type:{name:"OptionEqual"}},value:{defaultValue:null,description:"",name:"value",required:!1,type:{name:"T | T[]"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/form/option.ts#isOptionSelected"]={docgenInfo:isOptionSelected.__docgenInfo,name:"isOptionSelected",path:"src/form/option.ts#isOptionSelected"})}catch(__react_docgen_typescript_loader_error){}},115:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"b",(function(){return CheckboxMultipleSelect})),__webpack_require__.d(__webpack_exports__,"a",(function(){return JarbCheckboxMultipleSelect}));var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),reactstrap__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(88),reactstrap__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(89),reactstrap__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(43),reactstrap__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(17),reactstrap__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(71),lodash__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(16),_withJarb_withJarb__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__(33),_core_Spinner_Spinner__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__(69),_option__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__(114),_utilities_translation_translation__WEBPACK_IMPORTED_MODULE_10__=__webpack_require__(21),_utils__WEBPACK_IMPORTED_MODULE_11__=__webpack_require__(55),__awaiter=function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){result.done?resolve(result.value):function adopt(value){return value instanceof P?value:new P((function(resolve){resolve(value)}))}(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))},__rest=function(s,e){var t={};for(var p in s)Object.prototype.hasOwnProperty.call(s,p)&&e.indexOf(p)<0&&(t[p]=s[p]);if(null!=s&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(p=Object.getOwnPropertySymbols(s);iv!==option):selected.push(option),onChange(selected),Object(_utils__WEBPACK_IMPORTED_MODULE_11__.a)(onBlur)}render(){const _a=this.props,{id:id,error:error,color:color,text:text={},className:className="",placeholder:placeholder}=_a,props=__rest(_a,["id","error","color","text","className","placeholder"]),{loading:loading}=this.state;return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_1__.a,{className:className,color:color},"label"in props&&props.label?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_2__.a,{for:id},props.label):null,placeholder?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p",{className:"text-muted"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("em",null,placeholder)):null,loading?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_Spinner_Spinner__WEBPACK_IMPORTED_MODULE_8__.a,{color:"black",size:16}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span",null,Object(_utilities_translation_translation__WEBPACK_IMPORTED_MODULE_10__.a)({key:"Select.LOADING",fallback:"Loading...",overrideText:text.loadingMessage}))):this.renderCheckboxes(),error)}renderCheckboxes(){const{horizontal:horizontal=!1}=this.props;if(horizontal)return this.renderOptions(this.state.options,!0);{const{options:options}=this.state,chunks=Object(lodash__WEBPACK_IMPORTED_MODULE_6__.chunk)(options,10);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_3__.a,null,chunks.map((options,index)=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_4__.a,{xs:"auto",key:index,style:{width:"300px"}},this.renderOptions(options,!1))))}}renderOptions(options,horizontal){const{optionForValue:optionForValue,value:value,isOptionEqual:isOptionEqual}=this.props,isOptionEnabled=Object(lodash__WEBPACK_IMPORTED_MODULE_6__.get)(this.props,"isOptionEnabled",Object(lodash__WEBPACK_IMPORTED_MODULE_6__.constant)(!0));return options.map((option,index)=>{const label=optionForValue(option),isChecked=Object(_option__WEBPACK_IMPORTED_MODULE_9__.a)({option:option,optionForValue:optionForValue,isOptionEqual:isOptionEqual,value:value});return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_1__.a,{check:!0,key:label,inline:horizontal},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_2__.a,{check:!0},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_5__.a,{type:"checkbox",checked:isChecked,value:index,disabled:!isOptionEnabled(option),onChange:()=>this.optionClicked(option,isChecked)})," ",label))})}}const JarbCheckboxMultipleSelect=Object(_withJarb_withJarb__WEBPACK_IMPORTED_MODULE_7__.a)(CheckboxMultipleSelect);try{CheckboxMultipleSelect.displayName="CheckboxMultipleSelect",CheckboxMultipleSelect.__docgenInfo={description:"Select is a form element for which the value can be selected\nfrom a limited range.",displayName:"CheckboxMultipleSelect",props:{id:{defaultValue:null,description:"The id of the form element.",name:"id",required:!1,type:{name:"string"}},label:{defaultValue:null,description:"The label of the form element.",name:"label",required:!1,type:{name:"any"}},value:{defaultValue:null,description:"The value that the form element currently has.",name:"value",required:!1,type:{name:"T[]"}},onChange:{defaultValue:null,description:"Callback for when the form element changes.",name:"onChange",required:!0,type:{name:"(value: T[]) => void"}},onBlur:{defaultValue:null,description:"Optional callback for when the form element is blurred.",name:"onBlur",required:!1,type:{name:"() => void"}},options:{defaultValue:null,description:"Is either an array of options or a callback which fetches\nthe options asynchronously.",name:"options",required:!0,type:{name:"T[] | OptionsFetcher"}},optionForValue:{defaultValue:null,description:"Callback to convert an value of type T to an option to show\nto the user.",name:"optionForValue",required:!0,type:{name:"OptionForValue"}},isOptionEqual:{defaultValue:null,description:"Optional callback which is used to determine if two options\nof type T are equal.\n\nWhen `isOptionEqual` is not defined the outcome of `optionForValue`\nis used to test equality.",name:"isOptionEqual",required:!1,type:{name:"OptionEqual"}},isOptionEnabled:{defaultValue:null,description:"Optional callback which is called for every option to determine\nif the option can be selected. By default all options can be\nselected.",name:"isOptionEnabled",required:!1,type:{name:"OptionEnabledCallback"}},error:{defaultValue:null,description:"Optionally the error message to render.",name:"error",required:!1,type:{name:"any"}},color:{defaultValue:null,description:"Optionally the color of the FormGroup.",name:"color",required:!1,type:{name:"Color"}},valid:{defaultValue:null,description:"Whether or not the form element is currently valid.",name:"valid",required:!1,type:{name:"boolean"}},className:{defaultValue:null,description:"Optional extra CSS class you want to add to the component.\nUseful for styling the component.",name:"className",required:!1,type:{name:"string"}},placeholder:{defaultValue:null,description:"The placeholder of the form element.",name:"placeholder",required:!1,type:{name:"string"}},text:{defaultValue:null,description:"Optionally customized text within the component.\nThis text should already be translated.",name:"text",required:!1,type:{name:"Text"}},horizontal:{defaultValue:null,description:"Whether or not to show the CheckboxMultipleSelect horizontally.\n\nDefaults to `false`",name:"horizontal",required:!1,type:{name:"boolean"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/form/CheckboxMultipleSelect/CheckboxMultipleSelect.tsx#CheckboxMultipleSelect"]={docgenInfo:CheckboxMultipleSelect.__docgenInfo,name:"CheckboxMultipleSelect",path:"src/form/CheckboxMultipleSelect/CheckboxMultipleSelect.tsx#CheckboxMultipleSelect"})}catch(__react_docgen_typescript_loader_error){}try{JarbCheckboxMultipleSelect.displayName="JarbCheckboxMultipleSelect",JarbCheckboxMultipleSelect.__docgenInfo={description:"Variant of the CheckboxMultipleSelect which can be used in a Jarb context.",displayName:"JarbCheckboxMultipleSelect",props:{}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/form/CheckboxMultipleSelect/CheckboxMultipleSelect.tsx#JarbCheckboxMultipleSelect"]={docgenInfo:JarbCheckboxMultipleSelect.__docgenInfo,name:"JarbCheckboxMultipleSelect",path:"src/form/CheckboxMultipleSelect/CheckboxMultipleSelect.tsx#JarbCheckboxMultipleSelect"})}catch(__react_docgen_typescript_loader_error){}},1176:function(module,exports){},12:function(module,__webpack_exports__,__webpack_require__){"use strict";var UserRole;!function(UserRole){UserRole.ADMIN="ADMIN",UserRole.USER="USER"}(UserRole||(UserRole={}));var lodash=__webpack_require__(16);__webpack_require__.d(__webpack_exports__,"c",(function(){return randomUser})),__webpack_require__.d(__webpack_exports__,"a",(function(){return adminUser})),__webpack_require__.d(__webpack_exports__,"d",(function(){return userUser})),__webpack_require__.d(__webpack_exports__,"b",(function(){return pageOfUsers}));Object.freeze({blur:()=>{},change:()=>{},focus:()=>{},name:"",error:"",invalid:!1,valid:!0});function randomUser(){const id=Object(lodash.random)(1,1e6);return{id:id,email:`user-${id}@42.nl`,firstName:`user-${id}`,lastName:"random",active:!0,roles:[UserRole.ADMIN]}}const admin={id:42,email:"admin@42.nl",firstName:"admin",lastName:"user",active:!0,roles:[UserRole.ADMIN]},adminUser=Object.freeze(admin),user={id:1337,email:"user@42.nl",firstName:"test",lastName:"user",active:!1,roles:[UserRole.USER]},userUser=Object.freeze(user),coordinator={id:777,email:"coordinator@42.nl",firstName:"coordinator",lastName:"user",active:!1,roles:[UserRole.ADMIN,UserRole.USER]},coordinatorUser=Object.freeze(coordinator),pageOfUsers=(Object.freeze({id:999,email:"nobody@42.nl",firstName:"no",lastName:"body",active:!1,roles:[]}),Object.freeze({content:[adminUser,coordinatorUser,userUser],last:!1,totalElements:9,totalPages:3,size:3,number:2,first:!1,numberOfElements:3}))},1218:function(module,exports){},122:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return TextButton}));var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);function TextButton({onClick:onClick,children:children,className:className}){return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("u",{role:"button",className:`align-self-center clickable font-weight-lighter ${null!=className?className:""}`,onClick:onClick},children)}try{TextButton.displayName="TextButton",TextButton.__docgenInfo={description:"The TextButton component is a special type of button which shows\nlike a styled text.",displayName:"TextButton",props:{onClick:{defaultValue:null,description:"Callback for what needs to happen when the button is clicked.",name:"onClick",required:!0,type:{name:"(event: any) => any"}},children:{defaultValue:null,description:"The text of the TextButton",name:"children",required:!0,type:{name:"ReactNode"}},className:{defaultValue:null,description:"Optional extra CSS class you want to add to the component.\nUseful for styling the component.",name:"className",required:!1,type:{name:"string"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/core/TextButton/TextButton.tsx#TextButton"]={docgenInfo:TextButton.__docgenInfo,name:"TextButton",path:"src/core/TextButton/TextButton.tsx#TextButton"})}catch(__react_docgen_typescript_loader_error){}},123:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return OpenCloseModal}));var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),reactstrap__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(939),reactstrap__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(934),reactstrap__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(935),reactstrap__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(510),_Button_Button__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(3),_utilities_translation_translation__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(21),_useBodyFixOnModalClose_useBodyFixOnModalClose__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__(364);function OpenCloseModal(props){var _a,_b;const{isOpen:isOpen,inProgress:inProgress,onClose:onClose,onSave:onSave,children:children,label:label,text:text,size:size,className:className}=props;return Object(_useBodyFixOnModalClose_useBodyFixOnModalClose__WEBPACK_IMPORTED_MODULE_7__.a)(isOpen),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_1__.a,{isOpen:isOpen,toggle:()=>onClose(),size:size,className:className},label?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_2__.a,{toggle:()=>onClose()},label):null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_3__.a,null,children),onSave?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_4__.a,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Button_Button__WEBPACK_IMPORTED_MODULE_5__.a,{className:"ml-1",color:"secondary",onClick:()=>onClose()},Object(_utilities_translation_translation__WEBPACK_IMPORTED_MODULE_6__.a)({overrideText:null===(_a=text)||void 0===_a?void 0:_a.cancel,key:"OpenCloseModal.CANCEL",fallback:"Cancel"})),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Button_Button__WEBPACK_IMPORTED_MODULE_5__.a,{className:"ml-1",color:"primary",inProgress:inProgress,onClick:()=>onSave()},Object(_utilities_translation_translation__WEBPACK_IMPORTED_MODULE_6__.a)({overrideText:null===(_b=text)||void 0===_b?void 0:_b.save,key:"OpenCloseModal.SAVE",fallback:"Save"}))):null)}try{OpenCloseModal.displayName="OpenCloseModal",OpenCloseModal.__docgenInfo={description:"",displayName:"OpenCloseModal",props:{isOpen:{defaultValue:null,description:"Whether or not the modal is open.",name:"isOpen",required:!0,type:{name:"boolean"}},inProgress:{defaultValue:null,description:"Whether or not the save action you are performing is currently in\nprogress. If so a spinner is rendered inside of the button.\nThis behavior is optional and default to `false`.",name:"inProgress",required:!1,type:{name:"boolean"}},onClose:{defaultValue:null,description:"Callback for when the modal should close.",name:"onClose",required:!0,type:{name:"() => void"}},onSave:{defaultValue:null,description:"Callback for when the save button is clicked.",name:"onSave",required:!1,type:{name:"() => void"}},children:{defaultValue:null,description:"The content of the modal body.",name:"children",required:!0,type:{name:"any"}},label:{defaultValue:null,description:"The label of the form element.",name:"label",required:!1,type:{name:"any"}},text:{defaultValue:null,description:"Optionally customized text within the component.\nThis text should already be translated.",name:"text",required:!1,type:{name:"Text"}},size:{defaultValue:null,description:"Optionally the size (width) of the modal.",name:"size",required:!1,type:{name:"BootstrapSize"}},className:{defaultValue:null,description:"Optional extra CSS class you want to add to the component.\nUseful for styling the component.",name:"className",required:!1,type:{name:"string"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/core/OpenCloseModal/OpenCloseModal.tsx#OpenCloseModal"]={docgenInfo:OpenCloseModal.__docgenInfo,name:"OpenCloseModal",path:"src/core/OpenCloseModal/OpenCloseModal.tsx#OpenCloseModal"})}catch(__react_docgen_typescript_loader_error){}},1257:function(module,exports){},126:function(module,__webpack_exports__,__webpack_require__){"use strict";function pageOf(content,page,size=10){const actualPage=page-1,slice=content.slice(size*actualPage,size*actualPage+size),totalPages=Math.max(1,Math.ceil(content.length/size));return{content:slice,last:page===totalPages,totalElements:content.length,totalPages:totalPages,size:slice.length,number:page,first:1===page,numberOfElements:slice.length}}__webpack_require__.d(__webpack_exports__,"a",(function(){return pageOf}))},127:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return AsyncPage}));var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),_AsyncContent_AsyncContent__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(101);function isEmpty(page){return 0===page.totalElements}function AsyncPage(props){return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_AsyncContent_AsyncContent__WEBPACK_IMPORTED_MODULE_1__.a,Object.assign({},props,{isEmpty:isEmpty}))}try{isEmpty.displayName="isEmpty",isEmpty.__docgenInfo={description:"",displayName:"isEmpty",props:{content:{defaultValue:null,description:"",name:"content",required:!0,type:{name:"T[]"}},last:{defaultValue:null,description:"",name:"last",required:!0,type:{name:"boolean"}},totalElements:{defaultValue:null,description:"",name:"totalElements",required:!0,type:{name:"number"}},totalPages:{defaultValue:null,description:"",name:"totalPages",required:!0,type:{name:"number"}},size:{defaultValue:null,description:"",name:"size",required:!0,type:{name:"number"}},number:{defaultValue:null,description:"",name:"number",required:!0,type:{name:"number"}},first:{defaultValue:null,description:"",name:"first",required:!0,type:{name:"boolean"}},numberOfElements:{defaultValue:null,description:"",name:"numberOfElements",required:!0,type:{name:"number"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/core/AsyncPage/AsyncPage.tsx#isEmpty"]={docgenInfo:isEmpty.__docgenInfo,name:"isEmpty",path:"src/core/AsyncPage/AsyncPage.tsx#isEmpty"})}catch(__react_docgen_typescript_loader_error){}try{AsyncPage.displayName="AsyncPage",AsyncPage.__docgenInfo={description:"The `AsyncPage` is a variant of `AsyncContent` which expects the\nresult of a call to `useAsync` from `react-async` to be a `Page`\nfrom `@42.nl/spring-connect`.\n\nIt has all the behaviors of the `AsyncContent` but provides a\nstandard `isEmpty` function which checks if the `totalElements`\nof the `Page` is zero.",displayName:"AsyncPage",props:{}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/core/AsyncPage/AsyncPage.tsx#AsyncPage"]={docgenInfo:AsyncPage.__docgenInfo,name:"AsyncPage",path:"src/core/AsyncPage/AsyncPage.tsx#AsyncPage"})}catch(__react_docgen_typescript_loader_error){}},128:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return AsyncList}));var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),_AsyncContent_AsyncContent__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(101);function isEmpty(list){return 0===list.length}function AsyncList(props){return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_AsyncContent_AsyncContent__WEBPACK_IMPORTED_MODULE_1__.a,Object.assign({},props,{isEmpty:isEmpty}))}try{isEmpty.displayName="isEmpty",isEmpty.__docgenInfo={description:"",displayName:"isEmpty",props:{length:{defaultValue:null,description:"Gets or sets the length of the array. This is a number one higher than the highest element defined in an array.",name:"length",required:!0,type:{name:"number"}},toString:{defaultValue:null,description:"Returns a string representation of an array.",name:"toString",required:!1,type:{name:"() => string"}},toLocaleString:{defaultValue:null,description:"Returns a string representation of an array. The elements are converted to string using their toLocalString methods.",name:"toLocaleString",required:!1,type:{name:"() => string"}},pop:{defaultValue:null,description:"Removes the last element from an array and returns it.",name:"pop",required:!0,type:{name:"() => T"}},push:{defaultValue:null,description:"Appends new elements to an array, and returns the new length of the array.\n@param items New elements of the Array.",name:"push",required:!0,type:{name:"(...items: T[]) => number"}},concat:{defaultValue:null,description:"Combines two or more arrays.\nCombines two or more arrays.\n@param items Additional items to add to the end of array1.\n@param items Additional items to add to the end of array1.",name:"concat",required:!0,type:{name:"{ (...items: ConcatArray[]): T[]; (...items: (T | ConcatArray)[]): T[]; }"}},join:{defaultValue:null,description:"Adds all the elements of an array separated by the specified separator string.\n@param separator A string used to separate one element of an array from the next in the resulting String. If omitted, the array elements are separated with a comma.",name:"join",required:!0,type:{name:"(separator?: string) => string"}},reverse:{defaultValue:null,description:"Reverses the elements in an Array.",name:"reverse",required:!0,type:{name:"() => T[]"}},shift:{defaultValue:null,description:"Removes the first element from an array and returns it.",name:"shift",required:!0,type:{name:"() => T"}},slice:{defaultValue:null,description:"Returns a section of an array.\n@param start The beginning of the specified portion of the array.\n@param end The end of the specified portion of the array. This is exclusive of the element at the index 'end'.",name:"slice",required:!0,type:{name:"(start?: number, end?: number) => T[]"}},sort:{defaultValue:null,description:"Sorts an array.\n@param compareFn Function used to determine the order of the elements. It is expected to return\ra negative value if first argument is less than second argument, zero if they're equal and a positive\rvalue otherwise. If omitted, the elements are sorted in ascending, ASCII character order.\r```ts\r[11,2,22,1].sort((a, b) => a - b)\r```",name:"sort",required:!0,type:{name:"(compareFn?: (a: T, b: T) => number) => T[]"}},splice:{defaultValue:null,description:"Removes elements from an array and, if necessary, inserts new elements in their place, returning the deleted elements.\nRemoves elements from an array and, if necessary, inserts new elements in their place, returning the deleted elements.\n@param start The zero-based location in the array from which to start removing elements.\n@param deleteCount The number of elements to remove.\n@param start The zero-based location in the array from which to start removing elements.\n@param deleteCount The number of elements to remove.\n@param items Elements to insert into the array in place of the deleted elements.",name:"splice",required:!0,type:{name:"{ (start: number, deleteCount?: number): T[]; (start: number, deleteCount: number, ...items: T[]): T[]; }"}},unshift:{defaultValue:null,description:"Inserts new elements at the start of an array.\n@param items Elements to insert at the start of the Array.",name:"unshift",required:!0,type:{name:"(...items: T[]) => number"}},indexOf:{defaultValue:null,description:"Returns the index of the first occurrence of a value in an array.\n@param searchElement The value to locate in the array.\n@param fromIndex The array index at which to begin the search. If fromIndex is omitted, the search starts at index 0.",name:"indexOf",required:!0,type:{name:"(searchElement: T, fromIndex?: number) => number"}},lastIndexOf:{defaultValue:null,description:"Returns the index of the last occurrence of a specified value in an array.\n@param searchElement The value to locate in the array.\n@param fromIndex The array index at which to begin the search. If fromIndex is omitted, the search starts at the last index in the array.",name:"lastIndexOf",required:!0,type:{name:"(searchElement: T, fromIndex?: number) => number"}},every:{defaultValue:null,description:"Determines whether all the members of an array satisfy the specified test.\n@param callbackfn A function that accepts up to three arguments. The every method calls\rthe callbackfn function for each element in the array until the callbackfn returns a value\rwhich is coercible to the Boolean value false, or until the end of the array.\n@param thisArg An object to which the this keyword can refer in the callbackfn function.\rIf thisArg is omitted, undefined is used as the this value.",name:"every",required:!0,type:{name:"(callbackfn: (value: T, index: number, array: T[]) => unknown, thisArg?: any) => boolean"}},some:{defaultValue:null,description:"Determines whether the specified callback function returns true for any element of an array.\n@param callbackfn A function that accepts up to three arguments. The some method calls\rthe callbackfn function for each element in the array until the callbackfn returns a value\rwhich is coercible to the Boolean value true, or until the end of the array.\n@param thisArg An object to which the this keyword can refer in the callbackfn function.\rIf thisArg is omitted, undefined is used as the this value.",name:"some",required:!0,type:{name:"(callbackfn: (value: T, index: number, array: T[]) => unknown, thisArg?: any) => boolean"}},forEach:{defaultValue:null,description:"Performs the specified action for each element in an array.\n@param callbackfn A function that accepts up to three arguments. forEach calls the callbackfn function one time for each element in the array.\n@param thisArg An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value.",name:"forEach",required:!0,type:{name:"(callbackfn: (value: T, index: number, array: T[]) => void, thisArg?: any) => void"}},map:{defaultValue:null,description:"Calls a defined callback function on each element of an array, and returns an array that contains the results.\n@param callbackfn A function that accepts up to three arguments. The map method calls the callbackfn function one time for each element in the array.\n@param thisArg An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value.",name:"map",required:!0,type:{name:"(callbackfn: (value: T, index: number, array: T[]) => U, thisArg?: any) => U[]"}},filter:{defaultValue:null,description:"Returns the elements of an array that meet the condition specified in a callback function.\nReturns the elements of an array that meet the condition specified in a callback function.\n@param callbackfn A function that accepts up to three arguments. The filter method calls the callbackfn function one time for each element in the array.\n@param thisArg An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value.\n@param callbackfn A function that accepts up to three arguments. The filter method calls the callbackfn function one time for each element in the array.\n@param thisArg An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value.",name:"filter",required:!0,type:{name:"{ (callbackfn: (value: T, index: number, array: T[]) => value is S, thisArg?: any): S[]; (callbackfn: (value: T, index: number, array: T[]) => unknown, thisArg?: any): T[]; }"}},reduce:{defaultValue:null,description:"Calls the specified callback function for all the elements in an array. The return value of the callback function is the accumulated result, and is provided as an argument in the next call to the callback function.\nCalls the specified callback function for all the elements in an array. The return value of the callback function is the accumulated result, and is provided as an argument in the next call to the callback function.\n@param callbackfn A function that accepts up to four arguments. The reduce method calls the callbackfn function one time for each element in the array.\n@param initialValue If initialValue is specified, it is used as the initial value to start the accumulation. The first call to the callbackfn function provides this value as an argument instead of an array value.\n@param callbackfn A function that accepts up to four arguments. The reduce method calls the callbackfn function one time for each element in the array.\n@param initialValue If initialValue is specified, it is used as the initial value to start the accumulation. The first call to the callbackfn function provides this value as an argument instead of an array value.",name:"reduce",required:!0,type:{name:"{ (callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T): T; (callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue: T): T; (callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U; }"}},reduceRight:{defaultValue:null,description:"Calls the specified callback function for all the elements in an array, in descending order. The return value of the callback function is the accumulated result, and is provided as an argument in the next call to the callback function.\nCalls the specified callback function for all the elements in an array, in descending order. The return value of the callback function is the accumulated result, and is provided as an argument in the next call to the callback function.\n@param callbackfn A function that accepts up to four arguments. The reduceRight method calls the callbackfn function one time for each element in the array.\n@param initialValue If initialValue is specified, it is used as the initial value to start the accumulation. The first call to the callbackfn function provides this value as an argument instead of an array value.\n@param callbackfn A function that accepts up to four arguments. The reduceRight method calls the callbackfn function one time for each element in the array.\n@param initialValue If initialValue is specified, it is used as the initial value to start the accumulation. The first call to the callbackfn function provides this value as an argument instead of an array value.",name:"reduceRight",required:!0,type:{name:"{ (callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T): T; (callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue: T): T; (callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U; }"}},find:{defaultValue:null,description:"Returns the value of the first element in the array where predicate is true, and undefined\notherwise.\n@param predicate find calls predicate once for each element of the array, in ascending\rorder, until it finds one where predicate returns true. If such an element is found, find\rimmediately returns that element value. Otherwise, find returns undefined.\n@param thisArg If provided, it will be used as the this value for each invocation of\rpredicate. If it is not provided, undefined is used instead.",name:"find",required:!0,type:{name:"{ (predicate: (this: void, value: T, index: number, obj: T[]) => value is S, thisArg?: any): S; (predicate: (value: T, index: number, obj: T[]) => unknown, thisArg?: any): T; }"}},findIndex:{defaultValue:null,description:"Returns the index of the first element in the array where predicate is true, and -1\notherwise.\n@param predicate find calls predicate once for each element of the array, in ascending\rorder, until it finds one where predicate returns true. If such an element is found,\rfindIndex immediately returns that element index. Otherwise, findIndex returns -1.\n@param thisArg If provided, it will be used as the this value for each invocation of\rpredicate. If it is not provided, undefined is used instead.",name:"findIndex",required:!0,type:{name:"(predicate: (value: T, index: number, obj: T[]) => unknown, thisArg?: any) => number"}},fill:{defaultValue:null,description:"Returns the this object after filling the section identified by start and end with value\n@param value value to fill array section with\n@param start index to start filling the array at. If start is negative, it is treated as\rlength+start where length is the length of the array.\n@param end index to stop filling the array at. If end is negative, it is treated as\rlength+end.",name:"fill",required:!0,type:{name:"(value: T, start?: number, end?: number) => T[]"}},copyWithin:{defaultValue:null,description:"Returns the this object after copying a section of the array identified by start and end\nto the same array starting at position target\n@param target If target is negative, it is treated as length+target where length is the\rlength of the array.\n@param start If start is negative, it is treated as length+start. If end is negative, it\ris treated as length+end.\n@param end If not specified, length of the this object is used as its default value.",name:"copyWithin",required:!0,type:{name:"(target: number, start: number, end?: number) => T[]"}},"__@iterator":{defaultValue:null,description:"Iterator",name:"__@iterator",required:!0,type:{name:"() => IterableIterator"}},entries:{defaultValue:null,description:"Returns an iterable of key, value pairs for every entry in the array",name:"entries",required:!0,type:{name:"() => IterableIterator<[number, T]>"}},keys:{defaultValue:null,description:"Returns an iterable of keys in the array",name:"keys",required:!0,type:{name:"() => IterableIterator"}},values:{defaultValue:null,description:"Returns an iterable of values in the array",name:"values",required:!0,type:{name:"() => IterableIterator"}},"__@unscopables":{defaultValue:null,description:"Returns an object whose properties have the value 'true'\nwhen they will be absent when used in a 'with' statement.",name:"__@unscopables",required:!0,type:{name:"() => { copyWithin: boolean; entries: boolean; fill: boolean; find: boolean; findIndex: boolean; keys: boolean; values: boolean; }"}},includes:{defaultValue:null,description:"Determines whether an array includes a certain element, returning true or false as appropriate.\n@param searchElement The element to search for.\n@param fromIndex The position in this array at which to begin searching for searchElement.",name:"includes",required:!0,type:{name:"(searchElement: T, fromIndex?: number) => boolean"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/core/AsyncList/AsyncList.tsx#isEmpty"]={docgenInfo:isEmpty.__docgenInfo,name:"isEmpty",path:"src/core/AsyncList/AsyncList.tsx#isEmpty"})}catch(__react_docgen_typescript_loader_error){}try{AsyncList.displayName="AsyncList",AsyncList.__docgenInfo={description:"The `AsyncList` is a variant of the `AsyncContent` which expects\nthe result of a call to `useAsync` from `react-async` to be an\narray.\n\nIt has all the behaviors of the `AsyncContent` but provides a\nstandard `isEmpty` function which checks if the array has the\n`length` zero.",displayName:"AsyncList",props:{}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/core/AsyncList/AsyncList.tsx#AsyncList"]={docgenInfo:AsyncList.__docgenInfo,name:"AsyncList",path:"src/core/AsyncList/AsyncList.tsx#AsyncList"})}catch(__react_docgen_typescript_loader_error){}},1287:function(module,exports){},132:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"b",(function(){return FileInput})),__webpack_require__.d(__webpack_exports__,"a",(function(){return JarbFileInput})),__webpack_require__.d(__webpack_exports__,"d",(function(){return requireFile})),__webpack_require__.d(__webpack_exports__,"c",(function(){return limitFileSize}));var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),lodash__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(16),reactstrap__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(88),reactstrap__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(89),reactstrap__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(511),reactstrap__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(71),_withJarb_withJarb__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(33),_utils__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__(55),_Input_Addon_Addon__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__(234),__rest=function(s,e){var t={};for(var p in s)Object.prototype.hasOwnProperty.call(s,p)&&e.indexOf(p)<0&&(t[p]=s[p]);if(null!=s&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(p=Object.getOwnPropertySymbols(s);ithis.onClick(event),onChange:event=>this.onChange(event)}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_4__.a,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_5__.a,Object.assign({},inputProps,{onChange:()=>{}})),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Input_Addon_Addon__WEBPACK_IMPORTED_MODULE_8__.a,{icon:value?"delete":"cloud_upload",position:"right",color:value||!1===valid?"danger":"primary"})),error)}}const JarbFileInput=Object(_withJarb_withJarb__WEBPACK_IMPORTED_MODULE_6__.a)(FileInput);function requireFile(label){return value=>{if(!value)return{key:"FileInput.REQUIRED",data:{label:label},fallback:`${label} is required`}}}function limitFileSize(size,label){return value=>{if(!(value instanceof File))return;if(void 0===value.size)return;const maxSizeInBytes=1048576*size;if(value.size string"}},charAt:{defaultValue:null,description:"Returns the character at the specified index.\n@param pos The zero-based index of the desired character.",name:"charAt",required:!0,type:{name:"(pos: number) => string"}},charCodeAt:{defaultValue:null,description:"Returns the Unicode value of the character at the specified location.\n@param index The zero-based index of the desired character. If there is no character at the specified index, NaN is returned.",name:"charCodeAt",required:!0,type:{name:"(index: number) => number"}},concat:{defaultValue:null,description:"Returns a string that contains the concatenation of two or more strings.\n@param strings The strings to append to the end of the string.",name:"concat",required:!0,type:{name:"(...strings: string[]) => string"}},indexOf:{defaultValue:null,description:"Returns the position of the first occurrence of a substring.\n@param searchString The substring to search for in the string\n@param position The index at which to begin searching the String object. If omitted, search starts at the beginning of the string.",name:"indexOf",required:!0,type:{name:"(searchString: string, position?: number) => number"}},lastIndexOf:{defaultValue:null,description:"Returns the last occurrence of a substring in the string.\n@param searchString The substring to search for.\n@param position The index at which to begin searching. If omitted, the search begins at the end of the string.",name:"lastIndexOf",required:!0,type:{name:"(searchString: string, position?: number) => number"}},localeCompare:{defaultValue:null,description:"Determines whether two strings are equivalent in the current locale.\nDetermines whether two strings are equivalent in the current or specified locale.\n@param that String to compare to target string\n@param that String to compare to target string\n@param locales A locale string or array of locale strings that contain one or more language or locale tags. If you include more than one locale string, list them in descending order of priority so that the first entry is the preferred locale. If you omit this parameter, the default locale of the JavaScript runtime is used. This parameter must conform to BCP 47 standards; see the Intl.Collator object for details.\n@param options An object that contains one or more properties that specify comparison options. see the Intl.Collator object for details.",name:"localeCompare",required:!0,type:{name:"{ (that: string): number; (that: string, locales?: string | string[], options?: CollatorOptions): number; }"}},match:{defaultValue:null,description:"Matches a string with a regular expression, and returns an array containing the results of that search.\nMatches a string an object that supports being matched against, and returns an array containing the results of that search.\n@param regexp A variable name or string literal containing the regular expression pattern and flags.\n@param matcher An object that supports being matched against.",name:"match",required:!0,type:{name:"{ (regexp: string | RegExp): RegExpMatchArray; (matcher: { [Symbol.match](string: string): RegExpMatchArray; }): RegExpMatchArray; }"}},replace:{defaultValue:null,description:"Replaces text in a string, using a regular expression or search string.\nReplaces text in a string, using a regular expression or search string.\nReplaces text in a string, using an object that supports replacement within a string.\nReplaces text in a string, using an object that supports replacement within a string.\n@param searchValue A string to search for.\n@param replaceValue A string containing the text to replace for every successful match of searchValue in this string.\n@param searchValue A string to search for.\n@param replacer A function that returns the replacement text.\n@param searchValue A object can search for and replace matches within a string.\n@param replaceValue A string containing the text to replace for every successful match of searchValue in this string.\n@param searchValue A object can search for and replace matches within a string.\n@param replacer A function that returns the replacement text.",name:"replace",required:!0,type:{name:"{ (searchValue: string | RegExp, replaceValue: string): string; (searchValue: string | RegExp, replacer: (substring: string, ...args: any[]) => string): string; (searchValue: { ...; }, replaceValue: string): string; (searchValue: { ...; }, replacer: (substring: string, ...args: any[]) => string): string; }"}},search:{defaultValue:null,description:"Finds the first substring match in a regular expression search.\nFinds the first substring match in a regular expression search.\n@param regexp The regular expression pattern and applicable flags.\n@param searcher An object which supports searching within a string.",name:"search",required:!0,type:{name:"{ (regexp: string | RegExp): number; (searcher: { [Symbol.search](string: string): number; }): number; }"}},slice:{defaultValue:null,description:"Returns a section of a string.\n@param start The index to the beginning of the specified portion of stringObj.\n@param end The index to the end of the specified portion of stringObj. The substring includes the characters up to, but not including, the character indicated by end.\rIf this value is not specified, the substring continues to the end of stringObj.",name:"slice",required:!0,type:{name:"(start?: number, end?: number) => string"}},split:{defaultValue:null,description:"Split a string into substrings using the specified separator and return them as an array.\nSplit a string into substrings using the specified separator and return them as an array.\n@param separator A string that identifies character or characters to use in separating the string. If omitted, a single-element array containing the entire string is returned.\n@param limit A value used to limit the number of elements returned in the array.\n@param splitter An object that can split a string.\n@param limit A value used to limit the number of elements returned in the array.",name:"split",required:!0,type:{name:"{ (separator: string | RegExp, limit?: number): string[]; (splitter: { [Symbol.split](string: string, limit?: number): string[]; }, limit?: number): string[]; }"}},substring:{defaultValue:null,description:"Returns the substring at the specified location within a String object.\n@param start The zero-based index number indicating the beginning of the substring.\n@param end Zero-based index number indicating the end of the substring. The substring includes the characters up to, but not including, the character indicated by end.\rIf end is omitted, the characters from start through the end of the original string are returned.",name:"substring",required:!0,type:{name:"(start: number, end?: number) => string"}},toLowerCase:{defaultValue:null,description:"Converts all the alphabetic characters in a string to lowercase.",name:"toLowerCase",required:!0,type:{name:"() => string"}},toLocaleLowerCase:{defaultValue:null,description:"Converts all alphabetic characters to lowercase, taking into account the host environment's current locale.",name:"toLocaleLowerCase",required:!0,type:{name:"(locales?: string | string[]) => string"}},toUpperCase:{defaultValue:null,description:"Converts all the alphabetic characters in a string to uppercase.",name:"toUpperCase",required:!0,type:{name:"() => string"}},toLocaleUpperCase:{defaultValue:null,description:"Returns a string where all alphabetic characters have been converted to uppercase, taking into account the host environment's current locale.",name:"toLocaleUpperCase",required:!0,type:{name:"(locales?: string | string[]) => string"}},trim:{defaultValue:null,description:"Removes the leading and trailing white space and line terminator characters from a string.",name:"trim",required:!0,type:{name:"() => string"}},length:{defaultValue:null,description:"Returns the length of a String object.",name:"length",required:!0,type:{name:"number"}},substr:{defaultValue:null,description:"Gets a substring beginning at the specified location and having the specified length.\n@param from The starting position of the desired substring. The index of the first character in the string is zero.\n@param length The number of characters to include in the returned substring.",name:"substr",required:!0,type:{name:"(from: number, length?: number) => string"}},valueOf:{defaultValue:null,description:"Returns the primitive value of the specified object.",name:"valueOf",required:!1,type:{name:"() => string"}},codePointAt:{defaultValue:null,description:"Returns a nonnegative integer Number less than 1114112 (0x110000) that is the code point\nvalue of the UTF-16 encoded code point starting at the string element at position pos in\r\nthe String resulting from converting this object to a String.\r\nIf there is no element at that position, the result is undefined.\r\nIf a valid UTF-16 surrogate pair does not begin at pos, the result is the code unit at pos.",name:"codePointAt",required:!0,type:{name:"(pos: number) => number"}},includes:{defaultValue:null,description:"Returns true if searchString appears as a substring of the result of converting this\nobject to a String, at one or more positions that are\r\ngreater than or equal to position; otherwise, returns false.\n@param searchString search string\n@param position If position is undefined, 0 is assumed, so as to search all of the String.",name:"includes",required:!0,type:{name:"(searchString: string, position?: number) => boolean"}},endsWith:{defaultValue:null,description:"Returns true if the sequence of elements of searchString converted to a String is the\nsame as the corresponding elements of this object (converted to a String) starting at\r\nendPosition – length(this). Otherwise returns false.",name:"endsWith",required:!0,type:{name:"(searchString: string, endPosition?: number) => boolean"}},normalize:{defaultValue:null,description:'Returns the String value result of normalizing the string into the normalization form\nnamed by form as specified in Unicode Standard Annex #15, Unicode Normalization Forms.\nReturns the String value result of normalizing the string into the normalization form\r\nnamed by form as specified in Unicode Standard Annex #15, Unicode Normalization Forms.\n@param form Applicable values: "NFC", "NFD", "NFKC", or "NFKD", If not specified default\ris "NFC"\n@param form Applicable values: "NFC", "NFD", "NFKC", or "NFKD", If not specified default\ris "NFC"',name:"normalize",required:!0,type:{name:'{ (form: "NFC" | "NFD" | "NFKC" | "NFKD"): string; (form?: string): string; }'}},repeat:{defaultValue:null,description:"Returns a String value that is made from count copies appended together. If count is 0,\nthe empty string is returned.\n@param count number of copies to append",name:"repeat",required:!0,type:{name:"(count: number) => string"}},startsWith:{defaultValue:null,description:"Returns true if the sequence of elements of searchString converted to a String is the\nsame as the corresponding elements of this object (converted to a String) starting at\r\nposition. Otherwise returns false.",name:"startsWith",required:!0,type:{name:"(searchString: string, position?: number) => boolean"}},anchor:{defaultValue:null,description:"Returns an HTML anchor element and sets the name attribute to the text value\n@param name",name:"anchor",required:!0,type:{name:"(name: string) => string"}},big:{defaultValue:null,description:"Returns a HTML element",name:"big",required:!0,type:{name:"() => string"}},blink:{defaultValue:null,description:"Returns a HTML element",name:"blink",required:!0,type:{name:"() => string"}},bold:{defaultValue:null,description:"Returns a HTML element",name:"bold",required:!0,type:{name:"() => string"}},fixed:{defaultValue:null,description:"Returns a HTML element",name:"fixed",required:!0,type:{name:"() => string"}},fontcolor:{defaultValue:null,description:"Returns a HTML element and sets the color attribute value",name:"fontcolor",required:!0,type:{name:"(color: string) => string"}},fontsize:{defaultValue:null,description:"Returns a HTML element and sets the size attribute value\nReturns a HTML element and sets the size attribute value",name:"fontsize",required:!0,type:{name:"{ (size: number): string; (size: string): string; }"}},italics:{defaultValue:null,description:"Returns an HTML element",name:"italics",required:!0,type:{name:"() => string"}},link:{defaultValue:null,description:"Returns an HTML element and sets the href attribute value",name:"link",required:!0,type:{name:"(url: string) => string"}},small:{defaultValue:null,description:"Returns a HTML element",name:"small",required:!0,type:{name:"() => string"}},strike:{defaultValue:null,description:"Returns a HTML element",name:"strike",required:!0,type:{name:"() => string"}},sub:{defaultValue:null,description:"Returns a HTML element",name:"sub",required:!0,type:{name:"() => string"}},sup:{defaultValue:null,description:"Returns a HTML element",name:"sup",required:!0,type:{name:"() => string"}},"__@iterator":{defaultValue:null,description:"Iterator",name:"__@iterator",required:!0,type:{name:"() => IterableIterator"}},padStart:{defaultValue:null,description:'Pads the current string with a given string (possibly repeated) so that the resulting string reaches a given length.\nThe padding is applied from the start (left) of the current string.\n@param maxLength The length of the resulting string once the current string has been padded.\rIf this parameter is smaller than the current string\'s length, the current string will be returned as it is.\n@param fillString The string to pad the current string with.\rIf this string is too long, it will be truncated and the left-most part will be applied.\rThe default value for this parameter is " " (U+0020).',name:"padStart",required:!0,type:{name:"(maxLength: number, fillString?: string) => string"}},padEnd:{defaultValue:null,description:'Pads the current string with a given string (possibly repeated) so that the resulting string reaches a given length.\nThe padding is applied from the end (right) of the current string.\n@param maxLength The length of the resulting string once the current string has been padded.\rIf this parameter is smaller than the current string\'s length, the current string will be returned as it is.\n@param fillString The string to pad the current string with.\rIf this string is too long, it will be truncated and the left-most part will be applied.\rThe default value for this parameter is " " (U+0020).',name:"padEnd",required:!0,type:{name:"(maxLength: number, fillString?: string) => string"}},trimLeft:{defaultValue:null,description:"Removes whitespace from the left end of a string.",name:"trimLeft",required:!0,type:{name:"() => string"}},trimRight:{defaultValue:null,description:"Removes whitespace from the right end of a string.",name:"trimRight",required:!0,type:{name:"() => string"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/form/FileInput/FileInput.tsx#requireFile"]={docgenInfo:requireFile.__docgenInfo,name:"requireFile",path:"src/form/FileInput/FileInput.tsx#requireFile"})}catch(__react_docgen_typescript_loader_error){}try{limitFileSize.displayName="limitFileSize",limitFileSize.__docgenInfo={description:"Takes a `size` and `label` and returns a validator which can check if the\nfile is past the size limit.\n@export\n@param size The maximum size of the file in MB.\n@param label The label to display in the error message\n@returns",displayName:"limitFileSize",props:{}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/form/FileInput/FileInput.tsx#limitFileSize"]={docgenInfo:limitFileSize.__docgenInfo,name:"limitFileSize",path:"src/form/FileInput/FileInput.tsx#limitFileSize"})}catch(__react_docgen_typescript_loader_error){}try{FileInput.displayName="FileInput",FileInput.__docgenInfo={description:"",displayName:"FileInput",props:{id:{defaultValue:null,description:"The id of the form element.",name:"id",required:!1,type:{name:"string"}},label:{defaultValue:null,description:"The label of the form element.",name:"label",required:!1,type:{name:"any"}},placeholder:{defaultValue:null,description:"The placeholder of the form element.",name:"placeholder",required:!1,type:{name:"string"}},accept:{defaultValue:null,description:"Which types of files the form element accepts.\n@see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/file#Unique_file_type_specifiers",name:"accept",required:!0,type:{name:"string"}},value:{defaultValue:null,description:"The value that the form element currently has.",name:"value",required:!1,type:{name:"File"}},onChange:{defaultValue:null,description:"Callback for when the form element changes.",name:"onChange",required:!0,type:{name:"(file: File) => void"}},onBlur:{defaultValue:null,description:"Optional callback for when the form element is blurred.",name:"onBlur",required:!1,type:{name:"() => void"}},error:{defaultValue:null,description:"Optionally the error message to render.",name:"error",required:!1,type:{name:"any"}},color:{defaultValue:null,description:"Optionally the color of the FormGroup.",name:"color",required:!1,type:{name:"Color"}},valid:{defaultValue:null,description:"Whether or not the form element is currently valid.",name:"valid",required:!1,type:{name:"boolean"}},className:{defaultValue:null,description:"Optional extra CSS class you want to add to the component.\nUseful for styling the component.",name:"className",required:!1,type:{name:"string"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/form/FileInput/FileInput.tsx#FileInput"]={docgenInfo:FileInput.__docgenInfo,name:"FileInput",path:"src/form/FileInput/FileInput.tsx#FileInput"})}catch(__react_docgen_typescript_loader_error){}try{JarbFileInput.displayName="JarbFileInput",JarbFileInput.__docgenInfo={description:"Variant of the FileInput which can be used in a Jarb context.",displayName:"JarbFileInput",props:{}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/form/FileInput/FileInput.tsx#JarbFileInput"]={docgenInfo:JarbFileInput.__docgenInfo,name:"JarbFileInput",path:"src/form/FileInput/FileInput.tsx#JarbFileInput"})}catch(__react_docgen_typescript_loader_error){}},133:function(module,__webpack_exports__,__webpack_require__){"use strict";var react=__webpack_require__(0),react_default=__webpack_require__.n(react),Label=__webpack_require__(89),FormGroup=__webpack_require__(88),dist=__webpack_require__(930),dist_default=__webpack_require__.n(dist),Icon=__webpack_require__(52),Button=__webpack_require__(3),withJarb=__webpack_require__(33),utils=__webpack_require__(55),translation=__webpack_require__(21),pica=__webpack_require__(931),pica_default=__webpack_require__.n(pica);let picaInstance;function cropToAvatarEditorConfig(crop){if("rect"===crop.type){const{width:width,height:height}=crop;return{borderRadius:0,width:width,height:height}}{const{size:size}=crop;return{borderRadius:9e6,width:size,height:size}}}try{cropToAvatarEditorConfig.displayName="cropToAvatarEditorConfig",cropToAvatarEditorConfig.__docgenInfo={description:"",displayName:"cropToAvatarEditorConfig",props:{}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/form/ImageUpload/utils.ts#cropToAvatarEditorConfig"]={docgenInfo:cropToAvatarEditorConfig.__docgenInfo,name:"cropToAvatarEditorConfig",path:"src/form/ImageUpload/utils.ts#cropToAvatarEditorConfig"})}catch(__react_docgen_typescript_loader_error){}__webpack_require__.d(__webpack_exports__,"b",(function(){return ImageUpload_ImageUpload})),__webpack_require__.d(__webpack_exports__,"a",(function(){return JarbImageUpload})),__webpack_require__.d(__webpack_exports__,"d",(function(){return requireImage})),__webpack_require__.d(__webpack_exports__,"c",(function(){return limitImageSize}));var Mode,__awaiter=function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){result.done?resolve(result.value):function adopt(value){return value instanceof P?value:new P((function(resolve){resolve(value)}))}(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))},__rest=function(s,e){var t={};for(var p in s)Object.prototype.hasOwnProperty.call(s,p)&&e.indexOf(p)<0&&(t[p]=s[p]);if(null!=s&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(p=Object.getOwnPropertySymbols(s);i{"string"==typeof reader.result&&this.setState({imageSrc:reader.result,mode:Mode.EDIT,fileName:file.name,rotate:0,scale:1})},reader.readAsDataURL(file)}}onCrop(){return __awaiter(this,void 0,void 0,(function*(){if(this.editorRef.current){const{crop:crop}=this.props,canvas=this.editorRef.current.getImage(),config=cropToAvatarEditorConfig(crop),offScreenCanvas=document.createElement("canvas");offScreenCanvas.width=config.width,offScreenCanvas.height=config.height;const dataUrl=(yield function getPicaInstance(){return picaInstance||(picaInstance=pica_default()(),picaInstance)}().resize(canvas,offScreenCanvas,{alpha:!0})).toDataURL("image/png",1),file=function dataUrlToFile(dataUrl,fileName){const byteString=atob(dataUrl.split(",")[1]),mimeString=dataUrl.split(",")[0].split(":")[1].split(";")[0],bytes=new Uint8Array(byteString.length);for(let i=0;i0?scale-zoomFactor:scale+zoomFactor;return Math.min(10,Math.max(1,nextScale))}(this.state.scale,event.deltaY);this.setState({scale:scale})}resetFileInput(){this.setState({imageSrc:"",mode:Mode.NO_FILE,rotate:0,scale:1}),this.props.onChange(null),Object(utils.a)(this.props.onBlur),this.inputRef.current&&(this.inputRef.current.value="")}triggerFileInput(){this.resetFileInput(),setTimeout(()=>{this.inputRef.current&&this.inputRef.current.click()},200)}render(){const _a=this.props,{className:className,error:error,color:color}=_a,props=__rest(_a,["className","error","color"]);let label=null;return"label"in props&&props.label&&(label=react_default.a.createElement(Label.a,{for:props.id},props.label)),react_default.a.createElement("div",{className:className},react_default.a.createElement(FormGroup.a,{color:color,className:"img-upload"},label,this.renderMode(),this.renderButtons(),error))}renderMode(){switch(this.state.mode){case Mode.FILE_SELECTED:return this.renderFileSelected();case Mode.EDIT:return this.renderEdit();default:return this.renderNoFile()}}renderNoFile(){const id="id"in this.props?this.props.id:void 0;return react_default.a.createElement(react.Fragment,null,react_default.a.createElement("input",{id:id,onChange:event=>this.imgSelected(event),type:"file",accept:"image/*",ref:this.inputRef}),react_default.a.createElement("div",{className:"img-upload-wrapper bg-faded text-muted"},react_default.a.createElement(Icon.a,{icon:"add_a_photo"})))}renderEdit(){const{crop:crop}=this.props,{imageSrc:imageSrc,rotate:rotate,scale:scale}=this.state,config=cropToAvatarEditorConfig(crop);return react_default.a.createElement("div",{className:"d-flex justify-content-center"},react_default.a.createElement("div",{onWheel:event=>this.changeScale(event)},react_default.a.createElement(dist_default.a,{ref:this.editorRef,image:imageSrc,width:config.width,height:config.height,borderRadius:config.borderRadius,rotate:rotate,scale:scale})))}renderFileSelected(){const{imageSrc:imageSrc}=this.state,_a=this.props,{crop:crop}=_a,props=__rest(_a,["crop"]);let alt="";return"label"in props&&props.label&&"string"==typeof props.label&&(alt=props.label),react_default.a.createElement("div",{className:"d-flex justify-content-center"},react_default.a.createElement("img",{style:{borderRadius:"rect"===crop.type?0:"50%"},className:"img-fluid elevated-3",alt:alt,src:imageSrc}))}renderButtons(){switch(this.state.mode){case Mode.FILE_SELECTED:return this.renderFileSelectedButtons();case Mode.EDIT:return this.renderEditButtons();default:return null}}renderFileSelectedButtons(){const{text:text={}}=this.props;return react_default.a.createElement(FormGroup.a,{className:"text-center mt-1"},react_default.a.createElement(Button.a,{onClick:()=>this.triggerFileInput(),color:"primary",icon:"camera_roll"},Object(translation.a)({key:"ImageUpload.CHANGE",fallback:"Change",overrideText:text.change})),react_default.a.createElement(Button.a,{className:"ml-1",onClick:()=>this.resetFileInput(),color:"danger",icon:"delete"},Object(translation.a)({key:"ImageUpload.REMOVE",fallback:"Remove",overrideText:text.remove})))}renderEditButtons(){const{text:text={}}=this.props;return react_default.a.createElement(FormGroup.a,{className:"d-flex justify-content-center mt-1"},react_default.a.createElement(Button.a,{className:"mt-2",onClick:()=>this.rotateLeft(),color:"secondary",icon:"rotate_left"}),react_default.a.createElement(Button.a,{className:"ml-1 mt-2",onClick:()=>this.rotateRight(),color:"secondary",icon:"rotate_right"}),react_default.a.createElement(Button.a,{className:"ml-3",onClick:()=>this.resetFileInput(),color:"secondary",icon:"cancel"},Object(translation.a)({key:"ImageUpload.CANCEL",fallback:"Cancel",overrideText:text.cancel})),react_default.a.createElement(Button.a,{className:"ml-1",onClick:()=>this.onCrop(),color:"primary",icon:"done"},Object(translation.a)({key:"ImageUpload.DONE",fallback:"Done",overrideText:text.done})))}}const JarbImageUpload=Object(withJarb.a)(ImageUpload_ImageUpload);function requireImage(label){return value=>{if(!value)return{key:"ImageUpload.REQUIRED",data:{label:label},fallback:`${label} is required`}}}function limitImageSize(size,label){return value=>{if(!(value instanceof File))return;if(void 0===value.size)return;const maxSizeInBytes=1048576*size;if(value.size string"}},charAt:{defaultValue:null,description:"Returns the character at the specified index.\n@param pos The zero-based index of the desired character.",name:"charAt",required:!0,type:{name:"(pos: number) => string"}},charCodeAt:{defaultValue:null,description:"Returns the Unicode value of the character at the specified location.\n@param index The zero-based index of the desired character. If there is no character at the specified index, NaN is returned.",name:"charCodeAt",required:!0,type:{name:"(index: number) => number"}},concat:{defaultValue:null,description:"Returns a string that contains the concatenation of two or more strings.\n@param strings The strings to append to the end of the string.",name:"concat",required:!0,type:{name:"(...strings: string[]) => string"}},indexOf:{defaultValue:null,description:"Returns the position of the first occurrence of a substring.\n@param searchString The substring to search for in the string\n@param position The index at which to begin searching the String object. If omitted, search starts at the beginning of the string.",name:"indexOf",required:!0,type:{name:"(searchString: string, position?: number) => number"}},lastIndexOf:{defaultValue:null,description:"Returns the last occurrence of a substring in the string.\n@param searchString The substring to search for.\n@param position The index at which to begin searching. If omitted, the search begins at the end of the string.",name:"lastIndexOf",required:!0,type:{name:"(searchString: string, position?: number) => number"}},localeCompare:{defaultValue:null,description:"Determines whether two strings are equivalent in the current locale.\nDetermines whether two strings are equivalent in the current or specified locale.\n@param that String to compare to target string\n@param that String to compare to target string\n@param locales A locale string or array of locale strings that contain one or more language or locale tags. If you include more than one locale string, list them in descending order of priority so that the first entry is the preferred locale. If you omit this parameter, the default locale of the JavaScript runtime is used. This parameter must conform to BCP 47 standards; see the Intl.Collator object for details.\n@param options An object that contains one or more properties that specify comparison options. see the Intl.Collator object for details.",name:"localeCompare",required:!0,type:{name:"{ (that: string): number; (that: string, locales?: string | string[], options?: CollatorOptions): number; }"}},match:{defaultValue:null,description:"Matches a string with a regular expression, and returns an array containing the results of that search.\nMatches a string an object that supports being matched against, and returns an array containing the results of that search.\n@param regexp A variable name or string literal containing the regular expression pattern and flags.\n@param matcher An object that supports being matched against.",name:"match",required:!0,type:{name:"{ (regexp: string | RegExp): RegExpMatchArray; (matcher: { [Symbol.match](string: string): RegExpMatchArray; }): RegExpMatchArray; }"}},replace:{defaultValue:null,description:"Replaces text in a string, using a regular expression or search string.\nReplaces text in a string, using a regular expression or search string.\nReplaces text in a string, using an object that supports replacement within a string.\nReplaces text in a string, using an object that supports replacement within a string.\n@param searchValue A string to search for.\n@param replaceValue A string containing the text to replace for every successful match of searchValue in this string.\n@param searchValue A string to search for.\n@param replacer A function that returns the replacement text.\n@param searchValue A object can search for and replace matches within a string.\n@param replaceValue A string containing the text to replace for every successful match of searchValue in this string.\n@param searchValue A object can search for and replace matches within a string.\n@param replacer A function that returns the replacement text.",name:"replace",required:!0,type:{name:"{ (searchValue: string | RegExp, replaceValue: string): string; (searchValue: string | RegExp, replacer: (substring: string, ...args: any[]) => string): string; (searchValue: { ...; }, replaceValue: string): string; (searchValue: { ...; }, replacer: (substring: string, ...args: any[]) => string): string; }"}},search:{defaultValue:null,description:"Finds the first substring match in a regular expression search.\nFinds the first substring match in a regular expression search.\n@param regexp The regular expression pattern and applicable flags.\n@param searcher An object which supports searching within a string.",name:"search",required:!0,type:{name:"{ (regexp: string | RegExp): number; (searcher: { [Symbol.search](string: string): number; }): number; }"}},slice:{defaultValue:null,description:"Returns a section of a string.\n@param start The index to the beginning of the specified portion of stringObj.\n@param end The index to the end of the specified portion of stringObj. The substring includes the characters up to, but not including, the character indicated by end.\rIf this value is not specified, the substring continues to the end of stringObj.",name:"slice",required:!0,type:{name:"(start?: number, end?: number) => string"}},split:{defaultValue:null,description:"Split a string into substrings using the specified separator and return them as an array.\nSplit a string into substrings using the specified separator and return them as an array.\n@param separator A string that identifies character or characters to use in separating the string. If omitted, a single-element array containing the entire string is returned.\n@param limit A value used to limit the number of elements returned in the array.\n@param splitter An object that can split a string.\n@param limit A value used to limit the number of elements returned in the array.",name:"split",required:!0,type:{name:"{ (separator: string | RegExp, limit?: number): string[]; (splitter: { [Symbol.split](string: string, limit?: number): string[]; }, limit?: number): string[]; }"}},substring:{defaultValue:null,description:"Returns the substring at the specified location within a String object.\n@param start The zero-based index number indicating the beginning of the substring.\n@param end Zero-based index number indicating the end of the substring. The substring includes the characters up to, but not including, the character indicated by end.\rIf end is omitted, the characters from start through the end of the original string are returned.",name:"substring",required:!0,type:{name:"(start: number, end?: number) => string"}},toLowerCase:{defaultValue:null,description:"Converts all the alphabetic characters in a string to lowercase.",name:"toLowerCase",required:!0,type:{name:"() => string"}},toLocaleLowerCase:{defaultValue:null,description:"Converts all alphabetic characters to lowercase, taking into account the host environment's current locale.",name:"toLocaleLowerCase",required:!0,type:{name:"(locales?: string | string[]) => string"}},toUpperCase:{defaultValue:null,description:"Converts all the alphabetic characters in a string to uppercase.",name:"toUpperCase",required:!0,type:{name:"() => string"}},toLocaleUpperCase:{defaultValue:null,description:"Returns a string where all alphabetic characters have been converted to uppercase, taking into account the host environment's current locale.",name:"toLocaleUpperCase",required:!0,type:{name:"(locales?: string | string[]) => string"}},trim:{defaultValue:null,description:"Removes the leading and trailing white space and line terminator characters from a string.",name:"trim",required:!0,type:{name:"() => string"}},length:{defaultValue:null,description:"Returns the length of a String object.",name:"length",required:!0,type:{name:"number"}},substr:{defaultValue:null,description:"Gets a substring beginning at the specified location and having the specified length.\n@param from The starting position of the desired substring. The index of the first character in the string is zero.\n@param length The number of characters to include in the returned substring.",name:"substr",required:!0,type:{name:"(from: number, length?: number) => string"}},valueOf:{defaultValue:null,description:"Returns the primitive value of the specified object.",name:"valueOf",required:!1,type:{name:"() => string"}},codePointAt:{defaultValue:null,description:"Returns a nonnegative integer Number less than 1114112 (0x110000) that is the code point\nvalue of the UTF-16 encoded code point starting at the string element at position pos in\r\nthe String resulting from converting this object to a String.\r\nIf there is no element at that position, the result is undefined.\r\nIf a valid UTF-16 surrogate pair does not begin at pos, the result is the code unit at pos.",name:"codePointAt",required:!0,type:{name:"(pos: number) => number"}},includes:{defaultValue:null,description:"Returns true if searchString appears as a substring of the result of converting this\nobject to a String, at one or more positions that are\r\ngreater than or equal to position; otherwise, returns false.\n@param searchString search string\n@param position If position is undefined, 0 is assumed, so as to search all of the String.",name:"includes",required:!0,type:{name:"(searchString: string, position?: number) => boolean"}},endsWith:{defaultValue:null,description:"Returns true if the sequence of elements of searchString converted to a String is the\nsame as the corresponding elements of this object (converted to a String) starting at\r\nendPosition – length(this). Otherwise returns false.",name:"endsWith",required:!0,type:{name:"(searchString: string, endPosition?: number) => boolean"}},normalize:{defaultValue:null,description:'Returns the String value result of normalizing the string into the normalization form\nnamed by form as specified in Unicode Standard Annex #15, Unicode Normalization Forms.\nReturns the String value result of normalizing the string into the normalization form\r\nnamed by form as specified in Unicode Standard Annex #15, Unicode Normalization Forms.\n@param form Applicable values: "NFC", "NFD", "NFKC", or "NFKD", If not specified default\ris "NFC"\n@param form Applicable values: "NFC", "NFD", "NFKC", or "NFKD", If not specified default\ris "NFC"',name:"normalize",required:!0,type:{name:'{ (form: "NFC" | "NFD" | "NFKC" | "NFKD"): string; (form?: string): string; }'}},repeat:{defaultValue:null,description:"Returns a String value that is made from count copies appended together. If count is 0,\nthe empty string is returned.\n@param count number of copies to append",name:"repeat",required:!0,type:{name:"(count: number) => string"}},startsWith:{defaultValue:null,description:"Returns true if the sequence of elements of searchString converted to a String is the\nsame as the corresponding elements of this object (converted to a String) starting at\r\nposition. Otherwise returns false.",name:"startsWith",required:!0,type:{name:"(searchString: string, position?: number) => boolean"}},anchor:{defaultValue:null,description:"Returns an HTML anchor element and sets the name attribute to the text value\n@param name",name:"anchor",required:!0,type:{name:"(name: string) => string"}},big:{defaultValue:null,description:"Returns a HTML element",name:"big",required:!0,type:{name:"() => string"}},blink:{defaultValue:null,description:"Returns a HTML element",name:"blink",required:!0,type:{name:"() => string"}},bold:{defaultValue:null,description:"Returns a HTML element",name:"bold",required:!0,type:{name:"() => string"}},fixed:{defaultValue:null,description:"Returns a HTML element",name:"fixed",required:!0,type:{name:"() => string"}},fontcolor:{defaultValue:null,description:"Returns a HTML element and sets the color attribute value",name:"fontcolor",required:!0,type:{name:"(color: string) => string"}},fontsize:{defaultValue:null,description:"Returns a HTML element and sets the size attribute value\nReturns a HTML element and sets the size attribute value",name:"fontsize",required:!0,type:{name:"{ (size: number): string; (size: string): string; }"}},italics:{defaultValue:null,description:"Returns an HTML element",name:"italics",required:!0,type:{name:"() => string"}},link:{defaultValue:null,description:"Returns an HTML element and sets the href attribute value",name:"link",required:!0,type:{name:"(url: string) => string"}},small:{defaultValue:null,description:"Returns a HTML element",name:"small",required:!0,type:{name:"() => string"}},strike:{defaultValue:null,description:"Returns a HTML element",name:"strike",required:!0,type:{name:"() => string"}},sub:{defaultValue:null,description:"Returns a HTML element",name:"sub",required:!0,type:{name:"() => string"}},sup:{defaultValue:null,description:"Returns a HTML element",name:"sup",required:!0,type:{name:"() => string"}},"__@iterator":{defaultValue:null,description:"Iterator",name:"__@iterator",required:!0,type:{name:"() => IterableIterator"}},padStart:{defaultValue:null,description:'Pads the current string with a given string (possibly repeated) so that the resulting string reaches a given length.\nThe padding is applied from the start (left) of the current string.\n@param maxLength The length of the resulting string once the current string has been padded.\rIf this parameter is smaller than the current string\'s length, the current string will be returned as it is.\n@param fillString The string to pad the current string with.\rIf this string is too long, it will be truncated and the left-most part will be applied.\rThe default value for this parameter is " " (U+0020).',name:"padStart",required:!0,type:{name:"(maxLength: number, fillString?: string) => string"}},padEnd:{defaultValue:null,description:'Pads the current string with a given string (possibly repeated) so that the resulting string reaches a given length.\nThe padding is applied from the end (right) of the current string.\n@param maxLength The length of the resulting string once the current string has been padded.\rIf this parameter is smaller than the current string\'s length, the current string will be returned as it is.\n@param fillString The string to pad the current string with.\rIf this string is too long, it will be truncated and the left-most part will be applied.\rThe default value for this parameter is " " (U+0020).',name:"padEnd",required:!0,type:{name:"(maxLength: number, fillString?: string) => string"}},trimLeft:{defaultValue:null,description:"Removes whitespace from the left end of a string.",name:"trimLeft",required:!0,type:{name:"() => string"}},trimRight:{defaultValue:null,description:"Removes whitespace from the right end of a string.",name:"trimRight",required:!0,type:{name:"() => string"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/form/ImageUpload/ImageUpload.tsx#requireImage"]={docgenInfo:requireImage.__docgenInfo,name:"requireImage",path:"src/form/ImageUpload/ImageUpload.tsx#requireImage"})}catch(__react_docgen_typescript_loader_error){}try{limitImageSize.displayName="limitImageSize",limitImageSize.__docgenInfo={description:"Takes a `size` and `label` and returns a validator which can check if the\nimage is past the size limit.\n@export\n@param size The maximum size of the file in MB.\n@param label The label to display in the error message\n@returns",displayName:"limitImageSize",props:{}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/form/ImageUpload/ImageUpload.tsx#limitImageSize"]={docgenInfo:limitImageSize.__docgenInfo,name:"limitImageSize",path:"src/form/ImageUpload/ImageUpload.tsx#limitImageSize"})}catch(__react_docgen_typescript_loader_error){}try{ImageUpload_ImageUpload.displayName="ImageUpload",ImageUpload_ImageUpload.__docgenInfo={description:"",displayName:"ImageUpload",props:{id:{defaultValue:null,description:"The id of the form element.",name:"id",required:!1,type:{name:"string"}},label:{defaultValue:null,description:"The label of the form element.",name:"label",required:!1,type:{name:"any"}},crop:{defaultValue:null,description:"Whether to crop as a circle or as a rectangle.",name:"crop",required:!0,type:{name:"Crop"}},value:{defaultValue:null,description:"The value that the form element currently has.",name:"value",required:!1,type:{name:"Value"}},onChange:{defaultValue:null,description:"Callback for when the form element changes.",name:"onChange",required:!0,type:{name:"(file: File) => void"}},onBlur:{defaultValue:null,description:"Optional callback for when the form element is blurred.",name:"onBlur",required:!1,type:{name:"() => void"}},error:{defaultValue:null,description:"Optionally the error message to render.",name:"error",required:!1,type:{name:"any"}},color:{defaultValue:null,description:"Optionally the color of the FormGroup.",name:"color",required:!1,type:{name:"Color"}},className:{defaultValue:null,description:"Optional extra CSS class you want to add to the component.\nUseful for styling the component.",name:"className",required:!1,type:{name:"string"}},text:{defaultValue:null,description:"Optionally customized text you want to use in this component.",name:"text",required:!1,type:{name:"Text"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/form/ImageUpload/ImageUpload.tsx#ImageUpload"]={docgenInfo:ImageUpload_ImageUpload.__docgenInfo,name:"ImageUpload",path:"src/form/ImageUpload/ImageUpload.tsx#ImageUpload"})}catch(__react_docgen_typescript_loader_error){}},134:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"b",(function(){return Checkbox})),__webpack_require__.d(__webpack_exports__,"a",(function(){return JarbCheckbox}));var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),reactstrap__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(88),reactstrap__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(89),reactstrap__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(71),_withJarb_withJarb__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(33),_utils__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(55);function Checkbox(props){const{id:id,onChange:onChange,onBlur:onBlur,error:error,color:color,label:label,className:className="",placeholder:placeholder,value:value,valid:valid,allowIndeterminate:allowIndeterminate}=props,checked=!!value,invalid=!1===valid||void 0;return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_1__.a,{check:!0,className:className,color:color},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_2__.a,{for:id,check:!0},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_3__.a,{id:id,type:"checkbox",checked:checked,onChange:function onClick(){onChange(!checked),Object(_utils__WEBPACK_IMPORTED_MODULE_5__.a)(onBlur)},valid:valid,invalid:invalid,innerRef:e=>{e&&allowIndeterminate&&(e.indeterminate=void 0===value||""===value)}})," ",label),placeholder?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p",{className:"text-muted mb-0"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("em",null,placeholder)):null,error)}const JarbCheckbox=Object(_withJarb_withJarb__WEBPACK_IMPORTED_MODULE_4__.a)(Checkbox);try{Checkbox.displayName="Checkbox",Checkbox.__docgenInfo={description:"Checkbox is a form element for when the value is a boolean.",displayName:"Checkbox",props:{id:{defaultValue:null,description:"The id of the form element.",name:"id",required:!0,type:{name:"string"}},value:{defaultValue:null,description:"The value that the form element currently has.\n\nWhen the value is `true` the checkbox is checked.\nWhen the value `false` the checkbox is unchecked.\n\nWhen the value is `undefined` it depends on `allowIndeterminate`,\nwhen `allowIndeterminate` is `true` the checkbox is indeterminate.\nwhen `allowIndeterminate` is `false` the checkbox is unchecked.",name:"value",required:!1,type:{name:"boolean"}},onChange:{defaultValue:null,description:"Callback for when the form element changes.",name:"onChange",required:!0,type:{name:"(value: boolean) => void"}},onBlur:{defaultValue:null,description:"Optional callback for when the form element is blurred.",name:"onBlur",required:!1,type:{name:"() => void"}},error:{defaultValue:null,description:"Optionally the error message to render.",name:"error",required:!1,type:{name:"any"}},color:{defaultValue:null,description:"Optionally the color of the FormGroup.",name:"color",required:!1,type:{name:"Color"}},valid:{defaultValue:null,description:"Whether or not the form element is currently valid.",name:"valid",required:!1,type:{name:"boolean"}},className:{defaultValue:null,description:"Optional extra CSS class you want to add to the component.\nUseful for styling the component.",name:"className",required:!1,type:{name:"string"}},label:{defaultValue:null,description:"The label of the form element.",name:"label",required:!0,type:{name:"any"}},placeholder:{defaultValue:null,description:"Optionally the placeholder of the form element.",name:"placeholder",required:!1,type:{name:"string"}},allowIndeterminate:{defaultValue:null,description:"Optionally whether to support the indeterminate state.",name:"allowIndeterminate",required:!1,type:{name:"boolean"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/form/Checkbox/Checkbox.tsx#Checkbox"]={docgenInfo:Checkbox.__docgenInfo,name:"Checkbox",path:"src/form/Checkbox/Checkbox.tsx#Checkbox"})}catch(__react_docgen_typescript_loader_error){}try{JarbCheckbox.displayName="JarbCheckbox",JarbCheckbox.__docgenInfo={description:"Variant of the Checkbox which can be used in a Jarb context.",displayName:"JarbCheckbox",props:{}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/form/Checkbox/Checkbox.tsx#JarbCheckbox"]={docgenInfo:JarbCheckbox.__docgenInfo,name:"JarbCheckbox",path:"src/form/Checkbox/Checkbox.tsx#JarbCheckbox"})}catch(__react_docgen_typescript_loader_error){}},135:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return FlashMessage}));var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),reactstrap__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(238),classnames__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(8),classnames__WEBPACK_IMPORTED_MODULE_2___default=__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_2__);function FlashMessage({className:className,onClose:onClose,color:color,children:children}){return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:classnames__WEBPACK_IMPORTED_MODULE_2___default()("flash-message",className)},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_1__.a,{color:color,open:!0,toggle:onClose},children))}try{FlashMessage.displayName="FlashMessage",FlashMessage.__docgenInfo={description:"A FlashMessage is a message you want to show to the user briefly.\n\nUse it when you want to globally show a notification / message.",displayName:"FlashMessage",props:{className:{defaultValue:null,description:"Optional extra CSS class you want to add to the component.\nUseful for styling the component.",name:"className",required:!1,type:{name:"string"}},onClose:{defaultValue:null,description:"Optional callback for what needs to happen when the flash-message is closed.",name:"onClose",required:!1,type:{name:"() => void"}},color:{defaultValue:null,description:"Optionally the color of the button.",name:"color",required:!1,type:{name:"Color"}},children:{defaultValue:null,description:"The text of the flash message.",name:"children",required:!0,type:{name:"any"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/core/FlashMessage/FlashMessage.tsx#FlashMessage"]={docgenInfo:FlashMessage.__docgenInfo,name:"FlashMessage",path:"src/core/FlashMessage/FlashMessage.tsx#FlashMessage"})}catch(__react_docgen_typescript_loader_error){}},143:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return SubmitButton}));var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),_Button_Button__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(3);function SubmitButton({children:children,inProgress:inProgress,size:size,className:className="",onClick:onClick,iconSize:iconSize}){return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Button_Button__WEBPACK_IMPORTED_MODULE_1__.a,{type:"submit",size:size,color:"primary",inProgress:inProgress,className:`float-right ${className}`,onClick:onClick,icon:"save",iconSize:iconSize},children)}try{SubmitButton.displayName="SubmitButton",SubmitButton.__docgenInfo={description:"A SubmitButton is a Button with a 'save' icon and and\na button of type \"submit\".",displayName:"SubmitButton",props:{className:{defaultValue:{value:""},description:"Optional extra CSS class you want to add to the component.\nUseful for styling the component.",name:"className",required:!1,type:{name:"string"}},size:{defaultValue:{value:"md"},description:"Optionally the size of the button, defaults to md.",name:"size",required:!1,type:{name:"BootstrapSize"}},onClick:{defaultValue:null,description:"Optional callback for what needs to happen when the button is clicked.",name:"onClick",required:!1,type:{name:"(event: any) => any"}},children:{defaultValue:null,description:"The text of the button.",name:"children",required:!1,type:{name:"any"}},inProgress:{defaultValue:null,description:"Whether or not the action you are performing is currently in\nprogress. If so a spinner is rendered inside of the button.",name:"inProgress",required:!0,type:{name:"boolean"}},iconSize:{defaultValue:null,description:"Optionally the size of the icon in pixels.",name:"iconSize",required:!1,type:{name:"number"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/core/SubmitButton/SubmitButton.tsx#SubmitButton"]={docgenInfo:SubmitButton.__docgenInfo,name:"SubmitButton",path:"src/core/SubmitButton/SubmitButton.tsx#SubmitButton"})}catch(__react_docgen_typescript_loader_error){}},155:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"b",(function(){return ColorPicker})),__webpack_require__.d(__webpack_exports__,"a",(function(){return JarbColorPicker}));var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),reactstrap__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(88),reactstrap__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(89),reactstrap__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(82),reactstrap__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(23),react_color__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(932),classnames__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(8),classnames__WEBPACK_IMPORTED_MODULE_6___default=__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_6__),_withJarb_withJarb__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__(33),_utils__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__(55),_utilities_translation_translation__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__(21),_core_Popover_Popover__WEBPACK_IMPORTED_MODULE_10__=__webpack_require__(53),_core_TextButton_TextButton__WEBPACK_IMPORTED_MODULE_11__=__webpack_require__(122);function ColorPicker(props){const{id:id,label:label,value:value,color:color,placeholder:placeholder,className:className,error:error,onChange:onChange,onBlur:onBlur,text:text={}}=props,[colorValue,setColorValue]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(value||"#ffffff"),[isOpen,setIsOpen]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(!1);function onColorSelected(color){onChange(color),Object(_utils__WEBPACK_IMPORTED_MODULE_8__.a)(onBlur),setIsOpen(!1)}const classes=classnames__WEBPACK_IMPORTED_MODULE_6___default()("color-picker",className);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_1__.a,{className:classes,color:color},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_2__.a,{for:id},label),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"d-flex"},value?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"d-flex justify-content-between"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"border p-1"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{id:"color-picker-value",className:"h-100",style:{backgroundColor:value,width:42}})),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_TextButton_TextButton__WEBPACK_IMPORTED_MODULE_11__.a,{onClick:()=>onColorSelected(void 0),className:"mx-3"},Object(_utilities_translation_translation__WEBPACK_IMPORTED_MODULE_9__.a)({key:"ColorPicker.CLEAR",fallback:"Clear",overrideText:text.clear}))):null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_Popover_Popover__WEBPACK_IMPORTED_MODULE_10__.a,{placement:"bottom",isOpen:isOpen,target:react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_3__.a,{type:"button",color:"primary",onClick:()=>{setIsOpen(!isOpen)}},placeholder)},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_4__.a,{body:!0,className:"p-0"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_color__WEBPACK_IMPORTED_MODULE_5__.SketchPicker,{color:colorValue,onChange:color=>setColorValue(color.hex)}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"d-flex justify-content-between my-1 p-1"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_3__.a,{color:"secondary",onClick:()=>{setColorValue(value||"#ffffff"),setIsOpen(!1)}},Object(_utilities_translation_translation__WEBPACK_IMPORTED_MODULE_9__.a)({key:"ColorPicker.CANCEL",fallback:"Cancel",overrideText:text.cancel})),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_3__.a,{color:"primary",onClick:()=>onColorSelected(colorValue)},Object(_utilities_translation_translation__WEBPACK_IMPORTED_MODULE_9__.a)({key:"ColorPicker.SELECT",fallback:"Select",overrideText:text.select})))))),error)}const JarbColorPicker=Object(_withJarb_withJarb__WEBPACK_IMPORTED_MODULE_7__.a)(ColorPicker);try{ColorPicker.displayName="ColorPicker",ColorPicker.__docgenInfo={description:"ColorPicker is a form element which allows the user to select a\ncolor from a color picker. The color's format is in hex.",displayName:"ColorPicker",props:{id:{defaultValue:null,description:"The id of the form element.",name:"id",required:!0,type:{name:"string"}},value:{defaultValue:null,description:"The color that the form element currently has in hex.",name:"value",required:!1,type:{name:"string"}},onChange:{defaultValue:null,description:"Callback for when the form element changes.",name:"onChange",required:!0,type:{name:"(value?: string) => void"}},onBlur:{defaultValue:null,description:"Optional callback for when the form element is blurred.",name:"onBlur",required:!1,type:{name:"() => void"}},error:{defaultValue:null,description:"Optionally the error message to render.",name:"error",required:!1,type:{name:"any"}},color:{defaultValue:null,description:"Optionally the color of the FormGroup.",name:"color",required:!1,type:{name:"Color"}},valid:{defaultValue:null,description:"Whether or not the form element is currently valid.",name:"valid",required:!1,type:{name:"boolean"}},className:{defaultValue:null,description:"Optional extra CSS class you want to add to the component.\nUseful for styling the component.",name:"className",required:!1,type:{name:"string"}},label:{defaultValue:null,description:"The label of the form element.",name:"label",required:!0,type:{name:"any"}},placeholder:{defaultValue:null,description:"The placeholder of the form element.",name:"placeholder",required:!0,type:{name:"string"}},text:{defaultValue:null,description:"Optionally customized text within the component.\nThis text should already be translated.",name:"text",required:!1,type:{name:"Text"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/form/ColorPicker/ColorPicker.tsx#ColorPicker"]={docgenInfo:ColorPicker.__docgenInfo,name:"ColorPicker",path:"src/form/ColorPicker/ColorPicker.tsx#ColorPicker"})}catch(__react_docgen_typescript_loader_error){}try{JarbColorPicker.displayName="JarbColorPicker",JarbColorPicker.__docgenInfo={description:"Variant of the ColorPicker which can be used in a Jarb context.",displayName:"JarbColorPicker",props:{}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/form/ColorPicker/ColorPicker.tsx#JarbColorPicker"]={docgenInfo:JarbColorPicker.__docgenInfo,name:"JarbColorPicker",path:"src/form/ColorPicker/ColorPicker.tsx#JarbColorPicker"})}catch(__react_docgen_typescript_loader_error){}},156:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"b",(function(){return TextEditor})),__webpack_require__.d(__webpack_exports__,"a",(function(){return JarbTextEditor}));var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),reactstrap__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(88),reactstrap__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(89),react_quill__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(926),react_quill__WEBPACK_IMPORTED_MODULE_3___default=__webpack_require__.n(react_quill__WEBPACK_IMPORTED_MODULE_3__),classnames__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(8),classnames__WEBPACK_IMPORTED_MODULE_4___default=__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_4__),_withJarb_withJarb__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(33),_utils__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(55);function TextEditor(props){const{id:id,placeholder:placeholder,onChange:onChange,onBlur:onBlur,onFocus:onFocus,valid:valid,error:error,color:color,value:value,className:className="",modules:modules}=props,inputProps={id:id,placeholder:placeholder,onChange:content=>onChange(content),onBlur:()=>Object(_utils__WEBPACK_IMPORTED_MODULE_6__.a)(onBlur),onFocus:onFocus,value:value,modules:modules},classes=classnames__WEBPACK_IMPORTED_MODULE_4___default()({"is-invalid":!1===valid});return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_1__.a,{className:className,color:color},"label"in props&&props.label?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_2__.a,{for:props.id},props.label):null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_quill__WEBPACK_IMPORTED_MODULE_3___default.a,Object.assign({className:classes},inputProps)),error)}const JarbTextEditor=Object(_withJarb_withJarb__WEBPACK_IMPORTED_MODULE_5__.a)(TextEditor);try{TextEditor.displayName="TextEditor",TextEditor.__docgenInfo={description:"Textarea is a form element which allows the user to enter large\nformatted text.\n\nDisclaimer: when using the TextEditor you must sanitize the output\nwhen rendering the output in the browser. If you do not do this you\nrisk an XSS attack.\n\nThe 42 way of dealing with this problem is by using jsoup and to use the\nsanitiser, https://jsoup.org/cookbook/cleaning-html/whitelist-sanitizer,\nwith a whitelist. The whitelist should only contain elements which the\nTextEditor generates. The sanitizer should be applied before sending\nthe content to the browser.",displayName:"TextEditor",props:{id:{defaultValue:null,description:"The id of the form element.",name:"id",required:!1,type:{name:"string"}},label:{defaultValue:null,description:"The label of the form element.",name:"label",required:!1,type:{name:"any"}},placeholder:{defaultValue:null,description:"The placeholder of the form element.",name:"placeholder",required:!1,type:{name:"string"}},value:{defaultValue:null,description:"The value that the form element currently has.",name:"value",required:!1,type:{name:"string"}},onChange:{defaultValue:null,description:"Callback for when the form element changes.",name:"onChange",required:!0,type:{name:"(value: string) => void"}},onBlur:{defaultValue:null,description:"Optional callback for when the form element is blurred.",name:"onBlur",required:!1,type:{name:"() => void"}},onFocus:{defaultValue:null,description:"Optional callback for when the form element is focused.",name:"onFocus",required:!1,type:{name:"() => void"}},error:{defaultValue:null,description:"Optionally the error message to render.",name:"error",required:!1,type:{name:"any"}},color:{defaultValue:null,description:"Optionally the color of the FormGroup.",name:"color",required:!1,type:{name:"Color"}},valid:{defaultValue:null,description:"Whether or not the form element is currently valid.",name:"valid",required:!1,type:{name:"boolean"}},className:{defaultValue:null,description:"Optional extra CSS class you want to add to the component.\nUseful for styling the component.",name:"className",required:!1,type:{name:"string"}},modules:{defaultValue:null,description:"Optional configuration option to i.e. customize the toolbar.",name:"modules",required:!1,type:{name:"StringMap"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/form/TextEditor/TextEditor.tsx#TextEditor"]={docgenInfo:TextEditor.__docgenInfo,name:"TextEditor",path:"src/form/TextEditor/TextEditor.tsx#TextEditor"})}catch(__react_docgen_typescript_loader_error){}try{JarbTextEditor.displayName="JarbTextEditor",JarbTextEditor.__docgenInfo={description:"Variant of the TextEditor which can be used in a Jarb context.",displayName:"JarbTextEditor",props:{}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/form/TextEditor/TextEditor.tsx#JarbTextEditor"]={docgenInfo:JarbTextEditor.__docgenInfo,name:"JarbTextEditor",path:"src/form/TextEditor/TextEditor.tsx#JarbTextEditor"})}catch(__react_docgen_typescript_loader_error){}},171:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"b",(function(){return Textarea})),__webpack_require__.d(__webpack_exports__,"a",(function(){return JarbTextarea}));var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),reactstrap__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(88),reactstrap__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(89),react_textarea_autosize__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(501),classnames__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(8),classnames__WEBPACK_IMPORTED_MODULE_4___default=__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_4__),_withJarb_withJarb__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(33);function Textarea(props){const{id:id,placeholder:placeholder,onBlur:onBlur,onFocus:onFocus,onChange:onChange,value:value,color:color,error:error,valid:valid,className:className=""}=props,inputProps={id:id,value:value,placeholder:placeholder,onChange:event=>onChange(event.target.value),onFocus:onFocus,onBlur:onBlur},classes=classnames__WEBPACK_IMPORTED_MODULE_4___default()("form-control",{"is-invalid":!1===valid});return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_1__.a,{className:className,color:color},"label"in props&&props.label?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_2__.a,{for:props.id},props.label):null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_textarea_autosize__WEBPACK_IMPORTED_MODULE_3__.default,Object.assign({className:classes},inputProps)),error)}const JarbTextarea=Object(_withJarb_withJarb__WEBPACK_IMPORTED_MODULE_5__.a)(Textarea);try{Textarea.displayName="Textarea",Textarea.__docgenInfo={description:"Textarea is a basic form element which allows the user to enter large\ntexts, autogrows when the user enters a lot of text.",displayName:"Textarea",props:{id:{defaultValue:null,description:"The id of the form element.",name:"id",required:!1,type:{name:"string"}},label:{defaultValue:null,description:"The label of the form element.",name:"label",required:!1,type:{name:"any"}},placeholder:{defaultValue:null,description:"The placeholder of the form element.",name:"placeholder",required:!1,type:{name:"string"}},value:{defaultValue:null,description:"The value that the form element currently has.",name:"value",required:!1,type:{name:"string"}},onChange:{defaultValue:null,description:"Callback for when the form element changes.",name:"onChange",required:!0,type:{name:"(value: string) => void"}},onBlur:{defaultValue:null,description:"Optional callback for when the form element is blurred.",name:"onBlur",required:!1,type:{name:"() => void"}},onFocus:{defaultValue:null,description:"Optional callback for when the form element is focused.",name:"onFocus",required:!1,type:{name:"() => void"}},error:{defaultValue:null,description:"Optionally the error message to render.",name:"error",required:!1,type:{name:"any"}},color:{defaultValue:null,description:"Optionally the color of the FormGroup.",name:"color",required:!1,type:{name:"Color"}},valid:{defaultValue:null,description:"Whether or not the form element is currently valid.",name:"valid",required:!1,type:{name:"boolean"}},className:{defaultValue:null,description:"Optional extra CSS class you want to add to the component.\nUseful for styling the component.",name:"className",required:!1,type:{name:"string"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/form/Textarea/Textarea.tsx#Textarea"]={docgenInfo:Textarea.__docgenInfo,name:"Textarea",path:"src/form/Textarea/Textarea.tsx#Textarea"})}catch(__react_docgen_typescript_loader_error){}try{JarbTextarea.displayName="JarbTextarea",JarbTextarea.__docgenInfo={description:"Variant of the Textarea which can be used in a Jarb context.",displayName:"JarbTextarea",props:{}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/form/Textarea/Textarea.tsx#JarbTextarea"]={docgenInfo:JarbTextarea.__docgenInfo,name:"JarbTextarea",path:"src/form/Textarea/Textarea.tsx#JarbTextarea"})}catch(__react_docgen_typescript_loader_error){}},172:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"b",(function(){return TypeaheadSingle})),__webpack_require__.d(__webpack_exports__,"a",(function(){return JarbTypeaheadSingle}));var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),reactstrap__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(88),reactstrap__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(89),react_bootstrap_typeahead__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(375),lodash__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(16),_withJarb_withJarb__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(33),_utils__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(55),_utils__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__(237),classnames__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__(8),classnames__WEBPACK_IMPORTED_MODULE_8___default=__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_8__),__awaiter=function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){result.done?resolve(result.value):function adopt(value){return value instanceof P?value:new P((function(resolve){resolve(value)}))}(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))},__rest=function(s,e){var t={};for(var p in s)Object.prototype.hasOwnProperty.call(s,p)&&e.indexOf(p)<0&&(t[p]=s[p]);if(null!=s&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(p=Object.getOwnPropertySymbols(s);iObject(_utils__WEBPACK_IMPORTED_MODULE_7__.a)(value,optionForValue));this.setState({options:options,isLoading:!1});const selectedValue=Object(lodash__WEBPACK_IMPORTED_MODULE_4__.find)(options,({label:label})=>label.toLowerCase()===query.toLowerCase());selectedValue?this.props.onChange(selectedValue.value):this.props.onChange(void 0)}))}render(){const _a=this.props,{id:id,placeholder:placeholder,error:error,value:value,color:color,optionForValue:optionForValue,onFocus:onFocus,valid:valid,className:className=""}=_a,props=__rest(_a,["id","placeholder","error","value","color","optionForValue","onFocus","valid","className"]),selected=[];if(value){const option=Object(_utils__WEBPACK_IMPORTED_MODULE_7__.a)(value,optionForValue);selected.push(option)}const classes=classnames__WEBPACK_IMPORTED_MODULE_8___default()(className,{"is-invalid":!1===valid});return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_1__.a,{className:classes,color:color},"label"in props&&props.label?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_2__.a,{for:id},props.label):null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:0===selected.length?"showing-placeholder":""},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_bootstrap_typeahead__WEBPACK_IMPORTED_MODULE_3__.a,{id:id,labelKey:"label",isLoading:this.state.isLoading,multiple:!1,placeholder:placeholder,selected:selected,options:this.state.options,onSearch:query=>this.fetchOptions(query),onChange:value=>this.onChange(value),onFocus:onFocus,inputProps:{className:classnames__WEBPACK_IMPORTED_MODULE_8___default()("form-control",{"is-invalid":!1===valid})}})),error)}}const JarbTypeaheadSingle=Object(_withJarb_withJarb__WEBPACK_IMPORTED_MODULE_5__.a)(TypeaheadSingle);try{TypeaheadSingle.displayName="TypeaheadSingle",TypeaheadSingle.__docgenInfo={description:"The TypeaheadSingle is a form element which allows the user\nto select an option by searching for them and selecting\nthem.\n\nThe use case is that when there are too many options to render\nin a simple Select you can use the TypeaheadSingle.\n\nUse the TypeaheadSingle when the user knows which option he / she\nwants to select beforehand. Scenario: you are building a system\nfor a trading company, the users need to enter some trading code\nfrom a big list. The users know each code by heart since they\nwork with the system daily. This is a nice use case for the TypeaheadSingle\nbecause the user can type in faster than the can select from a\nModalPickerSingle.",displayName:"TypeaheadSingle",props:{id:{defaultValue:null,description:"The id of the form element.",name:"id",required:!1,type:{name:"string"}},label:{defaultValue:null,description:"The label of the form element.",name:"label",required:!1,type:{name:"any"}},placeholder:{defaultValue:null,description:"The placeholder of the form element.",name:"placeholder",required:!1,type:{name:"string"}},value:{defaultValue:null,description:"The value that the form element currently has.",name:"value",required:!1,type:{name:"T"}},fetchOptions:{defaultValue:null,description:"Callback to fetch the options to display to the user.",name:"fetchOptions",required:!0,type:{name:"FetchOptionsCallback"}},optionForValue:{defaultValue:null,description:"Callback to convert an value of type T to an option to show\nto the user.",name:"optionForValue",required:!0,type:{name:"OptionForValue"}},onChange:{defaultValue:null,description:"Callback for when the form element changes.",name:"onChange",required:!0,type:{name:"(value: T) => void"}},onFocus:{defaultValue:null,description:"Callback for when the form element gets the focus.",name:"onFocus",required:!1,type:{name:"() => void"}},onBlur:{defaultValue:null,description:"Optional callback for when the form element is blurred.",name:"onBlur",required:!1,type:{name:"() => void"}},error:{defaultValue:null,description:"Optionally the error message to render.",name:"error",required:!1,type:{name:"any"}},color:{defaultValue:null,description:"Optionally the color of the FormGroup.",name:"color",required:!1,type:{name:"Color"}},valid:{defaultValue:null,description:"Whether or not the form element is currently valid.",name:"valid",required:!1,type:{name:"boolean"}},className:{defaultValue:null,description:"Optional extra CSS class you want to add to the component.\nUseful for styling the component.",name:"className",required:!1,type:{name:"string"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/form/Typeahead/single/TypeaheadSingle.tsx#TypeaheadSingle"]={docgenInfo:TypeaheadSingle.__docgenInfo,name:"TypeaheadSingle",path:"src/form/Typeahead/single/TypeaheadSingle.tsx#TypeaheadSingle"})}catch(__react_docgen_typescript_loader_error){}try{JarbTypeaheadSingle.displayName="JarbTypeaheadSingle",JarbTypeaheadSingle.__docgenInfo={description:"Variant of the TypeaheadSingle which can be used in a Jarb context.",displayName:"JarbTypeaheadSingle",props:{}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/form/Typeahead/single/TypeaheadSingle.tsx#JarbTypeaheadSingle"]={docgenInfo:JarbTypeaheadSingle.__docgenInfo,name:"JarbTypeaheadSingle",path:"src/form/Typeahead/single/TypeaheadSingle.tsx#JarbTypeaheadSingle"})}catch(__react_docgen_typescript_loader_error){}},173:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"b",(function(){return TypeaheadMultiple})),__webpack_require__.d(__webpack_exports__,"a",(function(){return JarbTypeaheadMultiple}));var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),reactstrap__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(88),reactstrap__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(89),react_bootstrap_typeahead__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(375),_withJarb_withJarb__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(33),_utils__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(55),_utils__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(237),classnames__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__(8),classnames__WEBPACK_IMPORTED_MODULE_7___default=__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_7__),__awaiter=function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){result.done?resolve(result.value):function adopt(value){return value instanceof P?value:new P((function(resolve){resolve(value)}))}(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))},__rest=function(s,e){var t={};for(var p in s)Object.prototype.hasOwnProperty.call(s,p)&&e.indexOf(p)<0&&(t[p]=s[p]);if(null!=s&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(p=Object.getOwnPropertySymbols(s);ioption.value)),Object(_utils__WEBPACK_IMPORTED_MODULE_5__.a)(this.props.onBlur)}fetchOptions(query){return __awaiter(this,void 0,void 0,(function*(){const{optionForValue:optionForValue}=this.props;this.setState({isLoading:!0});const options=(yield this.props.fetchOptions(query)).content.map(value=>Object(_utils__WEBPACK_IMPORTED_MODULE_6__.a)(value,optionForValue));this.setState({options:options,isLoading:!1})}))}render(){const _a=this.props,{id:id,placeholder:placeholder,value:value,color:color,error:error,optionForValue:optionForValue,onFocus:onFocus,valid:valid,className:className=""}=_a,props=__rest(_a,["id","placeholder","value","color","error","optionForValue","onFocus","valid","className"]);let selected=[];value&&value.length&&(selected=value.map(v=>Object(_utils__WEBPACK_IMPORTED_MODULE_6__.a)(v,optionForValue)));const classes=classnames__WEBPACK_IMPORTED_MODULE_7___default()(className,{"is-invalid":!1===valid});return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_1__.a,{className:classes,color:color},"label"in props&&props.label?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_2__.a,{for:id},props.label):null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:0===selected.length?"showing-placeholder":""},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_bootstrap_typeahead__WEBPACK_IMPORTED_MODULE_3__.a,{id:id,isLoading:this.state.isLoading,multiple:!0,placeholder:placeholder,selected:selected,options:this.state.options,inputProps:{value:value,className:classnames__WEBPACK_IMPORTED_MODULE_7___default()("form-control",{"is-invalid":!1===valid})},onChange:value=>this.onChange(value),onSearch:query=>this.fetchOptions(query),onFocus:onFocus})),error)}}const JarbTypeaheadMultiple=Object(_withJarb_withJarb__WEBPACK_IMPORTED_MODULE_4__.a)(TypeaheadMultiple);try{TypeaheadMultiple.displayName="TypeaheadMultiple",TypeaheadMultiple.__docgenInfo={description:"The TypeaheadMultiple is a form element which allows the user\nto select multiple options by searching for them and selecting\nthem.\n\nThe use case is that when there are too many options to render\nin a simple Select you can use the TypeaheadMultiple.\n\nUse the TypeaheadMultiple when the user knows which options he / she\nwants to select beforehand. Scenario: you are building a system\nfor a trading company, the users need to enter some trading code\nfrom a big list. The users know each code by heart since they\nwork with the system daily. This is a nice use case for the TypeaheadMultiple\nbecause the user can type in faster than the can select from a\nModalPickerMultiple.",displayName:"TypeaheadMultiple",props:{id:{defaultValue:null,description:"The id of the form element.",name:"id",required:!1,type:{name:"string"}},label:{defaultValue:null,description:"The label of the form element.",name:"label",required:!1,type:{name:"any"}},placeholder:{defaultValue:null,description:"The placeholder of the form element.",name:"placeholder",required:!1,type:{name:"string"}},fetchOptions:{defaultValue:null,description:"Callback to fetch the options to display to the user.",name:"fetchOptions",required:!0,type:{name:"FetchOptionsCallback"}},optionForValue:{defaultValue:null,description:"Callback to convert an value of type T to an option to show\nto the user.",name:"optionForValue",required:!0,type:{name:"OptionForValue"}},onChange:{defaultValue:null,description:"Callback for when the form element changes.",name:"onChange",required:!0,type:{name:"(value: T[]) => void"}},onBlur:{defaultValue:null,description:"Optional callback for when the form element is blurred.",name:"onBlur",required:!1,type:{name:"() => void"}},onFocus:{defaultValue:null,description:"Callback for when the form element gets the focus.",name:"onFocus",required:!1,type:{name:"() => void"}},error:{defaultValue:null,description:"Optionally the error message to render.",name:"error",required:!1,type:{name:"any"}},color:{defaultValue:null,description:"Optionally the color of the FormGroup.",name:"color",required:!1,type:{name:"Color"}},valid:{defaultValue:null,description:"Whether or not the form element is currently valid.",name:"valid",required:!1,type:{name:"boolean"}},value:{defaultValue:null,description:"The value that the form element currently has.",name:"value",required:!1,type:{name:"T[]"}},className:{defaultValue:null,description:"Optional extra CSS class you want to add to the component.\nUseful for styling the component.",name:"className",required:!1,type:{name:"string"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/form/Typeahead/multiple/TypeaheadMultiple.tsx#TypeaheadMultiple"]={docgenInfo:TypeaheadMultiple.__docgenInfo,name:"TypeaheadMultiple",path:"src/form/Typeahead/multiple/TypeaheadMultiple.tsx#TypeaheadMultiple"})}catch(__react_docgen_typescript_loader_error){}try{JarbTypeaheadMultiple.displayName="JarbTypeaheadMultiple",JarbTypeaheadMultiple.__docgenInfo={description:"Variant of the TypeaheadMultiple which can be used in a Jarb context.",displayName:"JarbTypeaheadMultiple",props:{}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/form/Typeahead/multiple/TypeaheadMultiple.tsx#JarbTypeaheadMultiple"]={docgenInfo:JarbTypeaheadMultiple.__docgenInfo,name:"JarbTypeaheadMultiple",path:"src/form/Typeahead/multiple/TypeaheadMultiple.tsx#JarbTypeaheadMultiple"})}catch(__react_docgen_typescript_loader_error){}},174:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return EpicDetailRow}));var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),__rest=function(s,e){var t={};for(var p in s)Object.prototype.hasOwnProperty.call(s,p)&&e.indexOf(p)<0&&(t[p]=s[p]);if(null!=s&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(p=Object.getOwnPropertySymbols(s);i any"}},active:{defaultValue:null,description:"Whether or not the children should be rendered.",name:"active",required:!0,type:{name:"boolean"}},left:{defaultValue:null,description:"How much the EpicDetailRow should be placed to the left.\nBest to use the width of the first column so it aligns\njust next to the first column.",name:"left",required:!0,type:{name:"number"}},ref:{defaultValue:null,description:"",name:"ref",required:!1,type:{name:"Ref"}},key:{defaultValue:null,description:"",name:"key",required:!1,type:{name:"ReactText"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/table/EpicTable/rows/EpicDetailRow/EpicDetailRow.tsx#EpicDetailRow"]={docgenInfo:EpicDetailRow.__docgenInfo,name:"EpicDetailRow",path:"src/table/EpicTable/rows/EpicDetailRow/EpicDetailRow.tsx#EpicDetailRow"})}catch(__react_docgen_typescript_loader_error){}},175:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return InfoBadge}));var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),reactstrap__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(2333),classnames__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(8),classnames__WEBPACK_IMPORTED_MODULE_2___default=__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_2__);function InfoBadge({color:color,value:value,children:children,className:className}){return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span",{className:classnames__WEBPACK_IMPORTED_MODULE_2___default()("info-badge-container",className)},children,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_1__.a,{color:color,pill:!0},value))}try{InfoBadge.displayName="InfoBadge",InfoBadge.__docgenInfo={description:"InfoBadge is a badge which shows up on the top right of an element.\n\nUse it when you want to show a notification / message count above\nan element.",displayName:"InfoBadge",props:{children:{defaultValue:null,description:"The element you want to add the InfoBadge to.",name:"children",required:!0,type:{name:"any"}},color:{defaultValue:null,description:"The color of the badge. Supports Bootstrap colors (e.g. primary, danger).",name:"color",required:!0,type:{name:"Color"}},value:{defaultValue:null,description:"The string or number to show in the badge.",name:"value",required:!0,type:{name:"ReactText"}},className:{defaultValue:null,description:"Optional extra CSS class you want to add to the component.\nUseful for styling the component.",name:"className",required:!1,type:{name:"string"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/core/InfoBadge/InfoBadge.tsx#InfoBadge"]={docgenInfo:InfoBadge.__docgenInfo,name:"InfoBadge",path:"src/core/InfoBadge/InfoBadge.tsx#InfoBadge"})}catch(__react_docgen_typescript_loader_error){}},192:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return ProgressStepper}));var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),classnames__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(8),classnames__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_1__);const alwaysFalse=()=>!1;function ProgressStepper(props){const{steps:steps,onClick:onClick,colorForStep:colorForStep,titleForStep:titleForStep,isStepClickable:isStepClickable=alwaysFalse,className:className}=props;return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:classnames__WEBPACK_IMPORTED_MODULE_1___default()("progress-stepper",className)},steps.map((step,index)=>{const title=titleForStep(step,index),color=colorForStep(step,index),clickable=isStepClickable(step,index),classes=classnames__WEBPACK_IMPORTED_MODULE_1___default()("step",color,{clickable:clickable});return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{key:title,className:classes},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"step-item",onClick:()=>{clickable&&onClick&&onClick(step,index)}},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"step-circle"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span",null,index+1)),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"step-title"},title)),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"step-bar-left"}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"step-bar-right"}))}))}try{ProgressStepper.displayName="ProgressStepper",ProgressStepper.__docgenInfo={description:"",displayName:"ProgressStepper",props:{steps:{defaultValue:null,description:"The steps that the progress stepper needs to render. Can be\nanything from an array of strings to an array of complex\nobjects.",name:"steps",required:!0,type:{name:"T[]"}},onClick:{defaultValue:null,description:"Optional callback which is called when the step is clicked.\n\nCan only be called if the `isStepClickable` for this step\nreturns `true`.\n@param step The step which is clicked\n@param index The index of the step that was clicked",name:"onClick",required:!1,type:{name:"(step: T, index: number) => void"}},colorForStep:{defaultValue:null,description:"Callback to determine the bootstrap color of the step.\n\nThe color also determines if an icon is shown in the circle\nor a number.\n@param step The step you must provide the color for\n@param index The index of the step you must provide the color for\\\n@returns",name:"colorForStep",required:!0,type:{name:"(step: T, index: number) => Color"}},titleForStep:{defaultValue:null,description:"Callback to determine the title for the step to display below the circle.\n@param step The step you must provide the title for\n@param index The index of the step you must provide the color for\n@returns The title of the step",name:"titleForStep",required:!0,type:{name:"(step: T, index: number) => string"}},isStepClickable:{defaultValue:null,description:"Optional callback to determine whether or not the step is clickable.\n\nWhen the step is clickable the cursor will be a pointer, and\ncalls to `onClick` are let through.\n@param step The step you must answer whether it is clickable or not\n@param index The index of the step for which you must answer whether it is clickable or not\n@returns Whether or not the step is clickable",name:"isStepClickable",required:!1,type:{name:"(step: T, index: number) => boolean"}},className:{defaultValue:null,description:"Optional extra CSS class you want to add to the component.\nUseful for styling the component.",name:"className",required:!1,type:{name:"string"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/core/ProgressStepper/ProgressStepper.tsx#ProgressStepper"]={docgenInfo:ProgressStepper.__docgenInfo,name:"ProgressStepper",path:"src/core/ProgressStepper/ProgressStepper.tsx#ProgressStepper"})}catch(__react_docgen_typescript_loader_error){}},193:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"b",(function(){return IconPicker})),__webpack_require__.d(__webpack_exports__,"a",(function(){return JarbIconPicker}));var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),reactstrap__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(88),reactstrap__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(89),reactstrap__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(82),reactstrap__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(23),reactstrap__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(937),reactstrap__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(512),classnames__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__(8),classnames__WEBPACK_IMPORTED_MODULE_7___default=__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_7__),_withJarb_withJarb__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__(33),_core_Icon__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__(63),_core_Pager_Pager__WEBPACK_IMPORTED_MODULE_10__=__webpack_require__(212),_utils__WEBPACK_IMPORTED_MODULE_11__=__webpack_require__(55),_core_SearchInput_SearchInput__WEBPACK_IMPORTED_MODULE_12__=__webpack_require__(104),_utilities_page_page__WEBPACK_IMPORTED_MODULE_13__=__webpack_require__(126),_core_ContentState_ContentState__WEBPACK_IMPORTED_MODULE_14__=__webpack_require__(97),_utilities_translation_translation__WEBPACK_IMPORTED_MODULE_15__=__webpack_require__(21),_core_Tooltip_Tooltip__WEBPACK_IMPORTED_MODULE_16__=__webpack_require__(30),_core_Popover_Popover__WEBPACK_IMPORTED_MODULE_17__=__webpack_require__(53),_core_TextButton_TextButton__WEBPACK_IMPORTED_MODULE_18__=__webpack_require__(122);function IconPicker(props){const{value:value,color:color,placeholder:placeholder,className:className,error:error,onChange:onChange,onBlur:onBlur,text:text={}}=props,[isOpen,setIsOpen]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(!1),[pageNumber,setPageNumber]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(1),[query,setQuery]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(""),filteredIcons=_core_Icon__WEBPACK_IMPORTED_MODULE_9__.b.filter(icon=>icon.toLowerCase().startsWith(query.toLowerCase())),iconsPage=Object(_utilities_page_page__WEBPACK_IMPORTED_MODULE_13__.a)(filteredIcons,pageNumber,36);function onIconSelected(icon){onChange(icon),Object(_utils__WEBPACK_IMPORTED_MODULE_11__.a)(onBlur),setIsOpen(!1)}const isEmpty=0===filteredIcons.length,classes=classnames__WEBPACK_IMPORTED_MODULE_7___default()("icon-picker",className);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_SearchInput_SearchInput__WEBPACK_IMPORTED_MODULE_12__.a,{value:query,onChange:function onSearch(query){setQuery(query),setPageNumber(1)},debounce:0},(searchInput,searchInputApi)=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_1__.a,{className:classes,color:color},"label"in props&&props.label?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_2__.a,null,props.label):null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"d-flex"},value?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"d-flex justify-content-between"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_Icon__WEBPACK_IMPORTED_MODULE_9__.a,{id:"icon-picker-value",className:"pt-2",icon:value}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_TextButton_TextButton__WEBPACK_IMPORTED_MODULE_18__.a,{onClick:()=>onIconSelected(void 0),className:"mx-3"},Object(_utilities_translation_translation__WEBPACK_IMPORTED_MODULE_15__.a)({key:"IconPicker.CLEAR",fallback:"Clear",overrideText:text.clear}))):null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_Popover_Popover__WEBPACK_IMPORTED_MODULE_17__.a,{placement:"bottom",isOpen:isOpen,target:react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_3__.a,{type:"button",color:"primary",onClick:()=>{isOpen&&searchInputApi.setValue(""),setIsOpen(!isOpen)}},placeholder)},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_4__.a,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_5__.a,null,searchInput),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_6__.a,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{style:{width:250,height:250}},isEmpty?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_ContentState_ContentState__WEBPACK_IMPORTED_MODULE_14__.a,{mode:"no-results",title:Object(_utilities_translation_translation__WEBPACK_IMPORTED_MODULE_15__.a)({key:"IconPicker.NO_RESULTS.TITLE",fallback:"No icons found",overrideText:text.noResultsTitle}),subTitle:Object(_utilities_translation_translation__WEBPACK_IMPORTED_MODULE_15__.a)({key:"IconPicker.NO_RESULTS.SUBTITLE",fallback:"No icons were found, please try again with a different query.",overrideText:text.noResultsSubtitle})}):iconsPage.content.map(icon=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span",{key:icon,className:"d-inline-block"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_Tooltip_Tooltip__WEBPACK_IMPORTED_MODULE_16__.a,{placement:"top",distance:18,content:icon},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_Icon__WEBPACK_IMPORTED_MODULE_9__.a,{className:"m-2",icon:icon,onClick:()=>onIconSelected(icon)}))))),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"my-2 text-center"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_Pager_Pager__WEBPACK_IMPORTED_MODULE_10__.a,{page:iconsPage,onChange:setPageNumber})))))),error))}const JarbIconPicker=Object(_withJarb_withJarb__WEBPACK_IMPORTED_MODULE_8__.a)(IconPicker);try{IconPicker.displayName="IconPicker",IconPicker.__docgenInfo={description:"IconPicker is a form element which allows the user to select one\nof the material design icons. It is a popover which shows all\nthe icons and lets the user select one.",displayName:"IconPicker",props:{id:{defaultValue:null,description:"The id of the form element.",name:"id",required:!1,type:{name:"string"}},label:{defaultValue:null,description:"The label of the form element.",name:"label",required:!1,type:{name:"any"}},value:{defaultValue:null,description:"The value that the form element currently has.",name:"value",required:!1,type:{name:'"info" | "warning" | "link" | "3d_rotation" | "accessibility" | "accessibility_new" | "accessible" | "accessible_forward" | "account_balance" | "account_balance_wallet" | ... 999 more ... | "toggle_on"'}},onChange:{defaultValue:null,description:"Callback for when the form element changes.",name:"onChange",required:!0,type:{name:'(value?: "info" | "warning" | "link" | "3d_rotation" | "accessibility" | "accessibility_new" | "accessible" | "accessible_forward" | "account_balance" | "account_balance_wallet" | ... 999 more ... | "toggle_on") => void'}},onBlur:{defaultValue:null,description:"Optional callback for when the form element is blurred.",name:"onBlur",required:!1,type:{name:"() => void"}},error:{defaultValue:null,description:"Optionally the error message to render.",name:"error",required:!1,type:{name:"any"}},color:{defaultValue:null,description:"Optionally the color of the FormGroup.",name:"color",required:!1,type:{name:"Color"}},valid:{defaultValue:null,description:"Whether or not the form element is currently valid.",name:"valid",required:!1,type:{name:"boolean"}},className:{defaultValue:null,description:"Optional extra CSS class you want to add to the component.\nUseful for styling the component.",name:"className",required:!1,type:{name:"string"}},placeholder:{defaultValue:null,description:"The placeholder of the form element.",name:"placeholder",required:!0,type:{name:"string"}},text:{defaultValue:null,description:"Optionally customized text within the component.\nThis text should already be translated.",name:"text",required:!1,type:{name:"Text"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/form/IconPicker/IconPicker.tsx#IconPicker"]={docgenInfo:IconPicker.__docgenInfo,name:"IconPicker",path:"src/form/IconPicker/IconPicker.tsx#IconPicker"})}catch(__react_docgen_typescript_loader_error){}try{JarbIconPicker.displayName="JarbIconPicker",JarbIconPicker.__docgenInfo={description:"Variant of the IconPicker which can be used in a Jarb context.",displayName:"JarbIconPicker",props:{}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/form/IconPicker/IconPicker.tsx#JarbIconPicker"]={docgenInfo:JarbIconPicker.__docgenInfo,name:"JarbIconPicker",path:"src/form/IconPicker/IconPicker.tsx#JarbIconPicker"})}catch(__react_docgen_typescript_loader_error){}},194:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return NavigationItem}));var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),react_router_dom__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(217),reactstrap__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(2334),reactstrap__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(2335),classnames__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(8),classnames__WEBPACK_IMPORTED_MODULE_4___default=__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_4__),_Icon__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(63);function NavigationItem({to:to,icon:icon,text:text,show:show=!0,className:className,exact:exact=!0}){return("function"==typeof show?show:()=>show)()?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_2__.a,{className:classnames__WEBPACK_IMPORTED_MODULE_4___default()("navigation-item",className)},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_3__.a,{to:to,exact:exact,tag:react_router_dom__WEBPACK_IMPORTED_MODULE_1__.b,activeClassName:"active"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_5__.a,{icon:icon,className:"mr-3 align-bottom"}),text)):null}try{NavigationItem.displayName="NavigationItem",NavigationItem.__docgenInfo={description:"The NavigationItem is a wrapper around the `react-router`'s \n`NavLink`. See https://reacttraining.com/react-router/web/api/NavLink.\nIt adds texts and icons around the `NavLink`.\n\nThe NavigationItem enables you to guard specific links by a predicate, \nfor example by user role.\n\nUse it when you want to keep certain navigation items hidden \nfor specific user roles.\n\nBy default the `NavigationItem` will render an `exact` link. See:\nhttps://reacttraining.com/react-router/web/api/Route/exact-bool.\nBut you can set it to `false` via the props.",displayName:"NavigationItem",props:{to:{defaultValue:null,description:"String that corresponds to a route.",name:"to",required:!0,type:{name:"string"}},icon:{defaultValue:null,description:"Determines which icon to render above the text.",name:"icon",required:!0,type:{name:'"info" | "warning" | "link" | "3d_rotation" | "accessibility" | "accessibility_new" | "accessible" | "accessible_forward" | "account_balance" | "account_balance_wallet" | ... 999 more ... | "toggle_on"'}},text:{defaultValue:null,description:"Link text as rendered underneath icon.",name:"text",required:!1,type:{name:"string"}},className:{defaultValue:null,description:"Optional extra CSS class you want to add to the component.\nUseful for styling the component.",name:"className",required:!1,type:{name:"string"}},show:{defaultValue:{value:!0},description:"Predicate to determine if the link will be shown. Accepts either a boolean or a function that returns a boolean.",name:"show",required:!1,type:{name:"boolean | (() => boolean)"}},exact:{defaultValue:{value:!0},description:"Optionally whether the route is an exact route.\n\nDefaults to true.",name:"exact",required:!1,type:{name:"boolean"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/core/NavigationItem/NavigationItem.tsx#NavigationItem"]={docgenInfo:NavigationItem.__docgenInfo,name:"NavigationItem",path:"src/core/NavigationItem/NavigationItem.tsx#NavigationItem"})}catch(__react_docgen_typescript_loader_error){}},2064:function(module,exports,__webpack_require__){"use strict";__webpack_require__(2065),(0,__webpack_require__(502).setConstraints)({Person:{firstName:{javaType:"java.lang.String",types:["text"],required:!0,minimumLength:null,maximumLength:50,fractionLength:null,radix:null,pattern:null,min:null,max:null,name:"firstName"},lastName:{javaType:"java.lang.String",types:["text"],required:!0,minimumLength:null,maximumLength:50,fractionLength:null,radix:null,pattern:null,min:null,max:null,name:"lastName"},age:{javaType:"java.lang.Integer",types:["number"],required:!0,minimumLength:null,maximumLength:null,fractionLength:0,radix:null,pattern:null,min:16,max:99,name:"age"},eyeColor:{javaType:"java.lang.String",types:["text"],required:!0,minimumLength:null,maximumLength:50,fractionLength:null,radix:null,pattern:null,min:null,max:null,name:"eyeColor"},height:{javaType:"java.lang.Integer",types:["number"],required:!0,minimumLength:null,maximumLength:null,fractionLength:0,radix:null,pattern:null,min:0,max:220,name:"height"},weight:{javaType:"java.lang.Long",types:["number"],required:!0,minimumLength:null,maximumLength:null,fractionLength:2,radix:null,pattern:null,min:0,max:220,name:"weight"},jobTitle:{javaType:"java.lang.String",types:["text"],required:!0,minimumLength:null,maximumLength:29,fractionLength:6,radix:10,pattern:null,min:null,max:null,name:"jobTitle"},favoriteFood:{javaType:"java.lang.String",types:["text"],required:!0,minimumLength:null,maximumLength:50,fractionLength:null,radix:null,pattern:null,min:null,max:null,name:"favoriteFood"},favoriteMovie:{javaType:"java.lang.String",types:["text"],required:!0,minimumLength:null,maximumLength:50,fractionLength:null,radix:null,pattern:null,min:null,max:null,name:"favoriteMovie"},birthDate:{javaType:"java.time.Instant",types:["date"],required:!0,minimumLength:null,maximumLength:50,fractionLength:null,radix:null,pattern:null,min:null,max:null,name:"birthDate"},sex:{javaType:"java.lang.String",types:[],required:!0,minimumLength:null,maximumLength:50,fractionLength:null,radix:null,pattern:null,min:null,max:null,name:"sex"}}})},2065:function(module,exports,__webpack_require__){var api=__webpack_require__(2066),content=__webpack_require__(2067);"string"==typeof(content=content.__esModule?content.default:content)&&(content=[[module.i,content,""]]);var options={insert:"head",singleton:!1},exported=(api(content,options),content.locals?content.locals:{});module.exports=exported},2067:function(module,exports,__webpack_require__){var ___CSS_LOADER_API_IMPORT___=__webpack_require__(231),___CSS_LOADER_AT_RULE_IMPORT_0___=__webpack_require__(2068),___CSS_LOADER_AT_RULE_IMPORT_1___=__webpack_require__(2069),___CSS_LOADER_AT_RULE_IMPORT_2___=__webpack_require__(2070),___CSS_LOADER_AT_RULE_IMPORT_3___=__webpack_require__(2071),___CSS_LOADER_AT_RULE_IMPORT_4___=__webpack_require__(2072);(exports=___CSS_LOADER_API_IMPORT___(!1)).i(___CSS_LOADER_AT_RULE_IMPORT_0___),exports.i(___CSS_LOADER_AT_RULE_IMPORT_1___),exports.i(___CSS_LOADER_AT_RULE_IMPORT_2___),exports.i(___CSS_LOADER_AT_RULE_IMPORT_3___),exports.i(___CSS_LOADER_AT_RULE_IMPORT_4___),exports.push([module.i,".b-t{border-top:1px solid rgba(33,37,41,0.13)}.b-b{border-bottom:1px solid rgba(33,37,41,0.13)}.b-l{border-left:1px solid rgba(33,37,41,0.13)}.b-r{border-right:1px solid rgba(33,37,41,0.13)}.b-all{border:1px solid rgba(33,37,41,0.13)}.clickable{cursor:pointer}.not-clickable{cursor:default !important}/*!\n * Bootstrap v4.4.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */:root{--blue: #2cabe3;--indigo: #6610f2;--purple: #613d7c;--pink: #ff5b77;--red: #d9534f;--orange: #f0ad4e;--yellow: #ffd500;--green: #5fdc9f;--teal: #5bc0de;--cyan: #17a2b8;--white: #fff;--gray: #868e96;--gray-dark: #343a40;--blue: #2cabe3;--indigo: #6610f2;--purple: #613d7c;--pink: #ff5b77;--red: #d9534f;--orange: #f0ad4e;--#ff0: #ffd500;--green: #5fdc9f;--teal: #5bc0de;--cyan: #17a2b8;--#fff: #fff;--gray: #868e96;--primary: #2cabe3;--secondary: #868e96;--success: #5fdc9f;--info: #17a2b8;--warning: #ffd500;--danger: #d9534f;--light: #e9ecef;--dark: #343a40;--#fff: #fff;--breakpoint-xs: 0;--breakpoint-sm: 576px;--breakpoint-md: 768px;--breakpoint-lg: 992px;--breakpoint-xl: 1200px;--font-family-sans-serif: -apple-system, system-ui, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif;--font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace}*,*::before,*::after{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,system-ui,BlinkMacSystemFont,\"Segoe UI\",Roboto,\"Helvetica Neue\",Arial,sans-serif;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#f4f6f8}[tabindex=\"-1\"]:focus:not(:focus-visible){outline:0 !important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[title],abbr[data-original-title]{text-decoration:underline;text-decoration:underline dotted;cursor:help;border-bottom:0;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul,dl{margin-top:0;margin-bottom:1rem}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#2cabe3;text-decoration:none;background-color:transparent}a:hover{color:#177eac;text-decoration:underline}a:not([href]){color:inherit;text-decoration:none}a:not([href]):hover{color:inherit;text-decoration:none}pre,code,kbd,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,\"Liberation Mono\",\"Courier New\",monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg{overflow:hidden;vertical-align:middle}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#868e96;text-align:left;caption-side:bottom}th{text-align:inherit}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}input,button,select,optgroup,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}select{word-wrap:normal}button,[type=\"button\"],[type=\"reset\"],[type=\"submit\"]{-webkit-appearance:button}button:not(:disabled),[type=\"button\"]:not(:disabled),[type=\"reset\"]:not(:disabled),[type=\"submit\"]:not(:disabled){cursor:pointer}button::-moz-focus-inner,[type=\"button\"]::-moz-focus-inner,[type=\"reset\"]::-moz-focus-inner,[type=\"submit\"]::-moz-focus-inner{padding:0;border-style:none}input[type=\"radio\"],input[type=\"checkbox\"]{box-sizing:border-box;padding:0}input[type=\"date\"],input[type=\"time\"],input[type=\"datetime-local\"],input[type=\"month\"]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=\"number\"]::-webkit-inner-spin-button,[type=\"number\"]::-webkit-outer-spin-button{height:auto}[type=\"search\"]{outline-offset:-2px;-webkit-appearance:none}[type=\"search\"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none !important}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{margin-bottom:.5rem;font-weight:500;line-height:1.2}h1,.h1{font-size:2.5rem}h2,.h2{font-size:2rem}h3,.h3{font-size:1.75rem}h4,.h4{font-size:1.5rem}h5,.h5{font-size:1.25rem}h6,.h6{font-size:1rem}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:6rem;font-weight:300;line-height:1.2}.display-2{font-size:5.5rem;font-weight:300;line-height:1.2}.display-3{font-size:4.5rem;font-weight:300;line-height:1.2}.display-4{font-size:3.5rem;font-weight:300;line-height:1.2}hr{margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,0.1)}small,.small{font-size:80%;font-weight:400}mark,.mark{padding:.2em;background-color:#fcf8e3}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:90%;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote-footer{display:block;font-size:80%;color:#868e96}.blockquote-footer::before{content:\"\\2014\\00A0\"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#f4f6f8;border:1px solid #dee2e6;border-radius:.25rem;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:90%;color:#868e96}code{font-size:87.5%;color:#ff5b77;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:87.5%;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:100%;font-weight:700}pre{display:block;font-size:87.5%;color:#212529}pre code{font-size:inherit;color:inherit;word-break:normal}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width: 576px){.container{max-width:540px}}@media (min-width: 768px){.container{max-width:720px}}@media (min-width: 992px){.container{max-width:960px}}@media (min-width: 1200px){.container{max-width:1140px}}.container-fluid,.container-sm,.container-md,.container-lg,.container-xl{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width: 576px){.container,.container-sm{max-width:540px}}@media (min-width: 768px){.container,.container-sm,.container-md{max-width:720px}}@media (min-width: 992px){.container,.container-sm,.container-md,.container-lg{max-width:960px}}@media (min-width: 1200px){.container,.container-sm,.container-md,.container-lg,.container-xl{max-width:1140px}}.row{display:flex;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=\"col-\"]{padding-right:0;padding-left:0}.col-1,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-10,.col-11,.col-12,.col,.col-auto,.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm,.col-sm-auto,.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12,.col-md,.col-md-auto,.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg,.col-lg-auto,.col-xl-1,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl,.col-xl-auto{position:relative;width:100%;padding-right:15px;padding-left:15px}.col{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-1>*{flex:0 0 100%;max-width:100%}.row-cols-2>*{flex:0 0 50%;max-width:50%}.row-cols-3>*{flex:0 0 33.33333%;max-width:33.33333%}.row-cols-4>*{flex:0 0 25%;max-width:25%}.row-cols-5>*{flex:0 0 20%;max-width:20%}.row-cols-6>*{flex:0 0 16.66667%;max-width:16.66667%}.col-auto{flex:0 0 auto;width:auto;max-width:100%}.col-1{flex:0 0 8.33333%;max-width:8.33333%}.col-2{flex:0 0 16.66667%;max-width:16.66667%}.col-3{flex:0 0 25%;max-width:25%}.col-4{flex:0 0 33.33333%;max-width:33.33333%}.col-5{flex:0 0 41.66667%;max-width:41.66667%}.col-6{flex:0 0 50%;max-width:50%}.col-7{flex:0 0 58.33333%;max-width:58.33333%}.col-8{flex:0 0 66.66667%;max-width:66.66667%}.col-9{flex:0 0 75%;max-width:75%}.col-10{flex:0 0 83.33333%;max-width:83.33333%}.col-11{flex:0 0 91.66667%;max-width:91.66667%}.col-12{flex:0 0 100%;max-width:100%}.order-first{order:-1}.order-last{order:13}.order-0{order:0}.order-1{order:1}.order-2{order:2}.order-3{order:3}.order-4{order:4}.order-5{order:5}.order-6{order:6}.order-7{order:7}.order-8{order:8}.order-9{order:9}.order-10{order:10}.order-11{order:11}.order-12{order:12}.offset-1{margin-left:8.33333%}.offset-2{margin-left:16.66667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333%}.offset-5{margin-left:41.66667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333%}.offset-8{margin-left:66.66667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333%}.offset-11{margin-left:91.66667%}@media (min-width: 576px){.col-sm{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-sm-1>*{flex:0 0 100%;max-width:100%}.row-cols-sm-2>*{flex:0 0 50%;max-width:50%}.row-cols-sm-3>*{flex:0 0 33.33333%;max-width:33.33333%}.row-cols-sm-4>*{flex:0 0 25%;max-width:25%}.row-cols-sm-5>*{flex:0 0 20%;max-width:20%}.row-cols-sm-6>*{flex:0 0 16.66667%;max-width:16.66667%}.col-sm-auto{flex:0 0 auto;width:auto;max-width:100%}.col-sm-1{flex:0 0 8.33333%;max-width:8.33333%}.col-sm-2{flex:0 0 16.66667%;max-width:16.66667%}.col-sm-3{flex:0 0 25%;max-width:25%}.col-sm-4{flex:0 0 33.33333%;max-width:33.33333%}.col-sm-5{flex:0 0 41.66667%;max-width:41.66667%}.col-sm-6{flex:0 0 50%;max-width:50%}.col-sm-7{flex:0 0 58.33333%;max-width:58.33333%}.col-sm-8{flex:0 0 66.66667%;max-width:66.66667%}.col-sm-9{flex:0 0 75%;max-width:75%}.col-sm-10{flex:0 0 83.33333%;max-width:83.33333%}.col-sm-11{flex:0 0 91.66667%;max-width:91.66667%}.col-sm-12{flex:0 0 100%;max-width:100%}.order-sm-first{order:-1}.order-sm-last{order:13}.order-sm-0{order:0}.order-sm-1{order:1}.order-sm-2{order:2}.order-sm-3{order:3}.order-sm-4{order:4}.order-sm-5{order:5}.order-sm-6{order:6}.order-sm-7{order:7}.order-sm-8{order:8}.order-sm-9{order:9}.order-sm-10{order:10}.order-sm-11{order:11}.order-sm-12{order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333%}.offset-sm-2{margin-left:16.66667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333%}.offset-sm-5{margin-left:41.66667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333%}.offset-sm-8{margin-left:66.66667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333%}.offset-sm-11{margin-left:91.66667%}}@media (min-width: 768px){.col-md{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-md-1>*{flex:0 0 100%;max-width:100%}.row-cols-md-2>*{flex:0 0 50%;max-width:50%}.row-cols-md-3>*{flex:0 0 33.33333%;max-width:33.33333%}.row-cols-md-4>*{flex:0 0 25%;max-width:25%}.row-cols-md-5>*{flex:0 0 20%;max-width:20%}.row-cols-md-6>*{flex:0 0 16.66667%;max-width:16.66667%}.col-md-auto{flex:0 0 auto;width:auto;max-width:100%}.col-md-1{flex:0 0 8.33333%;max-width:8.33333%}.col-md-2{flex:0 0 16.66667%;max-width:16.66667%}.col-md-3{flex:0 0 25%;max-width:25%}.col-md-4{flex:0 0 33.33333%;max-width:33.33333%}.col-md-5{flex:0 0 41.66667%;max-width:41.66667%}.col-md-6{flex:0 0 50%;max-width:50%}.col-md-7{flex:0 0 58.33333%;max-width:58.33333%}.col-md-8{flex:0 0 66.66667%;max-width:66.66667%}.col-md-9{flex:0 0 75%;max-width:75%}.col-md-10{flex:0 0 83.33333%;max-width:83.33333%}.col-md-11{flex:0 0 91.66667%;max-width:91.66667%}.col-md-12{flex:0 0 100%;max-width:100%}.order-md-first{order:-1}.order-md-last{order:13}.order-md-0{order:0}.order-md-1{order:1}.order-md-2{order:2}.order-md-3{order:3}.order-md-4{order:4}.order-md-5{order:5}.order-md-6{order:6}.order-md-7{order:7}.order-md-8{order:8}.order-md-9{order:9}.order-md-10{order:10}.order-md-11{order:11}.order-md-12{order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333%}.offset-md-2{margin-left:16.66667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333%}.offset-md-5{margin-left:41.66667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333%}.offset-md-8{margin-left:66.66667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333%}.offset-md-11{margin-left:91.66667%}}@media (min-width: 992px){.col-lg{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-lg-1>*{flex:0 0 100%;max-width:100%}.row-cols-lg-2>*{flex:0 0 50%;max-width:50%}.row-cols-lg-3>*{flex:0 0 33.33333%;max-width:33.33333%}.row-cols-lg-4>*{flex:0 0 25%;max-width:25%}.row-cols-lg-5>*{flex:0 0 20%;max-width:20%}.row-cols-lg-6>*{flex:0 0 16.66667%;max-width:16.66667%}.col-lg-auto{flex:0 0 auto;width:auto;max-width:100%}.col-lg-1{flex:0 0 8.33333%;max-width:8.33333%}.col-lg-2{flex:0 0 16.66667%;max-width:16.66667%}.col-lg-3{flex:0 0 25%;max-width:25%}.col-lg-4{flex:0 0 33.33333%;max-width:33.33333%}.col-lg-5{flex:0 0 41.66667%;max-width:41.66667%}.col-lg-6{flex:0 0 50%;max-width:50%}.col-lg-7{flex:0 0 58.33333%;max-width:58.33333%}.col-lg-8{flex:0 0 66.66667%;max-width:66.66667%}.col-lg-9{flex:0 0 75%;max-width:75%}.col-lg-10{flex:0 0 83.33333%;max-width:83.33333%}.col-lg-11{flex:0 0 91.66667%;max-width:91.66667%}.col-lg-12{flex:0 0 100%;max-width:100%}.order-lg-first{order:-1}.order-lg-last{order:13}.order-lg-0{order:0}.order-lg-1{order:1}.order-lg-2{order:2}.order-lg-3{order:3}.order-lg-4{order:4}.order-lg-5{order:5}.order-lg-6{order:6}.order-lg-7{order:7}.order-lg-8{order:8}.order-lg-9{order:9}.order-lg-10{order:10}.order-lg-11{order:11}.order-lg-12{order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333%}.offset-lg-2{margin-left:16.66667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333%}.offset-lg-5{margin-left:41.66667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333%}.offset-lg-8{margin-left:66.66667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333%}.offset-lg-11{margin-left:91.66667%}}@media (min-width: 1200px){.col-xl{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-xl-1>*{flex:0 0 100%;max-width:100%}.row-cols-xl-2>*{flex:0 0 50%;max-width:50%}.row-cols-xl-3>*{flex:0 0 33.33333%;max-width:33.33333%}.row-cols-xl-4>*{flex:0 0 25%;max-width:25%}.row-cols-xl-5>*{flex:0 0 20%;max-width:20%}.row-cols-xl-6>*{flex:0 0 16.66667%;max-width:16.66667%}.col-xl-auto{flex:0 0 auto;width:auto;max-width:100%}.col-xl-1{flex:0 0 8.33333%;max-width:8.33333%}.col-xl-2{flex:0 0 16.66667%;max-width:16.66667%}.col-xl-3{flex:0 0 25%;max-width:25%}.col-xl-4{flex:0 0 33.33333%;max-width:33.33333%}.col-xl-5{flex:0 0 41.66667%;max-width:41.66667%}.col-xl-6{flex:0 0 50%;max-width:50%}.col-xl-7{flex:0 0 58.33333%;max-width:58.33333%}.col-xl-8{flex:0 0 66.66667%;max-width:66.66667%}.col-xl-9{flex:0 0 75%;max-width:75%}.col-xl-10{flex:0 0 83.33333%;max-width:83.33333%}.col-xl-11{flex:0 0 91.66667%;max-width:91.66667%}.col-xl-12{flex:0 0 100%;max-width:100%}.order-xl-first{order:-1}.order-xl-last{order:13}.order-xl-0{order:0}.order-xl-1{order:1}.order-xl-2{order:2}.order-xl-3{order:3}.order-xl-4{order:4}.order-xl-5{order:5}.order-xl-6{order:6}.order-xl-7{order:7}.order-xl-8{order:8}.order-xl-9{order:9}.order-xl-10{order:10}.order-xl-11{order:11}.order-xl-12{order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333%}.offset-xl-2{margin-left:16.66667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333%}.offset-xl-5{margin-left:41.66667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333%}.offset-xl-8{margin-left:66.66667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333%}.offset-xl-11{margin-left:91.66667%}}.table,.rdt .rdtPicker table{width:100%;margin-bottom:1rem;color:#212529}.table th,.rdt .rdtPicker table th,.table td,.rdt .rdtPicker table td{padding:.75rem;vertical-align:top;border-top:1px solid #dee2e6}.table thead th,.rdt .rdtPicker table thead th{vertical-align:bottom;border-bottom:2px solid #dee2e6}.table tbody+tbody,.rdt .rdtPicker table tbody+tbody{border-top:2px solid #dee2e6}.table-sm th,.table-sm td{padding:.3rem}.table-bordered{border:1px solid #dee2e6}.table-bordered th,.table-bordered td{border:1px solid #dee2e6}.table-bordered thead th,.table-bordered thead td{border-bottom-width:2px}.table-borderless th,.table-borderless td,.table-borderless thead th,.table-borderless tbody+tbody{border:0}.table-striped tbody tr:nth-of-type(odd){background-color:rgba(0,0,0,0.05)}.table-hover tbody tr:hover{color:#212529;background-color:rgba(0,0,0,0.075)}.table-primary,.table-primary>th,.table-primary>td{background-color:#c4e7f7}.table-primary th,.table-primary td,.table-primary thead th,.table-primary tbody+tbody{border-color:#91d3f0}.table-hover .table-primary:hover{background-color:#aedef4}.table-hover .table-primary:hover>td,.table-hover .table-primary:hover>th{background-color:#aedef4}.table-secondary,.table-secondary>th,.table-secondary>td{background-color:#dddfe2}.table-secondary th,.table-secondary td,.table-secondary thead th,.table-secondary tbody+tbody{border-color:#c0c4c8}.table-hover .table-secondary:hover{background-color:#cfd2d6}.table-hover .table-secondary:hover>td,.table-hover .table-secondary:hover>th{background-color:#cfd2d6}.table-success,.table-success>th,.table-success>td{background-color:#d2f5e4}.table-success th,.table-success td,.table-success thead th,.table-success tbody+tbody{border-color:#acedcd}.table-hover .table-success:hover{background-color:#bdf0d7}.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#bdf0d7}.table-info,.table-info>th,.table-info>td{background-color:#bee5eb}.table-info th,.table-info td,.table-info thead th,.table-info tbody+tbody{border-color:#86cfda}.table-hover .table-info:hover{background-color:#abdde5}.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#abdde5}.table-warning,.table-warning>th,.table-warning>td{background-color:#fff3b8}.table-warning th,.table-warning td,.table-warning thead th,.table-warning tbody+tbody{border-color:#ffe97a}.table-hover .table-warning:hover{background-color:#ffef9f}.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#ffef9f}.table-danger,.table-danger>th,.table-danger>td{background-color:#f4cfce}.table-danger th,.table-danger td,.table-danger thead th,.table-danger tbody+tbody{border-color:#eba6a3}.table-hover .table-danger:hover{background-color:#efbbb9}.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#efbbb9}.table-light,.table-light>th,.table-light>td{background-color:#f9fafb}.table-light th,.table-light td,.table-light thead th,.table-light tbody+tbody{border-color:#f4f5f7}.table-hover .table-light:hover{background-color:#eaedf1}.table-hover .table-light:hover>td,.table-hover .table-light:hover>th{background-color:#eaedf1}.table-dark,.table-dark>th,.table-dark>td{background-color:#c6c8ca}.table-dark th,.table-dark td,.table-dark thead th,.table-dark tbody+tbody{border-color:#95999c}.table-hover .table-dark:hover{background-color:#b9bbbe}.table-hover .table-dark:hover>td,.table-hover .table-dark:hover>th{background-color:#b9bbbe}.table-white,.table-white>th,.table-white>td{background-color:#fff}.table-white th,.table-white td,.table-white thead th,.table-white tbody+tbody{border-color:#fff}.table-hover .table-white:hover{background-color:#f2f2f2}.table-hover .table-white:hover>td,.table-hover .table-white:hover>th{background-color:#f2f2f2}.table-active,.table-active>th,.table-active>td{background-color:rgba(0,0,0,0.075)}.table-hover .table-active:hover{background-color:rgba(0,0,0,0.075)}.table-hover .table-active:hover>td,.table-hover .table-active:hover>th{background-color:rgba(0,0,0,0.075)}.table .thead-dark th,.rdt .rdtPicker table .thead-dark th{color:#fff;background-color:#343a40;border-color:#454d55}.table .thead-light th,.rdt .rdtPicker table .thead-light th{color:#495057;background-color:#e9ecef;border-color:#dee2e6}.table-dark{color:#fff;background-color:#343a40}.table-dark th,.table-dark td,.table-dark thead th{border-color:#454d55}.table-dark.table-bordered{border:0}.table-dark.table-striped tbody tr:nth-of-type(odd){background-color:rgba(255,255,255,0.05)}.table-dark.table-hover tbody tr:hover{color:#fff;background-color:rgba(255,255,255,0.075)}@media (max-width: 575.98px){.table-responsive-sm{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-sm>.table-bordered{border:0}}@media (max-width: 767.98px){.table-responsive-md{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-md>.table-bordered{border:0}}@media (max-width: 991.98px){.table-responsive-lg{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-lg>.table-bordered{border:0}}@media (max-width: 1199.98px){.table-responsive-xl{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-xl>.table-bordered{border:0}}.table-responsive{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive>.table-bordered{border:0}.form-control{display:block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;transition:border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-control{transition:none}}.form-control::-ms-expand{background-color:transparent;border:0}.form-control:-moz-focusring{color:transparent;text-shadow:0 0 0 #495057}.form-control:focus{color:#495057;background-color:#fff;border-color:#9dd8f2;outline:0;box-shadow:0 0 0 .2rem rgba(44,171,227,0.25)}.form-control::placeholder{color:#adb5bd;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}select.form-control:focus::-ms-value{color:#495057;background-color:#fff}.form-control-file,.form-control-range{display:block;width:100%}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem;line-height:1.5}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem;line-height:1.5}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;font-size:1rem;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-sm,.form-control-plaintext.form-control-lg{padding-right:0;padding-left:0}.form-control-sm{height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.form-control-lg{height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}select.form-control[size],select.form-control[multiple]{height:auto}textarea.form-control{height:auto}.form-group{margin-bottom:1rem}.form-text{display:block;margin-top:.25rem}.form-row{display:flex;flex-wrap:wrap;margin-right:-5px;margin-left:-5px}.form-row>.col,.form-row>[class*=\"col-\"]{padding-right:5px;padding-left:5px}.form-check{position:relative;display:block;padding-left:1.25rem}.form-check-input{position:absolute;margin-top:.3rem;margin-left:-1.25rem}.form-check-input[disabled] ~ .form-check-label,.form-check-input:disabled ~ .form-check-label{color:#868e96}.form-check-label{margin-bottom:0}.form-check-inline{display:inline-flex;align-items:center;padding-left:0;margin-right:.75rem}.form-check-inline .form-check-input{position:static;margin-top:0;margin-right:.3125rem;margin-left:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#5fdc9f}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#212529;background-color:rgba(95,220,159,0.9);border-radius:.25rem}.was-validated :valid ~ .valid-feedback,.was-validated :valid ~ .valid-tooltip,.is-valid ~ .valid-feedback,.is-valid ~ .valid-tooltip{display:block}.was-validated .form-control:valid,.form-control.is-valid{border-color:#5fdc9f;padding-right:calc(1.5em + .75rem);background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%235fdc9f' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-control:valid:focus,.form-control.is-valid:focus{border-color:#5fdc9f;box-shadow:0 0 0 .2rem rgba(95,220,159,0.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.was-validated .custom-select:valid,.custom-select.is-valid{border-color:#5fdc9f;padding-right:calc(.75em + 2.3125rem);background:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") no-repeat right .75rem center/8px 10px,url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%235fdc9f' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\") #fff no-repeat center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .custom-select:valid:focus,.custom-select.is-valid:focus{border-color:#5fdc9f;box-shadow:0 0 0 .2rem rgba(95,220,159,0.25)}.was-validated .form-check-input:valid ~ .form-check-label,.form-check-input.is-valid ~ .form-check-label{color:#5fdc9f}.was-validated .form-check-input:valid ~ .valid-feedback,.was-validated .form-check-input:valid ~ .valid-tooltip,.form-check-input.is-valid ~ .valid-feedback,.form-check-input.is-valid ~ .valid-tooltip{display:block}.was-validated .custom-control-input:valid ~ .custom-control-label,.custom-control-input.is-valid ~ .custom-control-label{color:#5fdc9f}.was-validated .custom-control-input:valid ~ .custom-control-label::before,.custom-control-input.is-valid ~ .custom-control-label::before{border-color:#5fdc9f}.was-validated .custom-control-input:valid:checked ~ .custom-control-label::before,.custom-control-input.is-valid:checked ~ .custom-control-label::before{border-color:#89e5b8;background-color:#89e5b8}.was-validated .custom-control-input:valid:focus ~ .custom-control-label::before,.custom-control-input.is-valid:focus ~ .custom-control-label::before{box-shadow:0 0 0 .2rem rgba(95,220,159,0.25)}.was-validated .custom-control-input:valid:focus:not(:checked) ~ .custom-control-label::before,.custom-control-input.is-valid:focus:not(:checked) ~ .custom-control-label::before{border-color:#5fdc9f}.was-validated .custom-file-input:valid ~ .custom-file-label,.custom-file-input.is-valid ~ .custom-file-label{border-color:#5fdc9f}.was-validated .custom-file-input:valid:focus ~ .custom-file-label,.custom-file-input.is-valid:focus ~ .custom-file-label{border-color:#5fdc9f;box-shadow:0 0 0 .2rem rgba(95,220,159,0.25)}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#d9534f}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(217,83,79,0.9);border-radius:.25rem}.was-validated :invalid ~ .invalid-feedback,.was-validated :invalid ~ .invalid-tooltip,.is-invalid ~ .invalid-feedback,.is-invalid ~ .invalid-tooltip{display:block}.was-validated .form-control:invalid,.form-control.is-invalid{border-color:#d9534f;padding-right:calc(1.5em + .75rem);background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23d9534f' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23d9534f' stroke='none'/%3e%3c/svg%3e\");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-control:invalid:focus,.form-control.is-invalid:focus{border-color:#d9534f;box-shadow:0 0 0 .2rem rgba(217,83,79,0.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.was-validated .custom-select:invalid,.custom-select.is-invalid{border-color:#d9534f;padding-right:calc(.75em + 2.3125rem);background:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") no-repeat right .75rem center/8px 10px,url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23d9534f' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23d9534f' stroke='none'/%3e%3c/svg%3e\") #fff no-repeat center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .custom-select:invalid:focus,.custom-select.is-invalid:focus{border-color:#d9534f;box-shadow:0 0 0 .2rem rgba(217,83,79,0.25)}.was-validated .form-check-input:invalid ~ .form-check-label,.form-check-input.is-invalid ~ .form-check-label{color:#d9534f}.was-validated .form-check-input:invalid ~ .invalid-feedback,.was-validated .form-check-input:invalid ~ .invalid-tooltip,.form-check-input.is-invalid ~ .invalid-feedback,.form-check-input.is-invalid ~ .invalid-tooltip{display:block}.was-validated .custom-control-input:invalid ~ .custom-control-label,.custom-control-input.is-invalid ~ .custom-control-label{color:#d9534f}.was-validated .custom-control-input:invalid ~ .custom-control-label::before,.custom-control-input.is-invalid ~ .custom-control-label::before{border-color:#d9534f}.was-validated .custom-control-input:invalid:checked ~ .custom-control-label::before,.custom-control-input.is-invalid:checked ~ .custom-control-label::before{border-color:#e27c79;background-color:#e27c79}.was-validated .custom-control-input:invalid:focus ~ .custom-control-label::before,.custom-control-input.is-invalid:focus ~ .custom-control-label::before{box-shadow:0 0 0 .2rem rgba(217,83,79,0.25)}.was-validated .custom-control-input:invalid:focus:not(:checked) ~ .custom-control-label::before,.custom-control-input.is-invalid:focus:not(:checked) ~ .custom-control-label::before{border-color:#d9534f}.was-validated .custom-file-input:invalid ~ .custom-file-label,.custom-file-input.is-invalid ~ .custom-file-label{border-color:#d9534f}.was-validated .custom-file-input:invalid:focus ~ .custom-file-label,.custom-file-input.is-invalid:focus ~ .custom-file-label{border-color:#d9534f;box-shadow:0 0 0 .2rem rgba(217,83,79,0.25)}.form-inline{display:flex;flex-flow:row wrap;align-items:center}.form-inline .form-check{width:100%}@media (min-width: 576px){.form-inline label{display:flex;align-items:center;justify-content:center;margin-bottom:0}.form-inline .form-group{display:flex;flex:0 0 auto;flex-flow:row wrap;align-items:center;margin-bottom:0}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-plaintext{display:inline-block}.form-inline .input-group,.form-inline .custom-select{width:auto}.form-inline .form-check{display:flex;align-items:center;justify-content:center;width:auto;padding-left:0}.form-inline .form-check-input{position:relative;flex-shrink:0;margin-top:0;margin-right:.25rem;margin-left:0}.form-inline .custom-control{align-items:center;justify-content:center}.form-inline .custom-control-label{margin-bottom:0}}.btn{display:inline-block;font-weight:400;color:#212529;text-align:center;vertical-align:middle;cursor:pointer;user-select:none;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;line-height:1.5;border-radius:.25rem;transition:color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out}@media (prefers-reduced-motion: reduce){.btn{transition:none}}.btn:hover{color:#212529;text-decoration:none}.btn:focus,.btn.focus{outline:0;box-shadow:0 0 0 .2rem rgba(44,171,227,0.25)}.btn.disabled,.btn:disabled{opacity:.65}a.btn.disabled,fieldset:disabled a.btn{pointer-events:none}.btn-primary{color:#fff;background-color:#2cabe3;border-color:#2cabe3}.btn-primary:hover{color:#fff;background-color:#1b97cd;border-color:#1a8fc2}.btn-primary:focus,.btn-primary.focus{color:#fff;background-color:#1b97cd;border-color:#1a8fc2;box-shadow:0 0 0 .2rem rgba(76,184,231,0.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#2cabe3;border-color:#2cabe3}.btn-primary:not(:disabled):not(.disabled):active,.btn-primary:not(:disabled):not(.disabled).active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#1a8fc2;border-color:#1886b7}.btn-primary:not(:disabled):not(.disabled):active:focus,.btn-primary:not(:disabled):not(.disabled).active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(76,184,231,0.5)}.btn-secondary{color:#fff;background-color:#868e96;border-color:#868e96}.btn-secondary:hover{color:#fff;background-color:#727b84;border-color:#6c757d}.btn-secondary:focus,.btn-secondary.focus{color:#fff;background-color:#727b84;border-color:#6c757d;box-shadow:0 0 0 .2rem rgba(152,159,166,0.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#868e96;border-color:#868e96}.btn-secondary:not(:disabled):not(.disabled):active,.btn-secondary:not(:disabled):not(.disabled).active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#6c757d;border-color:#666e76}.btn-secondary:not(:disabled):not(.disabled):active:focus,.btn-secondary:not(:disabled):not(.disabled).active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(152,159,166,0.5)}.btn-success{color:#212529;background-color:#5fdc9f;border-color:#5fdc9f}.btn-success:hover{color:#212529;background-color:#40d58c;border-color:#35d386}.btn-success:focus,.btn-success.focus{color:#212529;background-color:#40d58c;border-color:#35d386;box-shadow:0 0 0 .2rem rgba(86,193,141,0.5)}.btn-success.disabled,.btn-success:disabled{color:#212529;background-color:#5fdc9f;border-color:#5fdc9f}.btn-success:not(:disabled):not(.disabled):active,.btn-success:not(:disabled):not(.disabled).active,.show>.btn-success.dropdown-toggle{color:#212529;background-color:#35d386;border-color:#2dce80}.btn-success:not(:disabled):not(.disabled):active:focus,.btn-success:not(:disabled):not(.disabled).active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(86,193,141,0.5)}.btn-info{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:hover{color:#fff;background-color:#138496;border-color:#117a8b}.btn-info:focus,.btn-info.focus{color:#fff;background-color:#138496;border-color:#117a8b;box-shadow:0 0 0 .2rem rgba(58,176,195,0.5)}.btn-info.disabled,.btn-info:disabled{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:not(:disabled):not(.disabled):active,.btn-info:not(:disabled):not(.disabled).active,.show>.btn-info.dropdown-toggle{color:#fff;background-color:#117a8b;border-color:#10707f}.btn-info:not(:disabled):not(.disabled):active:focus,.btn-info:not(:disabled):not(.disabled).active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(58,176,195,0.5)}.btn-warning{color:#212529;background-color:#ffd500;border-color:#ffd500}.btn-warning:hover{color:#212529;background-color:#d9b500;border-color:#ca0}.btn-warning:focus,.btn-warning.focus{color:#212529;background-color:#d9b500;border-color:#ca0;box-shadow:0 0 0 .2rem rgba(222,187,6,0.5)}.btn-warning.disabled,.btn-warning:disabled{color:#212529;background-color:#ffd500;border-color:#ffd500}.btn-warning:not(:disabled):not(.disabled):active,.btn-warning:not(:disabled):not(.disabled).active,.show>.btn-warning.dropdown-toggle{color:#212529;background-color:#ca0;border-color:#bfa000}.btn-warning:not(:disabled):not(.disabled):active:focus,.btn-warning:not(:disabled):not(.disabled).active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(222,187,6,0.5)}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d9534f}.btn-danger:hover{color:#fff;background-color:#d23430;border-color:#c9302c}.btn-danger:focus,.btn-danger.focus{color:#fff;background-color:#d23430;border-color:#c9302c;box-shadow:0 0 0 .2rem rgba(223,109,105,0.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#d9534f;border-color:#d9534f}.btn-danger:not(:disabled):not(.disabled):active,.btn-danger:not(:disabled):not(.disabled).active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#c9302c;border-color:#bf2e29}.btn-danger:not(:disabled):not(.disabled):active:focus,.btn-danger:not(:disabled):not(.disabled).active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(223,109,105,0.5)}.btn-light{color:#212529;background-color:#e9ecef;border-color:#e9ecef}.btn-light:hover{color:#212529;background-color:#d3d9df;border-color:#cbd3da}.btn-light:focus,.btn-light.focus{color:#212529;background-color:#d3d9df;border-color:#cbd3da;box-shadow:0 0 0 .2rem rgba(203,206,209,0.5)}.btn-light.disabled,.btn-light:disabled{color:#212529;background-color:#e9ecef;border-color:#e9ecef}.btn-light:not(:disabled):not(.disabled):active,.btn-light:not(:disabled):not(.disabled).active,.show>.btn-light.dropdown-toggle{color:#212529;background-color:#cbd3da;border-color:#c4ccd4}.btn-light:not(:disabled):not(.disabled):active:focus,.btn-light:not(:disabled):not(.disabled).active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(203,206,209,0.5)}.btn-dark{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:hover{color:#fff;background-color:#23272b;border-color:#1d2124}.btn-dark:focus,.btn-dark.focus{color:#fff;background-color:#23272b;border-color:#1d2124;box-shadow:0 0 0 .2rem rgba(82,88,93,0.5)}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:not(:disabled):not(.disabled):active,.btn-dark:not(:disabled):not(.disabled).active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#1d2124;border-color:#171a1d}.btn-dark:not(:disabled):not(.disabled):active:focus,.btn-dark:not(:disabled):not(.disabled).active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(82,88,93,0.5)}.btn-white{color:#212529;background-color:#fff;border-color:#fff}.btn-white:hover{color:#212529;background-color:#ececec;border-color:#e6e6e6}.btn-white:focus,.btn-white.focus{color:#212529;background-color:#ececec;border-color:#e6e6e6;box-shadow:0 0 0 .2rem rgba(222,222,223,0.5)}.btn-white.disabled,.btn-white:disabled{color:#212529;background-color:#fff;border-color:#fff}.btn-white:not(:disabled):not(.disabled):active,.btn-white:not(:disabled):not(.disabled).active,.show>.btn-white.dropdown-toggle{color:#212529;background-color:#e6e6e6;border-color:#dfdfdf}.btn-white:not(:disabled):not(.disabled):active:focus,.btn-white:not(:disabled):not(.disabled).active:focus,.show>.btn-white.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(222,222,223,0.5)}.btn-outline-primary{color:#2cabe3;border-color:#2cabe3}.btn-outline-primary:hover{color:#fff;background-color:#2cabe3;border-color:#2cabe3}.btn-outline-primary:focus,.btn-outline-primary.focus{box-shadow:0 0 0 .2rem rgba(44,171,227,0.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#2cabe3;background-color:transparent}.btn-outline-primary:not(:disabled):not(.disabled):active,.btn-outline-primary:not(:disabled):not(.disabled).active,.show>.btn-outline-primary.dropdown-toggle{color:#fff;background-color:#2cabe3;border-color:#2cabe3}.btn-outline-primary:not(:disabled):not(.disabled):active:focus,.btn-outline-primary:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(44,171,227,0.5)}.btn-outline-secondary{color:#868e96;border-color:#868e96}.btn-outline-secondary:hover{color:#fff;background-color:#868e96;border-color:#868e96}.btn-outline-secondary:focus,.btn-outline-secondary.focus{box-shadow:0 0 0 .2rem rgba(134,142,150,0.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#868e96;background-color:transparent}.btn-outline-secondary:not(:disabled):not(.disabled):active,.btn-outline-secondary:not(:disabled):not(.disabled).active,.show>.btn-outline-secondary.dropdown-toggle{color:#fff;background-color:#868e96;border-color:#868e96}.btn-outline-secondary:not(:disabled):not(.disabled):active:focus,.btn-outline-secondary:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(134,142,150,0.5)}.btn-outline-success{color:#5fdc9f;border-color:#5fdc9f}.btn-outline-success:hover{color:#212529;background-color:#5fdc9f;border-color:#5fdc9f}.btn-outline-success:focus,.btn-outline-success.focus{box-shadow:0 0 0 .2rem rgba(95,220,159,0.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#5fdc9f;background-color:transparent}.btn-outline-success:not(:disabled):not(.disabled):active,.btn-outline-success:not(:disabled):not(.disabled).active,.show>.btn-outline-success.dropdown-toggle{color:#212529;background-color:#5fdc9f;border-color:#5fdc9f}.btn-outline-success:not(:disabled):not(.disabled):active:focus,.btn-outline-success:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(95,220,159,0.5)}.btn-outline-info{color:#17a2b8;border-color:#17a2b8}.btn-outline-info:hover{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info:focus,.btn-outline-info.focus{box-shadow:0 0 0 .2rem rgba(23,162,184,0.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#17a2b8;background-color:transparent}.btn-outline-info:not(:disabled):not(.disabled):active,.btn-outline-info:not(:disabled):not(.disabled).active,.show>.btn-outline-info.dropdown-toggle{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info:not(:disabled):not(.disabled):active:focus,.btn-outline-info:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,0.5)}.btn-outline-warning{color:#ffd500;border-color:#ffd500}.btn-outline-warning:hover{color:#212529;background-color:#ffd500;border-color:#ffd500}.btn-outline-warning:focus,.btn-outline-warning.focus{box-shadow:0 0 0 .2rem rgba(255,213,0,0.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#ffd500;background-color:transparent}.btn-outline-warning:not(:disabled):not(.disabled):active,.btn-outline-warning:not(:disabled):not(.disabled).active,.show>.btn-outline-warning.dropdown-toggle{color:#212529;background-color:#ffd500;border-color:#ffd500}.btn-outline-warning:not(:disabled):not(.disabled):active:focus,.btn-outline-warning:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(255,213,0,0.5)}.btn-outline-danger{color:#d9534f;border-color:#d9534f}.btn-outline-danger:hover{color:#fff;background-color:#d9534f;border-color:#d9534f}.btn-outline-danger:focus,.btn-outline-danger.focus{box-shadow:0 0 0 .2rem rgba(217,83,79,0.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#d9534f;background-color:transparent}.btn-outline-danger:not(:disabled):not(.disabled):active,.btn-outline-danger:not(:disabled):not(.disabled).active,.show>.btn-outline-danger.dropdown-toggle{color:#fff;background-color:#d9534f;border-color:#d9534f}.btn-outline-danger:not(:disabled):not(.disabled):active:focus,.btn-outline-danger:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(217,83,79,0.5)}.btn-outline-light{color:#e9ecef;border-color:#e9ecef}.btn-outline-light:hover{color:#212529;background-color:#e9ecef;border-color:#e9ecef}.btn-outline-light:focus,.btn-outline-light.focus{box-shadow:0 0 0 .2rem rgba(233,236,239,0.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#e9ecef;background-color:transparent}.btn-outline-light:not(:disabled):not(.disabled):active,.btn-outline-light:not(:disabled):not(.disabled).active,.show>.btn-outline-light.dropdown-toggle{color:#212529;background-color:#e9ecef;border-color:#e9ecef}.btn-outline-light:not(:disabled):not(.disabled):active:focus,.btn-outline-light:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(233,236,239,0.5)}.btn-outline-dark{color:#343a40;border-color:#343a40}.btn-outline-dark:hover{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark:focus,.btn-outline-dark.focus{box-shadow:0 0 0 .2rem rgba(52,58,64,0.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#343a40;background-color:transparent}.btn-outline-dark:not(:disabled):not(.disabled):active,.btn-outline-dark:not(:disabled):not(.disabled).active,.show>.btn-outline-dark.dropdown-toggle{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark:not(:disabled):not(.disabled):active:focus,.btn-outline-dark:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,0.5)}.btn-outline-white{color:#fff;border-color:#fff}.btn-outline-white:hover{color:#212529;background-color:#fff;border-color:#fff}.btn-outline-white:focus,.btn-outline-white.focus{box-shadow:0 0 0 .2rem rgba(255,255,255,0.5)}.btn-outline-white.disabled,.btn-outline-white:disabled{color:#fff;background-color:transparent}.btn-outline-white:not(:disabled):not(.disabled):active,.btn-outline-white:not(:disabled):not(.disabled).active,.show>.btn-outline-white.dropdown-toggle{color:#212529;background-color:#fff;border-color:#fff}.btn-outline-white:not(:disabled):not(.disabled):active:focus,.btn-outline-white:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-white.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(255,255,255,0.5)}.btn-link{font-weight:400;color:#2cabe3;text-decoration:none}.btn-link:hover{color:#177eac;text-decoration:underline}.btn-link:focus,.btn-link.focus{text-decoration:underline;box-shadow:none}.btn-link:disabled,.btn-link.disabled{color:#868e96;pointer-events:none}.btn-lg,.btn-group-lg>.btn{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.btn-sm,.btn-group-sm>.btn{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:.5rem}input[type=\"submit\"].btn-block,input[type=\"reset\"].btn-block,input[type=\"button\"].btn-block{width:100%}.fade{transition:opacity 0.15s linear}@media (prefers-reduced-motion: reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{position:relative;height:0;overflow:hidden;transition:height 0.35s ease}@media (prefers-reduced-motion: reduce){.collapsing{transition:none}}.dropup,.dropright,.dropdown,.dropleft{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:\"\";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu,.rdt .rdtPicker{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,0.15);border-radius:.25rem}.dropdown-menu-left{right:auto;left:0}.dropdown-menu-right{right:0;left:auto}@media (min-width: 576px){.dropdown-menu-sm-left{right:auto;left:0}.dropdown-menu-sm-right{right:0;left:auto}}@media (min-width: 768px){.dropdown-menu-md-left{right:auto;left:0}.dropdown-menu-md-right{right:0;left:auto}}@media (min-width: 992px){.dropdown-menu-lg-left{right:auto;left:0}.dropdown-menu-lg-right{right:0;left:auto}}@media (min-width: 1200px){.dropdown-menu-xl-left{right:auto;left:0}.dropdown-menu-xl-right{right:0;left:auto}}.dropup .dropdown-menu,.dropup .rdt .rdtPicker,.rdt .dropup .rdtPicker{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:\"\";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-menu,.dropright .rdt .rdtPicker,.rdt .dropright .rdtPicker{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropright .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:\"\";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropright .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-toggle::after{vertical-align:0}.dropleft .dropdown-menu,.dropleft .rdt .rdtPicker,.rdt .dropleft .rdtPicker{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropleft .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:\"\"}.dropleft .dropdown-toggle::after{display:none}.dropleft .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:\"\";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropleft .dropdown-toggle:empty::after{margin-left:0}.dropleft .dropdown-toggle::before{vertical-align:0}.dropdown-menu[x-placement^=\"top\"],.rdt .rdtPicker[x-placement^=\"top\"],.dropdown-menu[x-placement^=\"right\"],.rdt .rdtPicker[x-placement^=\"right\"],.dropdown-menu[x-placement^=\"bottom\"],.rdt .rdtPicker[x-placement^=\"bottom\"],.dropdown-menu[x-placement^=\"left\"],.rdt .rdtPicker[x-placement^=\"left\"]{right:auto;bottom:auto}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #e9ecef}.dropdown-item,.bootstrap-typeahead-menu>li>a{display:block;width:100%;padding:.25rem 1.5rem;clear:both;font-weight:400;color:#212529;text-align:inherit;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:hover,.bootstrap-typeahead-menu>li>a:hover,.dropdown-item:focus,.bootstrap-typeahead-menu>li>a:focus{color:#16181b;text-decoration:none;background-color:#f8f9fa}.dropdown-item.active,.bootstrap-typeahead-menu>li>a.active,.dropdown-item:active,.bootstrap-typeahead-menu>li>a:active{color:#fff;text-decoration:none;background-color:#2cabe3}.dropdown-item.disabled,.bootstrap-typeahead-menu>li>a.disabled,.dropdown-item:disabled,.bootstrap-typeahead-menu>li>a:disabled{color:#868e96;pointer-events:none;background-color:transparent}.dropdown-menu.show,.rdt .show.rdtPicker{display:block}.dropdown-header{display:block;padding:.5rem 1.5rem;margin-bottom:0;font-size:.875rem;color:#868e96;white-space:nowrap}.dropdown-item-text{display:block;padding:.25rem 1.5rem;color:#212529}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;flex:1 1 auto}.btn-group>.btn:hover,.btn-group-vertical>.btn:hover{z-index:1}.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn.active{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn:not(:first-child),.btn-group>.btn-group:not(:first-child){margin-left:-1px}.btn-group>.btn:not(:last-child):not(.dropdown-toggle),.btn-group>.btn-group:not(:last-child)>.btn{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:not(:first-child),.btn-group>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after,.dropright .dropdown-toggle-split::after{margin-left:0}.dropleft .dropdown-toggle-split::before{margin-right:0}.btn-sm+.dropdown-toggle-split,.btn-group-sm>.btn+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-lg+.dropdown-toggle-split,.btn-group-lg>.btn+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn:not(:first-child),.btn-group-vertical>.btn-group:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle),.btn-group-vertical>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:not(:first-child),.btn-group-vertical>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-top-right-radius:0}.btn-group-toggle>.btn,.btn-group-toggle>.btn-group>.btn{margin-bottom:0}.btn-group-toggle>.btn input[type=\"radio\"],.btn-group-toggle>.btn input[type=\"checkbox\"],.btn-group-toggle>.btn-group>.btn input[type=\"radio\"],.btn-group-toggle>.btn-group>.btn input[type=\"checkbox\"]{position:absolute;clip:rect(0, 0, 0, 0);pointer-events:none}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-control-plaintext,.input-group>.custom-select,.input-group>.custom-file{position:relative;flex:1 1 0%;min-width:0;margin-bottom:0}.input-group>.form-control+.form-control,.input-group>.form-control+.custom-select,.input-group>.form-control+.custom-file,.input-group>.form-control-plaintext+.form-control,.input-group>.form-control-plaintext+.custom-select,.input-group>.form-control-plaintext+.custom-file,.input-group>.custom-select+.form-control,.input-group>.custom-select+.custom-select,.input-group>.custom-select+.custom-file,.input-group>.custom-file+.form-control,.input-group>.custom-file+.custom-select,.input-group>.custom-file+.custom-file{margin-left:-1px}.input-group>.form-control:focus,.input-group>.custom-select:focus,.input-group>.custom-file .custom-file-input:focus ~ .custom-file-label{z-index:3}.input-group>.custom-file .custom-file-input:focus{z-index:4}.input-group>.form-control:not(:last-child),.input-group>.custom-select:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.form-control:not(:first-child),.input-group>.custom-select:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.custom-file{display:flex;align-items:center}.input-group>.custom-file:not(:last-child) .custom-file-label,.input-group>.custom-file:not(:last-child) .custom-file-label::after{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-file:not(:first-child) .custom-file-label{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-prepend,.input-group-append{display:flex}.input-group-prepend .btn,.input-group-append .btn{position:relative;z-index:2}.input-group-prepend .btn:focus,.input-group-append .btn:focus{z-index:3}.input-group-prepend .btn+.btn,.input-group-prepend .btn+.input-group-text,.input-group-prepend .input-group-append .btn+i,.input-group-append .input-group-prepend .btn+i,.input-group-prepend .btn+i,.input-group-prepend .input-group-text+.input-group-text,.input-group-prepend .input-group-append i+.input-group-text,.input-group-append .input-group-prepend i+.input-group-text,.input-group-prepend i+.input-group-text,.input-group-prepend .input-group-append .input-group-text+i,.input-group-append .input-group-prepend .input-group-text+i,.input-group-prepend .input-group-append i+i,.input-group-append .input-group-prepend i+i,.input-group-prepend .input-group-text+i,.input-group-prepend i+i,.input-group-prepend .input-group-text+.btn,.input-group-prepend .input-group-append i+.btn,.input-group-append .input-group-prepend i+.btn,.input-group-prepend i+.btn,.input-group-append .btn+.btn,.input-group-append .btn+.input-group-text,.input-group-append .btn+i,.input-group-append .input-group-prepend .btn+i,.input-group-prepend .input-group-append .btn+i,.input-group-append .input-group-text+.input-group-text,.input-group-append i+.input-group-text,.input-group-append .input-group-prepend i+.input-group-text,.input-group-prepend .input-group-append i+.input-group-text,.input-group-append .input-group-text+i,.input-group-append i+i,.input-group-append .input-group-prepend .input-group-text+i,.input-group-prepend .input-group-append .input-group-text+i,.input-group-append .input-group-prepend i+i,.input-group-prepend .input-group-append i+i,.input-group-append .input-group-text+.btn,.input-group-append i+.btn,.input-group-append .input-group-prepend i+.btn,.input-group-prepend .input-group-append i+.btn{margin-left:-1px}.input-group-prepend{margin-right:-1px}.input-group-append{margin-left:-1px}.input-group-text,.input-group-append i,.input-group-prepend i{display:flex;align-items:center;padding:.375rem .75rem;margin-bottom:0;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem}.input-group-text input[type=\"radio\"],.input-group-append i input[type=\"radio\"],.input-group-prepend i input[type=\"radio\"],.input-group-text input[type=\"checkbox\"],.input-group-append i input[type=\"checkbox\"],.input-group-prepend i input[type=\"checkbox\"]{margin-top:0}.input-group-lg>.form-control:not(textarea),.input-group-lg>.custom-select{height:calc(1.5em + 1rem + 2px)}.input-group-lg>.form-control,.input-group-lg>.custom-select,.input-group-lg>.input-group-prepend>.input-group-text,.input-group-append .input-group-lg>.input-group-prepend>i,.input-group-lg>.input-group-prepend>i,.input-group-lg>.input-group-append>.input-group-text,.input-group-lg>.input-group-append>i,.input-group-prepend .input-group-lg>.input-group-append>i,.input-group-lg>.input-group-prepend>.btn,.input-group-lg>.input-group-append>.btn{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.input-group-sm>.form-control:not(textarea),.input-group-sm>.custom-select{height:calc(1.5em + .5rem + 2px)}.input-group-sm>.form-control,.input-group-sm>.custom-select,.input-group-sm>.input-group-prepend>.input-group-text,.input-group-append .input-group-sm>.input-group-prepend>i,.input-group-sm>.input-group-prepend>i,.input-group-sm>.input-group-append>.input-group-text,.input-group-sm>.input-group-append>i,.input-group-prepend .input-group-sm>.input-group-append>i,.input-group-sm>.input-group-prepend>.btn,.input-group-sm>.input-group-append>.btn{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.input-group-lg>.custom-select,.input-group-sm>.custom-select{padding-right:1.75rem}.input-group>.input-group-prepend>.btn,.input-group>.input-group-prepend>.input-group-text,.input-group-append .input-group>.input-group-prepend>i,.input-group>.input-group-prepend>i,.input-group>.input-group-append:not(:last-child)>.btn,.input-group>.input-group-append:not(:last-child)>.input-group-text,.input-group>.input-group-append:not(:last-child)>i,.input-group-prepend .input-group>.input-group-append:not(:last-child)>i,.input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group>.input-group-append:last-child>.input-group-text:not(:last-child),.input-group>.input-group-append:last-child>i:not(:last-child),.input-group-prepend .input-group>.input-group-append:last-child>i:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.input-group-append>.btn,.input-group>.input-group-append>.input-group-text,.input-group>.input-group-append>i,.input-group-prepend .input-group>.input-group-append>i,.input-group>.input-group-prepend:not(:first-child)>.btn,.input-group>.input-group-prepend:not(:first-child)>.input-group-text,.input-group-append .input-group>.input-group-prepend:not(:first-child)>i,.input-group>.input-group-prepend:not(:first-child)>i,.input-group>.input-group-prepend:first-child>.btn:not(:first-child),.input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child),.input-group-append .input-group>.input-group-prepend:first-child>i:not(:first-child),.input-group>.input-group-prepend:first-child>i:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.custom-control{position:relative;display:block;min-height:1.5rem;padding-left:1.5rem}.custom-control-inline{display:inline-flex;margin-right:1rem}.custom-control-input{position:absolute;left:0;z-index:-1;width:1rem;height:1.25rem;opacity:0}.custom-control-input:checked ~ .custom-control-label::before{color:#fff;border-color:#2cabe3;background-color:#2cabe3}.custom-control-input:focus ~ .custom-control-label::before{box-shadow:0 0 0 .2rem rgba(44,171,227,0.25)}.custom-control-input:focus:not(:checked) ~ .custom-control-label::before{border-color:#9dd8f2}.custom-control-input:not(:disabled):active ~ .custom-control-label::before{color:#fff;background-color:#caeaf8;border-color:#caeaf8}.custom-control-input[disabled] ~ .custom-control-label,.custom-control-input:disabled ~ .custom-control-label{color:#868e96}.custom-control-input[disabled] ~ .custom-control-label::before,.custom-control-input:disabled ~ .custom-control-label::before{background-color:#e9ecef}.custom-control-label{position:relative;margin-bottom:0;vertical-align:top}.custom-control-label::before{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;pointer-events:none;content:\"\";background-color:#fff;border:#adb5bd solid 1px}.custom-control-label::after{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;content:\"\";background:no-repeat 50% / 50% 50%}.custom-checkbox .custom-control-label::before{border-radius:.25rem}.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e\")}.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before{border-color:#2cabe3;background-color:#2cabe3}.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e\")}.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before{background-color:rgba(44,171,227,0.5)}.custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before{background-color:rgba(44,171,227,0.5)}.custom-radio .custom-control-label::before{border-radius:50%}.custom-radio .custom-control-input:checked ~ .custom-control-label::after{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e\")}.custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before{background-color:rgba(44,171,227,0.5)}.custom-switch{padding-left:2.25rem}.custom-switch .custom-control-label::before{left:-2.25rem;width:1.75rem;pointer-events:all;border-radius:.5rem}.custom-switch .custom-control-label::after{top:calc(.25rem + 2px);left:calc(-2.25rem + 2px);width:calc(1rem - 4px);height:calc(1rem - 4px);background-color:#adb5bd;border-radius:.5rem;transition:transform 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out}@media (prefers-reduced-motion: reduce){.custom-switch .custom-control-label::after{transition:none}}.custom-switch .custom-control-input:checked ~ .custom-control-label::after{background-color:#fff;transform:translateX(.75rem)}.custom-switch .custom-control-input:disabled:checked ~ .custom-control-label::before{background-color:rgba(44,171,227,0.5)}.custom-select{display:inline-block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem 1.75rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;vertical-align:middle;background:#fff url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") no-repeat right .75rem center/8px 10px;border:1px solid #ced4da;border-radius:.25rem;appearance:none}.custom-select:focus{border-color:#9dd8f2;outline:0;box-shadow:0 0 0 .2rem rgba(44,171,227,0.25)}.custom-select:focus::-ms-value{color:#495057;background-color:#fff}.custom-select[multiple],.custom-select[size]:not([size=\"1\"]){height:auto;padding-right:.75rem;background-image:none}.custom-select:disabled{color:#868e96;background-color:#e9ecef}.custom-select::-ms-expand{display:none}.custom-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #495057}.custom-select-sm{height:calc(1.5em + .5rem + 2px);padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem}.custom-select-lg{height:calc(1.5em + 1rem + 2px);padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem}.custom-file{position:relative;display:inline-block;width:100%;height:calc(1.5em + .75rem + 2px);margin-bottom:0}.custom-file-input{position:relative;z-index:2;width:100%;height:calc(1.5em + .75rem + 2px);margin:0;opacity:0}.custom-file-input:focus ~ .custom-file-label{border-color:#9dd8f2;box-shadow:0 0 0 .2rem rgba(44,171,227,0.25)}.custom-file-input[disabled] ~ .custom-file-label,.custom-file-input:disabled ~ .custom-file-label{background-color:#e9ecef}.custom-file-input:lang(en) ~ .custom-file-label::after{content:\"Browse\"}.custom-file-input ~ .custom-file-label[data-browse]::after{content:attr(data-browse)}.custom-file-label{position:absolute;top:0;right:0;left:0;z-index:1;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;border:1px solid #ced4da;border-radius:.25rem}.custom-file-label::after{position:absolute;top:0;right:0;bottom:0;z-index:3;display:block;height:calc(1.5em + .75rem);padding:.375rem .75rem;line-height:1.5;color:#495057;content:\"Browse\";background-color:#e9ecef;border-left:inherit;border-radius:0 .25rem .25rem 0}.custom-range{width:100%;height:1.4rem;padding:0;background-color:transparent;appearance:none}.custom-range:focus{outline:none}.custom-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #f4f6f8,0 0 0 .2rem rgba(44,171,227,0.25)}.custom-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #f4f6f8,0 0 0 .2rem rgba(44,171,227,0.25)}.custom-range:focus::-ms-thumb{box-shadow:0 0 0 1px #f4f6f8,0 0 0 .2rem rgba(44,171,227,0.25)}.custom-range::-moz-focus-outer{border:0}.custom-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#2cabe3;border:0;border-radius:1rem;transition:background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out;appearance:none}@media (prefers-reduced-motion: reduce){.custom-range::-webkit-slider-thumb{transition:none}}.custom-range::-webkit-slider-thumb:active{background-color:#caeaf8}.custom-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#2cabe3;border:0;border-radius:1rem;transition:background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out;appearance:none}@media (prefers-reduced-motion: reduce){.custom-range::-moz-range-thumb{transition:none}}.custom-range::-moz-range-thumb:active{background-color:#caeaf8}.custom-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-ms-thumb{width:1rem;height:1rem;margin-top:0;margin-right:.2rem;margin-left:.2rem;background-color:#2cabe3;border:0;border-radius:1rem;transition:background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out;appearance:none}@media (prefers-reduced-motion: reduce){.custom-range::-ms-thumb{transition:none}}.custom-range::-ms-thumb:active{background-color:#caeaf8}.custom-range::-ms-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:transparent;border-color:transparent;border-width:.5rem}.custom-range::-ms-fill-lower{background-color:#dee2e6;border-radius:1rem}.custom-range::-ms-fill-upper{margin-right:15px;background-color:#dee2e6;border-radius:1rem}.custom-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}.custom-range:disabled::-webkit-slider-runnable-track{cursor:default}.custom-range:disabled::-moz-range-thumb{background-color:#adb5bd}.custom-range:disabled::-moz-range-track{cursor:default}.custom-range:disabled::-ms-thumb{background-color:#adb5bd}.custom-control-label::before,.custom-file-label,.custom-select{transition:background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out}@media (prefers-reduced-motion: reduce){.custom-control-label::before,.custom-file-label,.custom-select{transition:none}}.nav{display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5rem 1rem}.nav-link:hover,.nav-link:focus{text-decoration:none}.nav-link.disabled{color:#868e96;pointer-events:none;cursor:default}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-item{margin-bottom:-1px}.nav-tabs .nav-link{border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs .nav-link:hover,.nav-tabs .nav-link:focus{border-color:#e9ecef #e9ecef #dee2e6}.nav-tabs .nav-link.disabled{color:#868e96;background-color:transparent;border-color:transparent}.nav-tabs .nav-link.active,.nav-tabs .nav-item.show .nav-link{color:#495057;background-color:#f4f6f8;border-color:#dee2e6 #dee2e6 #f4f6f8}.nav-tabs .dropdown-menu,.nav-tabs .rdt .rdtPicker,.rdt .nav-tabs .rdtPicker{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{border-radius:.25rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#2cabe3}.nav-fill .nav-item{flex:1 1 auto;text-align:center}.nav-justified .nav-item{flex-basis:0;flex-grow:1;text-align:center}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:.5rem 1rem}.navbar .container,.navbar .container-fluid,.navbar .container-sm,.navbar .container-md,.navbar .container-lg,.navbar .container-xl{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between}.navbar-brand{display:inline-block;padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;line-height:inherit;white-space:nowrap}.navbar-brand:hover,.navbar-brand:focus{text-decoration:none}.navbar-nav{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu,.navbar-nav .rdt .rdtPicker,.rdt .navbar-nav .rdtPicker{position:static;float:none}.navbar-text{display:inline-block;padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem}.navbar-toggler:hover,.navbar-toggler:focus{text-decoration:none}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;content:\"\";background:no-repeat center center;background-size:100% 100%}@media (max-width: 575.98px){.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid,.navbar-expand-sm>.container-sm,.navbar-expand-sm>.container-md,.navbar-expand-sm>.container-lg,.navbar-expand-sm>.container-xl{padding-right:0;padding-left:0}}@media (min-width: 576px){.navbar-expand-sm{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu,.navbar-expand-sm .navbar-nav .rdt .rdtPicker,.rdt .navbar-expand-sm .navbar-nav .rdtPicker{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid,.navbar-expand-sm>.container-sm,.navbar-expand-sm>.container-md,.navbar-expand-sm>.container-lg,.navbar-expand-sm>.container-xl{flex-wrap:nowrap}.navbar-expand-sm .navbar-collapse{display:flex !important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}}@media (max-width: 767.98px){.navbar-expand-md>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-md,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-xl{padding-right:0;padding-left:0}}@media (min-width: 768px){.navbar-expand-md{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu,.navbar-expand-md .navbar-nav .rdt .rdtPicker,.rdt .navbar-expand-md .navbar-nav .rdtPicker{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-md,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-xl{flex-wrap:nowrap}.navbar-expand-md .navbar-collapse{display:flex !important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}}@media (max-width: 991.98px){.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-xl{padding-right:0;padding-left:0}}@media (min-width: 992px){.navbar-expand-lg{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu,.navbar-expand-lg .navbar-nav .rdt .rdtPicker,.rdt .navbar-expand-lg .navbar-nav .rdtPicker{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-xl{flex-wrap:nowrap}.navbar-expand-lg .navbar-collapse{display:flex !important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}}@media (max-width: 1199.98px){.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-xl{padding-right:0;padding-left:0}}@media (min-width: 1200px){.navbar-expand-xl{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu,.navbar-expand-xl .navbar-nav .rdt .rdtPicker,.rdt .navbar-expand-xl .navbar-nav .rdtPicker{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-xl{flex-wrap:nowrap}.navbar-expand-xl .navbar-collapse{display:flex !important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}}.navbar-expand{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand>.container,.navbar-expand>.container-fluid,.navbar-expand>.container-sm,.navbar-expand>.container-md,.navbar-expand>.container-lg,.navbar-expand>.container-xl{padding-right:0;padding-left:0}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu,.navbar-expand .navbar-nav .rdt .rdtPicker,.rdt .navbar-expand .navbar-nav .rdtPicker{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand>.container,.navbar-expand>.container-fluid,.navbar-expand>.container-sm,.navbar-expand>.container-md,.navbar-expand>.container-lg,.navbar-expand>.container-xl{flex-wrap:nowrap}.navbar-expand .navbar-collapse{display:flex !important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-light .navbar-brand{color:rgba(0,0,0,0.9)}.navbar-light .navbar-brand:hover,.navbar-light .navbar-brand:focus{color:rgba(0,0,0,0.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,0.5)}.navbar-light .navbar-nav .nav-link:hover,.navbar-light .navbar-nav .nav-link:focus{color:rgba(0,0,0,0.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,0.3)}.navbar-light .navbar-nav .show>.nav-link,.navbar-light .navbar-nav .active>.nav-link,.navbar-light .navbar-nav .nav-link.show,.navbar-light .navbar-nav .nav-link.active{color:rgba(0,0,0,0.9)}.navbar-light .navbar-toggler{color:rgba(0,0,0,0.5);border-color:rgba(0,0,0,0.1)}.navbar-light .navbar-toggler-icon{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(0,0,0,0.5)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\")}.navbar-light .navbar-text{color:rgba(0,0,0,0.5)}.navbar-light .navbar-text a{color:rgba(0,0,0,0.9)}.navbar-light .navbar-text a:hover,.navbar-light .navbar-text a:focus{color:rgba(0,0,0,0.9)}.navbar-dark .navbar-brand{color:#fff}.navbar-dark .navbar-brand:hover,.navbar-dark .navbar-brand:focus{color:#fff}.navbar-dark .navbar-nav .nav-link{color:rgba(255,255,255,0.5)}.navbar-dark .navbar-nav .nav-link:hover,.navbar-dark .navbar-nav .nav-link:focus{color:rgba(255,255,255,0.75)}.navbar-dark .navbar-nav .nav-link.disabled{color:rgba(255,255,255,0.25)}.navbar-dark .navbar-nav .show>.nav-link,.navbar-dark .navbar-nav .active>.nav-link,.navbar-dark .navbar-nav .nav-link.show,.navbar-dark .navbar-nav .nav-link.active{color:#fff}.navbar-dark .navbar-toggler{color:rgba(255,255,255,0.5);border-color:rgba(255,255,255,0.1)}.navbar-dark .navbar-toggler-icon{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(255,255,255,0.5)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\")}.navbar-dark .navbar-text{color:rgba(255,255,255,0.5)}.navbar-dark .navbar-text a{color:#fff}.navbar-dark .navbar-text a:hover,.navbar-dark .navbar-text a:focus{color:#fff}.card{position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,0.125);border-radius:.25rem}.card>hr{margin-right:0;margin-left:0}.card>.list-group:first-child .list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.card>.list-group:last-child .list-group-item:last-child{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.card-body{flex:1 1 auto;min-height:1px;padding:1.25rem}.card-title{margin-bottom:.75rem}.card-subtitle{margin-top:-.375rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1.25rem}.card-header{padding:.75rem 1.25rem;margin-bottom:0;background-color:rgba(0,0,0,0.03);border-bottom:1px solid rgba(0,0,0,0.125)}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-header+.list-group .list-group-item:first-child{border-top:0}.card-footer{padding:.75rem 1.25rem;background-color:rgba(0,0,0,0.03);border-top:1px solid rgba(0,0,0,0.125)}.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{margin-right:-.625rem;margin-bottom:-.75rem;margin-left:-.625rem;border-bottom:0}.card-header-pills{margin-right:-.625rem;margin-left:-.625rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem}.card-img,.card-img-top,.card-img-bottom{flex-shrink:0;width:100%}.card-img,.card-img-top{border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom{border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-deck .card{margin-bottom:15px}@media (min-width: 576px){.card-deck{display:flex;flex-flow:row wrap;margin-right:-15px;margin-left:-15px}.card-deck .card{flex:1 0 0%;margin-right:15px;margin-bottom:0;margin-left:15px}}.card-group>.card{margin-bottom:15px}@media (min-width: 576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-img-top,.card-group>.card:not(:last-child) .card-header{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-img-bottom,.card-group>.card:not(:last-child) .card-footer{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-img-top,.card-group>.card:not(:first-child) .card-header{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-img-bottom,.card-group>.card:not(:first-child) .card-footer{border-bottom-left-radius:0}}.card-columns .card{margin-bottom:.75rem}@media (min-width: 576px){.card-columns{column-count:3;column-gap:1.25rem;orphans:1;widows:1}.card-columns .card{display:inline-block;width:100%}}.accordion>.card{overflow:hidden}.accordion>.card:not(:last-of-type){border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.accordion>.card:not(:first-of-type){border-top-left-radius:0;border-top-right-radius:0}.accordion>.card>.card-header{border-radius:0;margin-bottom:-1px}.breadcrumb{display:flex;flex-wrap:wrap;padding:.75rem 1rem;margin-bottom:1rem;list-style:none;background-color:#e9ecef;border-radius:.25rem}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item::before{display:inline-block;padding-right:.5rem;color:#868e96;content:\"/\"}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:underline}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:none}.breadcrumb-item.active{color:#868e96}.pagination{display:flex;padding-left:0;list-style:none;border-radius:.25rem}.page-link{position:relative;display:block;padding:.5rem .75rem;margin-left:-1px;line-height:1.25;color:#2cabe3;background-color:#fff;border:1px solid #dee2e6}.page-link:hover{z-index:2;color:#177eac;text-decoration:none;background-color:#e9ecef;border-color:#dee2e6}.page-link:focus{z-index:3;outline:0;box-shadow:0 0 0 .2rem rgba(44,171,227,0.25)}.page-item:first-child .page-link{margin-left:0;border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.page-item.active .page-link{z-index:3;color:#fff;background-color:#2cabe3;border-color:#2cabe3}.page-item.disabled .page-link{color:#868e96;pointer-events:none;cursor:auto;background-color:#fff;border-color:#dee2e6}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem;line-height:1.5}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem;line-height:1.5}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.badge,.tag .token,.tag .rbt-token,.rbt .token,.rbt .rbt-token{display:inline-block;padding:.25em .4em;font-size:75%;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem;transition:color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out}@media (prefers-reduced-motion: reduce){.badge,.tag .token,.tag .rbt-token,.rbt .token,.rbt .rbt-token{transition:none}}a.badge:hover,.tag a.token:hover,.tag a.rbt-token:hover,.rbt a.token:hover,.rbt a.rbt-token:hover,a.badge:focus,.tag a.token:focus,.tag a.rbt-token:focus,.rbt a.token:focus,.rbt a.rbt-token:focus{text-decoration:none}.badge:empty,.tag .token:empty,.tag .rbt-token:empty,.rbt .token:empty,.rbt .rbt-token:empty{display:none}.btn .badge,.btn .tag .token,.tag .btn .token,.btn .tag .rbt-token,.tag .btn .rbt-token,.btn .rbt .token,.rbt .btn .token,.btn .rbt .rbt-token,.rbt .btn .rbt-token{position:relative;top:-1px}.badge-pill,.tag .token,.tag .rbt-token,.rbt .token,.rbt .rbt-token{padding-right:.6em;padding-left:.6em;border-radius:10rem}.badge-primary,.tag .token,.tag .rbt-token,.rbt .token,.rbt .rbt-token{color:#fff;background-color:#2cabe3}a.badge-primary:hover,.tag a.token:hover,.tag a.rbt-token:hover,.rbt a.token:hover,.rbt a.rbt-token:hover,a.badge-primary:focus,.tag a.token:focus,.tag a.rbt-token:focus,.rbt a.token:focus,.rbt a.rbt-token:focus{color:#fff;background-color:#1a8fc2}a.badge-primary:focus,.tag a.token:focus,.tag a.rbt-token:focus,.rbt a.token:focus,.rbt a.rbt-token:focus,a.badge-primary.focus,.tag a.focus.token,.tag a.focus.rbt-token,.rbt a.focus.token,.rbt a.focus.rbt-token{outline:0;box-shadow:0 0 0 .2rem rgba(44,171,227,0.5)}.badge-secondary{color:#fff;background-color:#868e96}a.badge-secondary:hover,a.badge-secondary:focus{color:#fff;background-color:#6c757d}a.badge-secondary:focus,a.badge-secondary.focus{outline:0;box-shadow:0 0 0 .2rem rgba(134,142,150,0.5)}.badge-success{color:#212529;background-color:#5fdc9f}a.badge-success:hover,a.badge-success:focus{color:#212529;background-color:#35d386}a.badge-success:focus,a.badge-success.focus{outline:0;box-shadow:0 0 0 .2rem rgba(95,220,159,0.5)}.badge-info{color:#fff;background-color:#17a2b8}a.badge-info:hover,a.badge-info:focus{color:#fff;background-color:#117a8b}a.badge-info:focus,a.badge-info.focus{outline:0;box-shadow:0 0 0 .2rem rgba(23,162,184,0.5)}.badge-warning{color:#212529;background-color:#ffd500}a.badge-warning:hover,a.badge-warning:focus{color:#212529;background-color:#ca0}a.badge-warning:focus,a.badge-warning.focus{outline:0;box-shadow:0 0 0 .2rem rgba(255,213,0,0.5)}.badge-danger{color:#fff;background-color:#d9534f}a.badge-danger:hover,a.badge-danger:focus{color:#fff;background-color:#c9302c}a.badge-danger:focus,a.badge-danger.focus{outline:0;box-shadow:0 0 0 .2rem rgba(217,83,79,0.5)}.badge-light{color:#212529;background-color:#e9ecef}a.badge-light:hover,a.badge-light:focus{color:#212529;background-color:#cbd3da}a.badge-light:focus,a.badge-light.focus{outline:0;box-shadow:0 0 0 .2rem rgba(233,236,239,0.5)}.badge-dark{color:#fff;background-color:#343a40}a.badge-dark:hover,a.badge-dark:focus{color:#fff;background-color:#1d2124}a.badge-dark:focus,a.badge-dark.focus{outline:0;box-shadow:0 0 0 .2rem rgba(52,58,64,0.5)}.badge-white{color:#212529;background-color:#fff}a.badge-white:hover,a.badge-white:focus{color:#212529;background-color:#e6e6e6}a.badge-white:focus,a.badge-white.focus{outline:0;box-shadow:0 0 0 .2rem rgba(255,255,255,0.5)}.jumbotron{padding:2rem 1rem;margin-bottom:2rem;background-color:#e9ecef;border-radius:.3rem}@media (min-width: 576px){.jumbotron{padding:4rem 2rem}}.jumbotron-fluid{padding-right:0;padding-left:0;border-radius:0}.alert{position:relative;padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:4rem}.alert-dismissible .close{position:absolute;top:0;right:0;padding:.75rem 1.25rem;color:inherit}.alert-primary{color:#175976;background-color:#d5eef9;border-color:#c4e7f7}.alert-primary hr{border-top-color:#aedef4}.alert-primary .alert-link{color:#0f394b}.alert-secondary{color:#464a4e;background-color:#e7e8ea;border-color:#dddfe2}.alert-secondary hr{border-top-color:#cfd2d6}.alert-secondary .alert-link{color:#2e3133}.alert-success{color:#317253;background-color:#dff8ec;border-color:#d2f5e4}.alert-success hr{border-top-color:#bdf0d7}.alert-success .alert-link{color:#224e39}.alert-info{color:#0c5460;background-color:#d1ecf1;border-color:#bee5eb}.alert-info hr{border-top-color:#abdde5}.alert-info .alert-link{color:#062c33}.alert-warning{color:#856f00;background-color:#fff7cc;border-color:#fff3b8}.alert-warning hr{border-top-color:#ffef9f}.alert-warning .alert-link{color:#524400}.alert-danger{color:#712b29;background-color:#f7dddc;border-color:#f4cfce}.alert-danger hr{border-top-color:#efbbb9}.alert-danger .alert-link{color:#4c1d1b}.alert-light{color:#797b7c;background-color:#fbfbfc;border-color:#f9fafb}.alert-light hr{border-top-color:#eaedf1}.alert-light .alert-link{color:#606162}.alert-dark{color:#1b1e21;background-color:#d6d8d9;border-color:#c6c8ca}.alert-dark hr{border-top-color:#b9bbbe}.alert-dark .alert-link{color:#040505}.alert-white{color:#858585;background-color:#fff;border-color:#fff}.alert-white hr{border-top-color:#f2f2f2}.alert-white .alert-link{color:#6c6c6c}@keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}.progress{display:flex;height:1rem;overflow:hidden;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:#fff;text-align:center;white-space:nowrap;background-color:#2cabe3;transition:width 0.6s ease}@media (prefers-reduced-motion: reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-size:1rem 1rem}.progress-bar-animated{animation:progress-bar-stripes 1s linear infinite}@media (prefers-reduced-motion: reduce){.progress-bar-animated{animation:none}}.media{display:flex;align-items:flex-start}.media-body{flex:1}.list-group{display:flex;flex-direction:column;padding-left:0;margin-bottom:0}.list-group-item-action{width:100%;color:#495057;text-align:inherit}.list-group-item-action:hover,.list-group-item-action:focus{z-index:1;color:#495057;text-decoration:none;background-color:#f8f9fa}.list-group-item-action:active{color:#212529;background-color:#e9ecef}.list-group-item{position:relative;display:block;padding:.75rem 1.25rem;background-color:#fff;border:1px solid rgba(0,0,0,0.125)}.list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.list-group-item:last-child{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.list-group-item.disabled,.list-group-item:disabled{color:#868e96;pointer-events:none;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#2cabe3;border-color:#2cabe3}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:-1px;border-top-width:1px}.list-group-horizontal{flex-direction:row}.list-group-horizontal .list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal .list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal .list-group-item.active{margin-top:0}.list-group-horizontal .list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal .list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}@media (min-width: 576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm .list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-sm .list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-sm .list-group-item.active{margin-top:0}.list-group-horizontal-sm .list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-sm .list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width: 768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md .list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-md .list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-md .list-group-item.active{margin-top:0}.list-group-horizontal-md .list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-md .list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width: 992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg .list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-lg .list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-lg .list-group-item.active{margin-top:0}.list-group-horizontal-lg .list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-lg .list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width: 1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl .list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xl .list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-xl .list-group-item.active{margin-top:0}.list-group-horizontal-xl .list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xl .list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}.list-group-flush .list-group-item{border-right-width:0;border-left-width:0;border-radius:0}.list-group-flush .list-group-item:first-child{border-top-width:0}.list-group-flush:last-child .list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{color:#175976;background-color:#c4e7f7}.list-group-item-primary.list-group-item-action:hover,.list-group-item-primary.list-group-item-action:focus{color:#175976;background-color:#aedef4}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#175976;border-color:#175976}.list-group-item-secondary{color:#464a4e;background-color:#dddfe2}.list-group-item-secondary.list-group-item-action:hover,.list-group-item-secondary.list-group-item-action:focus{color:#464a4e;background-color:#cfd2d6}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#464a4e;border-color:#464a4e}.list-group-item-success{color:#317253;background-color:#d2f5e4}.list-group-item-success.list-group-item-action:hover,.list-group-item-success.list-group-item-action:focus{color:#317253;background-color:#bdf0d7}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#317253;border-color:#317253}.list-group-item-info{color:#0c5460;background-color:#bee5eb}.list-group-item-info.list-group-item-action:hover,.list-group-item-info.list-group-item-action:focus{color:#0c5460;background-color:#abdde5}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#0c5460;border-color:#0c5460}.list-group-item-warning{color:#856f00;background-color:#fff3b8}.list-group-item-warning.list-group-item-action:hover,.list-group-item-warning.list-group-item-action:focus{color:#856f00;background-color:#ffef9f}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#856f00;border-color:#856f00}.list-group-item-danger{color:#712b29;background-color:#f4cfce}.list-group-item-danger.list-group-item-action:hover,.list-group-item-danger.list-group-item-action:focus{color:#712b29;background-color:#efbbb9}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#712b29;border-color:#712b29}.list-group-item-light{color:#797b7c;background-color:#f9fafb}.list-group-item-light.list-group-item-action:hover,.list-group-item-light.list-group-item-action:focus{color:#797b7c;background-color:#eaedf1}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#797b7c;border-color:#797b7c}.list-group-item-dark{color:#1b1e21;background-color:#c6c8ca}.list-group-item-dark.list-group-item-action:hover,.list-group-item-dark.list-group-item-action:focus{color:#1b1e21;background-color:#b9bbbe}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#1b1e21;border-color:#1b1e21}.list-group-item-white{color:#858585;background-color:#fff}.list-group-item-white.list-group-item-action:hover,.list-group-item-white.list-group-item-action:focus{color:#858585;background-color:#f2f2f2}.list-group-item-white.list-group-item-action.active{color:#fff;background-color:#858585;border-color:#858585}.close{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}.close:hover{color:#000;text-decoration:none}.close:not(:disabled):not(.disabled):hover,.close:not(:disabled):not(.disabled):focus{opacity:.75}button.close{padding:0;background-color:transparent;border:0;appearance:none}a.close.disabled{pointer-events:none}.toast{max-width:350px;overflow:hidden;font-size:.875rem;background-color:rgba(255,255,255,0.85);background-clip:padding-box;border:1px solid rgba(0,0,0,0.1);box-shadow:0 0.25rem 0.75rem rgba(0,0,0,0.1);backdrop-filter:blur(10px);opacity:0;border-radius:.25rem}.toast:not(:last-child){margin-bottom:.75rem}.toast.showing{opacity:1}.toast.show{display:block;opacity:1}.toast.hide{display:none}.toast-header{display:flex;align-items:center;padding:.25rem .75rem;color:#868e96;background-color:rgba(255,255,255,0.85);background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,0.05)}.toast-body{padding:.75rem}.modal-open{overflow:hidden}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal{position:fixed;top:0;left:0;z-index:1050;display:none;width:100%;height:100%;overflow:hidden;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:transform 0.3s ease-out;transform:translate(0, -50px)}@media (prefers-reduced-motion: reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{display:flex;max-height:calc(100% - 1rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 1rem);overflow:hidden}.modal-dialog-scrollable .modal-header,.modal-dialog-scrollable .modal-footer{flex-shrink:0}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - 1rem)}.modal-dialog-centered::before{display:block;height:calc(100vh - 1rem);content:\"\"}.modal-dialog-centered.modal-dialog-scrollable{flex-direction:column;justify-content:center;height:100%}.modal-dialog-centered.modal-dialog-scrollable .modal-content{max-height:none}.modal-dialog-centered.modal-dialog-scrollable::before{content:none}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,0.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;padding:1rem 1rem;border-bottom:1px solid #dee2e6;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.modal-header .close{padding:1rem 1rem;margin:-1rem -1rem -1rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;flex:1 1 auto;padding:1rem}.modal-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:.75rem;border-top:1px solid #dee2e6;border-bottom-right-radius:calc(.3rem - 1px);border-bottom-left-radius:calc(.3rem - 1px)}.modal-footer>*{margin:.25rem}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width: 576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-scrollable{max-height:calc(100% - 3.5rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 3.5rem)}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-dialog-centered::before{height:calc(100vh - 3.5rem)}.modal-sm{max-width:300px}}@media (min-width: 992px){.modal-lg,.modal-xl{max-width:800px}}@media (min-width: 1200px){.modal-xl{max-width:1140px}}.tooltip{position:absolute;z-index:1070;display:block;margin:0;font-family:-apple-system,system-ui,BlinkMacSystemFont,\"Segoe UI\",Roboto,\"Helvetica Neue\",Arial,sans-serif;font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip .arrow{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip .arrow::before{position:absolute;content:\"\";border-color:transparent;border-style:solid}.bs-tooltip-top,.bs-tooltip-auto[x-placement^=\"top\"]{padding:.4rem 0}.bs-tooltip-top .arrow,.bs-tooltip-auto[x-placement^=\"top\"] .arrow{bottom:0}.bs-tooltip-top .arrow::before,.bs-tooltip-auto[x-placement^=\"top\"] .arrow::before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-right,.bs-tooltip-auto[x-placement^=\"right\"]{padding:0 .4rem}.bs-tooltip-right .arrow,.bs-tooltip-auto[x-placement^=\"right\"] .arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-right .arrow::before,.bs-tooltip-auto[x-placement^=\"right\"] .arrow::before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-bottom,.bs-tooltip-auto[x-placement^=\"bottom\"]{padding:.4rem 0}.bs-tooltip-bottom .arrow,.bs-tooltip-auto[x-placement^=\"bottom\"] .arrow{top:0}.bs-tooltip-bottom .arrow::before,.bs-tooltip-auto[x-placement^=\"bottom\"] .arrow::before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-left,.bs-tooltip-auto[x-placement^=\"left\"]{padding:0 .4rem}.bs-tooltip-left .arrow,.bs-tooltip-auto[x-placement^=\"left\"] .arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-left .arrow::before,.bs-tooltip-auto[x-placement^=\"left\"] .arrow::before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.popover{position:absolute;top:0;left:0;z-index:1060;display:block;max-width:276px;font-family:-apple-system,system-ui,BlinkMacSystemFont,\"Segoe UI\",Roboto,\"Helvetica Neue\",Arial,sans-serif;font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,0.2);border-radius:.3rem}.popover .arrow{position:absolute;display:block;width:1rem;height:.5rem;margin:0 .3rem}.popover .arrow::before,.popover .arrow::after{position:absolute;display:block;content:\"\";border-color:transparent;border-style:solid}.bs-popover-top,.bs-popover-auto[x-placement^=\"top\"]{margin-bottom:.5rem}.bs-popover-top>.arrow,.bs-popover-auto[x-placement^=\"top\"]>.arrow{bottom:calc(-.5rem - 1px)}.bs-popover-top>.arrow::before,.bs-popover-auto[x-placement^=\"top\"]>.arrow::before{bottom:0;border-width:.5rem .5rem 0;border-top-color:rgba(0,0,0,0.25)}.bs-popover-top>.arrow::after,.bs-popover-auto[x-placement^=\"top\"]>.arrow::after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#fff}.bs-popover-right,.bs-popover-auto[x-placement^=\"right\"]{margin-left:.5rem}.bs-popover-right>.arrow,.bs-popover-auto[x-placement^=\"right\"]>.arrow{left:calc(-.5rem - 1px);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-right>.arrow::before,.bs-popover-auto[x-placement^=\"right\"]>.arrow::before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:rgba(0,0,0,0.25)}.bs-popover-right>.arrow::after,.bs-popover-auto[x-placement^=\"right\"]>.arrow::after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#fff}.bs-popover-bottom,.bs-popover-auto[x-placement^=\"bottom\"]{margin-top:.5rem}.bs-popover-bottom>.arrow,.bs-popover-auto[x-placement^=\"bottom\"]>.arrow{top:calc(-.5rem - 1px)}.bs-popover-bottom>.arrow::before,.bs-popover-auto[x-placement^=\"bottom\"]>.arrow::before{top:0;border-width:0 .5rem .5rem .5rem;border-bottom-color:rgba(0,0,0,0.25)}.bs-popover-bottom>.arrow::after,.bs-popover-auto[x-placement^=\"bottom\"]>.arrow::after{top:1px;border-width:0 .5rem .5rem .5rem;border-bottom-color:#fff}.bs-popover-bottom .popover-header::before,.bs-popover-auto[x-placement^=\"bottom\"] .popover-header::before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:\"\";border-bottom:1px solid #f7f7f7}.bs-popover-left,.bs-popover-auto[x-placement^=\"left\"]{margin-right:.5rem}.bs-popover-left>.arrow,.bs-popover-auto[x-placement^=\"left\"]>.arrow{right:calc(-.5rem - 1px);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-left>.arrow::before,.bs-popover-auto[x-placement^=\"left\"]>.arrow::before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:rgba(0,0,0,0.25)}.bs-popover-left>.arrow::after,.bs-popover-auto[x-placement^=\"left\"]>.arrow::after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}.popover-header{padding:.5rem .75rem;margin-bottom:0;font-size:1rem;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:.5rem .75rem;color:#212529}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:\"\"}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion: reduce){.carousel-item{transition:none}}.carousel-item.active,.carousel-item-next,.carousel-item-prev{display:block}.carousel-item-next:not(.carousel-item-left),.active.carousel-item-right{transform:translateX(100%)}.carousel-item-prev:not(.carousel-item-right),.active.carousel-item-left{transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item.active,.carousel-fade .carousel-item-next.carousel-item-left,.carousel-fade .carousel-item-prev.carousel-item-right{z-index:1;opacity:1}.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion: reduce){.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{transition:none}}.carousel-control-prev,.carousel-control-next{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;color:#fff;text-align:center;opacity:.5;transition:opacity 0.15s ease}@media (prefers-reduced-motion: reduce){.carousel-control-prev,.carousel-control-next{transition:none}}.carousel-control-prev:hover,.carousel-control-prev:focus,.carousel-control-next:hover,.carousel-control-next:focus{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-prev-icon,.carousel-control-next-icon{display:inline-block;width:20px;height:20px;background:no-repeat 50% / 100% 100%}.carousel-control-prev-icon{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e\")}.carousel-control-next-icon{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e\")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:15;display:flex;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators li{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity 0.6s ease}@media (prefers-reduced-motion: reduce){.carousel-indicators li{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;border:.25em solid currentColor;border-right-color:transparent;border-radius:50%;animation:spinner-border .75s linear infinite}.spinner-border-sm{width:1rem;height:1rem;border-width:.2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1}}.spinner-grow{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;background-color:currentColor;border-radius:50%;opacity:0;animation:spinner-grow .75s linear infinite}.spinner-grow-sm{width:1rem;height:1rem}.align-baseline{vertical-align:baseline !important}.align-top{vertical-align:top !important}.align-middle{vertical-align:middle !important}.align-bottom{vertical-align:bottom !important}.align-text-bottom{vertical-align:text-bottom !important}.align-text-top{vertical-align:text-top !important}.bg-primary{background-color:#2cabe3 !important}a.bg-primary:hover,a.bg-primary:focus,button.bg-primary:hover,button.bg-primary:focus{background-color:#1a8fc2 !important}.bg-secondary{background-color:#868e96 !important}a.bg-secondary:hover,a.bg-secondary:focus,button.bg-secondary:hover,button.bg-secondary:focus{background-color:#6c757d !important}.bg-success{background-color:#5fdc9f !important}a.bg-success:hover,a.bg-success:focus,button.bg-success:hover,button.bg-success:focus{background-color:#35d386 !important}.bg-info{background-color:#17a2b8 !important}a.bg-info:hover,a.bg-info:focus,button.bg-info:hover,button.bg-info:focus{background-color:#117a8b !important}.bg-warning{background-color:#ffd500 !important}a.bg-warning:hover,a.bg-warning:focus,button.bg-warning:hover,button.bg-warning:focus{background-color:#ca0 !important}.bg-danger{background-color:#d9534f !important}a.bg-danger:hover,a.bg-danger:focus,button.bg-danger:hover,button.bg-danger:focus{background-color:#c9302c !important}.bg-light{background-color:#e9ecef !important}a.bg-light:hover,a.bg-light:focus,button.bg-light:hover,button.bg-light:focus{background-color:#cbd3da !important}.bg-dark{background-color:#343a40 !important}a.bg-dark:hover,a.bg-dark:focus,button.bg-dark:hover,button.bg-dark:focus{background-color:#1d2124 !important}.bg-#fff{background-color:#fff !important}a.bg-#fff:hover,a.bg-#fff:focus,button.bg-#fff:hover,button.bg-#fff:focus{background-color:#e6e6e6 !important}.bg-white{background-color:#fff !important}.bg-transparent{background-color:transparent !important}.border{border:1px solid #dee2e6 !important}.border-top{border-top:1px solid #dee2e6 !important}.border-right{border-right:1px solid #dee2e6 !important}.border-bottom{border-bottom:1px solid #dee2e6 !important}.border-left{border-left:1px solid #dee2e6 !important}.border-0{border:0 !important}.border-top-0{border-top:0 !important}.border-right-0{border-right:0 !important}.border-bottom-0{border-bottom:0 !important}.border-left-0{border-left:0 !important}.border-primary{border-color:#2cabe3 !important}.border-secondary{border-color:#868e96 !important}.border-success{border-color:#5fdc9f !important}.border-info{border-color:#17a2b8 !important}.border-warning{border-color:#ffd500 !important}.border-danger{border-color:#d9534f !important}.border-light{border-color:#e9ecef !important}.border-dark{border-color:#343a40 !important}.border-white{border-color:#fff !important}.border-white{border-color:#fff !important}.rounded-sm{border-radius:.2rem !important}.rounded,.rdt.rdtOpen .rdtSwitch,.rdt.rdtOpen .rdtPrev,.rdt.rdtOpen .rdtNext{border-radius:.25rem !important}.rounded-top{border-top-left-radius:.25rem !important;border-top-right-radius:.25rem !important}.rounded-right{border-top-right-radius:.25rem !important;border-bottom-right-radius:.25rem !important}.rounded-bottom{border-bottom-right-radius:.25rem !important;border-bottom-left-radius:.25rem !important}.rounded-left{border-top-left-radius:.25rem !important;border-bottom-left-radius:.25rem !important}.rounded-lg{border-radius:.3rem !important}.rounded-circle,.rdt .rdtPicker .rdtMonths table>tbody>tr>td.rdtActive,.rdt .rdtPicker .rdtMonths table>tbody>tr>td.rdtActive:hover,.rdt .rdtPicker .rdtYears table>tbody>tr>td.rdtActive,.rdt .rdtPicker .rdtYears table>tbody>tr>td.rdtActive:hover,.rdt .rdtPicker .rdtDays table>tbody>tr>td.rdtActive,.rdt .rdtPicker .rdtDays table>tbody>tr>td.rdtActive:hover,.rdt .rdtPicker .rdtMonths table>tbody>tr>td:hover,.rdt .rdtPicker .rdtYears table>tbody>tr>td:hover,.rdt .rdtPicker .rdtDays table>tbody>tr>td:hover{border-radius:50% !important}.rounded-pill{border-radius:50rem !important}.rounded-0{border-radius:0 !important}.clearfix::after{display:block;clear:both;content:\"\"}.d-none{display:none !important}.d-inline{display:inline !important}.d-inline-block{display:inline-block !important}.d-block{display:block !important}.d-table{display:table !important}.d-table-row{display:table-row !important}.d-table-cell{display:table-cell !important}.d-flex{display:flex !important}.d-inline-flex{display:inline-flex !important}@media (min-width: 576px){.d-sm-none{display:none !important}.d-sm-inline{display:inline !important}.d-sm-inline-block{display:inline-block !important}.d-sm-block{display:block !important}.d-sm-table{display:table !important}.d-sm-table-row{display:table-row !important}.d-sm-table-cell{display:table-cell !important}.d-sm-flex{display:flex !important}.d-sm-inline-flex{display:inline-flex !important}}@media (min-width: 768px){.d-md-none{display:none !important}.d-md-inline{display:inline !important}.d-md-inline-block{display:inline-block !important}.d-md-block{display:block !important}.d-md-table{display:table !important}.d-md-table-row{display:table-row !important}.d-md-table-cell{display:table-cell !important}.d-md-flex{display:flex !important}.d-md-inline-flex{display:inline-flex !important}}@media (min-width: 992px){.d-lg-none{display:none !important}.d-lg-inline{display:inline !important}.d-lg-inline-block{display:inline-block !important}.d-lg-block{display:block !important}.d-lg-table{display:table !important}.d-lg-table-row{display:table-row !important}.d-lg-table-cell{display:table-cell !important}.d-lg-flex{display:flex !important}.d-lg-inline-flex{display:inline-flex !important}}@media (min-width: 1200px){.d-xl-none{display:none !important}.d-xl-inline{display:inline !important}.d-xl-inline-block{display:inline-block !important}.d-xl-block{display:block !important}.d-xl-table{display:table !important}.d-xl-table-row{display:table-row !important}.d-xl-table-cell{display:table-cell !important}.d-xl-flex{display:flex !important}.d-xl-inline-flex{display:inline-flex !important}}@media print{.d-print-none{display:none !important}.d-print-inline{display:inline !important}.d-print-inline-block{display:inline-block !important}.d-print-block{display:block !important}.d-print-table{display:table !important}.d-print-table-row{display:table-row !important}.d-print-table-cell{display:table-cell !important}.d-print-flex{display:flex !important}.d-print-inline-flex{display:inline-flex !important}}.embed-responsive{position:relative;display:block;width:100%;padding:0;overflow:hidden}.embed-responsive::before{display:block;content:\"\"}.embed-responsive .embed-responsive-item,.embed-responsive iframe,.embed-responsive embed,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-21by9::before{padding-top:42.85714%}.embed-responsive-16by9::before{padding-top:56.25%}.embed-responsive-4by3::before{padding-top:75%}.embed-responsive-1by1::before{padding-top:100%}.flex-row{flex-direction:row !important}.flex-column{flex-direction:column !important}.flex-row-reverse{flex-direction:row-reverse !important}.flex-column-reverse{flex-direction:column-reverse !important}.flex-wrap{flex-wrap:wrap !important}.flex-nowrap{flex-wrap:nowrap !important}.flex-wrap-reverse{flex-wrap:wrap-reverse !important}.flex-fill{flex:1 1 auto !important}.flex-grow-0{flex-grow:0 !important}.flex-grow-1{flex-grow:1 !important}.flex-shrink-0{flex-shrink:0 !important}.flex-shrink-1{flex-shrink:1 !important}.justify-content-start{justify-content:flex-start !important}.justify-content-end{justify-content:flex-end !important}.justify-content-center{justify-content:center !important}.justify-content-between{justify-content:space-between !important}.justify-content-around{justify-content:space-around !important}.align-items-start{align-items:flex-start !important}.align-items-end{align-items:flex-end !important}.align-items-center{align-items:center !important}.align-items-baseline{align-items:baseline !important}.align-items-stretch{align-items:stretch !important}.align-content-start{align-content:flex-start !important}.align-content-end{align-content:flex-end !important}.align-content-center{align-content:center !important}.align-content-between{align-content:space-between !important}.align-content-around{align-content:space-around !important}.align-content-stretch{align-content:stretch !important}.align-self-auto{align-self:auto !important}.align-self-start{align-self:flex-start !important}.align-self-end{align-self:flex-end !important}.align-self-center{align-self:center !important}.align-self-baseline{align-self:baseline !important}.align-self-stretch{align-self:stretch !important}@media (min-width: 576px){.flex-sm-row{flex-direction:row !important}.flex-sm-column{flex-direction:column !important}.flex-sm-row-reverse{flex-direction:row-reverse !important}.flex-sm-column-reverse{flex-direction:column-reverse !important}.flex-sm-wrap{flex-wrap:wrap !important}.flex-sm-nowrap{flex-wrap:nowrap !important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse !important}.flex-sm-fill{flex:1 1 auto !important}.flex-sm-grow-0{flex-grow:0 !important}.flex-sm-grow-1{flex-grow:1 !important}.flex-sm-shrink-0{flex-shrink:0 !important}.flex-sm-shrink-1{flex-shrink:1 !important}.justify-content-sm-start{justify-content:flex-start !important}.justify-content-sm-end{justify-content:flex-end !important}.justify-content-sm-center{justify-content:center !important}.justify-content-sm-between{justify-content:space-between !important}.justify-content-sm-around{justify-content:space-around !important}.align-items-sm-start{align-items:flex-start !important}.align-items-sm-end{align-items:flex-end !important}.align-items-sm-center{align-items:center !important}.align-items-sm-baseline{align-items:baseline !important}.align-items-sm-stretch{align-items:stretch !important}.align-content-sm-start{align-content:flex-start !important}.align-content-sm-end{align-content:flex-end !important}.align-content-sm-center{align-content:center !important}.align-content-sm-between{align-content:space-between !important}.align-content-sm-around{align-content:space-around !important}.align-content-sm-stretch{align-content:stretch !important}.align-self-sm-auto{align-self:auto !important}.align-self-sm-start{align-self:flex-start !important}.align-self-sm-end{align-self:flex-end !important}.align-self-sm-center{align-self:center !important}.align-self-sm-baseline{align-self:baseline !important}.align-self-sm-stretch{align-self:stretch !important}}@media (min-width: 768px){.flex-md-row{flex-direction:row !important}.flex-md-column{flex-direction:column !important}.flex-md-row-reverse{flex-direction:row-reverse !important}.flex-md-column-reverse{flex-direction:column-reverse !important}.flex-md-wrap{flex-wrap:wrap !important}.flex-md-nowrap{flex-wrap:nowrap !important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse !important}.flex-md-fill{flex:1 1 auto !important}.flex-md-grow-0{flex-grow:0 !important}.flex-md-grow-1{flex-grow:1 !important}.flex-md-shrink-0{flex-shrink:0 !important}.flex-md-shrink-1{flex-shrink:1 !important}.justify-content-md-start{justify-content:flex-start !important}.justify-content-md-end{justify-content:flex-end !important}.justify-content-md-center{justify-content:center !important}.justify-content-md-between{justify-content:space-between !important}.justify-content-md-around{justify-content:space-around !important}.align-items-md-start{align-items:flex-start !important}.align-items-md-end{align-items:flex-end !important}.align-items-md-center{align-items:center !important}.align-items-md-baseline{align-items:baseline !important}.align-items-md-stretch{align-items:stretch !important}.align-content-md-start{align-content:flex-start !important}.align-content-md-end{align-content:flex-end !important}.align-content-md-center{align-content:center !important}.align-content-md-between{align-content:space-between !important}.align-content-md-around{align-content:space-around !important}.align-content-md-stretch{align-content:stretch !important}.align-self-md-auto{align-self:auto !important}.align-self-md-start{align-self:flex-start !important}.align-self-md-end{align-self:flex-end !important}.align-self-md-center{align-self:center !important}.align-self-md-baseline{align-self:baseline !important}.align-self-md-stretch{align-self:stretch !important}}@media (min-width: 992px){.flex-lg-row{flex-direction:row !important}.flex-lg-column{flex-direction:column !important}.flex-lg-row-reverse{flex-direction:row-reverse !important}.flex-lg-column-reverse{flex-direction:column-reverse !important}.flex-lg-wrap{flex-wrap:wrap !important}.flex-lg-nowrap{flex-wrap:nowrap !important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse !important}.flex-lg-fill{flex:1 1 auto !important}.flex-lg-grow-0{flex-grow:0 !important}.flex-lg-grow-1{flex-grow:1 !important}.flex-lg-shrink-0{flex-shrink:0 !important}.flex-lg-shrink-1{flex-shrink:1 !important}.justify-content-lg-start{justify-content:flex-start !important}.justify-content-lg-end{justify-content:flex-end !important}.justify-content-lg-center{justify-content:center !important}.justify-content-lg-between{justify-content:space-between !important}.justify-content-lg-around{justify-content:space-around !important}.align-items-lg-start{align-items:flex-start !important}.align-items-lg-end{align-items:flex-end !important}.align-items-lg-center{align-items:center !important}.align-items-lg-baseline{align-items:baseline !important}.align-items-lg-stretch{align-items:stretch !important}.align-content-lg-start{align-content:flex-start !important}.align-content-lg-end{align-content:flex-end !important}.align-content-lg-center{align-content:center !important}.align-content-lg-between{align-content:space-between !important}.align-content-lg-around{align-content:space-around !important}.align-content-lg-stretch{align-content:stretch !important}.align-self-lg-auto{align-self:auto !important}.align-self-lg-start{align-self:flex-start !important}.align-self-lg-end{align-self:flex-end !important}.align-self-lg-center{align-self:center !important}.align-self-lg-baseline{align-self:baseline !important}.align-self-lg-stretch{align-self:stretch !important}}@media (min-width: 1200px){.flex-xl-row{flex-direction:row !important}.flex-xl-column{flex-direction:column !important}.flex-xl-row-reverse{flex-direction:row-reverse !important}.flex-xl-column-reverse{flex-direction:column-reverse !important}.flex-xl-wrap{flex-wrap:wrap !important}.flex-xl-nowrap{flex-wrap:nowrap !important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse !important}.flex-xl-fill{flex:1 1 auto !important}.flex-xl-grow-0{flex-grow:0 !important}.flex-xl-grow-1{flex-grow:1 !important}.flex-xl-shrink-0{flex-shrink:0 !important}.flex-xl-shrink-1{flex-shrink:1 !important}.justify-content-xl-start{justify-content:flex-start !important}.justify-content-xl-end{justify-content:flex-end !important}.justify-content-xl-center{justify-content:center !important}.justify-content-xl-between{justify-content:space-between !important}.justify-content-xl-around{justify-content:space-around !important}.align-items-xl-start{align-items:flex-start !important}.align-items-xl-end{align-items:flex-end !important}.align-items-xl-center{align-items:center !important}.align-items-xl-baseline{align-items:baseline !important}.align-items-xl-stretch{align-items:stretch !important}.align-content-xl-start{align-content:flex-start !important}.align-content-xl-end{align-content:flex-end !important}.align-content-xl-center{align-content:center !important}.align-content-xl-between{align-content:space-between !important}.align-content-xl-around{align-content:space-around !important}.align-content-xl-stretch{align-content:stretch !important}.align-self-xl-auto{align-self:auto !important}.align-self-xl-start{align-self:flex-start !important}.align-self-xl-end{align-self:flex-end !important}.align-self-xl-center{align-self:center !important}.align-self-xl-baseline{align-self:baseline !important}.align-self-xl-stretch{align-self:stretch !important}}.float-left{float:left !important}.float-right{float:right !important}.float-none{float:none !important}@media (min-width: 576px){.float-sm-left{float:left !important}.float-sm-right{float:right !important}.float-sm-none{float:none !important}}@media (min-width: 768px){.float-md-left{float:left !important}.float-md-right{float:right !important}.float-md-none{float:none !important}}@media (min-width: 992px){.float-lg-left{float:left !important}.float-lg-right{float:right !important}.float-lg-none{float:none !important}}@media (min-width: 1200px){.float-xl-left{float:left !important}.float-xl-right{float:right !important}.float-xl-none{float:none !important}}.overflow-auto{overflow:auto !important}.overflow-hidden{overflow:hidden !important}.position-static{position:static !important}.position-relative{position:relative !important}.position-absolute{position:absolute !important}.position-fixed{position:fixed !important}.position-sticky{position:sticky !important}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}@supports (position: sticky){.sticky-top{position:sticky;top:0;z-index:1020}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal}.shadow-sm{box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.075) !important}.shadow{box-shadow:0 0.5rem 1rem rgba(0,0,0,0.15) !important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,0.175) !important}.shadow-none{box-shadow:none !important}.w-25{width:25% !important}.w-50{width:50% !important}.w-75{width:75% !important}.w-100{width:100% !important}.w-auto{width:auto !important}.h-25{height:25% !important}.h-50{height:50% !important}.h-75{height:75% !important}.h-100{height:100% !important}.h-auto{height:auto !important}.mw-100{max-width:100% !important}.mh-100{max-height:100% !important}.min-vw-100{min-width:100vw !important}.min-vh-100{min-height:100vh !important}.vw-100{width:100vw !important}.vh-100{height:100vh !important}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:auto;content:\"\";background-color:rgba(0,0,0,0)}.m-0{margin:0 !important}.mt-0,.my-0{margin-top:0 !important}.mr-0,.mx-0{margin-right:0 !important}.mb-0,.rdt .rdtPicker table,.my-0{margin-bottom:0 !important}.ml-0,.mx-0{margin-left:0 !important}.m-1{margin:.25rem !important}.mt-1,.my-1{margin-top:.25rem !important}.mr-1,.mx-1{margin-right:.25rem !important}.mb-1,.my-1{margin-bottom:.25rem !important}.ml-1,.mx-1{margin-left:.25rem !important}.m-2{margin:.5rem !important}.mt-2,.my-2{margin-top:.5rem !important}.mr-2,.mx-2{margin-right:.5rem !important}.mb-2,.my-2{margin-bottom:.5rem !important}.ml-2,.mx-2{margin-left:.5rem !important}.m-3{margin:1rem !important}.mt-3,.my-3{margin-top:1rem !important}.mr-3,.mx-3{margin-right:1rem !important}.mb-3,.my-3{margin-bottom:1rem !important}.ml-3,.mx-3{margin-left:1rem !important}.m-4{margin:1.5rem !important}.mt-4,.my-4{margin-top:1.5rem !important}.mr-4,.mx-4{margin-right:1.5rem !important}.mb-4,.my-4{margin-bottom:1.5rem !important}.ml-4,.mx-4{margin-left:1.5rem !important}.m-5{margin:3rem !important}.mt-5,.my-5{margin-top:3rem !important}.mr-5,.mx-5{margin-right:3rem !important}.mb-5,.my-5{margin-bottom:3rem !important}.ml-5,.mx-5{margin-left:3rem !important}.p-0{padding:0 !important}.pt-0,.py-0{padding-top:0 !important}.pr-0,.px-0{padding-right:0 !important}.pb-0,.py-0{padding-bottom:0 !important}.pl-0,.px-0{padding-left:0 !important}.p-1{padding:.25rem !important}.pt-1,.py-1{padding-top:.25rem !important}.pr-1,.px-1{padding-right:.25rem !important}.pb-1,.py-1{padding-bottom:.25rem !important}.pl-1,.px-1{padding-left:.25rem !important}.p-2{padding:.5rem !important}.pt-2,.py-2{padding-top:.5rem !important}.pr-2,.px-2{padding-right:.5rem !important}.pb-2,.py-2{padding-bottom:.5rem !important}.pl-2,.px-2{padding-left:.5rem !important}.p-3{padding:1rem !important}.pt-3,.py-3{padding-top:1rem !important}.pr-3,.px-3{padding-right:1rem !important}.pb-3,.py-3{padding-bottom:1rem !important}.pl-3,.px-3{padding-left:1rem !important}.p-4{padding:1.5rem !important}.pt-4,.py-4{padding-top:1.5rem !important}.pr-4,.px-4{padding-right:1.5rem !important}.pb-4,.py-4{padding-bottom:1.5rem !important}.pl-4,.px-4{padding-left:1.5rem !important}.p-5{padding:3rem !important}.pt-5,.py-5{padding-top:3rem !important}.pr-5,.px-5{padding-right:3rem !important}.pb-5,.py-5{padding-bottom:3rem !important}.pl-5,.px-5{padding-left:3rem !important}.m-n1{margin:-.25rem !important}.mt-n1,.my-n1{margin-top:-.25rem !important}.mr-n1,.mx-n1{margin-right:-.25rem !important}.mb-n1,.my-n1{margin-bottom:-.25rem !important}.ml-n1,.mx-n1{margin-left:-.25rem !important}.m-n2{margin:-.5rem !important}.mt-n2,.my-n2{margin-top:-.5rem !important}.mr-n2,.mx-n2{margin-right:-.5rem !important}.mb-n2,.my-n2{margin-bottom:-.5rem !important}.ml-n2,.mx-n2{margin-left:-.5rem !important}.m-n3{margin:-1rem !important}.mt-n3,.my-n3{margin-top:-1rem !important}.mr-n3,.mx-n3{margin-right:-1rem !important}.mb-n3,.my-n3{margin-bottom:-1rem !important}.ml-n3,.mx-n3{margin-left:-1rem !important}.m-n4{margin:-1.5rem !important}.mt-n4,.my-n4{margin-top:-1.5rem !important}.mr-n4,.mx-n4{margin-right:-1.5rem !important}.mb-n4,.my-n4{margin-bottom:-1.5rem !important}.ml-n4,.mx-n4{margin-left:-1.5rem !important}.m-n5{margin:-3rem !important}.mt-n5,.my-n5{margin-top:-3rem !important}.mr-n5,.mx-n5{margin-right:-3rem !important}.mb-n5,.my-n5{margin-bottom:-3rem !important}.ml-n5,.mx-n5{margin-left:-3rem !important}.m-auto{margin:auto !important}.mt-auto,.my-auto{margin-top:auto !important}.mr-auto,.mx-auto{margin-right:auto !important}.mb-auto,.my-auto{margin-bottom:auto !important}.ml-auto,.mx-auto{margin-left:auto !important}@media (min-width: 576px){.m-sm-0{margin:0 !important}.mt-sm-0,.my-sm-0{margin-top:0 !important}.mr-sm-0,.mx-sm-0{margin-right:0 !important}.mb-sm-0,.my-sm-0{margin-bottom:0 !important}.ml-sm-0,.mx-sm-0{margin-left:0 !important}.m-sm-1{margin:.25rem !important}.mt-sm-1,.my-sm-1{margin-top:.25rem !important}.mr-sm-1,.mx-sm-1{margin-right:.25rem !important}.mb-sm-1,.my-sm-1{margin-bottom:.25rem !important}.ml-sm-1,.mx-sm-1{margin-left:.25rem !important}.m-sm-2{margin:.5rem !important}.mt-sm-2,.my-sm-2{margin-top:.5rem !important}.mr-sm-2,.mx-sm-2{margin-right:.5rem !important}.mb-sm-2,.my-sm-2{margin-bottom:.5rem !important}.ml-sm-2,.mx-sm-2{margin-left:.5rem !important}.m-sm-3{margin:1rem !important}.mt-sm-3,.my-sm-3{margin-top:1rem !important}.mr-sm-3,.mx-sm-3{margin-right:1rem !important}.mb-sm-3,.my-sm-3{margin-bottom:1rem !important}.ml-sm-3,.mx-sm-3{margin-left:1rem !important}.m-sm-4{margin:1.5rem !important}.mt-sm-4,.my-sm-4{margin-top:1.5rem !important}.mr-sm-4,.mx-sm-4{margin-right:1.5rem !important}.mb-sm-4,.my-sm-4{margin-bottom:1.5rem !important}.ml-sm-4,.mx-sm-4{margin-left:1.5rem !important}.m-sm-5{margin:3rem !important}.mt-sm-5,.my-sm-5{margin-top:3rem !important}.mr-sm-5,.mx-sm-5{margin-right:3rem !important}.mb-sm-5,.my-sm-5{margin-bottom:3rem !important}.ml-sm-5,.mx-sm-5{margin-left:3rem !important}.p-sm-0{padding:0 !important}.pt-sm-0,.py-sm-0{padding-top:0 !important}.pr-sm-0,.px-sm-0{padding-right:0 !important}.pb-sm-0,.py-sm-0{padding-bottom:0 !important}.pl-sm-0,.px-sm-0{padding-left:0 !important}.p-sm-1{padding:.25rem !important}.pt-sm-1,.py-sm-1{padding-top:.25rem !important}.pr-sm-1,.px-sm-1{padding-right:.25rem !important}.pb-sm-1,.py-sm-1{padding-bottom:.25rem !important}.pl-sm-1,.px-sm-1{padding-left:.25rem !important}.p-sm-2{padding:.5rem !important}.pt-sm-2,.py-sm-2{padding-top:.5rem !important}.pr-sm-2,.px-sm-2{padding-right:.5rem !important}.pb-sm-2,.py-sm-2{padding-bottom:.5rem !important}.pl-sm-2,.px-sm-2{padding-left:.5rem !important}.p-sm-3{padding:1rem !important}.pt-sm-3,.py-sm-3{padding-top:1rem !important}.pr-sm-3,.px-sm-3{padding-right:1rem !important}.pb-sm-3,.py-sm-3{padding-bottom:1rem !important}.pl-sm-3,.px-sm-3{padding-left:1rem !important}.p-sm-4{padding:1.5rem !important}.pt-sm-4,.py-sm-4{padding-top:1.5rem !important}.pr-sm-4,.px-sm-4{padding-right:1.5rem !important}.pb-sm-4,.py-sm-4{padding-bottom:1.5rem !important}.pl-sm-4,.px-sm-4{padding-left:1.5rem !important}.p-sm-5{padding:3rem !important}.pt-sm-5,.py-sm-5{padding-top:3rem !important}.pr-sm-5,.px-sm-5{padding-right:3rem !important}.pb-sm-5,.py-sm-5{padding-bottom:3rem !important}.pl-sm-5,.px-sm-5{padding-left:3rem !important}.m-sm-n1{margin:-.25rem !important}.mt-sm-n1,.my-sm-n1{margin-top:-.25rem !important}.mr-sm-n1,.mx-sm-n1{margin-right:-.25rem !important}.mb-sm-n1,.my-sm-n1{margin-bottom:-.25rem !important}.ml-sm-n1,.mx-sm-n1{margin-left:-.25rem !important}.m-sm-n2{margin:-.5rem !important}.mt-sm-n2,.my-sm-n2{margin-top:-.5rem !important}.mr-sm-n2,.mx-sm-n2{margin-right:-.5rem !important}.mb-sm-n2,.my-sm-n2{margin-bottom:-.5rem !important}.ml-sm-n2,.mx-sm-n2{margin-left:-.5rem !important}.m-sm-n3{margin:-1rem !important}.mt-sm-n3,.my-sm-n3{margin-top:-1rem !important}.mr-sm-n3,.mx-sm-n3{margin-right:-1rem !important}.mb-sm-n3,.my-sm-n3{margin-bottom:-1rem !important}.ml-sm-n3,.mx-sm-n3{margin-left:-1rem !important}.m-sm-n4{margin:-1.5rem !important}.mt-sm-n4,.my-sm-n4{margin-top:-1.5rem !important}.mr-sm-n4,.mx-sm-n4{margin-right:-1.5rem !important}.mb-sm-n4,.my-sm-n4{margin-bottom:-1.5rem !important}.ml-sm-n4,.mx-sm-n4{margin-left:-1.5rem !important}.m-sm-n5{margin:-3rem !important}.mt-sm-n5,.my-sm-n5{margin-top:-3rem !important}.mr-sm-n5,.mx-sm-n5{margin-right:-3rem !important}.mb-sm-n5,.my-sm-n5{margin-bottom:-3rem !important}.ml-sm-n5,.mx-sm-n5{margin-left:-3rem !important}.m-sm-auto{margin:auto !important}.mt-sm-auto,.my-sm-auto{margin-top:auto !important}.mr-sm-auto,.mx-sm-auto{margin-right:auto !important}.mb-sm-auto,.my-sm-auto{margin-bottom:auto !important}.ml-sm-auto,.mx-sm-auto{margin-left:auto !important}}@media (min-width: 768px){.m-md-0{margin:0 !important}.mt-md-0,.my-md-0{margin-top:0 !important}.mr-md-0,.mx-md-0{margin-right:0 !important}.mb-md-0,.my-md-0{margin-bottom:0 !important}.ml-md-0,.mx-md-0{margin-left:0 !important}.m-md-1{margin:.25rem !important}.mt-md-1,.my-md-1{margin-top:.25rem !important}.mr-md-1,.mx-md-1{margin-right:.25rem !important}.mb-md-1,.my-md-1{margin-bottom:.25rem !important}.ml-md-1,.mx-md-1{margin-left:.25rem !important}.m-md-2{margin:.5rem !important}.mt-md-2,.my-md-2{margin-top:.5rem !important}.mr-md-2,.mx-md-2{margin-right:.5rem !important}.mb-md-2,.my-md-2{margin-bottom:.5rem !important}.ml-md-2,.mx-md-2{margin-left:.5rem !important}.m-md-3{margin:1rem !important}.mt-md-3,.my-md-3{margin-top:1rem !important}.mr-md-3,.mx-md-3{margin-right:1rem !important}.mb-md-3,.my-md-3{margin-bottom:1rem !important}.ml-md-3,.mx-md-3{margin-left:1rem !important}.m-md-4{margin:1.5rem !important}.mt-md-4,.my-md-4{margin-top:1.5rem !important}.mr-md-4,.mx-md-4{margin-right:1.5rem !important}.mb-md-4,.my-md-4{margin-bottom:1.5rem !important}.ml-md-4,.mx-md-4{margin-left:1.5rem !important}.m-md-5{margin:3rem !important}.mt-md-5,.my-md-5{margin-top:3rem !important}.mr-md-5,.mx-md-5{margin-right:3rem !important}.mb-md-5,.my-md-5{margin-bottom:3rem !important}.ml-md-5,.mx-md-5{margin-left:3rem !important}.p-md-0{padding:0 !important}.pt-md-0,.py-md-0{padding-top:0 !important}.pr-md-0,.px-md-0{padding-right:0 !important}.pb-md-0,.py-md-0{padding-bottom:0 !important}.pl-md-0,.px-md-0{padding-left:0 !important}.p-md-1{padding:.25rem !important}.pt-md-1,.py-md-1{padding-top:.25rem !important}.pr-md-1,.px-md-1{padding-right:.25rem !important}.pb-md-1,.py-md-1{padding-bottom:.25rem !important}.pl-md-1,.px-md-1{padding-left:.25rem !important}.p-md-2{padding:.5rem !important}.pt-md-2,.py-md-2{padding-top:.5rem !important}.pr-md-2,.px-md-2{padding-right:.5rem !important}.pb-md-2,.py-md-2{padding-bottom:.5rem !important}.pl-md-2,.px-md-2{padding-left:.5rem !important}.p-md-3{padding:1rem !important}.pt-md-3,.py-md-3{padding-top:1rem !important}.pr-md-3,.px-md-3{padding-right:1rem !important}.pb-md-3,.py-md-3{padding-bottom:1rem !important}.pl-md-3,.px-md-3{padding-left:1rem !important}.p-md-4{padding:1.5rem !important}.pt-md-4,.py-md-4{padding-top:1.5rem !important}.pr-md-4,.px-md-4{padding-right:1.5rem !important}.pb-md-4,.py-md-4{padding-bottom:1.5rem !important}.pl-md-4,.px-md-4{padding-left:1.5rem !important}.p-md-5{padding:3rem !important}.pt-md-5,.py-md-5{padding-top:3rem !important}.pr-md-5,.px-md-5{padding-right:3rem !important}.pb-md-5,.py-md-5{padding-bottom:3rem !important}.pl-md-5,.px-md-5{padding-left:3rem !important}.m-md-n1{margin:-.25rem !important}.mt-md-n1,.my-md-n1{margin-top:-.25rem !important}.mr-md-n1,.mx-md-n1{margin-right:-.25rem !important}.mb-md-n1,.my-md-n1{margin-bottom:-.25rem !important}.ml-md-n1,.mx-md-n1{margin-left:-.25rem !important}.m-md-n2{margin:-.5rem !important}.mt-md-n2,.my-md-n2{margin-top:-.5rem !important}.mr-md-n2,.mx-md-n2{margin-right:-.5rem !important}.mb-md-n2,.my-md-n2{margin-bottom:-.5rem !important}.ml-md-n2,.mx-md-n2{margin-left:-.5rem !important}.m-md-n3{margin:-1rem !important}.mt-md-n3,.my-md-n3{margin-top:-1rem !important}.mr-md-n3,.mx-md-n3{margin-right:-1rem !important}.mb-md-n3,.my-md-n3{margin-bottom:-1rem !important}.ml-md-n3,.mx-md-n3{margin-left:-1rem !important}.m-md-n4{margin:-1.5rem !important}.mt-md-n4,.my-md-n4{margin-top:-1.5rem !important}.mr-md-n4,.mx-md-n4{margin-right:-1.5rem !important}.mb-md-n4,.my-md-n4{margin-bottom:-1.5rem !important}.ml-md-n4,.mx-md-n4{margin-left:-1.5rem !important}.m-md-n5{margin:-3rem !important}.mt-md-n5,.my-md-n5{margin-top:-3rem !important}.mr-md-n5,.mx-md-n5{margin-right:-3rem !important}.mb-md-n5,.my-md-n5{margin-bottom:-3rem !important}.ml-md-n5,.mx-md-n5{margin-left:-3rem !important}.m-md-auto{margin:auto !important}.mt-md-auto,.my-md-auto{margin-top:auto !important}.mr-md-auto,.mx-md-auto{margin-right:auto !important}.mb-md-auto,.my-md-auto{margin-bottom:auto !important}.ml-md-auto,.mx-md-auto{margin-left:auto !important}}@media (min-width: 992px){.m-lg-0{margin:0 !important}.mt-lg-0,.my-lg-0{margin-top:0 !important}.mr-lg-0,.mx-lg-0{margin-right:0 !important}.mb-lg-0,.my-lg-0{margin-bottom:0 !important}.ml-lg-0,.mx-lg-0{margin-left:0 !important}.m-lg-1{margin:.25rem !important}.mt-lg-1,.my-lg-1{margin-top:.25rem !important}.mr-lg-1,.mx-lg-1{margin-right:.25rem !important}.mb-lg-1,.my-lg-1{margin-bottom:.25rem !important}.ml-lg-1,.mx-lg-1{margin-left:.25rem !important}.m-lg-2{margin:.5rem !important}.mt-lg-2,.my-lg-2{margin-top:.5rem !important}.mr-lg-2,.mx-lg-2{margin-right:.5rem !important}.mb-lg-2,.my-lg-2{margin-bottom:.5rem !important}.ml-lg-2,.mx-lg-2{margin-left:.5rem !important}.m-lg-3{margin:1rem !important}.mt-lg-3,.my-lg-3{margin-top:1rem !important}.mr-lg-3,.mx-lg-3{margin-right:1rem !important}.mb-lg-3,.my-lg-3{margin-bottom:1rem !important}.ml-lg-3,.mx-lg-3{margin-left:1rem !important}.m-lg-4{margin:1.5rem !important}.mt-lg-4,.my-lg-4{margin-top:1.5rem !important}.mr-lg-4,.mx-lg-4{margin-right:1.5rem !important}.mb-lg-4,.my-lg-4{margin-bottom:1.5rem !important}.ml-lg-4,.mx-lg-4{margin-left:1.5rem !important}.m-lg-5{margin:3rem !important}.mt-lg-5,.my-lg-5{margin-top:3rem !important}.mr-lg-5,.mx-lg-5{margin-right:3rem !important}.mb-lg-5,.my-lg-5{margin-bottom:3rem !important}.ml-lg-5,.mx-lg-5{margin-left:3rem !important}.p-lg-0{padding:0 !important}.pt-lg-0,.py-lg-0{padding-top:0 !important}.pr-lg-0,.px-lg-0{padding-right:0 !important}.pb-lg-0,.py-lg-0{padding-bottom:0 !important}.pl-lg-0,.px-lg-0{padding-left:0 !important}.p-lg-1{padding:.25rem !important}.pt-lg-1,.py-lg-1{padding-top:.25rem !important}.pr-lg-1,.px-lg-1{padding-right:.25rem !important}.pb-lg-1,.py-lg-1{padding-bottom:.25rem !important}.pl-lg-1,.px-lg-1{padding-left:.25rem !important}.p-lg-2{padding:.5rem !important}.pt-lg-2,.py-lg-2{padding-top:.5rem !important}.pr-lg-2,.px-lg-2{padding-right:.5rem !important}.pb-lg-2,.py-lg-2{padding-bottom:.5rem !important}.pl-lg-2,.px-lg-2{padding-left:.5rem !important}.p-lg-3{padding:1rem !important}.pt-lg-3,.py-lg-3{padding-top:1rem !important}.pr-lg-3,.px-lg-3{padding-right:1rem !important}.pb-lg-3,.py-lg-3{padding-bottom:1rem !important}.pl-lg-3,.px-lg-3{padding-left:1rem !important}.p-lg-4{padding:1.5rem !important}.pt-lg-4,.py-lg-4{padding-top:1.5rem !important}.pr-lg-4,.px-lg-4{padding-right:1.5rem !important}.pb-lg-4,.py-lg-4{padding-bottom:1.5rem !important}.pl-lg-4,.px-lg-4{padding-left:1.5rem !important}.p-lg-5{padding:3rem !important}.pt-lg-5,.py-lg-5{padding-top:3rem !important}.pr-lg-5,.px-lg-5{padding-right:3rem !important}.pb-lg-5,.py-lg-5{padding-bottom:3rem !important}.pl-lg-5,.px-lg-5{padding-left:3rem !important}.m-lg-n1{margin:-.25rem !important}.mt-lg-n1,.my-lg-n1{margin-top:-.25rem !important}.mr-lg-n1,.mx-lg-n1{margin-right:-.25rem !important}.mb-lg-n1,.my-lg-n1{margin-bottom:-.25rem !important}.ml-lg-n1,.mx-lg-n1{margin-left:-.25rem !important}.m-lg-n2{margin:-.5rem !important}.mt-lg-n2,.my-lg-n2{margin-top:-.5rem !important}.mr-lg-n2,.mx-lg-n2{margin-right:-.5rem !important}.mb-lg-n2,.my-lg-n2{margin-bottom:-.5rem !important}.ml-lg-n2,.mx-lg-n2{margin-left:-.5rem !important}.m-lg-n3{margin:-1rem !important}.mt-lg-n3,.my-lg-n3{margin-top:-1rem !important}.mr-lg-n3,.mx-lg-n3{margin-right:-1rem !important}.mb-lg-n3,.my-lg-n3{margin-bottom:-1rem !important}.ml-lg-n3,.mx-lg-n3{margin-left:-1rem !important}.m-lg-n4{margin:-1.5rem !important}.mt-lg-n4,.my-lg-n4{margin-top:-1.5rem !important}.mr-lg-n4,.mx-lg-n4{margin-right:-1.5rem !important}.mb-lg-n4,.my-lg-n4{margin-bottom:-1.5rem !important}.ml-lg-n4,.mx-lg-n4{margin-left:-1.5rem !important}.m-lg-n5{margin:-3rem !important}.mt-lg-n5,.my-lg-n5{margin-top:-3rem !important}.mr-lg-n5,.mx-lg-n5{margin-right:-3rem !important}.mb-lg-n5,.my-lg-n5{margin-bottom:-3rem !important}.ml-lg-n5,.mx-lg-n5{margin-left:-3rem !important}.m-lg-auto{margin:auto !important}.mt-lg-auto,.my-lg-auto{margin-top:auto !important}.mr-lg-auto,.mx-lg-auto{margin-right:auto !important}.mb-lg-auto,.my-lg-auto{margin-bottom:auto !important}.ml-lg-auto,.mx-lg-auto{margin-left:auto !important}}@media (min-width: 1200px){.m-xl-0{margin:0 !important}.mt-xl-0,.my-xl-0{margin-top:0 !important}.mr-xl-0,.mx-xl-0{margin-right:0 !important}.mb-xl-0,.my-xl-0{margin-bottom:0 !important}.ml-xl-0,.mx-xl-0{margin-left:0 !important}.m-xl-1{margin:.25rem !important}.mt-xl-1,.my-xl-1{margin-top:.25rem !important}.mr-xl-1,.mx-xl-1{margin-right:.25rem !important}.mb-xl-1,.my-xl-1{margin-bottom:.25rem !important}.ml-xl-1,.mx-xl-1{margin-left:.25rem !important}.m-xl-2{margin:.5rem !important}.mt-xl-2,.my-xl-2{margin-top:.5rem !important}.mr-xl-2,.mx-xl-2{margin-right:.5rem !important}.mb-xl-2,.my-xl-2{margin-bottom:.5rem !important}.ml-xl-2,.mx-xl-2{margin-left:.5rem !important}.m-xl-3{margin:1rem !important}.mt-xl-3,.my-xl-3{margin-top:1rem !important}.mr-xl-3,.mx-xl-3{margin-right:1rem !important}.mb-xl-3,.my-xl-3{margin-bottom:1rem !important}.ml-xl-3,.mx-xl-3{margin-left:1rem !important}.m-xl-4{margin:1.5rem !important}.mt-xl-4,.my-xl-4{margin-top:1.5rem !important}.mr-xl-4,.mx-xl-4{margin-right:1.5rem !important}.mb-xl-4,.my-xl-4{margin-bottom:1.5rem !important}.ml-xl-4,.mx-xl-4{margin-left:1.5rem !important}.m-xl-5{margin:3rem !important}.mt-xl-5,.my-xl-5{margin-top:3rem !important}.mr-xl-5,.mx-xl-5{margin-right:3rem !important}.mb-xl-5,.my-xl-5{margin-bottom:3rem !important}.ml-xl-5,.mx-xl-5{margin-left:3rem !important}.p-xl-0{padding:0 !important}.pt-xl-0,.py-xl-0{padding-top:0 !important}.pr-xl-0,.px-xl-0{padding-right:0 !important}.pb-xl-0,.py-xl-0{padding-bottom:0 !important}.pl-xl-0,.px-xl-0{padding-left:0 !important}.p-xl-1{padding:.25rem !important}.pt-xl-1,.py-xl-1{padding-top:.25rem !important}.pr-xl-1,.px-xl-1{padding-right:.25rem !important}.pb-xl-1,.py-xl-1{padding-bottom:.25rem !important}.pl-xl-1,.px-xl-1{padding-left:.25rem !important}.p-xl-2{padding:.5rem !important}.pt-xl-2,.py-xl-2{padding-top:.5rem !important}.pr-xl-2,.px-xl-2{padding-right:.5rem !important}.pb-xl-2,.py-xl-2{padding-bottom:.5rem !important}.pl-xl-2,.px-xl-2{padding-left:.5rem !important}.p-xl-3{padding:1rem !important}.pt-xl-3,.py-xl-3{padding-top:1rem !important}.pr-xl-3,.px-xl-3{padding-right:1rem !important}.pb-xl-3,.py-xl-3{padding-bottom:1rem !important}.pl-xl-3,.px-xl-3{padding-left:1rem !important}.p-xl-4{padding:1.5rem !important}.pt-xl-4,.py-xl-4{padding-top:1.5rem !important}.pr-xl-4,.px-xl-4{padding-right:1.5rem !important}.pb-xl-4,.py-xl-4{padding-bottom:1.5rem !important}.pl-xl-4,.px-xl-4{padding-left:1.5rem !important}.p-xl-5{padding:3rem !important}.pt-xl-5,.py-xl-5{padding-top:3rem !important}.pr-xl-5,.px-xl-5{padding-right:3rem !important}.pb-xl-5,.py-xl-5{padding-bottom:3rem !important}.pl-xl-5,.px-xl-5{padding-left:3rem !important}.m-xl-n1{margin:-.25rem !important}.mt-xl-n1,.my-xl-n1{margin-top:-.25rem !important}.mr-xl-n1,.mx-xl-n1{margin-right:-.25rem !important}.mb-xl-n1,.my-xl-n1{margin-bottom:-.25rem !important}.ml-xl-n1,.mx-xl-n1{margin-left:-.25rem !important}.m-xl-n2{margin:-.5rem !important}.mt-xl-n2,.my-xl-n2{margin-top:-.5rem !important}.mr-xl-n2,.mx-xl-n2{margin-right:-.5rem !important}.mb-xl-n2,.my-xl-n2{margin-bottom:-.5rem !important}.ml-xl-n2,.mx-xl-n2{margin-left:-.5rem !important}.m-xl-n3{margin:-1rem !important}.mt-xl-n3,.my-xl-n3{margin-top:-1rem !important}.mr-xl-n3,.mx-xl-n3{margin-right:-1rem !important}.mb-xl-n3,.my-xl-n3{margin-bottom:-1rem !important}.ml-xl-n3,.mx-xl-n3{margin-left:-1rem !important}.m-xl-n4{margin:-1.5rem !important}.mt-xl-n4,.my-xl-n4{margin-top:-1.5rem !important}.mr-xl-n4,.mx-xl-n4{margin-right:-1.5rem !important}.mb-xl-n4,.my-xl-n4{margin-bottom:-1.5rem !important}.ml-xl-n4,.mx-xl-n4{margin-left:-1.5rem !important}.m-xl-n5{margin:-3rem !important}.mt-xl-n5,.my-xl-n5{margin-top:-3rem !important}.mr-xl-n5,.mx-xl-n5{margin-right:-3rem !important}.mb-xl-n5,.my-xl-n5{margin-bottom:-3rem !important}.ml-xl-n5,.mx-xl-n5{margin-left:-3rem !important}.m-xl-auto{margin:auto !important}.mt-xl-auto,.my-xl-auto{margin-top:auto !important}.mr-xl-auto,.mx-xl-auto{margin-right:auto !important}.mb-xl-auto,.my-xl-auto{margin-bottom:auto !important}.ml-xl-auto,.mx-xl-auto{margin-left:auto !important}}.text-monospace{font-family:SFMono-Regular,Menlo,Monaco,Consolas,\"Liberation Mono\",\"Courier New\",monospace !important}.text-justify{text-align:justify !important}.text-wrap{white-space:normal !important}.text-nowrap{white-space:nowrap !important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-left{text-align:left !important}.text-right{text-align:right !important}.text-center,.img-upload .img-upload-wrapper{text-align:center !important}@media (min-width: 576px){.text-sm-left{text-align:left !important}.text-sm-right{text-align:right !important}.text-sm-center{text-align:center !important}}@media (min-width: 768px){.text-md-left{text-align:left !important}.text-md-right{text-align:right !important}.text-md-center{text-align:center !important}}@media (min-width: 992px){.text-lg-left{text-align:left !important}.text-lg-right{text-align:right !important}.text-lg-center{text-align:center !important}}@media (min-width: 1200px){.text-xl-left{text-align:left !important}.text-xl-right{text-align:right !important}.text-xl-center{text-align:center !important}}.text-lowercase{text-transform:lowercase !important}.text-uppercase{text-transform:uppercase !important}.text-capitalize{text-transform:capitalize !important}.font-weight-light{font-weight:300 !important}.font-weight-lighter{font-weight:lighter !important}.font-weight-normal{font-weight:400 !important}.font-weight-bold{font-weight:700 !important}.font-weight-bolder{font-weight:bolder !important}.font-italic{font-style:italic !important}.text-white{color:#fff !important}.text-primary{color:#2cabe3 !important}a.text-primary:hover,a.text-primary:focus{color:#177eac !important}.text-secondary{color:#868e96 !important}a.text-secondary:hover,a.text-secondary:focus{color:#60686f !important}.text-success{color:#5fdc9f !important}a.text-success:hover,a.text-success:focus{color:#2bc479 !important}.text-info{color:#17a2b8 !important}a.text-info:hover,a.text-info:focus{color:#0f6674 !important}.text-warning{color:#ffd500 !important}a.text-warning:hover,a.text-warning:focus{color:#b39500 !important}.text-danger{color:#d9534f !important}a.text-danger:hover,a.text-danger:focus{color:#b52b27 !important}.text-light{color:#e9ecef !important}a.text-light:hover,a.text-light:focus{color:#bdc6cf !important}.text-dark{color:#343a40 !important}a.text-dark:hover,a.text-dark:focus{color:#121416 !important}.text-#fff{color:#fff !important}a.text-#fff:hover,a.text-#fff:focus{color:#d9d9d9 !important}.text-body{color:#212529 !important}.text-muted{color:#868e96 !important}.text-black-50{color:rgba(0,0,0,0.5) !important}.text-white-50{color:rgba(255,255,255,0.5) !important}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.text-decoration-none{text-decoration:none !important}.text-break{word-break:break-word !important;overflow-wrap:break-word !important}.text-reset{color:inherit !important}.visible{visibility:visible !important}.invisible{visibility:hidden !important}@media print{*,*::before,*::after{text-shadow:none !important;box-shadow:none !important}a:not(.btn){text-decoration:underline}abbr[title]::after{content:\" (\" attr(title) \")\"}pre{white-space:pre-wrap !important}pre,blockquote{border:1px solid #adb5bd;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}@page{size:a3}body{min-width:992px !important}.container{min-width:992px !important}.navbar{display:none}.badge,.tag .token,.tag .rbt-token,.rbt .token,.rbt .rbt-token{border:1px solid #000}.table,.rdt .rdtPicker table{border-collapse:collapse !important}.table td,.rdt .rdtPicker table td,.table th,.rdt .rdtPicker table th{background-color:#fff !important}.table-bordered th,.table-bordered td{border:1px solid #dee2e6 !important}.table-dark{color:inherit}.table-dark th,.table-dark td,.table-dark thead th,.table-dark tbody+tbody{border-color:#dee2e6}.table .thead-dark th,.rdt .rdtPicker table .thead-dark th{color:inherit;border-color:#dee2e6}}@font-face{font-family:'Material Icons';font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/materialicons/v49/flUhRq6tzZclQEJ-Vdg-IuiaDsNcIhQ8tQ.woff2) format(\"woff2\")}.material-icons{font-family:'Material Icons', sans-serif;font-weight:normal;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;font-feature-settings:'liga';-webkit-font-feature-settings:'liga';-webkit-font-smoothing:antialiased;user-select:none}body button,body input,body optgroup,body select,body textarea{font-family:-apple-system,system-ui,BlinkMacSystemFont,\"Segoe UI\",Roboto,\"Helvetica Neue\",Arial,sans-serif}table>thead>tr>th,strong{font-weight:500}.text-strong{font-weight:500}.form-control:focus{box-shadow:none !important;border-color:#ced4da !important}.radio label,.radio-inline label,.checkbox label,.checkbox-inline label{padding-left:1.5625rem}.radio input[type='radio'],.radio input[type='checkbox'],.radio-inline input[type='radio'],.radio-inline input[type='checkbox'],.checkbox input[type='radio'],.checkbox input[type='checkbox'],.checkbox-inline input[type='radio'],.checkbox-inline input[type='checkbox']{margin-left:-1.5625rem}.form-control-label{font-size:0.8rem;color:#868e96}textarea,textarea.form-control,input.form-control,input[type='text'],input[type='password'],input[type='email'],input[type='number'],[type='text'].form-control,[type='password'].form-control,[type='email'].form-control,[type='tel'].form-control,[contenteditable].form-control{appearance:none;font-size:16px}textarea[disabled],textarea[readonly],textarea.form-control[disabled],textarea.form-control[readonly],input.form-control[disabled],input.form-control[readonly],input[type='text'][disabled],input[type='text'][readonly],input[type='password'][disabled],input[type='password'][readonly],input[type='email'][disabled],input[type='email'][readonly],input[type='number'][disabled],input[type='number'][readonly],[type='text'].form-control[disabled],[type='text'].form-control[readonly],[type='password'].form-control[disabled],[type='password'].form-control[readonly],[type='email'].form-control[disabled],[type='email'].form-control[readonly],[type='tel'].form-control[disabled],[type='tel'].form-control[readonly],[contenteditable].form-control[disabled],[contenteditable].form-control[readonly]{border-bottom:1px dotted #ddd}textarea.input-sm,textarea.form-control.input-sm,input.form-control.input-sm,input[type='text'].input-sm,input[type='password'].input-sm,input[type='email'].input-sm,input[type='number'].input-sm,[type='text'].form-control.input-sm,[type='password'].form-control.input-sm,[type='email'].form-control.input-sm,[type='tel'].form-control.input-sm,[contenteditable].form-control.input-sm{font-size:.875rem}textarea.input-lg,textarea.form-control.input-lg,input.form-control.input-lg,input[type='text'].input-lg,input[type='password'].input-lg,input[type='email'].input-lg,input[type='number'].input-lg,[type='text'].form-control.input-lg,[type='password'].form-control.input-lg,[type='email'].form-control.input-lg,[type='tel'].form-control.input-lg,[contenteditable].form-control.input-lg{font-size:1.25rem}select,select.form-control{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAMAAACelLz8AAAAJ1BMVEVmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmaP/QSjAAAADHRSTlMAAgMJC0uWpKa6wMxMdjkoAAAANUlEQVR4AeXJyQEAERAAsNl7Hf3X6xt0QL6JpZWq30pdvdadme+0PMdzvHm8YThHcT1H7K0BtOMDniZhWOgAAAAASUVORK5CYII=);background-size:calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);background-repeat:no-repeat;background-position:right calc(0.375em + 0.1875rem) center;font-size:16px;line-height:1.5}select::-ms-expand,select.form-control::-ms-expand{display:none}select.input-sm,select.form-control.input-sm{font-size:.875rem}select.input-lg,select.form-control.input-lg{font-size:1.25rem}select:focus,select.form-control:focus{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAMAAACelLz8AAAAJ1BMVEVmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmaP/QSjAAAADHRSTlMAAgMJC0uWpKa6wMxMdjkoAAAANUlEQVR4AeXJyQEAERAAsNl7Hf3X6xt0QL6JpZWq30pdvdadme+0PMdzvHm8YThHcT1H7K0BtOMDniZhWOgAAAAASUVORK5CYII=)}select[disabled],select[readonly],select.form-control[disabled],select.form-control[readonly]{border-bottom:1px dotted #ddd}select[disabled],select[disabled] option,select[readonly],select[readonly] option,select.form-control[disabled],select.form-control[disabled] option,select.form-control[readonly],select.form-control[readonly] option{color:#adb5bd}select[multiple],select.form-control[multiple]{background:none}select.is-valid,select.form-control.is-valid{border-bottom:2px solid #5fdc9f;box-shadow:none !important;outline:none}select.showing-placeholder{color:#adb5bd}.input-group-append .btn>i.material-icons,.input-group-prepend .btn>i.material-icons{border:0;background:none;color:#fff;padding:0}.dropdown .dropdown-menu,.dropdown .rdt .rdtPicker,.rdt .dropdown .rdtPicker,.dropdown .rdtPicker,.rdt .dropdown-menu,.rdt .rdtPicker,.rdt .rdtPicker{display:block;opacity:0;visibility:hidden;margin-top:0.625rem}.dropdown.show .dropdown-menu,.dropdown.show .rdt .rdtPicker,.rdt .dropdown.show .rdtPicker,.dropdown.show .rdtPicker,.dropdown.rdtOpen .dropdown-menu,.dropdown.rdtOpen .rdt .rdtPicker,.rdt .dropdown.rdtOpen .rdtPicker,.dropdown.rdtOpen .rdtPicker,.rdt.show .dropdown-menu,.rdt.show .rdtPicker,.rdt.show .rdtPicker,.rdt.rdtOpen .dropdown-menu,.rdt.rdtOpen .rdtPicker,.rdt.rdtOpen .rdtPicker{opacity:1;visibility:visible;margin-top:0}.dropdown .avatar,.rdt .avatar{position:relative;top:-2px;margin-right:5px}.dropdown .material-icons,.rdt .material-icons{margin-right:5px}.dropdown .nav-link,.rdt .nav-link{display:flex;height:44px;align-items:center}.dropdown-toggle.d-flex ::after{align-self:center}.avatar .img-placeholder{width:1.875rem;height:1.875rem;overflow:hidden;border-radius:50%;margin-right:5px;vertical-align:middle;display:inline-block;background:#e9ecef;line-height:1}.avatar img{width:100%;height:100%}.avatar.avatar-xs .img-placeholder{width:1.25rem;height:1.25rem}.avatar.avatar-sm .img-placeholder{width:3.125rem;height:3.125rem}.avatar.avatar-md .img-placeholder{width:4.375rem;height:4.375rem}.avatar.avatar-lg .img-placeholder{width:5.625rem;height:5.625rem}.avatar-stack>.avatar{position:relative;display:inline-block;margin-right:-1.25rem;transition:margin-left 0.25s ease,margin-right 0.25s ease}.avatar-stack>.avatar .img-placeholder{margin-right:0}.avatar-stack>.avatar:hover{margin-right:0}@media (prefers-reduced-motion: reduce){.avatar-stack>.avatar{transition:none}}.avatar-stack>.avatar.avatar-xs,.avatar-stack>.avatar.avatar-sm,.avatar-stack>.avatar.avatar-md,.avatar-stack>.avatar.avatar-lg{transition:margin-left 0.25s ease,margin-right 0.25s ease}.avatar-stack>.avatar.avatar-xs:hover,.avatar-stack>.avatar.avatar-sm:hover,.avatar-stack>.avatar.avatar-md:hover,.avatar-stack>.avatar.avatar-lg:hover{margin-right:0}@media (prefers-reduced-motion: reduce){.avatar-stack>.avatar.avatar-xs,.avatar-stack>.avatar.avatar-sm,.avatar-stack>.avatar.avatar-md,.avatar-stack>.avatar.avatar-lg{transition:none}}.avatar-stack>.avatar.avatar-xs{margin-right:-0.625rem}.avatar-stack>.avatar.avatar-sm{margin-right:-2.5rem}.avatar-stack>.avatar.avatar-md{margin-right:-3.75rem}.avatar-stack>.avatar.avatar-lg{margin-right:-80px}.button .btn{font-size:0.9rem;position:relative;overflow:hidden}.button .btn.btn-primary:hover,.button .btn.btn-primary:active:hover{background-color:#1c9cd4}.button .btn.btn-secondary:hover,.button .btn.btn-secondary:active:hover{background-color:#767f88}.button .btn.btn-success:hover,.button .btn.btn-success:active:hover{background-color:#46d790}.button .btn.btn-info:hover,.button .btn.btn-info:active:hover{background-color:#148a9d}.button .btn.btn-warning:hover,.button .btn.btn-warning:active:hover{background-color:#e0bb00}.button .btn.btn-danger:hover,.button .btn.btn-danger:active:hover{background-color:#d43a36}.button .btn.btn-light:hover,.button .btn.btn-light:active:hover{background-color:#d7dde2}.button .btn.btn-dark:hover,.button .btn.btn-dark:active:hover{background-color:#262b2f}.button .btn.btn-white:hover,.button .btn.btn-white:active:hover{background-color:#f0f0f0}.button .btn .material-icons{vertical-align:middle;font-size:1rem;margin-bottom:2px;margin-right:5px}.button .btn .material-icons-right{float:right;margin-top:3px;margin-right:0;margin-left:5px}.button .btn .spinner{position:relative;top:-2px;left:-5px;margin-left:5px}.button.primary .spinner{stroke:#2cabe3}.button.secondary .spinner{stroke:#868e96}.button.success .spinner{stroke:#5fdc9f}.button.info .spinner{stroke:#17a2b8}.button.warning .spinner{stroke:#ffd500}.button.danger .spinner{stroke:#d9534f}.button.light .spinner{stroke:#e9ecef}.button.dark .spinner{stroke:#343a40}.button.white .spinner{stroke:#fff}.content-state{display:flex;flex-direction:column;align-content:center;justify-content:center;position:relative;height:10rem}.content-state .state-icons{display:flex;flex-direction:row;align-content:center;justify-content:center;height:3rem}.content-state .state-icons>i{opacity:0.6;color:#2cabe3}.content-state .state-icons>i:nth-of-type(1){transform:rotate(55deg) translate(10px, 30px);font-size:1.6em}.content-state .state-icons>i:nth-of-type(2){transform:translate(-20px, 70px);font-size:0.6em}.content-state .state-icons>i:nth-of-type(3){transform:rotate(-30deg) translate(-10px, 0px)}.content-state .state-icons>i:nth-of-type(4){transform:rotate(10deg) translate(10px, -5px);font-size:2.4em}.content-state .state-icons>i:nth-of-type(5){transform:translate(-15px, 35px);font-size:0.4em}.content-state .state-icons>i:nth-of-type(6){transform:rotate(-15deg) translate(-5px, 45px);font-size:0.8em}.content-state .state-content i{position:relative;-webkit-font-smoothing:antialiased;font-size:5rem;color:#868e96}.flash-message{position:relative;margin-top:1rem}.flash-message .close{position:relative;left:74px;top:-13px;cursor:pointer}.flash-message .close:focus{outline:0}.flash-message .alert.alert-primary{background:#2cabe3;border-color:#2cabe3;color:#e0f3fb}.flash-message .alert.alert-secondary{background:#868e96;border-color:#868e96;color:#f3f4f5}.flash-message .alert.alert-success{background:#5fdc9f;border-color:#5fdc9f;color:#145b38}.flash-message .alert.alert-info{background:#17a2b8;border-color:#17a2b8;color:#a7e9f4}.flash-message .alert.alert-warning{background:#ffd500;border-color:#ffd500;color:#332b00}.flash-message .alert.alert-danger{background:#d9534f;border-color:#d9534f;color:#fdf7f7}.flash-message .alert.alert-light{background:#e9ecef;border-color:#e9ecef;color:#738699}.flash-message .alert.alert-dark{background:#343a40;border-color:#343a40;color:#96a0aa}.flash-message .alert.alert-white{background:#fff;border-color:#fff;color:#999}.icon--disabled{opacity:0.65}.info-badge-container{position:relative;display:inline-block}.info-badge-container>.badge,.tag .info-badge-container>.token,.tag .info-badge-container>.rbt-token,.rbt .info-badge-container>.token,.rbt .info-badge-container>.rbt-token{position:absolute;top:-12px;right:-12px}.d-flex .badge,.d-flex .tag .token,.tag .d-flex .token,.d-flex .tag .rbt-token,.tag .d-flex .rbt-token,.d-flex .rbt .token,.rbt .d-flex .token,.d-flex .rbt .rbt-token,.rbt .d-flex .rbt-token{align-self:center}.loading-page{margin:0;padding:0;background-color:#f4f6f8}.more-or-less{display:inline}.more-or-less .more-or-less-link{font-size:12px;display:inline;cursor:pointer;text-decoration:underline !important}.navigation-item{list-style:none}.pagination{margin-bottom:0}.pagination .page-item button.disabled.page-link{border-radius:0;background-color:#fff;color:#212529}.pagination .page-item.active .page-link{overflow:hidden}.progress-stepper{display:table;width:100%;margin:0 auto}.progress-stepper .step{display:table-cell;position:relative;padding:24px}.progress-stepper .step:first-child .step-bar-left,.progress-stepper .step:last-child .step-bar-right{display:none}.progress-stepper .step.clickable{cursor:pointer}.progress-stepper .step.primary .step-circle{background-color:#2cabe3}.progress-stepper .step.primary .step-title{font-weight:600;color:#2cabe3}.progress-stepper .step.secondary .step-circle{background-color:#868e96}.progress-stepper .step.secondary .step-title{font-weight:600;color:#868e96}.progress-stepper .step.success .step-circle{background-color:#5fdc9f}.progress-stepper .step.success .step-circle:before{content:\"✓\"}.progress-stepper .step.success .step-circle *{display:none}.progress-stepper .step.success .step-title{font-weight:600;color:#5fdc9f}.progress-stepper .step.info .step-circle{background-color:#17a2b8}.progress-stepper .step.info .step-circle:before{content:\"?\"}.progress-stepper .step.info .step-circle *{display:none}.progress-stepper .step.info .step-title{font-weight:600;color:#17a2b8}.progress-stepper .step.warning .step-circle{background-color:#ffd500}.progress-stepper .step.warning .step-circle:before{content:\"!\"}.progress-stepper .step.warning .step-circle *{display:none}.progress-stepper .step.warning .step-title{font-weight:600;color:#ffd500}.progress-stepper .step.danger .step-circle{background-color:#d9534f}.progress-stepper .step.danger .step-circle:before{content:\"!\"}.progress-stepper .step.danger .step-circle *{display:none}.progress-stepper .step.danger .step-title{font-weight:600;color:#d9534f}.progress-stepper .step.light .step-circle{background-color:#e9ecef}.progress-stepper .step.light .step-title{font-weight:600;color:#e9ecef}.progress-stepper .step.dark .step-circle{background-color:#343a40}.progress-stepper .step.dark .step-title{font-weight:600;color:#343a40}.progress-stepper .step.white .step-circle{background-color:#fff}.progress-stepper .step.white .step-title{font-weight:600;color:#fff}.progress-stepper .step .step-circle{width:40px;height:40px;margin:0 auto;background-color:#212529;border-radius:50%;text-align:center;line-height:40px;font-size:16px;font-weight:600;color:#fff}.progress-stepper .step .step-title{margin-top:8px;font-size:16px;font-weight:600;text-align:center;color:#212529}.progress-stepper .step .step-bar-left,.progress-stepper .step .step-bar-right{position:absolute;top:42px;height:1px;border-top:1px solid #212529}.progress-stepper .step .step-bar-right{right:0;left:50%;margin-left:28px}.progress-stepper .step .step-bar-left{left:0;right:50%;margin-right:28px}.spinner{animation:rotate 2s linear infinite}@keyframes rotate{100%{transform:rotate(360deg)}}.spinner .path{transform-origin:center;stroke-dasharray:1, 200;stroke-dashoffset:0;animation:dash 1.5s ease-in-out infinite;stroke-linecap:round}@keyframes dash{0%{stroke-dasharray:1, 200;stroke-dashoffset:0}50%{stroke-dasharray:89, 200;stroke-dashoffset:-35}100%{stroke-dasharray:89, 200;stroke-dashoffset:-124}}.tag .token,.tag .rbt-token,.rbt .token,.rbt .rbt-token{display:inline-block;margin-right:0.1875rem;height:18px;cursor:default}.tag .rbt-token,.rbt .rbt-token{margin-top:4px;padding-right:17px}.tag .rbt-token-remove-button,.rbt .rbt-token-remove-button{top:0 !important;font-weight:500 !important;cursor:pointer}.tag .bootstrap-tokenizer,.rbt .bootstrap-tokenizer{border:none}.tag .bootstrap-tokenizer-input,.rbt .bootstrap-tokenizer-input{display:inline-block}.tag .close-button,.rbt .close-button{margin-left:0.1875rem}.token.token-info{background-color:#5bc0de !important}.token.token-success{background-color:#5fdc9f !important}.token.token-warning{background-color:#f0ad4e !important}.token.token-danger{background-color:#d9534f !important}.token .close-button{cursor:pointer}.tippy-popover.tippy-box{color:#212529;background-color:#fff}.tippy-popover.tippy-box .tippy-content{padding:0}.tippy-popover.tippy-box .tippy-arrow{color:rgba(0,0,0,0.2) !important}.img-upload{position:relative}.img-upload:hover .img-upload-wrapper{background:#dadfe4;cursor:pointer}.img-upload.form-group input[type='file']{opacity:0;position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:100}.img-upload.form-group input[type='file']:hover{cursor:pointer}.img-upload .img-upload-wrapper{padding-top:3rem;padding-bottom:3rem;border:0.625rem dashed #cbd3da}.img-upload .img-upload-wrapper>i{font-size:5rem}.date-range-picker .date-time-input{margin-bottom:0}.date-time-input-format{font-size:0.7em;font-style:italic}.date-time-input.with-modal>.rdt .input-group-append .material-icons{margin-right:0}.date-time-input.with-modal>.rdt>.rdtPicker{display:none}.date-time-modal .rdt .rdtPicker{border:none;float:none;position:relative}.rdt{position:relative}.rdt.rdtOpen .rdtPicker{display:block}.rdt.rdtOpen td.rdtDay.rdtDisabled:hover{cursor:not-allowed;background:none}.rdt.rdtOpen button,.rdt.rdtOpen td,.rdt.rdtOpen td.rdtDay:hover,.rdt.rdtOpen td.rdtHour:hover,.rdt.rdtOpen td.rdtMinute:hover,.rdt.rdtOpen td.rdtSecond:hover,.rdt.rdtOpen .rdtTimeToggle:hover{cursor:pointer}.rdt.rdtOpen .rdtSwitch:hover,.rdt.rdtOpen .rdtPrev:hover,.rdt.rdtOpen .rdtNext:hover{background:#e9ecef}.rdt.rdtOpen .rdtCounters{display:inline-block}.rdt.rdtOpen .rdtCounters .rdtCounter{width:2.5rem}.rdt.rdtOpen .rdtCounters>div{float:left}.rdt .rdtPicker{width:271px;padding:0;margin-top:5px}.rdt .rdtPicker table{border-spacing:5px;border-collapse:separate}.rdt .rdtPicker table thead>tr>th,.rdt .rdtPicker table tbody>tr>td,.rdt .rdtPicker table tfoot>tr>td{text-align:center;font-size:0.85rem;padding:0.25rem}.rdt .rdtPicker table thead>tr>th{border:none;font-weight:400}.rdt .rdtPicker table thead>tr>th.dow{text-transform:uppercase}.rdt .rdtPicker table thead::after{content:'';position:absolute;border-bottom:1px solid #e9ecef;width:100%;left:0}.rdt .rdtPicker table tbody>tr>td{border:0;padding:0;vertical-align:middle;font-weight:300;color:#868e96}.rdt .rdtPicker table tbody>tr>td.rdtOld,.rdt .rdtPicker table tbody>tr>td.rdtNew{color:#e6e7e9}.rdt .rdtPicker .rdtMonths table>tbody>tr>td.rdtActive,.rdt .rdtPicker .rdtMonths table>tbody>tr>td.rdtActive:hover,.rdt .rdtPicker .rdtYears table>tbody>tr>td.rdtActive,.rdt .rdtPicker .rdtYears table>tbody>tr>td.rdtActive:hover,.rdt .rdtPicker .rdtDays table>tbody>tr>td.rdtActive,.rdt .rdtPicker .rdtDays table>tbody>tr>td.rdtActive:hover{background:#5fdc9f;color:white;font-weight:500}.rdt .rdtPicker .rdtMonths table>tbody>tr>td:hover,.rdt .rdtPicker .rdtYears table>tbody>tr>td:hover,.rdt .rdtPicker .rdtDays table>tbody>tr>td:hover{background:#e9ecef}.rdt .rdtPicker .rdtDays table>tbody>tr>td{width:33px;height:33px}.rdt .rdtPicker .rdtToday{font-weight:bold;color:#5fdc9f}.rdt .rdtPicker .rdtMonths table>tbody>tr>td,.rdt .rdtPicker .rdtYears table>tbody>tr>td{width:61px;height:61px}.rdt .rdtPicker .rdtMonths table>tbody>tr>td:hover,.rdt .rdtPicker .rdtYears table>tbody>tr>td:hover{background:#e9ecef}.file-upload{position:relative}.file-upload:hover.form-control-file{cursor:pointer}.file-upload.form-group input[type=file]{opacity:0;position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:100}.file-upload.form-group input[type=file]:hover{cursor:pointer}.invalid-feedback,.invalid-tooltip{display:block}.quill .ql-editor{min-height:132px}.quill strong{font-weight:bolder}.quill p{word-wrap:break-word;word-break:break-all}.quill.is-invalid .ql-toolbar,.quill.is-invalid .ql-container{border-color:#d9534f}.toggle-container.toggle-primary input[type='checkbox']:checked::after{left:1rem;background:#1a8fc2}.toggle-container.toggle-primary input[type='checkbox']:checked::before{background:#70c6ec}.toggle-container.toggle-secondary input[type='checkbox']:checked::after{left:1rem;background:#6c757d}.toggle-container.toggle-secondary input[type='checkbox']:checked::before{background:#afb4ba}.toggle-container.toggle-success input[type='checkbox']:checked::after{left:1rem;background:#35d386}.toggle-container.toggle-success input[type='checkbox']:checked::before{background:#9eeac5}.toggle-container.toggle-info input[type='checkbox']:checked::after{left:1rem;background:#117a8b}.toggle-container.toggle-info input[type='checkbox']:checked::before{background:#36cee6}.toggle-container.toggle-warning input[type='checkbox']:checked::after{left:1rem;background:#ca0}.toggle-container.toggle-warning input[type='checkbox']:checked::before{background:#ffe24d}.toggle-container.toggle-danger input[type='checkbox']:checked::after{left:1rem;background:#c9302c}.toggle-container.toggle-danger input[type='checkbox']:checked::before{background:#e7908e}.toggle-container.toggle-light input[type='checkbox']:checked::after{left:1rem;background:#cbd3da}.toggle-container.toggle-light input[type='checkbox']:checked::before{background:#fff}.toggle-container.toggle-dark input[type='checkbox']:checked::after{left:1rem;background:#1d2124}.toggle-container.toggle-dark input[type='checkbox']:checked::before{background:#56606a}.toggle-container.toggle-white input[type='checkbox']:checked::after{left:1rem;background:#e6e6e6}.toggle-container.toggle-white input[type='checkbox']:checked::before{background:#fff}.toggle-container input[type='checkbox']{-webkit-appearance:none;appearance:none;cursor:pointer;position:relative;display:inline-block;margin-top:6px;margin-right:4px;vertical-align:top;width:34px}.toggle-container input[type='checkbox']:focus{outline:none}.toggle-container input[type='checkbox']:checked::after{left:1rem;background:#1a8fc2}.toggle-container input[type='checkbox']:checked::before{background:#70c6ec}.toggle-container input[type='checkbox']::before,.toggle-container input[type='checkbox']::after{display:block;margin-right:4px;margin-left:0;content:'';position:absolute;left:0;transition:all 0.2s ease-in-out}@media (prefers-reduced-motion: reduce){.toggle-container input[type='checkbox']::before,.toggle-container input[type='checkbox']::after{transition:none}}.toggle-container input[type='checkbox']::after{top:-4px;border:none;width:1.25rem;height:1.25rem;border-radius:1.25rem;background:white;box-shadow:1px 1px 3px rgba(0,0,0,0.12),0 1px 2px rgba(0,0,0,0.24)}.toggle-container input[type='checkbox']::before{width:34px;height:14px;border-radius:14px;border:none;background:#cbd3da}.form-group .toggle-container{position:relative;top:-2px;left:1.25rem}.showing-placeholder .rbt-input-main::placeholder{color:#adb5bd;opacity:1}.is-invalid .rbt-input-multi{padding:0.375rem 0 0 0.75rem;border-color:#d9534f}.rbt .form-control .is-invalid{border-color:#d9534f}.color-picker .sketch-picker{box-shadow:none !important}.withjarb-tooltip .invalid-feedback{color:#fff}.withjarb-tooltip .invalid-feedback:first-child{margin-top:0}.radio-group>legend{font-size:1rem}.epic-table{background-color:#f8f9fa}.epic-table--striped .epic-table-cell--odd{background-color:rgba(206,212,218,0.3)}.epic-table-container{position:relative}.epic-table .os-host-overflow{overflow:visible !important}.epic-table .os-host .os-scrollbar-horizontal{position:sticky;top:50px}.epic-table-fixed-header{position:fixed;overflow:hidden;z-index:2;top:0}.epic-table-header{background-color:#2cabe3;color:#fff;font-weight:bold;flex-grow:1}.epic-table-header-resizeable{width:8px;height:100%;cursor:col-resize}.epic-table-header .form-control{height:calc(1.5em + 0.2rem + 2px);border-radius:0;padding:0.375rem 0.2rem}.epic-table-header select.form-control{padding:0 0.2rem}.epic-table-header .form-group{margin-bottom:0}.epic-table-cell{white-space:nowrap;overflow:hidden;display:flex;align-items:center;flex-grow:1}.epic-table-expander-row,.epic-table-detail-row{position:absolute;z-index:4}.epic-table-overlay{position:absolute;z-index:3;background-color:#fff}.user-select-none{user-select:none}.epic-table-form,.epic-table-form-cell{white-space:nowrap;overflow:hidden;display:flex;align-items:center;flex-grow:1}.epic-table-form form{display:flex}.epic-table-form .form-group{margin:0;width:100%}.epic-table-form--odd .epic-table-form-cell{background-color:rgba(206,212,218,0.3)}.epic-table-form .date-time-input .rdt{position:static}.epic-table-form .date-time-input .rdt .rdtPicker{top:unset;left:unset}.form-control.is-valid,.ReactTable .rt-thead.-filters .was-validated input:valid,.ReactTable .rt-thead.-filters .was-validated select:valid,.ReactTable .rt-thead.-filters input.is-valid,.ReactTable .rt-thead.-filters select.is-valid,.was-validated .form-control:valid,.was-validated .ReactTable .rt-thead.-filters input:valid,.was-validated .ReactTable .rt-thead.-filters select:valid{background-position:right calc(0.375em + 0.1875rem) center !important}\n",""]),module.exports=exports},2077:function(module,exports,__webpack_require__){"use strict";(function(module){var _react=__webpack_require__(14);module._StorybookPreserveDecorators=!0,(0,_react.configure)([__webpack_require__(2102)],module)}).call(this,__webpack_require__(168)(module))},21:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return t}));var _translator__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(232),__rest=function(s,e){var t={};for(var p in s)Object.prototype.hasOwnProperty.call(s,p)&&e.indexOf(p)<0&&(t[p]=s[p]);if(null!=s&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(p=Object.getOwnPropertySymbols(s);ilimit&&react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{role:"button",className:"more-or-less-link",onClick:function toggleOpen(){setIsOpen(!isOpen)}},isOpen?Object(_utilities_translation_translation__WEBPACK_IMPORTED_MODULE_3__.a)({key:"MoreOrLess.LESS",fallback:"Show less",overrideText:less}):Object(_utilities_translation_translation__WEBPACK_IMPORTED_MODULE_3__.a)({key:"MoreOrLess.MORE",fallback:`Show ${amount} more`,data:{amount:amount},overrideText:more?more(amount):void 0})))}try{MoreOrLess.displayName="MoreOrLess",MoreOrLess.__docgenInfo={description:"MoreOrLess is a component which truncates a collection of elements and shows a button to toggle this behavior.",displayName:"MoreOrLess",props:{limit:{defaultValue:null,description:"Amount of elements shown when closed (shown less).",name:"limit",required:!0,type:{name:"number"}},content:{defaultValue:null,description:"Elements to show.",name:"content",required:!0,type:{name:"any[]"}},className:{defaultValue:null,description:"Optional extra CSS class you want to add to the component.\nUseful for styling the component.",name:"className",required:!1,type:{name:"string"}},text:{defaultValue:{value:"{}"},description:"Optionally customized text within the component.\nThis text should already be translated.",name:"text",required:!1,type:{name:"Text"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/core/MoreOrLess/MoreOrLess.tsx#MoreOrLess"]={docgenInfo:MoreOrLess.__docgenInfo,name:"MoreOrLess",path:"src/core/MoreOrLess/MoreOrLess.tsx#MoreOrLess"})}catch(__react_docgen_typescript_loader_error){}},2102:function(module,exports,__webpack_require__){var map={"./core/AsyncContent/AsyncContent.stories.tsx":2103,"./core/AsyncList/AsyncList.stories.tsx":2281,"./core/AsyncPage/AsyncPage.stories.tsx":2282,"./core/Avatar/Avatar.stories.tsx":2283,"./core/Button/Button.stories.tsx":2284,"./core/ConfirmButton/ConfirmButton.stories.tsx":2285,"./core/ContentState/ContentState.stories.tsx":2286,"./core/FlashMessage/FlashMessage.stories.tsx":2287,"./core/Icon/Icon.stories.tsx":2288,"./core/InfoBadge/InfoBadge.stories.tsx":2289,"./core/Loading/Loading.stories.tsx":2290,"./core/LoadingPage/LoadingPage.stories.tsx":2291,"./core/MoreOrLess/MoreOrLess.stories.tsx":2292,"./core/NavigationItem/Navigation.stories.tsx":2293,"./core/OpenCloseModal/OpenCloseModal.stories.tsx":2294,"./core/Pager/Pager.stories.tsx":2295,"./core/Pagination/Pagination.stories.tsx":2296,"./core/Popover/Popover.stories.tsx":2297,"./core/ProgressStepper/ProgressStepper.stories.tsx":2298,"./core/ProgressStepper/ProgressStepperExample.stories.tsx":2299,"./core/SearchInput/SearchInput.stories.tsx":2300,"./core/Spinner/Spinner.stories.tsx":2301,"./core/SubmitButton/SubmitButton.stories.tsx":2302,"./core/Tag/Tag.stories.tsx":2303,"./core/TextButton/TextButton.stories.tsx":2304,"./core/Tooltip/Tooltip.stories.tsx":2305,"./form/Checkbox/Checkbox.stories.tsx":2306,"./form/CheckboxMultipleSelect/CheckboxMultipleSelect.stories.tsx":2307,"./form/ColorPicker/ColorPicker.stories.tsx":2308,"./form/DateRangePicker/DateRangePicker.stories.tsx":2309,"./form/DateTimeInput/DateTimeInput.stories.tsx":2310,"./form/FileInput/FileInput.stories.tsx":2311,"./form/FormExample.stories.tsx":2312,"./form/IconPicker/IconPicker.stories.tsx":2313,"./form/ImageUpload/ImageUpload.stories.tsx":2314,"./form/Input/Input.stories.tsx":2315,"./form/ModalPicker/multiple/ModalPickerMultiple.stories.tsx":2316,"./form/ModalPicker/single/ModalPickerSingle.stories.tsx":2317,"./form/NewPasswordInput/NewPasswordInput.stories.tsx":2318,"./form/RadioGroup/RadioGroup.stories.tsx":2319,"./form/Select/Select.stories.tsx":2320,"./form/TextEditor/TextEditor.stories.tsx":2321,"./form/Textarea/Textarea.stories.tsx":2322,"./form/Toggle/Toggle.stories.tsx":2323,"./form/Typeahead/multiple/TypeaheadMultiple.stories.tsx":2324,"./form/Typeahead/single/TypeaheadSingle.stories.tsx":2325,"./form/ValuePicker/ValuePicker.stories.tsx":2326,"./table/EpicTable/EpicTable.stories.tsx":2327,"./table/FormTable/FormTable.stories.tsx":2328};function webpackContext(req){var id=webpackContextResolve(req);return __webpack_require__(id)}function webpackContextResolve(req){if(!__webpack_require__.o(map,req)){var e=new Error("Cannot find module '"+req+"'");throw e.code="MODULE_NOT_FOUND",e}return map[req]}webpackContext.keys=function webpackContextKeys(){return Object.keys(map)},webpackContext.resolve=webpackContextResolve,module.exports=webpackContext,webpackContext.id=2102},2103:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),function(module){var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),_storybook_react__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(14),_AsyncContent__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(101),react_async__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(49),_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(2),___WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(7),withSourceLoader=__webpack_require__(15).withSource,__STORY__=(__webpack_require__(15).addSource,"import React from 'react';\nimport { storiesOf } from '@storybook/react';\n\nimport AsyncContent from './AsyncContent';\nimport { useAsync } from 'react-async';\nimport { action } from '@storybook/addon-actions';\nimport { ContentState, Button } from '../..';\n\nfunction loadData() {\n return new Promise(resolve => {\n setTimeout(() => {\n resolve({ user: 'Jeffrey' });\n }, 1000);\n });\n}\n\nfunction rejectData() {\n return new Promise((resolve, reject) => {\n setTimeout(() => {\n reject('could not load');\n }, 1000);\n });\n}\n\nfunction loadingData() {\n return new Promise(() => undefined);\n}\n\nstoriesOf('core|async/AsyncContent', module)\n .addParameters({ component: AsyncContent })\n .add('when loaded', () => {\n const state = useAsync(loadData);\n\n return (\n
\n \n {(data: { user: string }) =>

Hi, {data.user}

}\n
\n
\n );\n })\n\n .add('when error', () => {\n const state = useAsync(rejectData);\n\n return (\n
\n \n {(data: { user: string }) =>

Hi, {data.user}

}\n
\n
\n );\n })\n\n .add('when error with custom text', () => {\n const state = useAsync(rejectData);\n\n return (\n
\n \n {(data: { user: string }) =>

Hi, {data.user}

}\n \n
\n );\n })\n\n .add('when error with no retry button', () => {\n const state = useAsync(rejectData);\n\n return (\n
\n \n {(data: { user: string }) =>

Hi, {data.user}

}\n
\n
\n );\n })\n\n .add('when loading', () => {\n const state = useAsync(loadingData);\n\n return (\n
\n \n {(data: { user: string }) =>

Hi, {data.user}

}\n
\n
\n );\n })\n\n .add('when loading with custom title', () => {\n const state = useAsync(loadingData);\n\n return (\n
\n \n {(data: { user: string }) =>

Hi, {data.user}

}\n
\n
\n );\n })\n\n .add('when empty', () => {\n const state = useAsync(loadData);\n\n return (\n
\n data.user === 'Jeffrey'}\n >\n {(data: { user: string }) =>

Hi, {data.user}

}\n \n
\n );\n })\n\n .add('when empty with title', () => {\n const state = useAsync(loadData);\n\n return (\n
\n data.user === 'Jeffrey'}\n >\n {(data: { user: string }) =>

Hi, {data.user}

}\n \n
\n );\n })\n\n .add('when empty with custom empty', () => {\n const state = useAsync(loadData);\n\n return (\n
\n data.user === 'Jeffrey'}\n emptyContent={() => (\n \n \n \n )}\n >\n {(data: { user: string }) =>

Hi, {data.user}

}\n \n
\n );\n });\n"),__ADDS_MAP__={"core-async-asynccontent--when-empty-with-custom-empty":{startLoc:{col:7,line:137},endLoc:{col:3,line:157},startBody:{col:39,line:137},endBody:{col:3,line:157}},"core-async-asynccontent--when-empty-with-title":{startLoc:{col:7,line:121},endLoc:{col:3,line:135},startBody:{col:32,line:121},endBody:{col:3,line:135}},"core-async-asynccontent--when-empty":{startLoc:{col:7,line:106},endLoc:{col:3,line:119},startBody:{col:21,line:106},endBody:{col:3,line:119}},"core-async-asynccontent--when-loading-with-custom-title":{startLoc:{col:7,line:94},endLoc:{col:3,line:104},startBody:{col:41,line:94},endBody:{col:3,line:104}},"core-async-asynccontent--when-loading":{startLoc:{col:7,line:82},endLoc:{col:3,line:92},startBody:{col:23,line:82},endBody:{col:3,line:92}},"core-async-asynccontent--when-error-with-no-retry-button":{startLoc:{col:7,line:70},endLoc:{col:3,line:80},startBody:{col:42,line:70},endBody:{col:3,line:80}},"core-async-asynccontent--when-error-with-custom-text":{startLoc:{col:7,line:55},endLoc:{col:3,line:68},startBody:{col:38,line:55},endBody:{col:3,line:68}},"core-async-asynccontent--when-error":{startLoc:{col:7,line:43},endLoc:{col:3,line:53},startBody:{col:21,line:43},endBody:{col:3,line:53}},"core-async-asynccontent--when-loaded":{startLoc:{col:7,line:31},endLoc:{col:3,line:41},startBody:{col:22,line:31},endBody:{col:3,line:41}}};function loadData(){return new Promise(resolve=>{setTimeout(()=>{resolve({user:"Jeffrey"})},1e3)})}function rejectData(){return new Promise((resolve,reject)=>{setTimeout(()=>{reject("could not load")},1e3)})}function loadingData(){return new Promise(()=>{})}Object(_storybook_react__WEBPACK_IMPORTED_MODULE_1__.storiesOf)("core|async/AsyncContent",module).addParameters({storySource:{source:__STORY__,locationsMap:__ADDS_MAP__}}).addDecorator(withSourceLoader(__STORY__,__ADDS_MAP__,"/AsyncContent.stories.tsx",[],{},"/Users/gido.manders/projecten/42/ui/src/core/AsyncContent",{})).addParameters({component:_AsyncContent__WEBPACK_IMPORTED_MODULE_2__.a}).add("when loaded",()=>{const state=Object(react_async__WEBPACK_IMPORTED_MODULE_3__.a)(loadData);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"text-center"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_AsyncContent__WEBPACK_IMPORTED_MODULE_2__.a,{state:state},data=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h2",null,"Hi, ",data.user)))}).add("when error",()=>{const state=Object(react_async__WEBPACK_IMPORTED_MODULE_3__.a)(rejectData);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"text-center"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_AsyncContent__WEBPACK_IMPORTED_MODULE_2__.a,{state:state},data=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h2",null,"Hi, ",data.user)))}).add("when error with custom text",()=>{const state=Object(react_async__WEBPACK_IMPORTED_MODULE_3__.a)(rejectData);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"text-center"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_AsyncContent__WEBPACK_IMPORTED_MODULE_2__.a,{state:state,text:{error:"I’m sorry Dave, I’m afraid I can’t do that"}},data=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h2",null,"Hi, ",data.user)))}).add("when error with no retry button",()=>{const state=Object(react_async__WEBPACK_IMPORTED_MODULE_3__.a)(rejectData);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"text-center"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_AsyncContent__WEBPACK_IMPORTED_MODULE_2__.a,{state:state,showRetryButton:!1},data=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h2",null,"Hi, ",data.user)))}).add("when loading",()=>{const state=Object(react_async__WEBPACK_IMPORTED_MODULE_3__.a)(loadingData);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"text-center"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_AsyncContent__WEBPACK_IMPORTED_MODULE_2__.a,{state:state},data=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h2",null,"Hi, ",data.user)))}).add("when loading with custom title",()=>{const state=Object(react_async__WEBPACK_IMPORTED_MODULE_3__.a)(loadingData);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"text-center"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_AsyncContent__WEBPACK_IMPORTED_MODULE_2__.a,{state:state,text:{loading:"Loading Jeffrey"}},data=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h2",null,"Hi, ",data.user)))}).add("when empty",()=>{const state=Object(react_async__WEBPACK_IMPORTED_MODULE_3__.a)(loadData);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"text-center"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_AsyncContent__WEBPACK_IMPORTED_MODULE_2__.a,{state:state,isEmpty:data=>"Jeffrey"===data.user},data=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h2",null,"Hi, ",data.user)))}).add("when empty with title",()=>{const state=Object(react_async__WEBPACK_IMPORTED_MODULE_3__.a)(loadData);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"text-center"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_AsyncContent__WEBPACK_IMPORTED_MODULE_2__.a,{state:state,text:{empty:"No Jeffrey's match your parameters try again"},isEmpty:data=>"Jeffrey"===data.user},data=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h2",null,"Hi, ",data.user)))}).add("when empty with custom empty",()=>{const state=Object(react_async__WEBPACK_IMPORTED_MODULE_3__.a)(loadData);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"text-center"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_AsyncContent__WEBPACK_IMPORTED_MODULE_2__.a,{state:state,isEmpty:data=>"Jeffrey"===data.user,emptyContent:()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_5__.b,{mode:"empty",title:"No results found"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_5__.a,{icon:"refresh",onClick:Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_4__.action)("clear filters")},"Clear filters"))},data=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h2",null,"Hi, ",data.user)))})}.call(this,__webpack_require__(26)(module))},211:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return Pagination}));var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),reactstrap__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(2336),reactstrap__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(2337),reactstrap__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(936);function Pagination({page:page,onChange:onChange,className:className}){const{first:first,last:last,totalPages:totalPages}=page;if(first&&last)return null;const current=page.number,content=function pagesFor(currentPage,totalPages){const content=[];currentPage>1&&content.push(1);const prev=currentPage-1;prev>1&&content.push(prev);content.push(currentPage);const next=currentPage+1;next<=totalPages&&content.push(next);next+1<=totalPages&&content.push(totalPages);1===content[0]&&2!==content[1]&&content.splice(1,0,"...");const lastIndex=content.length-1;content[lastIndex]===totalPages&&content[lastIndex-1]!==totalPages-1&&content.splice(lastIndex,0,"...");return content}(current,totalPages);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_1__.a,{className:className},content.map((item,index)=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_2__.a,{active:item===current,key:index},"..."!==item?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_3__.a,{onClick:()=>onChange(item)},item):react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_3__.a,{className:"disabled",disabled:!0},"..."))))}try{Pagination.displayName="Pagination",Pagination.__docgenInfo={description:"The Pagination component is an enhanced Bootstrap pagination component. It supports working with `Page`s and shows a fixed\nlayout for the number of pages, indicating that multiple pages exist for the min and max ranges (e.g. 1 ... 4 5 6 ... 10).",displayName:"Pagination",props:{page:{defaultValue:null,description:"Represents Spring's page abstraction.",name:"page",required:!0,type:{name:"Page"}},onChange:{defaultValue:null,description:"Called when navigation to a certain page number.",name:"onChange",required:!0,type:{name:"(pageNumber: number) => void"}},className:{defaultValue:null,description:"Optional extra CSS class you want to add to the component.\nUseful for styling the component.",name:"className",required:!1,type:{name:"string"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/core/Pagination/Pagination.tsx#Pagination"]={docgenInfo:Pagination.__docgenInfo,name:"Pagination",path:"src/core/Pagination/Pagination.tsx#Pagination"})}catch(__react_docgen_typescript_loader_error){}},212:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return Pager}));var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),classnames__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(8),classnames__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_1__),_utilities_translation_translation__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(21),_Button_Button__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(3);function Pager({page:page,onChange:onChange,className:className,text:text={}}){const{first:first,last:last}=page,{next:next,previous:previous}=text;return first&&last?null:react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:classnames__WEBPACK_IMPORTED_MODULE_1___default()("pager",className)},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Button_Button__WEBPACK_IMPORTED_MODULE_3__.a,{className:"mr-1",outline:!0,icon:"arrow_back",disabled:first,onClick:()=>onChange(page.number-1)},Object(_utilities_translation_translation__WEBPACK_IMPORTED_MODULE_2__.a)({overrideText:previous,key:"Pager.PREVIOUS",fallback:"Previous"})),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Button_Button__WEBPACK_IMPORTED_MODULE_3__.a,{outline:!0,className:"pager-next",icon:"arrow_forward",iconPosition:"right",disabled:last,onClick:()=>onChange(page.number+1)},Object(_utilities_translation_translation__WEBPACK_IMPORTED_MODULE_2__.a)({overrideText:next,key:"Pager.NEXT",fallback:"Next"})))}try{Pager.displayName="Pager",Pager.__docgenInfo={description:"The Pager component shows a small variant of bootstraps pagination,\nit only shows a previous and next button.\n\nIt supports working with a `Page` from `@42.nl/spring-connect`.",displayName:"Pager",props:{page:{defaultValue:null,description:"Represents Spring's page abstraction.",name:"page",required:!0,type:{name:"Page"}},onChange:{defaultValue:null,description:"Called when navigation to a certain page number.",name:"onChange",required:!0,type:{name:"(pageNumber: number) => void"}},className:{defaultValue:null,description:"Optional extra CSS class you want to add to the component.\nUseful for styling the component.",name:"className",required:!1,type:{name:"string"}},text:{defaultValue:{value:"{}"},description:"Optionally customized text to use within the component.",name:"text",required:!1,type:{name:"Text"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/core/Pager/Pager.tsx#Pager"]={docgenInfo:Pager.__docgenInfo,name:"Pager",path:"src/core/Pager/Pager.tsx#Pager"})}catch(__react_docgen_typescript_loader_error){}},213:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"b",(function(){return DateRangePicker})),__webpack_require__.d(__webpack_exports__,"a",(function(){return JarbDateRangePicker}));var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),reactstrap__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(43),reactstrap__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(17),reactstrap__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(2338),lodash__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(16),_DateTimeInput_DateTimeInput__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(100),_withJarb_withJarb__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(33),_utilities_translation_translation__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__(21);class DateRangePicker extends react__WEBPACK_IMPORTED_MODULE_0__.Component{constructor(props){super(props),this.state={fromDate:Object(lodash__WEBPACK_IMPORTED_MODULE_4__.get)(this,"props.value.from",void 0),toDate:Object(lodash__WEBPACK_IMPORTED_MODULE_4__.get)(this,"props.value.to",void 0)}}fromDateChanged(fromDate){this.setState({fromDate:fromDate||void 0},()=>this.afterChange())}toDateChanged(toDate){this.setState({toDate:toDate||void 0},()=>this.afterChange())}onFocus(){const focus=this.props.onFocus;focus&&focus()}afterChange(){const{fromDate:fromDate,toDate:toDate}=this.state;fromDate&&toDate&&fromDatethis.fromDateChanged(date),onFocus:()=>this.onFocus(),valid:valid,color:color,mode:mode}))),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_2__.a,{sm:"12",md:"6"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_DateTimeInput_DateTimeInput__WEBPACK_IMPORTED_MODULE_5__.b,Object.assign({},this.props.to,{value:this.state.toDate,onChange:date=>this.toDateChanged(date),onFocus:()=>this.onFocus(),valid:valid,color:color,mode:mode}))),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_2__.a,{xs:"12",className:"mb-2"},this.renderError()))}renderError(){const{error:error}=this.props,{fromDate:fromDate,toDate:toDate}=this.state;if(fromDate&&toDate){if(!(fromDate void"}},onFocus:{defaultValue:null,description:"Callback for when the form element gets the focus.",name:"onFocus",required:!1,type:{name:"() => void"}},from:{defaultValue:null,description:"The properties for the `from` DateTimeInput element.",name:"from",required:!0,type:{name:"Pick"}},to:{defaultValue:null,description:"The properties for the `to` DateTimeInput element.",name:"to",required:!0,type:{name:"Pick"}},className:{defaultValue:null,description:"Optional extra CSS class you want to add to the component.\nUseful for styling the component.",name:"className",required:!1,type:{name:"string"}},color:{defaultValue:null,description:"Optionally the color of the FormGroup.",name:"color",required:!1,type:{name:"Color"}},valid:{defaultValue:null,description:"Whether or not the form element is currently valid.",name:"valid",required:!1,type:{name:"boolean"}},text:{defaultValue:null,description:"Optionally customized text within the component.\nThis text should already be translated.",name:"text",required:!1,type:{name:"Text"}},error:{defaultValue:null,description:"Optionally the error message to render.",name:"error",required:!1,type:{name:"any"}},mode:{defaultValue:null,description:"Whether or not the date picker should be displayed in a modal.\nDefaults to opening in a tooltip-like layout.",name:"mode",required:!1,type:{name:'"modal" | "default"'}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/form/DateRangePicker/DateRangePicker.tsx#DateRangePicker"]={docgenInfo:DateRangePicker.__docgenInfo,name:"DateRangePicker",path:"src/form/DateRangePicker/DateRangePicker.tsx#DateRangePicker"})}catch(__react_docgen_typescript_loader_error){}try{JarbDateRangePicker.displayName="JarbDateRangePicker",JarbDateRangePicker.__docgenInfo={description:"Variant of the DateRangePicker which can be used in a Jarb context.",displayName:"JarbDateRangePicker",props:{}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/form/DateRangePicker/DateRangePicker.tsx#JarbDateRangePicker"]={docgenInfo:JarbDateRangePicker.__docgenInfo,name:"JarbDateRangePicker",path:"src/form/DateRangePicker/DateRangePicker.tsx#JarbDateRangePicker"})}catch(__react_docgen_typescript_loader_error){}},214:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return LoadingPage}));var classnames__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(8),classnames__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_0__),react__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__),_Spinner_Spinner__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(69),_useShowAfter_useShowAfter__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(354);function LoadingPage({className:className,style:style,height:height}){const showSpinner=Object(_useShowAfter_useShowAfter__WEBPACK_IMPORTED_MODULE_3__.a)(200);return react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement("div",{className:classnames__WEBPACK_IMPORTED_MODULE_0___default()("loading-page",className),style:style},react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement("div",{className:classnames__WEBPACK_IMPORTED_MODULE_0___default()("d-flex flex-column justify-content-center align-items-center",{"vh-100":void 0===height}),style:{marginTop:void 0===height?-75:void 0,height:height}},showSpinner&&react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_Spinner_Spinner__WEBPACK_IMPORTED_MODULE_2__.a,{size:150,color:"#f0ad4e"})))}try{LoadingPage.displayName="LoadingPage",LoadingPage.__docgenInfo={description:"The LoadingPage component embeds the Spinner component in a page-friendly matter.\n\nUse this for showing a loading indicator when navigating to pages that fetch data.",displayName:"LoadingPage",props:{className:{defaultValue:null,description:"Optional extra CSS class you want to add to the component.\nUseful for styling the component.",name:"className",required:!1,type:{name:"string"}},style:{defaultValue:null,description:"Optional extra CSSProperties you want to add to the component.\nUseful for styling the component.",name:"style",required:!1,type:{name:"CSSProperties"}},height:{defaultValue:null,description:"Optionally a height, by default this will be the full height\nof the view port.",name:"height",required:!1,type:{name:"number"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/core/LoadingPage/LoadingPage.tsx#LoadingPage"]={docgenInfo:LoadingPage.__docgenInfo,name:"LoadingPage",path:"src/core/LoadingPage/LoadingPage.tsx#LoadingPage"})}catch(__react_docgen_typescript_loader_error){}},215:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return EpicDetail}));var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),_core_Icon__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(63),_utilities_translation_translation__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(21);function EpicDetail({children:children,onClose:onClose,text:text={}}){return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"bg-white h-100 border-top border-right border-bottom py-1 shadow"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"d-flex align-items-center border-bottom mb-2"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_Icon__WEBPACK_IMPORTED_MODULE_1__.a,{className:"text-muted py-2 px-1",onClick:onClose,icon:"close"}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span",{className:"text-muted"},Object(_utilities_translation_translation__WEBPACK_IMPORTED_MODULE_2__.a)({key:"EpicTable.EpicDetail.CLOSE",fallback:"Close",overrideText:text.close}))),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"px-2"},children))}try{EpicDetail.displayName="EpicDetail",EpicDetail.__docgenInfo={description:"EpicDetail is a white pane with a close button which can be used\nto render in a EpicDetailRow as its content.",displayName:"EpicDetail",props:{children:{defaultValue:null,description:"The details you want to render.",name:"children",required:!0,type:{name:"any"}},onClose:{defaultValue:null,description:"The callback for the close event. Is called when the close button\nis clicked.",name:"onClose",required:!0,type:{name:"(event: any) => void"}},text:{defaultValue:{value:"{}"},description:"Optionally customized text within the component.\nThis text should already be translated.",name:"text",required:!1,type:{name:"Text"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/table/EpicTable/widgets/EpicDetail/EpicDetail.tsx#EpicDetail"]={docgenInfo:EpicDetail.__docgenInfo,name:"EpicDetail",path:"src/table/EpicTable/widgets/EpicDetail/EpicDetail.tsx#EpicDetail"})}catch(__react_docgen_typescript_loader_error){}},2156:function(module,exports,__webpack_require__){var map={"./af":776,"./af.js":776,"./ar":777,"./ar-dz":778,"./ar-dz.js":778,"./ar-kw":779,"./ar-kw.js":779,"./ar-ly":780,"./ar-ly.js":780,"./ar-ma":781,"./ar-ma.js":781,"./ar-sa":782,"./ar-sa.js":782,"./ar-tn":783,"./ar-tn.js":783,"./ar.js":777,"./az":784,"./az.js":784,"./be":785,"./be.js":785,"./bg":786,"./bg.js":786,"./bm":787,"./bm.js":787,"./bn":788,"./bn.js":788,"./bo":789,"./bo.js":789,"./br":790,"./br.js":790,"./bs":791,"./bs.js":791,"./ca":792,"./ca.js":792,"./cs":793,"./cs.js":793,"./cv":794,"./cv.js":794,"./cy":795,"./cy.js":795,"./da":796,"./da.js":796,"./de":797,"./de-at":798,"./de-at.js":798,"./de-ch":799,"./de-ch.js":799,"./de.js":797,"./dv":800,"./dv.js":800,"./el":801,"./el.js":801,"./en-SG":802,"./en-SG.js":802,"./en-au":803,"./en-au.js":803,"./en-ca":804,"./en-ca.js":804,"./en-gb":805,"./en-gb.js":805,"./en-ie":806,"./en-ie.js":806,"./en-il":807,"./en-il.js":807,"./en-nz":808,"./en-nz.js":808,"./eo":809,"./eo.js":809,"./es":810,"./es-do":811,"./es-do.js":811,"./es-us":812,"./es-us.js":812,"./es.js":810,"./et":813,"./et.js":813,"./eu":814,"./eu.js":814,"./fa":815,"./fa.js":815,"./fi":816,"./fi.js":816,"./fo":817,"./fo.js":817,"./fr":818,"./fr-ca":819,"./fr-ca.js":819,"./fr-ch":820,"./fr-ch.js":820,"./fr.js":818,"./fy":821,"./fy.js":821,"./ga":822,"./ga.js":822,"./gd":823,"./gd.js":823,"./gl":824,"./gl.js":824,"./gom-latn":825,"./gom-latn.js":825,"./gu":826,"./gu.js":826,"./he":827,"./he.js":827,"./hi":828,"./hi.js":828,"./hr":829,"./hr.js":829,"./hu":830,"./hu.js":830,"./hy-am":831,"./hy-am.js":831,"./id":832,"./id.js":832,"./is":833,"./is.js":833,"./it":834,"./it-ch":835,"./it-ch.js":835,"./it.js":834,"./ja":836,"./ja.js":836,"./jv":837,"./jv.js":837,"./ka":838,"./ka.js":838,"./kk":839,"./kk.js":839,"./km":840,"./km.js":840,"./kn":841,"./kn.js":841,"./ko":842,"./ko.js":842,"./ku":843,"./ku.js":843,"./ky":844,"./ky.js":844,"./lb":845,"./lb.js":845,"./lo":846,"./lo.js":846,"./lt":847,"./lt.js":847,"./lv":848,"./lv.js":848,"./me":849,"./me.js":849,"./mi":850,"./mi.js":850,"./mk":851,"./mk.js":851,"./ml":852,"./ml.js":852,"./mn":853,"./mn.js":853,"./mr":854,"./mr.js":854,"./ms":855,"./ms-my":856,"./ms-my.js":856,"./ms.js":855,"./mt":857,"./mt.js":857,"./my":858,"./my.js":858,"./nb":859,"./nb.js":859,"./ne":860,"./ne.js":860,"./nl":861,"./nl-be":862,"./nl-be.js":862,"./nl.js":861,"./nn":863,"./nn.js":863,"./pa-in":864,"./pa-in.js":864,"./pl":865,"./pl.js":865,"./pt":866,"./pt-br":867,"./pt-br.js":867,"./pt.js":866,"./ro":868,"./ro.js":868,"./ru":869,"./ru.js":869,"./sd":870,"./sd.js":870,"./se":871,"./se.js":871,"./si":872,"./si.js":872,"./sk":873,"./sk.js":873,"./sl":874,"./sl.js":874,"./sq":875,"./sq.js":875,"./sr":876,"./sr-cyrl":877,"./sr-cyrl.js":877,"./sr.js":876,"./ss":878,"./ss.js":878,"./sv":879,"./sv.js":879,"./sw":880,"./sw.js":880,"./ta":881,"./ta.js":881,"./te":882,"./te.js":882,"./tet":883,"./tet.js":883,"./tg":884,"./tg.js":884,"./th":885,"./th.js":885,"./tl-ph":886,"./tl-ph.js":886,"./tlh":887,"./tlh.js":887,"./tr":888,"./tr.js":888,"./tzl":889,"./tzl.js":889,"./tzm":890,"./tzm-latn":891,"./tzm-latn.js":891,"./tzm.js":890,"./ug-cn":892,"./ug-cn.js":892,"./uk":893,"./uk.js":893,"./ur":894,"./ur.js":894,"./uz":895,"./uz-latn":896,"./uz-latn.js":896,"./uz.js":895,"./vi":897,"./vi.js":897,"./x-pseudo":898,"./x-pseudo.js":898,"./yo":899,"./yo.js":899,"./zh-cn":900,"./zh-cn.js":900,"./zh-hk":901,"./zh-hk.js":901,"./zh-tw":902,"./zh-tw.js":902};function webpackContext(req){var id=webpackContextResolve(req);return __webpack_require__(id)}function webpackContextResolve(req){if(!__webpack_require__.o(map,req)){var e=new Error("Cannot find module '"+req+"'");throw e.code="MODULE_NOT_FOUND",e}return map[req]}webpackContext.keys=function webpackContextKeys(){return Object.keys(map)},webpackContext.resolve=webpackContextResolve,module.exports=webpackContext,webpackContext.id=2156},216:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return EpicSelection}));var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),reactstrap__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(89),reactstrap__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(71);function EpicSelection({children:children,checked:checked,onChange:onChange}){return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_1__.a,{className:"d-flex m-0 align-items-center"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_2__.a,{type:"checkbox",className:"m-0 ml-1 mr-2 d-inline-block position-static",checked:checked,onChange:()=>onChange(!checked)}),children)}try{EpicSelection.displayName="EpicSelection",EpicSelection.__docgenInfo={description:"The EpicSelection is basically a checkbox for the EpicTable.\nIt can be used to select rows inside of the table or even cells.",displayName:"EpicSelection",props:{children:{defaultValue:null,description:"Optionally the label for the button, when the label is clicked\nthe checkbox is checked.",name:"children",required:!1,type:{name:"any"}},checked:{defaultValue:null,description:"Whether or not the checkbox is checked.",name:"checked",required:!0,type:{name:"boolean"}},onChange:{defaultValue:null,description:"The callback which occurs when the checkbox is clicked.",name:"onChange",required:!0,type:{name:"(checked: boolean) => void"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/table/EpicTable/widgets/EpicSelection/EpicSelection.tsx#EpicSelection"]={docgenInfo:EpicSelection.__docgenInfo,name:"EpicSelection",path:"src/table/EpicTable/widgets/EpicSelection/EpicSelection.tsx#EpicSelection"})}catch(__react_docgen_typescript_loader_error){}},2281:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),function(module){var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),_storybook_react__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(14),react_async__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(49),reactstrap__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(23),reactstrap__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(83),reactstrap__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(81),reactstrap__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(82),_AsyncList__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__(128),_test_fixtures__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__(12),___WEBPACK_IMPORTED_MODULE_9__=__webpack_require__(7),_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_10__=__webpack_require__(2),withSourceLoader=__webpack_require__(15).withSource,__STORY__=(__webpack_require__(15).addSource,"import React from 'react';\nimport { storiesOf } from '@storybook/react';\nimport { useAsync } from 'react-async';\nimport { Button, Card, ListGroup, ListGroupItem } from 'reactstrap';\n\nimport AsyncList from './AsyncList';\n\nimport { pageOfUsers } from '../../test/fixtures';\nimport { User } from '../../test/types';\nimport { ContentState } from '../..';\nimport { action } from '@storybook/addon-actions';\n\nfunction loadData(): Promise {\n return new Promise(resolve => {\n setTimeout(() => {\n resolve(pageOfUsers.content);\n }, 1000);\n });\n}\n\nfunction emptyData(): Promise {\n return new Promise(resolve => {\n setTimeout(() => {\n resolve([]);\n }, 1000);\n });\n}\n\nfunction rejectData(): Promise {\n return new Promise((resolve, reject) => {\n setTimeout(() => {\n reject('could not load');\n }, 1000);\n });\n}\n\nfunction loadingData(): Promise {\n return new Promise(() => undefined);\n}\n\nstoriesOf('core|Async/AsyncList', module)\n .addParameters({ component: AsyncList })\n .add('when loaded', () => {\n const state = useAsync(loadData);\n\n return (\n \n \n {users => (\n \n {users.map(user => (\n {user.email}\n ))}\n \n )}\n \n \n );\n })\n\n .add('when error', () => {\n const state = useAsync(rejectData);\n\n return (\n \n \n {users => (\n \n {users.map(user => (\n {user.email}\n ))}\n \n )}\n \n \n );\n })\n\n .add('when error with custom text', () => {\n const state = useAsync(rejectData);\n\n return (\n \n \n {users => (\n \n {users.map(user => (\n {user.email}\n ))}\n \n )}\n \n \n );\n })\n\n .add('when error with no retry button', () => {\n const state = useAsync(rejectData);\n\n return (\n \n \n {users => (\n \n {users.map(user => (\n {user.email}\n ))}\n \n )}\n \n \n );\n })\n\n .add('when loading', () => {\n const state = useAsync(loadingData);\n\n return (\n \n \n {users => (\n \n {users.map(user => (\n {user.email}\n ))}\n \n )}\n \n \n );\n })\n\n .add('when loading with custom title', () => {\n const state = useAsync(loadingData);\n\n return (\n \n \n {users => (\n \n {users.map(user => (\n {user.email}\n ))}\n \n )}\n \n \n );\n })\n\n .add('when empty', () => {\n const state = useAsync(emptyData);\n\n return (\n \n \n {users => (\n \n {users.map(user => (\n {user.email}\n ))}\n \n )}\n \n \n );\n })\n\n .add('when empty with custom title', () => {\n const state = useAsync(emptyData);\n\n return (\n \n \n {users => (\n \n {users.map(user => (\n {user.email}\n ))}\n \n )}\n \n \n );\n })\n\n .add('when empty with custom empty', () => {\n const state = useAsync(emptyData);\n\n return (\n \n (\n \n \n \n )}\n >\n {users => (\n \n {users.map(user => (\n {user.email}\n ))}\n \n )}\n \n \n );\n });\n"),__ADDS_MAP__={"core-async-asynclist--when-empty-with-custom-empty":{startLoc:{col:7,line:193},endLoc:{col:3,line:218},startBody:{col:39,line:193},endBody:{col:3,line:218}},"core-async-asynclist--when-empty-with-custom-title":{startLoc:{col:7,line:172},endLoc:{col:3,line:191},startBody:{col:39,line:172},endBody:{col:3,line:191}},"core-async-asynclist--when-empty":{startLoc:{col:7,line:154},endLoc:{col:3,line:170},startBody:{col:21,line:154},endBody:{col:3,line:170}},"core-async-asynclist--when-loading-with-custom-title":{startLoc:{col:7,line:136},endLoc:{col:3,line:152},startBody:{col:41,line:136},endBody:{col:3,line:152}},"core-async-asynclist--when-loading":{startLoc:{col:7,line:118},endLoc:{col:3,line:134},startBody:{col:23,line:118},endBody:{col:3,line:134}},"core-async-asynclist--when-error-with-no-retry-button":{startLoc:{col:7,line:100},endLoc:{col:3,line:116},startBody:{col:42,line:100},endBody:{col:3,line:116}},"core-async-asynclist--when-error-with-custom-text":{startLoc:{col:7,line:79},endLoc:{col:3,line:98},startBody:{col:38,line:79},endBody:{col:3,line:98}},"core-async-asynclist--when-error":{startLoc:{col:7,line:61},endLoc:{col:3,line:77},startBody:{col:21,line:61},endBody:{col:3,line:77}},"core-async-asynclist--when-loaded":{startLoc:{col:7,line:43},endLoc:{col:3,line:59},startBody:{col:22,line:43},endBody:{col:3,line:59}}};function loadData(){return new Promise(resolve=>{setTimeout(()=>{resolve(_test_fixtures__WEBPACK_IMPORTED_MODULE_8__.b.content)},1e3)})}function emptyData(){return new Promise(resolve=>{setTimeout(()=>{resolve([])},1e3)})}function rejectData(){return new Promise((resolve,reject)=>{setTimeout(()=>{reject("could not load")},1e3)})}function loadingData(){return new Promise(()=>{})}Object(_storybook_react__WEBPACK_IMPORTED_MODULE_1__.storiesOf)("core|Async/AsyncList",module).addParameters({storySource:{source:__STORY__,locationsMap:__ADDS_MAP__}}).addDecorator(withSourceLoader(__STORY__,__ADDS_MAP__,"/AsyncList.stories.tsx",[],{},"/Users/gido.manders/projecten/42/ui/src/core/AsyncList",{})).addParameters({component:_AsyncList__WEBPACK_IMPORTED_MODULE_7__.a}).add("when loaded",()=>{const state=Object(react_async__WEBPACK_IMPORTED_MODULE_2__.a)(loadData);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_3__.a,{body:!0},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_AsyncList__WEBPACK_IMPORTED_MODULE_7__.a,{state:state},users=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_4__.a,null,users.map(user=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_5__.a,{key:user.id},user.email)))))}).add("when error",()=>{const state=Object(react_async__WEBPACK_IMPORTED_MODULE_2__.a)(rejectData);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_3__.a,{body:!0},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_AsyncList__WEBPACK_IMPORTED_MODULE_7__.a,{state:state},users=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_4__.a,null,users.map(user=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_5__.a,{key:user.id},user.email)))))}).add("when error with custom text",()=>{const state=Object(react_async__WEBPACK_IMPORTED_MODULE_2__.a)(rejectData);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_3__.a,{body:!0},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_AsyncList__WEBPACK_IMPORTED_MODULE_7__.a,{state:state,text:{error:"I’m sorry Dave, I’m afraid I can’t do that"}},users=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_4__.a,null,users.map(user=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_5__.a,{key:user.id},user.email)))))}).add("when error with no retry button",()=>{const state=Object(react_async__WEBPACK_IMPORTED_MODULE_2__.a)(rejectData);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_3__.a,{body:!0},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_AsyncList__WEBPACK_IMPORTED_MODULE_7__.a,{state:state,showRetryButton:!1},users=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_4__.a,null,users.map(user=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_5__.a,{key:user.id},user.email)))))}).add("when loading",()=>{const state=Object(react_async__WEBPACK_IMPORTED_MODULE_2__.a)(loadingData);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_3__.a,{body:!0},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_AsyncList__WEBPACK_IMPORTED_MODULE_7__.a,{state:state},users=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_4__.a,null,users.map(user=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_5__.a,{key:user.id},user.email)))))}).add("when loading with custom title",()=>{const state=Object(react_async__WEBPACK_IMPORTED_MODULE_2__.a)(loadingData);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_3__.a,{body:!0},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_AsyncList__WEBPACK_IMPORTED_MODULE_7__.a,{state:state,text:{loading:"Loading Jeffrey"}},users=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_4__.a,null,users.map(user=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_5__.a,{key:user.id},user.email)))))}).add("when empty",()=>{const state=Object(react_async__WEBPACK_IMPORTED_MODULE_2__.a)(emptyData);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_3__.a,{body:!0},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_AsyncList__WEBPACK_IMPORTED_MODULE_7__.a,{state:state},users=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_4__.a,null,users.map(user=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_5__.a,{key:user.id},user.email)))))}).add("when empty with custom title",()=>{const state=Object(react_async__WEBPACK_IMPORTED_MODULE_2__.a)(emptyData);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_3__.a,{body:!0},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_AsyncList__WEBPACK_IMPORTED_MODULE_7__.a,{state:state,text:{empty:"No Jeffrey's match your parameters try again"}},users=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_4__.a,null,users.map(user=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_5__.a,{key:user.id},user.email)))))}).add("when empty with custom empty",()=>{const state=Object(react_async__WEBPACK_IMPORTED_MODULE_2__.a)(emptyData);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_3__.a,{body:!0},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_AsyncList__WEBPACK_IMPORTED_MODULE_7__.a,{state:state,emptyContent:()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_9__.b,{mode:"empty",title:"No results found"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_6__.a,{icon:"refresh",onClick:Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_10__.action)("clear filters")},"Clear filters"))},users=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_4__.a,null,users.map(user=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_5__.a,{key:user.id},user.email)))))})}.call(this,__webpack_require__(26)(module))},2282:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),function(module){var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),_storybook_react__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(14),react_async__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(49),reactstrap__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(23),reactstrap__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(83),reactstrap__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(81),reactstrap__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(82),_42_nl_spring_connect__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__(157),_AsyncPage__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__(127),_test_fixtures__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__(12),___WEBPACK_IMPORTED_MODULE_10__=__webpack_require__(7),_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_11__=__webpack_require__(2),withSourceLoader=__webpack_require__(15).withSource,__STORY__=(__webpack_require__(15).addSource,"import React from 'react';\nimport { storiesOf } from '@storybook/react';\nimport { useAsync } from 'react-async';\nimport { Button, Card, ListGroup, ListGroupItem } from 'reactstrap';\nimport { emptyPage, Page } from '@42.nl/spring-connect';\n\nimport AsyncPage from './AsyncPage';\n\nimport { pageOfUsers } from '../../test/fixtures';\nimport { User } from '../../test/types';\nimport { ContentState } from '../..';\nimport { action } from '@storybook/addon-actions';\n\nfunction loadData(): Promise> {\n return new Promise(resolve => {\n setTimeout(() => {\n resolve(pageOfUsers);\n }, 1000);\n });\n}\n\nfunction emptyData(): Promise> {\n return new Promise(resolve => {\n setTimeout(() => {\n resolve(emptyPage());\n }, 1000);\n });\n}\n\nfunction rejectData(): Promise> {\n return new Promise((resolve, reject) => {\n setTimeout(() => {\n reject('could not load');\n }, 1000);\n });\n}\n\nfunction loadingData(): Promise> {\n return new Promise(() => undefined);\n}\n\nstoriesOf('core|async/AsyncPage', module)\n .addParameters({ component: AsyncPage })\n .add('when loaded', () => {\n const state = useAsync(loadData);\n\n return (\n \n \n {userPage => (\n \n {userPage.content.map(user => (\n {user.email}\n ))}\n \n )}\n \n \n );\n })\n\n .add('when error', () => {\n const state = useAsync(rejectData);\n\n return (\n \n \n {userPage => (\n \n {userPage.content.map(user => (\n {user.email}\n ))}\n \n )}\n \n \n );\n })\n\n .add('when error with custom text', () => {\n const state = useAsync(rejectData);\n\n return (\n \n \n {userPage => (\n \n {userPage.content.map(user => (\n {user.email}\n ))}\n \n )}\n \n \n );\n })\n\n .add('when error with no retry button', () => {\n const state = useAsync(rejectData);\n\n return (\n \n \n {userPage => (\n \n {userPage.content.map(user => (\n {user.email}\n ))}\n \n )}\n \n \n );\n })\n\n .add('when loading', () => {\n const state = useAsync(loadingData);\n\n return (\n \n \n {userPage => (\n \n {userPage.content.map(user => (\n {user.email}\n ))}\n \n )}\n \n \n );\n })\n\n .add('when loading with custom title', () => {\n const state = useAsync(loadingData);\n\n return (\n \n \n {userPage => (\n \n {userPage.content.map(user => (\n {user.email}\n ))}\n \n )}\n \n \n );\n })\n\n .add('when empty', () => {\n const state = useAsync(emptyData);\n\n return (\n \n \n {userPage => (\n \n {userPage.content.map(user => (\n {user.email}\n ))}\n \n )}\n \n \n );\n })\n\n .add('when empty with custom title', () => {\n const state = useAsync(emptyData);\n\n return (\n \n \n {userPage => (\n \n {userPage.content.map(user => (\n {user.email}\n ))}\n \n )}\n \n \n );\n })\n\n .add('when empty with custom content', () => {\n const state = useAsync(emptyData);\n\n return (\n \n (\n \n \n \n )}\n >\n {userPage => (\n \n {userPage.content.map(user => (\n {user.email}\n ))}\n \n )}\n \n \n );\n });\n"),__ADDS_MAP__={"core-async-asyncpage--when-empty-with-custom-content":{startLoc:{col:7,line:194},endLoc:{col:3,line:219},startBody:{col:41,line:194},endBody:{col:3,line:219}},"core-async-asyncpage--when-empty-with-custom-title":{startLoc:{col:7,line:173},endLoc:{col:3,line:192},startBody:{col:39,line:173},endBody:{col:3,line:192}},"core-async-asyncpage--when-empty":{startLoc:{col:7,line:155},endLoc:{col:3,line:171},startBody:{col:21,line:155},endBody:{col:3,line:171}},"core-async-asyncpage--when-loading-with-custom-title":{startLoc:{col:7,line:137},endLoc:{col:3,line:153},startBody:{col:41,line:137},endBody:{col:3,line:153}},"core-async-asyncpage--when-loading":{startLoc:{col:7,line:119},endLoc:{col:3,line:135},startBody:{col:23,line:119},endBody:{col:3,line:135}},"core-async-asyncpage--when-error-with-no-retry-button":{startLoc:{col:7,line:101},endLoc:{col:3,line:117},startBody:{col:42,line:101},endBody:{col:3,line:117}},"core-async-asyncpage--when-error-with-custom-text":{startLoc:{col:7,line:80},endLoc:{col:3,line:99},startBody:{col:38,line:80},endBody:{col:3,line:99}},"core-async-asyncpage--when-error":{startLoc:{col:7,line:62},endLoc:{col:3,line:78},startBody:{col:21,line:62},endBody:{col:3,line:78}},"core-async-asyncpage--when-loaded":{startLoc:{col:7,line:44},endLoc:{col:3,line:60},startBody:{col:22,line:44},endBody:{col:3,line:60}}};function loadData(){return new Promise(resolve=>{setTimeout(()=>{resolve(_test_fixtures__WEBPACK_IMPORTED_MODULE_9__.b)},1e3)})}function emptyData(){return new Promise(resolve=>{setTimeout(()=>{resolve(Object(_42_nl_spring_connect__WEBPACK_IMPORTED_MODULE_7__.emptyPage)())},1e3)})}function rejectData(){return new Promise((resolve,reject)=>{setTimeout(()=>{reject("could not load")},1e3)})}function loadingData(){return new Promise(()=>{})}Object(_storybook_react__WEBPACK_IMPORTED_MODULE_1__.storiesOf)("core|async/AsyncPage",module).addParameters({storySource:{source:__STORY__,locationsMap:__ADDS_MAP__}}).addDecorator(withSourceLoader(__STORY__,__ADDS_MAP__,"/AsyncPage.stories.tsx",[],{},"/Users/gido.manders/projecten/42/ui/src/core/AsyncPage",{})).addParameters({component:_AsyncPage__WEBPACK_IMPORTED_MODULE_8__.a}).add("when loaded",()=>{const state=Object(react_async__WEBPACK_IMPORTED_MODULE_2__.a)(loadData);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_3__.a,{body:!0},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_AsyncPage__WEBPACK_IMPORTED_MODULE_8__.a,{state:state},userPage=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_4__.a,null,userPage.content.map(user=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_5__.a,{key:user.id},user.email)))))}).add("when error",()=>{const state=Object(react_async__WEBPACK_IMPORTED_MODULE_2__.a)(rejectData);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_3__.a,{body:!0},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_AsyncPage__WEBPACK_IMPORTED_MODULE_8__.a,{state:state},userPage=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_4__.a,null,userPage.content.map(user=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_5__.a,{key:user.id},user.email)))))}).add("when error with custom text",()=>{const state=Object(react_async__WEBPACK_IMPORTED_MODULE_2__.a)(rejectData);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_3__.a,{body:!0},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_AsyncPage__WEBPACK_IMPORTED_MODULE_8__.a,{state:state,text:{error:"I’m sorry Dave, I’m afraid I can’t do that"}},userPage=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_4__.a,null,userPage.content.map(user=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_5__.a,{key:user.id},user.email)))))}).add("when error with no retry button",()=>{const state=Object(react_async__WEBPACK_IMPORTED_MODULE_2__.a)(rejectData);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_3__.a,{body:!0},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_AsyncPage__WEBPACK_IMPORTED_MODULE_8__.a,{state:state,showRetryButton:!1},userPage=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_4__.a,null,userPage.content.map(user=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_5__.a,{key:user.id},user.email)))))}).add("when loading",()=>{const state=Object(react_async__WEBPACK_IMPORTED_MODULE_2__.a)(loadingData);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_3__.a,{body:!0},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_AsyncPage__WEBPACK_IMPORTED_MODULE_8__.a,{state:state},userPage=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_4__.a,null,userPage.content.map(user=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_5__.a,{key:user.id},user.email)))))}).add("when loading with custom title",()=>{const state=Object(react_async__WEBPACK_IMPORTED_MODULE_2__.a)(loadingData);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_3__.a,{body:!0},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_AsyncPage__WEBPACK_IMPORTED_MODULE_8__.a,{state:state,text:{loading:"Loading Jeffrey"}},userPage=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_4__.a,null,userPage.content.map(user=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_5__.a,{key:user.id},user.email)))))}).add("when empty",()=>{const state=Object(react_async__WEBPACK_IMPORTED_MODULE_2__.a)(emptyData);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_3__.a,{body:!0},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_AsyncPage__WEBPACK_IMPORTED_MODULE_8__.a,{state:state},userPage=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_4__.a,null,userPage.content.map(user=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_5__.a,{key:user.id},user.email)))))}).add("when empty with custom title",()=>{const state=Object(react_async__WEBPACK_IMPORTED_MODULE_2__.a)(emptyData);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_3__.a,{body:!0},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_AsyncPage__WEBPACK_IMPORTED_MODULE_8__.a,{state:state,text:{empty:"No Jeffrey's match your parameters try again"}},userPage=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_4__.a,null,userPage.content.map(user=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_5__.a,{key:user.id},user.email)))))}).add("when empty with custom content",()=>{const state=Object(react_async__WEBPACK_IMPORTED_MODULE_2__.a)(emptyData);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_3__.a,{body:!0},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_AsyncPage__WEBPACK_IMPORTED_MODULE_8__.a,{state:state,emptyContent:()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_10__.b,{mode:"empty",title:"No results found"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_6__.a,{icon:"refresh",onClick:Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_11__.action)("clear filters")},"Clear filters"))},userPage=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_4__.a,null,userPage.content.map(user=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_5__.a,{key:user.id},user.email)))))})}.call(this,__webpack_require__(26)(module))},2283:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),function(module){var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),_storybook_react__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(14),_Avatar__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(102),_AvatarStack__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(353),withSourceLoader=__webpack_require__(15).withSource,__STORY__=(__webpack_require__(15).addSource,'import React from \'react\';\nimport { storiesOf } from \'@storybook/react\';\n\nimport Avatar from \'./Avatar\';\nimport AvatarStack from \'./AvatarStack\';\n\nstoriesOf(\'core|Avatar\', module)\n .addParameters({ component: Avatar })\n .add(\'default\', () => (\n
\n \n \n \n \n \n John Doe\n \n
\n ))\n .add(\'stacked avatars\', () => (\n
\n \n \n \n \n \n \n
\n ));\n'),__ADDS_MAP__={"core-avatar--stacked-avatars":{startLoc:{col:7,line:20},endLoc:{col:3,line:45},startBody:{col:26,line:20},endBody:{col:3,line:45}},"core-avatar--default":{startLoc:{col:7,line:9},endLoc:{col:3,line:19},startBody:{col:18,line:9},endBody:{col:3,line:19}}};Object(_storybook_react__WEBPACK_IMPORTED_MODULE_1__.storiesOf)("core|Avatar",module).addParameters({storySource:{source:__STORY__,locationsMap:__ADDS_MAP__}}).addDecorator(withSourceLoader(__STORY__,__ADDS_MAP__,"/Avatar.stories.tsx",[],{},"/Users/gido.manders/projecten/42/ui/src/core/Avatar",{})).addParameters({component:_Avatar__WEBPACK_IMPORTED_MODULE_2__.a}).add("default",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"text-center pt-5"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Avatar__WEBPACK_IMPORTED_MODULE_2__.a,{alt:"lg",size:"lg",src:"https://www.placecage.com/100/100"}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Avatar__WEBPACK_IMPORTED_MODULE_2__.a,{alt:"md",size:"md",src:"https://www.placecage.com/100/100"}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Avatar__WEBPACK_IMPORTED_MODULE_2__.a,{alt:"sm",size:"sm",src:"https://www.placecage.com/100/100"}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Avatar__WEBPACK_IMPORTED_MODULE_2__.a,{alt:"xs",size:"xs",src:"https://www.placecage.com/100/100"}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Avatar__WEBPACK_IMPORTED_MODULE_2__.a,{alt:"muted avatar",src:"https://www.placecage.com/100/100"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("small",{className:"text-muted"},"John Doe")))).add("stacked avatars",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"text-center"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_AvatarStack__WEBPACK_IMPORTED_MODULE_3__.a,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Avatar__WEBPACK_IMPORTED_MODULE_2__.a,{alt:"Avatar numbero 1",size:"xs",src:"https://www.placecage.com/100/100"}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Avatar__WEBPACK_IMPORTED_MODULE_2__.a,{alt:"Avatar numbero 2",size:"xs",src:"https://www.placecage.com/100/100"}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Avatar__WEBPACK_IMPORTED_MODULE_2__.a,{alt:"Avatar numbero 3",size:"xs",src:"https://www.placecage.com/100/100"}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Avatar__WEBPACK_IMPORTED_MODULE_2__.a,{alt:"Avatar numbero 4",size:"xs",src:"https://www.placecage.com/100/100"}))))}.call(this,__webpack_require__(26)(module))},2284:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),function(module){var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),_storybook_react__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(14),_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(2),reactstrap__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(43),reactstrap__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(17),_Button__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(3),withSourceLoader=__webpack_require__(15).withSource,__STORY__=(__webpack_require__(15).addSource,'import React from \'react\';\nimport { storiesOf } from \'@storybook/react\';\nimport { action } from \'@storybook/addon-actions\';\nimport { Row, Col } from \'reactstrap\';\n\nimport Button from \'./Button\';\n\nstoriesOf(\'core|buttons/Button\', module)\n .addParameters({ component: Button })\n .add(\'default\', () => {\n return (\n \n \n

Button

\n \n \n \n \n \n \n
\n \n \n

Button in progress

\n \n primary\n \n \n secondary\n \n \n success\n \n \n info\n \n \n warning\n \n \n danger\n \n
\n \n \n

Button disabled

\n \n primary\n \n \n secondary\n \n \n success\n \n \n info\n \n \n warning\n \n \n danger\n \n
\n \n
\n );\n })\n .add(\'as button with icon\', () => {\n return (\n \n \n

Button with icon

\n \n primary\n \n \n secondary\n \n \n success\n \n \n \n warning\n \n \n
\n \n \n

Button with icon right

\n \n primary\n \n \n secondary\n \n \n success\n \n \n info\n \n \n warning\n \n \n danger\n \n
\n \n \n

Button with icon in progress

\n \n primary\n \n \n secondary\n \n \n success\n \n \n info\n \n \n warning\n \n \n danger\n \n
\n \n \n

Button with icon disabled

\n \n primary\n \n \n secondary\n \n \n success\n \n \n info\n \n \n warning\n \n \n
\n \n
\n );\n })\n .add(\'icon size\', () => {\n return (\n \n \n

Button with small icon

\n \n primary\n \n \n secondary\n \n \n success\n \n \n info\n \n \n warning\n \n \n danger\n \n
\n \n \n

Button with default icon

\n \n primary\n \n \n secondary\n \n \n success\n \n \n \n warning\n \n \n
\n \n \n

Button with large icon

\n \n primary\n \n \n secondary\n \n \n success\n \n \n info\n \n \n warning\n \n \n danger\n \n
\n \n
\n );\n })\n .add(\'as outline\', () => {\n return (\n \n \n

Outline

\n \n primary\n \n \n secondary\n \n \n success\n \n \n info\n \n \n warning\n \n \n danger\n \n
\n \n \n

Outline in progress

\n \n primary\n \n \n secondary\n \n \n success\n \n \n info\n \n \n warning\n \n \n danger\n \n
\n \n \n

Outline disabled

\n \n primary\n \n \n secondary\n \n \n success\n \n \n info\n \n \n warning\n \n \n danger\n \n
\n \n
\n );\n })\n .add(\'as outline with icon\', () => {\n return (\n \n \n

Outline with icon

\n \n primary\n \n \n secondary\n \n \n success\n \n \n info\n \n \n warning\n \n \n danger\n \n
\n \n \n

Outline with icon right

\n \n primary\n \n \n secondary\n \n \n success\n \n \n info\n \n \n warning\n \n \n danger\n \n
\n \n \n

Outline with icon in progress

\n \n primary\n \n \n secondary\n \n \n success\n \n \n info\n \n \n warning\n \n \n danger\n \n
\n \n \n

Outline with icon disabled

\n \n primary\n \n \n secondary\n \n \n success\n \n \n info\n \n \n warning\n \n \n danger\n \n
\n \n
\n );\n })\n .add(\'as icon\', () => {\n return (\n \n \n

Icon

\n \n \n \n \n \n );\n });\n'),__ADDS_MAP__={"core-contentstate--with-children":{startLoc:{col:7,line:39},endLoc:{col:3,line:49},startBody:{col:24,line:39},endBody:{col:3,line:49}},"core-contentstate--loading":{startLoc:{col:7,line:36},endLoc:{col:3,line:38},startBody:{col:18,line:36},endBody:{col:3,line:38}},"core-contentstate--no-results":{startLoc:{col:7,line:27},endLoc:{col:3,line:35},startBody:{col:21,line:27},endBody:{col:3,line:35}},"core-contentstate--error":{startLoc:{col:7,line:18},endLoc:{col:3,line:26},startBody:{col:16,line:18},endBody:{col:3,line:26}},"core-contentstate--empty":{startLoc:{col:7,line:9},endLoc:{col:3,line:17},startBody:{col:16,line:9},endBody:{col:3,line:17}}};Object(_storybook_react__WEBPACK_IMPORTED_MODULE_1__.storiesOf)("core|ContentState",module).addParameters({storySource:{source:__STORY__,locationsMap:__ADDS_MAP__}}).addDecorator(withSourceLoader(__STORY__,__ADDS_MAP__,"/ContentState.stories.tsx",[],{},"/Users/gido.manders/projecten/42/ui/src/core/ContentState",{})).addParameters({component:_ContentState__WEBPACK_IMPORTED_MODULE_3__.a}).add("empty",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ContentState__WEBPACK_IMPORTED_MODULE_3__.a,{mode:"empty",title:"Accounts",subTitle:"There are no accounts yet"})).add("error",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ContentState__WEBPACK_IMPORTED_MODULE_3__.a,{mode:"error",title:"Bikes",subTitle:"All bikes are destroyed"})).add("no-results",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ContentState__WEBPACK_IMPORTED_MODULE_3__.a,{mode:"no-results",title:"Persons",subTitle:"No persons found matching criteria"})).add("loading",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ContentState__WEBPACK_IMPORTED_MODULE_3__.a,{mode:"loading",title:"Loading..."})).add("with children",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ContentState__WEBPACK_IMPORTED_MODULE_3__.a,{mode:"empty",title:"Bikes",subTitle:"There are no bikes yet"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_2__.a,{color:"info"},"Add bike")))}.call(this,__webpack_require__(26)(module))},2287:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),function(module){var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),_storybook_react__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(14),_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(2),_FlashMessage__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(135),withSourceLoader=__webpack_require__(15).withSource,__STORY__=(__webpack_require__(15).addSource,"import React from 'react';\nimport { storiesOf } from '@storybook/react';\nimport { action } from '@storybook/addon-actions';\n\nimport FlashMessage from './FlashMessage';\n\nstoriesOf('core|FlashMessage', module)\n .addParameters({ component: FlashMessage })\n .add('default', () => {\n return (\n <>\n \n Success\n \n \n Warning\n \n \n Warning\n \n \n Info\n \n \n );\n });\n"),__ADDS_MAP__={"core-flashmessage--default":{startLoc:{col:7,line:9},endLoc:{col:3,line:26},startBody:{col:18,line:9},endBody:{col:3,line:26}}};Object(_storybook_react__WEBPACK_IMPORTED_MODULE_1__.storiesOf)("core|FlashMessage",module).addParameters({storySource:{source:__STORY__,locationsMap:__ADDS_MAP__}}).addDecorator(withSourceLoader(__STORY__,__ADDS_MAP__,"/FlashMessage.stories.tsx",[],{},"/Users/gido.manders/projecten/42/ui/src/core/FlashMessage",{})).addParameters({component:_FlashMessage__WEBPACK_IMPORTED_MODULE_3__.a}).add("default",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_FlashMessage__WEBPACK_IMPORTED_MODULE_3__.a,{color:"success",onClose:Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)("success closed")},"Success"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_FlashMessage__WEBPACK_IMPORTED_MODULE_3__.a,{color:"danger",onClose:Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)("danger closed")},"Warning"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_FlashMessage__WEBPACK_IMPORTED_MODULE_3__.a,{color:"warning",onClose:Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)("warning closed")},"Warning"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_FlashMessage__WEBPACK_IMPORTED_MODULE_3__.a,{color:"info",onClose:Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)("info closed")},"Info")))}.call(this,__webpack_require__(26)(module))},2288:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),function(module){var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),_storybook_react__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(14),_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(2),_Icon__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(52),withSourceLoader=__webpack_require__(15).withSource,__STORY__=(__webpack_require__(15).addSource,'import React from \'react\';\nimport { storiesOf } from \'@storybook/react\';\nimport { action } from \'@storybook/addon-actions\';\n\nimport Icon from \'./Icon\';\n\nstoriesOf(\'core|Icons\', module)\n .addParameters({ component: Icon })\n .add(\'available icons\', () => {\n return (\n \n );\n })\n .add(\'examples\', () => {\n return (\n
\n \n \n \n \n \n \n \n \n \n \n \n
\n );\n });\n'),__ADDS_MAP__={"core-icons--examples":{startLoc:{col:7,line:22},endLoc:{col:3,line:38},startBody:{col:19,line:22},endBody:{col:3,line:38}},"core-icons--available-icons":{startLoc:{col:7,line:9},endLoc:{col:3,line:21},startBody:{col:26,line:9},endBody:{col:3,line:21}}};Object(_storybook_react__WEBPACK_IMPORTED_MODULE_1__.storiesOf)("core|Icons",module).addParameters({storySource:{source:__STORY__,locationsMap:__ADDS_MAP__}}).addDecorator(withSourceLoader(__STORY__,__ADDS_MAP__,"/Icon.stories.tsx",[],{},"/Users/gido.manders/projecten/42/ui/src/core/Icon",{})).addParameters({component:_Icon__WEBPACK_IMPORTED_MODULE_3__.a}).add("available icons",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("iframe",{style:{height:"100vh",width:"100%",border:0},title:"Material.io icons",src:"https://material.io/tools/icons/?icon=call_made&style=baseline"})).add("examples",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"d-flex flex-column align-items-center"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_3__.a,{icon:"child_care",color:"danger"}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_3__.a,{icon:"adb",color:"info"}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_3__.a,{icon:"restaurant",color:"muted"}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_3__.a,{icon:"train",color:"primary"}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_3__.a,{icon:"wb_sunny",color:"warning"}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_3__.a,{icon:"info",size:144}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_3__.a,{icon:"info",size:20}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_3__.a,{icon:"drafts"}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_3__.a,{icon:"drafts",disabled:!0}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_3__.a,{icon:"timer_3",onClick:Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)("timer clicked")}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_3__.a,{icon:"home",disabled:!0,onClick:Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)("timer clicked")})))}.call(this,__webpack_require__(26)(module))},2289:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),function(module){var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),_storybook_react__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(14),reactstrap__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(82),_Icon_Icon__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(52),_InfoBadge__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(175),withSourceLoader=__webpack_require__(15).withSource,__STORY__=(__webpack_require__(15).addSource,'import React from \'react\';\nimport { storiesOf } from \'@storybook/react\';\nimport { Button } from \'reactstrap\';\nimport Icon from \'../Icon/Icon\';\n\nimport InfoBadge from \'./InfoBadge\';\n\nstoriesOf(\'core|InfoBadge\', module)\n .addParameters({ component: InfoBadge })\n .add(\'default\', () => {\n return (\n
\n \n \n \n
\n
\n \n Unread messages\n \n
\n
\n \n \n \n
\n
\n \n \n \n
\n
\n \n \n \n
\n
\n
\n );\n });\n'),__ADDS_MAP__={"core-infobadge--default":{startLoc:{col:7,line:10},endLoc:{col:3,line:40},startBody:{col:18,line:10},endBody:{col:3,line:40}}};Object(_storybook_react__WEBPACK_IMPORTED_MODULE_1__.storiesOf)("core|InfoBadge",module).addParameters({storySource:{source:__STORY__,locationsMap:__ADDS_MAP__}}).addDecorator(withSourceLoader(__STORY__,__ADDS_MAP__,"/InfoBadge.stories.tsx",[],{},"/Users/gido.manders/projecten/42/ui/src/core/InfoBadge",{})).addParameters({component:_InfoBadge__WEBPACK_IMPORTED_MODULE_4__.a}).add("default",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"text-center mt-5"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_InfoBadge__WEBPACK_IMPORTED_MODULE_4__.a,{value:1,color:"primary"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon_Icon__WEBPACK_IMPORTED_MODULE_3__.a,{icon:"face"})),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("br",null),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("br",null),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_InfoBadge__WEBPACK_IMPORTED_MODULE_4__.a,{value:5,color:"success"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("strong",null,"Unread messages")),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("br",null),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("br",null),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_InfoBadge__WEBPACK_IMPORTED_MODULE_4__.a,{value:25,color:"warning"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_2__.a,{color:"primary"},"Unread messages")),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("br",null),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("br",null),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_InfoBadge__WEBPACK_IMPORTED_MODULE_4__.a,{value:1e3,color:"danger"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_2__.a,{color:"success"},"Spam folder")),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("br",null),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("br",null),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_InfoBadge__WEBPACK_IMPORTED_MODULE_4__.a,{value:"!",color:"warning"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_2__.a,{color:"danger"},"Self destruct")),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("br",null),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("br",null)))}.call(this,__webpack_require__(26)(module))},2290:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),function(module){var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),_storybook_react__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(14),_Loading__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(109),withSourceLoader=__webpack_require__(15).withSource,__STORY__=(__webpack_require__(15).addSource,"import React from 'react';\nimport { storiesOf } from '@storybook/react';\n\nimport Loading from './Loading';\n\nstoriesOf('core|Loading', module)\n .addParameters({ component: Loading })\n .add('default', () => {\n return ;\n })\n .add('custom text', () => {\n return (\n \n We are loading the world!\n \n );\n });\n"),__ADDS_MAP__={"core-loading--custom-text":{startLoc:{col:7,line:11},endLoc:{col:3,line:17},startBody:{col:22,line:11},endBody:{col:3,line:17}},"core-loading--default":{startLoc:{col:7,line:8},endLoc:{col:3,line:10},startBody:{col:18,line:8},endBody:{col:3,line:10}}};Object(_storybook_react__WEBPACK_IMPORTED_MODULE_1__.storiesOf)("core|Loading",module).addParameters({storySource:{source:__STORY__,locationsMap:__ADDS_MAP__}}).addDecorator(withSourceLoader(__STORY__,__ADDS_MAP__,"/Loading.stories.tsx",[],{},"/Users/gido.manders/projecten/42/ui/src/core/Loading",{})).addParameters({component:_Loading__WEBPACK_IMPORTED_MODULE_2__.a}).add("default",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Loading__WEBPACK_IMPORTED_MODULE_2__.a,null)).add("custom text",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Loading__WEBPACK_IMPORTED_MODULE_2__.a,null,"We are ",react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("b",null,"loading")," the world!"))}.call(this,__webpack_require__(26)(module))},2291:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),function(module){var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),_storybook_react__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(14),_LoadingPage__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(214),withSourceLoader=__webpack_require__(15).withSource,__STORY__=(__webpack_require__(15).addSource,"import React from 'react';\nimport { storiesOf } from '@storybook/react';\n\nimport LoadingPage from './LoadingPage';\n\nstoriesOf('core|LoadingPage', module)\n .addParameters({ component: LoadingPage })\n .add('default', () => {\n return ;\n })\n .add('custom height', () => {\n return ;\n })\n .add('custom style', () => {\n return ;\n });\n"),__ADDS_MAP__={"core-loadingpage--custom-style":{startLoc:{col:7,line:14},endLoc:{col:3,line:16},startBody:{col:23,line:14},endBody:{col:3,line:16}},"core-loadingpage--custom-height":{startLoc:{col:7,line:11},endLoc:{col:3,line:13},startBody:{col:24,line:11},endBody:{col:3,line:13}},"core-loadingpage--default":{startLoc:{col:7,line:8},endLoc:{col:3,line:10},startBody:{col:18,line:8},endBody:{col:3,line:10}}};Object(_storybook_react__WEBPACK_IMPORTED_MODULE_1__.storiesOf)("core|LoadingPage",module).addParameters({storySource:{source:__STORY__,locationsMap:__ADDS_MAP__}}).addDecorator(withSourceLoader(__STORY__,__ADDS_MAP__,"/LoadingPage.stories.tsx",[],{},"/Users/gido.manders/projecten/42/ui/src/core/LoadingPage",{})).addParameters({component:_LoadingPage__WEBPACK_IMPORTED_MODULE_2__.a}).add("default",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_LoadingPage__WEBPACK_IMPORTED_MODULE_2__.a,{className:"mt-0"})).add("custom height",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_LoadingPage__WEBPACK_IMPORTED_MODULE_2__.a,{height:200})).add("custom style",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_LoadingPage__WEBPACK_IMPORTED_MODULE_2__.a,{style:{backgroundColor:"red"}}))}.call(this,__webpack_require__(26)(module))},2292:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),function(module){var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),_storybook_react__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(14),_MoreOrLess__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(210),withSourceLoader=__webpack_require__(15).withSource,__STORY__=(__webpack_require__(15).addSource,"import React from 'react';\nimport { storiesOf } from '@storybook/react';\n\nimport MoreOrLess from './MoreOrLess';\n\nstoriesOf('core|MoreOrLess', module)\n .addParameters({ component: MoreOrLess })\n .add('default', () => {\n return (\n
\n (\n {label} \n )\n )}\n />\n
\n );\n });\n"),__ADDS_MAP__={"core-moreorless--default":{startLoc:{col:7,line:8},endLoc:{col:3,line:21},startBody:{col:18,line:8},endBody:{col:3,line:21}}};Object(_storybook_react__WEBPACK_IMPORTED_MODULE_1__.storiesOf)("core|MoreOrLess",module).addParameters({storySource:{source:__STORY__,locationsMap:__ADDS_MAP__}}).addDecorator(withSourceLoader(__STORY__,__ADDS_MAP__,"/MoreOrLess.stories.tsx",[],{},"/Users/gido.manders/projecten/42/ui/src/core/MoreOrLess",{})).addParameters({component:_MoreOrLess__WEBPACK_IMPORTED_MODULE_2__.a}).add("default",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"text-center"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_MoreOrLess__WEBPACK_IMPORTED_MODULE_2__.a,{limit:3,content:["aap","noot","mies","huis","boom","schip"].map(label=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span",{key:label},label," "))})))}.call(this,__webpack_require__(26)(module))},2293:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),function(module){var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),_storybook_react__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(14),react_router_dom__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(217),_NavigationItem__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(194),withSourceLoader=__webpack_require__(15).withSource,__STORY__=(__webpack_require__(15).addSource,'import React from \'react\';\nimport { storiesOf } from \'@storybook/react\';\nimport { BrowserRouter } from \'react-router-dom\';\n\nimport NavigationItem from \'./NavigationItem\';\n\nstoriesOf(\'core|NavigationItem\', module)\n .addParameters({ component: NavigationItem })\n .add(\'default\', () => {\n return (\n \n \n \n );\n })\n .add(\'with show boolean\', () => {\n return (\n \n \n \n );\n })\n .add(\'with show as function\', () => {\n return (\n \n true}\n to="/dashboard"\n icon="dashboard"\n text="Dashboard"\n />\n \n );\n })\n .add(\'with exact is false\', () => {\n return (\n \n \n \n );\n });\n'),__ADDS_MAP__={"core-navigationitem--with-exact-is-false":{startLoc:{col:7,line:40},endLoc:{col:3,line:51},startBody:{col:30,line:40},endBody:{col:3,line:51}},"core-navigationitem--with-show-as-function":{startLoc:{col:7,line:28},endLoc:{col:3,line:39},startBody:{col:32,line:28},endBody:{col:3,line:39}},"core-navigationitem--with-show-boolean":{startLoc:{col:7,line:16},endLoc:{col:3,line:27},startBody:{col:28,line:16},endBody:{col:3,line:27}},"core-navigationitem--default":{startLoc:{col:7,line:9},endLoc:{col:3,line:15},startBody:{col:18,line:9},endBody:{col:3,line:15}}};Object(_storybook_react__WEBPACK_IMPORTED_MODULE_1__.storiesOf)("core|NavigationItem",module).addParameters({storySource:{source:__STORY__,locationsMap:__ADDS_MAP__}}).addDecorator(withSourceLoader(__STORY__,__ADDS_MAP__,"/Navigation.stories.tsx",[],{},"/Users/gido.manders/projecten/42/ui/src/core/NavigationItem",{})).addParameters({component:_NavigationItem__WEBPACK_IMPORTED_MODULE_3__.a}).add("default",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_2__.a,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_NavigationItem__WEBPACK_IMPORTED_MODULE_3__.a,{to:"/dashboard",icon:"dashboard",text:"Dashboard"}))).add("with show boolean",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_2__.a,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_NavigationItem__WEBPACK_IMPORTED_MODULE_3__.a,{show:!0,to:"/dashboard",icon:"dashboard",text:"Dashboard"}))).add("with show as function",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_2__.a,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_NavigationItem__WEBPACK_IMPORTED_MODULE_3__.a,{show:()=>!0,to:"/dashboard",icon:"dashboard",text:"Dashboard"}))).add("with exact is false",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_2__.a,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_NavigationItem__WEBPACK_IMPORTED_MODULE_3__.a,{to:"/dashboard",icon:"dashboard",text:"Dashboard",exact:!1})))}.call(this,__webpack_require__(26)(module))},2294:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),function(module){var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),_storybook_react__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(14),_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(2),_OpenCloseModal__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(123),reactstrap__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(23),_Button_Button__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(3),_form_RadioGroup_RadioGroup__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(51),withSourceLoader=__webpack_require__(15).withSource,__STORY__=(__webpack_require__(15).addSource,"import React, { useState } from 'react';\nimport { storiesOf } from '@storybook/react';\nimport { action } from '@storybook/addon-actions';\n\nimport { OpenCloseModal } from './OpenCloseModal';\nimport { Card } from 'reactstrap';\nimport Button from '../Button/Button';\nimport RadioGroup from '../../form/RadioGroup/RadioGroup';\n\nstoriesOf('core|OpenCloseModal', module)\n .add('basic', () => {\n const [isOpen, setIsOpen] = useState(false);\n const [inProgress, setInProgress] = useState(false);\n const [choice, setChoice] = useState();\n\n function onSave() {\n action('save button was clicked');\n\n setInProgress(true);\n\n setTimeout(() => {\n setIsOpen(false);\n }, 2000);\n }\n\n function onClose() {\n action('modal was closed');\n setIsOpen(false);\n }\n\n return (\n \n \n \n option}\n />\n \n \n );\n })\n .add('without heading', () => {\n const [isOpen, setIsOpen] = useState(false);\n\n return (\n \n \n setIsOpen(false)}\n onClose={() => setIsOpen(false)}\n text={{ save: 'Yes', cancel: 'No' }}\n >\n

\n You have to take a break once in a while. Did you go for a walk\n outside to breathe some fresh air?\n

\n \n
\n );\n })\n .add('without buttons', () => {\n const [isOpen, setIsOpen] = useState(false);\n\n function onClose() {\n setIsOpen(false);\n }\n\n return (\n \n \n \n

\n You need to wash your hands if you want to prevent getting Corona\n virus.\n

\n \n
\n );\n })\n .add('custom button text', () => {\n const [isOpen, setIsOpen] = useState(false);\n const [choice, setChoice] = useState();\n\n function onSave() {\n alert(`You chose to ${choice.value} the diamond`);\n setIsOpen(false);\n }\n\n function onClose() {\n alert(\n `Darn! You tricked and the diamond fell in an endless hole in the ground...`\n );\n setIsOpen(false);\n }\n\n return (\n \n

You found a box!

\n \n \n

Inside the box you find a diamond. What do you want to do?

\n option.label}\n />\n \n
\n );\n });\n"),__ADDS_MAP__={"core-openclosemodal--custom-button-text":{startLoc:{col:7,line:98},endLoc:{col:3,line:143},startBody:{col:29,line:98},endBody:{col:3,line:143}},"core-openclosemodal--without-buttons":{startLoc:{col:7,line:75},endLoc:{col:3,line:97},startBody:{col:26,line:75},endBody:{col:3,line:97}},"core-openclosemodal--without-heading":{startLoc:{col:7,line:55},endLoc:{col:3,line:74},startBody:{col:26,line:55},endBody:{col:3,line:74}},"core-openclosemodal--basic":{startLoc:{col:7,line:11},endLoc:{col:3,line:54},startBody:{col:16,line:11},endBody:{col:3,line:54}}};Object(_storybook_react__WEBPACK_IMPORTED_MODULE_1__.storiesOf)("core|OpenCloseModal",module).addParameters({storySource:{source:__STORY__,locationsMap:__ADDS_MAP__}}).addDecorator(withSourceLoader(__STORY__,__ADDS_MAP__,"/OpenCloseModal.stories.tsx",[],{},"/Users/gido.manders/projecten/42/ui/src/core/OpenCloseModal",{})).add("basic",()=>{const[isOpen,setIsOpen]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(!1),[inProgress,setInProgress]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(!1),[choice,setChoice]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)();return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_4__.a,{body:!0},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Button_Button__WEBPACK_IMPORTED_MODULE_5__.a,{onClick:()=>setIsOpen(!0)},"Start inquiry"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_OpenCloseModal__WEBPACK_IMPORTED_MODULE_3__.a,{isOpen:isOpen,inProgress:inProgress,onClose:function onClose(){Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)("modal was closed"),setIsOpen(!1)},onSave:function onSave(){Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)("save button was clicked"),setInProgress(!0),setTimeout(()=>{setIsOpen(!1)},2e3)},label:"What are you doing?"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_form_RadioGroup_RadioGroup__WEBPACK_IMPORTED_MODULE_6__.b,{value:choice,onChange:setChoice,options:["Watching a movie","I work at 42, the most awesome company in the world!","Nothing"],optionForValue:option=>option})))}).add("without heading",()=>{const[isOpen,setIsOpen]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(!1);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_4__.a,{body:!0},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Button_Button__WEBPACK_IMPORTED_MODULE_5__.a,{onClick:()=>setIsOpen(!0)},"Inspire me"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_OpenCloseModal__WEBPACK_IMPORTED_MODULE_3__.a,{isOpen:isOpen,onSave:()=>setIsOpen(!1),onClose:()=>setIsOpen(!1),text:{save:"Yes",cancel:"No"}},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p",null,"You have to take a break once in a while. Did you go for a walk outside to breathe some fresh air?")))}).add("without buttons",()=>{const[isOpen,setIsOpen]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(!1);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_4__.a,{body:!0},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Button_Button__WEBPACK_IMPORTED_MODULE_5__.a,{onClick:()=>setIsOpen(!0)},"What does Baymax say?"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_OpenCloseModal__WEBPACK_IMPORTED_MODULE_3__.a,{isOpen:isOpen,onClose:function onClose(){setIsOpen(!1)},label:"Your personal health companion"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p",null,"You need to wash your hands if you want to prevent getting Corona virus.")))}).add("custom button text",()=>{const[isOpen,setIsOpen]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(!1),[choice,setChoice]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)();return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_4__.a,{body:!0},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p",null,"You found a box!"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Button_Button__WEBPACK_IMPORTED_MODULE_5__.a,{onClick:()=>setIsOpen(!0)},"Check what's inside"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_OpenCloseModal__WEBPACK_IMPORTED_MODULE_3__.a,{isOpen:isOpen,onClose:function onClose(){alert("Darn! You tricked and the diamond fell in an endless hole in the ground..."),setIsOpen(!1)},onSave:function onSave(){alert(`You chose to ${choice.value} the diamond`),setIsOpen(!1)},label:"It's a special gift!",text:{save:"Confirm",cancel:""}},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p",null,"Inside the box you find a diamond. What do you want to do?"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_form_RadioGroup_RadioGroup__WEBPACK_IMPORTED_MODULE_6__.b,{value:choice,onChange:setChoice,options:[{label:"Sell it!",value:"sell"},{label:"Put it in my pocket",value:"store"}],optionForValue:option=>option.label})))})}.call(this,__webpack_require__(26)(module))},2295:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),function(module){var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),_storybook_react__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(14),_Pager__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(212),_utilities_page_page__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(126),withSourceLoader=__webpack_require__(15).withSource,__STORY__=(__webpack_require__(15).addSource,"import React, { useState } from 'react';\nimport { storiesOf } from '@storybook/react';\n\nimport Pager from './Pager';\nimport { pageOf } from '../../utilities/page/page';\n\nstoriesOf('core|Pager', module)\n .addParameters({ component: Pager })\n .add('default', () => {\n const [pageNumber, setPageNumber] = useState(1);\n\n const page = pageOf([1, 2, 3, 4, 5, 6, 7, 8, 9, 10], pageNumber, 2);\n\n return (\n
\n

You are on page {pageNumber}

\n\n \n
\n );\n });\n"),__ADDS_MAP__={"core-pager--default":{startLoc:{col:7,line:9},endLoc:{col:3,line:21},startBody:{col:18,line:9},endBody:{col:3,line:21}}};Object(_storybook_react__WEBPACK_IMPORTED_MODULE_1__.storiesOf)("core|Pager",module).addParameters({storySource:{source:__STORY__,locationsMap:__ADDS_MAP__}}).addDecorator(withSourceLoader(__STORY__,__ADDS_MAP__,"/Pager.stories.tsx",[],{},"/Users/gido.manders/projecten/42/ui/src/core/Pager",{})).addParameters({component:_Pager__WEBPACK_IMPORTED_MODULE_2__.a}).add("default",()=>{const[pageNumber,setPageNumber]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(1),page=Object(_utilities_page_page__WEBPACK_IMPORTED_MODULE_3__.a)([1,2,3,4,5,6,7,8,9,10],pageNumber,2);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"text-center"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h2",null,"You are on page ",pageNumber),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Pager__WEBPACK_IMPORTED_MODULE_2__.a,{page:page,onChange:setPageNumber}))})}.call(this,__webpack_require__(26)(module))},2296:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),function(module){var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),_storybook_react__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(14),_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(2),_Pagination__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(211),withSourceLoader=__webpack_require__(15).withSource,__STORY__=(__webpack_require__(15).addSource,"import React from 'react';\nimport { storiesOf } from '@storybook/react';\nimport { action } from '@storybook/addon-actions';\n\nimport Pagination from './Pagination';\n\nstoriesOf('core|Pagination', module)\n .addParameters({ component: Pagination })\n .add('default', () => {\n const page = {\n content: [1, 2, 3],\n last: false,\n totalElements: 100,\n totalPages: 10,\n size: 10,\n number: 5,\n first: false,\n numberOfElements: 10\n };\n\n return (\n
\n \n
\n );\n });\n"),__ADDS_MAP__={"core-pagination--default":{startLoc:{col:7,line:9},endLoc:{col:3,line:26},startBody:{col:18,line:9},endBody:{col:3,line:26}}};Object(_storybook_react__WEBPACK_IMPORTED_MODULE_1__.storiesOf)("core|Pagination",module).addParameters({storySource:{source:__STORY__,locationsMap:__ADDS_MAP__}}).addDecorator(withSourceLoader(__STORY__,__ADDS_MAP__,"/Pagination.stories.tsx",[],{},"/Users/gido.manders/projecten/42/ui/src/core/Pagination",{})).addParameters({component:_Pagination__WEBPACK_IMPORTED_MODULE_3__.a}).add("default",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"text-center"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Pagination__WEBPACK_IMPORTED_MODULE_3__.a,{page:{content:[1,2,3],last:!1,totalElements:100,totalPages:10,size:10,number:5,first:!1,numberOfElements:10},onChange:Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)("page changed")})))}.call(this,__webpack_require__(26)(module))},2297:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),function(module){var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),_storybook_react__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(14),_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(2),reactstrap__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(43),reactstrap__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(17),reactstrap__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(83),reactstrap__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(81),reactstrap__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__(23),reactstrap__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__(937),reactstrap__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__(512),reactstrap__WEBPACK_IMPORTED_MODULE_10__=__webpack_require__(2339),_Popover__WEBPACK_IMPORTED_MODULE_11__=__webpack_require__(53),_Tag_Tag__WEBPACK_IMPORTED_MODULE_12__=__webpack_require__(37),_ConfirmButton_ConfirmButton__WEBPACK_IMPORTED_MODULE_13__=__webpack_require__(70),_Button_Button__WEBPACK_IMPORTED_MODULE_14__=__webpack_require__(3),_OpenCloseModal_OpenCloseModal__WEBPACK_IMPORTED_MODULE_15__=__webpack_require__(123),withSourceLoader=__webpack_require__(15).withSource,__STORY__=(__webpack_require__(15).addSource,'import React, { useState } from \'react\';\nimport { storiesOf } from \'@storybook/react\';\nimport { action } from \'@storybook/addon-actions\';\nimport {\n Card,\n CardBody,\n CardFooter,\n CardHeader,\n Col,\n ListGroup,\n ListGroupItem,\n Row\n} from \'reactstrap\';\n\nimport Popover from \'./Popover\';\nimport Tag from \'../Tag/Tag\';\n\nimport ConfirmButton from \'../ConfirmButton/ConfirmButton\';\nimport Button from \'../Button/Button\';\nimport { OpenCloseModal } from \'../OpenCloseModal/OpenCloseModal\';\n\nstoriesOf(\'core|Popover\', module)\n .addParameters({ component: Popover })\n .add(\'default\', () => (\n
\n \n \n }>\n \n \n\n Can be wrapped around any component}>\n \n \n\n \n \n \n\n Hover this button!}>\n \n \n \n \n
\n ))\n\n .add(\'taking control\', () => {\n const [isOpen, setIsOpen] = useState(false);\n\n return (\n
\n \n \n Status: {isOpen ? \'opened\' : \'closed\'}\n \n \n \n \n \n \n

\n Note: you can take complete controll over the Popover by using the{\' \'}\n

isOpen
prop. Once you\n make it
true
or{\' \'}\n
false
the hover behavior\n will be disabled.\n

\n \n
\n
\n );\n })\n\n .add(\'on click outside\', () => {\n const [isOpen, setIsOpen] = useState(false);\n\n return (\n
\n \n \n Status: {isOpen ? \'opened\' : \'closed\'}\n setIsOpen(false)}\n target="Open"\n >\n \n \n \n \n \n

\n Note: you can take complete controll over the Popover by using the{\' \'}\n

isOpen
prop. Once you\n make it
true
or{\' \'}\n
false
the hover behavior\n will be disabled.\n

\n\n

\n In combination with{\' \'}\n

onClickOutside
you can\n close the popover when clicked anywhere outside the popover.\n

\n \n
\n
\n );\n })\n\n .add(\'alignment\', () => (\n <>\n
Alignment
\n \n \n }\n placement="bottom"\n >\n Placement bottom\n \n\n }\n placement="left"\n >\n Placement left\n \n }\n placement="right"\n >\n Placement right\n \n\n }\n placement="top"\n >\n Placement top\n \n \n \n
\n\n
Alignment-modifier
\n \n \n Hover me! }\n placement="right-start"\n >\n right-start\n \n\n Hover me! } placement="right">\n right\n \n\n Hover me! } placement="right-end">\n right-end\n \n \n \n \n ))\n\n .add(\'distance and offset\', () => (\n <>\n
Distance
\n \n \n }\n distance={15}\n >\n far away\n \n\n }>\n default distance\n \n\n }\n distance={3}\n >\n very close\n \n \n \n\n
Offset
\n \n \n }\n offset={100}\n >\n positive offset\n \n\n }>\n default offset\n \n\n }\n offset={-100}\n >\n negative offset\n \n \n \n \n ))\n\n .add(\'custom wrapper\', () => (\n <>\n
Custom wrapper
\n \n \n \n By default, my target is wrapped in a span\n \n\n \n You can change that with the tag property\n \n \n \n \n ));\n\nfunction TinyCrud() {\n const [open, setOpen] = useState(false);\n\n const persons = [\'aap\', \'noot\', \'mies\'];\n\n return (\n \n {persons.map(person => (\n \n
\n {person}\n\n
\n setOpen(true)}\n />\n\n \n
\n
\n
\n ))}\n \n \n \n\n setOpen(false)}>\n Form here?\n \n
\n );\n}\n\nfunction NiceCard() {\n return (\n \n This is a nice header\n \n Lorem ipsum, dolor sit amet consectetur adipisicing elit. Provident\n eveniet, earum corrupti dicta quidem excepturi cupiditate consequuntur\n soluta obcaecati alias nobis eaque magnam sed et fugiat facere cumque,\n quaerat laborum!\n \n Containing a footer\n \n );\n}\n'),__ADDS_MAP__={"core-popover--custom-wrapper":{startLoc:{col:7,line:219},endLoc:{col:3,line:234},startBody:{col:25,line:219},endBody:{col:3,line:234}},"core-popover--distance-and-offset":{startLoc:{col:7,line:169},endLoc:{col:3,line:217},startBody:{col:30,line:169},endBody:{col:3,line:217}},"core-popover--alignment":{startLoc:{col:7,line:112},endLoc:{col:3,line:167},startBody:{col:20,line:112},endBody:{col:3,line:167}},"core-popover--on-click-outside":{startLoc:{col:7,line:75},endLoc:{col:3,line:110},startBody:{col:27,line:75},endBody:{col:3,line:110}},"core-popover--taking-control":{startLoc:{col:7,line:48},endLoc:{col:3,line:73},startBody:{col:25,line:48},endBody:{col:3,line:73}},"core-popover--default":{startLoc:{col:7,line:24},endLoc:{col:3,line:46},startBody:{col:18,line:24},endBody:{col:3,line:46}}};function TinyCrud(){const[open,setOpen]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(!1);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_5__.a,{style:{width:300}},["aap","noot","mies"].map(person=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_6__.a,{key:person},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"d-flex justify-content-between"},person,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Button_Button__WEBPACK_IMPORTED_MODULE_14__.a,{icon:"edit",className:"mt-1",onClick:()=>setOpen(!0)}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ConfirmButton_ConfirmButton__WEBPACK_IMPORTED_MODULE_13__.a,{dialogText:"You sure son?",icon:"delete",onConfirm:Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)("delete clicked")}))))),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_6__.a,{className:"d-flex justify-content-center"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Button_Button__WEBPACK_IMPORTED_MODULE_14__.a,{icon:"add",className:"mt-1",onClick:()=>setOpen(!0)},"Add person")),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_OpenCloseModal_OpenCloseModal__WEBPACK_IMPORTED_MODULE_15__.a,{isOpen:open,onClose:()=>setOpen(!1)},"Form here?"))}function NiceCard(){return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_7__.a,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_8__.a,null,"This is a nice header"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_9__.a,null,"Lorem ipsum, dolor sit amet consectetur adipisicing elit. Provident eveniet, earum corrupti dicta quidem excepturi cupiditate consequuntur soluta obcaecati alias nobis eaque magnam sed et fugiat facere cumque, quaerat laborum!"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_10__.a,null,"Containing a footer"))}Object(_storybook_react__WEBPACK_IMPORTED_MODULE_1__.storiesOf)("core|Popover",module).addParameters({storySource:{source:__STORY__,locationsMap:__ADDS_MAP__}}).addDecorator(withSourceLoader(__STORY__,__ADDS_MAP__,"/Popover.stories.tsx",[],{},"/Users/gido.manders/projecten/42/ui/src/core/Popover",{})).addParameters({component:_Popover__WEBPACK_IMPORTED_MODULE_11__.a}).add("default",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"d-flex flex-column"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_3__.a,{className:"my-3"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_4__.a,{className:"d-flex justify-content-around align-items-center"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Popover__WEBPACK_IMPORTED_MODULE_11__.a,{target:react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tag_Tag__WEBPACK_IMPORTED_MODULE_12__.a,{color:"danger",text:"Hover me!"})},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(TinyCrud,null)),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Popover__WEBPACK_IMPORTED_MODULE_11__.a,{target:react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h5",null,"Can be wrapped around any component")},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(TinyCrud,null)),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Popover__WEBPACK_IMPORTED_MODULE_11__.a,{target:"Plain text"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(NiceCard,null)),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Popover__WEBPACK_IMPORTED_MODULE_11__.a,{target:react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Button_Button__WEBPACK_IMPORTED_MODULE_14__.a,null,"Hover this button!")},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(TinyCrud,null)))))).add("taking control",()=>{const[isOpen,setIsOpen]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(!1);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"d-flex flex-column"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_3__.a,{className:"my-3"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_4__.a,{className:"d-flex justify-content-around align-items-center"},"Status: ",isOpen?"opened":"closed",react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Popover__WEBPACK_IMPORTED_MODULE_11__.a,{isOpen:isOpen,target:"Open"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(TinyCrud,null)),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Button_Button__WEBPACK_IMPORTED_MODULE_14__.a,{onClick:()=>setIsOpen(!isOpen)},"Show / hide")),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_4__.a,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p",null,"Note: you can take complete controll over the Popover by using the"," ",react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("pre",{className:"d-inline text-info"},"isOpen")," prop. Once you make it ",react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("pre",{className:"d-inline text-info"},"true")," or"," ",react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("pre",{className:"d-inline text-info"},"false")," the hover behavior will be disabled."))))}).add("on click outside",()=>{const[isOpen,setIsOpen]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(!1);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"d-flex flex-column"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_3__.a,{className:"my-3"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_4__.a,{className:"d-flex justify-content-around align-items-center"},"Status: ",isOpen?"opened":"closed",react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Popover__WEBPACK_IMPORTED_MODULE_11__.a,{isOpen:isOpen,onClickOutside:()=>setIsOpen(!1),target:"Open"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(NiceCard,null)),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Button_Button__WEBPACK_IMPORTED_MODULE_14__.a,{onClick:()=>setIsOpen(!0)},"Show")),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_4__.a,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p",null,"Note: you can take complete controll over the Popover by using the"," ",react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("pre",{className:"d-inline text-info"},"isOpen")," prop. Once you make it ",react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("pre",{className:"d-inline text-info"},"true")," or"," ",react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("pre",{className:"d-inline text-info"},"false")," the hover behavior will be disabled."),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p",null,"In combination with"," ",react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("pre",{className:"d-inline text-info"},"onClickOutside")," you can close the popover when clicked anywhere outside the popover."))))}).add("alignment",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h6",null,"Alignment"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_3__.a,{className:"mt-4"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_4__.a,{className:"d-flex justify-content-around"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Popover__WEBPACK_IMPORTED_MODULE_11__.a,{target:react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tag_Tag__WEBPACK_IMPORTED_MODULE_12__.a,{color:"danger",text:"Hover me!"}),placement:"bottom"},"Placement bottom"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Popover__WEBPACK_IMPORTED_MODULE_11__.a,{target:react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tag_Tag__WEBPACK_IMPORTED_MODULE_12__.a,{color:"warning",text:"Hover me!"}),placement:"left"},"Placement left"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Popover__WEBPACK_IMPORTED_MODULE_11__.a,{target:react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tag_Tag__WEBPACK_IMPORTED_MODULE_12__.a,{color:"primary",text:"Hover me!"}),placement:"right"},"Placement right"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Popover__WEBPACK_IMPORTED_MODULE_11__.a,{target:react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tag_Tag__WEBPACK_IMPORTED_MODULE_12__.a,{color:"success",text:"Hover me!"}),placement:"top"},"Placement top"))),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("hr",null),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h6",null,"Alignment-modifier"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_3__.a,{className:"mt-3"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_4__.a,{className:"d-flex justify-content-around"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Popover__WEBPACK_IMPORTED_MODULE_11__.a,{target:react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Button_Button__WEBPACK_IMPORTED_MODULE_14__.a,null," Hover me! "),placement:"right-start"},"right-start"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Popover__WEBPACK_IMPORTED_MODULE_11__.a,{target:react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Button_Button__WEBPACK_IMPORTED_MODULE_14__.a,null," Hover me! "),placement:"right"},"right"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Popover__WEBPACK_IMPORTED_MODULE_11__.a,{target:react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Button_Button__WEBPACK_IMPORTED_MODULE_14__.a,null," Hover me! "),placement:"right-end"},"right-end"))))).add("distance and offset",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h6",null,"Distance"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_3__.a,{className:"mt-4"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_4__.a,{className:"d-flex justify-content-around"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Popover__WEBPACK_IMPORTED_MODULE_11__.a,{target:react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tag_Tag__WEBPACK_IMPORTED_MODULE_12__.a,{color:"success",text:"far away"}),distance:15},"far away"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Popover__WEBPACK_IMPORTED_MODULE_11__.a,{target:react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tag_Tag__WEBPACK_IMPORTED_MODULE_12__.a,{color:"success",text:"default offset"})},"default distance"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Popover__WEBPACK_IMPORTED_MODULE_11__.a,{target:react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tag_Tag__WEBPACK_IMPORTED_MODULE_12__.a,{color:"success",text:"very close"}),distance:3},"very close"))),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h6",null,"Offset"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_3__.a,{className:"mt-4"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_4__.a,{className:"d-flex justify-content-around"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Popover__WEBPACK_IMPORTED_MODULE_11__.a,{target:react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tag_Tag__WEBPACK_IMPORTED_MODULE_12__.a,{color:"success",text:"positive offset"}),offset:100},"positive offset"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Popover__WEBPACK_IMPORTED_MODULE_11__.a,{target:react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tag_Tag__WEBPACK_IMPORTED_MODULE_12__.a,{color:"success",text:"default offset"})},"default offset"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Popover__WEBPACK_IMPORTED_MODULE_11__.a,{target:react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tag_Tag__WEBPACK_IMPORTED_MODULE_12__.a,{color:"success",text:"negative offset"}),offset:-100},"negative offset"))))).add("custom wrapper",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h6",null,"Custom wrapper"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_3__.a,{className:"mt-4"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_4__.a,{className:"d-flex justify-content-around"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Popover__WEBPACK_IMPORTED_MODULE_11__.a,{target:"My target is in a "},"By default, my target is wrapped in a span"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Popover__WEBPACK_IMPORTED_MODULE_11__.a,{target:"My target is in a
",tag:"div"},"You can change that with the tag property")))))}.call(this,__webpack_require__(26)(module))},2298:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),function(module){var Step,react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),_storybook_react__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(14),_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(2),_ProgressStepper__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(192),withSourceLoader=__webpack_require__(15).withSource,__STORY__=(__webpack_require__(15).addSource,"import React from 'react';\nimport { storiesOf } from '@storybook/react';\nimport { action } from '@storybook/addon-actions';\n\nimport ProgressStepper from './ProgressStepper';\n\nenum Step {\n PRIMARY = 'primary',\n SECONDARY = 'secondary',\n SUCCESS = 'success',\n INFO = 'info',\n WARNING = 'warning',\n DANGER = 'danger',\n LINK = 'link'\n}\n\nconst steps: Step[] = [\n Step.PRIMARY,\n Step.SECONDARY,\n Step.SUCCESS,\n Step.INFO,\n Step.WARNING,\n Step.DANGER,\n Step.LINK\n];\n\nstoriesOf('core|ProgressStepper', module)\n .addParameters({ component: ProgressStepper })\n .add('colors', () => {\n return (\n
\n \n steps={steps}\n onClick={action(`Clicked`)}\n isStepClickable={() => true}\n titleForStep={step => step}\n colorForStep={step => step}\n />\n
\n );\n });\n"),__ADDS_MAP__={"core-progressstepper--colors":{startLoc:{col:7,line:29},endLoc:{col:3,line:41},startBody:{col:17,line:29},endBody:{col:3,line:41}}};!function(Step){Step.PRIMARY="primary",Step.SECONDARY="secondary",Step.SUCCESS="success",Step.INFO="info",Step.WARNING="warning",Step.DANGER="danger",Step.LINK="link"}(Step||(Step={}));const steps=[Step.PRIMARY,Step.SECONDARY,Step.SUCCESS,Step.INFO,Step.WARNING,Step.DANGER,Step.LINK];Object(_storybook_react__WEBPACK_IMPORTED_MODULE_1__.storiesOf)("core|ProgressStepper",module).addParameters({storySource:{source:__STORY__,locationsMap:__ADDS_MAP__}}).addDecorator(withSourceLoader(__STORY__,__ADDS_MAP__,"/ProgressStepper.stories.tsx",[],{},"/Users/gido.manders/projecten/42/ui/src/core/ProgressStepper",{})).addParameters({component:_ProgressStepper__WEBPACK_IMPORTED_MODULE_3__.a}).add("colors",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"text-center"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ProgressStepper__WEBPACK_IMPORTED_MODULE_3__.a,{steps:steps,onClick:Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)("Clicked"),isStepClickable:()=>!0,titleForStep:step=>step,colorForStep:step=>step})))}.call(this,__webpack_require__(26)(module))},2299:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),function(module){__webpack_require__.d(__webpack_exports__,"Status",(function(){return Status}));var Step,Status,react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),_storybook_react__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(14),_ProgressStepper__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(192),withSourceLoader=__webpack_require__(15).withSource,__STORY__=(__webpack_require__(15).addSource,"import React, { useState } from 'react';\nimport { storiesOf } from '@storybook/react';\n\nimport ProgressStepper from './ProgressStepper';\n\nenum Step {\n BILLING = 'Billing',\n COUPON = 'Coupon',\n FINISHED = 'Finished'\n}\n\nexport enum Status {\n COMPLETE = 'complete',\n INCOMPLETE = 'incomplete',\n ERROR = 'error'\n}\n\nconst steps = [Step.BILLING, Step.COUPON, Step.FINISHED];\n\ntype ShoppingWizardState = { [x in Step]: Status };\n\nconst initialState: ShoppingWizardState = {\n [Step.BILLING]: Status.INCOMPLETE,\n [Step.COUPON]: Status.INCOMPLETE,\n [Step.FINISHED]: Status.INCOMPLETE\n};\n\nstoriesOf('core|ProgressStepper', module)\n .addParameters({ component: ProgressStepper })\n .add('example', () => {\n const [status, setStatus] = useState(initialState);\n const [current, setCurrent] = useState(Step.BILLING);\n\n function onSubmit() {\n // Add a random error chance\n if (Math.random() > 0.5) {\n setStatus({ ...status, [current]: Status.ERROR });\n return;\n }\n\n const currentIndex = steps.indexOf(current);\n const index = Math.min(steps.length - 1, currentIndex + 1);\n\n const nextStep = steps[index];\n\n setStatus({\n ...status,\n [current]: Status.COMPLETE\n });\n setCurrent(nextStep);\n }\n\n return (\n <>\n
\n \n className=\"ml-auto\"\n steps={steps}\n onClick={step => setCurrent(step)}\n isStepClickable={step => {\n // The current step is never clickable\n if (step === current) {\n return false;\n }\n\n return status[step] === Status.COMPLETE;\n }}\n titleForStep={step => step}\n colorForStep={step => {\n const stepStatus = status[step];\n\n // Error status always wins from the current status.\n if (stepStatus === Status.ERROR) {\n return 'danger';\n }\n\n // When not in error and the step is the current step make it primary\n if (step === current) {\n return 'primary';\n }\n\n return stepStatus === Status.COMPLETE ? 'success' : 'secondary';\n }}\n />\n
\n
\n

Form: {current}

\n\n \n\n

\n Press the "Submit" button to jump to the next stage. It\n will either succeed or fail randomly.\n

\n
\n \n );\n });\n"),__ADDS_MAP__={"core-progressstepper--example":{startLoc:{col:7,line:30},endLoc:{col:3,line:100},startBody:{col:18,line:30},endBody:{col:3,line:100}}};!function(Step){Step.BILLING="Billing",Step.COUPON="Coupon",Step.FINISHED="Finished"}(Step||(Step={})),function(Status){Status.COMPLETE="complete",Status.INCOMPLETE="incomplete",Status.ERROR="error"}(Status||(Status={}));const steps=[Step.BILLING,Step.COUPON,Step.FINISHED],initialState={[Step.BILLING]:Status.INCOMPLETE,[Step.COUPON]:Status.INCOMPLETE,[Step.FINISHED]:Status.INCOMPLETE};Object(_storybook_react__WEBPACK_IMPORTED_MODULE_1__.storiesOf)("core|ProgressStepper",module).addParameters({storySource:{source:__STORY__,locationsMap:__ADDS_MAP__}}).addDecorator(withSourceLoader(__STORY__,__ADDS_MAP__,"/ProgressStepperExample.stories.tsx",[],{},"/Users/gido.manders/projecten/42/ui/src/core/ProgressStepper",{})).addParameters({component:_ProgressStepper__WEBPACK_IMPORTED_MODULE_2__.a}).add("example",()=>{const[status,setStatus]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(initialState),[current,setCurrent]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(Step.BILLING);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"text-center"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ProgressStepper__WEBPACK_IMPORTED_MODULE_2__.a,{className:"ml-auto",steps:steps,onClick:step=>setCurrent(step),isStepClickable:step=>step!==current&&status[step]===Status.COMPLETE,titleForStep:step=>step,colorForStep:step=>{const stepStatus=status[step];return stepStatus===Status.ERROR?"danger":step===current?"primary":stepStatus===Status.COMPLETE?"success":"secondary"}})),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"ml-2"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h1",null,"Form: ",current),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("button",{className:"btn btn-primary",onClick:function onSubmit(){if(Math.random()>.5)return void setStatus(Object.assign(Object.assign({},status),{[current]:Status.ERROR}));const currentIndex=steps.indexOf(current),index=Math.min(steps.length-1,currentIndex+1),nextStep=steps[index];setStatus(Object.assign(Object.assign({},status),{[current]:Status.COMPLETE})),setCurrent(nextStep)}},"Submit"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p",null,'Press the "Submit" button to jump to the next stage. It will either succeed or fail randomly.')))})}.call(this,__webpack_require__(26)(module))},2300:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),function(module){var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),_storybook_react__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(14),_SearchInput__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(104),reactstrap__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(23),___WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(7),withSourceLoader=__webpack_require__(15).withSource,__STORY__=(__webpack_require__(15).addSource,"import React, { useState } from 'react';\nimport { storiesOf } from '@storybook/react';\n\nimport SearchInput from './SearchInput';\n\nimport { Card } from 'reactstrap';\nimport { Select, Button, Tooltip, Icon } from '../..';\n\nstoriesOf('core|SearchInput', module)\n .addParameters({ component: SearchInput })\n .add('default', () => {\n const [query, setQuery] = useState('');\n\n return (\n \n

You searched for: {query}

\n \n
\n );\n })\n .add('without icon', () => {\n const [query, setQuery] = useState('');\n\n return (\n \n

You searched for: {query}

\n \n
\n );\n })\n .add('with custom debounce', () => {\n const [query, setQuery] = useState('');\n\n return (\n \n

You searched for: {query}

\n \n
\n );\n })\n .add('with custom debounce settings', () => {\n const [query, setQuery] = useState('');\n\n return (\n \n

You searched for: {query}

\n \n
\n );\n })\n .add('with placeholder', () => {\n const [query, setQuery] = useState('');\n\n return (\n \n

You searched for: {query}

\n \n
\n );\n })\n .add('with label', () => {\n const [query, setQuery] = useState('');\n\n return (\n \n

You searched for: {query}

\n \n
\n );\n })\n .add('with custom label', () => {\n const [query, setQuery] = useState('');\n\n return (\n \n

You searched for: {query}

\n \n Search\n \n \n \n
\n }\n value={query}\n onChange={setQuery}\n />\n \n );\n })\n .add('with external value', () => {\n const [query, setQuery] = useState('');\n\n return (\n \n

You searched for: {query}

\n\n \n {(searchInput, { setValue }) => (\n <>\n {searchInput}\n\n \n\n option}\n options={['Maarten', 'Jeffrey']}\n onChange={value => {\n if (value) {\n setValue(value);\n }\n }}\n />\n \n )}\n \n
\n );\n });\n"),__ADDS_MAP__={"core-searchinput--with-external-value":{startLoc:{col:7,line:107},endLoc:{col:3,line:142},startBody:{col:30,line:107},endBody:{col:3,line:142}},"core-searchinput--with-custom-label":{startLoc:{col:7,line:85},endLoc:{col:3,line:106},startBody:{col:28,line:85},endBody:{col:3,line:106}},"core-searchinput--with-label":{startLoc:{col:7,line:70},endLoc:{col:3,line:84},startBody:{col:21,line:70},endBody:{col:3,line:84}},"core-searchinput--with-placeholder":{startLoc:{col:7,line:56},endLoc:{col:3,line:69},startBody:{col:27,line:56},endBody:{col:3,line:69}},"core-searchinput--with-custom-debounce-settings":{startLoc:{col:7,line:41},endLoc:{col:3,line:55},startBody:{col:40,line:41},endBody:{col:3,line:55}},"core-searchinput--with-custom-debounce":{startLoc:{col:7,line:31},endLoc:{col:3,line:40},startBody:{col:31,line:31},endBody:{col:3,line:40}},"core-searchinput--without-icon":{startLoc:{col:7,line:21},endLoc:{col:3,line:30},startBody:{col:23,line:21},endBody:{col:3,line:30}},"core-searchinput--default":{startLoc:{col:7,line:11},endLoc:{col:3,line:20},startBody:{col:18,line:11},endBody:{col:3,line:20}}};Object(_storybook_react__WEBPACK_IMPORTED_MODULE_1__.storiesOf)("core|SearchInput",module).addParameters({storySource:{source:__STORY__,locationsMap:__ADDS_MAP__}}).addDecorator(withSourceLoader(__STORY__,__ADDS_MAP__,"/SearchInput.stories.tsx",[],{},"/Users/gido.manders/projecten/42/ui/src/core/SearchInput",{})).addParameters({component:_SearchInput__WEBPACK_IMPORTED_MODULE_2__.a}).add("default",()=>{const[query,setQuery]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)("");return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_3__.a,{body:!0},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p",null,"You searched for: ",query),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_SearchInput__WEBPACK_IMPORTED_MODULE_2__.a,{value:query,onChange:setQuery}))}).add("without icon",()=>{const[query,setQuery]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)("");return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_3__.a,{body:!0},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p",null,"You searched for: ",query),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_SearchInput__WEBPACK_IMPORTED_MODULE_2__.a,{value:query,onChange:setQuery,showIcon:!1}))}).add("with custom debounce",()=>{const[query,setQuery]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)("");return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_3__.a,{body:!0},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p",null,"You searched for: ",query),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_SearchInput__WEBPACK_IMPORTED_MODULE_2__.a,{value:query,onChange:setQuery,debounce:1e3}))}).add("with custom debounce settings",()=>{const[query,setQuery]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)("");return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_3__.a,{body:!0},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p",null,"You searched for: ",query),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_SearchInput__WEBPACK_IMPORTED_MODULE_2__.a,{value:query,onChange:setQuery,debounce:1e3,debounceSettings:{leading:!0,trailing:!0}}))}).add("with placeholder",()=>{const[query,setQuery]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)("");return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_3__.a,{body:!0},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p",null,"You searched for: ",query),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_SearchInput__WEBPACK_IMPORTED_MODULE_2__.a,{value:query,onChange:setQuery,placeholder:"Search..."}))}).add("with label",()=>{const[query,setQuery]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)("");return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_3__.a,{body:!0},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p",null,"You searched for: ",query),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_SearchInput__WEBPACK_IMPORTED_MODULE_2__.a,{id:"search",label:"Search",value:query,onChange:setQuery}))}).add("with custom label",()=>{const[query,setQuery]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)("");return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_3__.a,{body:!0},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p",null,"You searched for: ",query),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_SearchInput__WEBPACK_IMPORTED_MODULE_2__.a,{id:"search",label:react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"d-flex justify-content-between"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span",null,"Search"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_4__.v,{className:"ml-1",content:"Search the following fields"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_4__.d,{icon:"info"}))),value:query,onChange:setQuery}))}).add("with external value",()=>{const[query,setQuery]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)("");return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_3__.a,{body:!0},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p",null,"You searched for: ",query),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_SearchInput__WEBPACK_IMPORTED_MODULE_2__.a,{value:query,onChange:setQuery,debounce:1e3},(searchInput,{setValue:setValue})=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment,null,searchInput,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_4__.a,{className:"mt-3",onClick:()=>setValue("")},"Clear query"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_4__.t,{className:"mt-2",id:"predefined-query",label:"Predefined queries",value:query,placeholder:"Please select a predefined query",optionForValue:option=>option,options:["Maarten","Jeffrey"],onChange:value=>{value&&setValue(value)}}))))})}.call(this,__webpack_require__(26)(module))},2301:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),function(module){var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),_storybook_react__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(14),_Spinner__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(69),withSourceLoader=__webpack_require__(15).withSource,__STORY__=(__webpack_require__(15).addSource,'import React from \'react\';\nimport { storiesOf } from \'@storybook/react\';\n\nimport Spinner from \'./Spinner\';\n\nstoriesOf(\'core|Spinner\', module)\n .addParameters({ component: Spinner })\n .add(\'default\', () => {\n return (\n
\n \n
\n \n \n \n
\n \n
\n \n
\n );\n });\n'),__ADDS_MAP__={"core-spinner--default":{startLoc:{col:7,line:8},endLoc:{col:3,line:22},startBody:{col:18,line:8},endBody:{col:3,line:22}}};Object(_storybook_react__WEBPACK_IMPORTED_MODULE_1__.storiesOf)("core|Spinner",module).addParameters({storySource:{source:__STORY__,locationsMap:__ADDS_MAP__}}).addDecorator(withSourceLoader(__STORY__,__ADDS_MAP__,"/Spinner.stories.tsx",[],{},"/Users/gido.manders/projecten/42/ui/src/core/Spinner",{})).addParameters({component:_Spinner__WEBPACK_IMPORTED_MODULE_2__.a}).add("default",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"text-center"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Spinner__WEBPACK_IMPORTED_MODULE_2__.a,{color:"",size:42}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("hr",null),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Spinner__WEBPACK_IMPORTED_MODULE_2__.a,{color:"red",size:42}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Spinner__WEBPACK_IMPORTED_MODULE_2__.a,{color:"white",size:42}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Spinner__WEBPACK_IMPORTED_MODULE_2__.a,{color:"blue",size:42}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("hr",null),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Spinner__WEBPACK_IMPORTED_MODULE_2__.a,{color:"orange",size:16}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("hr",null),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Spinner__WEBPACK_IMPORTED_MODULE_2__.a,{color:"purple",size:500})))}.call(this,__webpack_require__(26)(module))},2302:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),function(module){var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),_storybook_react__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(14),_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(2),_SubmitButton__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(143),withSourceLoader=__webpack_require__(15).withSource,__STORY__=(__webpack_require__(15).addSource,"import React from 'react';\nimport { storiesOf } from '@storybook/react';\nimport { action } from '@storybook/addon-actions';\n\nimport SubmitButton from './SubmitButton';\n\nstoriesOf('core|buttons/SubmitButton', module)\n .addParameters({ component: SubmitButton })\n .add('default', () => {\n return (\n
\n
\n
\n When not in progress:\n action('on submit')}\n inProgress={false}\n >\n Save\n \n
\n
\n
\n When in progress:\n action('on submit')} inProgress={true}>\n Save\n \n
\n
\n
\n );\n })\n .add('icon size', () => {\n return (\n
\n
\n
\n Small icon:\n action('on submit')}\n inProgress={false}\n iconSize={10}\n >\n Save\n \n
\n
\n
\n Default icon:\n action('on submit')}\n inProgress={false}\n >\n Save\n \n
\n
\n
\n Large icon:\n action('on submit')}\n inProgress={false}\n iconSize={30}\n >\n Save\n \n
\n
\n
\n );\n });\n"),__ADDS_MAP__={"core-buttons-submitbutton--icon-size":{startLoc:{col:7,line:33},endLoc:{col:3,line:71},startBody:{col:20,line:33},endBody:{col:3,line:71}},"core-buttons-submitbutton--default":{startLoc:{col:7,line:9},endLoc:{col:3,line:32},startBody:{col:18,line:9},endBody:{col:3,line:32}}};Object(_storybook_react__WEBPACK_IMPORTED_MODULE_1__.storiesOf)("core|buttons/SubmitButton",module).addParameters({storySource:{source:__STORY__,locationsMap:__ADDS_MAP__}}).addDecorator(withSourceLoader(__STORY__,__ADDS_MAP__,"/SubmitButton.stories.tsx",[],{},"/Users/gido.manders/projecten/42/ui/src/core/SubmitButton",{})).addParameters({component:_SubmitButton__WEBPACK_IMPORTED_MODULE_3__.a}).add("default",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"text-center",style:{width:500}},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"text-center"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span",null,"When not in progress:"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_SubmitButton__WEBPACK_IMPORTED_MODULE_3__.a,{onClick:()=>Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)("on submit"),inProgress:!1},"Save")),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("hr",null),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span",null,"When in progress:"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_SubmitButton__WEBPACK_IMPORTED_MODULE_3__.a,{onClick:()=>Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)("on submit"),inProgress:!0},"Save"))))).add("icon size",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"text-center",style:{width:500}},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"text-center"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span",null,"Small icon:"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_SubmitButton__WEBPACK_IMPORTED_MODULE_3__.a,{onClick:()=>Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)("on submit"),inProgress:!1,iconSize:10},"Save")),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("hr",null),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span",null,"Default icon:"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_SubmitButton__WEBPACK_IMPORTED_MODULE_3__.a,{onClick:()=>Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)("on submit"),inProgress:!1},"Save")),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("hr",null),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span",null,"Large icon:"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_SubmitButton__WEBPACK_IMPORTED_MODULE_3__.a,{onClick:()=>Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)("on submit"),inProgress:!1,iconSize:30},"Save")))))}.call(this,__webpack_require__(26)(module))},2303:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),function(module){var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),_storybook_react__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(14),_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(2),_Tag__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(37),withSourceLoader=__webpack_require__(15).withSource,__STORY__=(__webpack_require__(15).addSource,'import React from \'react\';\nimport { storiesOf } from \'@storybook/react\';\nimport { action } from \'@storybook/addon-actions\';\n\nimport Tag from \'./Tag\';\n\nstoriesOf(\'core|Tag\', module)\n .addParameters({ component: Tag })\n .add(\'default\', () => (\n
\n \n \n \n \n \n \n
\n ));\n'),__ADDS_MAP__={"core-tag--default":{startLoc:{col:7,line:9},endLoc:{col:3,line:18},startBody:{col:18,line:9},endBody:{col:3,line:18}}};Object(_storybook_react__WEBPACK_IMPORTED_MODULE_1__.storiesOf)("core|Tag",module).addParameters({storySource:{source:__STORY__,locationsMap:__ADDS_MAP__}}).addDecorator(withSourceLoader(__STORY__,__ADDS_MAP__,"/Tag.stories.tsx",[],{},"/Users/gido.manders/projecten/42/ui/src/core/Tag",{})).addParameters({component:_Tag__WEBPACK_IMPORTED_MODULE_3__.a}).add("default",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"text-center"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tag__WEBPACK_IMPORTED_MODULE_3__.a,{text:"Maarten"}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tag__WEBPACK_IMPORTED_MODULE_3__.a,{text:"Maarten",color:"success"}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tag__WEBPACK_IMPORTED_MODULE_3__.a,{text:"Maarten",color:"info"}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tag__WEBPACK_IMPORTED_MODULE_3__.a,{text:"Maarten",color:"warning"}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tag__WEBPACK_IMPORTED_MODULE_3__.a,{text:"Maarten",color:"danger"}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tag__WEBPACK_IMPORTED_MODULE_3__.a,{text:"Maarten",onRemove:Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)("on close")})))}.call(this,__webpack_require__(26)(module))},2304:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),function(module){var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),_storybook_react__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(14),_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(2),_TextButton__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(122),withSourceLoader=__webpack_require__(15).withSource,__STORY__=(__webpack_require__(15).addSource,"import React from 'react';\nimport { storiesOf } from '@storybook/react';\nimport { action } from '@storybook/addon-actions';\n\nimport TextButton from './TextButton';\n\nstoriesOf('core|buttons/TextButton', module)\n .addParameters({ component: TextButton })\n .add('default', () => {\n return (\n
\n Clear\n
\n );\n });\n"),__ADDS_MAP__={"core-buttons-textbutton--default":{startLoc:{col:7,line:9},endLoc:{col:3,line:15},startBody:{col:18,line:9},endBody:{col:3,line:15}}};Object(_storybook_react__WEBPACK_IMPORTED_MODULE_1__.storiesOf)("core|buttons/TextButton",module).addParameters({storySource:{source:__STORY__,locationsMap:__ADDS_MAP__}}).addDecorator(withSourceLoader(__STORY__,__ADDS_MAP__,"/TextButton.stories.tsx",[],{},"/Users/gido.manders/projecten/42/ui/src/core/TextButton",{})).addParameters({component:_TextButton__WEBPACK_IMPORTED_MODULE_3__.a}).add("default",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"text-center mt-5"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_TextButton__WEBPACK_IMPORTED_MODULE_3__.a,{onClick:Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)("onClick")},"Clear")))}.call(this,__webpack_require__(26)(module))},2305:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),function(module){var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),_storybook_react__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(14),_Tooltip__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(30),_Tag_Tag__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(37),reactstrap__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(43),reactstrap__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(17),reactstrap__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(82),withSourceLoader=__webpack_require__(15).withSource,__STORY__=(__webpack_require__(15).addSource,'import React from \'react\';\nimport { storiesOf } from \'@storybook/react\';\n\nimport Tooltip from \'./Tooltip\';\nimport Tag from \'../Tag/Tag\';\nimport { Button, Col, Row } from \'reactstrap\';\n\nstoriesOf(\'core|Tooltip\', module)\n .addParameters({ component: Tooltip })\n .add(\'default\', () => (\n
\n \n \n \n \n \n\n \n
Can be wrapped around any component
\n
\n\n Plain text\n\n \n \n \n \n
\n
\n ))\n\n .add(\'alignment\', () => (\n <>\n
Alignment
\n \n \n \n \n \n\n \n \n \n \n \n \n\n \n \n \n \n \n
\n\n
Alignment-modifier
\n \n \n \n \n \n\n \n \n \n\n \n \n \n \n \n \n ))\n\n .add(\'width, distance and offset\', () => (\n <>\n
Max width
\n \n \n You can set me to be narrow

}\n maxWidth={80}\n >\n \n \n\n Or you can set me to be wide...

\n }\n maxWidth={500}\n >\n \n \n \n
\n\n
\n\n
Distance
\n \n \n \n \n \n\n \n \n \n\n \n \n \n \n \n\n
Offset
\n \n \n \n \n \n\n \n \n \n\n \n \n \n \n \n \n ))\n\n .add(\'components as content\', () => (\n <>\n
Components
\n \n \n \n {\' \'}\n I can render HTML content\n \n }\n >\n

HTML

\n \n\n React components too!}\n >\n

React

\n \n\n \n

5

\n \n }\n >\n

4

\n \n }\n >\n

3

\n \n }\n >\n

2

\n \n }\n >\n

1

\n \n }\n >\n

Tooltip-ception

\n \n \n
\n\n
\n
Interactive
\n\n \n \n \n \n \n \n \n \n \n \n \n ))\n\n .add(\'custom wrapper\', () => (\n <>\n
Custom wrapper
\n \n \n \n By default, my children get wrapped in a span\n \n\n \n You can change that with the tag property\n \n \n \n \n ));\n'),__ADDS_MAP__={"core-tooltip--custom-wrapper":{startLoc:{col:7,line:221},endLoc:{col:3,line:236},startBody:{col:25,line:221},endBody:{col:3,line:236}},"core-tooltip--components-as-content":{startLoc:{col:7,line:135},endLoc:{col:3,line:219},startBody:{col:32,line:135},endBody:{col:3,line:219}},"core-tooltip--width-distance-and-offset":{startLoc:{col:7,line:74},endLoc:{col:3,line:133},startBody:{col:37,line:74},endBody:{col:3,line:133}},"core-tooltip--alignment":{startLoc:{col:7,line:32},endLoc:{col:3,line:72},startBody:{col:20,line:32},endBody:{col:3,line:72}},"core-tooltip--default":{startLoc:{col:7,line:10},endLoc:{col:3,line:30},startBody:{col:18,line:10},endBody:{col:3,line:30}}};Object(_storybook_react__WEBPACK_IMPORTED_MODULE_1__.storiesOf)("core|Tooltip",module).addParameters({storySource:{source:__STORY__,locationsMap:__ADDS_MAP__}}).addDecorator(withSourceLoader(__STORY__,__ADDS_MAP__,"/Tooltip.stories.tsx",[],{},"/Users/gido.manders/projecten/42/ui/src/core/Tooltip",{})).addParameters({component:_Tooltip__WEBPACK_IMPORTED_MODULE_2__.a}).add("default",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"d-flex flex-column"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_4__.a,{className:"my-3"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_5__.a,{className:"d-flex justify-content-around align-items-center"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tooltip__WEBPACK_IMPORTED_MODULE_2__.a,{content:"This is a tooltip"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tag_Tag__WEBPACK_IMPORTED_MODULE_3__.a,{color:"danger",text:"Hover me!"})),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tooltip__WEBPACK_IMPORTED_MODULE_2__.a,{content:"Tooltip-text"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h5",null,"Can be wrapped around any component")),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tooltip__WEBPACK_IMPORTED_MODULE_2__.a,{content:"This is a tooltip"},"Plain text"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tooltip__WEBPACK_IMPORTED_MODULE_2__.a,{content:"Buttons work too"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_6__.a,null,"Hover this button!")))))).add("alignment",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h6",null,"Alignment"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_4__.a,{className:"mt-4"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_5__.a,{className:"d-flex justify-content-around"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tooltip__WEBPACK_IMPORTED_MODULE_2__.a,{content:"Placement bottom",placement:"bottom"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tag_Tag__WEBPACK_IMPORTED_MODULE_3__.a,{color:"danger",text:"Hover me!"})),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tooltip__WEBPACK_IMPORTED_MODULE_2__.a,{content:"Placement left",placement:"left"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tag_Tag__WEBPACK_IMPORTED_MODULE_3__.a,{color:"warning",text:"Hover me!"})),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tooltip__WEBPACK_IMPORTED_MODULE_2__.a,{content:"Placement right",placement:"right"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tag_Tag__WEBPACK_IMPORTED_MODULE_3__.a,{color:"primary",text:"Hover me!"})),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tooltip__WEBPACK_IMPORTED_MODULE_2__.a,{content:"Placement top",placement:"top"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tag_Tag__WEBPACK_IMPORTED_MODULE_3__.a,{color:"success",text:"Hover me!"})))),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("hr",null),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h6",null,"Alignment-modifier"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_4__.a,{className:"mt-3"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_5__.a,{className:"d-flex justify-content-around"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tooltip__WEBPACK_IMPORTED_MODULE_2__.a,{content:"right-start",placement:"right-start"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_6__.a,{style:{height:75}}," Hover me! ")),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tooltip__WEBPACK_IMPORTED_MODULE_2__.a,{content:"right",placement:"right"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_6__.a,{style:{height:75}}," Hover me! ")),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tooltip__WEBPACK_IMPORTED_MODULE_2__.a,{content:"right-end",placement:"right-end"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_6__.a,{style:{height:75}}," Hover me! ")))))).add("width, distance and offset",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h6",null,"Max width"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_4__.a,{className:"mt-4"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_5__.a,{className:"d-flex justify-content-around"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tooltip__WEBPACK_IMPORTED_MODULE_2__.a,{content:react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p",{className:"text-center"},"You can set me to be narrow"),maxWidth:80},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tag_Tag__WEBPACK_IMPORTED_MODULE_3__.a,{color:"warning",text:"Hover me!"})),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tooltip__WEBPACK_IMPORTED_MODULE_2__.a,{content:react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p",{className:"text-center"},"Or you can set me to be wide..."),maxWidth:500},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tag_Tag__WEBPACK_IMPORTED_MODULE_3__.a,{color:"warning",text:"Hover me!"})))),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("hr",null),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h6",null,"Distance"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_4__.a,{className:"mt-4"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_5__.a,{className:"d-flex justify-content-around"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tooltip__WEBPACK_IMPORTED_MODULE_2__.a,{content:"far away",distance:15},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tag_Tag__WEBPACK_IMPORTED_MODULE_3__.a,{color:"success",text:"far away"})),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tooltip__WEBPACK_IMPORTED_MODULE_2__.a,{content:"default distance"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tag_Tag__WEBPACK_IMPORTED_MODULE_3__.a,{color:"success",text:"default offset"})),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tooltip__WEBPACK_IMPORTED_MODULE_2__.a,{content:"very close",distance:3},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tag_Tag__WEBPACK_IMPORTED_MODULE_3__.a,{color:"success",text:"very close"})))),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h6",null,"Offset"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_4__.a,{className:"mt-4"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_5__.a,{className:"d-flex justify-content-around"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tooltip__WEBPACK_IMPORTED_MODULE_2__.a,{content:"far away",offset:100},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tag_Tag__WEBPACK_IMPORTED_MODULE_3__.a,{color:"success",text:"far away"})),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tooltip__WEBPACK_IMPORTED_MODULE_2__.a,{content:"default offset"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tag_Tag__WEBPACK_IMPORTED_MODULE_3__.a,{color:"success",text:"default offset"})),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tooltip__WEBPACK_IMPORTED_MODULE_2__.a,{content:"very close",offset:-100},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tag_Tag__WEBPACK_IMPORTED_MODULE_3__.a,{color:"success",text:"very close"})))))).add("components as content",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h6",null,"Components"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_4__.a,{className:"mt-4"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_5__.a,{className:"d-flex justify-content-around"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tooltip__WEBPACK_IMPORTED_MODULE_2__.a,{interactive:!0,content:react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",null," ","I can render ",react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("b",{style:{color:"orange"}}," HTML content"))},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p",{color:"orange"},"HTML")),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tooltip__WEBPACK_IMPORTED_MODULE_2__.a,{interactive:!0,content:react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_6__.a,{color:"danger"}," React components too!")},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p",null,"React")),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tooltip__WEBPACK_IMPORTED_MODULE_2__.a,{interactive:!0,placement:"left",content:react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tooltip__WEBPACK_IMPORTED_MODULE_2__.a,{interactive:!0,placement:"left",content:react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tooltip__WEBPACK_IMPORTED_MODULE_2__.a,{interactive:!0,placement:"left",content:react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tooltip__WEBPACK_IMPORTED_MODULE_2__.a,{interactive:!0,placement:"left",content:react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tooltip__WEBPACK_IMPORTED_MODULE_2__.a,{interactive:!0,placement:"left",content:react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tooltip__WEBPACK_IMPORTED_MODULE_2__.a,{interactive:!0,content:"Pretty cool right?"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p",null,"5"))},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p",null,"4"))},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p",null,"3"))},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p",null,"2"))},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p",null,"1"))},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p",null,"Tooltip-ception")))),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("hr",null),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h6",null,"Interactive"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_4__.a,{className:"mt-4"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_5__.a,{className:"d-flex justify-content-around"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tooltip__WEBPACK_IMPORTED_MODULE_2__.a,{content:"You cannot click my contents"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tag_Tag__WEBPACK_IMPORTED_MODULE_3__.a,{color:"danger",text:"I am not interactive"})),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tooltip__WEBPACK_IMPORTED_MODULE_2__.a,{interactive:!0,content:"You can click my content!"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tag_Tag__WEBPACK_IMPORTED_MODULE_3__.a,{color:"success",text:"I am interactive!"})))))).add("custom wrapper",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h6",null,"Custom wrapper"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_4__.a,{className:"mt-4"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_5__.a,{className:"d-flex justify-content-around"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tooltip__WEBPACK_IMPORTED_MODULE_2__.a,{content:"My children are in a ",tag:"span"},"By default, my children get wrapped in a span"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tooltip__WEBPACK_IMPORTED_MODULE_2__.a,{content:"My children are in a
",tag:"div"},"You can change that with the tag property")))))}.call(this,__webpack_require__(26)(module))},2306:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),function(module){var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),_storybook_react__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(14),reactstrap__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(238),_Checkbox__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(134),_story_utils__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(5),_core_Icon__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(63),_core_Tooltip_Tooltip__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(30),withSourceLoader=__webpack_require__(15).withSource,__STORY__=(__webpack_require__(15).addSource,'import React, { useState } from \'react\';\nimport { storiesOf } from \'@storybook/react\';\nimport { Alert } from \'reactstrap\';\n\nimport Checkbox, { JarbCheckbox } from \'./Checkbox\';\nimport { FinalForm, Form } from \'../story-utils\';\n\nimport { Icon } from \'../../core/Icon\';\nimport Tooltip from \'../../core/Tooltip/Tooltip\';\n\nfunction isSClass(value?: boolean) {\n if (value !== false) {\n return undefined;\n }\n\n return \'Hero must be S class to proceed\';\n}\n\nstoriesOf(\'Form|Checkbox\', module)\n .add(\'basic\', () => {\n const [isSClass, setIsSClass] = useState(undefined);\n\n return (\n
\n \n\n {isSClass ? (\n \n This hero is of the highest\n caliber\n \n ) : null}\n \n );\n })\n .add(\'basic with indeterminate\', () => {\n const [isSClass, setIsSClass] = useState(undefined);\n\n return (\n
\n \n\n {isSClass ? (\n \n This hero is of the highest\n caliber\n \n ) : null}\n \n );\n })\n .add(\'without placeholder\', () => {\n const [isSClass, setIsSClass] = useState(undefined);\n\n return (\n
\n \n\n {isSClass ? (\n \n This hero is of the highest\n caliber\n \n ) : null}\n \n );\n })\n .add(\'with custom label\', () => {\n const [isSClass, setIsSClass] = useState(undefined);\n\n return (\n
\n \n Is S class hero\n \n \n \n
\n }\n placeholder="Whether or not the hero is S class"\n value={isSClass}\n onChange={setIsSClass}\n />\n\n {isSClass ? (\n \n This hero is of the highest\n caliber\n \n ) : null}\n \n );\n })\n .add(\'jarb\', () => {\n return (\n \n \n \n );\n })\n .add(\'jarb with indeterminate\', () => {\n return (\n \n \n \n );\n });\n'),__ADDS_MAP__={"form-checkbox--jarb-with-indeterminate":{startLoc:{col:7,line:135},endLoc:{col:3,line:152},startBody:{col:34,line:135},endBody:{col:3,line:152}},"form-checkbox--jarb":{startLoc:{col:7,line:118},endLoc:{col:3,line:134},startBody:{col:15,line:118},endBody:{col:3,line:134}},"form-checkbox--with-custom-label":{startLoc:{col:7,line:86},endLoc:{col:3,line:117},startBody:{col:28,line:86},endBody:{col:3,line:117}},"form-checkbox--without-placeholder":{startLoc:{col:7,line:65},endLoc:{col:3,line:85},startBody:{col:30,line:65},endBody:{col:3,line:85}},"form-checkbox--basic-with-indeterminate":{startLoc:{col:7,line:42},endLoc:{col:3,line:64},startBody:{col:35,line:42},endBody:{col:3,line:64}},"form-checkbox--basic":{startLoc:{col:7,line:20},endLoc:{col:3,line:41},startBody:{col:16,line:20},endBody:{col:3,line:41}}};function isSClass(value){if(!1===value)return"Hero must be S class to proceed"}Object(_storybook_react__WEBPACK_IMPORTED_MODULE_1__.storiesOf)("Form|Checkbox",module).addParameters({storySource:{source:__STORY__,locationsMap:__ADDS_MAP__}}).addDecorator(withSourceLoader(__STORY__,__ADDS_MAP__,"/Checkbox.stories.tsx",[],{},"/Users/gido.manders/projecten/42/ui/src/form/Checkbox",{})).add("basic",()=>{const[isSClass,setIsSClass]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(void 0);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Checkbox__WEBPACK_IMPORTED_MODULE_3__.b,{id:"isSClass",label:"Is S class hero",placeholder:"Whether or not the hero is S class",value:isSClass,onChange:setIsSClass}),isSClass?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_2__.a,{color:"success",className:"d-flex"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_Icon__WEBPACK_IMPORTED_MODULE_5__.a,{icon:"warning",className:"mr-1"})," This hero is of the highest caliber"):null)}).add("basic with indeterminate",()=>{const[isSClass,setIsSClass]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(void 0);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Checkbox__WEBPACK_IMPORTED_MODULE_3__.b,{id:"isSClass",label:"Is S class hero",placeholder:"Whether or not the hero is S class",value:isSClass,onChange:setIsSClass,allowIndeterminate:!0}),isSClass?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_2__.a,{color:"success",className:"d-flex"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_Icon__WEBPACK_IMPORTED_MODULE_5__.a,{icon:"warning",className:"mr-1"})," This hero is of the highest caliber"):null)}).add("without placeholder",()=>{const[isSClass,setIsSClass]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(void 0);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Checkbox__WEBPACK_IMPORTED_MODULE_3__.b,{id:"isSClass",label:"Is S class hero",value:isSClass,onChange:setIsSClass}),isSClass?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_2__.a,{color:"success",className:"d-flex"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_Icon__WEBPACK_IMPORTED_MODULE_5__.a,{icon:"warning",className:"mr-1"})," This hero is of the highest caliber"):null)}).add("with custom label",()=>{const[isSClass,setIsSClass]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(void 0);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Checkbox__WEBPACK_IMPORTED_MODULE_3__.b,{id:"isSClass",label:react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"d-flex justify-content-between"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span",null,"Is S class hero"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_Tooltip_Tooltip__WEBPACK_IMPORTED_MODULE_6__.a,{className:"ml-1",content:"An S class hero is a hero of the highest caliber"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_Icon__WEBPACK_IMPORTED_MODULE_5__.a,{icon:"info"}))),placeholder:"Whether or not the hero is S class",value:isSClass,onChange:setIsSClass}),isSClass?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_2__.a,{color:"success",className:"d-flex"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_Icon__WEBPACK_IMPORTED_MODULE_5__.a,{icon:"warning",className:"mr-1"})," This hero is of the highest caliber"):null)}).add("jarb",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.a,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Checkbox__WEBPACK_IMPORTED_MODULE_3__.a,{id:"isSClass",name:"isSClass",label:"Is S class hero",placeholder:"Whether or not the hero is S class",validators:[isSClass],jarb:{validator:"Hero.isSClass",label:"Description"}}))).add("jarb with indeterminate",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.a,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Checkbox__WEBPACK_IMPORTED_MODULE_3__.a,{id:"isSClass",name:"isSClass",label:"Is S class hero",placeholder:"Whether or not the hero is S class",validators:[isSClass],jarb:{validator:"Hero.isSClass",label:"Description"},allowIndeterminate:!0})))}.call(this,__webpack_require__(26)(module))},2307:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),function(module){var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),_storybook_react__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(14),lodash__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(16),_CheckboxMultipleSelect__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(115),_story_utils__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(5),_test_fixtures__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(12),___WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(7),withSourceLoader=__webpack_require__(15).withSource,__STORY__=(__webpack_require__(15).addSource,"import React, { useState } from 'react';\nimport { storiesOf } from '@storybook/react';\nimport { range } from 'lodash';\n\nimport CheckboxMultipleSelect, {\n JarbCheckboxMultipleSelect\n} from './CheckboxMultipleSelect';\nimport { FinalForm, Form } from '../story-utils';\nimport { pageOfUsers, userUser } from '../../test/fixtures';\nimport { User } from '../../test/types';\nimport { Icon, Tooltip } from '../..';\n\ninterface SubjectOption {\n value: string;\n label: string;\n}\n\nconst options: SubjectOption[] = range(0, 100).map(i => ({\n value: `${i}`,\n label: `Selection #${i}`\n}));\n\nstoriesOf('Form|CheckboxMultipleSelect', module)\n .add('defined options', () => {\n const [value, setValue] = useState([]);\n\n return (\n
\n
\n option.label}\n isOptionEnabled={option => option.value !== 'awesome'}\n options={options}\n value={value}\n onChange={setValue}\n />\n \n
\n );\n })\n .add('horizontal', () => {\n const [value, setValue] = useState([]);\n\n return (\n
\n
\n option.label}\n isOptionEnabled={option => option.value !== 'awesome'}\n options={options.filter((_, index) => index < 5)}\n value={value}\n onChange={setValue}\n horizontal={true}\n />\n\n

\n Disclaimer: horizontal mode works best when there\n are not too many items\n

\n \n
\n );\n })\n .add('fetched options', () => {\n const [value, setValue] = useState([]);\n\n return (\n
\n user.email}\n options={() => Promise.resolve(pageOfUsers)}\n value={value}\n onChange={setValue}\n />\n \n );\n })\n .add('custom isOptionEqual', () => {\n const [value, setValue] = useState([userUser]);\n\n return (\n
\n user.email}\n options={() => Promise.resolve(pageOfUsers)}\n isOptionEqual={(a: User, b: User) => a.id === b.id}\n value={value}\n onChange={setValue}\n />\n \n );\n })\n .add('without placeholder', () => {\n const [value, setValue] = useState([]);\n\n return (\n
\n
\n option.label}\n isOptionEnabled={option => option.value !== 'awesome'}\n options={options}\n value={value}\n onChange={setValue}\n />\n \n
\n );\n })\n .add('without label', () => {\n const [value, setValue] = useState([]);\n\n return (\n
\n
\n option.label}\n isOptionEnabled={option => option.value !== 'awesome'}\n options={options}\n value={value}\n onChange={setValue}\n />\n \n
\n );\n })\n .add('with custom label', () => {\n const [value, setValue] = useState([]);\n\n return (\n
\n
\n \n Subject\n \n \n \n
\n }\n placeholder=\"Please select your subjects\"\n optionForValue={(option: SubjectOption) => option.label}\n isOptionEnabled={option => option.value !== 'awesome'}\n options={options}\n value={value}\n onChange={setValue}\n />\n \n \n );\n })\n .add('jarb', () => {\n return (\n \n option.label}\n isOptionEnabled={option => option.value !== 'awesome'}\n options={[\n { value: 'awesome', label: 'Awesome shit' },\n { value: 'super', label: 'Super shit' },\n { value: 'great', label: 'Great shit' },\n { value: 'good', label: 'good shit' }\n ]}\n jarb={{\n validator: 'Hero.name',\n label: 'Subject'\n }}\n />\n \n );\n });\n"),__ADDS_MAP__={"form-checkboxmultipleselect--jarb":{startLoc:{col:7,line:173},endLoc:{col:3,line:196},startBody:{col:15,line:173},endBody:{col:3,line:196}},"form-checkboxmultipleselect--with-custom-label":{startLoc:{col:7,line:143},endLoc:{col:3,line:172},startBody:{col:28,line:143},endBody:{col:3,line:172}},"form-checkboxmultipleselect--without-label":{startLoc:{col:7,line:124},endLoc:{col:3,line:142},startBody:{col:24,line:124},endBody:{col:3,line:142}},"form-checkboxmultipleselect--without-placeholder":{startLoc:{col:7,line:105},endLoc:{col:3,line:123},startBody:{col:30,line:105},endBody:{col:3,line:123}},"form-checkboxmultipleselect--custom-isoptionequal":{startLoc:{col:7,line:87},endLoc:{col:3,line:104},startBody:{col:31,line:87},endBody:{col:3,line:104}},"form-checkboxmultipleselect--fetched-options":{startLoc:{col:7,line:70},endLoc:{col:3,line:86},startBody:{col:26,line:70},endBody:{col:3,line:86}},"form-checkboxmultipleselect--horizontal":{startLoc:{col:7,line:44},endLoc:{col:3,line:69},startBody:{col:21,line:44},endBody:{col:3,line:69}},"form-checkboxmultipleselect--defined-options":{startLoc:{col:7,line:24},endLoc:{col:3,line:43},startBody:{col:26,line:24},endBody:{col:3,line:43}}};const options=Object(lodash__WEBPACK_IMPORTED_MODULE_2__.range)(0,100).map(i=>({value:`${i}`,label:`Selection #${i}`}));Object(_storybook_react__WEBPACK_IMPORTED_MODULE_1__.storiesOf)("Form|CheckboxMultipleSelect",module).addParameters({storySource:{source:__STORY__,locationsMap:__ADDS_MAP__}}).addDecorator(withSourceLoader(__STORY__,__ADDS_MAP__,"/CheckboxMultipleSelect.stories.tsx",[],{},"/Users/gido.manders/projecten/42/ui/src/form/CheckboxMultipleSelect",{})).add("defined options",()=>{const[value,setValue]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)([]);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_CheckboxMultipleSelect__WEBPACK_IMPORTED_MODULE_3__.b,{id:"subject",label:"Subject",placeholder:"Please select your subjects",optionForValue:option=>option.label,isOptionEnabled:option=>"awesome"!==option.value,options:options,value:value,onChange:setValue})))}).add("horizontal",()=>{const[value,setValue]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)([]);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_CheckboxMultipleSelect__WEBPACK_IMPORTED_MODULE_3__.b,{id:"subject",label:"Subject",placeholder:"Please select your subjects",optionForValue:option=>option.label,isOptionEnabled:option=>"awesome"!==option.value,options:options.filter((_,index)=>index<5),value:value,onChange:setValue,horizontal:!0}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p",null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("strong",null,"Disclaimer:")," horizontal mode works best when there are not too many items")))}).add("fetched options",()=>{const[value,setValue]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)([]);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_CheckboxMultipleSelect__WEBPACK_IMPORTED_MODULE_3__.b,{id:"subject",label:"Subject",placeholder:"Please select your subjects",optionForValue:user=>user.email,options:()=>Promise.resolve(_test_fixtures__WEBPACK_IMPORTED_MODULE_5__.b),value:value,onChange:setValue}))}).add("custom isOptionEqual",()=>{const[value,setValue]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)([_test_fixtures__WEBPACK_IMPORTED_MODULE_5__.d]);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_CheckboxMultipleSelect__WEBPACK_IMPORTED_MODULE_3__.b,{id:"subject",label:"Subject",placeholder:"Please select your subjects",optionForValue:user=>user.email,options:()=>Promise.resolve(_test_fixtures__WEBPACK_IMPORTED_MODULE_5__.b),isOptionEqual:(a,b)=>a.id===b.id,value:value,onChange:setValue}))}).add("without placeholder",()=>{const[value,setValue]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)([]);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_CheckboxMultipleSelect__WEBPACK_IMPORTED_MODULE_3__.b,{id:"subject",label:"Subject",optionForValue:option=>option.label,isOptionEnabled:option=>"awesome"!==option.value,options:options,value:value,onChange:setValue})))}).add("without label",()=>{const[value,setValue]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)([]);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_CheckboxMultipleSelect__WEBPACK_IMPORTED_MODULE_3__.b,{id:"subject",placeholder:"Please select your subjects",optionForValue:option=>option.label,isOptionEnabled:option=>"awesome"!==option.value,options:options,value:value,onChange:setValue})))}).add("with custom label",()=>{const[value,setValue]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)([]);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_CheckboxMultipleSelect__WEBPACK_IMPORTED_MODULE_3__.b,{id:"subject",label:react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"d-flex justify-content-between"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span",null,"Subject"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_6__.v,{className:"ml-1",content:"Please select your most important subject"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_6__.d,{icon:"info"}))),placeholder:"Please select your subjects",optionForValue:option=>option.label,isOptionEnabled:option=>"awesome"!==option.value,options:options,value:value,onChange:setValue})))}).add("jarb",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.a,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_CheckboxMultipleSelect__WEBPACK_IMPORTED_MODULE_3__.a,{id:"subject",name:"subject",label:"Subject",placeholder:"Please select your subjects",optionForValue:option=>option.label,isOptionEnabled:option=>"awesome"!==option.value,options:[{value:"awesome",label:"Awesome shit"},{value:"super",label:"Super shit"},{value:"great",label:"Great shit"},{value:"good",label:"good shit"}],jarb:{validator:"Hero.name",label:"Subject"}})))}.call(this,__webpack_require__(26)(module))},2308:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),function(module){var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),_storybook_react__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(14),_ColorPicker__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(155),_story_utils__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(5),___WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(7),withSourceLoader=__webpack_require__(15).withSource,__STORY__=(__webpack_require__(15).addSource,'import React, { useState } from \'react\';\nimport { storiesOf } from \'@storybook/react\';\n\nimport ColorPicker, { JarbColorPicker } from \'./ColorPicker\';\nimport { FinalForm, Form } from \'../story-utils\';\nimport { Icon, Tooltip } from \'../..\';\n\nfunction isToDark(value?: string) {\n if (!value) {\n return undefined;\n }\n\n const c = value.substring(1); // strip #\n const rgb = parseInt(c, 16); // convert rrggbb to decimal\n const r = (rgb >> 16) & 0xff; // extract red\n const g = (rgb >> 8) & 0xff; // extract green\n const b = (rgb >> 0) & 0xff; // extract blue\n\n const luma = 0.2126 * r + 0.7152 * g + 0.0722 * b; // per ITU-R BT.709\n\n if (luma < 40) {\n return \'This color is to dark\';\n }\n\n return undefined;\n}\n\nstoriesOf(\'Form|ColorPicker\', module)\n .add(\'basic\', () => {\n const [value, setValue] = useState();\n\n return (\n
\n
\n \n \n
\n );\n })\n .add(\'basic preselected\', () => {\n const [value, setValue] = useState(\'#ff0000\');\n\n return (\n
\n
\n \n \n
\n );\n })\n .add(\'with custom label\', () => {\n const [value, setValue] = useState();\n\n return (\n
\n
\n \n Color\n \n \n \n
\n }\n placeholder="Please select your favorite color"\n value={value}\n onChange={setValue}\n />\n \n \n );\n })\n .add(\'jarb\', () => {\n return (\n \n \n \n );\n });\n'),__ADDS_MAP__={"form-colorpicker--jarb":{startLoc:{col:7,line:90},endLoc:{col:3,line:106},startBody:{col:15,line:90},endBody:{col:3,line:106}},"form-colorpicker--with-custom-label":{startLoc:{col:7,line:63},endLoc:{col:3,line:89},startBody:{col:28,line:63},endBody:{col:3,line:89}},"form-colorpicker--basic-preselected":{startLoc:{col:7,line:46},endLoc:{col:3,line:62},startBody:{col:28,line:46},endBody:{col:3,line:62}},"form-colorpicker--basic":{startLoc:{col:7,line:29},endLoc:{col:3,line:45},startBody:{col:16,line:29},endBody:{col:3,line:45}}};function isToDark(value){if(!value)return;const c=value.substring(1),rgb=parseInt(c,16);return.2126*(rgb>>16&255)+.7152*(rgb>>8&255)+.0722*(rgb>>0&255)<40?"This color is to dark":void 0}Object(_storybook_react__WEBPACK_IMPORTED_MODULE_1__.storiesOf)("Form|ColorPicker",module).addParameters({storySource:{source:__STORY__,locationsMap:__ADDS_MAP__}}).addDecorator(withSourceLoader(__STORY__,__ADDS_MAP__,"/ColorPicker.stories.tsx",[],{},"/Users/gido.manders/projecten/42/ui/src/form/ColorPicker",{})).add("basic",()=>{const[value,setValue]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)();return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_3__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ColorPicker__WEBPACK_IMPORTED_MODULE_2__.b,{id:"color",label:"Color",placeholder:"Please select your favorite color",value:value,onChange:setValue})))}).add("basic preselected",()=>{const[value,setValue]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)("#ff0000");return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_3__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ColorPicker__WEBPACK_IMPORTED_MODULE_2__.b,{id:"color",label:"Color",placeholder:"Please select your favorite color",value:value,onChange:setValue})))}).add("with custom label",()=>{const[value,setValue]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)();return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_3__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ColorPicker__WEBPACK_IMPORTED_MODULE_2__.b,{id:"color",label:react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"d-flex justify-content-between"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span",null,"Color"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_4__.v,{className:"ml-1",content:"Use the color picker to select a color"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_4__.d,{icon:"info"}))),placeholder:"Please select your favorite color",value:value,onChange:setValue})))}).add("jarb",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_3__.a,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ColorPicker__WEBPACK_IMPORTED_MODULE_2__.a,{id:"color",name:"color",label:"Color",placeholder:"Please select your favorite color",validators:[isToDark],jarb:{validator:"Hero.color",label:"Color"}})))}.call(this,__webpack_require__(26)(module))},2309:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),function(module){var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),_storybook_react__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(14),_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(2),_story_utils__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(5),_DateRangePicker__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(213),withSourceLoader=__webpack_require__(15).withSource,__STORY__=(__webpack_require__(15).addSource,"import React from 'react';\nimport { storiesOf } from '@storybook/react';\nimport { action } from '@storybook/addon-actions';\n\nimport { FinalForm, Form } from '../story-utils';\nimport DateRangePicker, { JarbDateRangePicker } from './DateRangePicker';\n\nstoriesOf('Form|DateTime/DateRangePicker', module)\n .add('basic', () => {\n return (\n
\n action('value changed')}\n from={{\n id: 'fromId',\n label: 'From Date',\n placeholder: 'Please enter a From date',\n dateFormat: 'YYYY-MM-DD',\n timeFormat: 'HH:mm:ss',\n isDateAllowed: current => current.day() !== 0 && current.day() !== 6\n }}\n to={{\n id: 'toId',\n label: 'To Date',\n placeholder: 'Please enter a To date',\n dateFormat: 'YYYY-MM-DD',\n timeFormat: 'HH:mm:ss',\n isDateAllowed: current => current.day() !== 0 && current.day() !== 6\n }}\n />\n \n );\n })\n .add('open in modal', () => {\n return (\n
\n action('value changed')}\n from={{\n id: 'fromId',\n label: 'From Date',\n placeholder: 'Please enter a From date',\n dateFormat: 'YYYY-MM-DD',\n timeFormat: 'HH:mm:ss',\n isDateAllowed: current => current.day() !== 0 && current.day() !== 6\n }}\n to={{\n id: 'toId',\n label: 'To Date',\n placeholder: 'Please enter a To date',\n dateFormat: 'YYYY-MM-DD',\n timeFormat: 'HH:mm:ss',\n isDateAllowed: current => current.day() !== 0 && current.day() !== 6\n }}\n mode={'modal'}\n />\n \n );\n })\n .add('jarb', () => {\n return (\n \n current.day() !== 0 && current.day() !== 6\n }}\n to={{\n id: 'toId',\n label: 'To Date',\n placeholder: 'Please enter a To date',\n dateFormat: 'YYYY-MM-DD',\n timeFormat: 'HH:mm:ss',\n isDateAllowed: current => current.day() !== 0 && current.day() !== 6\n }}\n />\n \n );\n });\n"),__ADDS_MAP__={"form-datetime-daterangepicker--jarb":{startLoc:{col:7,line:60},endLoc:{col:3,line:88},startBody:{col:15,line:60},endBody:{col:3,line:88}},"form-datetime-daterangepicker--open-in-modal":{startLoc:{col:7,line:34},endLoc:{col:3,line:59},startBody:{col:24,line:34},endBody:{col:3,line:59}},"form-datetime-daterangepicker--basic":{startLoc:{col:7,line:9},endLoc:{col:3,line:33},startBody:{col:16,line:9},endBody:{col:3,line:33}}};Object(_storybook_react__WEBPACK_IMPORTED_MODULE_1__.storiesOf)("Form|DateTime/DateRangePicker",module).addParameters({storySource:{source:__STORY__,locationsMap:__ADDS_MAP__}}).addDecorator(withSourceLoader(__STORY__,__ADDS_MAP__,"/DateRangePicker.stories.tsx",[],{},"/Users/gido.manders/projecten/42/ui/src/form/DateRangePicker",{})).add("basic",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_3__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_DateRangePicker__WEBPACK_IMPORTED_MODULE_4__.b,{onChange:()=>Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)("value changed"),from:{id:"fromId",label:"From Date",placeholder:"Please enter a From date",dateFormat:"YYYY-MM-DD",timeFormat:"HH:mm:ss",isDateAllowed:current=>0!==current.day()&&6!==current.day()},to:{id:"toId",label:"To Date",placeholder:"Please enter a To date",dateFormat:"YYYY-MM-DD",timeFormat:"HH:mm:ss",isDateAllowed:current=>0!==current.day()&&6!==current.day()}}))).add("open in modal",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_3__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_DateRangePicker__WEBPACK_IMPORTED_MODULE_4__.b,{onChange:()=>Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)("value changed"),from:{id:"fromId",label:"From Date",placeholder:"Please enter a From date",dateFormat:"YYYY-MM-DD",timeFormat:"HH:mm:ss",isDateAllowed:current=>0!==current.day()&&6!==current.day()},to:{id:"toId",label:"To Date",placeholder:"Please enter a To date",dateFormat:"YYYY-MM-DD",timeFormat:"HH:mm:ss",isDateAllowed:current=>0!==current.day()&&6!==current.day()},mode:"modal"}))).add("jarb",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_3__.a,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_DateRangePicker__WEBPACK_IMPORTED_MODULE_4__.a,{name:"availability",jarb:{validator:"User.availability",label:"Availability"},from:{id:"fromId",label:"From Date",placeholder:"Please enter a From date",dateFormat:"YYYY-MM-DD",timeFormat:"HH:mm:ss",isDateAllowed:current=>0!==current.day()&&6!==current.day()},to:{id:"toId",label:"To Date",placeholder:"Please enter a To date",dateFormat:"YYYY-MM-DD",timeFormat:"HH:mm:ss",isDateAllowed:current=>0!==current.day()&&6!==current.day()}})))}.call(this,__webpack_require__(26)(module))},2310:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),function(module){var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),_storybook_react__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(14),_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(2),_DateTimeInput__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(100),_story_utils__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(5),___WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(7),withSourceLoader=__webpack_require__(15).withSource,__STORY__=(__webpack_require__(15).addSource,'import React, { useState } from \'react\';\nimport { storiesOf } from \'@storybook/react\';\nimport { action } from \'@storybook/addon-actions\';\n\nimport DateTimeInput, { JarbDateTimeInput } from \'./DateTimeInput\';\nimport { FinalForm, Form } from \'../story-utils\';\nimport { Icon, Tooltip } from \'../..\';\n\nstoriesOf(\'Form|DateTime/DateTimeInput\', module)\n .add(\'date and time\', () => {\n return (\n
\n {\n return date.isBefore(new Date());\n }}\n onChange={() => action(\'value changed\')}\n />\n \n );\n })\n .add(\'date\', () => {\n return (\n
\n {\n return date.isBefore(new Date());\n }}\n onChange={() => action(\'value changed\')}\n />\n \n );\n })\n .add(\'time\', () => {\n return (\n
\n {\n return date.isBefore(new Date());\n }}\n onChange={() => action(\'value changed\')}\n />\n \n );\n })\n .add(\'with custom label\', () => {\n return (\n
\n \n Date of birth\n \n \n \n \n }\n placeholder="Please enter your date and time of birth"\n dateFormat="YYYY-MM-DD"\n timeFormat="HH:mm:ss"\n isDateAllowed={date => {\n return date.isBefore(new Date());\n }}\n onChange={() => action(\'value changed\')}\n />\n \n );\n })\n .add(\'open in modal\', () => {\n const [value, setValue] = useState();\n\n return (\n
\n {\n return date.isBefore(new Date());\n }}\n value={value}\n onChange={setValue}\n mode="modal"\n />\n \n );\n })\n .add(\'jarb\', () => {\n return (\n \n {\n return date.isBefore(new Date());\n }}\n jarb={{\n validator: \'User.birthday\',\n label: \'Birthday\'\n }}\n />\n \n );\n });\n'),__ADDS_MAP__={"form-datetime-datetimeinput--jarb":{startLoc:{col:7,line:110},endLoc:{col:3,line:130},startBody:{col:15,line:110},endBody:{col:3,line:130}},"form-datetime-datetimeinput--open-in-modal":{startLoc:{col:7,line:89},endLoc:{col:3,line:109},startBody:{col:24,line:89},endBody:{col:3,line:109}},"form-datetime-datetimeinput--with-custom-label":{startLoc:{col:7,line:61},endLoc:{col:3,line:88},startBody:{col:28,line:61},endBody:{col:3,line:88}},"form-datetime-datetimeinput--time":{startLoc:{col:7,line:44},endLoc:{col:3,line:60},startBody:{col:15,line:44},endBody:{col:3,line:60}},"form-datetime-datetimeinput--date":{startLoc:{col:7,line:27},endLoc:{col:3,line:43},startBody:{col:15,line:27},endBody:{col:3,line:43}},"form-datetime-datetimeinput--date-and-time":{startLoc:{col:7,line:10},endLoc:{col:3,line:26},startBody:{col:24,line:10},endBody:{col:3,line:26}}};Object(_storybook_react__WEBPACK_IMPORTED_MODULE_1__.storiesOf)("Form|DateTime/DateTimeInput",module).addParameters({storySource:{source:__STORY__,locationsMap:__ADDS_MAP__}}).addDecorator(withSourceLoader(__STORY__,__ADDS_MAP__,"/DateTimeInput.stories.tsx",[],{},"/Users/gido.manders/projecten/42/ui/src/form/DateTimeInput",{})).add("date and time",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_DateTimeInput__WEBPACK_IMPORTED_MODULE_3__.b,{id:"dateOfBirth",label:"Date of birth",placeholder:"Please enter your date and time of birth",dateFormat:"YYYY-MM-DD",timeFormat:"HH:mm:ss",isDateAllowed:date=>date.isBefore(new Date),onChange:()=>Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)("value changed")}))).add("date",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_DateTimeInput__WEBPACK_IMPORTED_MODULE_3__.b,{id:"dateOfBirth",label:"Date of birth",placeholder:"Please enter your date of birth",dateFormat:"YYYY-MM-DD",timeFormat:!1,isDateAllowed:date=>date.isBefore(new Date),onChange:()=>Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)("value changed")}))).add("time",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_DateTimeInput__WEBPACK_IMPORTED_MODULE_3__.b,{id:"startTime",label:"Start time",placeholder:"Please enter your start time",dateFormat:!1,timeFormat:"HH:mm:ss",isDateAllowed:date=>date.isBefore(new Date),onChange:()=>Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)("value changed")}))).add("with custom label",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_DateTimeInput__WEBPACK_IMPORTED_MODULE_3__.b,{id:"dateOfBirth",label:react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span",null,"Date of birth"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_5__.v,{className:"position-relative ml-1",style:{top:5},content:"This is the date you where born on"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_5__.d,{icon:"info"}))),placeholder:"Please enter your date and time of birth",dateFormat:"YYYY-MM-DD",timeFormat:"HH:mm:ss",isDateAllowed:date=>date.isBefore(new Date),onChange:()=>Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)("value changed")}))).add("open in modal",()=>{const[value,setValue]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)();return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_DateTimeInput__WEBPACK_IMPORTED_MODULE_3__.b,{id:"dateOfBirth",label:"Date of birth",placeholder:"Please enter your date and time of birth",dateFormat:"YYYY-MM-DD",timeFormat:"HH:mm:ss",isDateAllowed:date=>date.isBefore(new Date),value:value,onChange:setValue,mode:"modal"}))}).add("jarb",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.a,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_DateTimeInput__WEBPACK_IMPORTED_MODULE_3__.a,{id:"dateOfBirth",name:"dateOfBirth",label:"Date of birth",placeholder:"Please enter your date and time of birth",dateFormat:"YYYY-MM-DD",timeFormat:"HH:mm:ss",isDateAllowed:date=>date.isBefore(new Date),jarb:{validator:"User.birthday",label:"Birthday"}})))}.call(this,__webpack_require__(26)(module))},2311:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),function(module){var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),_storybook_react__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(14),_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(2),_FileInput__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(132),_story_utils__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(5),___WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(7),withSourceLoader=__webpack_require__(15).withSource,__STORY__=(__webpack_require__(15).addSource,'import React from \'react\';\nimport { storiesOf } from \'@storybook/react\';\nimport { action } from \'@storybook/addon-actions\';\n\nimport FileInput, { JarbFileInput, requireFile } from \'./FileInput\';\n\nimport { Form, FinalForm } from \'../story-utils\';\nimport { Tooltip, Icon } from \'../..\';\n\nstoriesOf(\'Form|FileInput\', module)\n .add(\'basic\', () => {\n return (\n
\n action(\'value changed\')}\n />\n \n );\n })\n .add(\'without placeholder\', () => {\n return (\n
\n action(\'value changed\')}\n />\n \n );\n })\n .add(\'without label\', () => {\n return (\n
\n action(\'value changed\')}\n />\n \n );\n })\n .add(\'with custom label\', () => {\n return (\n
\n \n Upload a file here\n \n \n \n \n }\n accept="text/plain"\n onChange={() => action(\'value changed\')}\n />\n \n );\n })\n .add(\'jarb\', () => {\n return (\n \n \n \n );\n });\n'),__ADDS_MAP__={"form-fileinput--jarb":{startLoc:{col:7,line:72},endLoc:{col:3,line:89},startBody:{col:15,line:72},endBody:{col:3,line:89}},"form-fileinput--with-custom-label":{startLoc:{col:7,line:48},endLoc:{col:3,line:71},startBody:{col:28,line:48},endBody:{col:3,line:71}},"form-fileinput--without-label":{startLoc:{col:7,line:36},endLoc:{col:3,line:47},startBody:{col:24,line:36},endBody:{col:3,line:47}},"form-fileinput--without-placeholder":{startLoc:{col:7,line:24},endLoc:{col:3,line:35},startBody:{col:30,line:24},endBody:{col:3,line:35}},"form-fileinput--basic":{startLoc:{col:7,line:11},endLoc:{col:3,line:23},startBody:{col:16,line:11},endBody:{col:3,line:23}}};Object(_storybook_react__WEBPACK_IMPORTED_MODULE_1__.storiesOf)("Form|FileInput",module).addParameters({storySource:{source:__STORY__,locationsMap:__ADDS_MAP__}}).addDecorator(withSourceLoader(__STORY__,__ADDS_MAP__,"/FileInput.stories.tsx",[],{},"/Users/gido.manders/projecten/42/ui/src/form/FileInput",{})).add("basic",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_FileInput__WEBPACK_IMPORTED_MODULE_3__.b,{id:"file-upload-with-button",placeholder:"Upload a file here",label:"Upload a file here",accept:"text/plain",onChange:()=>Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)("value changed")}))).add("without placeholder",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_FileInput__WEBPACK_IMPORTED_MODULE_3__.b,{id:"file-upload-with-button",label:"Upload a file here",accept:"text/plain",onChange:()=>Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)("value changed")}))).add("without label",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_FileInput__WEBPACK_IMPORTED_MODULE_3__.b,{id:"file-upload-with-button",placeholder:"Upload a file here",accept:"text/plain",onChange:()=>Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)("value changed")}))).add("with custom label",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_FileInput__WEBPACK_IMPORTED_MODULE_3__.b,{id:"file-upload-with-button",placeholder:"Upload a file here",label:react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"d-flex justify-content-between"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span",null,"Upload a file here"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_5__.v,{className:"ml-1",style:{zIndex:101},content:"The file should be a plain text file"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_5__.d,{icon:"info"}))),accept:"text/plain",onChange:()=>Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)("value changed")}))).add("jarb",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.a,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_FileInput__WEBPACK_IMPORTED_MODULE_3__.a,{id:"file-upload-with-button",name:"upload",placeholder:"Upload a file here",label:"Upload a file here",accept:"text/plain",validators:[Object(_FileInput__WEBPACK_IMPORTED_MODULE_3__.d)("Profile photo")],jarb:{validator:"User.profile",label:"Profile photo"}})))}.call(this,__webpack_require__(26)(module))},2312:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),function(module){__webpack_require__.d(__webpack_exports__,"userAsOption",(function(){return userAsOption}));var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),_storybook_react__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(14),lodash__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(16),_Input_Input__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(38),_story_utils__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(5),___WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(7),_test_fixtures__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(12),_ColorPicker_ColorPicker__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__(155),_Checkbox_Checkbox__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__(134),_RadioGroup_RadioGroup__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__(51),_NewPasswordInput_NewPasswordInput__WEBPACK_IMPORTED_MODULE_10__=__webpack_require__(110),__awaiter=function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){result.done?resolve(result.value):function adopt(value){return value instanceof P?value:new P((function(resolve){resolve(value)}))}(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))},withSourceLoader=__webpack_require__(15).withSource,__STORY__=(__webpack_require__(15).addSource,"import React from 'react';\nimport { storiesOf } from '@storybook/react';\nimport { random } from 'lodash';\nimport { Moment } from 'moment';\n\nimport { JarbInput } from './Input/Input';\nimport { FinalForm } from './story-utils';\nimport {\n isStrongPassword,\n JarbCheckboxMultipleSelect,\n JarbDateRangePicker,\n JarbDateTimeInput,\n JarbFileInput,\n JarbIconPicker,\n JarbImageUpload,\n JarbModalPickerMultiple,\n JarbModalPickerSingle,\n JarbSelect,\n JarbTextarea,\n JarbTextEditor,\n JarbTypeaheadMultiple,\n JarbTypeaheadSingle,\n limitFileSize,\n limitImageSize,\n requireFile,\n requireImage\n} from '..';\nimport { pageOfUsers } from '../test/fixtures';\nimport { User } from '../test/types';\nimport { JarbColorPicker } from './ColorPicker/ColorPicker';\nimport { JarbCheckbox } from './Checkbox/Checkbox';\nimport { JarbRadioGroup } from './RadioGroup/RadioGroup';\nimport { JarbNewPasswordInput } from './NewPasswordInput/NewPasswordInput';\n\nfunction sleep(ms: number) {\n return new Promise(resolve => {\n setTimeout(resolve, ms);\n });\n}\n\nfunction required(value?: any) {\n return value ? undefined : 'Required';\n}\n\nfunction isLengthBelow100(value?: string) {\n if (!value) {\n return undefined;\n }\n\n return value.length < 100\n ? undefined\n : 'Cannot contain more than 100 characters';\n}\n\nasync function firstNameAvailable(value?: string) {\n if (!value) {\n return undefined;\n }\n\n await sleep(random(2000, 5000));\n\n return ['Maarten', 'Jeffrey'].includes(value) ? (\n undefined\n ) : (\n
    \n
  • First name not available
  • \n
  • You can use Jeffrey
  • \n
  • You can use Maarten
  • \n
\n );\n}\n\nasync function lastNameAvailable(value?: string) {\n if (!value) {\n return undefined;\n }\n\n await sleep(random(100, 500));\n\n return ['Hus', 'van Hoven'].includes(value) ? (\n undefined\n ) : (\n
    \n
  • Last name not available
  • \n
  • You can use Hus
  • \n
  • You can use van Hoven
  • \n
\n );\n}\n\nconst mask = [\n '(',\n /[1-9]/,\n /\\d/,\n /\\d/,\n ')',\n ' ',\n /\\d/,\n /\\d/,\n /\\d/,\n '-',\n /\\d/,\n /\\d/,\n /\\d/,\n /\\d/\n];\n\nconst validateCv = [requireFile('cv'), limitFileSize(5, 'cv')];\nconst validateProfile = [\n requireImage('profile photo'),\n limitImageSize(0.5, 'profile photo')\n];\n\nconst requiredValidator = [required];\n\nconst firstNameValidators = [required, isLengthBelow100];\nconst firstNameAsyncValidators = [firstNameAvailable];\n\nconst lastNameValidators = [required, isLengthBelow100];\nconst lastNameAsyncValidators = [lastNameAvailable];\n\nexport function userAsOption(user: User): string {\n return user.email;\n}\n\nstoriesOf('Form|Example', module).add('jarb form', () => {\n return (\n \n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n {\n return date.isBefore(new Date());\n }}\n validators={requiredValidator}\n />\n\n current.day() !== 0 && current.day() !== 6\n }}\n to={{\n id: 'toId',\n label: 'To Date',\n placeholder: 'Please enter a To date',\n dateFormat: 'YYYY-MM-DD',\n timeFormat: 'HH:mm:ss',\n isDateAllowed: current => current.day() !== 0 && current.day() !== 6\n }}\n validators={requiredValidator}\n />\n\n value.label}\n isOptionEnabled={option => option.value !== 'awesome'}\n options={[\n { value: 'awesome', label: 'Awesome shit' },\n { value: 'super', label: 'Super shit' },\n { value: 'great', label: 'Great shit' },\n { value: 'good', label: 'good shit' }\n ]}\n validators={requiredValidator}\n />\n\n Promise.resolve(pageOfUsers)}\n validators={requiredValidator}\n />\n\n Promise.resolve(pageOfUsers)}\n validators={requiredValidator}\n />\n\n Promise.resolve(pageOfUsers)}\n />\n\n Promise.resolve(pageOfUsers)}\n validators={requiredValidator}\n />\n\n Promise.resolve(pageOfUsers)}\n validators={requiredValidator}\n />\n\n Promise.resolve(pageOfUsers)}\n canSearch={true}\n validators={requiredValidator}\n />\n\n Promise.resolve(pageOfUsers)}\n canSearch={true}\n validators={requiredValidator}\n />\n\n \n\n \n\n \n \n );\n});\n"),__ADDS_MAP__={"form-example--jarb-form":{startLoc:{col:38,line:126},endLoc:{col:1,line:381},startBody:{col:51,line:126},endBody:{col:1,line:381}}};function sleep(ms){return new Promise(resolve=>{setTimeout(resolve,ms)})}function required(value){return value?void 0:"Required"}function isLengthBelow100(value){if(value)return value.length<100?void 0:"Cannot contain more than 100 characters"}const mask=["(",/[1-9]/,/\d/,/\d/,")"," ",/\d/,/\d/,/\d/,"-",/\d/,/\d/,/\d/,/\d/],validateCv=[Object(___WEBPACK_IMPORTED_MODULE_5__.A)("cv"),Object(___WEBPACK_IMPORTED_MODULE_5__.x)(5,"cv")],validateProfile=[Object(___WEBPACK_IMPORTED_MODULE_5__.B)("profile photo"),Object(___WEBPACK_IMPORTED_MODULE_5__.y)(.5,"profile photo")],requiredValidator=[required],firstNameValidators=[required,isLengthBelow100],firstNameAsyncValidators=[function firstNameAvailable(value){return __awaiter(this,void 0,void 0,(function*(){if(value)return yield sleep(Object(lodash__WEBPACK_IMPORTED_MODULE_2__.random)(2e3,5e3)),["Maarten","Jeffrey"].includes(value)?void 0:react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("ul",null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("li",null,"First name not available"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("li",null,"You can use Jeffrey"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("li",null,"You can use Maarten"))}))}],lastNameValidators=[required,isLengthBelow100],lastNameAsyncValidators=[function lastNameAvailable(value){return __awaiter(this,void 0,void 0,(function*(){if(value)return yield sleep(Object(lodash__WEBPACK_IMPORTED_MODULE_2__.random)(100,500)),["Hus","van Hoven"].includes(value)?void 0:react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("ul",null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("li",null,"Last name not available"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("li",null,"You can use Hus"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("li",null,"You can use van Hoven"))}))}];function userAsOption(user){return user.email}Object(_storybook_react__WEBPACK_IMPORTED_MODULE_1__.storiesOf)("Form|Example",module).addParameters({storySource:{source:__STORY__,locationsMap:__ADDS_MAP__}}).addDecorator(withSourceLoader(__STORY__,__ADDS_MAP__,"/FormExample.stories.tsx",[],{},"/Users/gido.manders/projecten/42/ui/src/form",{})).add("jarb form",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.a,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Input_Input__WEBPACK_IMPORTED_MODULE_3__.a,{name:"firstName",jarb:{validator:"User.email",label:"First name"},id:"firstName",label:"First name",placeholder:"Please enter your first name",validators:firstNameValidators,asyncValidators:firstNameAsyncValidators}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Input_Input__WEBPACK_IMPORTED_MODULE_3__.a,{name:"lastName",jarb:{validator:"User.lastName",label:"Last name"},id:"lastName",label:"Last name",placeholder:"Please enter your last name",addon:{icon:"face",position:"right"},validators:lastNameValidators,asyncValidators:lastNameAsyncValidators}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Input_Input__WEBPACK_IMPORTED_MODULE_3__.a,{name:"phone",jarb:{validator:"User.phone",label:"Phone"},id:"phone",label:"Phone",mask:mask,placeholder:"Please enter your phone number",validators:requiredValidator}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_5__.h,{name:"cv",jarb:{validator:"User.cv",label:"CV"},validators:validateCv,id:"cv",label:"Upload your CV",placeholder:"Upload a file here",accept:"text/plain"}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_5__.j,{name:"profile",jarb:{validator:"User.profile",label:"Profile photo"},validators:validateProfile,id:"profile",label:"Profile photo",crop:{type:"circle",size:250}}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_5__.n,{name:"description",jarb:{validator:"User.description",label:"Description"},id:"description",label:"Description",placeholder:"Please add a description",validators:requiredValidator}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_5__.o,{name:"username",jarb:{validator:"User.username",label:"User name"},id:"description",label:"User name",placeholder:"Please enter your user name",validators:requiredValidator}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_NewPasswordInput_NewPasswordInput__WEBPACK_IMPORTED_MODULE_10__.a,{name:"password",jarb:{validator:"User.password",label:"Password"},id:"password",label:"Password",placeholder:"Please enter your password",validators:[Object(___WEBPACK_IMPORTED_MODULE_5__.w)(["lowercase","uppercase","number","specialChar","minimumLength","noSpace"],10)]}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_5__.g,{name:"dateOfBirth",jarb:{validator:"User.dateOfBirth",label:"Date of birth"},id:"dateOfBirth",label:"Date of birth",placeholder:"Please enter your date of birth",dateFormat:"YYYY-MM-DD",timeFormat:!1,isDateAllowed:date=>date.isBefore(new Date),validators:requiredValidator}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_5__.f,{name:"availability",jarb:{validator:"User.availability",label:"Availability"},from:{id:"fromId",label:"From Date",placeholder:"Please enter a From date",dateFormat:"YYYY-MM-DD",timeFormat:"HH:mm:ss",isDateAllowed:current=>0!==current.day()&&6!==current.day()},to:{id:"toId",label:"To Date",placeholder:"Please enter a To date",dateFormat:"YYYY-MM-DD",timeFormat:"HH:mm:ss",isDateAllowed:current=>0!==current.day()&&6!==current.day()},validators:requiredValidator}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_5__.m,{name:"subject",jarb:{validator:"User.subject",label:"Subject"},id:"subject",label:"Subject",placeholder:"Please enter your subject",optionForValue:value=>value.label,isOptionEnabled:option=>"awesome"!==option.value,options:[{value:"awesome",label:"Awesome shit"},{value:"super",label:"Super shit"},{value:"great",label:"Great shit"},{value:"good",label:"good shit"}],validators:requiredValidator}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_5__.m,{name:"nemesis",jarb:{validator:"User.nemesis",label:"Nemesis"},id:"nemesis",label:"Worst enemy",placeholder:"Select your nemesis",optionForValue:userAsOption,options:()=>Promise.resolve(_test_fixtures__WEBPACK_IMPORTED_MODULE_6__.b),validators:requiredValidator}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_RadioGroup_RadioGroup__WEBPACK_IMPORTED_MODULE_9__.a,{name:"bestFriend",jarb:{validator:"User.bestFriend",label:"Nemesis"},id:"bestFriend",label:"Best friend",placeholder:"Select your best friend",optionForValue:userAsOption,options:()=>Promise.resolve(_test_fixtures__WEBPACK_IMPORTED_MODULE_6__.b),validators:requiredValidator}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_5__.q,{name:"bestFriend",jarb:{validator:"User.bestFriend",label:"Best friend"},id:"bestFriend",label:"Best friend",optionForValue:userAsOption,placeholder:"Please provide your best friend",fetchOptions:()=>Promise.resolve(_test_fixtures__WEBPACK_IMPORTED_MODULE_6__.b)}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_5__.l,{name:"bestFriend",jarb:{validator:"User.bestFriend",label:"Best friend"},id:"bestFriend",label:"Best friend",placeholder:"Select your best friend",canSearch:!0,optionForValue:userAsOption,fetchOptions:()=>Promise.resolve(_test_fixtures__WEBPACK_IMPORTED_MODULE_6__.b),validators:requiredValidator}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_5__.p,{name:"friends",jarb:{validator:"User.friends",label:"Friends"},id:"friends",label:"Friends",optionForValue:userAsOption,placeholder:"Please provide all your friends",fetchOptions:()=>Promise.resolve(_test_fixtures__WEBPACK_IMPORTED_MODULE_6__.b),validators:requiredValidator}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_5__.k,{name:"friends",jarb:{validator:"User.bestFriend",label:"Friends"},id:"friends",label:"Friends",placeholder:"Please provide all your friends",optionForValue:userAsOption,fetchOptions:()=>Promise.resolve(_test_fixtures__WEBPACK_IMPORTED_MODULE_6__.b),canSearch:!0,validators:requiredValidator}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_5__.e,{name:"friends",jarb:{validator:"User.bestFriend",label:"Friends"},id:"friends",label:"Friends",placeholder:"Please provide all your friends",optionForValue:userAsOption,options:()=>Promise.resolve(_test_fixtures__WEBPACK_IMPORTED_MODULE_6__.b),canSearch:!0,validators:requiredValidator}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_5__.i,{name:"icon",jarb:{validator:"User.icon",label:"Icon"},id:"icon",label:"Icon",placeholder:"Please select an icon",validators:requiredValidator}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ColorPicker_ColorPicker__WEBPACK_IMPORTED_MODULE_7__.a,{name:"color",jarb:{validator:"User.color",label:"Color"},id:"color",label:"Color",placeholder:"Please select a Color",validators:requiredValidator}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Checkbox_Checkbox__WEBPACK_IMPORTED_MODULE_8__.a,{name:"agree",jarb:{validator:"User.agree",label:"Agree"},id:"agree",label:"Agree",placeholder:"Do you agree to the terms?",validators:requiredValidator})));try{userAsOption.displayName="userAsOption",userAsOption.__docgenInfo={description:"",displayName:"userAsOption",props:{id:{defaultValue:null,description:"",name:"id",required:!0,type:{name:"number"}},email:{defaultValue:null,description:"",name:"email",required:!0,type:{name:"string"}},firstName:{defaultValue:null,description:"",name:"firstName",required:!0,type:{name:"string"}},lastName:{defaultValue:null,description:"",name:"lastName",required:!0,type:{name:"string"}},active:{defaultValue:null,description:"",name:"active",required:!0,type:{name:"boolean"}},roles:{defaultValue:null,description:"",name:"roles",required:!0,type:{name:"UserRole[]"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/form/FormExample.stories.tsx#userAsOption"]={docgenInfo:userAsOption.__docgenInfo,name:"userAsOption",path:"src/form/FormExample.stories.tsx#userAsOption"})}catch(__react_docgen_typescript_loader_error){}}.call(this,__webpack_require__(26)(module))},2313:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),function(module){var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),_storybook_react__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(14),_IconPicker__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(193),_story_utils__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(5),___WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(7),withSourceLoader=__webpack_require__(15).withSource,__STORY__=(__webpack_require__(15).addSource,'import React, { useState } from \'react\';\nimport { storiesOf } from \'@storybook/react\';\n\nimport IconPicker, { JarbIconPicker } from \'./IconPicker\';\nimport { FinalForm, Form } from \'../story-utils\';\nimport { IconType, Tooltip, Icon } from \'../../\';\n\nfunction is3DRotation(value: IconType) {\n return value === \'3d_rotation\' ? undefined : \'Not "3d_rotation"\';\n}\n\nstoriesOf(\'Form|IconPicker\', module)\n .add(\'basic\', () => {\n const [value, setValue] = useState(undefined);\n\n return (\n
\n
\n \n \n
\n );\n })\n .add(\'without label\', () => {\n const [value, setValue] = useState(undefined);\n\n return (\n
\n \n \n );\n })\n .add(\'with custom label\', () => {\n const [value, setValue] = useState(undefined);\n\n return (\n
\n
\n \n Icon\n \n \n \n
\n }\n placeholder="Please select your icon"\n value={value}\n onChange={setValue}\n />\n \n \n );\n })\n .add(\'jarb\', () => {\n return (\n \n \n \n );\n });\n'),__ADDS_MAP__={"form-iconpicker--jarb":{startLoc:{col:7,line:71},endLoc:{col:3,line:87},startBody:{col:15,line:71},endBody:{col:3,line:87}},"form-iconpicker--with-custom-label":{startLoc:{col:7,line:44},endLoc:{col:3,line:70},startBody:{col:28,line:44},endBody:{col:3,line:70}},"form-iconpicker--without-label":{startLoc:{col:7,line:30},endLoc:{col:3,line:43},startBody:{col:24,line:30},endBody:{col:3,line:43}},"form-iconpicker--basic":{startLoc:{col:7,line:13},endLoc:{col:3,line:29},startBody:{col:16,line:13},endBody:{col:3,line:29}}};function is3DRotation(value){return"3d_rotation"===value?void 0:'Not "3d_rotation"'}Object(_storybook_react__WEBPACK_IMPORTED_MODULE_1__.storiesOf)("Form|IconPicker",module).addParameters({storySource:{source:__STORY__,locationsMap:__ADDS_MAP__}}).addDecorator(withSourceLoader(__STORY__,__ADDS_MAP__,"/IconPicker.stories.tsx",[],{},"/Users/gido.manders/projecten/42/ui/src/form/IconPicker",{})).add("basic",()=>{const[value,setValue]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(void 0);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_3__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_IconPicker__WEBPACK_IMPORTED_MODULE_2__.b,{id:"icon",label:"Icon",placeholder:"Please select your icon",value:value,onChange:setValue})))}).add("without label",()=>{const[value,setValue]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(void 0);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_3__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_IconPicker__WEBPACK_IMPORTED_MODULE_2__.b,{id:"icon",placeholder:"Please select your icon",value:value,onChange:setValue}))}).add("with custom label",()=>{const[value,setValue]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(void 0);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_3__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_IconPicker__WEBPACK_IMPORTED_MODULE_2__.b,{id:"icon",label:react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"d-flex justify-content-between"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span",null,"Icon"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_4__.v,{className:"ml-1",content:"The icon will be used as an avatar"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_4__.d,{icon:"info"}))),placeholder:"Please select your icon",value:value,onChange:setValue})))}).add("jarb",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_3__.a,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_IconPicker__WEBPACK_IMPORTED_MODULE_2__.a,{id:"icon",name:"icon",label:"Icon",placeholder:"Please select your icon",validators:[is3DRotation],jarb:{validator:"Hero.icon",label:"Icon"}})))}.call(this,__webpack_require__(26)(module))},2314:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),function(module){var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),_storybook_react__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(14),_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(2),_ImageUpload__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(133),_story_utils__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(5),___WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(7),withSourceLoader=__webpack_require__(15).withSource,__STORY__=(__webpack_require__(15).addSource,"import React from 'react';\nimport { storiesOf } from '@storybook/react';\nimport { action } from '@storybook/addon-actions';\n\nimport ImageUpload, { JarbImageUpload, requireImage } from './ImageUpload';\nimport { Form, FinalForm } from '../story-utils';\nimport { Tooltip, Icon } from '../..';\n\nstoriesOf('Form|ImageUpload', module)\n .add('rect', () => {\n return (\n
\n action(`You entered ${value}`)}\n />\n \n );\n })\n .add('circle', () => {\n return (\n
\n action(`You entered ${value}`)}\n />\n \n );\n })\n .add('without label', () => {\n return (\n
\n action(`You entered ${value}`)}\n />\n \n );\n })\n .add('with custom label', () => {\n return (\n
\n \n Profile photo\n \n \n \n \n }\n crop={{\n type: 'rect',\n width: 500,\n height: 400\n }}\n onChange={value => action(`You entered ${value}`)}\n />\n \n );\n })\n .add('jarb', () => {\n return (\n \n \n \n );\n });\n"),__ADDS_MAP__={"form-imageupload--jarb":{startLoc:{col:7,line:83},endLoc:{col:3,line:103},startBody:{col:15,line:83},endBody:{col:3,line:103}},"form-imageupload--with-custom-label":{startLoc:{col:7,line:56},endLoc:{col:3,line:82},startBody:{col:28,line:56},endBody:{col:3,line:82}},"form-imageupload--without-label":{startLoc:{col:7,line:41},endLoc:{col:3,line:55},startBody:{col:24,line:41},endBody:{col:3,line:55}},"form-imageupload--circle":{startLoc:{col:7,line:26},endLoc:{col:3,line:40},startBody:{col:17,line:26},endBody:{col:3,line:40}},"form-imageupload--rect":{startLoc:{col:7,line:10},endLoc:{col:3,line:25},startBody:{col:15,line:10},endBody:{col:3,line:25}}};Object(_storybook_react__WEBPACK_IMPORTED_MODULE_1__.storiesOf)("Form|ImageUpload",module).addParameters({storySource:{source:__STORY__,locationsMap:__ADDS_MAP__}}).addDecorator(withSourceLoader(__STORY__,__ADDS_MAP__,"/ImageUpload.stories.tsx",[],{},"/Users/gido.manders/projecten/42/ui/src/form/ImageUpload",{})).add("rect",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ImageUpload__WEBPACK_IMPORTED_MODULE_3__.b,{id:"image-uploader",label:"Profile photo",crop:{type:"rect",width:500,height:400},onChange:value=>Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)(`You entered ${value}`)}))).add("circle",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ImageUpload__WEBPACK_IMPORTED_MODULE_3__.b,{id:"image-uploader",label:"Profile photo",crop:{type:"circle",size:250},onChange:value=>Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)(`You entered ${value}`)}))).add("without label",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ImageUpload__WEBPACK_IMPORTED_MODULE_3__.b,{id:"image-uploader",crop:{type:"rect",width:500,height:400},onChange:value=>Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)(`You entered ${value}`)}))).add("with custom label",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ImageUpload__WEBPACK_IMPORTED_MODULE_3__.b,{id:"image-uploader",label:react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"d-flex justify-content-between"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span",null,"Profile photo"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_5__.v,{className:"ml-1",style:{zIndex:101},content:"You can edit the photo after you've selected it"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_5__.d,{icon:"info"}))),crop:{type:"rect",width:500,height:400},onChange:value=>Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)(`You entered ${value}`)}))).add("jarb",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.a,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ImageUpload__WEBPACK_IMPORTED_MODULE_3__.a,{id:"image-uploader",name:"profile",label:"Profile photo",validators:[Object(_ImageUpload__WEBPACK_IMPORTED_MODULE_3__.d)("Profile photo")],crop:{type:"rect",width:500,height:400},jarb:{validator:"User.profile",label:"Profile photo"}})))}.call(this,__webpack_require__(26)(module))},2315:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),function(module){__webpack_require__.d(__webpack_exports__,"_",(function(){return _}));var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),_storybook_react__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(14),_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(2),_Input__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(38),_story_utils__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(5),___WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(7),withSourceLoader=__webpack_require__(15).withSource,__STORY__=(__webpack_require__(15).addSource,'import React from \'react\';\nimport { storiesOf } from \'@storybook/react\';\nimport { action } from \'@storybook/addon-actions\';\n\nimport Input, { JarbInput } from \'./Input\';\nimport { Form, FinalForm } from \'../story-utils\';\nimport { Tooltip, Icon } from \'../..\';\n\nfunction isSuperman(value: string) {\n return value === \'superman\' ? undefined : \'Not "superman"\';\n}\n\nstoriesOf(\'Form|Input\', module)\n .add(\'basic\', () => {\n return (\n
\n action(`You entered ${value}`)}\n />\n \n );\n })\n .add(\'icon\', () => {\n return (\n
\n action(`onChange: ${value}`)}\n addon={{\n icon: \'face\',\n position: \'left\'\n }}\n />\n \n );\n })\n .add(\'without placeholder\', () => {\n return (\n
\n action(`You entered ${value}`)}\n />\n \n );\n })\n .add(\'mask\', () => {\n return (\n
\n );\n })\n .add(\'without label\', () => {\n return (\n
\n action(`You entered ${value}`)}\n />\n \n );\n })\n .add(\'with custom label\', () => {\n return (\n
\n \n First name\n \n \n \n \n }\n placeholder="Please enter your first name"\n onChange={value => action(`You entered ${value}`)}\n />\n \n );\n })\n .add(\'jarb\', () => {\n return (\n \n \n \n );\n });\n\nexport const _ = \'\';\n'),__ADDS_MAP__={"form-input--jarb":{startLoc:{col:7,line:105},endLoc:{col:3,line:118},startBody:{col:15,line:105},endBody:{col:3,line:118}},"form-input--with-custom-label":{startLoc:{col:7,line:83},endLoc:{col:3,line:104},startBody:{col:28,line:83},endBody:{col:3,line:104}},"form-input--without-label":{startLoc:{col:7,line:73},endLoc:{col:3,line:82},startBody:{col:24,line:73},endBody:{col:3,line:82}},"form-input--mask":{startLoc:{col:7,line:53},endLoc:{col:3,line:72},startBody:{col:15,line:53},endBody:{col:3,line:72}},"form-input--without-placeholder":{startLoc:{col:7,line:42},endLoc:{col:3,line:52},startBody:{col:30,line:42},endBody:{col:3,line:52}},"form-input--icon":{startLoc:{col:7,line:26},endLoc:{col:3,line:41},startBody:{col:15,line:26},endBody:{col:3,line:41}},"form-input--basic":{startLoc:{col:7,line:14},endLoc:{col:3,line:25},startBody:{col:16,line:14},endBody:{col:3,line:25}}};function isSuperman(value){return"superman"===value?void 0:'Not "superman"'}Object(_storybook_react__WEBPACK_IMPORTED_MODULE_1__.storiesOf)("Form|Input",module).addParameters({storySource:{source:__STORY__,locationsMap:__ADDS_MAP__}}).addDecorator(withSourceLoader(__STORY__,__ADDS_MAP__,"/Input.stories.tsx",[],{},"/Users/gido.manders/projecten/42/ui/src/form/Input",{})).add("basic",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Input__WEBPACK_IMPORTED_MODULE_3__.b,{id:"firstName",label:"First name",placeholder:"Please enter your first name",onChange:value=>Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)(`You entered ${value}`)}))).add("icon",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Input__WEBPACK_IMPORTED_MODULE_3__.b,{id:"firstName",label:"First name",placeholder:"Please enter your first name",onChange:value=>Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)(`onChange: ${value}`),addon:{icon:"face",position:"left"}}))).add("without placeholder",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Input__WEBPACK_IMPORTED_MODULE_3__.b,{id:"firstName",label:"First name",onChange:value=>Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)(`You entered ${value}`)}))).add("mask",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Input__WEBPACK_IMPORTED_MODULE_3__.b,{id:"zipcode",label:"Zipcode",placeholder:"Please enter your zipcode",onChange:value=>Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)(`You entered ${value}`),mask:[/[1-9]/,/[1-9]/,/[1-9]/,/[1-9]/," ",/[A-z]/,/[A-z]/]}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p",null,"Look",react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("a",{href:"https://github.com/text-mask/text-mask/blob/master/componentDocumentation.md#mask"},"here"),"for more example on how to use mask"))).add("without label",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Input__WEBPACK_IMPORTED_MODULE_3__.b,{placeholder:"Please enter your first name",onChange:value=>Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)(`You entered ${value}`)}))).add("with custom label",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Input__WEBPACK_IMPORTED_MODULE_3__.b,{id:"firstName",label:react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"d-flex justify-content-between"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span",null,"First name"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_5__.v,{className:"ml-1",content:"Your first name is on your birth certificate"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_5__.d,{icon:"info"}))),placeholder:"Please enter your first name",onChange:value=>Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)(`You entered ${value}`)}))).add("jarb",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.a,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Input__WEBPACK_IMPORTED_MODULE_3__.a,{name:"firstName",jarb:{validator:"Hero.name",label:"First name"},validators:[isSuperman],id:"firstName",label:"First name",placeholder:"Please enter your first name"})));const _=""}.call(this,__webpack_require__(26)(module))},2316:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),function(module){var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),_storybook_react__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(14),_test_utils__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(34),_test_fixtures__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(12),_ModalPickerMultiple__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(98),_story_utils__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(5),___WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(7),reactstrap__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__(83),reactstrap__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__(81),_core_Avatar_Avatar__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__(102),withSourceLoader=__webpack_require__(15).withSource,__STORY__=(__webpack_require__(15).addSource,'import React, { useState } from \'react\';\nimport { storiesOf } from \'@storybook/react\';\n\nimport { pageWithContentAndExactSize } from \'../../../test/utils\';\nimport { adminUser, userUser } from \'../../../test/fixtures\';\nimport { User } from \'../../../test/types\';\n\nimport ModalPickerMultiple, {\n JarbModalPickerMultiple\n} from \'./ModalPickerMultiple\';\n\nimport { FinalForm, Form } from \'../../story-utils\';\nimport { Icon, Tooltip } from \'../../..\';\nimport { ListGroup, ListGroupItem } from \'reactstrap\';\nimport Avatar from \'../../../core/Avatar/Avatar\';\n\nstoriesOf(\'Form|ModalPicker/ModalPickerMultiple\', module)\n .add(\'default\', () => {\n const [value, setValue] = useState([]);\n\n return (\n
\n \n id="bestFriend"\n label="Best friend"\n placeholder="Select your best friend"\n canSearch={true}\n fetchOptions={() =>\n Promise.resolve(pageWithContentAndExactSize([userUser, adminUser]))\n }\n optionForValue={(user: User) => user.email}\n value={value}\n onChange={setValue}\n />\n \n );\n })\n .add(\'with extra add button\', () => {\n const [value, setValue] = useState([]);\n\n return (\n
\n \n id="bestFriend"\n label="Best friend"\n placeholder="Select your best friend"\n canSearch={true}\n optionForValue={(user: User) => user.email}\n fetchOptions={() =>\n Promise.resolve(pageWithContentAndExactSize([userUser]))\n }\n addButton={{\n label: \'Create friend\',\n onClick: () => {\n // Just a fake implementation of how this could work.\n // In real life you probably want to pop a modal window\n // to create the friend.\n return new Promise(resolve => {\n setTimeout(() => {\n resolve(adminUser);\n }, 1000);\n });\n }\n }}\n value={value}\n onChange={setValue}\n />\n \n );\n })\n .add(\'without search\', () => {\n const [value, setValue] = useState([]);\n\n return (\n
\n \n id="bestFriend"\n label="Best friend"\n placeholder="Select your best friend"\n canSearch={false}\n optionForValue={(user: User) => user.email}\n fetchOptions={() =>\n Promise.resolve(pageWithContentAndExactSize([userUser]))\n }\n addButton={{\n label: \'Create friend\',\n onClick: () => {\n // Just a fake implementation of how this could work.\n // In real life you probably want to pop a modal window\n // to create the friend.\n return new Promise(resolve => {\n setTimeout(() => {\n resolve(adminUser);\n }, 1000);\n });\n }\n }}\n value={value}\n onChange={setValue}\n />\n \n );\n })\n .add(\'custom isOptionEqual\', () => {\n const [value, setValue] = useState([userUser]);\n\n return (\n
\n \n id="bestFriend"\n label="Best friend"\n placeholder="Select your best friend"\n canSearch={true}\n fetchOptions={() =>\n Promise.resolve(pageWithContentAndExactSize([userUser, adminUser]))\n }\n optionForValue={(user: User) => user.email}\n isOptionEqual={(a: User, b: User) => a.id === b.id}\n value={value}\n onChange={setValue}\n />\n \n );\n })\n .add(\'custom renderOptions\', () => {\n const [value, setValue] = useState([]);\n\n return (\n
\n \n id="bestFriend"\n label="Best friend"\n placeholder="Select your best friend"\n canSearch={true}\n fetchOptions={() =>\n Promise.resolve(pageWithContentAndExactSize([userUser, adminUser]))\n }\n optionForValue={(user: User) => user.email}\n renderOptions={options => (\n \n {options.map(({ option, isSelected, toggle }) => (\n \n \n \n {option.email}\n \n {isSelected ? : null}\n \n ))}\n \n )}\n value={value}\n onChange={setValue}\n />\n \n );\n })\n .add(\'without label\', () => {\n const [value, setValue] = useState([]);\n\n return (\n
\n \n id="bestFriend"\n placeholder="Select your best friend"\n canSearch={true}\n fetchOptions={() =>\n Promise.resolve(pageWithContentAndExactSize([userUser, adminUser]))\n }\n optionForValue={(user: User) => user.email}\n value={value}\n onChange={setValue}\n />\n \n );\n })\n .add(\'with custom label\', () => {\n const [value, setValue] = useState([]);\n\n return (\n
\n \n id="bestFriend"\n label={\n
\n Best friend\n \n \n \n
\n }\n placeholder="Select your best friend"\n canSearch={true}\n fetchOptions={() =>\n Promise.resolve(pageWithContentAndExactSize([userUser, adminUser]))\n }\n optionForValue={(user: User) => user.email}\n value={value}\n onChange={setValue}\n />\n \n );\n })\n .add(\'button alignment\', () => {\n const [value, setValue] = useState([]);\n\n return (\n
\n \n id="bestFriend"\n label="Default"\n placeholder="Select your best friend"\n canSearch={true}\n fetchOptions={() =>\n Promise.resolve(pageWithContentAndExactSize([userUser, adminUser]))\n }\n optionForValue={(user: User) => user.email}\n value={value}\n onChange={setValue}\n />\n \n id="bestFriend"\n label="Button on the left"\n placeholder="Select your best friend"\n canSearch={true}\n fetchOptions={() =>\n Promise.resolve(pageWithContentAndExactSize([userUser, adminUser]))\n }\n optionForValue={(user: User) => user.email}\n value={value}\n onChange={setValue}\n alignButton="left"\n />\n \n id="bestFriend"\n label="Button on the right"\n placeholder="Select your best friend"\n canSearch={true}\n fetchOptions={() =>\n Promise.resolve(pageWithContentAndExactSize([userUser, adminUser]))\n }\n optionForValue={(user: User) => user.email}\n value={value}\n onChange={setValue}\n alignButton="right"\n />\n \n );\n })\n .add(\'display values\', () => {\n const [value, setValue] = useState([]);\n\n return (\n
\n \n id="bestFriend"\n label="Best friend"\n placeholder="Select your best friend"\n canSearch={true}\n fetchOptions={() =>\n Promise.resolve(pageWithContentAndExactSize([userUser, adminUser]))\n }\n optionForValue={(user: User) => user.email}\n value={value}\n onChange={setValue}\n displayValues={users => {\n return users ? (\n <>\n {users.map((user, index) => (\n <>\n {index > 0 ? \', \' : \'\'}\n {user.roles.some(role => role === \'ADMIN\') ? (\n \n ) : (\n \n )}\n {user.firstName}\n {user.lastName}\n \n ))}\n \n ) : null;\n }}\n />\n \n );\n })\n .add(\'jarb\', () => {\n return (\n \n user.email}\n fetchOptions={() =>\n Promise.resolve(pageWithContentAndExactSize([userUser, adminUser]))\n }\n jarb={{\n validator: \'Hero.name\',\n label: \'Best friend\'\n }}\n />\n \n );\n });\n'),__ADDS_MAP__={"form-modalpicker-modalpickermultiple--jarb":{startLoc:{col:7,line:298},endLoc:{col:3,line:318},startBody:{col:15,line:298},endBody:{col:3,line:318}},"form-modalpicker-modalpickermultiple--display-values":{startLoc:{col:7,line:260},endLoc:{col:3,line:297},startBody:{col:25,line:260},endBody:{col:3,line:297}},"form-modalpicker-modalpickermultiple--button-alignment":{startLoc:{col:7,line:214},endLoc:{col:3,line:259},startBody:{col:27,line:214},endBody:{col:3,line:259}},"form-modalpicker-modalpickermultiple--with-custom-label":{startLoc:{col:7,line:184},endLoc:{col:3,line:213},startBody:{col:28,line:184},endBody:{col:3,line:213}},"form-modalpicker-modalpickermultiple--without-label":{startLoc:{col:7,line:165},endLoc:{col:3,line:183},startBody:{col:24,line:165},endBody:{col:3,line:183}},"form-modalpicker-modalpickermultiple--custom-renderoptions":{startLoc:{col:7,line:125},endLoc:{col:3,line:164},startBody:{col:31,line:125},endBody:{col:3,line:164}},"form-modalpicker-modalpickermultiple--custom-isoptionequal":{startLoc:{col:7,line:104},endLoc:{col:3,line:124},startBody:{col:31,line:104},endBody:{col:3,line:124}},"form-modalpicker-modalpickermultiple--without-search":{startLoc:{col:7,line:71},endLoc:{col:3,line:103},startBody:{col:25,line:71},endBody:{col:3,line:103}},"form-modalpicker-modalpickermultiple--with-extra-add-button":{startLoc:{col:7,line:38},endLoc:{col:3,line:70},startBody:{col:32,line:38},endBody:{col:3,line:70}},"form-modalpicker-modalpickermultiple--default":{startLoc:{col:7,line:18},endLoc:{col:3,line:37},startBody:{col:18,line:18},endBody:{col:3,line:37}}};Object(_storybook_react__WEBPACK_IMPORTED_MODULE_1__.storiesOf)("Form|ModalPicker/ModalPickerMultiple",module).addParameters({storySource:{source:__STORY__,locationsMap:__ADDS_MAP__}}).addDecorator(withSourceLoader(__STORY__,__ADDS_MAP__,"/ModalPickerMultiple.stories.tsx",[],{},"/Users/gido.manders/projecten/42/ui/src/form/ModalPicker/multiple",{})).add("default",()=>{const[value,setValue]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)([]);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_5__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ModalPickerMultiple__WEBPACK_IMPORTED_MODULE_4__.b,{id:"bestFriend",label:"Best friend",placeholder:"Select your best friend",canSearch:!0,fetchOptions:()=>Promise.resolve(Object(_test_utils__WEBPACK_IMPORTED_MODULE_2__.b)([_test_fixtures__WEBPACK_IMPORTED_MODULE_3__.d,_test_fixtures__WEBPACK_IMPORTED_MODULE_3__.a])),optionForValue:user=>user.email,value:value,onChange:setValue}))}).add("with extra add button",()=>{const[value,setValue]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)([]);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_5__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ModalPickerMultiple__WEBPACK_IMPORTED_MODULE_4__.b,{id:"bestFriend",label:"Best friend",placeholder:"Select your best friend",canSearch:!0,optionForValue:user=>user.email,fetchOptions:()=>Promise.resolve(Object(_test_utils__WEBPACK_IMPORTED_MODULE_2__.b)([_test_fixtures__WEBPACK_IMPORTED_MODULE_3__.d])),addButton:{label:"Create friend",onClick:()=>new Promise(resolve=>{setTimeout(()=>{resolve(_test_fixtures__WEBPACK_IMPORTED_MODULE_3__.a)},1e3)})},value:value,onChange:setValue}))}).add("without search",()=>{const[value,setValue]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)([]);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_5__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ModalPickerMultiple__WEBPACK_IMPORTED_MODULE_4__.b,{id:"bestFriend",label:"Best friend",placeholder:"Select your best friend",canSearch:!1,optionForValue:user=>user.email,fetchOptions:()=>Promise.resolve(Object(_test_utils__WEBPACK_IMPORTED_MODULE_2__.b)([_test_fixtures__WEBPACK_IMPORTED_MODULE_3__.d])),addButton:{label:"Create friend",onClick:()=>new Promise(resolve=>{setTimeout(()=>{resolve(_test_fixtures__WEBPACK_IMPORTED_MODULE_3__.a)},1e3)})},value:value,onChange:setValue}))}).add("custom isOptionEqual",()=>{const[value,setValue]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)([_test_fixtures__WEBPACK_IMPORTED_MODULE_3__.d]);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_5__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ModalPickerMultiple__WEBPACK_IMPORTED_MODULE_4__.b,{id:"bestFriend",label:"Best friend",placeholder:"Select your best friend",canSearch:!0,fetchOptions:()=>Promise.resolve(Object(_test_utils__WEBPACK_IMPORTED_MODULE_2__.b)([_test_fixtures__WEBPACK_IMPORTED_MODULE_3__.d,_test_fixtures__WEBPACK_IMPORTED_MODULE_3__.a])),optionForValue:user=>user.email,isOptionEqual:(a,b)=>a.id===b.id,value:value,onChange:setValue}))}).add("custom renderOptions",()=>{const[value,setValue]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)([]);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_5__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ModalPickerMultiple__WEBPACK_IMPORTED_MODULE_4__.b,{id:"bestFriend",label:"Best friend",placeholder:"Select your best friend",canSearch:!0,fetchOptions:()=>Promise.resolve(Object(_test_utils__WEBPACK_IMPORTED_MODULE_2__.b)([_test_fixtures__WEBPACK_IMPORTED_MODULE_3__.d,_test_fixtures__WEBPACK_IMPORTED_MODULE_3__.a])),optionForValue:user=>user.email,renderOptions:options=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_7__.a,null,options.map(({option:option,isSelected:isSelected,toggle:toggle})=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_8__.a,{key:option.email,onClick:toggle,className:"d-flex justify-content-between align-items-center clickable"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span",null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_Avatar_Avatar__WEBPACK_IMPORTED_MODULE_9__.a,{src:"https://www.placecage.com/100/100",alt:option.email}),option.email),isSelected?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_6__.d,{icon:"check",color:"primary"}):null))),value:value,onChange:setValue}))}).add("without label",()=>{const[value,setValue]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)([]);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_5__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ModalPickerMultiple__WEBPACK_IMPORTED_MODULE_4__.b,{id:"bestFriend",placeholder:"Select your best friend",canSearch:!0,fetchOptions:()=>Promise.resolve(Object(_test_utils__WEBPACK_IMPORTED_MODULE_2__.b)([_test_fixtures__WEBPACK_IMPORTED_MODULE_3__.d,_test_fixtures__WEBPACK_IMPORTED_MODULE_3__.a])),optionForValue:user=>user.email,value:value,onChange:setValue}))}).add("with custom label",()=>{const[value,setValue]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)([]);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_5__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ModalPickerMultiple__WEBPACK_IMPORTED_MODULE_4__.b,{id:"bestFriend",label:react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"d-flex justify-content-between"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span",null,"Best friend"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_6__.v,{className:"ml-1",content:"Your best friend is the one you trust the most"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_6__.d,{icon:"info"}))),placeholder:"Select your best friend",canSearch:!0,fetchOptions:()=>Promise.resolve(Object(_test_utils__WEBPACK_IMPORTED_MODULE_2__.b)([_test_fixtures__WEBPACK_IMPORTED_MODULE_3__.d,_test_fixtures__WEBPACK_IMPORTED_MODULE_3__.a])),optionForValue:user=>user.email,value:value,onChange:setValue}))}).add("button alignment",()=>{const[value,setValue]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)([]);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_5__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ModalPickerMultiple__WEBPACK_IMPORTED_MODULE_4__.b,{id:"bestFriend",label:"Default",placeholder:"Select your best friend",canSearch:!0,fetchOptions:()=>Promise.resolve(Object(_test_utils__WEBPACK_IMPORTED_MODULE_2__.b)([_test_fixtures__WEBPACK_IMPORTED_MODULE_3__.d,_test_fixtures__WEBPACK_IMPORTED_MODULE_3__.a])),optionForValue:user=>user.email,value:value,onChange:setValue}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ModalPickerMultiple__WEBPACK_IMPORTED_MODULE_4__.b,{id:"bestFriend",label:"Button on the left",placeholder:"Select your best friend",canSearch:!0,fetchOptions:()=>Promise.resolve(Object(_test_utils__WEBPACK_IMPORTED_MODULE_2__.b)([_test_fixtures__WEBPACK_IMPORTED_MODULE_3__.d,_test_fixtures__WEBPACK_IMPORTED_MODULE_3__.a])),optionForValue:user=>user.email,value:value,onChange:setValue,alignButton:"left"}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ModalPickerMultiple__WEBPACK_IMPORTED_MODULE_4__.b,{id:"bestFriend",label:"Button on the right",placeholder:"Select your best friend",canSearch:!0,fetchOptions:()=>Promise.resolve(Object(_test_utils__WEBPACK_IMPORTED_MODULE_2__.b)([_test_fixtures__WEBPACK_IMPORTED_MODULE_3__.d,_test_fixtures__WEBPACK_IMPORTED_MODULE_3__.a])),optionForValue:user=>user.email,value:value,onChange:setValue,alignButton:"right"}))}).add("display values",()=>{const[value,setValue]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)([]);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_5__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ModalPickerMultiple__WEBPACK_IMPORTED_MODULE_4__.b,{id:"bestFriend",label:"Best friend",placeholder:"Select your best friend",canSearch:!0,fetchOptions:()=>Promise.resolve(Object(_test_utils__WEBPACK_IMPORTED_MODULE_2__.b)([_test_fixtures__WEBPACK_IMPORTED_MODULE_3__.d,_test_fixtures__WEBPACK_IMPORTED_MODULE_3__.a])),optionForValue:user=>user.email,value:value,onChange:setValue,displayValues:users=>users?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment,null,users.map((user,index)=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment,null,index>0?", ":"",user.roles.some(role=>"ADMIN"===role)?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_6__.d,{icon:"supervised_user_circle"}):react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_6__.d,{icon:"supervisor_account"}),user.firstName,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("b",null,user.lastName)))):null}))}).add("jarb",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_5__.a,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ModalPickerMultiple__WEBPACK_IMPORTED_MODULE_4__.a,{id:"bestFriend",name:"bestFriend",label:"Best friend",placeholder:"Select your best friend",canSearch:!0,optionForValue:user=>user.email,fetchOptions:()=>Promise.resolve(Object(_test_utils__WEBPACK_IMPORTED_MODULE_2__.b)([_test_fixtures__WEBPACK_IMPORTED_MODULE_3__.d,_test_fixtures__WEBPACK_IMPORTED_MODULE_3__.a])),jarb:{validator:"Hero.name",label:"Best friend"}})))}.call(this,__webpack_require__(26)(module))},2317:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),function(module){var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),_storybook_react__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(14),_ModalPickerSingle__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(80),_story_utils__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(5),_test_utils__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(34),_test_fixtures__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(12),___WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(7),_core_Avatar_Avatar__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__(102),reactstrap__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__(83),reactstrap__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__(81),withSourceLoader=__webpack_require__(15).withSource,__STORY__=(__webpack_require__(15).addSource,'import React, { useState } from \'react\';\nimport { storiesOf } from \'@storybook/react\';\n\nimport ModalPickerSingle, { JarbModalPickerSingle } from \'./ModalPickerSingle\';\nimport { FinalForm, Form } from \'../../story-utils\';\nimport { pageWithContentAndExactSize } from \'../../../test/utils\';\nimport { adminUser, userUser } from \'../../../test/fixtures\';\nimport { User } from \'../../../test/types\';\nimport { Icon, Tooltip } from \'../../..\';\nimport Avatar from \'../../../core/Avatar/Avatar\';\nimport { ListGroup, ListGroupItem } from \'reactstrap\';\n\nstoriesOf(\'Form/ModalPicker/ModalPickerSingle\', module)\n .add(\'basic\', () => {\n const [value, setValue] = useState(undefined);\n\n return (\n
\n user.email}\n fetchOptions={() =>\n Promise.resolve(pageWithContentAndExactSize([userUser, adminUser]))\n }\n value={value}\n onChange={setValue}\n />\n \n );\n })\n .add(\'with extra add button\', () => {\n const [value, setValue] = useState(undefined);\n\n return (\n
\n \n id="bestFriend"\n label="Best friend"\n placeholder="Select your best friend"\n canSearch={true}\n optionForValue={(user: User) => user.email}\n fetchOptions={() =>\n Promise.resolve(pageWithContentAndExactSize([userUser]))\n }\n addButton={{\n label: \'Create friend\',\n onClick: () => {\n // Just a fake implementation of how this could work.\n // In real life you probably want to pop a modal window\n // to create the friend.\n return new Promise(resolve => {\n setTimeout(() => {\n resolve(adminUser);\n }, 1000);\n });\n }\n }}\n value={value}\n onChange={setValue}\n />\n \n );\n })\n .add(\'without search\', () => {\n const [value, setValue] = useState(undefined);\n\n return (\n
\n user.email}\n fetchOptions={() =>\n Promise.resolve(pageWithContentAndExactSize([userUser]))\n }\n value={value}\n onChange={setValue}\n />\n \n );\n })\n .add(\'custom optionIsEqual\', () => {\n const [value, setValue] = useState(userUser);\n\n return (\n
\n user.email}\n isOptionEqual={(a: User, b: User) => a.id === b.id}\n fetchOptions={() =>\n Promise.resolve(pageWithContentAndExactSize([userUser, adminUser]))\n }\n value={value}\n onChange={setValue}\n />\n \n );\n })\n .add(\'custom renderOptions\', () => {\n const [value, setValue] = useState();\n\n return (\n
\n \n id="bestFriend"\n label="Best friend"\n placeholder="Select your best friend"\n canSearch={true}\n optionForValue={(user: User) => user.email}\n renderOptions={options => (\n \n {options.map(({ option, isSelected, toggle }) => (\n \n \n \n {option.email}\n \n {isSelected ? : null}\n \n ))}\n \n )}\n isOptionEqual={(a: User, b: User) => a.id === b.id}\n fetchOptions={() =>\n Promise.resolve(pageWithContentAndExactSize([userUser, adminUser]))\n }\n value={value}\n onChange={setValue}\n />\n \n );\n })\n .add(\'without label\', () => {\n const [value, setValue] = useState(undefined);\n\n return (\n
\n user.email}\n fetchOptions={() =>\n Promise.resolve(pageWithContentAndExactSize([userUser, adminUser]))\n }\n value={value}\n onChange={setValue}\n />\n \n );\n })\n .add(\'with custom label\', () => {\n const [value, setValue] = useState(undefined);\n\n return (\n
\n \n Best friend\n \n \n \n \n }\n placeholder="Select your best friend"\n canSearch={true}\n optionForValue={(user: User) => user.email}\n fetchOptions={() =>\n Promise.resolve(pageWithContentAndExactSize([userUser, adminUser]))\n }\n value={value}\n onChange={setValue}\n />\n \n );\n })\n .add(\'button alignment\', () => {\n const [value, setValue] = useState(undefined);\n\n return (\n
\n user.email}\n fetchOptions={() =>\n Promise.resolve(pageWithContentAndExactSize([userUser, adminUser]))\n }\n value={value}\n onChange={setValue}\n alignButton="default"\n />\n user.email}\n fetchOptions={() =>\n Promise.resolve(pageWithContentAndExactSize([userUser, adminUser]))\n }\n value={value}\n onChange={setValue}\n alignButton="left"\n />\n user.email}\n fetchOptions={() =>\n Promise.resolve(pageWithContentAndExactSize([userUser, adminUser]))\n }\n value={value}\n onChange={setValue}\n alignButton="right"\n />\n \n );\n })\n .add(\'display values\', () => {\n const [value, setValue] = useState(undefined);\n\n return (\n
\n user.email}\n fetchOptions={() =>\n Promise.resolve(pageWithContentAndExactSize([userUser, adminUser]))\n }\n value={value}\n onChange={user => setValue(user)}\n displayValues={user => {\n return user ? (\n <>\n {user.roles.some(role => role === \'ADMIN\') ? (\n \n ) : (\n \n )}\n {user.firstName}\n {user.lastName}\n \n ) : null;\n }}\n />\n \n );\n })\n .add(\'jarb\', () => {\n return (\n \n user.email}\n fetchOptions={() =>\n Promise.resolve(pageWithContentAndExactSize([userUser]))\n }\n jarb={{\n validator: \'Hero.name\',\n label: \'Best friend\'\n }}\n />\n \n );\n });\n'),__ADDS_MAP__={"form-modalpicker-modalpickersingle--jarb":{startLoc:{col:7,line:275},endLoc:{col:3,line:295},startBody:{col:15,line:275},endBody:{col:3,line:295}},"form-modalpicker-modalpickersingle--display-values":{startLoc:{col:7,line:242},endLoc:{col:3,line:274},startBody:{col:25,line:242},endBody:{col:3,line:274}},"form-modalpicker-modalpickersingle--button-alignment":{startLoc:{col:7,line:195},endLoc:{col:3,line:241},startBody:{col:27,line:195},endBody:{col:3,line:241}},"form-modalpicker-modalpickersingle--with-custom-label":{startLoc:{col:7,line:168},endLoc:{col:3,line:194},startBody:{col:28,line:168},endBody:{col:3,line:194}},"form-modalpicker-modalpickersingle--without-label":{startLoc:{col:7,line:149},endLoc:{col:3,line:167},startBody:{col:24,line:149},endBody:{col:3,line:167}},"form-modalpicker-modalpickersingle--custom-renderoptions":{startLoc:{col:7,line:108},endLoc:{col:3,line:148},startBody:{col:31,line:108},endBody:{col:3,line:148}},"form-modalpicker-modalpickersingle--custom-optionisequal":{startLoc:{col:7,line:87},endLoc:{col:3,line:107},startBody:{col:31,line:87},endBody:{col:3,line:107}},"form-modalpicker-modalpickersingle--without-search":{startLoc:{col:7,line:67},endLoc:{col:3,line:86},startBody:{col:25,line:67},endBody:{col:3,line:86}},"form-modalpicker-modalpickersingle--with-extra-add-button":{startLoc:{col:7,line:34},endLoc:{col:3,line:66},startBody:{col:32,line:34},endBody:{col:3,line:66}},"form-modalpicker-modalpickersingle--basic":{startLoc:{col:7,line:14},endLoc:{col:3,line:33},startBody:{col:16,line:14},endBody:{col:3,line:33}}};Object(_storybook_react__WEBPACK_IMPORTED_MODULE_1__.storiesOf)("Form/ModalPicker/ModalPickerSingle",module).addParameters({storySource:{source:__STORY__,locationsMap:__ADDS_MAP__}}).addDecorator(withSourceLoader(__STORY__,__ADDS_MAP__,"/ModalPickerSingle.stories.tsx",[],{},"/Users/gido.manders/projecten/42/ui/src/form/ModalPicker/single",{})).add("basic",()=>{const[value,setValue]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(void 0);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_3__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ModalPickerSingle__WEBPACK_IMPORTED_MODULE_2__.b,{id:"bestFriend",label:"Best friend",placeholder:"Select your best friend",canSearch:!0,optionForValue:user=>user.email,fetchOptions:()=>Promise.resolve(Object(_test_utils__WEBPACK_IMPORTED_MODULE_4__.b)([_test_fixtures__WEBPACK_IMPORTED_MODULE_5__.d,_test_fixtures__WEBPACK_IMPORTED_MODULE_5__.a])),value:value,onChange:setValue}))}).add("with extra add button",()=>{const[value,setValue]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(void 0);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_3__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ModalPickerSingle__WEBPACK_IMPORTED_MODULE_2__.b,{id:"bestFriend",label:"Best friend",placeholder:"Select your best friend",canSearch:!0,optionForValue:user=>user.email,fetchOptions:()=>Promise.resolve(Object(_test_utils__WEBPACK_IMPORTED_MODULE_4__.b)([_test_fixtures__WEBPACK_IMPORTED_MODULE_5__.d])),addButton:{label:"Create friend",onClick:()=>new Promise(resolve=>{setTimeout(()=>{resolve(_test_fixtures__WEBPACK_IMPORTED_MODULE_5__.a)},1e3)})},value:value,onChange:setValue}))}).add("without search",()=>{const[value,setValue]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(void 0);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_3__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ModalPickerSingle__WEBPACK_IMPORTED_MODULE_2__.b,{id:"bestFriend",label:"Best friend",placeholder:"Select your best friend",canSearch:!1,optionForValue:user=>user.email,fetchOptions:()=>Promise.resolve(Object(_test_utils__WEBPACK_IMPORTED_MODULE_4__.b)([_test_fixtures__WEBPACK_IMPORTED_MODULE_5__.d])),value:value,onChange:setValue}))}).add("custom optionIsEqual",()=>{const[value,setValue]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(_test_fixtures__WEBPACK_IMPORTED_MODULE_5__.d);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_3__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ModalPickerSingle__WEBPACK_IMPORTED_MODULE_2__.b,{id:"bestFriend",label:"Best friend",placeholder:"Select your best friend",canSearch:!0,optionForValue:user=>user.email,isOptionEqual:(a,b)=>a.id===b.id,fetchOptions:()=>Promise.resolve(Object(_test_utils__WEBPACK_IMPORTED_MODULE_4__.b)([_test_fixtures__WEBPACK_IMPORTED_MODULE_5__.d,_test_fixtures__WEBPACK_IMPORTED_MODULE_5__.a])),value:value,onChange:setValue}))}).add("custom renderOptions",()=>{const[value,setValue]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)();return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_3__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ModalPickerSingle__WEBPACK_IMPORTED_MODULE_2__.b,{id:"bestFriend",label:"Best friend",placeholder:"Select your best friend",canSearch:!0,optionForValue:user=>user.email,renderOptions:options=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_8__.a,null,options.map(({option:option,isSelected:isSelected,toggle:toggle})=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_9__.a,{key:option.email,onClick:toggle,className:"d-flex justify-content-between align-items-center clickable"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span",null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_Avatar_Avatar__WEBPACK_IMPORTED_MODULE_7__.a,{src:"https://www.placecage.com/100/100",alt:option.email}),option.email),isSelected?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_6__.d,{icon:"check",color:"primary"}):null))),isOptionEqual:(a,b)=>a.id===b.id,fetchOptions:()=>Promise.resolve(Object(_test_utils__WEBPACK_IMPORTED_MODULE_4__.b)([_test_fixtures__WEBPACK_IMPORTED_MODULE_5__.d,_test_fixtures__WEBPACK_IMPORTED_MODULE_5__.a])),value:value,onChange:setValue}))}).add("without label",()=>{const[value,setValue]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(void 0);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_3__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ModalPickerSingle__WEBPACK_IMPORTED_MODULE_2__.b,{id:"bestFriend",placeholder:"Select your best friend",canSearch:!0,optionForValue:user=>user.email,fetchOptions:()=>Promise.resolve(Object(_test_utils__WEBPACK_IMPORTED_MODULE_4__.b)([_test_fixtures__WEBPACK_IMPORTED_MODULE_5__.d,_test_fixtures__WEBPACK_IMPORTED_MODULE_5__.a])),value:value,onChange:setValue}))}).add("with custom label",()=>{const[value,setValue]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(void 0);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_3__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ModalPickerSingle__WEBPACK_IMPORTED_MODULE_2__.b,{id:"bestFriend",label:react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"d-flex justify-content-between"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span",null,"Best friend"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_6__.v,{className:"ml-1",content:"BFF for life!"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_6__.d,{icon:"info"}))),placeholder:"Select your best friend",canSearch:!0,optionForValue:user=>user.email,fetchOptions:()=>Promise.resolve(Object(_test_utils__WEBPACK_IMPORTED_MODULE_4__.b)([_test_fixtures__WEBPACK_IMPORTED_MODULE_5__.d,_test_fixtures__WEBPACK_IMPORTED_MODULE_5__.a])),value:value,onChange:setValue}))}).add("button alignment",()=>{const[value,setValue]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(void 0);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_3__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ModalPickerSingle__WEBPACK_IMPORTED_MODULE_2__.b,{id:"bestFriend",label:"Default",placeholder:"Select your best friend",canSearch:!0,optionForValue:user=>user.email,fetchOptions:()=>Promise.resolve(Object(_test_utils__WEBPACK_IMPORTED_MODULE_4__.b)([_test_fixtures__WEBPACK_IMPORTED_MODULE_5__.d,_test_fixtures__WEBPACK_IMPORTED_MODULE_5__.a])),value:value,onChange:setValue,alignButton:"default"}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ModalPickerSingle__WEBPACK_IMPORTED_MODULE_2__.b,{id:"bestFriend",label:"Button on the left",placeholder:"Select your best friend",canSearch:!0,optionForValue:user=>user.email,fetchOptions:()=>Promise.resolve(Object(_test_utils__WEBPACK_IMPORTED_MODULE_4__.b)([_test_fixtures__WEBPACK_IMPORTED_MODULE_5__.d,_test_fixtures__WEBPACK_IMPORTED_MODULE_5__.a])),value:value,onChange:setValue,alignButton:"left"}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ModalPickerSingle__WEBPACK_IMPORTED_MODULE_2__.b,{id:"bestFriend",label:"Button on the right",placeholder:"Select your best friend",canSearch:!0,optionForValue:user=>user.email,fetchOptions:()=>Promise.resolve(Object(_test_utils__WEBPACK_IMPORTED_MODULE_4__.b)([_test_fixtures__WEBPACK_IMPORTED_MODULE_5__.d,_test_fixtures__WEBPACK_IMPORTED_MODULE_5__.a])),value:value,onChange:setValue,alignButton:"right"}))}).add("display values",()=>{const[value,setValue]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(void 0);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_3__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ModalPickerSingle__WEBPACK_IMPORTED_MODULE_2__.b,{id:"bestFriend",label:"Best friend",placeholder:"Select your best friend",canSearch:!0,optionForValue:user=>user.email,fetchOptions:()=>Promise.resolve(Object(_test_utils__WEBPACK_IMPORTED_MODULE_4__.b)([_test_fixtures__WEBPACK_IMPORTED_MODULE_5__.d,_test_fixtures__WEBPACK_IMPORTED_MODULE_5__.a])),value:value,onChange:user=>setValue(user),displayValues:user=>user?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment,null,user.roles.some(role=>"ADMIN"===role)?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_6__.d,{icon:"supervised_user_circle"}):react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_6__.d,{icon:"supervisor_account"}),user.firstName,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("b",null,user.lastName)):null}))}).add("jarb",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_3__.a,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ModalPickerSingle__WEBPACK_IMPORTED_MODULE_2__.a,{id:"bestFriend",name:"bestFriend",label:"Best friend",placeholder:"Select your best friend",canSearch:!1,optionForValue:user=>user.email,fetchOptions:()=>Promise.resolve(Object(_test_utils__WEBPACK_IMPORTED_MODULE_4__.b)([_test_fixtures__WEBPACK_IMPORTED_MODULE_5__.d])),jarb:{validator:"Hero.name",label:"Best friend"}})))}.call(this,__webpack_require__(26)(module))},2318:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),function(module){var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),_storybook_react__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(14),_story_utils__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(5),_NewPasswordInput__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(110),_index__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(7),withSourceLoader=__webpack_require__(15).withSource,__STORY__=(__webpack_require__(15).addSource,"import React, { useState } from 'react';\nimport { storiesOf } from '@storybook/react';\nimport { FinalForm, Form } from '../story-utils';\nimport NewPasswordInput, {\n isStrongPassword,\n JarbNewPasswordInput\n} from './NewPasswordInput';\nimport { Icon, Tooltip } from '../../index';\n\nstoriesOf('Form|NewPasswordInput', module)\n .add('basic', () => {\n const [password, setPassword] = useState('');\n\n return (\n
\n \n \n );\n })\n .add('icon', () => {\n const [password, setPassword] = useState('');\n\n return (\n
\n \n \n );\n })\n .add('without placeholder', () => {\n const [password, setPassword] = useState('');\n\n return (\n
\n \n \n );\n })\n .add('without label', () => {\n const [password, setPassword] = useState('');\n\n return (\n
\n \n \n );\n })\n .add('with custom label', () => {\n const [password, setPassword] = useState('');\n\n return (\n
\n \n Password\n \n \n \n \n }\n placeholder=\"Please enter your password\"\n value={password}\n onChange={setPassword}\n />\n \n );\n })\n .add('without meter', () => {\n const [password, setPassword] = useState('');\n\n return (\n
\n \n \n );\n })\n .add('jarb', () => {\n return (\n \n \n \n );\n });\n"),__ADDS_MAP__={"form-newpasswordinput--jarb":{startLoc:{col:7,line:113},endLoc:{col:3,line:138},startBody:{col:15,line:113},endBody:{col:3,line:138}},"form-newpasswordinput--without-meter":{startLoc:{col:7,line:97},endLoc:{col:3,line:112},startBody:{col:24,line:97},endBody:{col:3,line:112}},"form-newpasswordinput--with-custom-label":{startLoc:{col:7,line:72},endLoc:{col:3,line:96},startBody:{col:28,line:72},endBody:{col:3,line:96}},"form-newpasswordinput--without-label":{startLoc:{col:7,line:59},endLoc:{col:3,line:71},startBody:{col:24,line:59},endBody:{col:3,line:71}},"form-newpasswordinput--without-placeholder":{startLoc:{col:7,line:45},endLoc:{col:3,line:58},startBody:{col:30,line:45},endBody:{col:3,line:58}},"form-newpasswordinput--icon":{startLoc:{col:7,line:26},endLoc:{col:3,line:44},startBody:{col:15,line:26},endBody:{col:3,line:44}},"form-newpasswordinput--basic":{startLoc:{col:7,line:11},endLoc:{col:3,line:25},startBody:{col:16,line:11},endBody:{col:3,line:25}}};Object(_storybook_react__WEBPACK_IMPORTED_MODULE_1__.storiesOf)("Form|NewPasswordInput",module).addParameters({storySource:{source:__STORY__,locationsMap:__ADDS_MAP__}}).addDecorator(withSourceLoader(__STORY__,__ADDS_MAP__,"/NewPasswordInput.stories.tsx",[],{},"/Users/gido.manders/projecten/42/ui/src/form/NewPasswordInput",{})).add("basic",()=>{const[password,setPassword]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)("");return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_2__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_NewPasswordInput__WEBPACK_IMPORTED_MODULE_3__.b,{id:"password",label:"Password",placeholder:"Please enter your password",value:password,onChange:setPassword}))}).add("icon",()=>{const[password,setPassword]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)("");return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_2__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_NewPasswordInput__WEBPACK_IMPORTED_MODULE_3__.b,{id:"password",label:"Password",placeholder:"Please enter your password",value:password,onChange:setPassword,addon:{icon:"lock",position:"left"}}))}).add("without placeholder",()=>{const[password,setPassword]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)("");return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_2__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_NewPasswordInput__WEBPACK_IMPORTED_MODULE_3__.b,{id:"password",label:"Password",value:password,onChange:setPassword}))}).add("without label",()=>{const[password,setPassword]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)("");return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_2__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_NewPasswordInput__WEBPACK_IMPORTED_MODULE_3__.b,{placeholder:"Please enter your password",value:password,onChange:setPassword}))}).add("with custom label",()=>{const[password,setPassword]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)("");return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_2__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_NewPasswordInput__WEBPACK_IMPORTED_MODULE_3__.b,{id:"password",label:react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"d-flex justify-content-between"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span",null,"Password"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_index__WEBPACK_IMPORTED_MODULE_4__.v,{className:"ml-1",content:"Your password should be secret"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_index__WEBPACK_IMPORTED_MODULE_4__.d,{icon:"info"}))),placeholder:"Please enter your password",value:password,onChange:setPassword}))}).add("without meter",()=>{const[password,setPassword]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)("");return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_2__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_NewPasswordInput__WEBPACK_IMPORTED_MODULE_3__.b,{id:"password",label:"Password",placeholder:"Please enter your password",value:password,onChange:setPassword,showMeter:!1}))}).add("jarb",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_2__.a,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_NewPasswordInput__WEBPACK_IMPORTED_MODULE_3__.a,{name:"password",jarb:{validator:"User.password",label:"Password"},id:"password",label:"password",placeholder:"Please enter your password",validators:[Object(_NewPasswordInput__WEBPACK_IMPORTED_MODULE_3__.c)(["lowercase","uppercase","number","specialChar","minimumLength","noSpace"],10)]})))}.call(this,__webpack_require__(26)(module))},2319:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),function(module){var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),_storybook_react__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(14),_RadioGroup__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(51),_story_utils__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(5),_test_fixtures__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(12),___WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(7),_Toggle_Toggle__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(92),withSourceLoader=__webpack_require__(15).withSource,__STORY__=(__webpack_require__(15).addSource,"import React, { useState } from 'react';\nimport { storiesOf } from '@storybook/react';\n\nimport Checkbox, { JarbRadioGroup } from './RadioGroup';\nimport { FinalForm, Form, resolveAfter } from '../story-utils';\nimport { pageOfUsers, randomUser } from '../../test/fixtures';\nimport { User } from '../../test/types';\nimport { Icon, pageOf, Tooltip } from '../..';\nimport Toggle from '../Toggle/Toggle';\n\ninterface SubjectOption {\n value: string;\n label: string;\n}\n\nstoriesOf('Form|RadioGroup', module)\n .add('defined options', () => {\n const [subject, setSubject] = useState(\n undefined\n );\n\n return (\n
\n \n id=\"subject\"\n label=\"Subject\"\n placeholder=\"Please enter your subject\"\n optionForValue={(option: SubjectOption) => option.label}\n isOptionEnabled={option => option.value !== 'awesome'}\n options={[\n { value: 'awesome', label: 'Awesome shit' },\n { value: 'super', label: 'Super shit' },\n { value: 'great', label: 'Great shit' },\n { value: 'good', label: 'good shit' }\n ]}\n value={subject}\n onChange={setSubject}\n />\n\n {subject ?

Your chosen subject is: {subject.label}

: null}\n \n );\n })\n .add('horizontal', () => {\n const [subject, setSubject] = useState(\n undefined\n );\n\n return (\n
\n \n id=\"subject\"\n label=\"Subject\"\n placeholder=\"Please enter your subject\"\n optionForValue={(option: SubjectOption) => option.label}\n isOptionEnabled={option => option.value !== 'awesome'}\n options={[\n { value: 'awesome', label: 'Awesome shit' },\n { value: 'super', label: 'Super shit' },\n { value: 'great', label: 'Great shit' },\n { value: 'good', label: 'good shit' }\n ]}\n value={subject}\n onChange={setSubject}\n horizontal={true}\n />\n\n {subject ?

Your chosen subject is: {subject.label}

: null}\n\n

\n Disclaimer: horizontal mode works best when there are\n not too many items\n

\n \n );\n })\n .add('horizontal with clear', () => {\n const [subject, setSubject] = useState(\n undefined\n );\n\n return (\n
\n \n id=\"subject\"\n label=\"Subject\"\n placeholder=\"Please enter your subject\"\n optionForValue={(option: SubjectOption) => option.label}\n isOptionEnabled={option => option.value !== 'awesome'}\n options={[\n { value: 'awesome', label: 'Awesome shit' },\n { value: 'super', label: 'Super shit' },\n { value: 'great', label: 'Great shit' },\n { value: 'good', label: 'good shit' }\n ]}\n value={subject}\n onChange={setSubject}\n horizontal={true}\n canClear={true}\n />\n\n {subject ?

Your chosen subject is: {subject.label}

: null}\n\n

\n Disclaimer: horizontal mode works best when there are\n not too many items\n

\n \n );\n })\n .add('with clear button', () => {\n const [subject, setSubject] = useState(\n undefined\n );\n\n return (\n
\n \n id=\"subject\"\n label=\"Subject\"\n placeholder=\"Please enter your subject\"\n optionForValue={(option: SubjectOption) => option.label}\n isOptionEnabled={option => option.value !== 'awesome'}\n options={[\n { value: 'awesome', label: 'Awesome shit' },\n { value: 'super', label: 'Super shit' },\n { value: 'great', label: 'Great shit' },\n { value: 'good', label: 'good shit' }\n ]}\n value={subject}\n onChange={setSubject}\n canClear={true}\n />\n\n {subject ?

Your chosen subject is: {subject.label}

: null}\n \n );\n })\n .add('fetched options', () => {\n const [subject, setSubject] = useState(randomUser());\n\n return (\n
\n \n id=\"subject\"\n label=\"Subject\"\n placeholder=\"Please enter your subject\"\n optionForValue={(user: User) => user.email}\n options={() => resolveAfter(pageOfUsers)}\n value={subject}\n onChange={setSubject}\n />\n\n {subject ?

Your chosen subject is: {subject.email}

: null}\n \n );\n })\n .add('custom isOptionEqual', () => {\n const [subject, setSubject] = useState(undefined);\n\n return (\n
\n \n id=\"subject\"\n label=\"Subject\"\n placeholder=\"Please enter your subject\"\n optionForValue={(user: User) => user.email}\n options={() => Promise.resolve(pageOfUsers)}\n isOptionEqual={(a: User, b: User) => a.id === b.id}\n value={subject}\n onChange={setSubject}\n />\n\n {subject ?

Your chosen subject is: {subject.email}

: null}\n \n );\n })\n .add('without placeholder', () => {\n const [subject, setSubject] = useState(\n undefined\n );\n\n return (\n
\n \n id=\"subject\"\n label=\"Subject\"\n optionForValue={(option: SubjectOption) => option.label}\n isOptionEnabled={option => option.value !== 'awesome'}\n options={[\n { value: 'awesome', label: 'Awesome shit' },\n { value: 'super', label: 'Super shit' },\n { value: 'great', label: 'Great shit' },\n { value: 'good', label: 'good shit' }\n ]}\n value={subject}\n onChange={setSubject}\n />\n\n {subject ?

Your chosen subject is: {subject.label}

: null}\n \n );\n })\n .add('without label', () => {\n const [subject, setSubject] = useState(\n undefined\n );\n\n return (\n
\n \n id=\"subject\"\n placeholder=\"Please enter your subject\"\n optionForValue={(option: SubjectOption) => option.label}\n isOptionEnabled={option => option.value !== 'awesome'}\n options={[\n { value: 'awesome', label: 'Awesome shit' },\n { value: 'super', label: 'Super shit' },\n { value: 'great', label: 'Great shit' },\n { value: 'good', label: 'good shit' }\n ]}\n value={subject}\n onChange={setSubject}\n />\n\n {subject ?

Your chosen subject is: {subject.label}

: null}\n \n );\n })\n .add('with custom label', () => {\n const [subject, setSubject] = useState(\n undefined\n );\n\n return (\n
\n \n id=\"subject\"\n label={\n <>\n Subject\n \n \n \n \n }\n placeholder=\"Please enter your subject\"\n optionForValue={(option: SubjectOption) => option.label}\n isOptionEnabled={option => option.value !== 'awesome'}\n options={[\n { value: 'awesome', label: 'Awesome shit' },\n { value: 'super', label: 'Super shit' },\n { value: 'great', label: 'Great shit' },\n { value: 'good', label: 'good shit' }\n ]}\n value={subject}\n onChange={setSubject}\n />\n\n {subject ?

Your chosen subject is: {subject.label}

: null}\n \n );\n })\n .add('value based options', () => {\n const [subject, setSubject] = useState(\n undefined\n );\n const [filtered, setFiltered] = useState(false);\n\n const allOptions = [\n { value: 'awesome', label: 'Awesome shit' },\n { value: 'super', label: 'Super shit' },\n { value: 'great', label: 'Great shit' },\n { value: 'good', label: 'good shit' }\n ];\n\n const filteredOptions = allOptions.filter(\n option => option.value !== 'awesome'\n );\n\n return (\n
\n
\n \n Filter options\n
\n \n id=\"subject\"\n label=\"Subject\"\n placeholder=\"Please enter your subject\"\n optionForValue={(option: SubjectOption) => option.label}\n isOptionEnabled={option => option.value !== 'awesome'}\n options={filtered ? filteredOptions : allOptions}\n value={subject}\n onChange={setSubject}\n />\n\n {subject ?

Your chosen subject is: {subject.label}

: null}\n \n );\n })\n .add('value based async options', () => {\n const [brand, setBrand] = useState();\n const [model, setModel] = useState();\n\n const allOptions = {\n Audi: ['A1', 'A2', 'A3', 'M5'],\n BMW: ['series 1', 'series 2', 'series 3', 'series 4', 'series 5'],\n Mercedes: ['Viano', 'Vito', 'Sprinter']\n };\n\n return (\n
\n option}\n options={() => resolveAfter(pageOf(Object.keys(allOptions), 1))}\n value={brand}\n onChange={value => {\n setBrand(value);\n setModel(undefined);\n }}\n />\n option}\n options={() =>\n resolveAfter(pageOf(brand ? allOptions[brand] : [], 1))\n }\n value={model}\n onChange={setModel}\n watch={brand}\n />\n \n );\n })\n .add('jarb', () => {\n return (\n \n option.label}\n isOptionEnabled={option => option.value !== 'awesome'}\n options={[\n { value: 'awesome', label: 'Awesome shit' },\n { value: 'super', label: 'Super shit' },\n { value: 'great', label: 'Great shit' },\n { value: 'good', label: 'good shit' }\n ]}\n jarb={{\n validator: 'Hero.name',\n label: 'Subject'\n }}\n />\n \n );\n })\n .add('default option', () => {\n const [subject, setSubject] = useState({\n value: 'great',\n label: 'Great shit'\n });\n\n return (\n
\n \n id=\"subject\"\n label=\"Subject\"\n placeholder=\"Please enter your subject\"\n optionForValue={(option: SubjectOption) => option.label}\n options={[\n { value: 'awesome', label: 'Awesome shit' },\n { value: 'super', label: 'Super shit' },\n { value: 'great', label: 'Great shit' },\n { value: 'good', label: 'good shit' }\n ]}\n value={subject}\n onChange={setSubject}\n />\n {subject ?

Your chosen subject is: {subject.label}

: null}\n \n );\n });\n"),__ADDS_MAP__={"form-radiogroup--default-option":{startLoc:{col:7,line:376},endLoc:{col:3,line:401},startBody:{col:25,line:376},endBody:{col:3,line:401}},"form-radiogroup--jarb":{startLoc:{col:7,line:352},endLoc:{col:3,line:375},startBody:{col:15,line:352},endBody:{col:3,line:375}},"form-radiogroup--value-based-async-options":{startLoc:{col:7,line:311},endLoc:{col:3,line:351},startBody:{col:36,line:311},endBody:{col:3,line:351}},"form-radiogroup--value-based-options":{startLoc:{col:7,line:268},endLoc:{col:3,line:310},startBody:{col:30,line:268},endBody:{col:3,line:310}},"form-radiogroup--with-custom-label":{startLoc:{col:7,line:230},endLoc:{col:3,line:267},startBody:{col:28,line:230},endBody:{col:3,line:267}},"form-radiogroup--without-label":{startLoc:{col:7,line:204},endLoc:{col:3,line:229},startBody:{col:24,line:204},endBody:{col:3,line:229}},"form-radiogroup--without-placeholder":{startLoc:{col:7,line:178},endLoc:{col:3,line:203},startBody:{col:30,line:178},endBody:{col:3,line:203}},"form-radiogroup--custom-isoptionequal":{startLoc:{col:7,line:158},endLoc:{col:3,line:177},startBody:{col:31,line:158},endBody:{col:3,line:177}},"form-radiogroup--fetched-options":{startLoc:{col:7,line:139},endLoc:{col:3,line:157},startBody:{col:26,line:139},endBody:{col:3,line:157}},"form-radiogroup--with-clear-button":{startLoc:{col:7,line:111},endLoc:{col:3,line:138},startBody:{col:28,line:111},endBody:{col:3,line:138}},"form-radiogroup--horizontal-with-clear":{startLoc:{col:7,line:77},endLoc:{col:3,line:110},startBody:{col:32,line:77},endBody:{col:3,line:110}},"form-radiogroup--horizontal":{startLoc:{col:7,line:44},endLoc:{col:3,line:76},startBody:{col:21,line:44},endBody:{col:3,line:76}},"form-radiogroup--defined-options":{startLoc:{col:7,line:17},endLoc:{col:3,line:43},startBody:{col:26,line:17},endBody:{col:3,line:43}}};Object(_storybook_react__WEBPACK_IMPORTED_MODULE_1__.storiesOf)("Form|RadioGroup",module).addParameters({storySource:{source:__STORY__,locationsMap:__ADDS_MAP__}}).addDecorator(withSourceLoader(__STORY__,__ADDS_MAP__,"/RadioGroup.stories.tsx",[],{},"/Users/gido.manders/projecten/42/ui/src/form/RadioGroup",{})).add("defined options",()=>{const[subject,setSubject]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(void 0);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_3__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_RadioGroup__WEBPACK_IMPORTED_MODULE_2__.b,{id:"subject",label:"Subject",placeholder:"Please enter your subject",optionForValue:option=>option.label,isOptionEnabled:option=>"awesome"!==option.value,options:[{value:"awesome",label:"Awesome shit"},{value:"super",label:"Super shit"},{value:"great",label:"Great shit"},{value:"good",label:"good shit"}],value:subject,onChange:setSubject}),subject?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p",null,"Your chosen subject is: ",subject.label):null)}).add("horizontal",()=>{const[subject,setSubject]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(void 0);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_3__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_RadioGroup__WEBPACK_IMPORTED_MODULE_2__.b,{id:"subject",label:"Subject",placeholder:"Please enter your subject",optionForValue:option=>option.label,isOptionEnabled:option=>"awesome"!==option.value,options:[{value:"awesome",label:"Awesome shit"},{value:"super",label:"Super shit"},{value:"great",label:"Great shit"},{value:"good",label:"good shit"}],value:subject,onChange:setSubject,horizontal:!0}),subject?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p",null,"Your chosen subject is: ",subject.label):null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p",null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("strong",null,"Disclaimer:")," horizontal mode works best when there are not too many items"))}).add("horizontal with clear",()=>{const[subject,setSubject]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(void 0);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_3__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_RadioGroup__WEBPACK_IMPORTED_MODULE_2__.b,{id:"subject",label:"Subject",placeholder:"Please enter your subject",optionForValue:option=>option.label,isOptionEnabled:option=>"awesome"!==option.value,options:[{value:"awesome",label:"Awesome shit"},{value:"super",label:"Super shit"},{value:"great",label:"Great shit"},{value:"good",label:"good shit"}],value:subject,onChange:setSubject,horizontal:!0,canClear:!0}),subject?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p",null,"Your chosen subject is: ",subject.label):null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p",null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("strong",null,"Disclaimer:")," horizontal mode works best when there are not too many items"))}).add("with clear button",()=>{const[subject,setSubject]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(void 0);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_3__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_RadioGroup__WEBPACK_IMPORTED_MODULE_2__.b,{id:"subject",label:"Subject",placeholder:"Please enter your subject",optionForValue:option=>option.label,isOptionEnabled:option=>"awesome"!==option.value,options:[{value:"awesome",label:"Awesome shit"},{value:"super",label:"Super shit"},{value:"great",label:"Great shit"},{value:"good",label:"good shit"}],value:subject,onChange:setSubject,canClear:!0}),subject?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p",null,"Your chosen subject is: ",subject.label):null)}).add("fetched options",()=>{const[subject,setSubject]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(Object(_test_fixtures__WEBPACK_IMPORTED_MODULE_4__.c)());return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_3__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_RadioGroup__WEBPACK_IMPORTED_MODULE_2__.b,{id:"subject",label:"Subject",placeholder:"Please enter your subject",optionForValue:user=>user.email,options:()=>Object(_story_utils__WEBPACK_IMPORTED_MODULE_3__.c)(_test_fixtures__WEBPACK_IMPORTED_MODULE_4__.b),value:subject,onChange:setSubject}),subject?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p",null,"Your chosen subject is: ",subject.email):null)}).add("custom isOptionEqual",()=>{const[subject,setSubject]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(void 0);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_3__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_RadioGroup__WEBPACK_IMPORTED_MODULE_2__.b,{id:"subject",label:"Subject",placeholder:"Please enter your subject",optionForValue:user=>user.email,options:()=>Promise.resolve(_test_fixtures__WEBPACK_IMPORTED_MODULE_4__.b),isOptionEqual:(a,b)=>a.id===b.id,value:subject,onChange:setSubject}),subject?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p",null,"Your chosen subject is: ",subject.email):null)}).add("without placeholder",()=>{const[subject,setSubject]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(void 0);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_3__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_RadioGroup__WEBPACK_IMPORTED_MODULE_2__.b,{id:"subject",label:"Subject",optionForValue:option=>option.label,isOptionEnabled:option=>"awesome"!==option.value,options:[{value:"awesome",label:"Awesome shit"},{value:"super",label:"Super shit"},{value:"great",label:"Great shit"},{value:"good",label:"good shit"}],value:subject,onChange:setSubject}),subject?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p",null,"Your chosen subject is: ",subject.label):null)}).add("without label",()=>{const[subject,setSubject]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(void 0);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_3__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_RadioGroup__WEBPACK_IMPORTED_MODULE_2__.b,{id:"subject",placeholder:"Please enter your subject",optionForValue:option=>option.label,isOptionEnabled:option=>"awesome"!==option.value,options:[{value:"awesome",label:"Awesome shit"},{value:"super",label:"Super shit"},{value:"great",label:"Great shit"},{value:"good",label:"good shit"}],value:subject,onChange:setSubject}),subject?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p",null,"Your chosen subject is: ",subject.label):null)}).add("with custom label",()=>{const[subject,setSubject]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(void 0);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_3__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_RadioGroup__WEBPACK_IMPORTED_MODULE_2__.b,{id:"subject",label:react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span",null,"Subject"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_5__.v,{className:"ml-1 position-relative",style:{top:4},content:"Subjects are the best"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_5__.d,{icon:"info"}))),placeholder:"Please enter your subject",optionForValue:option=>option.label,isOptionEnabled:option=>"awesome"!==option.value,options:[{value:"awesome",label:"Awesome shit"},{value:"super",label:"Super shit"},{value:"great",label:"Great shit"},{value:"good",label:"good shit"}],value:subject,onChange:setSubject}),subject?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p",null,"Your chosen subject is: ",subject.label):null)}).add("value based options",()=>{const[subject,setSubject]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(void 0),[filtered,setFiltered]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(!1),allOptions=[{value:"awesome",label:"Awesome shit"},{value:"super",label:"Super shit"},{value:"great",label:"Great shit"},{value:"good",label:"good shit"}],filteredOptions=allOptions.filter(option=>"awesome"!==option.value);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_3__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"mb-3"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Toggle_Toggle__WEBPACK_IMPORTED_MODULE_6__.c,{color:"primary",onChange:setFiltered,value:filtered,className:"mr-2"}),"Filter options"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_RadioGroup__WEBPACK_IMPORTED_MODULE_2__.b,{id:"subject",label:"Subject",placeholder:"Please enter your subject",optionForValue:option=>option.label,isOptionEnabled:option=>"awesome"!==option.value,options:filtered?filteredOptions:allOptions,value:subject,onChange:setSubject}),subject?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p",null,"Your chosen subject is: ",subject.label):null)}).add("value based async options",()=>{const[brand,setBrand]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(),[model,setModel]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(),allOptions={Audi:["A1","A2","A3","M5"],BMW:["series 1","series 2","series 3","series 4","series 5"],Mercedes:["Viano","Vito","Sprinter"]};return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_3__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_RadioGroup__WEBPACK_IMPORTED_MODULE_2__.b,{id:"brand",label:"Brand",placeholder:"Please select your brand",optionForValue:option=>option,options:()=>Object(_story_utils__WEBPACK_IMPORTED_MODULE_3__.c)(Object(___WEBPACK_IMPORTED_MODULE_5__.z)(Object.keys(allOptions),1)),value:brand,onChange:value=>{setBrand(value),setModel(void 0)}}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_RadioGroup__WEBPACK_IMPORTED_MODULE_2__.b,{id:"model",label:"Model",placeholder:brand?"Please select your model":"Please select a brand first",optionForValue:option=>option,options:()=>Object(_story_utils__WEBPACK_IMPORTED_MODULE_3__.c)(Object(___WEBPACK_IMPORTED_MODULE_5__.z)(brand?allOptions[brand]:[],1)),value:model,onChange:setModel,watch:brand}))}).add("jarb",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_3__.a,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_RadioGroup__WEBPACK_IMPORTED_MODULE_2__.a,{id:"subject",name:"subject",label:"Subject",placeholder:"Please enter your subject",optionForValue:option=>option.label,isOptionEnabled:option=>"awesome"!==option.value,options:[{value:"awesome",label:"Awesome shit"},{value:"super",label:"Super shit"},{value:"great",label:"Great shit"},{value:"good",label:"good shit"}],jarb:{validator:"Hero.name",label:"Subject"}}))).add("default option",()=>{const[subject,setSubject]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)({value:"great",label:"Great shit"});return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_3__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_RadioGroup__WEBPACK_IMPORTED_MODULE_2__.b,{id:"subject",label:"Subject",placeholder:"Please enter your subject",optionForValue:option=>option.label,options:[{value:"awesome",label:"Awesome shit"},{value:"super",label:"Super shit"},{value:"great",label:"Great shit"},{value:"good",label:"good shit"}],value:subject,onChange:setSubject}),subject?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p",null,"Your chosen subject is: ",subject.label):null)})}.call(this,__webpack_require__(26)(module))},232:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return getTranslator}));let translator=translation=>translation.fallback;function getTranslator(){return translator}function setTranslator(_translator){translator=_translator}try{setTranslator.displayName="setTranslator",setTranslator.__docgenInfo={description:"Lets you set a new translator to be used throughout `@42.nl/ui`.\n@param _translator The new translator",displayName:"setTranslator",props:{}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/utilities/translation/translator.ts#setTranslator"]={docgenInfo:setTranslator.__docgenInfo,name:"setTranslator",path:"src/utilities/translation/translator.ts#setTranslator"})}catch(__react_docgen_typescript_loader_error){}},2320:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),function(module){var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),_storybook_react__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(14),_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(2),_Select__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(79),_story_utils__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(5),_test_fixtures__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(12),___WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(7),withSourceLoader=__webpack_require__(15).withSource,__STORY__=(__webpack_require__(15).addSource,"import React, { useState } from 'react';\nimport { storiesOf } from '@storybook/react';\nimport { action } from '@storybook/addon-actions';\n\nimport Select, { JarbSelect } from './Select';\nimport { FinalForm, Form, resolveAfter } from '../story-utils';\nimport { pageOfUsers, userUser, randomUser } from '../../test/fixtures';\nimport { User } from '../../test/types';\nimport { Icon, pageOf, Tooltip } from '../..';\n\ninterface SubjectOption {\n value: string;\n label: string;\n}\n\nstoriesOf('Form|Select', module)\n .add('defined options', () => {\n return (\n
\n option.label}\n isOptionEnabled={option => option.value !== 'awesome'}\n options={[\n { value: 'awesome', label: 'Awesome shit' },\n { value: 'super', label: 'Super shit' },\n { value: 'great', label: 'Great shit' },\n { value: 'good', label: 'good shit' }\n ]}\n onChange={value => action(`You entered ${value}`)}\n />\n \n );\n })\n .add('fetched options', () => {\n const [subject, setSubject] = useState(randomUser());\n\n return (\n
\n user.email}\n options={() => resolveAfter(pageOfUsers)}\n value={subject}\n onChange={setSubject}\n />\n \n );\n })\n .add('custom isOptionEqual', () => {\n return (\n
\n user.email}\n options={() => Promise.resolve(pageOfUsers)}\n isOptionEqual={(a: User, b: User) => a.id === b.id}\n onChange={value => action(`You entered ${value}`)}\n />\n \n );\n })\n .add('without placeholder', () => {\n return (\n
\n option.label}\n isOptionEnabled={option => option.value !== 'awesome'}\n options={[\n { value: 'awesome', label: 'Awesome shit' },\n { value: 'super', label: 'Super shit' },\n { value: 'great', label: 'Great shit' },\n { value: 'good', label: 'good shit' }\n ]}\n onChange={value => action(`You entered ${value}`)}\n />\n \n );\n })\n .add('without label', () => {\n return (\n
\n option.label}\n isOptionEnabled={option => option.value !== 'awesome'}\n options={[\n { value: 'awesome', label: 'Awesome shit' },\n { value: 'super', label: 'Super shit' },\n { value: 'great', label: 'Great shit' },\n { value: 'good', label: 'good shit' }\n ]}\n onChange={value => action(`You entered ${value}`)}\n />\n \n );\n })\n .add('with custom label', () => {\n return (\n
\n \n Subject\n \n \n \n \n }\n placeholder=\"Please enter your subject\"\n optionForValue={(option: SubjectOption) => option.label}\n isOptionEnabled={option => option.value !== 'awesome'}\n options={[\n { value: 'awesome', label: 'Awesome shit' },\n { value: 'super', label: 'Super shit' },\n { value: 'great', label: 'Great shit' },\n { value: 'good', label: 'good shit' }\n ]}\n onChange={value => action(`You entered ${value}`)}\n />\n \n );\n })\n .add('value based options', () => {\n const [brand, setBrand] = useState();\n const [model, setModel] = useState();\n\n const allOptions = {\n Audi: ['A1', 'A2', 'A3', 'M5'],\n BMW: ['series 1', 'series 2', 'series 3', 'series 4', 'series 5'],\n Mercedes: ['Viano', 'Vito', 'Sprinter']\n };\n\n return (\n
\n option}\n options={Object.keys(allOptions)}\n onChange={value => {\n setBrand(value);\n setModel(undefined);\n }}\n value={brand}\n />\n option}\n options={brand ? allOptions[brand] : []}\n onChange={value => setModel(value)}\n value={model}\n />\n \n );\n })\n .add('value based async options', () => {\n const [brand, setBrand] = useState();\n const [model, setModel] = useState();\n\n const allOptions = {\n Audi: ['A1', 'A2', 'A3', 'M5'],\n BMW: ['series 1', 'series 2', 'series 3', 'series 4', 'series 5'],\n Mercedes: ['Viano', 'Vito', 'Sprinter']\n };\n\n return (\n
\n option}\n options={() => resolveAfter(pageOf(Object.keys(allOptions), 1))}\n onChange={value => {\n setBrand(value);\n setModel(undefined);\n }}\n value={brand}\n />\n option}\n options={() =>\n resolveAfter(pageOf(brand ? allOptions[brand] : [], 1))\n }\n onChange={(value: string) => setModel(value)}\n value={model}\n watch={brand}\n />\n \n );\n })\n .add('jarb', () => {\n return (\n \n option.label}\n isOptionEnabled={option => option.value !== 'awesome'}\n options={[\n { value: 'awesome', label: 'Awesome shit' },\n { value: 'super', label: 'Super shit' },\n { value: 'great', label: 'Great shit' },\n { value: 'good', label: 'good shit' }\n ]}\n jarb={{\n validator: 'Hero.name',\n label: 'Subject'\n }}\n />\n \n );\n })\n .add('default option', () => {\n const [value, setValue] = useState({ value: 'great', label: 'Great shit' });\n\n return (\n
\n \n id=\"subject\"\n label=\"Subject\"\n value={value}\n placeholder=\"Please enter your subject\"\n optionForValue={(option: SubjectOption) => option.label}\n options={[\n { value: 'awesome', label: 'Awesome shit' },\n { value: 'super', label: 'Super shit' },\n { value: 'great', label: 'Great shit' },\n { value: 'good', label: 'good shit' }\n ]}\n onChange={setValue}\n />\n \n );\n });\n"),__ADDS_MAP__={"form-select--default-option":{startLoc:{col:7,line:238},endLoc:{col:3,line:259},startBody:{col:25,line:238},endBody:{col:3,line:259}},"form-select--jarb":{startLoc:{col:7,line:214},endLoc:{col:3,line:237},startBody:{col:15,line:214},endBody:{col:3,line:237}},"form-select--value-based-async-options":{startLoc:{col:7,line:173},endLoc:{col:3,line:213},startBody:{col:36,line:173},endBody:{col:3,line:213}},"form-select--value-based-options":{startLoc:{col:7,line:135},endLoc:{col:3,line:172},startBody:{col:30,line:135},endBody:{col:3,line:172}},"form-select--with-custom-label":{startLoc:{col:7,line:108},endLoc:{col:3,line:134},startBody:{col:28,line:108},endBody:{col:3,line:134}},"form-select--without-label":{startLoc:{col:7,line:89},endLoc:{col:3,line:107},startBody:{col:24,line:89},endBody:{col:3,line:107}},"form-select--without-placeholder":{startLoc:{col:7,line:70},endLoc:{col:3,line:88},startBody:{col:30,line:70},endBody:{col:3,line:88}},"form-select--custom-isoptionequal":{startLoc:{col:7,line:54},endLoc:{col:3,line:69},startBody:{col:31,line:54},endBody:{col:3,line:69}},"form-select--fetched-options":{startLoc:{col:7,line:37},endLoc:{col:3,line:53},startBody:{col:26,line:37},endBody:{col:3,line:53}},"form-select--defined-options":{startLoc:{col:7,line:17},endLoc:{col:3,line:36},startBody:{col:26,line:17},endBody:{col:3,line:36}}};Object(_storybook_react__WEBPACK_IMPORTED_MODULE_1__.storiesOf)("Form|Select",module).addParameters({storySource:{source:__STORY__,locationsMap:__ADDS_MAP__}}).addDecorator(withSourceLoader(__STORY__,__ADDS_MAP__,"/Select.stories.tsx",[],{},"/Users/gido.manders/projecten/42/ui/src/form/Select",{})).add("defined options",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Select__WEBPACK_IMPORTED_MODULE_3__.b,{id:"subject",label:"Subject",placeholder:"Please enter your subject",optionForValue:option=>option.label,isOptionEnabled:option=>"awesome"!==option.value,options:[{value:"awesome",label:"Awesome shit"},{value:"super",label:"Super shit"},{value:"great",label:"Great shit"},{value:"good",label:"good shit"}],onChange:value=>Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)(`You entered ${value}`)}))).add("fetched options",()=>{const[subject,setSubject]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(Object(_test_fixtures__WEBPACK_IMPORTED_MODULE_5__.c)());return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Select__WEBPACK_IMPORTED_MODULE_3__.b,{id:"subject",label:"Subject",placeholder:"Please enter your subject",optionForValue:user=>user.email,options:()=>Object(_story_utils__WEBPACK_IMPORTED_MODULE_4__.c)(_test_fixtures__WEBPACK_IMPORTED_MODULE_5__.b),value:subject,onChange:setSubject}))}).add("custom isOptionEqual",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Select__WEBPACK_IMPORTED_MODULE_3__.b,{id:"subject",label:"Subject",placeholder:"Please enter your subject",value:_test_fixtures__WEBPACK_IMPORTED_MODULE_5__.d,optionForValue:user=>user.email,options:()=>Promise.resolve(_test_fixtures__WEBPACK_IMPORTED_MODULE_5__.b),isOptionEqual:(a,b)=>a.id===b.id,onChange:value=>Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)(`You entered ${value}`)}))).add("without placeholder",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Select__WEBPACK_IMPORTED_MODULE_3__.b,{id:"subject",label:"Subject",optionForValue:option=>option.label,isOptionEnabled:option=>"awesome"!==option.value,options:[{value:"awesome",label:"Awesome shit"},{value:"super",label:"Super shit"},{value:"great",label:"Great shit"},{value:"good",label:"good shit"}],onChange:value=>Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)(`You entered ${value}`)}))).add("without label",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Select__WEBPACK_IMPORTED_MODULE_3__.b,{id:"subject",placeholder:"Please enter your subject",optionForValue:option=>option.label,isOptionEnabled:option=>"awesome"!==option.value,options:[{value:"awesome",label:"Awesome shit"},{value:"super",label:"Super shit"},{value:"great",label:"Great shit"},{value:"good",label:"good shit"}],onChange:value=>Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)(`You entered ${value}`)}))).add("with custom label",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Select__WEBPACK_IMPORTED_MODULE_3__.b,{id:"subject",label:react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"d-flex justify-content-between"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span",null,"Subject"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_6__.v,{className:"ml-1",content:"The subject of your essay"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_6__.d,{icon:"info"}))),placeholder:"Please enter your subject",optionForValue:option=>option.label,isOptionEnabled:option=>"awesome"!==option.value,options:[{value:"awesome",label:"Awesome shit"},{value:"super",label:"Super shit"},{value:"great",label:"Great shit"},{value:"good",label:"good shit"}],onChange:value=>Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)(`You entered ${value}`)}))).add("value based options",()=>{const[brand,setBrand]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(),[model,setModel]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(),allOptions={Audi:["A1","A2","A3","M5"],BMW:["series 1","series 2","series 3","series 4","series 5"],Mercedes:["Viano","Vito","Sprinter"]};return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Select__WEBPACK_IMPORTED_MODULE_3__.b,{id:"brand",label:"Brand",placeholder:"Please select your brand",optionForValue:option=>option,options:Object.keys(allOptions),onChange:value=>{setBrand(value),setModel(void 0)},value:brand}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Select__WEBPACK_IMPORTED_MODULE_3__.b,{id:"model",label:"Model",placeholder:brand?"Please select your model":"Please select a brand first",optionForValue:option=>option,options:brand?allOptions[brand]:[],onChange:value=>setModel(value),value:model}))}).add("value based async options",()=>{const[brand,setBrand]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(),[model,setModel]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(),allOptions={Audi:["A1","A2","A3","M5"],BMW:["series 1","series 2","series 3","series 4","series 5"],Mercedes:["Viano","Vito","Sprinter"]};return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Select__WEBPACK_IMPORTED_MODULE_3__.b,{id:"brand",label:"Brand",placeholder:"Please select your brand",optionForValue:option=>option,options:()=>Object(_story_utils__WEBPACK_IMPORTED_MODULE_4__.c)(Object(___WEBPACK_IMPORTED_MODULE_6__.z)(Object.keys(allOptions),1)),onChange:value=>{setBrand(value),setModel(void 0)},value:brand}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Select__WEBPACK_IMPORTED_MODULE_3__.b,{id:"model",label:"Model",placeholder:brand?"Please select your model":"Please select a brand first",optionForValue:option=>option,options:()=>Object(_story_utils__WEBPACK_IMPORTED_MODULE_4__.c)(Object(___WEBPACK_IMPORTED_MODULE_6__.z)(brand?allOptions[brand]:[],1)),onChange:value=>setModel(value),value:model,watch:brand}))}).add("jarb",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.a,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Select__WEBPACK_IMPORTED_MODULE_3__.a,{id:"subject",name:"subject",label:"Subject",placeholder:"Please enter your subject",optionForValue:option=>option.label,isOptionEnabled:option=>"awesome"!==option.value,options:[{value:"awesome",label:"Awesome shit"},{value:"super",label:"Super shit"},{value:"great",label:"Great shit"},{value:"good",label:"good shit"}],jarb:{validator:"Hero.name",label:"Subject"}}))).add("default option",()=>{const[value,setValue]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)({value:"great",label:"Great shit"});return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Select__WEBPACK_IMPORTED_MODULE_3__.b,{id:"subject",label:"Subject",value:value,placeholder:"Please enter your subject",optionForValue:option=>option.label,options:[{value:"awesome",label:"Awesome shit"},{value:"super",label:"Super shit"},{value:"great",label:"Great shit"},{value:"good",label:"good shit"}],onChange:setValue}))})}.call(this,__webpack_require__(26)(module))},2321:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),function(module){var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),_storybook_react__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(14),_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(2),_TextEditor__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(156),_story_utils__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(5),___WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(7),withSourceLoader=__webpack_require__(15).withSource,__STORY__=(__webpack_require__(15).addSource,"import React, { useEffect } from 'react';\nimport { storiesOf } from '@storybook/react';\nimport { action } from '@storybook/addon-actions';\n\nimport TextEditor, { JarbTextEditor } from './TextEditor';\n\nimport { FinalForm, Form } from '../story-utils';\nimport { Icon, Tooltip } from '../..';\n\nconst disclaimer = (\n <>\n

\n Disclaimer: when using the TextEditor you must sanitize\n the output when rendering the output in the browser. If you do not do this\n you risk an XSS attack.\n

\n

\n The 42 way of dealing with this problem is by using{' '}\n jsoup and to use the{' '}\n \n sanitizer\n {' '}\n with a whitelist. The whitelist should only contain elements which the\n TextEditor generates. The sanitizer should be applied before sending the\n content to the browser.\n

\n \n);\n\nstoriesOf('Form|TextEditor', module)\n .add('basic', () => {\n return (\n
\n action(`onChange: ${value}`)}\n />\n {disclaimer}\n \n );\n })\n .add('without placeholder', () => {\n return (\n
\n action(`onChange: ${value}`)}\n />\n {disclaimer}\n \n );\n })\n .add('without label', () => {\n return (\n
\n action(`onChange: ${value}`)}\n />\n {disclaimer}\n \n );\n })\n .add('with custom label', () => {\n return (\n
\n \n Description\n \n \n \n \n }\n placeholder=\"Please add a description\"\n onChange={value => action(`onChange: ${value}`)}\n />\n {disclaimer}\n \n );\n })\n .add('custom toolbar', () => {\n const placeholders = [{ label: 'First name', value: 'firstName' }];\n\n useEffect(() => {\n /**\n * Supply the HTML content of the placeholder dropdown.\n * We need this because QuillJS shows an empty dropdown when supplying a custom dropdown list.\n */\n document\n .querySelectorAll('.ql-placeholder .ql-picker-label')\n .forEach((label: HTMLElement) => {\n if (label.innerHTML.startsWith(' {\n item.textContent =\n placeholders.find(ph => ph.value === item.dataset.value)?.label ||\n item.dataset.value ||\n null;\n });\n }, [placeholders]);\n\n function insertPlaceholder(value: string) {\n const quill = this.quill;\n const cursorPosition = quill.getSelection().index;\n quill.insertText(cursorPosition, `[${value}]`);\n quill.setSelection({\n index: cursorPosition + value.length + 2,\n length: 0\n });\n }\n\n return (\n
\n action(`onChange: ${value}`)}\n modules={{\n toolbar: {\n container: [\n [\n {\n placeholder: placeholders.map(ph => ph.value)\n }\n ],\n [\n {\n size: ['small', false, 'large', 'huge']\n },\n 'bold',\n 'italic',\n 'underline',\n 'link'\n ],\n [\n {\n list: 'ordered'\n },\n {\n list: 'bullet'\n }\n ],\n ['clean']\n ],\n handlers: {\n placeholder: insertPlaceholder\n }\n }\n }}\n />\n {disclaimer}\n \n );\n })\n .add('jarb', () => {\n return (\n \n \n {disclaimer}\n \n );\n });\n"),__ADDS_MAP__={"form-texteditor--jarb":{startLoc:{col:7,line:175},endLoc:{col:3,line:191},startBody:{col:15,line:175},endBody:{col:3,line:191}},"form-texteditor--custom-toolbar":{startLoc:{col:7,line:91},endLoc:{col:3,line:174},startBody:{col:25,line:91},endBody:{col:3,line:174}},"form-texteditor--with-custom-label":{startLoc:{col:7,line:68},endLoc:{col:3,line:90},startBody:{col:28,line:68},endBody:{col:3,line:90}},"form-texteditor--without-label":{startLoc:{col:7,line:56},endLoc:{col:3,line:67},startBody:{col:24,line:56},endBody:{col:3,line:67}},"form-texteditor--without-placeholder":{startLoc:{col:7,line:44},endLoc:{col:3,line:55},startBody:{col:30,line:44},endBody:{col:3,line:55}},"form-texteditor--basic":{startLoc:{col:7,line:31},endLoc:{col:3,line:43},startBody:{col:16,line:31},endBody:{col:3,line:43}}};const disclaimer=react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p",null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("strong",null,"Disclaimer:")," when using the TextEditor you must sanitize the output when rendering the output in the browser. If you do not do this you risk an XSS attack."),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p",null,"The 42 way of dealing with this problem is by using"," ",react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("a",{href:"https://jsoup.org/"},"jsoup")," and to use the"," ",react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("a",{href:"https://jsoup.org/cookbook/cleaning-html/whitelist-sanitizer"},"sanitizer")," ","with a whitelist. The whitelist should only contain elements which the TextEditor generates. The sanitizer should be applied before sending the content to the browser."));Object(_storybook_react__WEBPACK_IMPORTED_MODULE_1__.storiesOf)("Form|TextEditor",module).addParameters({storySource:{source:__STORY__,locationsMap:__ADDS_MAP__}}).addDecorator(withSourceLoader(__STORY__,__ADDS_MAP__,"/TextEditor.stories.tsx",[],{},"/Users/gido.manders/projecten/42/ui/src/form/TextEditor",{})).add("basic",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_TextEditor__WEBPACK_IMPORTED_MODULE_3__.b,{id:"description",label:"Description",placeholder:"Please add a description",onChange:value=>Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)(`onChange: ${value}`)}),disclaimer)).add("without placeholder",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_TextEditor__WEBPACK_IMPORTED_MODULE_3__.b,{id:"description",label:"Description",onChange:value=>Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)(`onChange: ${value}`)}),disclaimer)).add("without label",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_TextEditor__WEBPACK_IMPORTED_MODULE_3__.b,{id:"description",placeholder:"Please add a description",onChange:value=>Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)(`onChange: ${value}`)}),disclaimer)).add("with custom label",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_TextEditor__WEBPACK_IMPORTED_MODULE_3__.b,{id:"description",label:react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"d-flex justify-content-between"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span",null,"Description"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_5__.v,{className:"ml-1",content:"Be sure to secure against XSS attacks"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_5__.d,{icon:"info"}))),placeholder:"Please add a description",onChange:value=>Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)(`onChange: ${value}`)}),disclaimer)).add("custom toolbar",()=>{const placeholders=[{label:"First name",value:"firstName"}];return Object(react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{document.querySelectorAll(".ql-placeholder .ql-picker-label").forEach(label=>{if(label.innerHTML.startsWith("{var _a;item.textContent=(null===(_a=placeholders.find(ph=>ph.value===item.dataset.value))||void 0===_a?void 0:_a.label)||item.dataset.value||null})},[placeholders]),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_TextEditor__WEBPACK_IMPORTED_MODULE_3__.b,{id:"description",label:"Description",placeholder:"Please add a description",onChange:value=>Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)(`onChange: ${value}`),modules:{toolbar:{container:[[{placeholder:placeholders.map(ph=>ph.value)}],[{size:["small",!1,"large","huge"]},"bold","italic","underline","link"],[{list:"ordered"},{list:"bullet"}],["clean"]],handlers:{placeholder:function insertPlaceholder(value){const quill=this.quill,cursorPosition=quill.getSelection().index;quill.insertText(cursorPosition,`[${value}]`),quill.setSelection({index:cursorPosition+value.length+2,length:0})}}}}}),disclaimer)}).add("jarb",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.a,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_TextEditor__WEBPACK_IMPORTED_MODULE_3__.a,{id:"description",name:"description",label:"Description",placeholder:"Please add a description",jarb:{validator:"Hero.description",label:"Description"}}),disclaimer))}.call(this,__webpack_require__(26)(module))},2322:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),function(module){var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),_storybook_react__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(14),_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(2),_Textarea__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(171),_story_utils__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(5),___WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(7),withSourceLoader=__webpack_require__(15).withSource,__STORY__=(__webpack_require__(15).addSource,'import React from \'react\';\nimport { storiesOf } from \'@storybook/react\';\nimport { action } from \'@storybook/addon-actions\';\n\nimport Textarea, { JarbTextarea } from \'./Textarea\';\nimport { FinalForm, Form } from \'../story-utils\';\nimport { Tooltip, Icon } from \'../..\';\n\nstoriesOf(\'Form|Textarea\', module)\n .add(\'basic\', () => {\n return (\n
\n action(`onChange: ${value}`)}\n />\n \n );\n })\n .add(\'without placeholder\', () => {\n return (\n
\n action(`onChange: ${value}`)}\n />\n \n );\n })\n .add(\'without label\', () => {\n return (\n
\n action(`onChange: ${value}`)}\n />\n \n );\n })\n .add(\'with custom label\', () => {\n return (\n
\n \n Description\n \n \n \n \n }\n placeholder="Please add a description"\n onChange={value => action(`onChange: ${value}`)}\n />\n \n );\n })\n .add(\'jarb\', () => {\n return (\n \n \n \n );\n });\n'),__ADDS_MAP__={"form-textarea--jarb":{startLoc:{col:7,line:66},endLoc:{col:3,line:81},startBody:{col:15,line:66},endBody:{col:3,line:81}},"form-textarea--with-custom-label":{startLoc:{col:7,line:44},endLoc:{col:3,line:65},startBody:{col:28,line:44},endBody:{col:3,line:65}},"form-textarea--without-label":{startLoc:{col:7,line:33},endLoc:{col:3,line:43},startBody:{col:24,line:33},endBody:{col:3,line:43}},"form-textarea--without-placeholder":{startLoc:{col:7,line:22},endLoc:{col:3,line:32},startBody:{col:30,line:22},endBody:{col:3,line:32}},"form-textarea--basic":{startLoc:{col:7,line:10},endLoc:{col:3,line:21},startBody:{col:16,line:10},endBody:{col:3,line:21}}};Object(_storybook_react__WEBPACK_IMPORTED_MODULE_1__.storiesOf)("Form|Textarea",module).addParameters({storySource:{source:__STORY__,locationsMap:__ADDS_MAP__}}).addDecorator(withSourceLoader(__STORY__,__ADDS_MAP__,"/Textarea.stories.tsx",[],{},"/Users/gido.manders/projecten/42/ui/src/form/Textarea",{})).add("basic",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Textarea__WEBPACK_IMPORTED_MODULE_3__.b,{id:"description",label:"Description",placeholder:"Please add a description",onChange:value=>Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)(`onChange: ${value}`)}))).add("without placeholder",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Textarea__WEBPACK_IMPORTED_MODULE_3__.b,{id:"description",label:"Description",onChange:value=>Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)(`onChange: ${value}`)}))).add("without label",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Textarea__WEBPACK_IMPORTED_MODULE_3__.b,{id:"description",placeholder:"Please add a description",onChange:value=>Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)(`onChange: ${value}`)}))).add("with custom label",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Textarea__WEBPACK_IMPORTED_MODULE_3__.b,{id:"description",label:react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"d-flex justify-content-between"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span",null,"Description"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_5__.v,{className:"ml-1",content:"The description is shown inside a tooltip"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_5__.d,{icon:"info"}))),placeholder:"Please add a description",onChange:value=>Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)(`onChange: ${value}`)}))).add("jarb",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.a,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Textarea__WEBPACK_IMPORTED_MODULE_3__.a,{id:"description",name:"description",label:"Description",placeholder:"Please add a description",jarb:{validator:"Hero.description",label:"Description"}})))}.call(this,__webpack_require__(26)(module))},2323:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),function(module){var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),_storybook_react__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(14),_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(2),_Toggle__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(92),_story_utils__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(5),___WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(7),withSourceLoader=__webpack_require__(15).withSource,__STORY__=(__webpack_require__(15).addSource,"import React from 'react';\nimport { storiesOf } from '@storybook/react';\nimport { action } from '@storybook/addon-actions';\n\nimport Toggle, { FormToggle, JarbFormToggle } from './Toggle';\nimport { Form, FinalForm } from '../story-utils';\nimport { Icon, Tooltip } from '../..';\n\nstoriesOf('Form|Toggle', module)\n .add('basic', () => {\n return (\n
\n \n primary
\n \n secondary
\n \n info
\n \n success
\n \n warning
\n \n danger
\n \n light
\n \n dark\n
\n );\n })\n .add('form', () => {\n return (\n
\n action(`onChange: ${value}`)}\n />\n \n );\n })\n .add('without label', () => {\n return (\n
\n action(`onChange: ${value}`)}\n />\n \n );\n })\n .add('without custom label', () => {\n return (\n
\n \n Agree\n \n \n \n \n }\n toggleColor=\"primary\"\n onChange={value => action(`onChange: ${value}`)}\n />\n \n );\n })\n .add('jarb', () => {\n return (\n \n \n \n );\n });\n"),__ADDS_MAP__={"form-toggle--jarb":{startLoc:{col:7,line:110},endLoc:{col:3,line:125},startBody:{col:15,line:110},endBody:{col:3,line:125}},"form-toggle--without-custom-label":{startLoc:{col:7,line:87},endLoc:{col:3,line:109},startBody:{col:31,line:87},endBody:{col:3,line:109}},"form-toggle--without-label":{startLoc:{col:7,line:76},endLoc:{col:3,line:86},startBody:{col:24,line:76},endBody:{col:3,line:86}},"form-toggle--form":{startLoc:{col:7,line:64},endLoc:{col:3,line:75},startBody:{col:15,line:64},endBody:{col:3,line:75}},"form-toggle--basic":{startLoc:{col:7,line:10},endLoc:{col:3,line:63},startBody:{col:16,line:10},endBody:{col:3,line:63}}};Object(_storybook_react__WEBPACK_IMPORTED_MODULE_1__.storiesOf)("Form|Toggle",module).addParameters({storySource:{source:__STORY__,locationsMap:__ADDS_MAP__}}).addDecorator(withSourceLoader(__STORY__,__ADDS_MAP__,"/Toggle.stories.tsx",[],{},"/Users/gido.manders/projecten/42/ui/src/form/Toggle",{})).add("basic",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"text-center"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Toggle__WEBPACK_IMPORTED_MODULE_3__.c,{color:"primary",onChange:Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)("onChange"),onBlur:Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)("onBlur")}),"primary ",react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("br",null),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Toggle__WEBPACK_IMPORTED_MODULE_3__.c,{color:"secondary",onChange:Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)("onChange"),onBlur:Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)("onBlur")}),"secondary ",react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("br",null),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Toggle__WEBPACK_IMPORTED_MODULE_3__.c,{color:"info",onChange:Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)("onChange"),onBlur:Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)("onBlur")}),"info ",react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("br",null),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Toggle__WEBPACK_IMPORTED_MODULE_3__.c,{color:"success",onChange:Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)("onChange"),onBlur:Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)("onBlur")}),"success ",react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("br",null),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Toggle__WEBPACK_IMPORTED_MODULE_3__.c,{color:"warning",onChange:Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)("onChange"),onBlur:Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)("onBlur")}),"warning ",react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("br",null),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Toggle__WEBPACK_IMPORTED_MODULE_3__.c,{color:"danger",onChange:Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)("onChange"),onBlur:Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)("onBlur")}),"danger ",react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("br",null),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Toggle__WEBPACK_IMPORTED_MODULE_3__.c,{color:"light",onChange:Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)("onChange"),onBlur:Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)("onBlur")}),"light ",react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("br",null),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Toggle__WEBPACK_IMPORTED_MODULE_3__.c,{color:"dark",onChange:Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)("onChange"),onBlur:Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)("onBlur")}),"dark")).add("form",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Toggle__WEBPACK_IMPORTED_MODULE_3__.a,{id:"agree",label:"Agree",toggleColor:"primary",onChange:value=>Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)(`onChange: ${value}`)}))).add("without label",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Toggle__WEBPACK_IMPORTED_MODULE_3__.a,{id:"agree",toggleColor:"primary",onChange:value=>Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)(`onChange: ${value}`)}))).add("without custom label",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Toggle__WEBPACK_IMPORTED_MODULE_3__.a,{id:"agree",label:react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span",null,"Agree"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_5__.v,{className:"position-absolute",style:{left:140},content:"Always agree to any terms without reading them"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_5__.d,{icon:"info"}))),toggleColor:"primary",onChange:value=>Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)(`onChange: ${value}`)}))).add("jarb",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.a,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Toggle__WEBPACK_IMPORTED_MODULE_3__.b,{id:"agree",name:"agree",label:"Agree",toggleColor:"primary",jarb:{validator:"Hero.agree",label:"Agree"}})))}.call(this,__webpack_require__(26)(module))},2324:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),function(module){var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),_storybook_react__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(14),_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(2),_test_utils__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(34),_story_utils__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(5),_test_fixtures__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(12),_TypeaheadMultiple__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(173),___WEBPACK_IMPORTED_MODULE_7__=__webpack_require__(7),withSourceLoader=__webpack_require__(15).withSource,__STORY__=(__webpack_require__(15).addSource,"import React from 'react';\nimport { storiesOf } from '@storybook/react';\nimport { action } from '@storybook/addon-actions';\n\nimport { pageWithContentAndExactSize } from '../../../test/utils';\nimport { Form, FinalForm } from '../../story-utils';\nimport { userUser, adminUser } from '../../../test/fixtures';\nimport { User } from '../../../test/types';\n\nimport TypeaheadMultiple, { JarbTypeaheadMultiple } from './TypeaheadMultiple';\nimport { Icon, Tooltip } from '../../..';\n\nstoriesOf('Form|Typeahead/JarbTypeaheadMultiple', module)\n .add('basic', () => {\n return (\n
\n user.email}\n fetchOptions={() =>\n Promise.resolve(pageWithContentAndExactSize([userUser, adminUser]))\n }\n onChange={value => action(`onChange: ${value}`)}\n />\n \n );\n })\n .add('without placeholder', () => {\n return (\n
\n user.email}\n fetchOptions={() =>\n Promise.resolve(pageWithContentAndExactSize([userUser, adminUser]))\n }\n onChange={value => action(`onChange: ${value}`)}\n />\n \n );\n })\n .add('without label', () => {\n return (\n
\n user.email}\n fetchOptions={() =>\n Promise.resolve(pageWithContentAndExactSize([userUser, adminUser]))\n }\n onChange={value => action(`onChange: ${value}`)}\n />\n \n );\n })\n .add('with custom label', () => {\n return (\n
\n \n Friends\n \n \n \n \n }\n placeholder=\"Please provide all your friends\"\n optionForValue={(user: User) => user.email}\n fetchOptions={() =>\n Promise.resolve(pageWithContentAndExactSize([userUser, adminUser]))\n }\n onChange={value => action(`onChange: ${value}`)}\n />\n \n );\n })\n .add('jarb', () => {\n return (\n \n user.email}\n fetchOptions={() =>\n Promise.resolve(pageWithContentAndExactSize([userUser, adminUser]))\n }\n jarb={{\n validator: 'User.friends',\n label: 'Friends'\n }}\n />\n \n );\n });\n"),__ADDS_MAP__={"form-typeahead-jarbtypeaheadmultiple--jarb":{startLoc:{col:7,line:86},endLoc:{col:3,line:105},startBody:{col:15,line:86},endBody:{col:3,line:105}},"form-typeahead-jarbtypeaheadmultiple--with-custom-label":{startLoc:{col:7,line:60},endLoc:{col:3,line:85},startBody:{col:28,line:60},endBody:{col:3,line:85}},"form-typeahead-jarbtypeaheadmultiple--without-label":{startLoc:{col:7,line:45},endLoc:{col:3,line:59},startBody:{col:24,line:45},endBody:{col:3,line:59}},"form-typeahead-jarbtypeaheadmultiple--without-placeholder":{startLoc:{col:7,line:30},endLoc:{col:3,line:44},startBody:{col:30,line:30},endBody:{col:3,line:44}},"form-typeahead-jarbtypeaheadmultiple--basic":{startLoc:{col:7,line:14},endLoc:{col:3,line:29},startBody:{col:16,line:14},endBody:{col:3,line:29}}};Object(_storybook_react__WEBPACK_IMPORTED_MODULE_1__.storiesOf)("Form|Typeahead/JarbTypeaheadMultiple",module).addParameters({storySource:{source:__STORY__,locationsMap:__ADDS_MAP__}}).addDecorator(withSourceLoader(__STORY__,__ADDS_MAP__,"/TypeaheadMultiple.stories.tsx",[],{},"/Users/gido.manders/projecten/42/ui/src/form/Typeahead/multiple",{})).add("basic",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_TypeaheadMultiple__WEBPACK_IMPORTED_MODULE_6__.b,{id:"friends",label:"Friends",placeholder:"Please provide all your friends",optionForValue:user=>user.email,fetchOptions:()=>Promise.resolve(Object(_test_utils__WEBPACK_IMPORTED_MODULE_3__.b)([_test_fixtures__WEBPACK_IMPORTED_MODULE_5__.d,_test_fixtures__WEBPACK_IMPORTED_MODULE_5__.a])),onChange:value=>Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)(`onChange: ${value}`)}))).add("without placeholder",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_TypeaheadMultiple__WEBPACK_IMPORTED_MODULE_6__.b,{id:"friends",label:"Friends",optionForValue:user=>user.email,fetchOptions:()=>Promise.resolve(Object(_test_utils__WEBPACK_IMPORTED_MODULE_3__.b)([_test_fixtures__WEBPACK_IMPORTED_MODULE_5__.d,_test_fixtures__WEBPACK_IMPORTED_MODULE_5__.a])),onChange:value=>Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)(`onChange: ${value}`)}))).add("without label",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_TypeaheadMultiple__WEBPACK_IMPORTED_MODULE_6__.b,{id:"friends",placeholder:"Please provide all your friends",optionForValue:user=>user.email,fetchOptions:()=>Promise.resolve(Object(_test_utils__WEBPACK_IMPORTED_MODULE_3__.b)([_test_fixtures__WEBPACK_IMPORTED_MODULE_5__.d,_test_fixtures__WEBPACK_IMPORTED_MODULE_5__.a])),onChange:value=>Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)(`onChange: ${value}`)}))).add("with custom label",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_TypeaheadMultiple__WEBPACK_IMPORTED_MODULE_6__.b,{id:"friends",label:react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"d-flex justify-content-between"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span",null,"Friends"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_7__.v,{className:"ml-1",content:"It is nice to have lots of friends"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_7__.d,{icon:"info"}))),placeholder:"Please provide all your friends",optionForValue:user=>user.email,fetchOptions:()=>Promise.resolve(Object(_test_utils__WEBPACK_IMPORTED_MODULE_3__.b)([_test_fixtures__WEBPACK_IMPORTED_MODULE_5__.d,_test_fixtures__WEBPACK_IMPORTED_MODULE_5__.a])),onChange:value=>Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)(`onChange: ${value}`)}))).add("jarb",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.a,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_TypeaheadMultiple__WEBPACK_IMPORTED_MODULE_6__.a,{id:"friends",name:"friends",label:"Friends",placeholder:"Please provide all your friends",optionForValue:user=>user.email,fetchOptions:()=>Promise.resolve(Object(_test_utils__WEBPACK_IMPORTED_MODULE_3__.b)([_test_fixtures__WEBPACK_IMPORTED_MODULE_5__.d,_test_fixtures__WEBPACK_IMPORTED_MODULE_5__.a])),jarb:{validator:"User.friends",label:"Friends"}})))}.call(this,__webpack_require__(26)(module))},2325:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),function(module){var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),_storybook_react__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(14),_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(2),_test_utils__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(34),_story_utils__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(5),_test_fixtures__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(12),_TypeaheadSingle__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(172),___WEBPACK_IMPORTED_MODULE_7__=__webpack_require__(7),withSourceLoader=__webpack_require__(15).withSource,__STORY__=(__webpack_require__(15).addSource,"import React from 'react';\nimport { storiesOf } from '@storybook/react';\nimport { action } from '@storybook/addon-actions';\n\nimport { pageWithContentAndExactSize } from '../../../test/utils';\nimport { Form, FinalForm } from '../../story-utils';\nimport { userUser, adminUser } from '../../../test/fixtures';\nimport { User } from '../../../test/types';\nimport TypeaheadSingle, { JarbTypeaheadSingle } from './TypeaheadSingle';\nimport { Tooltip, Icon } from '../../..';\n\nstoriesOf('Form|Typeahead/JarbTypeaheadSingle', module)\n .add('basic', () => {\n return (\n
\n user.email}\n fetchOptions={() =>\n Promise.resolve(pageWithContentAndExactSize([userUser, adminUser]))\n }\n onChange={value => action(`onChange: ${value}`)}\n />\n \n );\n })\n .add('without placeholder', () => {\n return (\n
\n user.email}\n fetchOptions={() =>\n Promise.resolve(pageWithContentAndExactSize([userUser, adminUser]))\n }\n onChange={value => action(`onChange: ${value}`)}\n />\n \n );\n })\n .add('without label', () => {\n return (\n
\n user.email}\n fetchOptions={() =>\n Promise.resolve(pageWithContentAndExactSize([userUser, adminUser]))\n }\n onChange={value => action(`onChange: ${value}`)}\n />\n \n );\n })\n .add('with custom label', () => {\n return (\n
\n \n Best friend\n \n \n \n \n }\n placeholder=\"Please provide your best friend\"\n optionForValue={(user: User) => user.email}\n fetchOptions={() =>\n Promise.resolve(pageWithContentAndExactSize([userUser, adminUser]))\n }\n onChange={value => action(`onChange: ${value}`)}\n />\n \n );\n })\n .add('jarb', () => {\n return (\n \n user.email}\n fetchOptions={() =>\n Promise.resolve(pageWithContentAndExactSize([userUser, adminUser]))\n }\n jarb={{\n validator: 'User.bestFriend',\n label: 'Best friend'\n }}\n />\n \n );\n });\n"),__ADDS_MAP__={"form-typeahead-jarbtypeaheadsingle--jarb":{startLoc:{col:7,line:85},endLoc:{col:3,line:104},startBody:{col:15,line:85},endBody:{col:3,line:104}},"form-typeahead-jarbtypeaheadsingle--with-custom-label":{startLoc:{col:7,line:59},endLoc:{col:3,line:84},startBody:{col:28,line:59},endBody:{col:3,line:84}},"form-typeahead-jarbtypeaheadsingle--without-label":{startLoc:{col:7,line:44},endLoc:{col:3,line:58},startBody:{col:24,line:44},endBody:{col:3,line:58}},"form-typeahead-jarbtypeaheadsingle--without-placeholder":{startLoc:{col:7,line:29},endLoc:{col:3,line:43},startBody:{col:30,line:29},endBody:{col:3,line:43}},"form-typeahead-jarbtypeaheadsingle--basic":{startLoc:{col:7,line:13},endLoc:{col:3,line:28},startBody:{col:16,line:13},endBody:{col:3,line:28}}};Object(_storybook_react__WEBPACK_IMPORTED_MODULE_1__.storiesOf)("Form|Typeahead/JarbTypeaheadSingle",module).addParameters({storySource:{source:__STORY__,locationsMap:__ADDS_MAP__}}).addDecorator(withSourceLoader(__STORY__,__ADDS_MAP__,"/TypeaheadSingle.stories.tsx",[],{},"/Users/gido.manders/projecten/42/ui/src/form/Typeahead/single",{})).add("basic",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_TypeaheadSingle__WEBPACK_IMPORTED_MODULE_6__.b,{id:"bestFriend",label:"Best friend",placeholder:"Please provide your best friend",optionForValue:user=>user.email,fetchOptions:()=>Promise.resolve(Object(_test_utils__WEBPACK_IMPORTED_MODULE_3__.b)([_test_fixtures__WEBPACK_IMPORTED_MODULE_5__.d,_test_fixtures__WEBPACK_IMPORTED_MODULE_5__.a])),onChange:value=>Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)(`onChange: ${value}`)}))).add("without placeholder",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_TypeaheadSingle__WEBPACK_IMPORTED_MODULE_6__.b,{id:"bestFriend",label:"Best friend",optionForValue:user=>user.email,fetchOptions:()=>Promise.resolve(Object(_test_utils__WEBPACK_IMPORTED_MODULE_3__.b)([_test_fixtures__WEBPACK_IMPORTED_MODULE_5__.d,_test_fixtures__WEBPACK_IMPORTED_MODULE_5__.a])),onChange:value=>Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)(`onChange: ${value}`)}))).add("without label",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_TypeaheadSingle__WEBPACK_IMPORTED_MODULE_6__.b,{id:"bestFriend",placeholder:"Please provide your best friend",optionForValue:user=>user.email,fetchOptions:()=>Promise.resolve(Object(_test_utils__WEBPACK_IMPORTED_MODULE_3__.b)([_test_fixtures__WEBPACK_IMPORTED_MODULE_5__.d,_test_fixtures__WEBPACK_IMPORTED_MODULE_5__.a])),onChange:value=>Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)(`onChange: ${value}`)}))).add("with custom label",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_TypeaheadSingle__WEBPACK_IMPORTED_MODULE_6__.b,{id:"bestFriend",label:react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"d-flex justify-content-between"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span",null,"Best friend"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_7__.v,{className:"ml-1",content:"Are you your best friend's best friend?"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_7__.d,{icon:"info"}))),placeholder:"Please provide your best friend",optionForValue:user=>user.email,fetchOptions:()=>Promise.resolve(Object(_test_utils__WEBPACK_IMPORTED_MODULE_3__.b)([_test_fixtures__WEBPACK_IMPORTED_MODULE_5__.d,_test_fixtures__WEBPACK_IMPORTED_MODULE_5__.a])),onChange:value=>Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)(`onChange: ${value}`)}))).add("jarb",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.a,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_TypeaheadSingle__WEBPACK_IMPORTED_MODULE_6__.a,{id:"bestFriend",name:"bestFriend",label:"Best friend",placeholder:"Please provide your best friend",optionForValue:user=>user.email,fetchOptions:()=>Promise.resolve(Object(_test_utils__WEBPACK_IMPORTED_MODULE_3__.b)([_test_fixtures__WEBPACK_IMPORTED_MODULE_5__.d,_test_fixtures__WEBPACK_IMPORTED_MODULE_5__.a])),jarb:{validator:"User.bestFriend",label:"Best friend"}})))}.call(this,__webpack_require__(26)(module))},2326:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),function(module){var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),_storybook_react__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(14),_test_utils__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(34),_test_fixtures__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(12),_ValuePicker__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(105),_story_utils__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(5),_core_Button_Button__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(3),___WEBPACK_IMPORTED_MODULE_7__=__webpack_require__(7),withSourceLoader=__webpack_require__(15).withSource,__SOURCE_PREFIX__=(__webpack_require__(15).addSource,"/Users/gido.manders/projecten/42/ui/src/form/ValuePicker"),__STORY__="import React, { useState } from 'react';\nimport { storiesOf } from '@storybook/react';\n\nimport { pageWithContentAndExactSize, pageWithContent } from '../../test/utils';\nimport { userUser, adminUser, randomUser } from '../../test/fixtures';\nimport { User } from '../../test/types';\n\nimport ValuePicker, { JarbValuePicker } from './ValuePicker';\n\nimport { FinalForm, Form } from '../story-utils';\nimport Button from '../../core/Button/Button';\nimport { Tooltip, Icon } from '../..';\n\nconst small = Promise.resolve(\n pageWithContentAndExactSize([userUser, adminUser])\n);\n\nconst medium = Promise.resolve(\n pageWithContentAndExactSize([\n userUser,\n adminUser,\n randomUser(),\n randomUser(),\n randomUser(),\n randomUser()\n ])\n);\n\nconst large = Promise.resolve(\n pageWithContent([\n userUser,\n adminUser,\n randomUser(),\n randomUser(),\n randomUser(),\n randomUser(),\n randomUser(),\n randomUser(),\n randomUser(),\n randomUser(),\n randomUser(),\n randomUser(),\n randomUser()\n ])\n);\n\nconst sizes = { small, medium, large };\n\nstoriesOf('Form|ValuePicker/multiple', module)\n .addParameters({ component: ValuePicker })\n .add('basic', () => {\n const [value, setValue] = useState(undefined);\n\n const [size, setSize] = useState('small');\n\n const promise = sizes[size];\n\n return (\n
\n \n multiple={true}\n id=\"bestFriend\"\n label=\"Best friend\"\n placeholder=\"Select your best friend\"\n canSearch={true}\n fetchOptions={() => promise}\n optionForValue={(user: User) => user.email}\n value={value}\n onChange={setValue}\n />\n\n

Use these buttons to trigger a morph

\n \n \n \n );\n })\n .add('custom isOptionEqual', () => {\n const [value, setValue] = useState([userUser]);\n\n const [size, setSize] = useState('small');\n\n const promise = sizes[size];\n\n return (\n
\n \n multiple={true}\n id=\"bestFriend\"\n label=\"Best friend\"\n placeholder=\"Select your best friend\"\n canSearch={true}\n fetchOptions={() => promise}\n optionForValue={(user: User) => user.email}\n isOptionEqual={(a: User, b: User) => a.id === b.id}\n value={value}\n onChange={setValue}\n />\n\n

Use these buttons to trigger a morph

\n \n \n \n );\n })\n .add('without label', () => {\n const [value, setValue] = useState(undefined);\n\n const [size, setSize] = useState('small');\n\n const promise = sizes[size];\n\n return (\n
\n \n multiple={true}\n id=\"bestFriend\"\n placeholder=\"Select your best friend\"\n canSearch={true}\n fetchOptions={() => promise}\n optionForValue={(user: User) => user.email}\n value={value}\n onChange={setValue}\n />\n\n

Use these buttons to trigger a morph

\n \n \n \n );\n })\n .add('with custom label', () => {\n const [value, setValue] = useState(undefined);\n\n const [size, setSize] = useState('small');\n\n const promise = sizes[size];\n\n return (\n
\n \n multiple={true}\n id=\"bestFriend\"\n label={\n
\n Best friend\n \n \n \n
\n }\n placeholder=\"Select your best friend\"\n canSearch={true}\n fetchOptions={() => promise}\n optionForValue={(user: User) => user.email}\n value={value}\n onChange={setValue}\n />\n\n

Use these buttons to trigger a morph

\n \n \n \n );\n })\n .add('jarb', () => {\n const [size, setSize] = useState('small');\n\n const promise = sizes[size];\n\n return (\n \n user.email}\n fetchOptions={() => promise}\n jarb={{\n validator: 'Hero.name',\n label: 'Best friend'\n }}\n />\n\n

Use these buttons to trigger a morph

\n \n \n
\n );\n });\n\nstoriesOf('Form|ValuePicker/single', module)\n .addParameters({ component: ValuePicker })\n .add('basic', () => {\n const [value, setValue] = useState(undefined);\n\n const [size, setSize] = useState('small');\n\n const promise = sizes[size];\n\n return (\n
\n \n multiple={false}\n id=\"bestFriend\"\n label=\"Best friend\"\n placeholder=\"Select your best friend\"\n canSearch={true}\n fetchOptions={() => promise}\n optionForValue={(user: User) => user.email}\n value={value}\n onChange={setValue}\n />\n\n

Use these buttons to trigger a morph

\n \n \n \n \n );\n })\n .add('custom isOptionEqual', () => {\n const [value, setValue] = useState(userUser);\n\n const [size, setSize] = useState('small');\n\n const promise = sizes[size];\n\n return (\n
\n \n multiple={false}\n id=\"bestFriend\"\n label=\"Best friend\"\n placeholder=\"Select your best friend\"\n canSearch={true}\n fetchOptions={() => promise}\n optionForValue={(user: User) => user.email}\n isOptionEqual={(a: User, b: User) => a.id === b.id}\n value={value}\n onChange={setValue}\n />\n\n

Use these buttons to trigger a morph

\n \n \n \n \n );\n })\n .add('without label', () => {\n const [value, setValue] = useState(undefined);\n\n const [size, setSize] = useState('small');\n\n const promise = sizes[size];\n\n return (\n
\n \n multiple={false}\n id=\"bestFriend\"\n placeholder=\"Select your best friend\"\n canSearch={true}\n fetchOptions={() => promise}\n optionForValue={(user: User) => user.email}\n value={value}\n onChange={setValue}\n />\n\n

Use these buttons to trigger a morph

\n \n \n \n \n );\n })\n .add('with custom label', () => {\n const [value, setValue] = useState(undefined);\n\n const [size, setSize] = useState('small');\n\n const promise = sizes[size];\n\n return (\n
\n \n multiple={false}\n id=\"bestFriend\"\n label={\n
\n Best friend\n \n \n \n
\n }\n placeholder=\"Select your best friend\"\n canSearch={true}\n fetchOptions={() => promise}\n optionForValue={(user: User) => user.email}\n value={value}\n onChange={setValue}\n />\n\n

Use these buttons to trigger a morph

\n \n \n \n \n );\n })\n .add('jarb', () => {\n const [size, setSize] = useState('small');\n\n const promise = sizes[size];\n\n return (\n \n user.email}\n fetchOptions={() => promise}\n jarb={{\n validator: 'Hero.name',\n label: 'Best friend'\n }}\n />\n

Use these buttons to trigger a morph

\n \n \n \n
\n );\n });\n",__ADDS_MAP__={"form-valuepicker-multiple--jarb":{startLoc:{col:7,line:177},endLoc:{col:3,line:206},startBody:{col:15,line:177},endBody:{col:3,line:206}},"form-valuepicker-multiple--with-custom-label":{startLoc:{col:7,line:138},endLoc:{col:3,line:176},startBody:{col:28,line:138},endBody:{col:3,line:176}},"form-valuepicker-multiple--without-label":{startLoc:{col:7,line:110},endLoc:{col:3,line:137},startBody:{col:24,line:110},endBody:{col:3,line:137}},"form-valuepicker-multiple--custom-isoptionequal":{startLoc:{col:7,line:80},endLoc:{col:3,line:109},startBody:{col:31,line:80},endBody:{col:3,line:109}},"form-valuepicker-multiple--basic":{startLoc:{col:7,line:51},endLoc:{col:3,line:79},startBody:{col:16,line:51},endBody:{col:3,line:79}},"form-valuepicker-single--jarb":{startLoc:{col:7,line:348},endLoc:{col:3,line:379},startBody:{col:15,line:348},endBody:{col:3,line:379}},"form-valuepicker-single--with-custom-label":{startLoc:{col:7,line:306},endLoc:{col:3,line:347},startBody:{col:28,line:306},endBody:{col:3,line:347}},"form-valuepicker-single--without-label":{startLoc:{col:7,line:275},endLoc:{col:3,line:305},startBody:{col:24,line:275},endBody:{col:3,line:305}},"form-valuepicker-single--custom-isoptionequal":{startLoc:{col:7,line:242},endLoc:{col:3,line:274},startBody:{col:31,line:242},endBody:{col:3,line:274}},"form-valuepicker-single--basic":{startLoc:{col:7,line:210},endLoc:{col:3,line:241},startBody:{col:16,line:210},endBody:{col:3,line:241}}},__MODULE_DEPENDENCIES__=[],__LOCAL_DEPENDENCIES__={},__IDS_TO_FRAMEWORKS__={};const sizes={small:Promise.resolve(Object(_test_utils__WEBPACK_IMPORTED_MODULE_2__.b)([_test_fixtures__WEBPACK_IMPORTED_MODULE_3__.d,_test_fixtures__WEBPACK_IMPORTED_MODULE_3__.a])),medium:Promise.resolve(Object(_test_utils__WEBPACK_IMPORTED_MODULE_2__.b)([_test_fixtures__WEBPACK_IMPORTED_MODULE_3__.d,_test_fixtures__WEBPACK_IMPORTED_MODULE_3__.a,Object(_test_fixtures__WEBPACK_IMPORTED_MODULE_3__.c)(),Object(_test_fixtures__WEBPACK_IMPORTED_MODULE_3__.c)(),Object(_test_fixtures__WEBPACK_IMPORTED_MODULE_3__.c)(),Object(_test_fixtures__WEBPACK_IMPORTED_MODULE_3__.c)()])),large:Promise.resolve(Object(_test_utils__WEBPACK_IMPORTED_MODULE_2__.a)([_test_fixtures__WEBPACK_IMPORTED_MODULE_3__.d,_test_fixtures__WEBPACK_IMPORTED_MODULE_3__.a,Object(_test_fixtures__WEBPACK_IMPORTED_MODULE_3__.c)(),Object(_test_fixtures__WEBPACK_IMPORTED_MODULE_3__.c)(),Object(_test_fixtures__WEBPACK_IMPORTED_MODULE_3__.c)(),Object(_test_fixtures__WEBPACK_IMPORTED_MODULE_3__.c)(),Object(_test_fixtures__WEBPACK_IMPORTED_MODULE_3__.c)(),Object(_test_fixtures__WEBPACK_IMPORTED_MODULE_3__.c)(),Object(_test_fixtures__WEBPACK_IMPORTED_MODULE_3__.c)(),Object(_test_fixtures__WEBPACK_IMPORTED_MODULE_3__.c)(),Object(_test_fixtures__WEBPACK_IMPORTED_MODULE_3__.c)(),Object(_test_fixtures__WEBPACK_IMPORTED_MODULE_3__.c)(),Object(_test_fixtures__WEBPACK_IMPORTED_MODULE_3__.c)()]))};Object(_storybook_react__WEBPACK_IMPORTED_MODULE_1__.storiesOf)("Form|ValuePicker/multiple",module).addParameters({storySource:{source:__STORY__,locationsMap:__ADDS_MAP__}}).addDecorator(withSourceLoader(__STORY__,__ADDS_MAP__,"/ValuePicker.stories.tsx",__MODULE_DEPENDENCIES__,__LOCAL_DEPENDENCIES__,__SOURCE_PREFIX__,__IDS_TO_FRAMEWORKS__)).addParameters({component:_ValuePicker__WEBPACK_IMPORTED_MODULE_4__.b}).add("basic",()=>{const[value,setValue]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(void 0),[size,setSize]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)("small"),promise=sizes[size];return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_5__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ValuePicker__WEBPACK_IMPORTED_MODULE_4__.b,{multiple:!0,id:"bestFriend",label:"Best friend",placeholder:"Select your best friend",canSearch:!0,fetchOptions:()=>promise,optionForValue:user=>user.email,value:value,onChange:setValue}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p",null,"Use these buttons to trigger a morph"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_Button_Button__WEBPACK_IMPORTED_MODULE_6__.a,{className:"mx-2",onClick:()=>setSize("small")},"Small"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_Button_Button__WEBPACK_IMPORTED_MODULE_6__.a,{onClick:()=>setSize("large")},"Large"))}).add("custom isOptionEqual",()=>{const[value,setValue]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)([_test_fixtures__WEBPACK_IMPORTED_MODULE_3__.d]),[size,setSize]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)("small"),promise=sizes[size];return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_5__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ValuePicker__WEBPACK_IMPORTED_MODULE_4__.b,{multiple:!0,id:"bestFriend",label:"Best friend",placeholder:"Select your best friend",canSearch:!0,fetchOptions:()=>promise,optionForValue:user=>user.email,isOptionEqual:(a,b)=>a.id===b.id,value:value,onChange:setValue}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p",null,"Use these buttons to trigger a morph"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_Button_Button__WEBPACK_IMPORTED_MODULE_6__.a,{className:"mx-2",onClick:()=>setSize("small")},"Small"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_Button_Button__WEBPACK_IMPORTED_MODULE_6__.a,{onClick:()=>setSize("large")},"Large"))}).add("without label",()=>{const[value,setValue]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(void 0),[size,setSize]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)("small"),promise=sizes[size];return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_5__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ValuePicker__WEBPACK_IMPORTED_MODULE_4__.b,{multiple:!0,id:"bestFriend",placeholder:"Select your best friend",canSearch:!0,fetchOptions:()=>promise,optionForValue:user=>user.email,value:value,onChange:setValue}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p",null,"Use these buttons to trigger a morph"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_Button_Button__WEBPACK_IMPORTED_MODULE_6__.a,{className:"mx-2",onClick:()=>setSize("small")},"Small"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_Button_Button__WEBPACK_IMPORTED_MODULE_6__.a,{onClick:()=>setSize("large")},"Large"))}).add("with custom label",()=>{const[value,setValue]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(void 0),[size,setSize]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)("small"),promise=sizes[size];return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_5__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ValuePicker__WEBPACK_IMPORTED_MODULE_4__.b,{multiple:!0,id:"bestFriend",label:react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"d-flex justify-content-between"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span",null,"Best friend"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_7__.v,{className:"ml-1",content:"Don't be jealous of your best friends wife"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_7__.d,{icon:"info"}))),placeholder:"Select your best friend",canSearch:!0,fetchOptions:()=>promise,optionForValue:user=>user.email,value:value,onChange:setValue}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p",null,"Use these buttons to trigger a morph"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_Button_Button__WEBPACK_IMPORTED_MODULE_6__.a,{className:"mx-2",onClick:()=>setSize("small")},"Small"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_Button_Button__WEBPACK_IMPORTED_MODULE_6__.a,{onClick:()=>setSize("large")},"Large"))}).add("jarb",()=>{const[size,setSize]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)("small"),promise=sizes[size];return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_5__.a,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ValuePicker__WEBPACK_IMPORTED_MODULE_4__.a,{multiple:!0,id:"bestFriend",name:"bestFriend",label:"Best friend",placeholder:"Select your best friend",canSearch:!0,optionForValue:user=>user.email,fetchOptions:()=>promise,jarb:{validator:"Hero.name",label:"Best friend"}}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p",null,"Use these buttons to trigger a morph"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_Button_Button__WEBPACK_IMPORTED_MODULE_6__.a,{className:"mx-2",onClick:()=>setSize("small")},"Small"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_Button_Button__WEBPACK_IMPORTED_MODULE_6__.a,{onClick:()=>setSize("large")},"Large"))}),Object(_storybook_react__WEBPACK_IMPORTED_MODULE_1__.storiesOf)("Form|ValuePicker/single",module).addParameters({storySource:{source:__STORY__,locationsMap:__ADDS_MAP__}}).addDecorator(withSourceLoader(__STORY__,__ADDS_MAP__,"/ValuePicker.stories.tsx",__MODULE_DEPENDENCIES__,__LOCAL_DEPENDENCIES__,__SOURCE_PREFIX__,__IDS_TO_FRAMEWORKS__)).addParameters({component:_ValuePicker__WEBPACK_IMPORTED_MODULE_4__.b}).add("basic",()=>{const[value,setValue]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(void 0),[size,setSize]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)("small"),promise=sizes[size];return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_5__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ValuePicker__WEBPACK_IMPORTED_MODULE_4__.b,{multiple:!1,id:"bestFriend",label:"Best friend",placeholder:"Select your best friend",canSearch:!0,fetchOptions:()=>promise,optionForValue:user=>user.email,value:value,onChange:setValue}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p",null,"Use these buttons to trigger a morph"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_Button_Button__WEBPACK_IMPORTED_MODULE_6__.a,{className:"mr-1",onClick:()=>setSize("small")},"Small"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_Button_Button__WEBPACK_IMPORTED_MODULE_6__.a,{className:"mr-1",onClick:()=>setSize("medium")},"Medium"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_Button_Button__WEBPACK_IMPORTED_MODULE_6__.a,{onClick:()=>setSize("large")},"Large"))}).add("custom isOptionEqual",()=>{const[value,setValue]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(_test_fixtures__WEBPACK_IMPORTED_MODULE_3__.d),[size,setSize]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)("small"),promise=sizes[size];return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_5__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ValuePicker__WEBPACK_IMPORTED_MODULE_4__.b,{multiple:!1,id:"bestFriend",label:"Best friend",placeholder:"Select your best friend",canSearch:!0,fetchOptions:()=>promise,optionForValue:user=>user.email,isOptionEqual:(a,b)=>a.id===b.id,value:value,onChange:setValue}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p",null,"Use these buttons to trigger a morph"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_Button_Button__WEBPACK_IMPORTED_MODULE_6__.a,{className:"mr-1",onClick:()=>setSize("small")},"Small"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_Button_Button__WEBPACK_IMPORTED_MODULE_6__.a,{className:"mr-1",onClick:()=>setSize("medium")},"Medium"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_Button_Button__WEBPACK_IMPORTED_MODULE_6__.a,{onClick:()=>setSize("large")},"Large"))}).add("without label",()=>{const[value,setValue]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(void 0),[size,setSize]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)("small"),promise=sizes[size];return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_5__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ValuePicker__WEBPACK_IMPORTED_MODULE_4__.b,{multiple:!1,id:"bestFriend",placeholder:"Select your best friend",canSearch:!0,fetchOptions:()=>promise,optionForValue:user=>user.email,value:value,onChange:setValue}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p",null,"Use these buttons to trigger a morph"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_Button_Button__WEBPACK_IMPORTED_MODULE_6__.a,{className:"mr-1",onClick:()=>setSize("small")},"Small"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_Button_Button__WEBPACK_IMPORTED_MODULE_6__.a,{className:"mr-1",onClick:()=>setSize("medium")},"Medium"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_Button_Button__WEBPACK_IMPORTED_MODULE_6__.a,{onClick:()=>setSize("large")},"Large"))}).add("with custom label",()=>{const[value,setValue]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(void 0),[size,setSize]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)("small"),promise=sizes[size];return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_5__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ValuePicker__WEBPACK_IMPORTED_MODULE_4__.b,{multiple:!1,id:"bestFriend",label:react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"d-flex justify-content-between"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span",null,"Best friend"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_7__.v,{className:"ml-1",content:"Don't be jealous of your best friends wife"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_7__.d,{icon:"info"}))),placeholder:"Select your best friend",canSearch:!0,fetchOptions:()=>promise,optionForValue:user=>user.email,value:value,onChange:setValue}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p",null,"Use these buttons to trigger a morph"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_Button_Button__WEBPACK_IMPORTED_MODULE_6__.a,{className:"mr-1",onClick:()=>setSize("small")},"Small"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_Button_Button__WEBPACK_IMPORTED_MODULE_6__.a,{className:"mr-1",onClick:()=>setSize("medium")},"Medium"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_Button_Button__WEBPACK_IMPORTED_MODULE_6__.a,{onClick:()=>setSize("large")},"Large"))}).add("jarb",()=>{const[size,setSize]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)("small"),promise=sizes[size];return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_5__.a,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ValuePicker__WEBPACK_IMPORTED_MODULE_4__.a,{multiple:!1,id:"bestFriend",name:"bestFriend",label:"Best friend",placeholder:"Select your best friend",canSearch:!0,optionForValue:user=>user.email,fetchOptions:()=>promise,jarb:{validator:"Hero.name",label:"Best friend"}}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p",null,"Use these buttons to trigger a morph"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_Button_Button__WEBPACK_IMPORTED_MODULE_6__.a,{className:"mr-1",onClick:()=>setSize("small")},"Small"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_Button_Button__WEBPACK_IMPORTED_MODULE_6__.a,{className:"mr-1",onClick:()=>setSize("medium")},"Medium"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_Button_Button__WEBPACK_IMPORTED_MODULE_6__.a,{onClick:()=>setSize("large")},"Large"))})}.call(this,__webpack_require__(26)(module))},2327:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),function(module){var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),_storybook_react__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(14),reactstrap__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(23),reactstrap__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(71),reactstrap__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(43),reactstrap__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(17),reactstrap__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(238),lodash__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__(16),_EpicTable__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__(67),_rows_EpicRow_EpicRow__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__(35),_cells_EpicHeader_EpicHeader__WEBPACK_IMPORTED_MODULE_10__=__webpack_require__(4),_cells_EpicCell_EpicCell__WEBPACK_IMPORTED_MODULE_11__=__webpack_require__(6),_rows_EpicExpanderRow_EpicExpanderRow__WEBPACK_IMPORTED_MODULE_12__=__webpack_require__(233),_cells_EpicCellLayout_EpicCellLayout__WEBPACK_IMPORTED_MODULE_13__=__webpack_require__(60),_widgets_EpicExpander_EpicExpander__WEBPACK_IMPORTED_MODULE_14__=__webpack_require__(355),_rows_EpicDetailRow_EpicDetailRow__WEBPACK_IMPORTED_MODULE_15__=__webpack_require__(174),_widgets_EpicDetail_EpicDetail__WEBPACK_IMPORTED_MODULE_16__=__webpack_require__(215),_widgets_EpicSelection_EpicSelection__WEBPACK_IMPORTED_MODULE_17__=__webpack_require__(216),_widgets_EpicSort_EpicSort__WEBPACK_IMPORTED_MODULE_18__=__webpack_require__(111),___WEBPACK_IMPORTED_MODULE_19__=__webpack_require__(7),moment__WEBPACK_IMPORTED_MODULE_20__=__webpack_require__(9),moment__WEBPACK_IMPORTED_MODULE_20___default=__webpack_require__.n(moment__WEBPACK_IMPORTED_MODULE_20__),_core_MoreOrLess_MoreOrLess__WEBPACK_IMPORTED_MODULE_21__=__webpack_require__(210),withSourceLoader=__webpack_require__(15).withSource,__STORY__=(__webpack_require__(15).addSource,"import React, { Fragment, useEffect, useState } from 'react';\nimport { storiesOf } from '@storybook/react';\nimport { Alert, Card, Col, Input, Row } from 'reactstrap';\nimport { every, groupBy, lowerCase, startsWith } from 'lodash';\n\nimport { EpicTable } from './EpicTable';\nimport { EpicRow } from './rows/EpicRow/EpicRow';\nimport { EpicHeader } from './cells/EpicHeader/EpicHeader';\nimport { EpicCell } from './cells/EpicCell/EpicCell';\nimport { EpicExpanderRow } from './rows/EpicExpanderRow/EpicExpanderRow';\nimport { EpicCellLayout } from './cells/EpicCellLayout/EpicCellLayout';\n\nimport { EpicExpander } from './widgets/EpicExpander/EpicExpander';\nimport { EpicDetailRow } from './rows/EpicDetailRow/EpicDetailRow';\nimport { EpicDetail } from './widgets/EpicDetail/EpicDetail';\nimport { EpicSelection } from './widgets/EpicSelection/EpicSelection';\nimport { EpicSort } from './widgets/EpicSort/EpicSort';\n\nimport { Direction } from './types';\nimport {\n Button,\n ContentState,\n ContentStateMode,\n DateTimeInput,\n pageOf,\n Pagination,\n Tag\n} from '../..';\nimport moment from 'moment';\nimport MoreOrLess from '../../core/MoreOrLess/MoreOrLess';\n\nstoriesOf('table|EpicTable', module)\n .addParameters({ component: EpicTable })\n .add('full example', () => {\n const [widths, setWidths] = useState(() => ({\n firstName: 300,\n lastName: 200,\n age: 200,\n eyeColor: 200,\n height: 150,\n weight: 150,\n jobTitle: 200,\n favoriteMovie: 300,\n favoriteFood: 200,\n dateOfBirth: 200,\n sex: 200,\n actions: 300\n }));\n\n function changeSize(name: keyof Person, width: number) {\n setWidths(widths => ({ ...widths, [name]: width }));\n }\n\n const [filters, setFilters] = useState(() => ({\n firstName: '',\n lastName: '',\n age: '',\n eyeColor: '',\n height: '',\n weight: '',\n jobTitle: '',\n favoriteMovie: '',\n favoriteFood: '',\n dateOfBirth: '',\n sex: ''\n }));\n\n function filterChanged(name: keyof Person, value: string) {\n setFilters({ ...filters, [name]: value });\n }\n\n const filteredPersons = persons.filter(person => {\n return every(filters, (value, key) => {\n const text = person[key];\n\n if (!value || value === 'all') {\n return true;\n }\n\n return startsWith(lowerCase(text), lowerCase(value));\n });\n });\n\n const [sort, setSort] = useState<{\n direction: Direction;\n column: string;\n }>({ direction: 'NONE', column: 'firstName' });\n\n function changeSort(column: keyof Person, direction: Direction) {\n setPage(1);\n setSort({ direction, column });\n }\n\n const sortFn =\n sort.direction === 'ASC'\n ? (a, b) => `${a[sort.column]}`.localeCompare(`${b[sort.column]}`)\n : (a, b) => `${b[sort.column]}`.localeCompare(`${a[sort.column]}`);\n\n const sortedPersons = filteredPersons.sort(sortFn);\n\n const [page, setPage] = useState(1);\n\n const pageOfPersons = pageOf(sortedPersons, page, 20);\n\n const [selected, setSelected] = useState([]);\n\n function onSelect(person: Person, checked: boolean) {\n if (checked) {\n selected.push(person);\n setSelected([...selected]);\n } else {\n const nextSelected = selected.filter(p => p.id !== person.id);\n\n setSelected(nextSelected);\n }\n }\n\n const allPersonsSelected =\n selected.length > 0 &&\n pageOfPersons.content.every(p => selected.some(ps => ps.id === p.id));\n\n function selectAllClicked(checked: boolean) {\n if (checked) {\n pageOfPersons.content.forEach(p => {\n if (selected.every(ps => p.id !== ps.id)) {\n selected.push(p);\n }\n\n setSelected([...selected]);\n });\n } else {\n setSelected([]);\n }\n }\n\n const [detail, setDetail] = useState(-1);\n\n const [loading, setLoading] = useState(false);\n\n useEffect(() => {\n setLoading(true);\n\n setTimeout(() => {\n setLoading(false);\n }, 1000);\n }, []);\n\n return (\n \n {selected.length > 0 ? (\n <>\n

Selected

\n
\n {selected.map(person => (\n onSelect(person, false)}\n />\n ))}\n
\n \n ) : null}\n\n \n ) : pageOfPersons.totalElements === 0 ? (\n \n ) : null\n }\n >\n \n changeSize('firstName', width)}\n >\n \n \n selectAllClicked(checked)}\n >\n First name\n \n\n changeSort('firstName', direction)}\n />\n \n {\n event.preventDefault();\n filterChanged('firstName', event.target.value);\n }}\n />\n \n \n changeSize('lastName', width)}\n >\n \n \n Last name\n changeSort('lastName', direction)}\n />\n \n \n filterChanged('lastName', event.target.value)\n }\n />\n \n \n changeSize('age', width)}\n >\n \n \n Age\n changeSort('age', direction)}\n />\n \n filterChanged('age', event.target.value)}\n />\n \n \n changeSize('eyeColor', width)}\n >\n \n \n Eye color\n changeSort('eyeColor', direction)}\n />\n \n \n filterChanged('eyeColor', event.target.value)\n }\n >\n \n \n \n \n \n \n \n changeSize('height', width)}\n >\n \n \n Height\n changeSort('height', direction)}\n />\n \n \n filterChanged('height', event.target.value)\n }\n />\n \n \n changeSize('weight', width)}\n >\n \n \n Weight\n changeSort('weight', direction)}\n />\n \n \n filterChanged('weight', event.target.value)\n }\n />\n \n \n changeSize('jobTitle', width)}\n >\n \n \n Job title\n changeSort('jobTitle', direction)}\n />\n \n \n filterChanged('jobTitle', event.target.value)\n }\n />\n \n \n changeSize('favoriteMovie', width)}\n >\n \n \n Favorite movie\n \n changeSort('favoriteMovie', direction)\n }\n />\n \n \n \n \n changeSize('favoriteFood', width)}\n >\n \n \n Favorite food\n \n changeSort('favoriteFood', direction)\n }\n />\n \n \n filterChanged('favoriteFood', event.target.value)\n }\n />\n \n \n changeSize('dateOfBirth', width)}\n >\n \n \n Birth date\n changeSort('dateOfBirth', direction)}\n />\n \n\n \n filterChanged(\n 'dateOfBirth',\n date ? moment(date).format('YYYY-MM-DD') : ''\n )\n }\n />\n \n \n changeSize('sex', width)}\n >\n \n
\n Sex\n changeSort('sex', direction)}\n />\n
\n filterChanged('sex', event.target.value)}\n >\n \n \n \n \n
\n \n \n
Actions
\n
\n
\n\n {pageOfPersons.content.map((person, index) => (\n \n \n \n p.id === person.id)}\n onChange={checked => onSelect(person, checked)}\n />\n\n setDetail(index)}\n >\n {person.firstName}\n \n \n \n {person.lastName}\n \n \n {person.age}\n \n \n {person.eyeColor}\n \n \n {person.height}\n \n \n {person.weight}\n \n \n {person.jobTitle}\n \n \n {person.favoriteMovie}\n \n \n {person.favoriteFood}\n \n \n {person.dateOfBirth}\n \n \n {person.sex}\n \n \n \n \n \n \n\n setDetail(true)}\n >\n Show detail\n \n \n\n \n }\n >\n \n \n First name\n \n \n Last name\n \n \n Age\n \n \n Eye color\n \n \n Height\n \n \n Weight\n \n \n Job title\n \n \n Favorite movie\n \n \n Favorite food\n \n \n Birth date\n \n \n Sex\n \n \n Actions\n \n \n \n {() => (\n setDetail(false)}>\n

Details

\n\n

\n Details should be shown over the overlay. This allows the user\n to create items when the table is still empty.\n

\n
\n )}\n
\n \n
\n );\n })\n .add('with sort', () => {\n const [direction, setDirection] = useState('NONE');\n\n const sortFn =\n direction === 'ASC'\n ? (a, b) => a.firstName.localeCompare(b.firstName)\n : (a, b) => b.firstName.localeCompare(a.firstName);\n\n const sortedPersons = persons.sort(sortFn);\n\n return (\n \n \n \n \n
\n First name\n \n
\n
\n \n Last name\n \n \n Age\n \n \n Eye color\n \n \n Height\n \n \n Weight\n \n \n Job title\n \n \n Favorite movie\n \n \n Favorite food\n \n \n Birth date\n \n \n Sex\n \n \n Actions\n \n
\n\n {sortedPersons.map(person => (\n \n \n {person.firstName}\n \n \n {person.lastName}\n \n \n {person.age}\n \n \n {person.eyeColor}\n \n \n {person.height}\n \n \n {person.weight}\n \n \n {person.jobTitle}\n \n \n {person.favoriteMovie}\n \n \n {person.favoriteFood}\n \n \n {person.dateOfBirth}\n \n \n {person.sex}\n \n \n \n {person.id !== newPerson.id ? (\n deletePerson(person)}\n icon=\"delete\"\n color=\"danger\"\n dialogText={`Are you sure you want to delete ${person.firstName} ${person.lastName}?`}\n >\n Delete\n \n ) : null}\n \n )}\n \n \n setDirty(formState.pristine)}\n />\n \n \n \n\n \n \n \n\n \n \n \n\n \n option}\n jarb={{\n validator: 'Person.eyeColor',\n label: 'Eye color'\n }}\n errorMode=\"tooltip\"\n />\n \n\n \n \n \n\n \n \n \n\n \n \n \n\n \n option.name}\n fetchOptions={(query, page, size) =>\n Promise.resolve(\n pageOf(\n movies\n .filter(\n movie =>\n query.length === 0 ||\n movie.name.indexOf(query) > 0\n )\n .slice((page - 1) * size, size),\n page,\n size\n )\n )\n }\n errorMode=\"tooltip\"\n alignButton=\"right\"\n />\n \n\n \n \n \n\n \n \n \n\n \n option}\n horizontal={true}\n jarb={{\n validator: 'Person.sex',\n label: 'Sex'\n }}\n errorMode=\"tooltip\"\n />\n \n \n \n ) : (\n \n \n {loading && loading.id === person.id ? (\n \n ) : (\n <>\n {editingPerson ? (\n setEditingPerson(person)}\n icon=\"edit\"\n color=\"primary\"\n className=\"mr-1\"\n dialogText={`All progress on ${editingPerson.firstName} will be lost. Are you sure you want to edit ${person.firstName}?`}\n >\n Edit\n \n ) : (\n setEditingPerson(person)}\n icon=\"edit\"\n color=\"primary\"\n className=\"mr-1\"\n >\n Edit\n \n )}\n deletePerson(person)}\n icon=\"cancel\"\n color=\"danger\"\n dialogText={`Are you sure you want to delete ${person.firstName} ${person.lastName}?`}\n >\n Delete\n \n \n )}\n \n\n \n {person.firstName}\n \n\n \n {person.lastName}\n \n\n \n {person.age}\n \n\n \n {person.eyeColor}\n \n\n \n {person.height}\n \n\n \n {person.weight}\n \n\n \n {person.jobTitle}\n \n\n \n {person.favoriteMovie?.name}\n \n\n \n {person.favoriteFood}\n \n\n \n {person.birthDate?.toLocaleDateString()}\n \n\n \n {person.sex}\n \n \n )\n )}\n
\n\n
\n \n {newPage ? (\n setNewPage(undefined)}\n onSave={() => {\n setPage(newPage);\n setNewPage(undefined);\n }}\n text={{ save: 'Confirm' }}\n >\n All your changes will be lost if you navigate to another page. Are\n you sure you want to go to page {newPage} and loose all your\n progress?\n \n ) : null}\n
\n
\n );\n })\n .add('instant edit', () => {\n const [newPerson] = useState({\n id: Math.random(),\n firstName: '',\n lastName: '',\n age: 0,\n eyeColor: '',\n height: 0,\n weight: 0,\n jobTitle: '',\n favoriteMovie: undefined,\n favoriteFood: '',\n birthDate: undefined,\n sex: ''\n });\n\n const [page, setPage] = useState(1);\n const [personsList, setPersonsList] = useState(persons);\n const [pageOfPersons, setPageOfPersons] = useState>(\n emptyPage()\n );\n const [loading, setLoading] = useState();\n const [dirtyPersons, setDirtyPersons] = useState<{ [id: number]: boolean }>(\n {}\n );\n const [flashMessage, setFlashMessage] = useState();\n\n useEffect(() => {\n const p = pageOf(personsList, page, 10);\n p.content.push({ ...newPerson });\n setDirtyPersons({});\n setPageOfPersons(p);\n }, [personsList, newPerson, page]);\n\n useEffect(() => {\n const timeout = window.setTimeout(() => setFlashMessage(undefined), 5000);\n return () => {\n window.clearTimeout(timeout);\n };\n }, [flashMessage]);\n\n async function onSubmit(data: Person) {\n setLoading(data);\n await sleep(random(200, 1000));\n const person = { ...data };\n if (data.id === newPerson.id) {\n person.id = Math.random();\n setPersonsList([...personsList, person]);\n } else {\n setPersonsList(\n personsList.map(p => {\n return p.id === person.id ? person : p;\n })\n );\n }\n setFlashMessage('Person saved successfully!');\n setLoading(undefined);\n }\n\n async function deletePerson(person: Person) {\n setLoading(person);\n await sleep(random(200, 1000));\n setPersonsList(personsList.filter(p => p.id !== person.id));\n setLoading(undefined);\n setFlashMessage('Person deleted successfully!');\n }\n\n function setPersonDirty(isPristine: boolean, person: Person) {\n if (!isPristine) {\n if (!dirtyPersons[person.id]) {\n setDirtyPersons({ ...dirtyPersons, [person.id]: true });\n }\n } else if (dirtyPersons[person.id]) {\n setDirtyPersons({ ...dirtyPersons, [person.id]: false });\n }\n }\n\n return (\n \n {flashMessage ? (\n setFlashMessage(undefined)}\n color=\"success\"\n >\n {flashMessage}\n \n ) : null}\n \n \n \n Actions\n \n \n First name\n \n \n Last name\n \n \n Age\n \n \n Eye color\n \n \n Height\n \n \n Weight\n \n \n Job title\n \n \n Favorite movie\n \n \n Favorite food\n \n \n Birth date\n \n \n Sex\n \n \n {pageOfPersons.content.map(person => (\n \n \n {loading && loading.id === person.id ? (\n \n ) : (\n <>\n {person.id !== newPerson.id ? (\n deletePerson(person)}\n icon=\"delete\"\n color=\"danger\"\n dialogText={`Are you sure you want to delete ${person.firstName} ${person.lastName}?`}\n >\n Delete\n \n ) : null}\n \n )}\n \n \n \n setPersonDirty(formState.pristine, person)\n }\n />\n \n \n \n\n \n \n \n\n \n \n \n\n \n option}\n jarb={{\n validator: 'Person.eyeColor',\n label: 'Eye color'\n }}\n errorMode=\"tooltip\"\n />\n \n\n \n \n \n\n \n \n \n\n \n \n \n\n \n option.name}\n fetchOptions={(query, page, size) =>\n Promise.resolve(\n pageOf(\n movies\n .filter(\n movie =>\n query.length === 0 ||\n movie.name.indexOf(query) > 0\n )\n .slice((page - 1) * size, size),\n page,\n size\n )\n )\n }\n errorMode=\"tooltip\"\n alignButton=\"right\"\n />\n \n\n \n \n \n\n \n \n \n\n \n option}\n horizontal={true}\n jarb={{\n validator: 'Person.sex',\n label: 'Sex'\n }}\n errorMode=\"tooltip\"\n />\n \n \n \n ))}\n \n\n
\n \n
\n
\n );\n });\n\ninterface Person {\n id: number;\n firstName: string;\n lastName: string;\n age: number;\n eyeColor: string;\n height: number;\n weight: number;\n jobTitle: string;\n favoriteMovie?: { name: string };\n favoriteFood: string;\n birthDate?: Date;\n sex: string;\n}\n\nconst persons: Person[] = [\n {\n id: Math.random(),\n firstName: 'Fitzpatrick',\n lastName: 'Lyons',\n age: 20,\n eyeColor: 'brown',\n height: 10,\n weight: 3,\n jobTitle: 'Senior CodeMonkey',\n favoriteMovie: { name: 'The Matrix' },\n favoriteFood: 'Hamburgers',\n birthDate: new Date('2014-09-24'),\n sex: 'male'\n },\n {\n id: Math.random(),\n firstName: 'Berry',\n lastName: 'McNab',\n age: 41,\n eyeColor: 'blue',\n height: 13,\n weight: 55,\n jobTitle: 'Business Manager',\n favoriteMovie: { name: 'Fear and loathing in Las Vegas' },\n favoriteFood: 'Spaghetti',\n birthDate: new Date('2000-09-24'),\n sex: 'female'\n },\n {\n id: Math.random(),\n firstName: 'Neville',\n lastName: 'Brooks',\n age: 25,\n eyeColor: 'green',\n height: 12,\n weight: 32,\n jobTitle: 'Senior CodeMonkey',\n favoriteMovie: { name: 'Lord of the Rings' },\n favoriteFood: 'French Fries',\n birthDate: new Date('2014-09-24'),\n sex: 'male'\n },\n {\n id: Math.random(),\n firstName: 'Leonard',\n lastName: 'Nemoy',\n age: 50,\n eyeColor: 'brown',\n height: 10,\n weight: 3,\n jobTitle: 'Thespian',\n favoriteMovie: { name: 'Star Trek' },\n favoriteFood: 'Kosher',\n birthDate: new Date('1900-09-24'),\n sex: 'male'\n },\n {\n id: Math.random(),\n firstName: 'Levi',\n lastName: 'Smith',\n age: 30,\n eyeColor: 'brown',\n height: 10,\n weight: 3,\n jobTitle: 'Taxi driver',\n favoriteMovie: { name: 'Taxi' },\n favoriteFood:\n 'Lorem ipsum dolor sit amet consectetur adipisicing elit. Corporis, at nam alias ad culpa quae deleniti. Autem eveniet mollitia veritatis reprehenderit ea, tempora vero voluptatem. Dolore repudiandae voluptate quam quidem.,',\n birthDate: new Date('2014-09-24'),\n sex: 'male'\n },\n {\n id: Math.random(),\n firstName: 'Celine',\n lastName: 'Ferdinand',\n age: 80,\n eyeColor: 'green',\n height: 3,\n weight: 5,\n jobTitle: 'Retired',\n favoriteMovie: { name: 'Driving miss Daisy' },\n favoriteFood: 'Prunes',\n birthDate: new Date('1940-09-24'),\n sex: 'female'\n },\n {\n id: Math.random(),\n firstName: 'Bonald',\n lastName: 'Ferdinand',\n age: 82,\n eyeColor: 'blue',\n height: 3,\n weight: 5,\n jobTitle: 'Retired',\n favoriteMovie: { name: 'Driving miss Daisy' },\n favoriteFood: 'Prunes',\n birthDate: new Date('1938-09-24'),\n sex: 'male'\n },\n {\n id: Math.random(),\n firstName: 'Zechs',\n lastName: 'Merquise',\n age: 42,\n eyeColor: 'blue',\n height: 3,\n weight: 5,\n jobTitle: 'Ace pilot',\n favoriteMovie: { name: 'Gundam wing' },\n favoriteFood: 'Applepie',\n birthDate: new Date('2010-09-24'),\n sex: 'male'\n },\n {\n id: Math.random(),\n firstName: 'David',\n lastName: 'Hayter',\n age: 55,\n eyeColor: 'blue',\n height: 3,\n weight: 5,\n jobTitle: 'Voice actor',\n favoriteMovie: { name: 'Guyver' },\n favoriteFood: 'Snakes',\n birthDate: new Date('1960-09-24'),\n sex: 'male'\n },\n {\n id: Math.random(),\n firstName: 'James',\n lastName: 'Kirk',\n age: 50,\n eyeColor: 'brown',\n height: 3,\n weight: 5,\n jobTitle: 'Captian',\n favoriteMovie: { name: 'Star Trek' },\n favoriteFood: 'Replicated',\n birthDate: new Date('2100-09-24'),\n sex: 'male'\n },\n {\n id: Math.random(),\n firstName: 'Bert',\n lastName: 'Kelly',\n age: 30,\n eyeColor: 'blue',\n height: 3,\n weight: 5,\n jobTitle: 'Blacksmith',\n favoriteMovie: { name: 'Not without my daughter' },\n favoriteFood: 'Pears',\n birthDate: new Date('1989-09-24'),\n sex: 'male'\n },\n {\n id: Math.random(),\n firstName: 'John',\n lastName: 'Goodall',\n age: 68,\n eyeColor: 'green',\n height: 3,\n weight: 5,\n jobTitle: 'Gardner',\n favoriteMovie: { name: 'The Gardner' },\n favoriteFood: 'Cauliflower',\n birthDate: new Date('2019-09-24'),\n sex: 'male'\n },\n {\n id: Math.random(),\n firstName: 'Rick',\n lastName: 'Xander',\n age: 14,\n eyeColor: 'brown',\n height: 3,\n weight: 5,\n jobTitle: 'Baker',\n favoriteMovie: { name: 'Halloween' },\n favoriteFood: 'Cake',\n birthDate: new Date('1980-09-24'),\n sex: 'male'\n },\n {\n id: Math.random(),\n firstName: 'Jessica',\n lastName: 'Bernard',\n age: 36,\n eyeColor: 'green',\n height: 3,\n weight: 5,\n jobTitle: 'Student',\n favoriteMovie: { name: 'Highlander' },\n favoriteFood: 'Icecream',\n birthDate: new Date('1980-09-24'),\n sex: 'female'\n },\n {\n id: Math.random(),\n firstName: 'Benjamin',\n lastName: 'Sisko',\n age: 55,\n eyeColor: 'brown',\n height: 3,\n weight: 5,\n jobTitle: 'Commander',\n favoriteMovie: { name: 'Search for Spock' },\n favoriteFood: 'Jamba',\n birthDate: new Date('2200-09-24'),\n sex: 'male'\n },\n {\n id: Math.random(),\n firstName: 'Kathyrn',\n lastName: 'Janeway',\n age: 55,\n eyeColor: 'brown',\n height: 3,\n weight: 5,\n jobTitle: 'Captain',\n favoriteMovie: { name: 'Wrath of Khan' },\n favoriteFood: 'Coffee',\n birthDate: new Date('2240-09-24'),\n sex: 'female'\n },\n {\n id: Math.random(),\n firstName: 'Jean-Luc',\n lastName: 'Picard',\n age: 66,\n eyeColor: 'blue',\n height: 3,\n weight: 5,\n jobTitle: 'Captain',\n favoriteMovie: { name: 'Next generation' },\n favoriteFood: 'Tea Earl Grey Hot',\n birthDate: new Date('2200-09-24'),\n sex: 'male'\n },\n {\n id: Math.random(),\n firstName: 'Peter',\n lastName: 'Parker',\n age: 30,\n eyeColor: 'blue',\n height: 55,\n weight: 14,\n jobTitle: 'Spider-man',\n favoriteMovie: { name: 'Spider-man' },\n favoriteFood: 'Webs',\n birthDate: new Date('1990-09-24'),\n sex: 'male'\n },\n {\n id: Math.random(),\n firstName: 'Clark',\n lastName: 'Kent',\n age: 40,\n eyeColor: 'blue',\n height: 80,\n weight: 33,\n jobTitle: 'Journalist',\n favoriteMovie: { name: 'Superman returns' },\n favoriteFood: 'Kryptonite',\n birthDate: new Date('1960-01-01'),\n sex: 'male'\n },\n {\n id: Math.random(),\n firstName: 'Bruce',\n lastName: 'Wayne',\n age: 55,\n eyeColor: 'blue',\n height: 70,\n weight: 33,\n jobTitle: 'CEO',\n favoriteMovie: { name: 'Batman begins' },\n favoriteFood: 'Bats',\n birthDate: new Date('1955-01-01'),\n sex: 'male'\n },\n {\n id: Math.random(),\n firstName: 'Diana',\n lastName: 'Prince',\n age: 28,\n eyeColor: 'green',\n height: 90,\n weight: 19,\n jobTitle: 'Curator',\n favoriteMovie: { name: 'Wonderwoman' },\n favoriteFood: 'Greek',\n birthDate: new Date('1990-01-01'),\n sex: 'female'\n },\n {\n id: Math.random(),\n firstName: 'Tony',\n lastName: 'Stark',\n age: 40,\n eyeColor: 'brown',\n height: 70,\n weight: 33,\n jobTitle: 'CEO',\n favoriteMovie: { name: 'Ironman' },\n favoriteFood: 'Shoarma',\n birthDate: new Date('1980-01-01'),\n sex: 'male'\n },\n {\n id: Math.random(),\n firstName: 'Steve',\n lastName: 'Rogers',\n age: 100,\n eyeColor: 'blue',\n height: 44,\n weight: 55,\n jobTitle: 'Captain',\n favoriteMovie: { name: 'Winter soldier' },\n favoriteFood: 'Applepie',\n birthDate: new Date('1920-01-01'),\n sex: 'male'\n },\n {\n id: Math.random(),\n firstName: 'Natasha',\n lastName: 'Romanov',\n age: 30,\n eyeColor: 'green',\n height: 77,\n weight: 66,\n jobTitle: 'Black widow',\n favoriteMovie: { name: 'Avengers' },\n favoriteFood: 'Stroganov',\n birthDate: new Date('1995-01-01'),\n sex: 'female'\n },\n {\n id: Math.random(),\n firstName: 'Bruce',\n lastName: 'Banner',\n age: 42,\n eyeColor: 'brown',\n height: 89,\n weight: 99,\n jobTitle: 'Smasher',\n favoriteMovie: { name: 'The Incredible Hulk' },\n favoriteFood: 'Gammarays',\n birthDate: new Date('1975-01-01'),\n sex: 'male'\n }\n];\n\ntype Movie = {\n name: string;\n};\n\nconst movies: Movie[] = uniq(\n persons\n .filter(person => person.favoriteMovie)\n .map(person => person.favoriteMovie?.name)\n).map(movie => ({ name: movie } as Movie));\n\nfunction sleep(ms: number) {\n return new Promise(resolve => {\n setTimeout(resolve, ms);\n });\n}\n"),__ADDS_MAP__={"table-formtable--instant-edit":{startLoc:{col:7,line:890},endLoc:{col:3,line:1236},startBody:{col:23,line:890},endBody:{col:3,line:1236}},"table-formtable--edit-per-row":{startLoc:{col:7,line:424},endLoc:{col:3,line:889},startBody:{col:23,line:424},endBody:{col:3,line:889}},"table-formtable--basic-example":{startLoc:{col:7,line:30},endLoc:{col:3,line:423},startBody:{col:24,line:30},endBody:{col:3,line:423}}};Object(_storybook_react__WEBPACK_IMPORTED_MODULE_1__.storiesOf)("table|FormTable",module).addParameters({storySource:{source:__STORY__,locationsMap:__ADDS_MAP__}}).addDecorator(withSourceLoader(__STORY__,__ADDS_MAP__,"/FormTable.stories.tsx",[],{},"/Users/gido.manders/projecten/42/ui/src/table/FormTable",{})).add("basic example",()=>{const[newPerson]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)({id:Math.random(),firstName:"",lastName:"",age:0,eyeColor:"",height:0,weight:0,jobTitle:"",favoriteMovie:void 0,favoriteFood:"",birthDate:void 0,sex:""}),[page,setPage]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(1),[newPage,setNewPage]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(),[personsList,setPersonsList]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(persons),[pageOfPersons,setPageOfPersons]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(Object(_42_nl_spring_connect_lib__WEBPACK_IMPORTED_MODULE_22__.emptyPage)()),[loading,setLoading]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(),[dirtyPersons,setDirtyPersons]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)({}),[flashMessage,setFlashMessage]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)();function onSubmit(data,form){return __awaiter(this,void 0,void 0,(function*(){setLoading(data),yield sleep(Object(lodash__WEBPACK_IMPORTED_MODULE_3__.random)(200,1e3));const person=Object.assign({},data);data.id===newPerson.id?(person.id=Math.random(),setPersonsList([...personsList,person])):setPersonsList(personsList.map(p=>p.id===person.id?person:p)),setFlashMessage("Person saved successfully!"),window.setTimeout(()=>form.reset(data.id===newPerson.id?newPerson:person),1),setLoading(void 0)}))}return Object(react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{const p=Object(_utilities_page_page__WEBPACK_IMPORTED_MODULE_12__.a)(personsList,page,10);p.content.push(Object.assign({},newPerson)),setDirtyPersons({}),setPageOfPersons(p)},[personsList,newPerson,page]),Object(react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{const timeout=window.setTimeout(()=>setFlashMessage(void 0),5e3);return()=>{window.clearTimeout(timeout)}},[flashMessage]),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_2__.a,{body:!0},flashMessage?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_FlashMessage_FlashMessage__WEBPACK_IMPORTED_MODULE_20__.a,{onClose:()=>setFlashMessage(void 0),color:"success"},flashMessage):null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_EpicTable__WEBPACK_IMPORTED_MODULE_4__.a,{hasRight:!1},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_rows_EpicRow_EpicRow__WEBPACK_IMPORTED_MODULE_5__.a,{header:!0},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicHeader_EpicHeader__WEBPACK_IMPORTED_MODULE_6__.a,{width:300,height:44},"Actions"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicHeader_EpicHeader__WEBPACK_IMPORTED_MODULE_6__.a,{width:300,height:44},"First name"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicHeader_EpicHeader__WEBPACK_IMPORTED_MODULE_6__.a,{width:100,height:44},"Last name"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicHeader_EpicHeader__WEBPACK_IMPORTED_MODULE_6__.a,{width:100,height:44},"Age"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicHeader_EpicHeader__WEBPACK_IMPORTED_MODULE_6__.a,{width:100,height:44},"Eye color"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicHeader_EpicHeader__WEBPACK_IMPORTED_MODULE_6__.a,{width:100,height:44},"Height"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicHeader_EpicHeader__WEBPACK_IMPORTED_MODULE_6__.a,{width:100,height:44},"Weight"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicHeader_EpicHeader__WEBPACK_IMPORTED_MODULE_6__.a,{width:200,height:44},"Job title"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicHeader_EpicHeader__WEBPACK_IMPORTED_MODULE_6__.a,{width:300,height:44},"Favorite movie"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicHeader_EpicHeader__WEBPACK_IMPORTED_MODULE_6__.a,{width:150,height:44},"Favorite food"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicHeader_EpicHeader__WEBPACK_IMPORTED_MODULE_6__.a,{width:300,height:44},"Birth date"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicHeader_EpicHeader__WEBPACK_IMPORTED_MODULE_6__.a,{width:200,height:44},"Sex")),pageOfPersons.content.map(person=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_rows_EpicRow_EpicRow__WEBPACK_IMPORTED_MODULE_5__.a,{key:person.id},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicCell_EpicCell__WEBPACK_IMPORTED_MODULE_14__.a,{width:300,height:52},loading&&loading.id===person.id?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_Loading_Loading__WEBPACK_IMPORTED_MODULE_17__.a,{text:{loading:"Processing..."}}):react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_form_FormButton_FormButton__WEBPACK_IMPORTED_MODULE_18__.a,{formId:"personForm"+person.id,type:"submit",icon:"save",className:"mr-1",color:dirtyPersons[person.id]?"primary":"secondary"},"Save"),dirtyPersons[person.id]?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_form_FormButton_FormButton__WEBPACK_IMPORTED_MODULE_18__.a,{formId:"personForm"+person.id,type:"reset",icon:"restore",color:"secondary",className:"mr-1"},"Reset"):null,person.id!==newPerson.id?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_ConfirmButton_ConfirmButton__WEBPACK_IMPORTED_MODULE_19__.a,{onConfirm:()=>function deletePerson(person){return __awaiter(this,void 0,void 0,(function*(){setLoading(person),yield sleep(Object(lodash__WEBPACK_IMPORTED_MODULE_3__.random)(200,1e3)),setPersonsList(personsList.filter(p=>p.id!==person.id)),setLoading(void 0),setFlashMessage("Person deleted successfully!")}))}(person),icon:"delete",color:"danger",dialogText:`Are you sure you want to delete ${person.firstName} ${person.lastName}?`},"Delete"):null)),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicForm_EpicForm__WEBPACK_IMPORTED_MODULE_13__.a,{id:"personForm"+person.id,width:1950,height:52,initialValues:person,onSubmit:onSubmit},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_final_form__WEBPACK_IMPORTED_MODULE_23__.FormSpy,{subscription:{pristine:!0},onChange:formState=>function setPersonDirty(isPristine,person){isPristine?dirtyPersons[person.id]&&setDirtyPersons(Object.assign(Object.assign({},dirtyPersons),{[person.id]:!1})):dirtyPersons[person.id]||setDirtyPersons(Object.assign(Object.assign({},dirtyPersons),{[person.id]:!0}))}(formState.pristine,person)}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicFormCell_EpicFormCell__WEBPACK_IMPORTED_MODULE_15__.a,{width:300,height:52},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_form_Input_Input__WEBPACK_IMPORTED_MODULE_7__.a,{id:`firstName-${person.id}`,name:"firstName",placeholder:"Enter first name",jarb:{validator:"Person.firstName",label:"First name"},errorMode:"tooltip"})),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicFormCell_EpicFormCell__WEBPACK_IMPORTED_MODULE_15__.a,{width:100,height:52},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_form_Input_Input__WEBPACK_IMPORTED_MODULE_7__.a,{id:`lastName-${person.id}`,name:"lastName",placeholder:"Enter last name",jarb:{validator:"Person.lastName",label:"Last name"},errorMode:"tooltip"})),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicFormCell_EpicFormCell__WEBPACK_IMPORTED_MODULE_15__.a,{width:100,height:52},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_form_Input_Input__WEBPACK_IMPORTED_MODULE_7__.a,{id:`age-${person.id}`,name:"age",type:"number",placeholder:"Enter age",jarb:{validator:"Person.age",label:"Age"},errorMode:"tooltip"})),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicFormCell_EpicFormCell__WEBPACK_IMPORTED_MODULE_15__.a,{width:100,height:52},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_form_Select_Select__WEBPACK_IMPORTED_MODULE_10__.a,{id:`eyeColor-${person.id}`,name:"eyeColor",placeholder:"Enter eye color",options:["green","blue","brown"],optionForValue:option=>option,jarb:{validator:"Person.eyeColor",label:"Eye color"},errorMode:"tooltip"})),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicFormCell_EpicFormCell__WEBPACK_IMPORTED_MODULE_15__.a,{width:100,height:52},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_form_Input_Input__WEBPACK_IMPORTED_MODULE_7__.a,{id:`age-${person.id}`,name:"height",placeholder:"Enter height",type:"number",jarb:{validator:"Person.height",label:"Height"},errorMode:"tooltip"})),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicFormCell_EpicFormCell__WEBPACK_IMPORTED_MODULE_15__.a,{width:100,height:52},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_form_Input_Input__WEBPACK_IMPORTED_MODULE_7__.a,{id:`weight-${person.id}`,name:"weight",type:"number",placeholder:"Enter weight",jarb:{validator:"Person.weight",label:"Weight"},errorMode:"tooltip"})),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicFormCell_EpicFormCell__WEBPACK_IMPORTED_MODULE_15__.a,{width:200,height:52},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_form_Input_Input__WEBPACK_IMPORTED_MODULE_7__.a,{id:`jobTitle-${person.id}`,name:"jobTitle",placeholder:"Enter job title",jarb:{validator:"Person.jobTitle",label:"Job title"},errorMode:"tooltip"})),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicFormCell_EpicFormCell__WEBPACK_IMPORTED_MODULE_15__.a,{width:300,height:52},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_form_ModalPicker_single_ModalPickerSingle__WEBPACK_IMPORTED_MODULE_11__.a,{id:`favoriteMovie-${person.id}`,name:"favoriteMovie",placeholder:"Enter favorite movie",jarb:{validator:"Person.favoriteMovie",label:"Favorite movie"},multiple:!1,optionForValue:option=>option.name,fetchOptions:(query,page,size)=>Promise.resolve(Object(_utilities_page_page__WEBPACK_IMPORTED_MODULE_12__.a)(movies.filter(movie=>0===query.length||movie.name.indexOf(query)>0).slice((page-1)*size,size),page,size)),errorMode:"tooltip",alignButton:"right"})),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicFormCell_EpicFormCell__WEBPACK_IMPORTED_MODULE_15__.a,{width:150,height:52},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_form_Input_Input__WEBPACK_IMPORTED_MODULE_7__.a,{id:`favoriteFood-${person.id}`,name:"favoriteFood",placeholder:"Enter favorite food",jarb:{validator:"Person.favoriteFood",label:"Favorite food"},errorMode:"tooltip"})),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicFormCell_EpicFormCell__WEBPACK_IMPORTED_MODULE_15__.a,{width:300,height:52},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_form_DateTimeInput_DateTimeInput__WEBPACK_IMPORTED_MODULE_8__.a,{id:`birthDate-${person.id}`,name:"birthDate",placeholder:"Enter birth date",dateFormat:"YYYY-MM-DD",timeFormat:!1,jarb:{validator:"Person.birthDate",label:"Birthdate"},errorMode:"tooltip",mode:"modal",allowNull:!0})),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicFormCell_EpicFormCell__WEBPACK_IMPORTED_MODULE_15__.a,{width:200,height:52},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_form_RadioGroup_RadioGroup__WEBPACK_IMPORTED_MODULE_9__.a,{id:`sex-${person.id}`,name:"sex",className:"ml-1",options:["male","female"],optionForValue:option=>option,horizontal:!0,jarb:{validator:"Person.sex",label:"Sex"},errorMode:"tooltip"})))))),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"d-flex justify-content-center"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_index__WEBPACK_IMPORTED_MODULE_21__.s,{className:"my-3",page:pageOfPersons,onChange:function confirmPage(pageNumber){Object.values(dirtyPersons).some(d=>d)?setNewPage(pageNumber):setPage(pageNumber)}}),newPage?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_index__WEBPACK_IMPORTED_MODULE_21__.r,{isOpen:!0,onClose:()=>setNewPage(void 0),onSave:()=>{setPage(newPage),setNewPage(void 0)},text:{save:"Confirm"}},"All your changes will be lost if you navigate to another page. Are you sure you want to go to page ",newPage," and loose all your progress?"):null))}).add("edit per row",()=>{const[editingPerson,setEditingPerson]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(),[newPerson]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)({id:Math.random(),firstName:"",lastName:"",age:0,eyeColor:"",height:0,weight:0,jobTitle:"",favoriteMovie:void 0,favoriteFood:"",birthDate:void 0,sex:""}),[page,setPage]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(1),[newPage,setNewPage]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(),[personsList,setPersonsList]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(persons),[pageOfPersons,setPageOfPersons]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(Object(_42_nl_spring_connect_lib__WEBPACK_IMPORTED_MODULE_22__.emptyPage)()),[loading,setLoading]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(),[dirty,setDirty]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(!1),[flashMessage,setFlashMessage]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)();function onSubmit(data,form){return __awaiter(this,void 0,void 0,(function*(){setLoading(data),yield sleep(Object(lodash__WEBPACK_IMPORTED_MODULE_3__.random)(200,1e3));const person=Object.assign({},data);data.id===newPerson.id?(person.id=Math.random(),setPersonsList([...personsList,person])):setPersonsList(personsList.map(p=>p.id===person.id?person:p)),setFlashMessage("Person saved successfully!"),window.setTimeout(()=>form.reset(data.id===newPerson.id?newPerson:person),1),setLoading(void 0)}))}function deletePerson(person){return __awaiter(this,void 0,void 0,(function*(){setLoading(person),yield sleep(Object(lodash__WEBPACK_IMPORTED_MODULE_3__.random)(200,1e3)),setPersonsList(personsList.filter(p=>p.id!==person.id)),setLoading(void 0),setFlashMessage("Person deleted successfully!")}))}return Object(react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{const p=Object(_utilities_page_page__WEBPACK_IMPORTED_MODULE_12__.a)(personsList,page,10);p.content.push(Object.assign({},newPerson)),setPageOfPersons(p),setEditingPerson(void 0)},[personsList,newPerson,page]),Object(react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{const timeout=window.setTimeout(()=>setFlashMessage(void 0),5e3);return()=>{window.clearTimeout(timeout)}},[flashMessage]),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_2__.a,{body:!0},flashMessage?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_FlashMessage_FlashMessage__WEBPACK_IMPORTED_MODULE_20__.a,{onClose:()=>setFlashMessage(void 0),color:"success"},flashMessage):null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_EpicTable__WEBPACK_IMPORTED_MODULE_4__.a,{hasRight:!1},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_rows_EpicRow_EpicRow__WEBPACK_IMPORTED_MODULE_5__.a,{header:!0},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicHeader_EpicHeader__WEBPACK_IMPORTED_MODULE_6__.a,{width:300,height:44},"Actions"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicHeader_EpicHeader__WEBPACK_IMPORTED_MODULE_6__.a,{width:300,height:44},"First name"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicHeader_EpicHeader__WEBPACK_IMPORTED_MODULE_6__.a,{width:100,height:44},"Last name"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicHeader_EpicHeader__WEBPACK_IMPORTED_MODULE_6__.a,{width:100,height:44},"Age"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicHeader_EpicHeader__WEBPACK_IMPORTED_MODULE_6__.a,{width:100,height:44},"Eye color"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicHeader_EpicHeader__WEBPACK_IMPORTED_MODULE_6__.a,{width:100,height:44},"Height"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicHeader_EpicHeader__WEBPACK_IMPORTED_MODULE_6__.a,{width:100,height:44},"Weight"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicHeader_EpicHeader__WEBPACK_IMPORTED_MODULE_6__.a,{width:200,height:44},"Job title"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicHeader_EpicHeader__WEBPACK_IMPORTED_MODULE_6__.a,{width:300,height:44},"Favorite movie"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicHeader_EpicHeader__WEBPACK_IMPORTED_MODULE_6__.a,{width:150,height:44},"Favorite food"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicHeader_EpicHeader__WEBPACK_IMPORTED_MODULE_6__.a,{width:300,height:44},"Birth date"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicHeader_EpicHeader__WEBPACK_IMPORTED_MODULE_6__.a,{width:200,height:44},"Sex")),pageOfPersons.content.map(person=>{var _a,_b;return editingPerson&&editingPerson.id===person.id||person.id===newPerson.id?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_rows_EpicRow_EpicRow__WEBPACK_IMPORTED_MODULE_5__.a,{key:person.id},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicCell_EpicCell__WEBPACK_IMPORTED_MODULE_14__.a,{width:300,height:52},loading&&loading.id===person.id?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_Loading_Loading__WEBPACK_IMPORTED_MODULE_17__.a,{text:{loading:"Processing..."}}):react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment,null,dirty?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_form_FormButton_FormButton__WEBPACK_IMPORTED_MODULE_18__.a,{formId:"personForm"+person.id,type:"submit",icon:"save",className:"mr-1",color:dirty?"primary":"secondary"},"Save"):null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_Button_Button__WEBPACK_IMPORTED_MODULE_16__.a,{type:"button",icon:"cancel",color:"secondary",className:"mr-1",onClick:()=>setEditingPerson(void 0)},"Cancel"),person.id!==newPerson.id?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_ConfirmButton_ConfirmButton__WEBPACK_IMPORTED_MODULE_19__.a,{onConfirm:()=>deletePerson(person),icon:"delete",color:"danger",dialogText:`Are you sure you want to delete ${person.firstName} ${person.lastName}?`},"Delete"):null)),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicForm_EpicForm__WEBPACK_IMPORTED_MODULE_13__.a,{id:"personForm"+person.id,width:1950,height:52,initialValues:person,onSubmit:onSubmit},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_final_form__WEBPACK_IMPORTED_MODULE_23__.FormSpy,{subscription:{pristine:!0},onChange:formState=>setDirty(formState.pristine)}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicFormCell_EpicFormCell__WEBPACK_IMPORTED_MODULE_15__.a,{width:300,height:52},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_form_Input_Input__WEBPACK_IMPORTED_MODULE_7__.a,{id:`firstName-${person.id}`,name:"firstName",placeholder:"Enter first name",jarb:{validator:"Person.firstName",label:"First name"},errorMode:"tooltip"})),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicFormCell_EpicFormCell__WEBPACK_IMPORTED_MODULE_15__.a,{width:100,height:52},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_form_Input_Input__WEBPACK_IMPORTED_MODULE_7__.a,{id:`lastName-${person.id}`,name:"lastName",placeholder:"Enter last name",jarb:{validator:"Person.lastName",label:"Last name"},errorMode:"tooltip"})),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicFormCell_EpicFormCell__WEBPACK_IMPORTED_MODULE_15__.a,{width:100,height:52},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_form_Input_Input__WEBPACK_IMPORTED_MODULE_7__.a,{id:`age-${person.id}`,name:"age",type:"number",placeholder:"Enter age",jarb:{validator:"Person.age",label:"Age"},errorMode:"tooltip"})),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicFormCell_EpicFormCell__WEBPACK_IMPORTED_MODULE_15__.a,{width:100,height:52},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_form_Select_Select__WEBPACK_IMPORTED_MODULE_10__.a,{id:`eyeColor-${person.id}`,name:"eyeColor",placeholder:"Enter eye color",options:["green","blue","brown"],optionForValue:option=>option,jarb:{validator:"Person.eyeColor",label:"Eye color"},errorMode:"tooltip"})),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicFormCell_EpicFormCell__WEBPACK_IMPORTED_MODULE_15__.a,{width:100,height:52},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_form_Input_Input__WEBPACK_IMPORTED_MODULE_7__.a,{id:`age-${person.id}`,name:"height",placeholder:"Enter height",type:"number",jarb:{validator:"Person.height",label:"Height"},errorMode:"tooltip"})),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicFormCell_EpicFormCell__WEBPACK_IMPORTED_MODULE_15__.a,{width:100,height:52},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_form_Input_Input__WEBPACK_IMPORTED_MODULE_7__.a,{id:`weight-${person.id}`,name:"weight",type:"number",placeholder:"Enter weight",jarb:{validator:"Person.weight",label:"Weight"},errorMode:"tooltip"})),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicFormCell_EpicFormCell__WEBPACK_IMPORTED_MODULE_15__.a,{width:200,height:52},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_form_Input_Input__WEBPACK_IMPORTED_MODULE_7__.a,{id:`jobTitle-${person.id}`,name:"jobTitle",placeholder:"Enter job title",jarb:{validator:"Person.jobTitle",label:"Job title"},errorMode:"tooltip"})),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicFormCell_EpicFormCell__WEBPACK_IMPORTED_MODULE_15__.a,{width:300,height:52},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_form_ModalPicker_single_ModalPickerSingle__WEBPACK_IMPORTED_MODULE_11__.a,{id:`favoriteMovie-${person.id}`,name:"favoriteMovie",placeholder:"Enter favorite movie",jarb:{validator:"Person.favoriteMovie",label:"Favorite movie"},multiple:!1,optionForValue:option=>option.name,fetchOptions:(query,page,size)=>Promise.resolve(Object(_utilities_page_page__WEBPACK_IMPORTED_MODULE_12__.a)(movies.filter(movie=>0===query.length||movie.name.indexOf(query)>0).slice((page-1)*size,size),page,size)),errorMode:"tooltip",alignButton:"right"})),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicFormCell_EpicFormCell__WEBPACK_IMPORTED_MODULE_15__.a,{width:150,height:52},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_form_Input_Input__WEBPACK_IMPORTED_MODULE_7__.a,{id:`favoriteFood-${person.id}`,name:"favoriteFood",placeholder:"Enter favorite food",jarb:{validator:"Person.favoriteFood",label:"Favorite food"},errorMode:"tooltip"})),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicFormCell_EpicFormCell__WEBPACK_IMPORTED_MODULE_15__.a,{width:300,height:52},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_form_DateTimeInput_DateTimeInput__WEBPACK_IMPORTED_MODULE_8__.a,{id:`birthDate-${person.id}`,name:"birthDate",placeholder:"Enter birth date",dateFormat:"YYYY-MM-DD",timeFormat:!1,jarb:{validator:"Person.birthDate",label:"Birthdate"},errorMode:"tooltip",mode:"modal"})),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicFormCell_EpicFormCell__WEBPACK_IMPORTED_MODULE_15__.a,{width:200,height:52},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_form_RadioGroup_RadioGroup__WEBPACK_IMPORTED_MODULE_9__.a,{id:`sex-${person.id}`,name:"sex",className:"ml-1",options:["male","female"],optionForValue:option=>option,horizontal:!0,jarb:{validator:"Person.sex",label:"Sex"},errorMode:"tooltip"})))):react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_rows_EpicRow_EpicRow__WEBPACK_IMPORTED_MODULE_5__.a,{key:person.id},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicCell_EpicCell__WEBPACK_IMPORTED_MODULE_14__.a,{width:300,height:52},loading&&loading.id===person.id?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_Loading_Loading__WEBPACK_IMPORTED_MODULE_17__.a,{text:{loading:"Processing..."}}):react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment,null,editingPerson?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_ConfirmButton_ConfirmButton__WEBPACK_IMPORTED_MODULE_19__.a,{onConfirm:()=>setEditingPerson(person),icon:"edit",color:"primary",className:"mr-1",dialogText:`All progress on ${editingPerson.firstName} will be lost. Are you sure you want to edit ${person.firstName}?`},"Edit"):react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_Button_Button__WEBPACK_IMPORTED_MODULE_16__.a,{onClick:()=>setEditingPerson(person),icon:"edit",color:"primary",className:"mr-1"},"Edit"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_ConfirmButton_ConfirmButton__WEBPACK_IMPORTED_MODULE_19__.a,{onConfirm:()=>deletePerson(person),icon:"cancel",color:"danger",dialogText:`Are you sure you want to delete ${person.firstName} ${person.lastName}?`},"Delete"))),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicCell_EpicCell__WEBPACK_IMPORTED_MODULE_14__.a,{width:300,height:52},person.firstName),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicCell_EpicCell__WEBPACK_IMPORTED_MODULE_14__.a,{width:100,height:52},person.lastName),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicCell_EpicCell__WEBPACK_IMPORTED_MODULE_14__.a,{width:100,height:52},person.age),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicCell_EpicCell__WEBPACK_IMPORTED_MODULE_14__.a,{width:100,height:52},person.eyeColor),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicCell_EpicCell__WEBPACK_IMPORTED_MODULE_14__.a,{width:100,height:52},person.height),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicCell_EpicCell__WEBPACK_IMPORTED_MODULE_14__.a,{width:100,height:52},person.weight),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicCell_EpicCell__WEBPACK_IMPORTED_MODULE_14__.a,{width:200,height:52},person.jobTitle),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicCell_EpicCell__WEBPACK_IMPORTED_MODULE_14__.a,{width:300,height:52},null===(_a=person.favoriteMovie)||void 0===_a?void 0:_a.name),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicCell_EpicCell__WEBPACK_IMPORTED_MODULE_14__.a,{width:150,height:52},person.favoriteFood),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicCell_EpicCell__WEBPACK_IMPORTED_MODULE_14__.a,{width:300,height:52},null===(_b=person.birthDate)||void 0===_b?void 0:_b.toLocaleDateString()),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicCell_EpicCell__WEBPACK_IMPORTED_MODULE_14__.a,{width:200,height:52},person.sex))})),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"d-flex justify-content-center"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_index__WEBPACK_IMPORTED_MODULE_21__.s,{className:"my-3",page:pageOfPersons,onChange:function confirmPage(pageNumber){editingPerson?setNewPage(pageNumber):setPage(pageNumber)}}),newPage?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_index__WEBPACK_IMPORTED_MODULE_21__.r,{isOpen:!0,onClose:()=>setNewPage(void 0),onSave:()=>{setPage(newPage),setNewPage(void 0)},text:{save:"Confirm"}},"All your changes will be lost if you navigate to another page. Are you sure you want to go to page ",newPage," and loose all your progress?"):null))}).add("instant edit",()=>{const[newPerson]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)({id:Math.random(),firstName:"",lastName:"",age:0,eyeColor:"",height:0,weight:0,jobTitle:"",favoriteMovie:void 0,favoriteFood:"",birthDate:void 0,sex:""}),[page,setPage]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(1),[personsList,setPersonsList]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(persons),[pageOfPersons,setPageOfPersons]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(Object(_42_nl_spring_connect_lib__WEBPACK_IMPORTED_MODULE_22__.emptyPage)()),[loading,setLoading]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(),[dirtyPersons,setDirtyPersons]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)({}),[flashMessage,setFlashMessage]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)();function onSubmit(data){return __awaiter(this,void 0,void 0,(function*(){setLoading(data),yield sleep(Object(lodash__WEBPACK_IMPORTED_MODULE_3__.random)(200,1e3));const person=Object.assign({},data);data.id===newPerson.id?(person.id=Math.random(),setPersonsList([...personsList,person])):setPersonsList(personsList.map(p=>p.id===person.id?person:p)),setFlashMessage("Person saved successfully!"),setLoading(void 0)}))}return Object(react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{const p=Object(_utilities_page_page__WEBPACK_IMPORTED_MODULE_12__.a)(personsList,page,10);p.content.push(Object.assign({},newPerson)),setDirtyPersons({}),setPageOfPersons(p)},[personsList,newPerson,page]),Object(react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{const timeout=window.setTimeout(()=>setFlashMessage(void 0),5e3);return()=>{window.clearTimeout(timeout)}},[flashMessage]),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_2__.a,{body:!0},flashMessage?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_FlashMessage_FlashMessage__WEBPACK_IMPORTED_MODULE_20__.a,{onClose:()=>setFlashMessage(void 0),color:"success"},flashMessage):null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_EpicTable__WEBPACK_IMPORTED_MODULE_4__.a,{hasRight:!1},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_rows_EpicRow_EpicRow__WEBPACK_IMPORTED_MODULE_5__.a,{header:!0},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicHeader_EpicHeader__WEBPACK_IMPORTED_MODULE_6__.a,{width:300,height:44},"Actions"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicHeader_EpicHeader__WEBPACK_IMPORTED_MODULE_6__.a,{width:300,height:44},"First name"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicHeader_EpicHeader__WEBPACK_IMPORTED_MODULE_6__.a,{width:100,height:44},"Last name"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicHeader_EpicHeader__WEBPACK_IMPORTED_MODULE_6__.a,{width:100,height:44},"Age"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicHeader_EpicHeader__WEBPACK_IMPORTED_MODULE_6__.a,{width:100,height:44},"Eye color"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicHeader_EpicHeader__WEBPACK_IMPORTED_MODULE_6__.a,{width:100,height:44},"Height"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicHeader_EpicHeader__WEBPACK_IMPORTED_MODULE_6__.a,{width:100,height:44},"Weight"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicHeader_EpicHeader__WEBPACK_IMPORTED_MODULE_6__.a,{width:200,height:44},"Job title"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicHeader_EpicHeader__WEBPACK_IMPORTED_MODULE_6__.a,{width:300,height:44},"Favorite movie"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicHeader_EpicHeader__WEBPACK_IMPORTED_MODULE_6__.a,{width:150,height:44},"Favorite food"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicHeader_EpicHeader__WEBPACK_IMPORTED_MODULE_6__.a,{width:300,height:44},"Birth date"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicHeader_EpicHeader__WEBPACK_IMPORTED_MODULE_6__.a,{width:200,height:44},"Sex")),pageOfPersons.content.map(person=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_rows_EpicRow_EpicRow__WEBPACK_IMPORTED_MODULE_5__.a,{key:person.id},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicCell_EpicCell__WEBPACK_IMPORTED_MODULE_14__.a,{width:300,height:52},loading&&loading.id===person.id?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_Loading_Loading__WEBPACK_IMPORTED_MODULE_17__.a,{text:{loading:"Processing..."}}):react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment,null,person.id!==newPerson.id?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_ConfirmButton_ConfirmButton__WEBPACK_IMPORTED_MODULE_19__.a,{onConfirm:()=>function deletePerson(person){return __awaiter(this,void 0,void 0,(function*(){setLoading(person),yield sleep(Object(lodash__WEBPACK_IMPORTED_MODULE_3__.random)(200,1e3)),setPersonsList(personsList.filter(p=>p.id!==person.id)),setLoading(void 0),setFlashMessage("Person deleted successfully!")}))}(person),icon:"delete",color:"danger",dialogText:`Are you sure you want to delete ${person.firstName} ${person.lastName}?`},"Delete"):null)),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicForm_EpicForm__WEBPACK_IMPORTED_MODULE_13__.a,{id:"personForm"+person.id,width:1950,height:52,initialValues:person,onSubmit:onSubmit,submitOnChange:!0},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_final_form__WEBPACK_IMPORTED_MODULE_23__.FormSpy,{subscription:{pristine:!0},onChange:formState=>function setPersonDirty(isPristine,person){isPristine?dirtyPersons[person.id]&&setDirtyPersons(Object.assign(Object.assign({},dirtyPersons),{[person.id]:!1})):dirtyPersons[person.id]||setDirtyPersons(Object.assign(Object.assign({},dirtyPersons),{[person.id]:!0}))}(formState.pristine,person)}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicFormCell_EpicFormCell__WEBPACK_IMPORTED_MODULE_15__.a,{width:300,height:52},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_form_Input_Input__WEBPACK_IMPORTED_MODULE_7__.a,{id:`firstName-${person.id}`,name:"firstName",placeholder:"Enter first name",jarb:{validator:"Person.firstName",label:"First name"},errorMode:"tooltip"})),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicFormCell_EpicFormCell__WEBPACK_IMPORTED_MODULE_15__.a,{width:100,height:52},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_form_Input_Input__WEBPACK_IMPORTED_MODULE_7__.a,{id:`lastName-${person.id}`,name:"lastName",placeholder:"Enter last name",jarb:{validator:"Person.lastName",label:"Last name"},errorMode:"tooltip"})),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicFormCell_EpicFormCell__WEBPACK_IMPORTED_MODULE_15__.a,{width:100,height:52},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_form_Input_Input__WEBPACK_IMPORTED_MODULE_7__.a,{id:`age-${person.id}`,name:"age",type:"number",placeholder:"Enter age",jarb:{validator:"Person.age",label:"Age"},errorMode:"tooltip"})),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicFormCell_EpicFormCell__WEBPACK_IMPORTED_MODULE_15__.a,{width:100,height:52},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_form_Select_Select__WEBPACK_IMPORTED_MODULE_10__.a,{id:`eyeColor-${person.id}`,name:"eyeColor",placeholder:"Enter eye color",options:["green","blue","brown"],optionForValue:option=>option,jarb:{validator:"Person.eyeColor",label:"Eye color"},errorMode:"tooltip"})),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicFormCell_EpicFormCell__WEBPACK_IMPORTED_MODULE_15__.a,{width:100,height:52},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_form_Input_Input__WEBPACK_IMPORTED_MODULE_7__.a,{id:`age-${person.id}`,name:"height",placeholder:"Enter height",type:"number",jarb:{validator:"Person.height",label:"Height"},errorMode:"tooltip"})),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicFormCell_EpicFormCell__WEBPACK_IMPORTED_MODULE_15__.a,{width:100,height:52},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_form_Input_Input__WEBPACK_IMPORTED_MODULE_7__.a,{id:`weight-${person.id}`,name:"weight",type:"number",placeholder:"Enter weight",jarb:{validator:"Person.weight",label:"Weight"},errorMode:"tooltip"})),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicFormCell_EpicFormCell__WEBPACK_IMPORTED_MODULE_15__.a,{width:200,height:52},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_form_Input_Input__WEBPACK_IMPORTED_MODULE_7__.a,{id:`jobTitle-${person.id}`,name:"jobTitle",placeholder:"Enter job title",jarb:{validator:"Person.jobTitle",label:"Job title"},errorMode:"tooltip"})),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicFormCell_EpicFormCell__WEBPACK_IMPORTED_MODULE_15__.a,{width:300,height:52},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_form_ModalPicker_single_ModalPickerSingle__WEBPACK_IMPORTED_MODULE_11__.a,{id:`favoriteMovie-${person.id}`,name:"favoriteMovie",placeholder:"Enter favorite movie",jarb:{validator:"Person.favoriteMovie",label:"Favorite movie"},multiple:!1,optionForValue:option=>option.name,fetchOptions:(query,page,size)=>Promise.resolve(Object(_utilities_page_page__WEBPACK_IMPORTED_MODULE_12__.a)(movies.filter(movie=>0===query.length||movie.name.indexOf(query)>0).slice((page-1)*size,size),page,size)),errorMode:"tooltip",alignButton:"right"})),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicFormCell_EpicFormCell__WEBPACK_IMPORTED_MODULE_15__.a,{width:150,height:52},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_form_Input_Input__WEBPACK_IMPORTED_MODULE_7__.a,{id:`favoriteFood-${person.id}`,name:"favoriteFood",placeholder:"Enter favorite food",jarb:{validator:"Person.favoriteFood",label:"Favorite food"},errorMode:"tooltip"})),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicFormCell_EpicFormCell__WEBPACK_IMPORTED_MODULE_15__.a,{width:300,height:52},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_form_DateTimeInput_DateTimeInput__WEBPACK_IMPORTED_MODULE_8__.a,{id:`birthDate-${person.id}`,name:"birthDate",placeholder:"Enter birth date",dateFormat:"YYYY-MM-DD",timeFormat:!1,jarb:{validator:"Person.birthDate",label:"Birthdate"},errorMode:"tooltip",mode:"modal",allowNull:!0})),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicFormCell_EpicFormCell__WEBPACK_IMPORTED_MODULE_15__.a,{width:200,height:52},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_form_RadioGroup_RadioGroup__WEBPACK_IMPORTED_MODULE_9__.a,{id:`sex-${person.id}`,name:"sex",className:"ml-1",options:["male","female"],optionForValue:option=>option,horizontal:!0,jarb:{validator:"Person.sex",label:"Sex"},errorMode:"tooltip"})))))),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"d-flex justify-content-center"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_index__WEBPACK_IMPORTED_MODULE_21__.s,{className:"my-3",page:pageOfPersons,onChange:setPage})))});const persons=[{id:Math.random(),firstName:"Fitzpatrick",lastName:"Lyons",age:20,eyeColor:"brown",height:10,weight:3,jobTitle:"Senior CodeMonkey",favoriteMovie:{name:"The Matrix"},favoriteFood:"Hamburgers",birthDate:new Date("2014-09-24"),sex:"male"},{id:Math.random(),firstName:"Berry",lastName:"McNab",age:41,eyeColor:"blue",height:13,weight:55,jobTitle:"Business Manager",favoriteMovie:{name:"Fear and loathing in Las Vegas"},favoriteFood:"Spaghetti",birthDate:new Date("2000-09-24"),sex:"female"},{id:Math.random(),firstName:"Neville",lastName:"Brooks",age:25,eyeColor:"green",height:12,weight:32,jobTitle:"Senior CodeMonkey",favoriteMovie:{name:"Lord of the Rings"},favoriteFood:"French Fries",birthDate:new Date("2014-09-24"),sex:"male"},{id:Math.random(),firstName:"Leonard",lastName:"Nemoy",age:50,eyeColor:"brown",height:10,weight:3,jobTitle:"Thespian",favoriteMovie:{name:"Star Trek"},favoriteFood:"Kosher",birthDate:new Date("1900-09-24"),sex:"male"},{id:Math.random(),firstName:"Levi",lastName:"Smith",age:30,eyeColor:"brown",height:10,weight:3,jobTitle:"Taxi driver",favoriteMovie:{name:"Taxi"},favoriteFood:"Lorem ipsum dolor sit amet consectetur adipisicing elit. Corporis, at nam alias ad culpa quae deleniti. Autem eveniet mollitia veritatis reprehenderit ea, tempora vero voluptatem. Dolore repudiandae voluptate quam quidem.,",birthDate:new Date("2014-09-24"),sex:"male"},{id:Math.random(),firstName:"Celine",lastName:"Ferdinand",age:80,eyeColor:"green",height:3,weight:5,jobTitle:"Retired",favoriteMovie:{name:"Driving miss Daisy"},favoriteFood:"Prunes",birthDate:new Date("1940-09-24"),sex:"female"},{id:Math.random(),firstName:"Bonald",lastName:"Ferdinand",age:82,eyeColor:"blue",height:3,weight:5,jobTitle:"Retired",favoriteMovie:{name:"Driving miss Daisy"},favoriteFood:"Prunes",birthDate:new Date("1938-09-24"),sex:"male"},{id:Math.random(),firstName:"Zechs",lastName:"Merquise",age:42,eyeColor:"blue",height:3,weight:5,jobTitle:"Ace pilot",favoriteMovie:{name:"Gundam wing"},favoriteFood:"Applepie",birthDate:new Date("2010-09-24"),sex:"male"},{id:Math.random(),firstName:"David",lastName:"Hayter",age:55,eyeColor:"blue",height:3,weight:5,jobTitle:"Voice actor",favoriteMovie:{name:"Guyver"},favoriteFood:"Snakes",birthDate:new Date("1960-09-24"),sex:"male"},{id:Math.random(),firstName:"James",lastName:"Kirk",age:50,eyeColor:"brown",height:3,weight:5,jobTitle:"Captian",favoriteMovie:{name:"Star Trek"},favoriteFood:"Replicated",birthDate:new Date("2100-09-24"),sex:"male"},{id:Math.random(),firstName:"Bert",lastName:"Kelly",age:30,eyeColor:"blue",height:3,weight:5,jobTitle:"Blacksmith",favoriteMovie:{name:"Not without my daughter"},favoriteFood:"Pears",birthDate:new Date("1989-09-24"),sex:"male"},{id:Math.random(),firstName:"John",lastName:"Goodall",age:68,eyeColor:"green",height:3,weight:5,jobTitle:"Gardner",favoriteMovie:{name:"The Gardner"},favoriteFood:"Cauliflower",birthDate:new Date("2019-09-24"),sex:"male"},{id:Math.random(),firstName:"Rick",lastName:"Xander",age:14,eyeColor:"brown",height:3,weight:5,jobTitle:"Baker",favoriteMovie:{name:"Halloween"},favoriteFood:"Cake",birthDate:new Date("1980-09-24"),sex:"male"},{id:Math.random(),firstName:"Jessica",lastName:"Bernard",age:36,eyeColor:"green",height:3,weight:5,jobTitle:"Student",favoriteMovie:{name:"Highlander"},favoriteFood:"Icecream",birthDate:new Date("1980-09-24"),sex:"female"},{id:Math.random(),firstName:"Benjamin",lastName:"Sisko",age:55,eyeColor:"brown",height:3,weight:5,jobTitle:"Commander",favoriteMovie:{name:"Search for Spock"},favoriteFood:"Jamba",birthDate:new Date("2200-09-24"),sex:"male"},{id:Math.random(),firstName:"Kathyrn",lastName:"Janeway",age:55,eyeColor:"brown",height:3,weight:5,jobTitle:"Captain",favoriteMovie:{name:"Wrath of Khan"},favoriteFood:"Coffee",birthDate:new Date("2240-09-24"),sex:"female"},{id:Math.random(),firstName:"Jean-Luc",lastName:"Picard",age:66,eyeColor:"blue",height:3,weight:5,jobTitle:"Captain",favoriteMovie:{name:"Next generation"},favoriteFood:"Tea Earl Grey Hot",birthDate:new Date("2200-09-24"),sex:"male"},{id:Math.random(),firstName:"Peter",lastName:"Parker",age:30,eyeColor:"blue",height:55,weight:14,jobTitle:"Spider-man",favoriteMovie:{name:"Spider-man"},favoriteFood:"Webs",birthDate:new Date("1990-09-24"),sex:"male"},{id:Math.random(),firstName:"Clark",lastName:"Kent",age:40,eyeColor:"blue",height:80,weight:33,jobTitle:"Journalist",favoriteMovie:{name:"Superman returns"},favoriteFood:"Kryptonite",birthDate:new Date("1960-01-01"),sex:"male"},{id:Math.random(),firstName:"Bruce",lastName:"Wayne",age:55,eyeColor:"blue",height:70,weight:33,jobTitle:"CEO",favoriteMovie:{name:"Batman begins"},favoriteFood:"Bats",birthDate:new Date("1955-01-01"),sex:"male"},{id:Math.random(),firstName:"Diana",lastName:"Prince",age:28,eyeColor:"green",height:90,weight:19,jobTitle:"Curator",favoriteMovie:{name:"Wonderwoman"},favoriteFood:"Greek",birthDate:new Date("1990-01-01"),sex:"female"},{id:Math.random(),firstName:"Tony",lastName:"Stark",age:40,eyeColor:"brown",height:70,weight:33,jobTitle:"CEO",favoriteMovie:{name:"Ironman"},favoriteFood:"Shoarma",birthDate:new Date("1980-01-01"),sex:"male"},{id:Math.random(),firstName:"Steve",lastName:"Rogers",age:100,eyeColor:"blue",height:44,weight:55,jobTitle:"Captain",favoriteMovie:{name:"Winter soldier"},favoriteFood:"Applepie",birthDate:new Date("1920-01-01"),sex:"male"},{id:Math.random(),firstName:"Natasha",lastName:"Romanov",age:30,eyeColor:"green",height:77,weight:66,jobTitle:"Black widow",favoriteMovie:{name:"Avengers"},favoriteFood:"Stroganov",birthDate:new Date("1995-01-01"),sex:"female"},{id:Math.random(),firstName:"Bruce",lastName:"Banner",age:42,eyeColor:"brown",height:89,weight:99,jobTitle:"Smasher",favoriteMovie:{name:"The Incredible Hulk"},favoriteFood:"Gammarays",birthDate:new Date("1975-01-01"),sex:"male"}],movies=Object(lodash__WEBPACK_IMPORTED_MODULE_3__.uniq)(persons.filter(person=>person.favoriteMovie).map(person=>{var _a;return null===(_a=person.favoriteMovie)||void 0===_a?void 0:_a.name})).map(movie=>({name:movie}));function sleep(ms){return new Promise(resolve=>{setTimeout(resolve,ms)})}}.call(this,__webpack_require__(26)(module))},233:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return EpicExpanderRow}));var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),__rest=function(s,e){var t={};for(var p in s)Object.prototype.hasOwnProperty.call(s,p)&&e.indexOf(p)<0&&(t[p]=s[p]);if(null!=s&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(p=Object.getOwnPropertySymbols(s);i any"}},active:{defaultValue:null,description:"Whether or not the children should be rendered.",name:"active",required:!0,type:{name:"boolean"}},height:{defaultValue:null,description:"The height the EpicExpanderRow should take up when expanded.",name:"height",required:!0,type:{name:"number"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/table/EpicTable/rows/EpicExpanderRow/EpicExpanderRow.tsx#EpicExpanderRow"]={docgenInfo:EpicExpanderRow.__docgenInfo,name:"EpicExpanderRow",path:"src/table/EpicTable/rows/EpicExpanderRow/EpicExpanderRow.tsx#EpicExpanderRow"})}catch(__react_docgen_typescript_loader_error){}},234:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return Addon}));var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),reactstrap__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(938),reactstrap__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(82),_core_Icon__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(63),__rest=function(s,e){var t={};for(var p in s)Object.prototype.hasOwnProperty.call(s,p)&&e.indexOf(p)<0&&(t[p]=s[p]);if(null!=s&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(p=Object.getOwnPropertySymbols(s);i void"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/form/Input/Addon/Addon.tsx#Addon"]={docgenInfo:Addon.__docgenInfo,name:"Addon",path:"src/form/Input/Addon/Addon.tsx#Addon"})}catch(__react_docgen_typescript_loader_error){}},237:function(module,__webpack_exports__,__webpack_require__){"use strict";function valueToTypeaheadOption(value,optionFor){return{label:optionFor(value),value:value}}__webpack_require__.d(__webpack_exports__,"a",(function(){return valueToTypeaheadOption}))},3:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return Button})),__webpack_require__.d(__webpack_exports__,"b",(function(){return isWithIcon})),__webpack_require__.d(__webpack_exports__,"c",(function(){return isWithIconAndText})),__webpack_require__.d(__webpack_exports__,"d",(function(){return isWithText}));var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),reactstrap__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(82),_Spinner_Spinner__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(69),_Icon__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(63),_useShowSpinner__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(352),__rest=function(s,e){var t={};for(var p in s)Object.prototype.hasOwnProperty.call(s,p)&&e.indexOf(p)<0&&(t[p]=s[p]);if(null!=s&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(p=Object.getOwnPropertySymbols(s);i any"}},inProgress:{defaultValue:{value:"false"},description:"Whether or not the action you are performing is currently in\nprogress. If so a spinner is rendered inside of the button.\nThis behavior is optional and default to `false`.",name:"inProgress",required:!1,type:{name:"boolean"}},className:{defaultValue:{value:""},description:"Optional extra CSS class you want to add to the component.\nUseful for styling the component.",name:"className",required:!1,type:{name:"string"}},disabled:{defaultValue:null,description:"Optionally whether the button is disabled\n\nDefaults to `false`",name:"disabled",required:!1,type:{name:"boolean"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/core/Button/Button.tsx#Button"]={docgenInfo:Button.__docgenInfo,name:"Button",path:"src/core/Button/Button.tsx#Button"})}catch(__react_docgen_typescript_loader_error){}try{isWithIcon.displayName="isWithIcon",isWithIcon.__docgenInfo={description:"",displayName:"isWithIcon",props:{icon:{defaultValue:null,description:"The Icon you want to use.\nOptionally the Icon you want to use.",name:"icon",required:!1,type:{name:'"info" | "warning" | "link" | "3d_rotation" | "accessibility" | "accessibility_new" | "accessible" | "accessible_forward" | "account_balance" | "account_balance_wallet" | ... 999 more ... | "toggle_on"'}},iconPosition:{defaultValue:null,description:"",name:"iconPosition",required:!1,type:{name:"IconPosition"}},children:{defaultValue:null,description:"Optionally the text of the button.\nOptionally the text of the button.",name:"children",required:!1,type:{name:"any"}},outline:{defaultValue:null,description:"Optionally whether or not to show the button only as an outline.\nOptionally whether or not to show the button only as an outline.",name:"outline",required:!1,type:{name:"boolean"}},size:{defaultValue:null,description:"Optionally the size of the button, defaults to md.\n\nDefaults to 'md'.\nOptionally the size of the button, defaults to md.\n\nDefaults to 'md'.",name:"size",required:!1,type:{name:"BootstrapSize"}},type:{defaultValue:{value:"button"},description:"Optionally the type of button it is, defaults to 'button'.",name:"type",required:!1,type:{name:'"button" | "submit" | "reset"'}},color:{defaultValue:null,description:"Optionally the color of the button.",name:"color",required:!1,type:{name:"Color"}},onClick:{defaultValue:null,description:"Optional callback for what needs to happen when the button is clicked.",name:"onClick",required:!1,type:{name:"(event: any) => any"}},inProgress:{defaultValue:{value:"false"},description:"Whether or not the action you are performing is currently in\nprogress. If so a spinner is rendered inside of the button.\nThis behavior is optional and default to `false`.",name:"inProgress",required:!1,type:{name:"boolean"}},className:{defaultValue:null,description:"Optional extra CSS class you want to add to the component.\nUseful for styling the component.",name:"className",required:!1,type:{name:"string"}},disabled:{defaultValue:null,description:"Optionally whether the button is disabled\n\nDefaults to `false`",name:"disabled",required:!1,type:{name:"boolean"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/core/Button/Button.tsx#isWithIcon"]={docgenInfo:isWithIcon.__docgenInfo,name:"isWithIcon",path:"src/core/Button/Button.tsx#isWithIcon"})}catch(__react_docgen_typescript_loader_error){}try{isWithIconAndText.displayName="isWithIconAndText",isWithIconAndText.__docgenInfo={description:"",displayName:"isWithIconAndText",props:{icon:{defaultValue:null,description:"The Icon you want to use.\nOptionally the Icon you want to use.",name:"icon",required:!1,type:{name:'"info" | "warning" | "link" | "3d_rotation" | "accessibility" | "accessibility_new" | "accessible" | "accessible_forward" | "account_balance" | "account_balance_wallet" | ... 999 more ... | "toggle_on"'}},iconPosition:{defaultValue:null,description:"",name:"iconPosition",required:!1,type:{name:"IconPosition"}},children:{defaultValue:null,description:"Optionally the text of the button.\nOptionally the text of the button.",name:"children",required:!1,type:{name:"any"}},outline:{defaultValue:null,description:"Optionally whether or not to show the button only as an outline.\nOptionally whether or not to show the button only as an outline.",name:"outline",required:!1,type:{name:"boolean"}},size:{defaultValue:null,description:"Optionally the size of the button, defaults to md.\n\nDefaults to 'md'.\nOptionally the size of the button, defaults to md.\n\nDefaults to 'md'.",name:"size",required:!1,type:{name:"BootstrapSize"}},type:{defaultValue:{value:"button"},description:"Optionally the type of button it is, defaults to 'button'.",name:"type",required:!1,type:{name:'"button" | "submit" | "reset"'}},color:{defaultValue:null,description:"Optionally the color of the button.",name:"color",required:!1,type:{name:"Color"}},onClick:{defaultValue:null,description:"Optional callback for what needs to happen when the button is clicked.",name:"onClick",required:!1,type:{name:"(event: any) => any"}},inProgress:{defaultValue:{value:"false"},description:"Whether or not the action you are performing is currently in\nprogress. If so a spinner is rendered inside of the button.\nThis behavior is optional and default to `false`.",name:"inProgress",required:!1,type:{name:"boolean"}},className:{defaultValue:null,description:"Optional extra CSS class you want to add to the component.\nUseful for styling the component.",name:"className",required:!1,type:{name:"string"}},disabled:{defaultValue:null,description:"Optionally whether the button is disabled\n\nDefaults to `false`",name:"disabled",required:!1,type:{name:"boolean"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/core/Button/Button.tsx#isWithIconAndText"]={docgenInfo:isWithIconAndText.__docgenInfo,name:"isWithIconAndText",path:"src/core/Button/Button.tsx#isWithIconAndText"})}catch(__react_docgen_typescript_loader_error){}try{isWithText.displayName="isWithText",isWithText.__docgenInfo={description:"",displayName:"isWithText",props:{icon:{defaultValue:null,description:"The Icon you want to use.\nOptionally the Icon you want to use.",name:"icon",required:!1,type:{name:'"info" | "warning" | "link" | "3d_rotation" | "accessibility" | "accessibility_new" | "accessible" | "accessible_forward" | "account_balance" | "account_balance_wallet" | ... 999 more ... | "toggle_on"'}},iconPosition:{defaultValue:null,description:"",name:"iconPosition",required:!1,type:{name:"IconPosition"}},children:{defaultValue:null,description:"Optionally the text of the button.\nOptionally the text of the button.",name:"children",required:!1,type:{name:"any"}},outline:{defaultValue:null,description:"Optionally whether or not to show the button only as an outline.\nOptionally whether or not to show the button only as an outline.",name:"outline",required:!1,type:{name:"boolean"}},size:{defaultValue:null,description:"Optionally the size of the button, defaults to md.\n\nDefaults to 'md'.\nOptionally the size of the button, defaults to md.\n\nDefaults to 'md'.",name:"size",required:!1,type:{name:"BootstrapSize"}},type:{defaultValue:{value:"button"},description:"Optionally the type of button it is, defaults to 'button'.",name:"type",required:!1,type:{name:'"button" | "submit" | "reset"'}},color:{defaultValue:null,description:"Optionally the color of the button.",name:"color",required:!1,type:{name:"Color"}},onClick:{defaultValue:null,description:"Optional callback for what needs to happen when the button is clicked.",name:"onClick",required:!1,type:{name:"(event: any) => any"}},inProgress:{defaultValue:{value:"false"},description:"Whether or not the action you are performing is currently in\nprogress. If so a spinner is rendered inside of the button.\nThis behavior is optional and default to `false`.",name:"inProgress",required:!1,type:{name:"boolean"}},className:{defaultValue:null,description:"Optional extra CSS class you want to add to the component.\nUseful for styling the component.",name:"className",required:!1,type:{name:"string"}},disabled:{defaultValue:null,description:"Optionally whether the button is disabled\n\nDefaults to `false`",name:"disabled",required:!1,type:{name:"boolean"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/core/Button/Button.tsx#isWithText"]={docgenInfo:isWithText.__docgenInfo,name:"isWithText",path:"src/core/Button/Button.tsx#isWithText"})}catch(__react_docgen_typescript_loader_error){}},30:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return Tooltip}));var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),_tippyjs_react__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(374);function Tooltip({children:children,placement:placement="top",content:content,offset:offset=0,distance:distance=7,interactive:interactive,maxWidth:maxWidth=350,tag:tag="span",className:className,style:style}){const Tag=tag;return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_tippyjs_react__WEBPACK_IMPORTED_MODULE_1__.a,{className:"border-0",content:react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment,null," ",content," "),placement:placement,offset:[offset,distance],interactive:interactive,maxWidth:maxWidth},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(Tag,{className:className,style:Object.assign({outline:0},style),tabIndex:0},children))}try{Tooltip.displayName="Tooltip",Tooltip.__docgenInfo={description:"Bootstrap-like Tooltip component based on the Tippy.js library.",displayName:"Tooltip",props:{children:{defaultValue:null,description:"Target component that, when hovered, will trigger the tooltip to show up.\nThe target(children) of the tooltip are wrapped into a div.\nThis is a bypass to not have to forward the ref to the DOM node.",name:"children",required:!0,type:{name:"any"}},content:{defaultValue:null,description:"Content shown inside of the tooltip.",name:"content",required:!0,type:{name:"any"}},placement:{defaultValue:{value:"top"},description:"Optional alignment relative to the target where the tooltip will be shown.",name:"placement",required:!1,type:{name:"Placement"}},offset:{defaultValue:{value:0},description:"Optional offset that the popover will show up relative from the target.",name:"offset",required:!1,type:{name:"number"}},distance:{defaultValue:{value:7},description:"Optional distance that the tooltip will show up relative from the target.",name:"distance",required:!1,type:{name:"number"}},interactive:{defaultValue:null,description:"Optional value that allows you to interact with the Tooltip. This is useful for when\nyou have a clickable component inside of your Tooltip.\nWhen set to true, the Tooltip will no longer disappear when clicked",name:"interactive",required:!1,type:{name:"boolean"}},maxWidth:{defaultValue:{value:350},description:"Optional that allows you to override the default max width of the tooltip\nPossible values: number (px), string (with units \"rem\") or string 'none'.",name:"maxWidth",required:!1,type:{name:"ReactText"}},tag:{defaultValue:{value:"span"},description:"Optional that allows you to override the default element that the children get put inside of.\nDefault value is a span.",name:"tag",required:!1,type:{name:'"span" | "div"'}},className:{defaultValue:null,description:"Optional className that is added to the Wrapper component\nAllowing you to add classes like margins and padding that would otherwise get lost\nby the wrapping of the children inside of the CustomTag.",name:"className",required:!1,type:{name:"string"}},style:{defaultValue:null,description:"Optional CSS properties that are added to the Wrapper component\nAllowing you to add CSS properties that would otherwise get lost\nby the wrapping of the children inside of the CustomTag.",name:"style",required:!1,type:{name:"CSSProperties"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/core/Tooltip/Tooltip.tsx#Tooltip"]={docgenInfo:Tooltip.__docgenInfo,name:"Tooltip",path:"src/core/Tooltip/Tooltip.tsx#Tooltip"})}catch(__react_docgen_typescript_loader_error){}},33:function(module,__webpack_exports__,__webpack_require__){"use strict";var react=__webpack_require__(0),react_default=__webpack_require__.n(react),react_final_form_es=__webpack_require__(124),lib=__webpack_require__(502),getDisplayName=__webpack_require__(925),getDisplayName_default=__webpack_require__.n(getDisplayName),react_error_store_lib=__webpack_require__(365),lodash=__webpack_require__(16),FormError=__webpack_require__(356),utils=__webpack_require__(55),Tooltip=__webpack_require__(30);__webpack_require__.d(__webpack_exports__,"a",(function(){return withJarb}));var __rest=function(s,e){var t={};for(var p in s)Object.prototype.hasOwnProperty.call(s,p)&&e.indexOf(p)<0&&(t[p]=s[p]);if(null!=s&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(p=Object.getOwnPropertySymbols(s);ivoid 0!==props[p]);if(illegalProps.length>0){const illegalPropsAsString=prettyPropsSummation(illegalProps,"and"),managedPropsAsString=prettyPropsSummation(managedProps,"or");throw new Error(`\n withJarb: illegal props detected on "${displayName}".\n \n The following illegal props were detected: ${illegalPropsAsString}.\n \n This happens when providing one or multiple of the following \n managed props: ${managedPropsAsString} manually. \n \n You should never provide these props manually instead you should\n trust that "withJarb" will manage these props for you.\n\n Remove the following illegal props: ${illegalPropsAsString}.\n `)}const[hasErrors,setHasErrors]=function useHasErrors(){return Object(react.useState)(!1)}(),{errorMode:errorMode="below",name:name,jarb:jarb,validators:validators,asyncValidators:asyncValidators,asyncValidatorsDebounce:asyncValidatorsDebounce,allowNull:allowNull}=props,rest=__rest(props,["errorMode","name","jarb","validators","asyncValidators","asyncValidatorsDebounce","allowNull"]),wrapperProps=Object(lodash.omit)(rest,passedFieldProps),fieldProps=Object(lodash.pick)(rest,["initialValue","format","formatOnBlur","parse"]),error=react_default.a.createElement(react_final_form_es.Field,{name:name,subscription:{active:!0,touched:!0,error:!0,value:!0,validating:!0},render:field=>react_default.a.createElement(FormError.a,{value:field.input.value,meta:field.meta,validator:jarb.validator,onChange:setHasErrors,className:"tooltip"===errorMode?"withjarb-tooltip":void 0})});return react_default.a.createElement(lib.JarbField,Object.assign({name:name,jarb:jarb,validators:validators,asyncValidators:asyncValidators,asyncValidatorsDebounce:asyncValidatorsDebounce,subscription:{value:!0,invalid:!0,touched:!0,validating:!0},render:field=>hasErrors&&"tooltip"===errorMode?react_default.a.createElement(Tooltip.a,{content:error,tag:"div",className:"w-100",placement:"bottom"},react_default.a.createElement(Wrapper,Object.assign({},wrapperProps,mapFieldRenderProps(field,jarb.validator,hasErrors)))):react_default.a.createElement(Wrapper,Object.assign({},wrapperProps,mapFieldRenderProps(field,jarb.validator,hasErrors),{error:error}))},fieldProps))}return WithJarb.displayName=displayName,WithJarb}function mapFieldRenderProps(props,validator,hasErrors){const{input:input,meta:meta}=props,state=Object(utils.b)({hasErrors:hasErrors,touched:meta.touched});return Object.assign(Object.assign({},state),{onChange:value=>{input.onChange(value),Object(react_error_store_lib.clearErrorsForValidator)(validator)},onFocus:input.onFocus,onBlur:input.onBlur,value:input.value})}function prettyPropsSummation(props,coordinatingConjunction){const lastIndex=props.length-1;return props.map((prop,index)=>{const isLast=index===lastIndex;return`${0===index||isLast?"":", "}${isLast?` ${coordinatingConjunction} `:""}'${prop}'`}).join("")}try{withJarb.displayName="withJarb",withJarb.__docgenInfo={description:"withJarb is a Higher Order Component which takes an input element\nwhich is `FieldCompatible` as defined by the interface, and turns\nit into a Component which uses `JarbField` so it can be used in\na final-form form.\n\nBasically all props needed in `FieldCompatible` are plugged into the\nWrapper, by taking the `input` and `meta` from `final-form` and assigning\nthem into the correct slots.\n\nAlso automatically adds the `FormError` component as the error\nslot so errors are rendered.\n@param Wrapper The Component which is `FieldCompatible`.",displayName:"withJarb",props:{}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/form/withJarb/withJarb.tsx#withJarb"]={docgenInfo:withJarb.__docgenInfo,name:"withJarb",path:"src/form/withJarb/withJarb.tsx#withJarb"})}catch(__react_docgen_typescript_loader_error){}},34:function(module,__webpack_exports__,__webpack_require__){"use strict";function pageWithContent(content){return{content:content,last:!1,totalElements:100,totalPages:10,size:content.length,number:1,first:!0,numberOfElements:content.length}}function pageWithContentAndExactSize(content){return{content:content,last:!0,totalElements:content.length,totalPages:1,size:content.length,number:1,first:!0,numberOfElements:content.length}}__webpack_require__.d(__webpack_exports__,"a",(function(){return pageWithContent})),__webpack_require__.d(__webpack_exports__,"b",(function(){return pageWithContentAndExactSize}));window.setTimeout;try{pageWithContent.displayName="pageWithContent",pageWithContent.__docgenInfo={description:"",displayName:"pageWithContent",props:{length:{defaultValue:null,description:"Gets or sets the length of the array. This is a number one higher than the highest element defined in an array.",name:"length",required:!0,type:{name:"number"}},toString:{defaultValue:null,description:"Returns a string representation of an array.",name:"toString",required:!1,type:{name:"() => string"}},toLocaleString:{defaultValue:null,description:"Returns a string representation of an array. The elements are converted to string using their toLocalString methods.",name:"toLocaleString",required:!1,type:{name:"() => string"}},pop:{defaultValue:null,description:"Removes the last element from an array and returns it.",name:"pop",required:!0,type:{name:"() => T"}},push:{defaultValue:null,description:"Appends new elements to an array, and returns the new length of the array.\n@param items New elements of the Array.",name:"push",required:!0,type:{name:"(...items: T[]) => number"}},concat:{defaultValue:null,description:"Combines two or more arrays.\nCombines two or more arrays.\n@param items Additional items to add to the end of array1.\n@param items Additional items to add to the end of array1.",name:"concat",required:!0,type:{name:"{ (...items: ConcatArray[]): T[]; (...items: (T | ConcatArray)[]): T[]; }"}},join:{defaultValue:null,description:"Adds all the elements of an array separated by the specified separator string.\n@param separator A string used to separate one element of an array from the next in the resulting String. If omitted, the array elements are separated with a comma.",name:"join",required:!0,type:{name:"(separator?: string) => string"}},reverse:{defaultValue:null,description:"Reverses the elements in an Array.",name:"reverse",required:!0,type:{name:"() => T[]"}},shift:{defaultValue:null,description:"Removes the first element from an array and returns it.",name:"shift",required:!0,type:{name:"() => T"}},slice:{defaultValue:null,description:"Returns a section of an array.\n@param start The beginning of the specified portion of the array.\n@param end The end of the specified portion of the array. This is exclusive of the element at the index 'end'.",name:"slice",required:!0,type:{name:"(start?: number, end?: number) => T[]"}},sort:{defaultValue:null,description:"Sorts an array.\n@param compareFn Function used to determine the order of the elements. It is expected to return\ra negative value if first argument is less than second argument, zero if they're equal and a positive\rvalue otherwise. If omitted, the elements are sorted in ascending, ASCII character order.\r```ts\r[11,2,22,1].sort((a, b) => a - b)\r```",name:"sort",required:!0,type:{name:"(compareFn?: (a: T, b: T) => number) => T[]"}},splice:{defaultValue:null,description:"Removes elements from an array and, if necessary, inserts new elements in their place, returning the deleted elements.\nRemoves elements from an array and, if necessary, inserts new elements in their place, returning the deleted elements.\n@param start The zero-based location in the array from which to start removing elements.\n@param deleteCount The number of elements to remove.\n@param start The zero-based location in the array from which to start removing elements.\n@param deleteCount The number of elements to remove.\n@param items Elements to insert into the array in place of the deleted elements.",name:"splice",required:!0,type:{name:"{ (start: number, deleteCount?: number): T[]; (start: number, deleteCount: number, ...items: T[]): T[]; }"}},unshift:{defaultValue:null,description:"Inserts new elements at the start of an array.\n@param items Elements to insert at the start of the Array.",name:"unshift",required:!0,type:{name:"(...items: T[]) => number"}},indexOf:{defaultValue:null,description:"Returns the index of the first occurrence of a value in an array.\n@param searchElement The value to locate in the array.\n@param fromIndex The array index at which to begin the search. If fromIndex is omitted, the search starts at index 0.",name:"indexOf",required:!0,type:{name:"(searchElement: T, fromIndex?: number) => number"}},lastIndexOf:{defaultValue:null,description:"Returns the index of the last occurrence of a specified value in an array.\n@param searchElement The value to locate in the array.\n@param fromIndex The array index at which to begin the search. If fromIndex is omitted, the search starts at the last index in the array.",name:"lastIndexOf",required:!0,type:{name:"(searchElement: T, fromIndex?: number) => number"}},every:{defaultValue:null,description:"Determines whether all the members of an array satisfy the specified test.\n@param callbackfn A function that accepts up to three arguments. The every method calls\rthe callbackfn function for each element in the array until the callbackfn returns a value\rwhich is coercible to the Boolean value false, or until the end of the array.\n@param thisArg An object to which the this keyword can refer in the callbackfn function.\rIf thisArg is omitted, undefined is used as the this value.",name:"every",required:!0,type:{name:"(callbackfn: (value: T, index: number, array: T[]) => unknown, thisArg?: any) => boolean"}},some:{defaultValue:null,description:"Determines whether the specified callback function returns true for any element of an array.\n@param callbackfn A function that accepts up to three arguments. The some method calls\rthe callbackfn function for each element in the array until the callbackfn returns a value\rwhich is coercible to the Boolean value true, or until the end of the array.\n@param thisArg An object to which the this keyword can refer in the callbackfn function.\rIf thisArg is omitted, undefined is used as the this value.",name:"some",required:!0,type:{name:"(callbackfn: (value: T, index: number, array: T[]) => unknown, thisArg?: any) => boolean"}},forEach:{defaultValue:null,description:"Performs the specified action for each element in an array.\n@param callbackfn A function that accepts up to three arguments. forEach calls the callbackfn function one time for each element in the array.\n@param thisArg An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value.",name:"forEach",required:!0,type:{name:"(callbackfn: (value: T, index: number, array: T[]) => void, thisArg?: any) => void"}},map:{defaultValue:null,description:"Calls a defined callback function on each element of an array, and returns an array that contains the results.\n@param callbackfn A function that accepts up to three arguments. The map method calls the callbackfn function one time for each element in the array.\n@param thisArg An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value.",name:"map",required:!0,type:{name:"(callbackfn: (value: T, index: number, array: T[]) => U, thisArg?: any) => U[]"}},filter:{defaultValue:null,description:"Returns the elements of an array that meet the condition specified in a callback function.\nReturns the elements of an array that meet the condition specified in a callback function.\n@param callbackfn A function that accepts up to three arguments. The filter method calls the callbackfn function one time for each element in the array.\n@param thisArg An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value.\n@param callbackfn A function that accepts up to three arguments. The filter method calls the callbackfn function one time for each element in the array.\n@param thisArg An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value.",name:"filter",required:!0,type:{name:"{ (callbackfn: (value: T, index: number, array: T[]) => value is S, thisArg?: any): S[]; (callbackfn: (value: T, index: number, array: T[]) => unknown, thisArg?: any): T[]; }"}},reduce:{defaultValue:null,description:"Calls the specified callback function for all the elements in an array. The return value of the callback function is the accumulated result, and is provided as an argument in the next call to the callback function.\nCalls the specified callback function for all the elements in an array. The return value of the callback function is the accumulated result, and is provided as an argument in the next call to the callback function.\n@param callbackfn A function that accepts up to four arguments. The reduce method calls the callbackfn function one time for each element in the array.\n@param initialValue If initialValue is specified, it is used as the initial value to start the accumulation. The first call to the callbackfn function provides this value as an argument instead of an array value.\n@param callbackfn A function that accepts up to four arguments. The reduce method calls the callbackfn function one time for each element in the array.\n@param initialValue If initialValue is specified, it is used as the initial value to start the accumulation. The first call to the callbackfn function provides this value as an argument instead of an array value.",name:"reduce",required:!0,type:{name:"{ (callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T): T; (callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue: T): T; (callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U; }"}},reduceRight:{defaultValue:null,description:"Calls the specified callback function for all the elements in an array, in descending order. The return value of the callback function is the accumulated result, and is provided as an argument in the next call to the callback function.\nCalls the specified callback function for all the elements in an array, in descending order. The return value of the callback function is the accumulated result, and is provided as an argument in the next call to the callback function.\n@param callbackfn A function that accepts up to four arguments. The reduceRight method calls the callbackfn function one time for each element in the array.\n@param initialValue If initialValue is specified, it is used as the initial value to start the accumulation. The first call to the callbackfn function provides this value as an argument instead of an array value.\n@param callbackfn A function that accepts up to four arguments. The reduceRight method calls the callbackfn function one time for each element in the array.\n@param initialValue If initialValue is specified, it is used as the initial value to start the accumulation. The first call to the callbackfn function provides this value as an argument instead of an array value.",name:"reduceRight",required:!0,type:{name:"{ (callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T): T; (callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue: T): T; (callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U; }"}},find:{defaultValue:null,description:"Returns the value of the first element in the array where predicate is true, and undefined\notherwise.\n@param predicate find calls predicate once for each element of the array, in ascending\rorder, until it finds one where predicate returns true. If such an element is found, find\rimmediately returns that element value. Otherwise, find returns undefined.\n@param thisArg If provided, it will be used as the this value for each invocation of\rpredicate. If it is not provided, undefined is used instead.",name:"find",required:!0,type:{name:"{ (predicate: (this: void, value: T, index: number, obj: T[]) => value is S, thisArg?: any): S; (predicate: (value: T, index: number, obj: T[]) => unknown, thisArg?: any): T; }"}},findIndex:{defaultValue:null,description:"Returns the index of the first element in the array where predicate is true, and -1\notherwise.\n@param predicate find calls predicate once for each element of the array, in ascending\rorder, until it finds one where predicate returns true. If such an element is found,\rfindIndex immediately returns that element index. Otherwise, findIndex returns -1.\n@param thisArg If provided, it will be used as the this value for each invocation of\rpredicate. If it is not provided, undefined is used instead.",name:"findIndex",required:!0,type:{name:"(predicate: (value: T, index: number, obj: T[]) => unknown, thisArg?: any) => number"}},fill:{defaultValue:null,description:"Returns the this object after filling the section identified by start and end with value\n@param value value to fill array section with\n@param start index to start filling the array at. If start is negative, it is treated as\rlength+start where length is the length of the array.\n@param end index to stop filling the array at. If end is negative, it is treated as\rlength+end.",name:"fill",required:!0,type:{name:"(value: T, start?: number, end?: number) => T[]"}},copyWithin:{defaultValue:null,description:"Returns the this object after copying a section of the array identified by start and end\nto the same array starting at position target\n@param target If target is negative, it is treated as length+target where length is the\rlength of the array.\n@param start If start is negative, it is treated as length+start. If end is negative, it\ris treated as length+end.\n@param end If not specified, length of the this object is used as its default value.",name:"copyWithin",required:!0,type:{name:"(target: number, start: number, end?: number) => T[]"}},"__@iterator":{defaultValue:null,description:"Iterator",name:"__@iterator",required:!0,type:{name:"() => IterableIterator"}},entries:{defaultValue:null,description:"Returns an iterable of key, value pairs for every entry in the array",name:"entries",required:!0,type:{name:"() => IterableIterator<[number, T]>"}},keys:{defaultValue:null,description:"Returns an iterable of keys in the array",name:"keys",required:!0,type:{name:"() => IterableIterator"}},values:{defaultValue:null,description:"Returns an iterable of values in the array",name:"values",required:!0,type:{name:"() => IterableIterator"}},"__@unscopables":{defaultValue:null,description:"Returns an object whose properties have the value 'true'\nwhen they will be absent when used in a 'with' statement.",name:"__@unscopables",required:!0,type:{name:"() => { copyWithin: boolean; entries: boolean; fill: boolean; find: boolean; findIndex: boolean; keys: boolean; values: boolean; }"}},includes:{defaultValue:null,description:"Determines whether an array includes a certain element, returning true or false as appropriate.\n@param searchElement The element to search for.\n@param fromIndex The position in this array at which to begin searching for searchElement.",name:"includes",required:!0,type:{name:"(searchElement: T, fromIndex?: number) => boolean"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/test/utils.tsx#pageWithContent"]={docgenInfo:pageWithContent.__docgenInfo,name:"pageWithContent",path:"src/test/utils.tsx#pageWithContent"})}catch(__react_docgen_typescript_loader_error){}try{pageWithContentAndExactSize.displayName="pageWithContentAndExactSize",pageWithContentAndExactSize.__docgenInfo={description:"",displayName:"pageWithContentAndExactSize",props:{length:{defaultValue:null,description:"Gets or sets the length of the array. This is a number one higher than the highest element defined in an array.",name:"length",required:!0,type:{name:"number"}},toString:{defaultValue:null,description:"Returns a string representation of an array.",name:"toString",required:!1,type:{name:"() => string"}},toLocaleString:{defaultValue:null,description:"Returns a string representation of an array. The elements are converted to string using their toLocalString methods.",name:"toLocaleString",required:!1,type:{name:"() => string"}},pop:{defaultValue:null,description:"Removes the last element from an array and returns it.",name:"pop",required:!0,type:{name:"() => T"}},push:{defaultValue:null,description:"Appends new elements to an array, and returns the new length of the array.\n@param items New elements of the Array.",name:"push",required:!0,type:{name:"(...items: T[]) => number"}},concat:{defaultValue:null,description:"Combines two or more arrays.\nCombines two or more arrays.\n@param items Additional items to add to the end of array1.\n@param items Additional items to add to the end of array1.",name:"concat",required:!0,type:{name:"{ (...items: ConcatArray[]): T[]; (...items: (T | ConcatArray)[]): T[]; }"}},join:{defaultValue:null,description:"Adds all the elements of an array separated by the specified separator string.\n@param separator A string used to separate one element of an array from the next in the resulting String. If omitted, the array elements are separated with a comma.",name:"join",required:!0,type:{name:"(separator?: string) => string"}},reverse:{defaultValue:null,description:"Reverses the elements in an Array.",name:"reverse",required:!0,type:{name:"() => T[]"}},shift:{defaultValue:null,description:"Removes the first element from an array and returns it.",name:"shift",required:!0,type:{name:"() => T"}},slice:{defaultValue:null,description:"Returns a section of an array.\n@param start The beginning of the specified portion of the array.\n@param end The end of the specified portion of the array. This is exclusive of the element at the index 'end'.",name:"slice",required:!0,type:{name:"(start?: number, end?: number) => T[]"}},sort:{defaultValue:null,description:"Sorts an array.\n@param compareFn Function used to determine the order of the elements. It is expected to return\ra negative value if first argument is less than second argument, zero if they're equal and a positive\rvalue otherwise. If omitted, the elements are sorted in ascending, ASCII character order.\r```ts\r[11,2,22,1].sort((a, b) => a - b)\r```",name:"sort",required:!0,type:{name:"(compareFn?: (a: T, b: T) => number) => T[]"}},splice:{defaultValue:null,description:"Removes elements from an array and, if necessary, inserts new elements in their place, returning the deleted elements.\nRemoves elements from an array and, if necessary, inserts new elements in their place, returning the deleted elements.\n@param start The zero-based location in the array from which to start removing elements.\n@param deleteCount The number of elements to remove.\n@param start The zero-based location in the array from which to start removing elements.\n@param deleteCount The number of elements to remove.\n@param items Elements to insert into the array in place of the deleted elements.",name:"splice",required:!0,type:{name:"{ (start: number, deleteCount?: number): T[]; (start: number, deleteCount: number, ...items: T[]): T[]; }"}},unshift:{defaultValue:null,description:"Inserts new elements at the start of an array.\n@param items Elements to insert at the start of the Array.",name:"unshift",required:!0,type:{name:"(...items: T[]) => number"}},indexOf:{defaultValue:null,description:"Returns the index of the first occurrence of a value in an array.\n@param searchElement The value to locate in the array.\n@param fromIndex The array index at which to begin the search. If fromIndex is omitted, the search starts at index 0.",name:"indexOf",required:!0,type:{name:"(searchElement: T, fromIndex?: number) => number"}},lastIndexOf:{defaultValue:null,description:"Returns the index of the last occurrence of a specified value in an array.\n@param searchElement The value to locate in the array.\n@param fromIndex The array index at which to begin the search. If fromIndex is omitted, the search starts at the last index in the array.",name:"lastIndexOf",required:!0,type:{name:"(searchElement: T, fromIndex?: number) => number"}},every:{defaultValue:null,description:"Determines whether all the members of an array satisfy the specified test.\n@param callbackfn A function that accepts up to three arguments. The every method calls\rthe callbackfn function for each element in the array until the callbackfn returns a value\rwhich is coercible to the Boolean value false, or until the end of the array.\n@param thisArg An object to which the this keyword can refer in the callbackfn function.\rIf thisArg is omitted, undefined is used as the this value.",name:"every",required:!0,type:{name:"(callbackfn: (value: T, index: number, array: T[]) => unknown, thisArg?: any) => boolean"}},some:{defaultValue:null,description:"Determines whether the specified callback function returns true for any element of an array.\n@param callbackfn A function that accepts up to three arguments. The some method calls\rthe callbackfn function for each element in the array until the callbackfn returns a value\rwhich is coercible to the Boolean value true, or until the end of the array.\n@param thisArg An object to which the this keyword can refer in the callbackfn function.\rIf thisArg is omitted, undefined is used as the this value.",name:"some",required:!0,type:{name:"(callbackfn: (value: T, index: number, array: T[]) => unknown, thisArg?: any) => boolean"}},forEach:{defaultValue:null,description:"Performs the specified action for each element in an array.\n@param callbackfn A function that accepts up to three arguments. forEach calls the callbackfn function one time for each element in the array.\n@param thisArg An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value.",name:"forEach",required:!0,type:{name:"(callbackfn: (value: T, index: number, array: T[]) => void, thisArg?: any) => void"}},map:{defaultValue:null,description:"Calls a defined callback function on each element of an array, and returns an array that contains the results.\n@param callbackfn A function that accepts up to three arguments. The map method calls the callbackfn function one time for each element in the array.\n@param thisArg An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value.",name:"map",required:!0,type:{name:"(callbackfn: (value: T, index: number, array: T[]) => U, thisArg?: any) => U[]"}},filter:{defaultValue:null,description:"Returns the elements of an array that meet the condition specified in a callback function.\nReturns the elements of an array that meet the condition specified in a callback function.\n@param callbackfn A function that accepts up to three arguments. The filter method calls the callbackfn function one time for each element in the array.\n@param thisArg An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value.\n@param callbackfn A function that accepts up to three arguments. The filter method calls the callbackfn function one time for each element in the array.\n@param thisArg An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value.",name:"filter",required:!0,type:{name:"{ (callbackfn: (value: T, index: number, array: T[]) => value is S, thisArg?: any): S[]; (callbackfn: (value: T, index: number, array: T[]) => unknown, thisArg?: any): T[]; }"}},reduce:{defaultValue:null,description:"Calls the specified callback function for all the elements in an array. The return value of the callback function is the accumulated result, and is provided as an argument in the next call to the callback function.\nCalls the specified callback function for all the elements in an array. The return value of the callback function is the accumulated result, and is provided as an argument in the next call to the callback function.\n@param callbackfn A function that accepts up to four arguments. The reduce method calls the callbackfn function one time for each element in the array.\n@param initialValue If initialValue is specified, it is used as the initial value to start the accumulation. The first call to the callbackfn function provides this value as an argument instead of an array value.\n@param callbackfn A function that accepts up to four arguments. The reduce method calls the callbackfn function one time for each element in the array.\n@param initialValue If initialValue is specified, it is used as the initial value to start the accumulation. The first call to the callbackfn function provides this value as an argument instead of an array value.",name:"reduce",required:!0,type:{name:"{ (callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T): T; (callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue: T): T; (callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U; }"}},reduceRight:{defaultValue:null,description:"Calls the specified callback function for all the elements in an array, in descending order. The return value of the callback function is the accumulated result, and is provided as an argument in the next call to the callback function.\nCalls the specified callback function for all the elements in an array, in descending order. The return value of the callback function is the accumulated result, and is provided as an argument in the next call to the callback function.\n@param callbackfn A function that accepts up to four arguments. The reduceRight method calls the callbackfn function one time for each element in the array.\n@param initialValue If initialValue is specified, it is used as the initial value to start the accumulation. The first call to the callbackfn function provides this value as an argument instead of an array value.\n@param callbackfn A function that accepts up to four arguments. The reduceRight method calls the callbackfn function one time for each element in the array.\n@param initialValue If initialValue is specified, it is used as the initial value to start the accumulation. The first call to the callbackfn function provides this value as an argument instead of an array value.",name:"reduceRight",required:!0,type:{name:"{ (callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T): T; (callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue: T): T; (callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U; }"}},find:{defaultValue:null,description:"Returns the value of the first element in the array where predicate is true, and undefined\notherwise.\n@param predicate find calls predicate once for each element of the array, in ascending\rorder, until it finds one where predicate returns true. If such an element is found, find\rimmediately returns that element value. Otherwise, find returns undefined.\n@param thisArg If provided, it will be used as the this value for each invocation of\rpredicate. If it is not provided, undefined is used instead.",name:"find",required:!0,type:{name:"{ (predicate: (this: void, value: T, index: number, obj: T[]) => value is S, thisArg?: any): S; (predicate: (value: T, index: number, obj: T[]) => unknown, thisArg?: any): T; }"}},findIndex:{defaultValue:null,description:"Returns the index of the first element in the array where predicate is true, and -1\notherwise.\n@param predicate find calls predicate once for each element of the array, in ascending\rorder, until it finds one where predicate returns true. If such an element is found,\rfindIndex immediately returns that element index. Otherwise, findIndex returns -1.\n@param thisArg If provided, it will be used as the this value for each invocation of\rpredicate. If it is not provided, undefined is used instead.",name:"findIndex",required:!0,type:{name:"(predicate: (value: T, index: number, obj: T[]) => unknown, thisArg?: any) => number"}},fill:{defaultValue:null,description:"Returns the this object after filling the section identified by start and end with value\n@param value value to fill array section with\n@param start index to start filling the array at. If start is negative, it is treated as\rlength+start where length is the length of the array.\n@param end index to stop filling the array at. If end is negative, it is treated as\rlength+end.",name:"fill",required:!0,type:{name:"(value: T, start?: number, end?: number) => T[]"}},copyWithin:{defaultValue:null,description:"Returns the this object after copying a section of the array identified by start and end\nto the same array starting at position target\n@param target If target is negative, it is treated as length+target where length is the\rlength of the array.\n@param start If start is negative, it is treated as length+start. If end is negative, it\ris treated as length+end.\n@param end If not specified, length of the this object is used as its default value.",name:"copyWithin",required:!0,type:{name:"(target: number, start: number, end?: number) => T[]"}},"__@iterator":{defaultValue:null,description:"Iterator",name:"__@iterator",required:!0,type:{name:"() => IterableIterator"}},entries:{defaultValue:null,description:"Returns an iterable of key, value pairs for every entry in the array",name:"entries",required:!0,type:{name:"() => IterableIterator<[number, T]>"}},keys:{defaultValue:null,description:"Returns an iterable of keys in the array",name:"keys",required:!0,type:{name:"() => IterableIterator"}},values:{defaultValue:null,description:"Returns an iterable of values in the array",name:"values",required:!0,type:{name:"() => IterableIterator"}},"__@unscopables":{defaultValue:null,description:"Returns an object whose properties have the value 'true'\nwhen they will be absent when used in a 'with' statement.",name:"__@unscopables",required:!0,type:{name:"() => { copyWithin: boolean; entries: boolean; fill: boolean; find: boolean; findIndex: boolean; keys: boolean; values: boolean; }"}},includes:{defaultValue:null,description:"Determines whether an array includes a certain element, returning true or false as appropriate.\n@param searchElement The element to search for.\n@param fromIndex The position in this array at which to begin searching for searchElement.",name:"includes",required:!0,type:{name:"(searchElement: T, fromIndex?: number) => boolean"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/test/utils.tsx#pageWithContentAndExactSize"]={docgenInfo:pageWithContentAndExactSize.__docgenInfo,name:"pageWithContentAndExactSize",path:"src/test/utils.tsx#pageWithContentAndExactSize"})}catch(__react_docgen_typescript_loader_error){}},35:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return EpicRow}));var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);function EpicRow({children:children}){return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment,null,children)}try{EpicRow.displayName="EpicRow",EpicRow.__docgenInfo={description:"The EpicRow is the EpicTable's version of a . It has no inherent\nbehavior / UI of its own but is used to by the EpicTable to divide\nthe table into rows.\n\nWhen the row is a header the EpicTable will collect al subsequent\nEpicRow's which are not headers underneath the header, until it\nfinds another EpicRow which is a header. This creates so called\nsections.",displayName:"EpicRow",props:{children:{defaultValue:null,description:"The cells of the EpicRow",name:"children",required:!0,type:{name:"any"}},header:{defaultValue:null,description:"Whether or not this EpicRow is a header.",name:"header",required:!1,type:{name:"boolean"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/table/EpicTable/rows/EpicRow/EpicRow.tsx#EpicRow"]={docgenInfo:EpicRow.__docgenInfo,name:"EpicRow",path:"src/table/EpicTable/rows/EpicRow/EpicRow.tsx#EpicRow"})}catch(__react_docgen_typescript_loader_error){}},352:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return useShowSpinner}));var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0);function useShowSpinner(show){const[showSpinner,setShowSpinner]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(show);return Object(react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{let timer=void 0;return show?timer=window.setTimeout(()=>{setShowSpinner(!0)},200):setShowSpinner(!1),()=>{window.clearTimeout(timer)}},[show]),showSpinner}try{useShowSpinner.displayName="useShowSpinner",useShowSpinner.__docgenInfo={description:"Only show the Spinner when 200 milliseconds have past.\nThis prevents very short loading periods from showing the animation,\nseeing the Spinner very briefly looks very glitchy.\n@param show",displayName:"useShowSpinner",props:{valueOf:{defaultValue:null,description:"Returns the primitive value of the specified object.",name:"valueOf",required:!1,type:{name:"() => boolean"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/core/Button/useShowSpinner.tsx#useShowSpinner"]={docgenInfo:useShowSpinner.__docgenInfo,name:"useShowSpinner",path:"src/core/Button/useShowSpinner.tsx#useShowSpinner"})}catch(__react_docgen_typescript_loader_error){}},353:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return AvatarStack}));var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),classnames__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(8),classnames__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_1__);function AvatarStack({children:children,className:className}){return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:classnames__WEBPACK_IMPORTED_MODULE_1___default()("avatar-stack",className)},children)}try{AvatarStack.displayName="AvatarStack",AvatarStack.__docgenInfo={description:"AvatarStack is a component which shows a row of overlapped avatars.\nUse it for instance when you want to show multiple thumbnails of users in an organized way.",displayName:"AvatarStack",props:{children:{defaultValue:null,description:"Element underneath the image.",name:"children",required:!0,type:{name:"any"}},className:{defaultValue:null,description:"Optional extra CSS class you want to add to the component.\nUseful for styling the component.",name:"className",required:!1,type:{name:"string"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/core/Avatar/AvatarStack.tsx#AvatarStack"]={docgenInfo:AvatarStack.__docgenInfo,name:"AvatarStack",path:"src/core/Avatar/AvatarStack.tsx#AvatarStack"})}catch(__react_docgen_typescript_loader_error){}},354:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return useShowAfter}));var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0);function useShowAfter(after){const[show,setShow]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(!1);return Object(react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{const timeoutId=window.setTimeout(()=>{setShow(!0)},after);return()=>{window.clearTimeout(timeoutId)}},[after]),show}try{useShowAfter.displayName="useShowAfter",useShowAfter.__docgenInfo={description:"Returns `false` but after a predetermined `after` time returns\n`true`.\n\nUseful for wanting to show content only after a time. For example\nto not show a loading spinner to soon, only\nafter it takes a while.\n@param number after The amount of time in milliseconds after which the return value should become `true`.",displayName:"useShowAfter",props:{toString:{defaultValue:null,description:"Returns a string representation of an object.\n@param radix Specifies a radix for converting numeric values to strings. This value is only used for numbers.",name:"toString",required:!1,type:{name:"(radix?: number) => string"}},toFixed:{defaultValue:null,description:"Returns a string representing a number in fixed-point notation.\n@param fractionDigits Number of digits after the decimal point. Must be in the range 0 - 20, inclusive.",name:"toFixed",required:!0,type:{name:"(fractionDigits?: number) => string"}},toExponential:{defaultValue:null,description:"Returns a string containing a number represented in exponential notation.\n@param fractionDigits Number of digits after the decimal point. Must be in the range 0 - 20, inclusive.",name:"toExponential",required:!0,type:{name:"(fractionDigits?: number) => string"}},toPrecision:{defaultValue:null,description:"Returns a string containing a number represented either in exponential or fixed-point notation with a specified number of digits.\n@param precision Number of significant digits. Must be in the range 1 - 21, inclusive.",name:"toPrecision",required:!0,type:{name:"(precision?: number) => string"}},valueOf:{defaultValue:null,description:"Returns the primitive value of the specified object.",name:"valueOf",required:!1,type:{name:"() => number"}},toLocaleString:{defaultValue:null,description:"Converts a number to a string by using the current or specified locale.\n@param locales A locale string or array of locale strings that contain one or more language or locale tags. If you include more than one locale string, list them in descending order of priority so that the first entry is the preferred locale. If you omit this parameter, the default locale of the JavaScript runtime is used.\n@param options An object that contains one or more properties that specify comparison options.",name:"toLocaleString",required:!1,type:{name:"(locales?: string | string[], options?: NumberFormatOptions) => string"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/core/useShowAfter/useShowAfter.tsx#useShowAfter"]={docgenInfo:useShowAfter.__docgenInfo,name:"useShowAfter",path:"src/core/useShowAfter/useShowAfter.tsx#useShowAfter"})}catch(__react_docgen_typescript_loader_error){}},355:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return EpicExpander}));var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),_core_Button_Button__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(3);function EpicExpander({open:open,onChange:onChange}){const icon=open?"expand_less":"expand_more";return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_Button_Button__WEBPACK_IMPORTED_MODULE_1__.a,{color:"dark",icon:icon,onClick:()=>onChange(!open)})}try{EpicExpander.displayName="EpicExpander",EpicExpander.__docgenInfo={description:"The EpicExpander is a button which can be used to open up an\nEpicExpanderRow.",displayName:"EpicExpander",props:{open:{defaultValue:null,description:"Whether or not the expander is currently open.",name:"open",required:!0,type:{name:"boolean"}},onChange:{defaultValue:null,description:"The callback for when the open state changes.",name:"onChange",required:!0,type:{name:"(open: boolean) => void"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/table/EpicTable/widgets/EpicExpander/EpicExpander.tsx#EpicExpander"]={docgenInfo:EpicExpander.__docgenInfo,name:"EpicExpander",path:"src/table/EpicTable/widgets/EpicExpander/EpicExpander.tsx#EpicExpander"})}catch(__react_docgen_typescript_loader_error){}},356:function(module,__webpack_exports__,__webpack_require__){"use strict";var react=__webpack_require__(0),react_default=__webpack_require__.n(react),FormFeedback=__webpack_require__(2338),lib=__webpack_require__(365),translation_translator=__webpack_require__(232);function errorMessage(error){const translator=Object(translation_translator.a)();if("string"==typeof error||react_default.a.isValidElement(error))return error;if(void 0===error.type)return translator(error);const validationError=error;switch(validationError.type){case"ERROR_REQUIRED":return translator({key:"JarbFinalForm.VALIDATION.REQUIRED",data:validationError,fallback:`${validationError.label} is required`});case"ERROR_MINIMUM_LENGTH":return translator({key:"JarbFinalForm.VALIDATION.MINIMUM_LENGTH",data:validationError,fallback:`${validationError.label} must be bigger than ${validationError.reasons.minimumLength} characters`});case"ERROR_MAXIMUM_LENGTH":return translator({key:"JarbFinalForm.VALIDATION.MAXIMUM_LENGTH",data:validationError,fallback:`${validationError.label} must be smaller than ${validationError.reasons.maximumLength} characters`});case"ERROR_MIN_VALUE":return translator({key:"JarbFinalForm.VALIDATION.MIN_VALUE",data:validationError,fallback:`${validationError.label} must be more than ${validationError.reasons.minValue}`});case"ERROR_MAX_VALUE":return translator({key:"JarbFinalForm.VALIDATION.MAX_VALUE",data:validationError,fallback:`${validationError.label} must be less than ${validationError.reasons.maxValue}`});case"ERROR_NUMBER":return translator({key:"JarbFinalForm.VALIDATION.NUMBER",data:validationError,fallback:`${validationError.label} is not a number`});case"ERROR_NUMBER_FRACTION":return translator({key:"JarbFinalForm.VALIDATION.NUMBER_FRACTION",data:validationError,fallback:`${validationError.label} is not a number. Number may have ${validationError.reasons.fractionLength} digits behind the comma`});default:return translator({key:"FormError.UNKNOWN_ERROR",fallback:"Something is wrong"})}}try{errorMessage.displayName="errorMessage",errorMessage.__docgenInfo={description:"",displayName:"errorMessage",props:{toString:{defaultValue:null,description:"Returns a string representation of a string.\nReturns a string representation of an object.\nReturns a string representation of an object.\nReturns a string representation of an array.\n@param radix Specifies a radix for converting numeric values to strings. This value is only used for numbers.",name:"toString",required:!1,type:{name:"(() => string) | (() => string) | ((radix?: number) => string) | (() => string)"}},valueOf:{defaultValue:null,description:"Returns the primitive value of the specified object.\nReturns the primitive value of the specified object.\nReturns the primitive value of the specified object.\nReturns the primitive value of the specified object.",name:"valueOf",required:!1,type:{name:"(() => boolean) | (() => string) | (() => number) | (() => Object)"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/form/FormError/utils.tsx#errorMessage"]={docgenInfo:errorMessage.__docgenInfo,name:"errorMessage",path:"src/form/FormError/utils.tsx#errorMessage"})}catch(__react_docgen_typescript_loader_error){}var lodash=__webpack_require__(16);function useSettledErrors(meta,value){const{error:error,active:active,touched:touched}=meta,[errorCache]=Object(react.useState)({}),errors=void 0===error?[]:Object(lodash.isArray)(error)?error:[error],[settledErrors,setSettledErrors]=Object(react.useState)(errors),hasErrors=errors.length>0;return Object(react.useEffect)(()=>{let timeout;function showErrors(){errorCache[value]=errors,setSettledErrors(errors)}function hideErrors(){settledErrors.length>0&&void 0===errorCache[value]&&setSettledErrors([])}return active?timeout=hasErrors?window.setTimeout(showErrors,5e3):window.setTimeout(hideErrors,100):hasErrors?touched?timeout=window.setTimeout(showErrors,100):hideErrors():timeout=window.setTimeout(hideErrors,2e3),()=>{window.clearTimeout(timeout)}},[hasErrors,active,touched,errors,settledErrors.length,errorCache,value]),settledErrors}try{useSettledErrors.displayName="useSettledErrors",useSettledErrors.__docgenInfo={description:"Final form considers a form to be `valid` when it is `validating`\nthe input. Basically you are innocent until proven guilty.\n\nThis is annoying when the user has already made an error. Each\ntime that the input in `validating` the input is considered `valid`\nagain. Even though it was in an error state. This causes rapid\nalternations between `valid` and `invalid`.\n\nWhen using async validation the effect becomes very pronounced,\nyou will see the errors being displayed and removed very quickly.\nThis causes the UI to jitter and move all over the place.\n\nThe solution is `useSettledErrors`, it basically debounces the\nerrors, this means that if N changes happen in rapid succession\nonly the last state change is shown.\n\nIt also stores the `value` and the resulting `error` whenever an\nerror does occur. This way when the same value is encountered it\nwill return the previous error. This way when `final-form` is\nrunning async validations we still consider it an error.\n@param meta\n@param value",displayName:"useSettledErrors",props:{}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/form/FormError/useSettledErrors.ts#useSettledErrors"]={docgenInfo:useSettledErrors.__docgenInfo,name:"useSettledErrors",path:"src/form/FormError/useSettledErrors.ts#useSettledErrors"})}catch(__react_docgen_typescript_loader_error){}function FormError(props){const{value:value,meta:meta,validator:validator,onChange:onChange,className:className}=props,backEndErrors=Object(lib.useErrorsForValidator)(validator),frontEndErrors=useSettledErrors(meta,value),hasErrors=backEndErrors.length>0||frontEndErrors.length>0;return function useOnChange(hasErrors,onChange){Object(react.useEffect)(()=>{onChange&&onChange(hasErrors)},[hasErrors,onChange])}(hasErrors,onChange),hasErrors?react_default.a.createElement("div",{className:className},frontEndErrors.map((e,index)=>react_default.a.createElement(FormFeedback.a,{key:`${index}`},errorMessage(e))),backEndErrors.map(e=>react_default.a.createElement(FormFeedback.a,{key:e},errorMessage(e)))):null}__webpack_require__.d(__webpack_exports__,"a",(function(){return FormError}));try{FormError.displayName="FormError",FormError.__docgenInfo={description:"The FormError component renders errors coming from the front-end\nand the back-end. It ties the front-end and back-end errors together\nbased on the the validator.\n\nA validator is a string which looks like this: `User.name` the format\nis `Entity.property`.",displayName:"FormError",props:{value:{defaultValue:null,description:"The value for this form error.",name:"value",required:!0,type:{name:"any"}},meta:{defaultValue:null,description:"The meta object to render the errors for.",name:"meta",required:!0,type:{name:"Meta"}},validator:{defaultValue:null,description:"The validator for which the FormError should render the errors.",name:"validator",required:!0,type:{name:"string"}},onChange:{defaultValue:null,description:"Optionally: callback which is called when there are errors or\nthey are removed.",name:"onChange",required:!1,type:{name:"OnChange"}},className:{defaultValue:null,description:"Optionally: classes to put on the div around the errors.",name:"className",required:!1,type:{name:"string"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/form/FormError/FormError.tsx#FormError"]={docgenInfo:FormError.__docgenInfo,name:"FormError",path:"src/form/FormError/FormError.tsx#FormError"})}catch(__react_docgen_typescript_loader_error){}},364:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return useBodyFixOnModalClose}));var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0);function useBodyFixOnModalClose(isOpen){Object(react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{var _a;isOpen||null===(_a=document.querySelector("body"))||void 0===_a||_a.classList.remove("modal-open")},[isOpen])}try{useBodyFixOnModalClose.displayName="useBodyFixOnModalClose",useBodyFixOnModalClose.__docgenInfo={description:"",displayName:"useBodyFixOnModalClose",props:{valueOf:{defaultValue:null,description:"Returns the primitive value of the specified object.",name:"valueOf",required:!1,type:{name:"() => boolean"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/core/useBodyFixOnModalClose/useBodyFixOnModalClose.ts#useBodyFixOnModalClose"]={docgenInfo:useBodyFixOnModalClose.__docgenInfo,name:"useBodyFixOnModalClose",path:"src/core/useBodyFixOnModalClose/useBodyFixOnModalClose.ts#useBodyFixOnModalClose"})}catch(__react_docgen_typescript_loader_error){}},367:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return useOptions}));var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),_option__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(114),lodash__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(16),__awaiter=function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){result.done?resolve(result.value):function adopt(value){return value instanceof P?value:new P((function(resolve){resolve(value)}))}(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};function useOptions(config){const{optionsOrFetcher:optionsOrFetcher,value:value,optionForValue:optionForValue,isOptionEqual:isOptionEqual,watch:watch}=config,[loading,setLoading]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(()=>!Array.isArray(optionsOrFetcher)),[options,setOptions]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(()=>Array.isArray(optionsOrFetcher)?optionsOrFetcher:[]),[optionsLoaded,setOptionsLoaded]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(!1),[watchedValue,setWatchedValue]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(watch);return Object(react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{Array.isArray(optionsOrFetcher)?setOptions(optionsOrFetcher):function loadOption(fetcher){return __awaiter(this,void 0,void 0,(function*(){if(optionsLoaded)return;setLoading(!0);const page=yield fetcher();setOptions(page.content),setLoading(!1),setOptionsLoaded(!0)}))}(optionsOrFetcher)},[optionsLoaded,optionsOrFetcher]),Object(react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{Array.isArray(optionsOrFetcher)||Object(lodash__WEBPACK_IMPORTED_MODULE_2__.isEqual)(watchedValue,watch)||(!function loadOption(fetcher){return __awaiter(this,void 0,void 0,(function*(){setLoading(!0);const page=yield fetcher();setOptions(page.content),setLoading(!1),setOptionsLoaded(!0)}))}(optionsOrFetcher),setWatchedValue(watch))},[watch,optionsOrFetcher,watchedValue]),Object(react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{value&&(options.some(option=>Object(_option__WEBPACK_IMPORTED_MODULE_1__.a)({option:option,optionForValue:optionForValue,isOptionEqual:isOptionEqual,value:value}))||setOptions([value,...options]))},[value,options,isOptionEqual,optionForValue,setOptions]),{loading:loading,options:options}}try{useOptions.displayName="useOptions",useOptions.__docgenInfo={description:"",displayName:"useOptions",props:{optionsOrFetcher:{defaultValue:null,description:"",name:"optionsOrFetcher",required:!0,type:{name:"OptionsFetcher | T[]"}},value:{defaultValue:null,description:"",name:"value",required:!1,type:{name:"T"}},optionForValue:{defaultValue:null,description:"",name:"optionForValue",required:!0,type:{name:"OptionForValue"}},isOptionEqual:{defaultValue:null,description:"",name:"isOptionEqual",required:!1,type:{name:"OptionEqual"}},watch:{defaultValue:null,description:"",name:"watch",required:!1,type:{name:"any"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/form/useOptions.ts#useOptions"]={docgenInfo:useOptions.__docgenInfo,name:"useOptions",path:"src/form/useOptions.ts#useOptions"})}catch(__react_docgen_typescript_loader_error){}},368:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return ModalPicker}));var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),reactstrap__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(939),reactstrap__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(934),reactstrap__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(935),reactstrap__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(43),reactstrap__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(17),reactstrap__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(510),reactstrap__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__(82),_core_Pagination_Pagination__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__(211),_utilities_translation_translation__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__(21),_core_SearchInput_SearchInput__WEBPACK_IMPORTED_MODULE_10__=__webpack_require__(104),_core_useBodyFixOnModalClose_useBodyFixOnModalClose__WEBPACK_IMPORTED_MODULE_11__=__webpack_require__(364);function ModalPicker(props){const{placeholder:placeholder,isOpen:isOpen,page:page,children:children,query:query,canSearch:canSearch,fetchOptions:fetchOptions,pageChanged:pageChanged,closeModal:closeModal,modalSaved:modalSaved,saveButtonEnabled:saveButtonEnabled,addButton:addButton,text:text={}}=props;Object(_core_useBodyFixOnModalClose_useBodyFixOnModalClose__WEBPACK_IMPORTED_MODULE_11__.a)(isOpen);const shouldRenderPagination=!(page.first&&page.last);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_1__.a,{isOpen:isOpen,toggle:()=>closeModal()},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_2__.a,{toggle:()=>closeModal()},placeholder),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_3__.a,null,canSearch?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_4__.a,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_5__.a,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_SearchInput_SearchInput__WEBPACK_IMPORTED_MODULE_10__.a,{value:query,placeholder:Object(_utilities_translation_translation__WEBPACK_IMPORTED_MODULE_9__.a)({overrideText:text.placeholder,key:"ModalPicker.SEARCH",fallback:"Search..."}),onChange:value=>fetchOptions(value)}))):null,children),shouldRenderPagination?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_6__.a,{className:"d-flex justify-content-center"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_Pagination_Pagination__WEBPACK_IMPORTED_MODULE_8__.a,{page:page,onChange:page=>pageChanged(page)})):null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_6__.a,{className:"d-flex flex-row justify-content-between"},addButton?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_7__.a,{color:"primary",onClick:()=>addButton.onClick()},addButton.label):react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",null),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_7__.a,{className:"ml-1",color:"secondary",onClick:()=>closeModal()},Object(_utilities_translation_translation__WEBPACK_IMPORTED_MODULE_9__.a)({overrideText:text.cancel,key:"ModalPicker.CANCEL",fallback:"Cancel"})),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_7__.a,{className:"ml-1",color:"primary",onClick:()=>modalSaved(),disabled:!saveButtonEnabled},Object(_utilities_translation_translation__WEBPACK_IMPORTED_MODULE_9__.a)({overrideText:text.select,key:"ModalPicker.SELECT",fallback:"Select"})))))}try{ModalPicker.displayName="ModalPicker",ModalPicker.__docgenInfo={description:"The ModalPicker component is an abstraction used by the ModalPickerMultiple\nand ModalPickerSingle to render a modal. It contains the code which\ncould be shared by the two components.",displayName:"ModalPicker",props:{placeholder:{defaultValue:null,description:"The placeholder of the form element.",name:"placeholder",required:!0,type:{name:"string"}},isOpen:{defaultValue:null,description:"Whether or not the modal is open.",name:"isOpen",required:!0,type:{name:"boolean"}},page:{defaultValue:null,description:"The current page of options. Used to determine if the\npagination should be rendered.",name:"page",required:!0,type:{name:"Page"}},children:{defaultValue:null,description:"Here the component using the ModalPicker must render in the options.",name:"children",required:!0,type:{name:"any"}},query:{defaultValue:null,description:"The value to show in the search input.",name:"query",required:!0,type:{name:"string"}},canSearch:{defaultValue:null,description:"Whether or not to show the search input.",name:"canSearch",required:!0,type:{name:"boolean"}},fetchOptions:{defaultValue:null,description:"Callback to fetch the options to display to the user.",name:"fetchOptions",required:!0,type:{name:"(query: string) => void"}},pageChanged:{defaultValue:null,description:"Callback for when the page changes.",name:"pageChanged",required:!0,type:{name:"(page: number) => void"}},closeModal:{defaultValue:null,description:"Callback for when the modal should close.",name:"closeModal",required:!0,type:{name:"() => void"}},modalSaved:{defaultValue:null,description:"Callback for when the modal is saved",name:"modalSaved",required:!0,type:{name:"() => void"}},saveButtonEnabled:{defaultValue:null,description:"Whether or not the save button is enabled",name:"saveButtonEnabled",required:!0,type:{name:"boolean"}},addButton:{defaultValue:null,description:"Optionally an add button to display in the Modal. Can\nbe used to dynamically add an option which was not there\nbefore.",name:"addButton",required:!1,type:{name:"{ label: string; onClick: () => void; }"}},text:{defaultValue:null,description:"Optionally customized text within the component.\nThis text should already be translated.",name:"text",required:!1,type:{name:"Text"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/form/ModalPicker/ModalPicker.tsx#ModalPicker"]={docgenInfo:ModalPicker.__docgenInfo,name:"ModalPicker",path:"src/form/ModalPicker/ModalPicker.tsx#ModalPicker"})}catch(__react_docgen_typescript_loader_error){}},369:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return EmptyModal}));var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),_core_ContentState_ContentState__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(97),_utilities_translation_translation__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(21);function EmptyModal(props){const{userHasSearched:userHasSearched,title:title,subTitle:subTitle}=props;return userHasSearched?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_ContentState_ContentState__WEBPACK_IMPORTED_MODULE_1__.a,{mode:"no-results",title:Object(_utilities_translation_translation__WEBPACK_IMPORTED_MODULE_2__.a)({key:"EmptyModal.NO_RESULTS.TITLE",fallback:"Empty",overrideText:title}),subTitle:Object(_utilities_translation_translation__WEBPACK_IMPORTED_MODULE_2__.a)({key:"EmptyModal.NO_RESULTS.SUBTITLE",fallback:"No results were found please try again with a different query.",overrideText:subTitle})}):react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_ContentState_ContentState__WEBPACK_IMPORTED_MODULE_1__.a,{mode:"empty",title:Object(_utilities_translation_translation__WEBPACK_IMPORTED_MODULE_2__.a)({key:"EmptyModal.EMPTY.TITLE",fallback:"Empty",overrideText:title}),subTitle:Object(_utilities_translation_translation__WEBPACK_IMPORTED_MODULE_2__.a)({key:"EmptyModal.EMPTY.SUBTITLE",fallback:"There is nothing here yet, the collection is empty.",overrideText:subTitle})})}try{EmptyModal.displayName="EmptyModal",EmptyModal.__docgenInfo={description:"The EmptyModal is a component which is rendered when a\nModal is empty. Can either display a message saying that\nit is empty when there is nothing to be selected. Or a\nmessage saying that there is no result for the current\nsearch query when the user has searched.",displayName:"EmptyModal",props:{userHasSearched:{defaultValue:null,description:"Whether or not the user performed a search.",name:"userHasSearched",required:!0,type:{name:"boolean"}},title:{defaultValue:null,description:"",name:"title",required:!1,type:{name:"string"}},subTitle:{defaultValue:null,description:"",name:"subTitle",required:!1,type:{name:"string"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/form/ModalPicker/EmptyModal.tsx#EmptyModal"]={docgenInfo:EmptyModal.__docgenInfo,name:"EmptyModal",path:"src/form/ModalPicker/EmptyModal.tsx#EmptyModal"})}catch(__react_docgen_typescript_loader_error){}},37:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return Tag}));var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),classnames__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(8),classnames__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_1__);function Tag({text:text,color:color,onRemove:onRemove,className:className}){const canClose=void 0!==onRemove,classes=classnames__WEBPACK_IMPORTED_MODULE_1___default()("token",className,{"token-removeable":canClose,[`token-${color}`]:color});return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span",{className:"tag"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span",{className:classes},text,canClose?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span",{onClick:onRemove,className:"close-button",role:"button"},"×"):null))}try{Tag.displayName="Tag",Tag.__docgenInfo={description:"",displayName:"Tag",props:{text:{defaultValue:null,description:"Text to display within the tag.",name:"text",required:!0,type:{name:"string"}},color:{defaultValue:null,description:"The color of the badge. Supports Bootstrap colors (e.g. primary, danger).",name:"color",required:!1,type:{name:"Color"}},onRemove:{defaultValue:null,description:"Determines if a tag should be removable.",name:"onRemove",required:!1,type:{name:"() => void"}},className:{defaultValue:null,description:"Optional extra CSS class you want to add to the component.\nUseful for styling the component.",name:"className",required:!1,type:{name:"string"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/core/Tag/Tag.tsx#Tag"]={docgenInfo:Tag.__docgenInfo,name:"Tag",path:"src/core/Tag/Tag.tsx#Tag"})}catch(__react_docgen_typescript_loader_error){}},370:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return ModalPickerOpener}));var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),reactstrap__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(82),classnames__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(8),classnames__WEBPACK_IMPORTED_MODULE_2___default=__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_2__),_utilities_translation_translation__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(21),_core_TextButton_TextButton__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(122);function ModalPickerOpener(props){const{openModal:openModal,label:label,values:values,displayValues:displayValues,alignButton:alignButton,onClear:onClear,text:text={}}=props,wrapperClassName=classnames__WEBPACK_IMPORTED_MODULE_2___default()("d-flex","align-items-center",{"flex-row-reverse":"left"===alignButton,"justify-content-between":"right"===alignButton&&values,"justify-content-end":"left"===alignButton||"right"===alignButton&&!values}),buttonClassName=classnames__WEBPACK_IMPORTED_MODULE_2___default()("flex-grow-0","flex-shrink-0",{"mr-1":values&&"left"===alignButton,"ml-1":values&&"left"!==alignButton}),displayValue=displayValues(values);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:wrapperClassName},displayValue,values&&onClear?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_TextButton_TextButton__WEBPACK_IMPORTED_MODULE_4__.a,{onClick:onClear,className:"mx-3"},Object(_utilities_translation_translation__WEBPACK_IMPORTED_MODULE_3__.a)({overrideText:text.clear,key:"ModalPickerOpener.CLEAR",fallback:"Clear"})):null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_1__.a,{color:"primary",onClick:openModal,className:buttonClassName},label))}try{ModalPickerOpener.displayName="ModalPickerOpener",ModalPickerOpener.__docgenInfo={description:"",displayName:"ModalPickerOpener",props:{values:{defaultValue:null,description:"",name:"values",required:!1,type:{name:"T | T[]"}},displayValues:{defaultValue:null,description:"",name:"displayValues",required:!0,type:{name:"any"}},openModal:{defaultValue:null,description:"Function to open the modal, called when the button is clicked.",name:"openModal",required:!0,type:{name:"() => void"}},label:{defaultValue:null,description:"The label to display on the button.",name:"label",required:!0,type:{name:"any"}},onClear:{defaultValue:null,description:"Optionally: what needs to happen when the clear button is pressed",name:"onClear",required:!1,type:{name:"() => void"}},alignButton:{defaultValue:null,description:"Optionally the position the button should be aligned to\nwithin it's container.",name:"alignButton",required:!1,type:{name:"ButtonAlignment"}},text:{defaultValue:null,description:"Optionally customized text within the component.\nThis text should already be translated.",name:"text",required:!1,type:{name:"Text"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/form/ModalPicker/ModalPickerOpener/ModalPickerOpener.tsx#ModalPickerOpener"]={docgenInfo:ModalPickerOpener.__docgenInfo,name:"ModalPickerOpener",path:"src/form/ModalPicker/ModalPickerOpener/ModalPickerOpener.tsx#ModalPickerOpener"})}catch(__react_docgen_typescript_loader_error){}},376:function(module,__webpack_exports__,__webpack_require__){"use strict";var react=__webpack_require__(0),react_default=__webpack_require__.n(react),Tooltip=__webpack_require__(30);function useResizeObserver(handleResize){return"undefined"!=typeof ResizeObserver?new ResizeObserver(entries=>entries.forEach(handleResize)):void 0}try{useResizeObserver.displayName="useResizeObserver",useResizeObserver.__docgenInfo={description:"",displayName:"useResizeObserver",props:{}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/form/ModalPicker/ModalPickerValueTruncator/useResizeObserver/useResizeObserver.ts#useResizeObserver"]={docgenInfo:useResizeObserver.__docgenInfo,name:"useResizeObserver",path:"src/form/ModalPicker/ModalPickerValueTruncator/useResizeObserver/useResizeObserver.ts#useResizeObserver"})}catch(__react_docgen_typescript_loader_error){}function useComponentOverflow(ref,values){const[componentOverflow,setComponentOverflow]=Object(react.useState)(useComponentOverflow_isOverflowing(ref.current)),handleResize=Object(react.useCallback)(function handleResizeCallback(ref,setComponentOverflow){return()=>{ref.current&&setComponentOverflow(useComponentOverflow_isOverflowing(ref.current))}}(ref,setComponentOverflow),[ref]),resizeObserver=useResizeObserver(handleResize);return Object(react.useLayoutEffect)(function layoutEffect(ref,handleResize,resizeObserver){return()=>{if(!ref.current)return;handleResize();const el=ref.current;return resizeObserver?(resizeObserver.observe(el),()=>{resizeObserver.unobserve(el)}):(el.addEventListener("resize",handleResize,{passive:!0}),()=>{el.removeEventListener("resize",handleResize)})}}(ref,handleResize,resizeObserver),[ref,handleResize,values,resizeObserver]),componentOverflow}function useComponentOverflow_isOverflowing(el){return!!el&&el.clientWidth void"}},addEventListener:{defaultValue:null,description:"Appends an event listener for events whose type attribute value is type. The callback argument sets the callback that will be invoked when the event is dispatched.\n\nThe options argument sets listener-specific options. For compatibility this can be a boolean, in which case the method behaves exactly as if the value was specified as options's capture.\n\nWhen set to true, options's capture prevents callback from being invoked when the event's eventPhase attribute value is BUBBLING_PHASE. When false (or not present), callback will not be invoked when event's eventPhase attribute value is CAPTURING_PHASE. Either way, callback will be invoked if event's eventPhase attribute value is AT_TARGET.\n\nWhen set to true, options's passive indicates that the callback will not cancel the event by invoking preventDefault(). This is used to enable performance optimizations described in §2.8 Observing event listeners.\n\nWhen set to true, options's once indicates that the callback will only be invoked once after which the event listener will be removed.\n\nThe event listener is appended to target's event listener list and is not appended if it has the same type, callback, and capture.\nAppends an event listener for events whose type attribute value is type. The callback argument sets the callback that will be invoked when the event is dispatched.\n\nThe options argument sets listener-specific options. For compatibility this can be a boolean, in which case the method behaves exactly as if the value was specified as options's capture.\n\nWhen set to true, options's capture prevents callback from being invoked when the event's eventPhase attribute value is BUBBLING_PHASE. When false (or not present), callback will not be invoked when event's eventPhase attribute value is CAPTURING_PHASE. Either way, callback will be invoked if event's eventPhase attribute value is AT_TARGET.\n\nWhen set to true, options's passive indicates that the callback will not cancel the event by invoking preventDefault(). This is used to enable performance optimizations described in §2.8 Observing event listeners.\n\nWhen set to true, options's once indicates that the callback will only be invoked once after which the event listener will be removed.\n\nThe event listener is appended to target's event listener list and is not appended if it has the same type, callback, and capture.\nAppends an event listener for events whose type attribute value is type. The callback argument sets the callback that will be invoked when the event is dispatched.\n\nThe options argument sets listener-specific options. For compatibility this can be a boolean, in which case the method behaves exactly as if the value was specified as options's capture.\n\nWhen set to true, options's capture prevents callback from being invoked when the event's eventPhase attribute value is BUBBLING_PHASE. When false (or not present), callback will not be invoked when event's eventPhase attribute value is CAPTURING_PHASE. Either way, callback will be invoked if event's eventPhase attribute value is AT_TARGET.\n\nWhen set to true, options's passive indicates that the callback will not cancel the event by invoking preventDefault(). This is used to enable performance optimizations described in §2.8 Observing event listeners.\n\nWhen set to true, options's once indicates that the callback will only be invoked once after which the event listener will be removed.\n\nThe event listener is appended to target's event listener list and is not appended if it has the same type, callback, and capture.\nAppends an event listener for events whose type attribute value is type. The callback argument sets the callback that will be invoked when the event is dispatched.\n\nThe options argument sets listener-specific options. For compatibility this can be a boolean, in which case the method behaves exactly as if the value was specified as options's capture.\n\nWhen set to true, options's capture prevents callback from being invoked when the event's eventPhase attribute value is BUBBLING_PHASE. When false (or not present), callback will not be invoked when event's eventPhase attribute value is CAPTURING_PHASE. Either way, callback will be invoked if event's eventPhase attribute value is AT_TARGET.\n\nWhen set to true, options's passive indicates that the callback will not cancel the event by invoking preventDefault(). This is used to enable performance optimizations described in §2.8 Observing event listeners.\n\nWhen set to true, options's once indicates that the callback will only be invoked once after which the event listener will be removed.\n\nThe event listener is appended to target's event listener list and is not appended if it has the same type, callback, and capture.",name:"addEventListener",required:!0,type:{name:'{ (type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?...'}},removeEventListener:{defaultValue:null,description:"Removes the event listener in target's event listener list with the same type, callback, and options.\nRemoves the event listener in target's event listener list with the same type, callback, and options.\nRemoves the event listener in target's event listener list with the same type, callback, and options.\nRemoves the event listener in target's event listener list with the same type, callback, and options.",name:"removeEventListener",required:!0,type:{name:'{ (type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?...'}},assignedSlot:{defaultValue:null,description:"",name:"assignedSlot",required:!0,type:{name:"HTMLSlotElement"}},attributes:{defaultValue:null,description:"",name:"attributes",required:!0,type:{name:"NamedNodeMap"}},classList:{defaultValue:null,description:"Allows for manipulation of element's class content attribute as a set of whitespace-separated tokens through a DOMTokenList object.",name:"classList",required:!0,type:{name:"DOMTokenList"}},className:{defaultValue:null,description:"Returns the value of element's class content attribute. Can be set to change it.",name:"className",required:!0,type:{name:"string"}},clientHeight:{defaultValue:null,description:"",name:"clientHeight",required:!0,type:{name:"number"}},clientLeft:{defaultValue:null,description:"",name:"clientLeft",required:!0,type:{name:"number"}},clientTop:{defaultValue:null,description:"",name:"clientTop",required:!0,type:{name:"number"}},clientWidth:{defaultValue:null,description:"",name:"clientWidth",required:!0,type:{name:"number"}},id:{defaultValue:null,description:"Returns the value of element's id content attribute. Can be set to change it.",name:"id",required:!0,type:{name:"string"}},localName:{defaultValue:null,description:"Returns the local name.",name:"localName",required:!0,type:{name:"string"}},namespaceURI:{defaultValue:null,description:"Returns the namespace.",name:"namespaceURI",required:!0,type:{name:"string"}},onfullscreenchange:{defaultValue:null,description:"",name:"onfullscreenchange",required:!0,type:{name:"(this: Element, ev: Event) => any"}},onfullscreenerror:{defaultValue:null,description:"",name:"onfullscreenerror",required:!0,type:{name:"(this: Element, ev: Event) => any"}},outerHTML:{defaultValue:null,description:"",name:"outerHTML",required:!0,type:{name:"string"}},prefix:{defaultValue:null,description:"Returns the namespace prefix.",name:"prefix",required:!0,type:{name:"string"}},scrollHeight:{defaultValue:null,description:"",name:"scrollHeight",required:!0,type:{name:"number"}},scrollLeft:{defaultValue:null,description:"",name:"scrollLeft",required:!0,type:{name:"number"}},scrollTop:{defaultValue:null,description:"",name:"scrollTop",required:!0,type:{name:"number"}},scrollWidth:{defaultValue:null,description:"",name:"scrollWidth",required:!0,type:{name:"number"}},shadowRoot:{defaultValue:null,description:"Returns element's shadow root, if any, and if shadow root's mode is \"open\", and null otherwise.",name:"shadowRoot",required:!0,type:{name:"ShadowRoot"}},slot:{defaultValue:null,description:"Returns the value of element's slot content attribute. Can be set to change it.",name:"slot",required:!0,type:{name:"string"}},tagName:{defaultValue:null,description:"Returns the HTML-uppercased qualified name.",name:"tagName",required:!0,type:{name:"string"}},attachShadow:{defaultValue:null,description:"Creates a shadow root for element and returns it.",name:"attachShadow",required:!0,type:{name:"(init: ShadowRootInit) => ShadowRoot"}},closest:{defaultValue:null,description:"Returns the first (starting at element) inclusive ancestor that matches selectors, and null otherwise.",name:"closest",required:!0,type:{name:'{ (selector: K): HTMLElementTagNameMap[K]; (sele...'}},getAttribute:{defaultValue:null,description:"Returns element's first attribute whose qualified name is qualifiedName, and null if there is no such attribute otherwise.",name:"getAttribute",required:!0,type:{name:"(qualifiedName: string) => string"}},getAttributeNS:{defaultValue:null,description:"Returns element's attribute whose namespace is namespace and local name is localName, and null if there is no such attribute otherwise.",name:"getAttributeNS",required:!0,type:{name:"(namespace: string, localName: string) => string"}},getAttributeNames:{defaultValue:null,description:"Returns the qualified names of all element's attributes. Can contain duplicates.",name:"getAttributeNames",required:!0,type:{name:"() => string[]"}},getAttributeNode:{defaultValue:null,description:"",name:"getAttributeNode",required:!0,type:{name:"(name: string) => Attr"}},getAttributeNodeNS:{defaultValue:null,description:"",name:"getAttributeNodeNS",required:!0,type:{name:"(namespaceURI: string, localName: string) => Attr"}},getBoundingClientRect:{defaultValue:null,description:"",name:"getBoundingClientRect",required:!0,type:{name:"() => DOMRect"}},getClientRects:{defaultValue:null,description:"",name:"getClientRects",required:!0,type:{name:"() => DOMRectList"}},getElementsByClassName:{defaultValue:null,description:"Returns a HTMLCollection of the elements in the object on which the method was invoked (a document or an element) that have all the classes given by classNames. The classNames argument is interpreted as a space-separated list of classes.",name:"getElementsByClassName",required:!0,type:{name:"(classNames: string) => HTMLCollectionOf"}},getElementsByTagName:{defaultValue:null,description:"",name:"getElementsByTagName",required:!0,type:{name:'{ (qualifiedName: K): HTMLCollectionOf<...>; (qu...'}},getElementsByTagNameNS:{defaultValue:null,description:"",name:"getElementsByTagNameNS",required:!0,type:{name:'{ (namespaceURI: "http://www.w3.org/1999/xhtml", localName: string): HTMLCollectionOf; (namespaceURI: "http://www.w3.org/2000/svg", localName: string): HTMLCollectionOf<...>; (namespaceURI: string, localName: string): HTMLCollectionOf<...>; }'}},hasAttribute:{defaultValue:null,description:"Returns true if element has an attribute whose qualified name is qualifiedName, and false otherwise.",name:"hasAttribute",required:!0,type:{name:"(qualifiedName: string) => boolean"}},hasAttributeNS:{defaultValue:null,description:"Returns true if element has an attribute whose namespace is namespace and local name is localName.",name:"hasAttributeNS",required:!0,type:{name:"(namespace: string, localName: string) => boolean"}},hasAttributes:{defaultValue:null,description:"Returns true if element has attributes, and false otherwise.",name:"hasAttributes",required:!0,type:{name:"() => boolean"}},hasPointerCapture:{defaultValue:null,description:"",name:"hasPointerCapture",required:!0,type:{name:"(pointerId: number) => boolean"}},insertAdjacentElement:{defaultValue:null,description:"",name:"insertAdjacentElement",required:!0,type:{name:"(position: InsertPosition, insertedElement: Element) => Element"}},insertAdjacentHTML:{defaultValue:null,description:"",name:"insertAdjacentHTML",required:!0,type:{name:"(where: InsertPosition, html: string) => void"}},insertAdjacentText:{defaultValue:null,description:"",name:"insertAdjacentText",required:!0,type:{name:"(where: InsertPosition, text: string) => void"}},matches:{defaultValue:null,description:"Returns true if matching selectors against element's root yields element, and false otherwise.",name:"matches",required:!0,type:{name:"(selectors: string) => boolean"}},msGetRegionContent:{defaultValue:null,description:"",name:"msGetRegionContent",required:!0,type:{name:"() => any"}},releasePointerCapture:{defaultValue:null,description:"",name:"releasePointerCapture",required:!0,type:{name:"(pointerId: number) => void"}},removeAttribute:{defaultValue:null,description:"Removes element's first attribute whose qualified name is qualifiedName.",name:"removeAttribute",required:!0,type:{name:"(qualifiedName: string) => void"}},removeAttributeNS:{defaultValue:null,description:"Removes element's attribute whose namespace is namespace and local name is localName.",name:"removeAttributeNS",required:!0,type:{name:"(namespace: string, localName: string) => void"}},removeAttributeNode:{defaultValue:null,description:"",name:"removeAttributeNode",required:!0,type:{name:"(attr: Attr) => Attr"}},requestFullscreen:{defaultValue:null,description:'Displays element fullscreen and resolves promise when done.\n\nWhen supplied, options\'s navigationUI member indicates whether showing navigation UI while in fullscreen is preferred or not. If set to "show", navigation simplicity is preferred over screen space, and if set to "hide", more screen space is preferred. User agents are always free to honor user preference over the application\'s. The default value "auto" indicates no application preference.',name:"requestFullscreen",required:!0,type:{name:"(options?: FullscreenOptions) => Promise"}},requestPointerLock:{defaultValue:null,description:"",name:"requestPointerLock",required:!0,type:{name:"() => void"}},scroll:{defaultValue:null,description:"",name:"scroll",required:!0,type:{name:"{ (options?: ScrollToOptions): void; (x: number, y: number): void; }"}},scrollBy:{defaultValue:null,description:"",name:"scrollBy",required:!0,type:{name:"{ (options?: ScrollToOptions): void; (x: number, y: number): void; }"}},scrollIntoView:{defaultValue:null,description:"",name:"scrollIntoView",required:!0,type:{name:"(arg?: boolean | ScrollIntoViewOptions) => void"}},scrollTo:{defaultValue:null,description:"",name:"scrollTo",required:!0,type:{name:"{ (options?: ScrollToOptions): void; (x: number, y: number): void; }"}},setAttribute:{defaultValue:null,description:"Sets the value of element's first attribute whose qualified name is qualifiedName to value.",name:"setAttribute",required:!0,type:{name:"(qualifiedName: string, value: string) => void"}},setAttributeNS:{defaultValue:null,description:"Sets the value of element's attribute whose namespace is namespace and local name is localName to value.",name:"setAttributeNS",required:!0,type:{name:"(namespace: string, qualifiedName: string, value: string) => void"}},setAttributeNode:{defaultValue:null,description:"",name:"setAttributeNode",required:!0,type:{name:"(attr: Attr) => Attr"}},setAttributeNodeNS:{defaultValue:null,description:"",name:"setAttributeNodeNS",required:!0,type:{name:"(attr: Attr) => Attr"}},setPointerCapture:{defaultValue:null,description:"",name:"setPointerCapture",required:!0,type:{name:"(pointerId: number) => void"}},toggleAttribute:{defaultValue:null,description:'If force is not given, "toggles" qualifiedName, removing it if it is present and adding it if it is not present. If force is true, adds qualifiedName. If force is false, removes qualifiedName.\n\nReturns true if qualifiedName is now present, and false otherwise.',name:"toggleAttribute",required:!0,type:{name:"(qualifiedName: string, force?: boolean) => boolean"}},webkitMatchesSelector:{defaultValue:null,description:"",name:"webkitMatchesSelector",required:!0,type:{name:"(selectors: string) => boolean"}},baseURI:{defaultValue:null,description:"Returns node's node document's document base URL.",name:"baseURI",required:!0,type:{name:"string"}},childNodes:{defaultValue:null,description:"Returns the children.",name:"childNodes",required:!0,type:{name:"NodeListOf"}},firstChild:{defaultValue:null,description:"Returns the first child.",name:"firstChild",required:!0,type:{name:"ChildNode"}},isConnected:{defaultValue:null,description:"Returns true if node is connected and false otherwise.",name:"isConnected",required:!0,type:{name:"boolean"}},lastChild:{defaultValue:null,description:"Returns the last child.",name:"lastChild",required:!0,type:{name:"ChildNode"}},nextSibling:{defaultValue:null,description:"Returns the next sibling.",name:"nextSibling",required:!0,type:{name:"ChildNode"}},nodeName:{defaultValue:null,description:"Returns a string appropriate for the type of node.",name:"nodeName",required:!0,type:{name:"string"}},nodeType:{defaultValue:null,description:"Returns the type of node.",name:"nodeType",required:!0,type:{name:"number"}},nodeValue:{defaultValue:null,description:"",name:"nodeValue",required:!0,type:{name:"string"}},ownerDocument:{defaultValue:null,description:"Returns the node document. Returns null for documents.",name:"ownerDocument",required:!0,type:{name:"Document"}},parentElement:{defaultValue:null,description:"Returns the parent element.",name:"parentElement",required:!0,type:{name:"HTMLElement"}},parentNode:{defaultValue:null,description:"Returns the parent.",name:"parentNode",required:!0,type:{name:"Node & ParentNode"}},previousSibling:{defaultValue:null,description:"Returns the previous sibling.",name:"previousSibling",required:!0,type:{name:"Node"}},textContent:{defaultValue:null,description:"",name:"textContent",required:!0,type:{name:"string"}},appendChild:{defaultValue:null,description:"",name:"appendChild",required:!0,type:{name:"(newChild: T) => T"}},cloneNode:{defaultValue:null,description:"Returns a copy of node. If deep is true, the copy also includes the node's descendants.",name:"cloneNode",required:!0,type:{name:"(deep?: boolean) => Node"}},compareDocumentPosition:{defaultValue:null,description:"Returns a bitmask indicating the position of other relative to node.",name:"compareDocumentPosition",required:!0,type:{name:"(other: Node) => number"}},contains:{defaultValue:null,description:"Returns true if other is an inclusive descendant of node, and false otherwise.",name:"contains",required:!0,type:{name:"(other: Node) => boolean"}},getRootNode:{defaultValue:null,description:"Returns node's root.",name:"getRootNode",required:!0,type:{name:"(options?: GetRootNodeOptions) => Node"}},hasChildNodes:{defaultValue:null,description:"Returns whether node has children.",name:"hasChildNodes",required:!0,type:{name:"() => boolean"}},insertBefore:{defaultValue:null,description:"",name:"insertBefore",required:!0,type:{name:"(newChild: T, refChild: Node) => T"}},isDefaultNamespace:{defaultValue:null,description:"",name:"isDefaultNamespace",required:!0,type:{name:"(namespace: string) => boolean"}},isEqualNode:{defaultValue:null,description:"Returns whether node and otherNode have the same properties.",name:"isEqualNode",required:!0,type:{name:"(otherNode: Node) => boolean"}},isSameNode:{defaultValue:null,description:"",name:"isSameNode",required:!0,type:{name:"(otherNode: Node) => boolean"}},lookupNamespaceURI:{defaultValue:null,description:"",name:"lookupNamespaceURI",required:!0,type:{name:"(prefix: string) => string"}},lookupPrefix:{defaultValue:null,description:"",name:"lookupPrefix",required:!0,type:{name:"(namespace: string) => string"}},normalize:{defaultValue:null,description:"Removes empty exclusive Text nodes and concatenates the data of remaining contiguous exclusive Text nodes into the first of their nodes.",name:"normalize",required:!0,type:{name:"() => void"}},removeChild:{defaultValue:null,description:"",name:"removeChild",required:!0,type:{name:"(oldChild: T) => T"}},replaceChild:{defaultValue:null,description:"",name:"replaceChild",required:!0,type:{name:"(newChild: Node, oldChild: T) => T"}},ATTRIBUTE_NODE:{defaultValue:null,description:"",name:"ATTRIBUTE_NODE",required:!0,type:{name:"number"}},CDATA_SECTION_NODE:{defaultValue:null,description:"node is a CDATASection node.",name:"CDATA_SECTION_NODE",required:!0,type:{name:"number"}},COMMENT_NODE:{defaultValue:null,description:"node is a Comment node.",name:"COMMENT_NODE",required:!0,type:{name:"number"}},DOCUMENT_FRAGMENT_NODE:{defaultValue:null,description:"node is a DocumentFragment node.",name:"DOCUMENT_FRAGMENT_NODE",required:!0,type:{name:"number"}},DOCUMENT_NODE:{defaultValue:null,description:"node is a document.",name:"DOCUMENT_NODE",required:!0,type:{name:"number"}},DOCUMENT_POSITION_CONTAINED_BY:{defaultValue:null,description:"Set when other is a descendant of node.",name:"DOCUMENT_POSITION_CONTAINED_BY",required:!0,type:{name:"number"}},DOCUMENT_POSITION_CONTAINS:{defaultValue:null,description:"Set when other is an ancestor of node.",name:"DOCUMENT_POSITION_CONTAINS",required:!0,type:{name:"number"}},DOCUMENT_POSITION_DISCONNECTED:{defaultValue:null,description:"Set when node and other are not in the same tree.",name:"DOCUMENT_POSITION_DISCONNECTED",required:!0,type:{name:"number"}},DOCUMENT_POSITION_FOLLOWING:{defaultValue:null,description:"Set when other is following node.",name:"DOCUMENT_POSITION_FOLLOWING",required:!0,type:{name:"number"}},DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC:{defaultValue:null,description:"",name:"DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC",required:!0,type:{name:"number"}},DOCUMENT_POSITION_PRECEDING:{defaultValue:null,description:"Set when other is preceding node.",name:"DOCUMENT_POSITION_PRECEDING",required:!0,type:{name:"number"}},DOCUMENT_TYPE_NODE:{defaultValue:null,description:"node is a doctype.",name:"DOCUMENT_TYPE_NODE",required:!0,type:{name:"number"}},ELEMENT_NODE:{defaultValue:null,description:"node is an element.",name:"ELEMENT_NODE",required:!0,type:{name:"number"}},ENTITY_NODE:{defaultValue:null,description:"",name:"ENTITY_NODE",required:!0,type:{name:"number"}},ENTITY_REFERENCE_NODE:{defaultValue:null,description:"",name:"ENTITY_REFERENCE_NODE",required:!0,type:{name:"number"}},NOTATION_NODE:{defaultValue:null,description:"",name:"NOTATION_NODE",required:!0,type:{name:"number"}},PROCESSING_INSTRUCTION_NODE:{defaultValue:null,description:"node is a ProcessingInstruction node.",name:"PROCESSING_INSTRUCTION_NODE",required:!0,type:{name:"number"}},TEXT_NODE:{defaultValue:null,description:"node is a Text node.",name:"TEXT_NODE",required:!0,type:{name:"number"}},dispatchEvent:{defaultValue:null,description:"Dispatches a synthetic event event to target and returns true if either event's cancelable attribute value is false or its preventDefault() method was not invoked, and false otherwise.",name:"dispatchEvent",required:!0,type:{name:"(event: Event) => boolean"}},animate:{defaultValue:null,description:"",name:"animate",required:!0,type:{name:"(keyframes: Keyframe[] | PropertyIndexedKeyframes, options?: number | KeyframeAnimationOptions) => Animation"}},getAnimations:{defaultValue:null,description:"",name:"getAnimations",required:!0,type:{name:"() => Animation[]"}},after:{defaultValue:null,description:'Inserts nodes just after node, while replacing strings in nodes with equivalent Text nodes.\n\nThrows a "HierarchyRequestError" DOMException if the constraints of the node tree are violated.',name:"after",required:!0,type:{name:"(...nodes: (string | Node)[]) => void"}},before:{defaultValue:null,description:'Inserts nodes just before node, while replacing strings in nodes with equivalent Text nodes.\n\nThrows a "HierarchyRequestError" DOMException if the constraints of the node tree are violated.',name:"before",required:!0,type:{name:"(...nodes: (string | Node)[]) => void"}},remove:{defaultValue:null,description:"Removes node.",name:"remove",required:!0,type:{name:"() => void"}},replaceWith:{defaultValue:null,description:'Replaces node with nodes, while replacing strings in nodes with equivalent Text nodes.\n\nThrows a "HierarchyRequestError" DOMException if the constraints of the node tree are violated.',name:"replaceWith",required:!0,type:{name:"(...nodes: (string | Node)[]) => void"}},innerHTML:{defaultValue:null,description:"",name:"innerHTML",required:!0,type:{name:"string"}},nextElementSibling:{defaultValue:null,description:"Returns the first following sibling that is an element, and null otherwise.",name:"nextElementSibling",required:!0,type:{name:"Element"}},previousElementSibling:{defaultValue:null,description:"Returns the first preceding sibling that is an element, and null otherwise.",name:"previousElementSibling",required:!0,type:{name:"Element"}},childElementCount:{defaultValue:null,description:"",name:"childElementCount",required:!0,type:{name:"number"}},children:{defaultValue:null,description:"Returns the child elements.",name:"children",required:!0,type:{name:"HTMLCollection"}},firstElementChild:{defaultValue:null,description:"Returns the first child that is an element, and null otherwise.",name:"firstElementChild",required:!0,type:{name:"Element"}},lastElementChild:{defaultValue:null,description:"Returns the last child that is an element, and null otherwise.",name:"lastElementChild",required:!0,type:{name:"Element"}},append:{defaultValue:null,description:'Inserts nodes after the last child of node, while replacing strings in nodes with equivalent Text nodes.\n\nThrows a "HierarchyRequestError" DOMException if the constraints of the node tree are violated.',name:"append",required:!0,type:{name:"(...nodes: (string | Node)[]) => void"}},prepend:{defaultValue:null,description:'Inserts nodes before the first child of node, while replacing strings in nodes with equivalent Text nodes.\n\nThrows a "HierarchyRequestError" DOMException if the constraints of the node tree are violated.',name:"prepend",required:!0,type:{name:"(...nodes: (string | Node)[]) => void"}},querySelector:{defaultValue:null,description:"Returns the first element that is a descendant of node that matches selectors.",name:"querySelector",required:!0,type:{name:'{ (selectors: K): HTMLElementTagNameMap[K]; (sel...'}},querySelectorAll:{defaultValue:null,description:"Returns all element descendants of node that match selectors.",name:"querySelectorAll",required:!0,type:{name:'{ (selectors: K): NodeListOf<...>; (selectors: K...'}},oncopy:{defaultValue:null,description:"",name:"oncopy",required:!0,type:{name:"(this: DocumentAndElementEventHandlers, ev: ClipboardEvent) => any"}},oncut:{defaultValue:null,description:"",name:"oncut",required:!0,type:{name:"(this: DocumentAndElementEventHandlers, ev: ClipboardEvent) => any"}},onpaste:{defaultValue:null,description:"",name:"onpaste",required:!0,type:{name:"(this: DocumentAndElementEventHandlers, ev: ClipboardEvent) => any"}},style:{defaultValue:null,description:"",name:"style",required:!0,type:{name:"CSSStyleDeclaration"}},contentEditable:{defaultValue:null,description:"",name:"contentEditable",required:!0,type:{name:"string"}},inputMode:{defaultValue:null,description:"",name:"inputMode",required:!0,type:{name:"string"}},isContentEditable:{defaultValue:null,description:"",name:"isContentEditable",required:!0,type:{name:"boolean"}},onabort:{defaultValue:null,description:"Fires when the user aborts the download.\n@param ev The event.",name:"onabort",required:!0,type:{name:"(this: GlobalEventHandlers, ev: UIEvent) => any"}},onanimationcancel:{defaultValue:null,description:"",name:"onanimationcancel",required:!0,type:{name:"(this: GlobalEventHandlers, ev: AnimationEvent) => any"}},onanimationend:{defaultValue:null,description:"",name:"onanimationend",required:!0,type:{name:"(this: GlobalEventHandlers, ev: AnimationEvent) => any"}},onanimationiteration:{defaultValue:null,description:"",name:"onanimationiteration",required:!0,type:{name:"(this: GlobalEventHandlers, ev: AnimationEvent) => any"}},onanimationstart:{defaultValue:null,description:"",name:"onanimationstart",required:!0,type:{name:"(this: GlobalEventHandlers, ev: AnimationEvent) => any"}},onauxclick:{defaultValue:null,description:"",name:"onauxclick",required:!0,type:{name:"(this: GlobalEventHandlers, ev: MouseEvent) => any"}},onblur:{defaultValue:null,description:"Fires when the object loses the input focus.\n@param ev The focus event.",name:"onblur",required:!0,type:{name:"(this: GlobalEventHandlers, ev: FocusEvent) => any"}},oncancel:{defaultValue:null,description:"",name:"oncancel",required:!0,type:{name:"(this: GlobalEventHandlers, ev: Event) => any"}},oncanplay:{defaultValue:null,description:"Occurs when playback is possible, but would require further buffering.\n@param ev The event.",name:"oncanplay",required:!0,type:{name:"(this: GlobalEventHandlers, ev: Event) => any"}},oncanplaythrough:{defaultValue:null,description:"",name:"oncanplaythrough",required:!0,type:{name:"(this: GlobalEventHandlers, ev: Event) => any"}},onchange:{defaultValue:null,description:"Fires when the contents of the object or selection have changed.\n@param ev The event.",name:"onchange",required:!0,type:{name:"(this: GlobalEventHandlers, ev: Event) => any"}},onclick:{defaultValue:null,description:"Fires when the user clicks the left mouse button on the object\n@param ev The mouse event.",name:"onclick",required:!0,type:{name:"(this: GlobalEventHandlers, ev: MouseEvent) => any"}},onclose:{defaultValue:null,description:"",name:"onclose",required:!0,type:{name:"(this: GlobalEventHandlers, ev: Event) => any"}},oncontextmenu:{defaultValue:null,description:"Fires when the user clicks the right mouse button in the client area, opening the context menu.\n@param ev The mouse event.",name:"oncontextmenu",required:!0,type:{name:"(this: GlobalEventHandlers, ev: MouseEvent) => any"}},oncuechange:{defaultValue:null,description:"",name:"oncuechange",required:!0,type:{name:"(this: GlobalEventHandlers, ev: Event) => any"}},ondblclick:{defaultValue:null,description:"Fires when the user double-clicks the object.\n@param ev The mouse event.",name:"ondblclick",required:!0,type:{name:"(this: GlobalEventHandlers, ev: MouseEvent) => any"}},ondrag:{defaultValue:null,description:"Fires on the source object continuously during a drag operation.\n@param ev The event.",name:"ondrag",required:!0,type:{name:"(this: GlobalEventHandlers, ev: DragEvent) => any"}},ondragend:{defaultValue:null,description:"Fires on the source object when the user releases the mouse at the close of a drag operation.\n@param ev The event.",name:"ondragend",required:!0,type:{name:"(this: GlobalEventHandlers, ev: DragEvent) => any"}},ondragenter:{defaultValue:null,description:"Fires on the target element when the user drags the object to a valid drop target.\n@param ev The drag event.",name:"ondragenter",required:!0,type:{name:"(this: GlobalEventHandlers, ev: DragEvent) => any"}},ondragexit:{defaultValue:null,description:"",name:"ondragexit",required:!0,type:{name:"(this: GlobalEventHandlers, ev: Event) => any"}},ondragleave:{defaultValue:null,description:"Fires on the target object when the user moves the mouse out of a valid drop target during a drag operation.\n@param ev The drag event.",name:"ondragleave",required:!0,type:{name:"(this: GlobalEventHandlers, ev: DragEvent) => any"}},ondragover:{defaultValue:null,description:"Fires on the target element continuously while the user drags the object over a valid drop target.\n@param ev The event.",name:"ondragover",required:!0,type:{name:"(this: GlobalEventHandlers, ev: DragEvent) => any"}},ondragstart:{defaultValue:null,description:"Fires on the source object when the user starts to drag a text selection or selected object.\n@param ev The event.",name:"ondragstart",required:!0,type:{name:"(this: GlobalEventHandlers, ev: DragEvent) => any"}},ondrop:{defaultValue:null,description:"",name:"ondrop",required:!0,type:{name:"(this: GlobalEventHandlers, ev: DragEvent) => any"}},ondurationchange:{defaultValue:null,description:"Occurs when the duration attribute is updated.\n@param ev The event.",name:"ondurationchange",required:!0,type:{name:"(this: GlobalEventHandlers, ev: Event) => any"}},onemptied:{defaultValue:null,description:"Occurs when the media element is reset to its initial state.\n@param ev The event.",name:"onemptied",required:!0,type:{name:"(this: GlobalEventHandlers, ev: Event) => any"}},onended:{defaultValue:null,description:"Occurs when the end of playback is reached.\n@param ev The event",name:"onended",required:!0,type:{name:"(this: GlobalEventHandlers, ev: Event) => any"}},onerror:{defaultValue:null,description:"Fires when an error occurs during object loading.\n@param ev The event.",name:"onerror",required:!0,type:{name:"OnErrorEventHandlerNonNull"}},onfocus:{defaultValue:null,description:"Fires when the object receives focus.\n@param ev The event.",name:"onfocus",required:!0,type:{name:"(this: GlobalEventHandlers, ev: FocusEvent) => any"}},ongotpointercapture:{defaultValue:null,description:"",name:"ongotpointercapture",required:!0,type:{name:"(this: GlobalEventHandlers, ev: PointerEvent) => any"}},oninput:{defaultValue:null,description:"",name:"oninput",required:!0,type:{name:"(this: GlobalEventHandlers, ev: Event) => any"}},oninvalid:{defaultValue:null,description:"",name:"oninvalid",required:!0,type:{name:"(this: GlobalEventHandlers, ev: Event) => any"}},onkeydown:{defaultValue:null,description:"Fires when the user presses a key.\n@param ev The keyboard event",name:"onkeydown",required:!0,type:{name:"(this: GlobalEventHandlers, ev: KeyboardEvent) => any"}},onkeypress:{defaultValue:null,description:"Fires when the user presses an alphanumeric key.\n@param ev The event.",name:"onkeypress",required:!0,type:{name:"(this: GlobalEventHandlers, ev: KeyboardEvent) => any"}},onkeyup:{defaultValue:null,description:"Fires when the user releases a key.\n@param ev The keyboard event",name:"onkeyup",required:!0,type:{name:"(this: GlobalEventHandlers, ev: KeyboardEvent) => any"}},onload:{defaultValue:null,description:"Fires immediately after the browser loads the object.\n@param ev The event.",name:"onload",required:!0,type:{name:"(this: GlobalEventHandlers, ev: Event) => any"}},onloadeddata:{defaultValue:null,description:"Occurs when media data is loaded at the current playback position.\n@param ev The event.",name:"onloadeddata",required:!0,type:{name:"(this: GlobalEventHandlers, ev: Event) => any"}},onloadedmetadata:{defaultValue:null,description:"Occurs when the duration and dimensions of the media have been determined.\n@param ev The event.",name:"onloadedmetadata",required:!0,type:{name:"(this: GlobalEventHandlers, ev: Event) => any"}},onloadend:{defaultValue:null,description:"",name:"onloadend",required:!0,type:{name:"(this: GlobalEventHandlers, ev: ProgressEvent) => any"}},onloadstart:{defaultValue:null,description:"Occurs when Internet Explorer begins looking for media data.\n@param ev The event.",name:"onloadstart",required:!0,type:{name:"(this: GlobalEventHandlers, ev: Event) => any"}},onlostpointercapture:{defaultValue:null,description:"",name:"onlostpointercapture",required:!0,type:{name:"(this: GlobalEventHandlers, ev: PointerEvent) => any"}},onmousedown:{defaultValue:null,description:"Fires when the user clicks the object with either mouse button.\n@param ev The mouse event.",name:"onmousedown",required:!0,type:{name:"(this: GlobalEventHandlers, ev: MouseEvent) => any"}},onmouseenter:{defaultValue:null,description:"",name:"onmouseenter",required:!0,type:{name:"(this: GlobalEventHandlers, ev: MouseEvent) => any"}},onmouseleave:{defaultValue:null,description:"",name:"onmouseleave",required:!0,type:{name:"(this: GlobalEventHandlers, ev: MouseEvent) => any"}},onmousemove:{defaultValue:null,description:"Fires when the user moves the mouse over the object.\n@param ev The mouse event.",name:"onmousemove",required:!0,type:{name:"(this: GlobalEventHandlers, ev: MouseEvent) => any"}},onmouseout:{defaultValue:null,description:"Fires when the user moves the mouse pointer outside the boundaries of the object.\n@param ev The mouse event.",name:"onmouseout",required:!0,type:{name:"(this: GlobalEventHandlers, ev: MouseEvent) => any"}},onmouseover:{defaultValue:null,description:"Fires when the user moves the mouse pointer into the object.\n@param ev The mouse event.",name:"onmouseover",required:!0,type:{name:"(this: GlobalEventHandlers, ev: MouseEvent) => any"}},onmouseup:{defaultValue:null,description:"Fires when the user releases a mouse button while the mouse is over the object.\n@param ev The mouse event.",name:"onmouseup",required:!0,type:{name:"(this: GlobalEventHandlers, ev: MouseEvent) => any"}},onpause:{defaultValue:null,description:"Occurs when playback is paused.\n@param ev The event.",name:"onpause",required:!0,type:{name:"(this: GlobalEventHandlers, ev: Event) => any"}},onplay:{defaultValue:null,description:"Occurs when the play method is requested.\n@param ev The event.",name:"onplay",required:!0,type:{name:"(this: GlobalEventHandlers, ev: Event) => any"}},onplaying:{defaultValue:null,description:"Occurs when the audio or video has started playing.\n@param ev The event.",name:"onplaying",required:!0,type:{name:"(this: GlobalEventHandlers, ev: Event) => any"}},onpointercancel:{defaultValue:null,description:"",name:"onpointercancel",required:!0,type:{name:"(this: GlobalEventHandlers, ev: PointerEvent) => any"}},onpointerdown:{defaultValue:null,description:"",name:"onpointerdown",required:!0,type:{name:"(this: GlobalEventHandlers, ev: PointerEvent) => any"}},onpointerenter:{defaultValue:null,description:"",name:"onpointerenter",required:!0,type:{name:"(this: GlobalEventHandlers, ev: PointerEvent) => any"}},onpointerleave:{defaultValue:null,description:"",name:"onpointerleave",required:!0,type:{name:"(this: GlobalEventHandlers, ev: PointerEvent) => any"}},onpointermove:{defaultValue:null,description:"",name:"onpointermove",required:!0,type:{name:"(this: GlobalEventHandlers, ev: PointerEvent) => any"}},onpointerout:{defaultValue:null,description:"",name:"onpointerout",required:!0,type:{name:"(this: GlobalEventHandlers, ev: PointerEvent) => any"}},onpointerover:{defaultValue:null,description:"",name:"onpointerover",required:!0,type:{name:"(this: GlobalEventHandlers, ev: PointerEvent) => any"}},onpointerup:{defaultValue:null,description:"",name:"onpointerup",required:!0,type:{name:"(this: GlobalEventHandlers, ev: PointerEvent) => any"}},onprogress:{defaultValue:null,description:"Occurs to indicate progress while downloading media data.\n@param ev The event.",name:"onprogress",required:!0,type:{name:"(this: GlobalEventHandlers, ev: ProgressEvent) => any"}},onratechange:{defaultValue:null,description:"Occurs when the playback rate is increased or decreased.\n@param ev The event.",name:"onratechange",required:!0,type:{name:"(this: GlobalEventHandlers, ev: Event) => any"}},onreset:{defaultValue:null,description:"Fires when the user resets a form.\n@param ev The event.",name:"onreset",required:!0,type:{name:"(this: GlobalEventHandlers, ev: Event) => any"}},onresize:{defaultValue:null,description:"",name:"onresize",required:!0,type:{name:"(this: GlobalEventHandlers, ev: UIEvent) => any"}},onscroll:{defaultValue:null,description:"Fires when the user repositions the scroll box in the scroll bar on the object.\n@param ev The event.",name:"onscroll",required:!0,type:{name:"(this: GlobalEventHandlers, ev: Event) => any"}},onsecuritypolicyviolation:{defaultValue:null,description:"",name:"onsecuritypolicyviolation",required:!0,type:{name:"(this: GlobalEventHandlers, ev: SecurityPolicyViolationEvent) => any"}},onseeked:{defaultValue:null,description:"Occurs when the seek operation ends.\n@param ev The event.",name:"onseeked",required:!0,type:{name:"(this: GlobalEventHandlers, ev: Event) => any"}},onseeking:{defaultValue:null,description:"Occurs when the current playback position is moved.\n@param ev The event.",name:"onseeking",required:!0,type:{name:"(this: GlobalEventHandlers, ev: Event) => any"}},onselect:{defaultValue:null,description:"Fires when the current selection changes.\n@param ev The event.",name:"onselect",required:!0,type:{name:"(this: GlobalEventHandlers, ev: Event) => any"}},onselectionchange:{defaultValue:null,description:"",name:"onselectionchange",required:!0,type:{name:"(this: GlobalEventHandlers, ev: Event) => any"}},onselectstart:{defaultValue:null,description:"",name:"onselectstart",required:!0,type:{name:"(this: GlobalEventHandlers, ev: Event) => any"}},onstalled:{defaultValue:null,description:"Occurs when the download has stopped.\n@param ev The event.",name:"onstalled",required:!0,type:{name:"(this: GlobalEventHandlers, ev: Event) => any"}},onsubmit:{defaultValue:null,description:"",name:"onsubmit",required:!0,type:{name:"(this: GlobalEventHandlers, ev: Event) => any"}},onsuspend:{defaultValue:null,description:"Occurs if the load operation has been intentionally halted.\n@param ev The event.",name:"onsuspend",required:!0,type:{name:"(this: GlobalEventHandlers, ev: Event) => any"}},ontimeupdate:{defaultValue:null,description:"Occurs to indicate the current playback position.\n@param ev The event.",name:"ontimeupdate",required:!0,type:{name:"(this: GlobalEventHandlers, ev: Event) => any"}},ontoggle:{defaultValue:null,description:"",name:"ontoggle",required:!0,type:{name:"(this: GlobalEventHandlers, ev: Event) => any"}},ontouchcancel:{defaultValue:null,description:"",name:"ontouchcancel",required:!0,type:{name:"(this: GlobalEventHandlers, ev: TouchEvent) => any"}},ontouchend:{defaultValue:null,description:"",name:"ontouchend",required:!0,type:{name:"(this: GlobalEventHandlers, ev: TouchEvent) => any"}},ontouchmove:{defaultValue:null,description:"",name:"ontouchmove",required:!0,type:{name:"(this: GlobalEventHandlers, ev: TouchEvent) => any"}},ontouchstart:{defaultValue:null,description:"",name:"ontouchstart",required:!0,type:{name:"(this: GlobalEventHandlers, ev: TouchEvent) => any"}},ontransitioncancel:{defaultValue:null,description:"",name:"ontransitioncancel",required:!0,type:{name:"(this: GlobalEventHandlers, ev: TransitionEvent) => any"}},ontransitionend:{defaultValue:null,description:"",name:"ontransitionend",required:!0,type:{name:"(this: GlobalEventHandlers, ev: TransitionEvent) => any"}},ontransitionrun:{defaultValue:null,description:"",name:"ontransitionrun",required:!0,type:{name:"(this: GlobalEventHandlers, ev: TransitionEvent) => any"}},ontransitionstart:{defaultValue:null,description:"",name:"ontransitionstart",required:!0,type:{name:"(this: GlobalEventHandlers, ev: TransitionEvent) => any"}},onvolumechange:{defaultValue:null,description:"Occurs when the volume is changed, or playback is muted or unmuted.\n@param ev The event.",name:"onvolumechange",required:!0,type:{name:"(this: GlobalEventHandlers, ev: Event) => any"}},onwaiting:{defaultValue:null,description:"Occurs when playback stops because the next frame of a video resource is not available.\n@param ev The event.",name:"onwaiting",required:!0,type:{name:"(this: GlobalEventHandlers, ev: Event) => any"}},onwheel:{defaultValue:null,description:"",name:"onwheel",required:!0,type:{name:"(this: GlobalEventHandlers, ev: WheelEvent) => any"}},dataset:{defaultValue:null,description:"",name:"dataset",required:!0,type:{name:"DOMStringMap"}},nonce:{defaultValue:null,description:"",name:"nonce",required:!1,type:{name:"string"}},tabIndex:{defaultValue:null,description:"",name:"tabIndex",required:!0,type:{name:"number"}},blur:{defaultValue:null,description:"",name:"blur",required:!0,type:{name:"() => void"}},focus:{defaultValue:null,description:"",name:"focus",required:!0,type:{name:"(options?: FocusOptions) => void"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/form/ModalPicker/ModalPickerValueTruncator/useComponentOverflow/useComponentOverflow.ts#isOverflowing"]={docgenInfo:useComponentOverflow_isOverflowing.__docgenInfo,name:"isOverflowing",path:"src/form/ModalPicker/ModalPickerValueTruncator/useComponentOverflow/useComponentOverflow.ts#isOverflowing"})}catch(__react_docgen_typescript_loader_error){}function ModalPickerValueTruncator({values:values,optionForValue:optionForValue}){const ref=Object(react.useRef)(null),isOverflowing=useComponentOverflow(ref,values);if(!values)return null;const text=Array.isArray(values)?react_default.a.createElement(react_default.a.Fragment,null,values.map(optionForValue).join(", ")):optionForValue(values);return react_default.a.createElement("span",{className:"text-truncate position-relative",ref:ref},isOverflowing?react_default.a.createElement(Tooltip.a,{content:text,className:"w-100 h-100 position-absolute",tag:"div"}," "):null,text)}__webpack_require__.d(__webpack_exports__,"a",(function(){return ModalPickerValueTruncator}));try{ModalPickerValueTruncator.displayName="ModalPickerValueTruncator",ModalPickerValueTruncator.__docgenInfo={description:"",displayName:"ModalPickerValueTruncator",props:{values:{defaultValue:null,description:"",name:"values",required:!0,type:{name:"T | T[]"}},optionForValue:{defaultValue:null,description:"",name:"optionForValue",required:!0,type:{name:"OptionForValue"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/form/ModalPicker/ModalPickerValueTruncator/ModalPickerValueTruncator.tsx#ModalPickerValueTruncator"]={docgenInfo:ModalPickerValueTruncator.__docgenInfo,name:"ModalPickerValueTruncator",path:"src/form/ModalPicker/ModalPickerValueTruncator/ModalPickerValueTruncator.tsx#ModalPickerValueTruncator"})}catch(__react_docgen_typescript_loader_error){}},38:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"b",(function(){return Input})),__webpack_require__.d(__webpack_exports__,"a",(function(){return JarbInput}));var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),react_text_mask__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(278),react_text_mask__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(react_text_mask__WEBPACK_IMPORTED_MODULE_1__),reactstrap__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(71),reactstrap__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(511),reactstrap__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(88),reactstrap__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(89),_withJarb_withJarb__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(33),_Addon_Addon__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__(234),__rest=function(s,e){var t={};for(var p in s)Object.prototype.hasOwnProperty.call(s,p)&&e.indexOf(p)<0&&(t[p]=s[p]);if(null!=s&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(p=Object.getOwnPropertySymbols(s);ionChange(event.target.value),onBlur:onBlur},{innerRef:_}=inputProps,withoutRef=__rest(inputProps,["innerRef"]),input=void 0===mask?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_2__.a,Object.assign({key:"input"},inputProps)):react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_text_mask__WEBPACK_IMPORTED_MODULE_1___default.a,Object.assign({key:"mask",mask:mask},withoutRef,{render:reactStrapInput}));let content=input;if(void 0!==addon){const{position:position}=addon,addonComponent=react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Addon_Addon__WEBPACK_IMPORTED_MODULE_7__.a,Object.assign({key:"button",color:color},addon)),inputGroupContent="left"===position?[addonComponent,input]:[input,addonComponent];content=react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_3__.a,null,inputGroupContent)}return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_4__.a,{className:className,color:color},"label"in props&&props.label?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_5__.a,{for:props.id},props.label):null,content,error)}function reactStrapInput(ref,props){return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_2__.a,Object.assign({innerRef:ref},props))}const JarbInput=Object(_withJarb_withJarb__WEBPACK_IMPORTED_MODULE_6__.a)(Input);try{Input.displayName="Input",Input.__docgenInfo={description:"Input is a basic form element which allows the user to enter text.\n\nSupports addons and masks.",displayName:"Input",props:{id:{defaultValue:null,description:"The id of the form element.",name:"id",required:!1,type:{name:"string"}},label:{defaultValue:null,description:"The label of the form element.",name:"label",required:!1,type:{name:"any"}},placeholder:{defaultValue:null,description:"The placeholder of the form element.",name:"placeholder",required:!1,type:{name:"string"}},value:{defaultValue:null,description:"The value that the form element currently has.",name:"value",required:!1,type:{name:"string"}},onChange:{defaultValue:null,description:"Callback for when the form element changes.",name:"onChange",required:!0,type:{name:"(value: string) => void"}},onBlur:{defaultValue:null,description:"Optional callback for when the form element is blurred.",name:"onBlur",required:!1,type:{name:"() => void"}},onFocus:{defaultValue:null,description:"Optional callback for when the form element is focused.",name:"onFocus",required:!1,type:{name:"() => void"}},type:{defaultValue:null,description:"Optional type of the input, default to `text`.",name:"type",required:!1,type:{name:"InputType"}},mask:{defaultValue:null,description:"Optional mask of the input.\n@see https://text-mask.github.io/text-mask/",name:"mask",required:!1,type:{name:"Mask"}},addon:{defaultValue:null,description:"Optional addon to display to the left or right of the input\nelement.",name:"addon",required:!1,type:{name:"any"}},innerRef:{defaultValue:null,description:"A ref to the actual input, can be used to focus the element.",name:"innerRef",required:!1,type:{name:"any"}},error:{defaultValue:null,description:"Optionally the error message to render.",name:"error",required:!1,type:{name:"any"}},color:{defaultValue:null,description:"Optionally the color of the FormGroup.",name:"color",required:!1,type:{name:"Color"}},valid:{defaultValue:null,description:"Whether or not the form element is currently valid.",name:"valid",required:!1,type:{name:"boolean"}},className:{defaultValue:null,description:"Optional extra CSS class you want to add to the component.\nUseful for styling the component.",name:"className",required:!1,type:{name:"string"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/form/Input/Input.tsx#Input"]={docgenInfo:Input.__docgenInfo,name:"Input",path:"src/form/Input/Input.tsx#Input"})}catch(__react_docgen_typescript_loader_error){}try{JarbInput.displayName="JarbInput",JarbInput.__docgenInfo={description:"Variant of the Input which can be used in a Jarb context.",displayName:"JarbInput",props:{}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/form/Input/Input.tsx#JarbInput"]={docgenInfo:JarbInput.__docgenInfo,name:"JarbInput",path:"src/form/Input/Input.tsx#JarbInput"})}catch(__react_docgen_typescript_loader_error){}},380:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return FormButton}));var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),_core_Button_Button__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(3),__rest=function(s,e){var t={};for(var p in s)Object.prototype.hasOwnProperty.call(s,p)&&e.indexOf(p)<0&&(t[p]=s[p]);if(null!=s&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(p=Object.getOwnPropertySymbols(s);i Promise"}},initialValues:{defaultValue:null,description:"The initial values to compare to.",name:"initialValues",required:!1,type:{name:"FormValues"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/form/AutoSave/AutoSave.tsx#AutoSave"]={docgenInfo:AutoSave.__docgenInfo,name:"AutoSave",path:"src/form/AutoSave/AutoSave.tsx#AutoSave"})}catch(__react_docgen_typescript_loader_error){}__webpack_require__.d(__webpack_exports__,"a",(function(){return EpicForm}));var __rest=function(s,e){var t={};for(var p in s)Object.prototype.hasOwnProperty.call(s,p)&&e.indexOf(p)<0&&(t[p]=s[p]);if(null!=s&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(p=Object.getOwnPropertySymbols(s);ireact_default.a.createElement("form",{id:id,onSubmit:handleSubmit,onReset:form.reset,className:classes,style:{minWidth:width,width:width,height:height}},submitOnChange?react_default.a.createElement(AutoSave,{onSave:form.submit,initialValues:formProps.initialValues}):null,children))}try{EpicForm.displayName="EpicForm",EpicForm.__docgenInfo={description:"The EpicForm is used inside of a EpicRow to render content in.",displayName:"EpicForm",props:{id:{defaultValue:null,description:"The id of the form element.",name:"id",required:!0,type:{name:"string"}},children:{defaultValue:null,description:"The content of the cell.",name:"children",required:!0,type:{name:"any"}},width:{defaultValue:null,description:"The width of the cell.",name:"width",required:!0,type:{name:"number"}},height:{defaultValue:null,description:"The height of the cell.",name:"height",required:!0,type:{name:"number"}},submitOnChange:{defaultValue:null,description:"Optionally whether or not the form should be submitted on blur automatically.",name:"submitOnChange",required:!1,type:{name:"boolean"}},subscription:{defaultValue:null,description:"",name:"subscription",required:!1,type:{name:"FormSubscription"}},decorators:{defaultValue:null,description:"",name:"decorators",required:!1,type:{name:"Decorator[]"}},form:{defaultValue:null,description:"",name:"form",required:!1,type:{name:"FormApi"}},initialValuesEqual:{defaultValue:null,description:"",name:"initialValuesEqual",required:!1,type:{name:"(a?: AnyObject, b?: AnyObject) => boolean"}},debug:{defaultValue:null,description:"",name:"debug",required:!1,type:{name:"DebugFunction"}},destroyOnUnregister:{defaultValue:null,description:"",name:"destroyOnUnregister",required:!1,type:{name:"boolean"}},initialValues:{defaultValue:null,description:"",name:"initialValues",required:!1,type:{name:"FormValues"}},keepDirtyOnReinitialize:{defaultValue:null,description:"",name:"keepDirtyOnReinitialize",required:!1,type:{name:"boolean"}},mutators:{defaultValue:null,description:"",name:"mutators",required:!1,type:{name:"{ [key: string]: Mutator; }"}},onSubmit:{defaultValue:null,description:"",name:"onSubmit",required:!0,type:{name:"(values: FormValues, form: FormApi, callback?: (errors?: SubmissionErrors) => void) => void | SubmissionErrors | Promise<...>"}},validate:{defaultValue:null,description:"",name:"validate",required:!1,type:{name:"(values: FormValues) => ValidationErrors | Promise"}},validateOnBlur:{defaultValue:null,description:"",name:"validateOnBlur",required:!1,type:{name:"boolean"}},component:{defaultValue:null,description:"",name:"component",required:!1,type:{name:'"input" | "select" | "textarea" | ComponentClass, any> | FunctionComponent>'}},render:{defaultValue:null,description:"",name:"render",required:!1,type:{name:"(props: FormRenderProps) => ReactNode"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/table/EpicTable/cells/EpicForm/EpicForm.tsx#EpicForm"]={docgenInfo:EpicForm.__docgenInfo,name:"EpicForm",path:"src/table/EpicTable/cells/EpicForm/EpicForm.tsx#EpicForm"})}catch(__react_docgen_typescript_loader_error){}},4:function(module,__webpack_exports__,__webpack_require__){"use strict";var react=__webpack_require__(0),react_default=__webpack_require__.n(react),lodash=__webpack_require__(16);const listenerConfig={capture:!0,passive:!1};function EpicResize({width:width,onResize:onResize}){const minWidth=Object(react.useRef)(width),throttledResize=Object(react.useRef)(Object(lodash.throttle)(onResize,40)),widthOnResizeStart=Object(react.useRef)(0),mouseXOnResizeStart=Object(react.useRef)(0),resize=Object(react.useCallback)(event=>{const distance=event.clientX-mouseXOnResizeStart.current,nextWidth=widthOnResizeStart.current+distance,boundedWidth=Math.max(minWidth.current,nextWidth);throttledResize.current(boundedWidth),event.preventDefault()},[]),resizeEnd=Object(react.useCallback)(()=>{document.body.style.cursor="default",document.body.classList.remove("user-select-none"),window.removeEventListener("mousemove",resize,listenerConfig)},[resize]),resizeStart=Object(react.useCallback)((event,width)=>{widthOnResizeStart.current=width,mouseXOnResizeStart.current=event.clientX,document.body.style.cursor="col-resize",document.body.classList.add("user-select-none"),window.addEventListener("mousemove",resize,listenerConfig),window.addEventListener("mouseup",resizeEnd,listenerConfig)},[resize,resizeEnd]);return function useEpicResizeListenerCleanup(resize,resizeEnd){Object(react.useEffect)(()=>()=>{window.removeEventListener("mousemove",resize,listenerConfig),window.removeEventListener("mouseup",resizeEnd,listenerConfig)},[resize,resizeEnd])}(resize,resizeEnd),react_default.a.createElement("div",{className:"epic-table-header-resizeable",onMouseDown:e=>resizeStart(e,width)})}try{EpicResize.displayName="EpicResize",EpicResize.__docgenInfo={description:"The EpicResize component is a part of the EpicHeader. It contains\nall the logic for resizing the EpicHeader. The EpicResize itself\nis a tiny block rendered next to the EpicHeader, when the user\nhovers over it the mouse icon will become a `col-resize`.",displayName:"EpicResize",props:{width:{defaultValue:null,description:"The width of the EpicHeader which is resized.",name:"width",required:!0,type:{name:"number"}},onResize:{defaultValue:null,description:"Callback which gives the EpicHeader the new width",name:"onResize",required:!0,type:{name:"(width: number) => void"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/table/EpicTable/cells/EpicHeader/EpicResize/EpicResize.tsx#EpicResize"]={docgenInfo:EpicResize.__docgenInfo,name:"EpicResize",path:"src/table/EpicTable/cells/EpicHeader/EpicResize/EpicResize.tsx#EpicResize"})}catch(__react_docgen_typescript_loader_error){}function EpicHeader({children:children,width:width,height:height,onResize:onResize}){return react_default.a.createElement("div",{className:"epic-table-header d-flex align-items-center justify-content-between p-1",style:{minWidth:width,width:width,height:height}},children,onResize?react_default.a.createElement(EpicResize,{width:width,onResize:onResize}):null)}__webpack_require__.d(__webpack_exports__,"a",(function(){return EpicHeader}));try{EpicHeader.displayName="EpicHeader",EpicHeader.__docgenInfo={description:"The EpicHeader is used inside of a EpicRow to render headers with\nIt can be seen as the EpicTable's variant of the `` element.\n\nIt is resizable whenever the `onResize` callback is defined.",displayName:"EpicHeader",props:{children:{defaultValue:null,description:"The content of the cell.",name:"children",required:!0,type:{name:"any"}},width:{defaultValue:null,description:"The width of the cell.",name:"width",required:!0,type:{name:"number"}},height:{defaultValue:null,description:"The height of the cell.",name:"height",required:!0,type:{name:"number"}},onResize:{defaultValue:null,description:"Optionally a callback for when the width has changed. By setting\nthis callback you enable the resizing of the EpicHeader.\n\nYou can never resize the width to less of the original width to\nprevent columns from becoming to small.\n\nWhen this callback is called you should store the `width` and\npass it back into the EpicHeader as the `width` property.",name:"onResize",required:!1,type:{name:"(width: number) => void"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/table/EpicTable/cells/EpicHeader/EpicHeader.tsx#EpicHeader"]={docgenInfo:EpicHeader.__docgenInfo,name:"EpicHeader",path:"src/table/EpicTable/cells/EpicHeader/EpicHeader.tsx#EpicHeader"})}catch(__react_docgen_typescript_loader_error){}},41:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return EpicFormCell}));var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);function EpicFormCell({children:children,width:width,height:height}){return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"epic-table-form-cell border-bottom py-1 pr-1",style:{minWidth:width,width:width,height:height,paddingLeft:"0px"}},children)}try{EpicFormCell.displayName="EpicFormCell",EpicFormCell.__docgenInfo={description:"The EpicCell is used inside of a EpicRow to render content in.\nIt can be seen as the EpicTable's variant of the `` element.",displayName:"EpicFormCell",props:{children:{defaultValue:null,description:"The content of the cell.",name:"children",required:!0,type:{name:"any"}},width:{defaultValue:null,description:"The width of the cell.",name:"width",required:!0,type:{name:"number"}},height:{defaultValue:null,description:"The height of the cell.",name:"height",required:!0,type:{name:"number"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/table/EpicTable/cells/EpicFormCell/EpicFormCell.tsx#EpicFormCell"]={docgenInfo:EpicFormCell.__docgenInfo,name:"EpicFormCell",path:"src/table/EpicTable/cells/EpicFormCell/EpicFormCell.tsx#EpicFormCell"})}catch(__react_docgen_typescript_loader_error){}},5:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"b",(function(){return Form})),__webpack_require__.d(__webpack_exports__,"a",(function(){return FinalForm})),__webpack_require__.d(__webpack_exports__,"c",(function(){return resolveAfter}));var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),react_final_form__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(124),reactstrap__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(23),reactstrap__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(512),reactstrap__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(43),reactstrap__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(17),_core_SubmitButton_SubmitButton__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(143),_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__(2);function Form({children:children}){return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_2__.a,{className:"m-2"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_3__.a,null,children))}function FinalForm({children:children}){return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_final_form__WEBPACK_IMPORTED_MODULE_1__.Form,{onSubmit:()=>Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_7__.action)("form submitted"),render:({handleSubmit:handleSubmit,submitting:submitting,values:values,errors:errors})=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0__.Fragment,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_4__.a,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_5__.a,{lg:6},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(Form,null,children,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_SubmitButton_SubmitButton__WEBPACK_IMPORTED_MODULE_6__.a,{onClick:()=>handleSubmit(),inProgress:submitting},"Submit"))),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_5__.a,{lg:6},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h2",null,"Values"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("pre",null,JSON.stringify(values,null,2)),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h2",null,"Errors"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("pre",null,JSON.stringify(errors,null,2)))))})}function resolveAfter(value,after=1e3){return new Promise(resolve=>setTimeout(()=>{resolve(value)},after))}try{Form.displayName="Form",Form.__docgenInfo={description:"",displayName:"Form",props:{}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/form/story-utils.tsx#Form"]={docgenInfo:Form.__docgenInfo,name:"Form",path:"src/form/story-utils.tsx#Form"})}catch(__react_docgen_typescript_loader_error){}try{FinalForm.displayName="FinalForm",FinalForm.__docgenInfo={description:"",displayName:"FinalForm",props:{}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/form/story-utils.tsx#FinalForm"]={docgenInfo:FinalForm.__docgenInfo,name:"FinalForm",path:"src/form/story-utils.tsx#FinalForm"})}catch(__react_docgen_typescript_loader_error){}},51:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"b",(function(){return RadioGroup})),__webpack_require__.d(__webpack_exports__,"a",(function(){return JarbRadioGroup}));var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),reactstrap__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(88),reactstrap__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(89),reactstrap__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(71),lodash__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(16),_withJarb_withJarb__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(33),_utilities_translation_translation__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(21),_option__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__(114),_utils__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__(55),_core_Loading_Loading__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__(109),_useOptions__WEBPACK_IMPORTED_MODULE_10__=__webpack_require__(367),_core_TextButton_TextButton__WEBPACK_IMPORTED_MODULE_11__=__webpack_require__(122);function RadioGroup(props){const{value:value,error:error,color:color,text:text={},className:className="",placeholder:placeholder,onChange:onChange,onBlur:onBlur,optionForValue:optionForValue,isOptionEqual:isOptionEqual,horizontal:horizontal=!1,canClear:canClear=!1,watch:watch}=props,{options:options,loading:loading}=Object(_useOptions__WEBPACK_IMPORTED_MODULE_10__.a)({optionsOrFetcher:props.options,value:value,isOptionEqual:isOptionEqual,optionForValue:optionForValue,watch:watch}),isOptionEnabled=Object(lodash__WEBPACK_IMPORTED_MODULE_4__.get)(props,"isOptionEnabled",Object(lodash__WEBPACK_IMPORTED_MODULE_4__.constant)(!0));return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_1__.a,{tag:"fieldset",className:"radio-group "+className,color:color},"label"in props&&props.label?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("legend",null,props.label):null,placeholder?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p",{className:"text-muted"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("em",null,placeholder)):null,loading?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_Loading_Loading__WEBPACK_IMPORTED_MODULE_9__.a,null,Object(_utilities_translation_translation__WEBPACK_IMPORTED_MODULE_6__.a)({key:"RadioGroup.LOADING",fallback:"Loading...",overrideText:text.loadingMessage})):react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment,null,canClear&&value?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"mb-1"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_TextButton_TextButton__WEBPACK_IMPORTED_MODULE_11__.a,{onClick:()=>onChange(void 0)},Object(_utilities_translation_translation__WEBPACK_IMPORTED_MODULE_6__.a)({key:"RadioGroup.CLEAR",fallback:"Clear",overrideText:text.clear}))):null,options.map(option=>{const label=optionForValue(option);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_1__.a,{key:label,check:!0,inline:horizontal},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_2__.a,{check:!0},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_3__.a,{type:"radio",value:label,checked:Object(_option__WEBPACK_IMPORTED_MODULE_7__.a)({option:option,optionForValue:optionForValue,isOptionEqual:isOptionEqual,value:value}),disabled:!isOptionEnabled(option),onChange:()=>function onRadioClicked(option){onChange(option),Object(_utils__WEBPACK_IMPORTED_MODULE_8__.a)(onBlur)}(option)})," ",label))})),error)}const JarbRadioGroup=Object(_withJarb_withJarb__WEBPACK_IMPORTED_MODULE_5__.a)(RadioGroup);try{RadioGroup.displayName="RadioGroup",RadioGroup.__docgenInfo={description:"RadioGroup is a form element for which the value can be selected\nfrom a limited range.",displayName:"RadioGroup",props:{label:{defaultValue:null,description:"The label of the form element.",name:"label",required:!1,type:{name:"any"}},id:{defaultValue:null,description:"The id of the form element.",name:"id",required:!1,type:{name:"string"}},value:{defaultValue:null,description:"The value that the form element currently has.",name:"value",required:!1,type:{name:"T"}},onChange:{defaultValue:null,description:"Callback for when the form element changes.",name:"onChange",required:!0,type:{name:"(value?: T) => void"}},onBlur:{defaultValue:null,description:"Optional callback for when the form element is blurred.",name:"onBlur",required:!1,type:{name:"() => void"}},options:{defaultValue:null,description:"Is either an array of options or a callback which fetches\nthe options asynchronously.",name:"options",required:!0,type:{name:"OptionsFetcher | T[]"}},optionForValue:{defaultValue:null,description:"Callback to convert an value of type T to an option to show\nto the user.",name:"optionForValue",required:!0,type:{name:"OptionForValue"}},isOptionEqual:{defaultValue:null,description:"Optional callback which is used to determine if two options\nof type T are equal.\n\nWhen `isOptionEqual` is not defined the outcome of `optionForValue`\nis used to test equality.",name:"isOptionEqual",required:!1,type:{name:"OptionEqual"}},isOptionEnabled:{defaultValue:null,description:"Optional callback which is called for every option to determine\nif the option can be selected. By default all options can be\nselected.",name:"isOptionEnabled",required:!1,type:{name:"OptionEnabledCallback"}},error:{defaultValue:null,description:"Optionally the error message to render.",name:"error",required:!1,type:{name:"any"}},color:{defaultValue:null,description:"Optionally the color of the FormGroup.",name:"color",required:!1,type:{name:"Color"}},valid:{defaultValue:null,description:"Whether or not the form element is currently valid.",name:"valid",required:!1,type:{name:"boolean"}},className:{defaultValue:null,description:"Optional extra CSS class you want to add to the component.\nUseful for styling the component.",name:"className",required:!1,type:{name:"string"}},placeholder:{defaultValue:null,description:"The placeholder of the form element.",name:"placeholder",required:!1,type:{name:"string"}},text:{defaultValue:null,description:"Optionally customized text within the component.\nThis text should already be translated.",name:"text",required:!1,type:{name:"Text"}},horizontal:{defaultValue:null,description:"Whether or not to show the RadioGroup horizontally.\n\nDefaults to `false`",name:"horizontal",required:!1,type:{name:"boolean"}},canClear:{defaultValue:null,description:'Whether or not to show a "clear" button.\n\nDefaults to `false`',name:"canClear",required:!1,type:{name:"boolean"}},watch:{defaultValue:null,description:"Optionally a value to detect changes and trigger\nthe optionsFetcher to reload the options.",name:"watch",required:!1,type:{name:"any"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/form/RadioGroup/RadioGroup.tsx#RadioGroup"]={docgenInfo:RadioGroup.__docgenInfo,name:"RadioGroup",path:"src/form/RadioGroup/RadioGroup.tsx#RadioGroup"})}catch(__react_docgen_typescript_loader_error){}try{JarbRadioGroup.displayName="JarbRadioGroup",JarbRadioGroup.__docgenInfo={description:"Variant of the RadioGroup which can be used in a Jarb context.",displayName:"JarbRadioGroup",props:{}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/form/RadioGroup/RadioGroup.tsx#JarbRadioGroup"]={docgenInfo:JarbRadioGroup.__docgenInfo,name:"JarbRadioGroup",path:"src/form/RadioGroup/RadioGroup.tsx#JarbRadioGroup"})}catch(__react_docgen_typescript_loader_error){}},52:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return Icon}));var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),classnames__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(8),classnames__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_1__);function Icon({className:className,onClick:onClick,icon:icon,id:id,color:color,disabled:disabled,size:size}){const colorCssClass=void 0!==color?`text-${color}`:void 0,classes=classnames__WEBPACK_IMPORTED_MODULE_1___default()("icon",className,"material-icons",colorCssClass,{clickable:!disabled&&onClick,"icon--disabled":disabled}),style=size?{fontSize:size}:void 0;return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("i",{id:id,style:style,onClick:event=>{!disabled&&onClick&&onClick(event)},className:classes},icon)}try{Icon.displayName="Icon",Icon.__docgenInfo={description:"The Icon is a small wrapper around a material design icon.\n\nUseful for making sure your icon is typesafe via TypeScript.",displayName:"Icon",props:{icon:{defaultValue:null,description:"The material icon you want to render.",name:"icon",required:!0,type:{name:'"info" | "warning" | "link" | "3d_rotation" | "accessibility" | "accessibility_new" | "accessible" | "accessible_forward" | "account_balance" | "account_balance_wallet" | ... 999 more ... | "toggle_on"'}},color:{defaultValue:null,description:"Optional color you want the Icon to have.",name:"color",required:!1,type:{name:"Color"}},className:{defaultValue:null,description:"Optional extra CSS class you want to add to the component.\nUseful for styling the component.",name:"className",required:!1,type:{name:"string"}},id:{defaultValue:null,description:"Optional id when using controlled tooltips.",name:"id",required:!1,type:{name:"string"}},onClick:{defaultValue:null,description:"Optional onClick event for when the Icon is clicked.",name:"onClick",required:!1,type:{name:"(event: any) => void"}},disabled:{defaultValue:null,description:"Optionally whether the button is disabled\n\nDefaults to `false`",name:"disabled",required:!1,type:{name:"boolean"}},size:{defaultValue:null,description:"Optionally the size of the icon in pixels.\n\nDefaults to `24px`",name:"size",required:!1,type:{name:"number"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/core/Icon/Icon.tsx#Icon"]={docgenInfo:Icon.__docgenInfo,name:"Icon",path:"src/core/Icon/Icon.tsx#Icon"})}catch(__react_docgen_typescript_loader_error){}},53:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return Popover}));var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),_tippyjs_react__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(374);function Popover({children:children,placement:placement="top",target:target,offset:offset=0,distance:distance=7,tag:tag="span",className:className,isOpen:isOpen,onClickOutside:onClickOutside,style:style}){const Tag=tag;return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_tippyjs_react__WEBPACK_IMPORTED_MODULE_1__.a,{visible:isOpen,onClickOutside:onClickOutside,className:"border-0 tippy-popover",content:react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment,null,children),placement:placement,offset:[offset,distance],interactive:!0,zIndex:1049},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(Tag,{className:className,style:style,tabIndex:0},target))}try{Popover.displayName="Popover",Popover.__docgenInfo={description:"Bootstrap-like Popover component based on the Tippy.js library.",displayName:"Popover",props:{isOpen:{defaultValue:null,description:"Optionally whether or not the popover is currently open,\nwhen undefined, which is the default, the popover will show\nwhen hovered over the target(children). When providing a boolean\nyou can takeover when the popover is shown from outside the\nPopover component.",name:"isOpen",required:!1,type:{name:"boolean"}},onClickOutside:{defaultValue:null,description:"Optionally callback that gets triggered when clicked outside the popover.\nIs useful for when wanting to take complete control over the popover.",name:"onClickOutside",required:!1,type:{name:"() => void"}},children:{defaultValue:null,description:"Content shown inside of the popover.",name:"children",required:!0,type:{name:"any"}},target:{defaultValue:null,description:"Target component that, when hovered, will trigger the popover to show up.\nThe target(children) of the popover are wrapped into a div.\nThis is a bypass to not have to forward the ref to the DOM node.",name:"target",required:!0,type:{name:"any"}},placement:{defaultValue:{value:"top"},description:"Optional alignment relative to the target where the popover will be shown.",name:"placement",required:!1,type:{name:"Placement"}},offset:{defaultValue:{value:0},description:"Optional offset that the popover will show up relative from the target.",name:"offset",required:!1,type:{name:"number"}},distance:{defaultValue:{value:7},description:"Optional distance that the popover will show up relative from the target.",name:"distance",required:!1,type:{name:"number"}},tag:{defaultValue:{value:"span"},description:"Optional that allows you to override the default element that the children get put inside of.\nDefault value is a span.",name:"tag",required:!1,type:{name:'"span" | "div"'}},className:{defaultValue:null,description:"Optional className that is added to the Wrapper component\nAllowing you to add classes like margins and padding that would otherwise get lost\nby the wrapping of the children inside of the CustomTag.",name:"className",required:!1,type:{name:"string"}},style:{defaultValue:null,description:"Optional CSS properties that are added to the Wrapper component\nAllowing you to add CSS properties that would otherwise get lost\nby the wrapping of the children inside of the CustomTag.",name:"style",required:!1,type:{name:"CSSProperties"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/core/Popover/Popover.tsx#Popover"]={docgenInfo:Popover.__docgenInfo,name:"Popover",path:"src/core/Popover/Popover.tsx#Popover"})}catch(__react_docgen_typescript_loader_error){}},55:function(module,__webpack_exports__,__webpack_require__){"use strict";function getState(info){return info.hasErrors&&info.touched?{color:"danger",valid:!1}:{color:"",valid:void 0}}function doBlur(onBlur){onBlur&&onBlur()}__webpack_require__.d(__webpack_exports__,"b",(function(){return getState})),__webpack_require__.d(__webpack_exports__,"a",(function(){return doBlur}));try{getState.displayName="getState",getState.__docgenInfo={description:"",displayName:"getState",props:{hasErrors:{defaultValue:null,description:"",name:"hasErrors",required:!0,type:{name:"boolean"}},touched:{defaultValue:null,description:"",name:"touched",required:!1,type:{name:"boolean"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/form/utils.ts#getState"]={docgenInfo:getState.__docgenInfo,name:"getState",path:"src/form/utils.ts#getState"})}catch(__react_docgen_typescript_loader_error){}try{doBlur.displayName="doBlur",doBlur.__docgenInfo={description:"",displayName:"doBlur",props:{}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/form/utils.ts#doBlur"]={docgenInfo:doBlur.__docgenInfo,name:"doBlur",path:"src/form/utils.ts#doBlur"})}catch(__react_docgen_typescript_loader_error){}},6:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return EpicCell}));var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),classnames__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(8),classnames__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_1__),__rest=function(s,e){var t={};for(var p in s)Object.prototype.hasOwnProperty.call(s,p)&&e.indexOf(p)<0&&(t[p]=s[p]);if(null!=s&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(p=Object.getOwnPropertySymbols(s);i` element.",displayName:"EpicCell",props:{children:{defaultValue:null,description:"The content of the cell.",name:"children",required:!0,type:{name:"any"}},width:{defaultValue:null,description:"The width of the cell.",name:"width",required:!0,type:{name:"number"}},height:{defaultValue:null,description:"The height of the cell.",name:"height",required:!0,type:{name:"number"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/table/EpicTable/cells/EpicCell/EpicCell.tsx#EpicCell"]={docgenInfo:EpicCell.__docgenInfo,name:"EpicCell",path:"src/table/EpicTable/cells/EpicCell/EpicCell.tsx#EpicCell"})}catch(__react_docgen_typescript_loader_error){}},60:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return EpicCellLayout}));var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);function EpicCellLayout({children:children,mode:mode}){return"vertical"===mode?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"d-flex flex-column w-100 h-100 justify-content-around"},children):react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"d-flex w-100 justify-content-between align-items-center"},children)}try{EpicCellLayout.displayName="EpicCellLayout",EpicCellLayout.__docgenInfo={description:"The EpicCellLayout is used inside of a EpicHeader or EpicCell to\ndefine the layout of that cell. \n\nIt currently supports two modes: `vertical` and `horizontal`.\n\nThe `vertical` mode will take the full height and width and\npositions the children vertically whilst padding them in the top\nand bottom.\n\nThe `horizontal` mode will take the full width and positions the\nthe children horizontally and places the maximum space in between\nthe children. This means that when two children are present one\nwill be on the atmost left and the other on the atmost right.\n\nBasically a small wrapper around the `d-flex` utilities of bootstrap.",displayName:"EpicCellLayout",props:{mode:{defaultValue:null,description:"Determines which layout the cell has.",name:"mode",required:!0,type:{name:"EpicCellLayoutMode"}},children:{defaultValue:null,description:"The content of the cell.",name:"children",required:!0,type:{name:"any"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/table/EpicTable/cells/EpicCellLayout/EpicCellLayout.tsx#EpicCellLayout"]={docgenInfo:EpicCellLayout.__docgenInfo,name:"EpicCellLayout",path:"src/table/EpicTable/cells/EpicCellLayout/EpicCellLayout.tsx#EpicCellLayout"})}catch(__react_docgen_typescript_loader_error){}},63:function(module,__webpack_exports__,__webpack_require__){"use strict";var Icon=__webpack_require__(52);const icons=["3d_rotation","accessibility","accessibility_new","accessible","accessible_forward","account_balance","account_balance_wallet","account_box","account_circle","add_shopping_cart","alarm","alarm_add","alarm_off","alarm_on","all_inbox","all_out","android","announcement","arrow_right_alt","aspect_ratio","assessment","assignment","assignment_ind","assignment_late","assignment_return","assignment_returned","assignment_turned_in","autorenew","backup","book","bookmark","bookmark_border","bookmarks","bug_report","build","cached","calendar_today","calendar_view_day","camera_enhance","card_giftcard","card_membership","card_travel","change_history","check_circle","check_circle_outline","chrome_reader_mode","class","code","commute","compare_arrows","contact_support","copyright","credit_card","dashboard","date_range","delete","delete_forever","delete_outline","description","dns","done","done_all","done_outline","donut_large","donut_small","drag_indicator","eject","euro_symbol","event","event_seat","exit_to_app","explore","explore_off","extension","face","favorite","favorite_border","feedback","find_in_page","find_replace","fingerprint","flight_land","flight_takeoff","flip_to_back","flip_to_front","g_translate","gavel","get_app","gif","grade","group_work","help","help_outline","highlight_off","history","home","horizontal_split","hourglass_empty","hourglass_full","http","https","important_devices","info","input","invert_colors","label","label_important","label_off","language","launch","line_style","line_weight","list","lock","lock_open","loyalty","markunread_mailbox","maximize","minimize","motorcycle","note_add","offline_bolt","offline_pin","opacity","open_in_browser","open_in_new","open_with","pageview","pan_tool","payment","perm_camera_mic","perm_contact_calendar","perm_data_setting","perm_device_information","perm_identity","perm_media","perm_phone_msg","perm_scan_wifi","pets","picture_in_picture","picture_in_picture_alt","play_for_work","polymer","power_settings_new","pregnant_woman","print","query_builder","question_answer","receipt","record_voice_over","redeem","remove_shopping_cart","reorder","report_problem","restore","restore_from_trash","restore_page","room","rounded_corner","rowing","schedule","search","settings","settings_applications","settings_backup_restore","settings_bluetooth","settings_brightness","settings_cell","settings_ethernet","settings_input_antenna","settings_input_component","settings_input_composite","settings_input_hdmi","settings_input_svideo","settings_overscan","settings_phone","settings_power","settings_remote","settings_voice","shop","shop_two","shopping_basket","shopping_cart","speaker_notes","speaker_notes_off","spellcheck","stars","store","subject","supervised_user_circle","supervisor_account","swap_horiz","swap_horizontal_circle","swap_vert","swap_vertical_circle","tab","tab_unselected","text_rotate_up","text_rotate_vertical","text_rotation_down","text_rotation_none","theaters","thumb_down","thumb_up","thumbs_up_down","timeline","toc","today","toll","touch_app","track_changes","translate","trending_down","trending_flat","trending_up","turned_in","turned_in_not","update","verified_user","vertical_split","view_agenda","view_array","view_carousel","view_column","view_day","view_headline","view_list","view_module","view_quilt","view_stream","view_week","visibility","visibility_off","voice_over_off","watch_later","work","work_off","work_outline","youtube_searched_for","zoom_in","zoom_out","add_alert","error","error_outline","notification_important","warning","4k","add_to_queue","airplay","album","art_track","av_timer","branding_watermark","call_to_action","closed_caption","control_camera","equalizer","explicit","fast_forward","fast_rewind","featured_play_list","featured_video","fiber_dvr","fiber_manual_record","fiber_new","fiber_pin","fiber_smart_record","forward_10","forward_30","forward_5","games","hd","hearing","high_quality","library_add","library_books","library_music","loop","mic","mic_none","mic_off","missed_video_call","movie","music_video","new_releases","not_interested","note","pause","pause_circle_filled","pause_circle_outline","play_arrow","play_circle_filled","play_circle_outline","playlist_add","playlist_add_check","playlist_play","queue","queue_music","queue_play_next","radio","recent_actors","remove_from_queue","repeat","repeat_one","replay","replay_10","replay_30","replay_5","shuffle","skip_next","skip_previous","slow_motion_video","snooze","sort_by_alpha","stop","subscriptions","subtitles","surround_sound","video_call","video_label","video_library","videocam","videocam_off","volume_down","volume_mute","volume_off","volume_up","web","web_asset","alternate_email","business","call","call_end","call_made","call_merge","call_missed","call_missed_outgoing","call_received","call_split","cancel_presentation","cell_wifi","chat","chat_bubble","chat_bubble_outline","clear_all","comment","contact_mail","contact_phone","contacts","desktop_access_disabled","dialer_sip","dialpad","domain_disabled","duo","email","forum","import_contacts","import_export","invert_colors_off","list_alt","live_help","location_off","location_on","mail_outline","message","mobile_screen_share","no_sim","pause_presentation","person_add_disabled","phone","phonelink_erase","phonelink_lock","phonelink_ring","phonelink_setup","portable_wifi_off","present_to_all","print_disabled","ring_volume","rss_feed","screen_share","sentiment_satisfied_alt","speaker_phone","stay_current_landscape","stay_current_portrait","stay_primary_landscape","stay_primary_portrait","stop_screen_share","swap_calls","textsms","unsubscribe","voicemail","vpn_key","add","add_box","add_circle","add_circle_outline","archive","backspace","ballot","block","clear","create","delete_sweep","drafts","file_copy","filter_list","flag","font_download","forward","gesture","how_to_reg","how_to_vote","inbox","link","link_off","low_priority","mail","markunread","move_to_inbox","next_week","outlined_flag","redo","remove","remove_circle","remove_circle_outline","reply","reply_all","report","report_off","save","save_alt","select_all","send","sort","text_format","unarchive","undo","waves","weekend","where_to_vote","access_alarm","access_alarms","access_time","add_alarm","add_to_home_screen","airplanemode_active","airplanemode_inactive","battery_alert","battery_charging_full","battery_full","battery_std","battery_unknown","bluetooth","bluetooth_connected","bluetooth_disabled","bluetooth_searching","brightness_auto","brightness_high","brightness_low","brightness_medium","data_usage","developer_mode","devices","dvr","gps_fixed","gps_not_fixed","gps_off","graphic_eq","location_disabled","location_searching","mobile_friendly","mobile_off","network_cell","network_wifi","nfc","screen_lock_landscape","screen_lock_portrait","screen_lock_rotation","screen_rotation","sd_storage","settings_system_daydream","signal_cellular_alt","signal_cellular_no_sim","signal_cellular_null","signal_cellular_off","signal_wifi_off","storage","usb","wallpaper","widgets","wifi_lock","wifi_tethering","add_comment","attach_file","attach_money","bar_chart","border_all","border_bottom","border_clear","border_color","border_horizontal","border_inner","border_left","border_outer","border_right","border_style","border_top","border_vertical","bubble_chart","drag_handle","format_align_center","format_align_justify","format_align_left","format_align_right","format_bold","format_clear","format_color_fill","format_color_reset","format_color_text","format_indent_decrease","format_indent_increase","format_italic","format_line_spacing","format_list_bulleted","format_list_numbered","format_list_numbered_rtl","format_paint","format_quote","format_shapes","format_size","format_strikethrough","format_textdirection_l_to_r","format_textdirection_r_to_l","format_underlined","functions","highlight","insert_chart","insert_chart_outlined","insert_comment","insert_drive_file","insert_emoticon","insert_invitation","insert_link","insert_photo","linear_scale","merge_type","mode_comment","monetization_on","money_off","multiline_chart","notes","pie_chart","publish","scatter_plot","score","short_text","show_chart","space_bar","strikethrough_s","table_chart","text_fields","title","vertical_align_bottom","vertical_align_center","vertical_align_top","wrap_text","attachment","cloud","cloud_circle","cloud_done","cloud_download","cloud_off","cloud_queue","cloud_upload","create_new_folder","folder","folder_open","folder_shared","cast","cast_connected","computer","desktop_mac","desktop_windows","developer_board","device_hub","device_unknown","devices_other","dock","gamepad","headset","headset_mic","keyboard","keyboard_arrow_down","keyboard_arrow_left","keyboard_arrow_right","keyboard_arrow_up","keyboard_backspace","keyboard_capslock","keyboard_hide","keyboard_return","keyboard_tab","keyboard_voice","laptop","laptop_chromebook","laptop_mac","laptop_windows","memory","mouse","phone_android","phone_iphone","phonelink","phonelink_off","power_input","router","scanner","security","sim_card","smartphone","speaker","speaker_group","tablet","tablet_android","tablet_mac","toys","tv","videogame_asset","watch","add_a_photo","add_photo_alternate","add_to_photos","adjust","assistant","assistant_photo","audiotrack","blur_circular","blur_linear","blur_off","blur_on","brightness_1","brightness_2","brightness_3","brightness_4","brightness_5","brightness_6","brightness_7","broken_image","brush","burst_mode","camera","camera_alt","camera_front","camera_rear","camera_roll","center_focus_strong","center_focus_weak","collections","collections_bookmark","color_lens","colorize","compare","control_point","control_point_duplicate","crop","crop_16_9","crop_3_2","crop_5_4","crop_7_5","crop_din","crop_free","crop_landscape","crop_original","crop_portrait","crop_rotate","crop_square","dehaze","details","edit","exposure","exposure_neg_1","exposure_neg_2","exposure_plus_1","exposure_plus_2","exposure_zero","filter","filter_1","filter_2","filter_3","filter_4","filter_5","filter_6","filter_7","filter_8","filter_9","filter_9_plus","filter_b_and_w","filter_center_focus","filter_drama","filter_frames","filter_hdr","filter_none","filter_tilt_shift","filter_vintage","flare","flash_auto","flash_off","flash_on","flip","gradient","grain","grid_off","grid_on","hdr_off","hdr_on","hdr_strong","hdr_weak","healing","image","image_aspect_ratio","image_search","iso","landscape","leak_add","leak_remove","lens","linked_camera","looks","looks_3","looks_4","looks_5","looks_6","looks_one","looks_two","loupe","monochrome_photos","movie_creation","movie_filter","music_note","music_off","nature","nature_people","navigate_before","navigate_next","palette","panorama","panorama_fish_eye","panorama_horizontal","panorama_vertical","panorama_wide_angle","photo","photo_album","photo_camera","photo_filter","photo_library","photo_size_select_actual","photo_size_select_large","photo_size_select_small","picture_as_pdf","portrait","remove_red_eye","rotate_90_degrees_ccw","rotate_left","rotate_right","shutter_speed","slideshow","straighten","style","switch_camera","switch_video","tag_faces","texture","timelapse","timer","timer_10","timer_3","timer_off","tonality","transform","tune","view_comfy","view_compact","vignette","wb_auto","wb_cloudy","wb_incandescent","wb_iridescent","wb_sunny","360","add_location","atm","beenhere","category","compass_calibration","departure_board","directions","directions_bike","directions_boat","directions_bus","directions_car","directions_railway","directions_run","directions_subway","directions_transit","directions_walk","edit_attributes","edit_location","ev_station","fastfood","flight","hotel","layers","layers_clear","local_activity","local_airport","local_atm","local_bar","local_cafe","local_car_wash","local_convenience_store","local_dining","local_drink","local_florist","local_gas_station","local_grocery_store","local_hospital","local_hotel","local_laundry_service","local_library","local_mall","local_movies","local_offer","local_parking","local_pharmacy","local_phone","local_pizza","local_play","local_post_office","local_printshop","local_see","local_shipping","local_taxi","map","money","my_location","navigation","near_me","not_listed_location","person_pin","person_pin_circle","pin_drop","place","rate_review","restaurant","restaurant_menu","satellite","store_mall_directory","streetview","subway","terrain","traffic","train","tram","transfer_within_a_station","transit_enterexit","trip_origin","zoom_out_map","apps","arrow_back","arrow_back_ios","arrow_downward","arrow_drop_down","arrow_drop_down_circle","arrow_drop_up","arrow_forward","arrow_forward_ios","arrow_left","arrow_right","arrow_upward","cancel","check","chevron_left","chevron_right","close","expand_less","expand_more","first_page","fullscreen","fullscreen_exit","last_page","menu","more_horiz","more_vert","refresh","subdirectory_arrow_left","subdirectory_arrow_right","unfold_less","unfold_more","adb","airline_seat_flat","airline_seat_flat_angled","airline_seat_individual_suite","airline_seat_legroom_extra","airline_seat_legroom_normal","airline_seat_legroom_reduced","airline_seat_recline_extra","airline_seat_recline_normal","bluetooth_audio","confirmation_number","disc_full","drive_eta","enhanced_encryption","event_available","event_busy","event_note","folder_special","live_tv","mms","more","network_check","network_locked","no_encryption","ondemand_video","personal_video","phone_bluetooth_speaker","phone_callback","phone_forwarded","phone_in_talk","phone_locked","phone_missed","phone_paused","power","power_off","priority_high","sd_card","sms","sms_failed","sync","sync_disabled","sync_problem","system_update","tap_and_play","time_to_leave","tv_off","vibration","voice_chat","vpn_lock","wc","wifi","wifi_off","ac_unit","airport_shuttle","all_inclusive","beach_access","business_center","casino","child_care","child_friendly","fitness_center","free_breakfast","golf_course","hot_tub","kitchen","meeting_room","no_meeting_room","pool","room_service","rv_hookup","smoke_free","smoking_rooms","spa","cake","domain","group","group_add","location_city","mood","mood_bad","notifications","notifications_active","notifications_none","notifications_off","notifications_paused","pages","party_mode","people","people_outline","person","person_add","person_outline","plus_one","poll","public","school","sentiment_dissatisfied","sentiment_satisfied","sentiment_very_dissatisfied","sentiment_very_satisfied","share","thumb_down_alt","thumb_up_alt","whatshot","check_box","check_box_outline_blank","indeterminate_check_box","radio_button_checked","radio_button_unchecked","star","star_border","star_half","toggle_off","toggle_on"];__webpack_require__.d(__webpack_exports__,"a",(function(){return Icon.a})),__webpack_require__.d(__webpack_exports__,"b",(function(){return icons}))},67:function(module,__webpack_exports__,__webpack_require__){"use strict";var react=__webpack_require__(0),react_default=__webpack_require__.n(react),classnames=__webpack_require__(8),classnames_default=__webpack_require__.n(classnames),lodash=__webpack_require__(16),overlayscrollbars_react=__webpack_require__(933);function GooeyCenter({left:left,right:right,center:center,onScroll:onScroll,showScrollbar:showScrollbar=!0,onCenterWidthChanged:onCenterWidthChanged,forceCenterAlwaysVisible:forceCenterAlwaysVisible=!1}){const wrapperEl=Object(react.useRef)(null),centerEl=Object(react.useRef)(null),[centerWidth,setCenterWidth]=Object(react.useState)(0);Object(react.useEffect)((function trackCenterWidthBasedOnResize(){const calculateCenterWidth=Object(lodash.debounce)(()=>{if(wrapperEl.current){const left=wrapperEl.current.children[0],right=wrapperEl.current.children[2],rightWidth=right?right.clientWidth:0,centerWidth=wrapperEl.current.clientWidth-left.clientWidth-rightWidth;setCenterWidth(centerWidth),onCenterWidthChanged&&onCenterWidthChanged(centerWidth)}},200);return window.addEventListener("resize",calculateCenterWidth),calculateCenterWidth(),()=>{window.removeEventListener("resize",calculateCenterWidth)}}),[setCenterWidth,onCenterWidthChanged,left,center,right]);const centerWrapper=react_default.a.createElement("div",{ref:centerEl,className:0!==centerWidth||forceCenterAlwaysVisible?"":"invisible",style:{width:0!==centerWidth?centerWidth:void 0}},center);return react_default.a.createElement("div",{className:"d-flex",ref:wrapperEl},left,center&&showScrollbar?react_default.a.createElement(overlayscrollbars_react.OverlayScrollbarsComponent,{className:"w-100",options:{scrollbars:{visibility:"visible"},callbacks:{onScroll:function handleScroll(event){onScroll&&event&&onScroll(event.target.scrollLeft)}}}},centerWrapper):centerWrapper,right)}try{GooeyCenter.displayName="GooeyCenter",GooeyCenter.__docgenInfo={description:"GooeyCenter is a table which has a fixed left or right or both\nleft and right, and a gooey center which takes up the remaining\nspace. No matter how little content is left for the center\nthe left and right are always visible.\n\nThe center gets a horizontal scrollbar for when the content\nis to large to fit in the center.\n\nGooeyCenter is not meant for consumers of the library and is\na private component.",displayName:"GooeyCenter",props:{left:{defaultValue:null,description:"What comes left of the GooeyCenter.",name:"left",required:!0,type:{name:"any"}},center:{defaultValue:null,description:"The GooeyCenter a scrollbar will appear for the center when\nit is to large to render on the screen.",name:"center",required:!1,type:{name:"any"}},right:{defaultValue:null,description:"What comes right of the GooeyCenter.",name:"right",required:!1,type:{name:"any"}},onScroll:{defaultValue:null,description:"Optional callback which gives the current left scroll position\nwhen the user scrolls. Is used sync the scroll of the FixedHeader.",name:"onScroll",required:!1,type:{name:"(scrollLeft: number) => void"}},showScrollbar:{defaultValue:{value:!0},description:"Whether or not to show a scrollbar. The FixedHeader renders\na GooeyCenter without a scrollbar.",name:"showScrollbar",required:!1,type:{name:"boolean"}},onCenterWidthChanged:{defaultValue:null,description:"Optional callback which gives the current center width as calculated\nby the GooeyCenter. Used by the FixedHeader's GooeyCenter to match\nsync the center width.",name:"onCenterWidthChanged",required:!1,type:{name:"(centerWidth: number) => void"}},forceCenterAlwaysVisible:{defaultValue:{value:!1},description:"Whether or not the center is always visible. Need for the\nFixedHeader to prevent it from flashing.",name:"forceCenterAlwaysVisible",required:!1,type:{name:"boolean"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/table/EpicTable/helpers/GooeyCenter/GooeyCenter.tsx#GooeyCenter"]={docgenInfo:GooeyCenter.__docgenInfo,name:"GooeyCenter",path:"src/table/EpicTable/helpers/GooeyCenter/GooeyCenter.tsx#GooeyCenter"})}catch(__react_docgen_typescript_loader_error){}function useClosestHeaderIndex(fixedHeaderEl,headers){const[index,setIndex]=Object(react.useState)(-1);return Object(react.useEffect)(()=>{function onScroll(){if(fixedHeaderEl.current&&headers.length>0){const fakeRect=fixedHeaderEl.current.getBoundingClientRect(),headersAboveFakeHeader=headers.filter(({ref:ref})=>{const headerRect=ref.getBoundingClientRect();return fakeRect.bottom>headerRect.bottom});if(headersAboveFakeHeader&&headersAboveFakeHeader.length>0){const lastIndex=headersAboveFakeHeader.length-1;setIndex(headersAboveFakeHeader[lastIndex].index)}else setIndex(-1)}}return window.addEventListener("scroll",onScroll,!0),()=>{window.removeEventListener("scroll",onScroll,!0)}},[fixedHeaderEl,headers]),index}try{useClosestHeaderIndex.displayName="useClosestHeaderIndex",useClosestHeaderIndex.__docgenInfo={description:"Calculates which header is rendered closest to the FixedHeader by\nindex\n\nUsed to determine which header the FixedHeader should take as\nits appearance.",displayName:"useClosestHeaderIndex",props:{}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/table/EpicTable/helpers/FixedHeader/useClosestHeaderIndex.ts#useClosestHeaderIndex"]={docgenInfo:useClosestHeaderIndex.__docgenInfo,name:"useClosestHeaderIndex",path:"src/table/EpicTable/helpers/FixedHeader/useClosestHeaderIndex.ts#useClosestHeaderIndex"})}catch(__react_docgen_typescript_loader_error){}function FixedHeader({centerWidth:centerWidth,leftScroll:leftScroll,layout:layout,headers:headers}){const fixedHeaderEl=Object(react.useRef)(null),fixedCenterEl=Object(react.useRef)(null);Object(react.useEffect)(()=>{fixedCenterEl.current&&(fixedCenterEl.current.scrollLeft=leftScroll)},[fixedCenterEl,leftScroll]);const{left:left,center:center,right:right}=layout,index=useClosestHeaderIndex(fixedHeaderEl,headers),showFixedHeader=-1!==index;return react_default.a.createElement("div",{className:"epic-table-fixed-header",ref:fixedHeaderEl},showFixedHeader?react_default.a.createElement(GooeyCenter,{forceCenterAlwaysVisible:!0,left:left&&left[index]?left[index].header:null,center:center&¢er[index]?react_default.a.createElement("div",{ref:fixedCenterEl,className:"d-flex justify-content-between overflow-hidden",style:{width:centerWidth}},center[index].header):null,right:right&&right[index]?right[index].header:null,showScrollbar:!1}):null)}try{FixedHeader.displayName="FixedHeader",FixedHeader.__docgenInfo={description:"The FixedHeader is a header which follows the user as he scrolls.\nThe FixedHeader is not meant for consumers of this library and\nis an internal component.",displayName:"FixedHeader",props:{centerWidth:{defaultValue:null,description:"The width of the actual center so the FixedHeader can match\nthe centers width.",name:"centerWidth",required:!0,type:{name:"number"}},leftScroll:{defaultValue:null,description:"The amount the actual center has scrolled to the left.",name:"leftScroll",required:!0,type:{name:"number"}},layout:{defaultValue:null,description:"The layout information of the EpicTable, so the FixedHeader\nknows which sides to show.",name:"layout",required:!0,type:{name:"EpicTableLayout"}},headers:{defaultValue:null,description:"All the headers that the EpicTable is currently rendering. Used\nto determine which header is closest to the top of the screen,\nsot that the FixedHeader can take that header as its appearance.",name:"headers",required:!0,type:{name:"HeaderRef[]"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/table/EpicTable/helpers/FixedHeader/FixedHeader.tsx#FixedHeader"]={docgenInfo:FixedHeader.__docgenInfo,name:"FixedHeader",path:"src/table/EpicTable/helpers/FixedHeader/FixedHeader.tsx#FixedHeader"})}catch(__react_docgen_typescript_loader_error){}var react_is=__webpack_require__(276),EpicExpanderRow=__webpack_require__(233),EpicDetailRow=__webpack_require__(174),EpicCell=__webpack_require__(6);function epicTableLayout(config){const{children:children,epicTableRect:epicTableRect,hasRight:hasRight,activeDetailRowChanged:activeDetailRowChanged}=config,left=[],center=[],right=[];let leftSection={header:[],contents:[]},centerSection={header:[],contents:[]},rightSection={header:[],contents:[]},totalDesiredCenterWidth=-1,totalDesiredCenterHeight=-1,epicRowNumber=1;react.Children.forEach(getRows(children),row=>row.type===EpicExpanderRow.a&&null!==epicTableRect?function handleExpanderRow(row,rect){const clone=Object(react.cloneElement)(row,{width:rect.width,key:1337});if(leftSection.contents.push([clone]),row.props.active){const spacer=Object(react.createElement)("div",{style:{height:row.props.height}});leftSection.contents.push([Object(react.cloneElement)(spacer,{key:1})]),rightSection.contents.push([Object(react.cloneElement)(spacer,{key:2})]),centerSection.contents.push([Object(react.cloneElement)(spacer,{key:3})])}}(row,epicTableRect):row.type===EpicDetailRow.a&&null!==epicTableRect?function handleEpicDetailRow(row,rect){const clone=Object(react.cloneElement)(row,{width:rect.width-row.props.left,top:0,left:row.props.left,key:42,ref:activeDetailRowChanged});leftSection.contents.push([clone]),row.props.active}(row,epicTableRect):(function handleEpicRow(row,index){const cells=row.props.children,lastCellInRowIndex=react.Children.count(cells)-1,isHeader=row.props.header;isHeader&&(null!==leftSection&&(sectionHasData(leftSection)&&left.push(leftSection),sectionHasData(centerSection)&¢er.push(centerSection),sectionHasData(rightSection)&&right.push(rightSection)),leftSection={header:[],contents:[]},centerSection={header:[],contents:[]},rightSection={header:[],contents:[]},epicRowNumber=1);const leftRow=[],centerRow=[],rightRow=[],isRowOdd=index%2==1;react.Children.forEach(cells,(cell,cellIndex)=>{const left=0===cellIndex,right=hasRight&&cellIndex===lastCellInRowIndex,clone=Object(react.cloneElement)(cell,{odd:isRowOdd,key:cellIndex});left?isHeader?leftSection.header.push(clone):leftRow.push(clone):right?isHeader?rightSection.header.push(clone):rightRow.push(clone):isHeader?centerSection.header.push(clone):centerRow.push(clone)}),leftRow.length>0&&leftSection.contents.push(leftRow);centerRow.length>0&&(-1===totalDesiredCenterWidth&&(totalDesiredCenterWidth=centerRow.reduce((acc,cell)=>acc+cell.props.width,0)),-1===totalDesiredCenterHeight&&(totalDesiredCenterHeight=centerRow.reduce((acc,cell)=>acc+cell.props.width,0)),centerSection.contents.push(centerRow));rightRow.length>0&&rightSection.contents.push(rightRow)}(row,epicRowNumber),void(epicRowNumber+=1))),left.push(leftSection),(centerSection.header.length>0||centerSection.contents.length>0)&¢er.push(centerSection),(rightSection.header.length>0||rightSection.contents.length>0)&&right.push(rightSection);const totalDesiredHeight=left.reduce((totalHeight,section)=>{const header=section.header[0];return header&&(totalHeight+=header.props.height),totalHeight+section.contents.reduce((cellsHeight,cells)=>{const cell=cells[0];return cell&&cell.type===EpicCell.a?cellsHeight+cell.props.height:cellsHeight},0)},0);return{left:left,center:center,right:right,totalDesiredCenterWidth:totalDesiredCenterWidth,totalDesiredHeight:totalDesiredHeight}}function getRows(children){const rows=[];return react.Children.forEach(children,child=>{Object(react_is.isFragment)(child)?child.props.children.forEach(row=>{rows.push(row)}):rows.push(child)}),rows}function sectionHasData(section){return section.contents.length>0||section.header.length>0}try{epicTableLayout.displayName="epicTableLayout",epicTableLayout.__docgenInfo={description:'The user is given a semantic based API by the EpicTable. This api\nfor the user of the library feels very nice (at least that is the goal).\n\nUnfortunately the semantic UI is not a data structure which can be\nused to render the table directly. The `epicTableLayout` therefore\ntakes the semantic UI and transforms it into a data structure which\ncan actually be rendered.\n\nThe problem is this: to create a fixed left, a gooey center and\na fixed right, you need three
`s next to each other. One\njob of the `epicTableLayout` is to bucket the semantic structure\nin a left, right and center.\n\nSo given this structure:\n\n```tsx\n \n \n \n Name\n \n \n Age\n \n \n Eye color\n \n \n Actions\n \n \n \n \n Maarten\n \n \n 30\n \n \n Brown\n \n \n \n \n )}\n >\n {(data: { user: string }) =>

Hi, {data.user}

}\n \n
\n );\n });\n"),__ADDS_MAP__={"core-async-asynccontent--when-empty-with-custom-empty":{startLoc:{col:7,line:137},endLoc:{col:3,line:157},startBody:{col:39,line:137},endBody:{col:3,line:157}},"core-async-asynccontent--when-empty-with-title":{startLoc:{col:7,line:121},endLoc:{col:3,line:135},startBody:{col:32,line:121},endBody:{col:3,line:135}},"core-async-asynccontent--when-empty":{startLoc:{col:7,line:106},endLoc:{col:3,line:119},startBody:{col:21,line:106},endBody:{col:3,line:119}},"core-async-asynccontent--when-loading-with-custom-title":{startLoc:{col:7,line:94},endLoc:{col:3,line:104},startBody:{col:41,line:94},endBody:{col:3,line:104}},"core-async-asynccontent--when-loading":{startLoc:{col:7,line:82},endLoc:{col:3,line:92},startBody:{col:23,line:82},endBody:{col:3,line:92}},"core-async-asynccontent--when-error-with-no-retry-button":{startLoc:{col:7,line:70},endLoc:{col:3,line:80},startBody:{col:42,line:70},endBody:{col:3,line:80}},"core-async-asynccontent--when-error-with-custom-text":{startLoc:{col:7,line:55},endLoc:{col:3,line:68},startBody:{col:38,line:55},endBody:{col:3,line:68}},"core-async-asynccontent--when-error":{startLoc:{col:7,line:43},endLoc:{col:3,line:53},startBody:{col:21,line:43},endBody:{col:3,line:53}},"core-async-asynccontent--when-loaded":{startLoc:{col:7,line:31},endLoc:{col:3,line:41},startBody:{col:22,line:31},endBody:{col:3,line:41}}};function loadData(){return new Promise(resolve=>{setTimeout(()=>{resolve({user:"Jeffrey"})},1e3)})}function rejectData(){return new Promise((resolve,reject)=>{setTimeout(()=>{reject("could not load")},1e3)})}function loadingData(){return new Promise(()=>{})}Object(_storybook_react__WEBPACK_IMPORTED_MODULE_1__.storiesOf)("core|async/AsyncContent",module).addParameters({storySource:{source:__STORY__,locationsMap:__ADDS_MAP__}}).addDecorator(withSourceLoader(__STORY__,__ADDS_MAP__,"/AsyncContent.stories.tsx",[],{},"/Users/gido.manders/projecten/42/ui/src/core/AsyncContent",{})).addParameters({component:_AsyncContent__WEBPACK_IMPORTED_MODULE_2__.a}).add("when loaded",()=>{const state=Object(react_async__WEBPACK_IMPORTED_MODULE_3__.a)(loadData);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"text-center"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_AsyncContent__WEBPACK_IMPORTED_MODULE_2__.a,{state:state},data=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h2",null,"Hi, ",data.user)))}).add("when error",()=>{const state=Object(react_async__WEBPACK_IMPORTED_MODULE_3__.a)(rejectData);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"text-center"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_AsyncContent__WEBPACK_IMPORTED_MODULE_2__.a,{state:state},data=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h2",null,"Hi, ",data.user)))}).add("when error with custom text",()=>{const state=Object(react_async__WEBPACK_IMPORTED_MODULE_3__.a)(rejectData);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"text-center"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_AsyncContent__WEBPACK_IMPORTED_MODULE_2__.a,{state:state,text:{error:"I’m sorry Dave, I’m afraid I can’t do that"}},data=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h2",null,"Hi, ",data.user)))}).add("when error with no retry button",()=>{const state=Object(react_async__WEBPACK_IMPORTED_MODULE_3__.a)(rejectData);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"text-center"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_AsyncContent__WEBPACK_IMPORTED_MODULE_2__.a,{state:state,showRetryButton:!1},data=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h2",null,"Hi, ",data.user)))}).add("when loading",()=>{const state=Object(react_async__WEBPACK_IMPORTED_MODULE_3__.a)(loadingData);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"text-center"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_AsyncContent__WEBPACK_IMPORTED_MODULE_2__.a,{state:state},data=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h2",null,"Hi, ",data.user)))}).add("when loading with custom title",()=>{const state=Object(react_async__WEBPACK_IMPORTED_MODULE_3__.a)(loadingData);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"text-center"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_AsyncContent__WEBPACK_IMPORTED_MODULE_2__.a,{state:state,text:{loading:"Loading Jeffrey"}},data=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h2",null,"Hi, ",data.user)))}).add("when empty",()=>{const state=Object(react_async__WEBPACK_IMPORTED_MODULE_3__.a)(loadData);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"text-center"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_AsyncContent__WEBPACK_IMPORTED_MODULE_2__.a,{state:state,isEmpty:data=>"Jeffrey"===data.user},data=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h2",null,"Hi, ",data.user)))}).add("when empty with title",()=>{const state=Object(react_async__WEBPACK_IMPORTED_MODULE_3__.a)(loadData);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"text-center"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_AsyncContent__WEBPACK_IMPORTED_MODULE_2__.a,{state:state,text:{empty:"No Jeffrey's match your parameters try again"},isEmpty:data=>"Jeffrey"===data.user},data=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h2",null,"Hi, ",data.user)))}).add("when empty with custom empty",()=>{const state=Object(react_async__WEBPACK_IMPORTED_MODULE_3__.a)(loadData);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"text-center"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_AsyncContent__WEBPACK_IMPORTED_MODULE_2__.a,{state:state,isEmpty:data=>"Jeffrey"===data.user,emptyContent:()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_5__.b,{mode:"empty",title:"No results found"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_5__.a,{icon:"refresh",onClick:Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_4__.action)("clear filters")},"Clear filters"))},data=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h2",null,"Hi, ",data.user)))})}.call(this,__webpack_require__(26)(module))},211:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return Pagination}));var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),reactstrap__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(2336),reactstrap__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(2337),reactstrap__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(936);function Pagination({page:page,onChange:onChange,className:className}){const{first:first,last:last,totalPages:totalPages}=page;if(first&&last)return null;const current=page.number,content=function pagesFor(currentPage,totalPages){const content=[];currentPage>1&&content.push(1);const prev=currentPage-1;prev>1&&content.push(prev);content.push(currentPage);const next=currentPage+1;next<=totalPages&&content.push(next);next+1<=totalPages&&content.push(totalPages);1===content[0]&&2!==content[1]&&content.splice(1,0,"...");const lastIndex=content.length-1;content[lastIndex]===totalPages&&content[lastIndex-1]!==totalPages-1&&content.splice(lastIndex,0,"...");return content}(current,totalPages);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_1__.a,{className:className},content.map((item,index)=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_2__.a,{active:item===current,key:index},"..."!==item?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_3__.a,{onClick:()=>onChange(item)},item):react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_3__.a,{className:"disabled",disabled:!0},"..."))))}try{Pagination.displayName="Pagination",Pagination.__docgenInfo={description:"The Pagination component is an enhanced Bootstrap pagination component. It supports working with `Page`s and shows a fixed\nlayout for the number of pages, indicating that multiple pages exist for the min and max ranges (e.g. 1 ... 4 5 6 ... 10).",displayName:"Pagination",props:{page:{defaultValue:null,description:"Represents Spring's page abstraction.",name:"page",required:!0,type:{name:"Page"}},onChange:{defaultValue:null,description:"Called when navigation to a certain page number.",name:"onChange",required:!0,type:{name:"(pageNumber: number) => void"}},className:{defaultValue:null,description:"Optional extra CSS class you want to add to the component.\nUseful for styling the component.",name:"className",required:!1,type:{name:"string"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/core/Pagination/Pagination.tsx#Pagination"]={docgenInfo:Pagination.__docgenInfo,name:"Pagination",path:"src/core/Pagination/Pagination.tsx#Pagination"})}catch(__react_docgen_typescript_loader_error){}},212:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return Pager}));var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),classnames__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(8),classnames__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_1__),_utilities_translation_translation__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(21),_Button_Button__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(3);function Pager({page:page,onChange:onChange,className:className,text:text={}}){const{first:first,last:last}=page,{next:next,previous:previous}=text;return first&&last?null:react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:classnames__WEBPACK_IMPORTED_MODULE_1___default()("pager",className)},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Button_Button__WEBPACK_IMPORTED_MODULE_3__.a,{className:"mr-1",outline:!0,icon:"arrow_back",disabled:first,onClick:()=>onChange(page.number-1)},Object(_utilities_translation_translation__WEBPACK_IMPORTED_MODULE_2__.a)({overrideText:previous,key:"Pager.PREVIOUS",fallback:"Previous"})),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Button_Button__WEBPACK_IMPORTED_MODULE_3__.a,{outline:!0,className:"pager-next",icon:"arrow_forward",iconPosition:"right",disabled:last,onClick:()=>onChange(page.number+1)},Object(_utilities_translation_translation__WEBPACK_IMPORTED_MODULE_2__.a)({overrideText:next,key:"Pager.NEXT",fallback:"Next"})))}try{Pager.displayName="Pager",Pager.__docgenInfo={description:"The Pager component shows a small variant of bootstraps pagination,\nit only shows a previous and next button.\n\nIt supports working with a `Page` from `@42.nl/spring-connect`.",displayName:"Pager",props:{page:{defaultValue:null,description:"Represents Spring's page abstraction.",name:"page",required:!0,type:{name:"Page"}},onChange:{defaultValue:null,description:"Called when navigation to a certain page number.",name:"onChange",required:!0,type:{name:"(pageNumber: number) => void"}},className:{defaultValue:null,description:"Optional extra CSS class you want to add to the component.\nUseful for styling the component.",name:"className",required:!1,type:{name:"string"}},text:{defaultValue:{value:"{}"},description:"Optionally customized text to use within the component.",name:"text",required:!1,type:{name:"Text"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/core/Pager/Pager.tsx#Pager"]={docgenInfo:Pager.__docgenInfo,name:"Pager",path:"src/core/Pager/Pager.tsx#Pager"})}catch(__react_docgen_typescript_loader_error){}},213:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"b",(function(){return DateRangePicker})),__webpack_require__.d(__webpack_exports__,"a",(function(){return JarbDateRangePicker}));var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),reactstrap__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(43),reactstrap__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(17),reactstrap__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(2338),lodash__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(16),_DateTimeInput_DateTimeInput__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(100),_withJarb_withJarb__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(33),_utilities_translation_translation__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__(21);class DateRangePicker extends react__WEBPACK_IMPORTED_MODULE_0__.Component{constructor(props){super(props),this.state={fromDate:Object(lodash__WEBPACK_IMPORTED_MODULE_4__.get)(this,"props.value.from",void 0),toDate:Object(lodash__WEBPACK_IMPORTED_MODULE_4__.get)(this,"props.value.to",void 0)}}fromDateChanged(fromDate){this.setState({fromDate:fromDate||void 0},()=>this.afterChange())}toDateChanged(toDate){this.setState({toDate:toDate||void 0},()=>this.afterChange())}onFocus(){const focus=this.props.onFocus;focus&&focus()}afterChange(){const{fromDate:fromDate,toDate:toDate}=this.state;fromDate&&toDate&&fromDatethis.fromDateChanged(date),onFocus:()=>this.onFocus(),valid:valid,color:color,mode:mode}))),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_2__.a,{sm:"12",md:"6"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_DateTimeInput_DateTimeInput__WEBPACK_IMPORTED_MODULE_5__.b,Object.assign({},this.props.to,{value:this.state.toDate,onChange:date=>this.toDateChanged(date),onFocus:()=>this.onFocus(),valid:valid,color:color,mode:mode}))),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_2__.a,{xs:"12",className:"mb-2"},this.renderError()))}renderError(){const{error:error}=this.props,{fromDate:fromDate,toDate:toDate}=this.state;if(fromDate&&toDate){if(!(fromDate void"}},onFocus:{defaultValue:null,description:"Callback for when the form element gets the focus.",name:"onFocus",required:!1,type:{name:"() => void"}},from:{defaultValue:null,description:"The properties for the `from` DateTimeInput element.",name:"from",required:!0,type:{name:"Pick"}},to:{defaultValue:null,description:"The properties for the `to` DateTimeInput element.",name:"to",required:!0,type:{name:"Pick"}},className:{defaultValue:null,description:"Optional extra CSS class you want to add to the component.\nUseful for styling the component.",name:"className",required:!1,type:{name:"string"}},color:{defaultValue:null,description:"Optionally the color of the FormGroup.",name:"color",required:!1,type:{name:"Color"}},valid:{defaultValue:null,description:"Whether or not the form element is currently valid.",name:"valid",required:!1,type:{name:"boolean"}},text:{defaultValue:null,description:"Optionally customized text within the component.\nThis text should already be translated.",name:"text",required:!1,type:{name:"Text"}},error:{defaultValue:null,description:"Optionally the error message to render.",name:"error",required:!1,type:{name:"any"}},mode:{defaultValue:null,description:"Whether or not the date picker should be displayed in a modal.\nDefaults to opening in a tooltip-like layout.",name:"mode",required:!1,type:{name:'"modal" | "default"'}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/form/DateRangePicker/DateRangePicker.tsx#DateRangePicker"]={docgenInfo:DateRangePicker.__docgenInfo,name:"DateRangePicker",path:"src/form/DateRangePicker/DateRangePicker.tsx#DateRangePicker"})}catch(__react_docgen_typescript_loader_error){}try{JarbDateRangePicker.displayName="JarbDateRangePicker",JarbDateRangePicker.__docgenInfo={description:"Variant of the DateRangePicker which can be used in a Jarb context.",displayName:"JarbDateRangePicker",props:{}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/form/DateRangePicker/DateRangePicker.tsx#JarbDateRangePicker"]={docgenInfo:JarbDateRangePicker.__docgenInfo,name:"JarbDateRangePicker",path:"src/form/DateRangePicker/DateRangePicker.tsx#JarbDateRangePicker"})}catch(__react_docgen_typescript_loader_error){}},214:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return LoadingPage}));var classnames__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(8),classnames__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_0__),react__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__),_Spinner_Spinner__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(69),_useShowAfter_useShowAfter__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(354);function LoadingPage({className:className,style:style,height:height}){const showSpinner=Object(_useShowAfter_useShowAfter__WEBPACK_IMPORTED_MODULE_3__.a)(200);return react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement("div",{className:classnames__WEBPACK_IMPORTED_MODULE_0___default()("loading-page",className),style:style},react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement("div",{className:classnames__WEBPACK_IMPORTED_MODULE_0___default()("d-flex flex-column justify-content-center align-items-center",{"vh-100":void 0===height}),style:{marginTop:void 0===height?-75:void 0,height:height}},showSpinner&&react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_Spinner_Spinner__WEBPACK_IMPORTED_MODULE_2__.a,{size:150,color:"#f0ad4e"})))}try{LoadingPage.displayName="LoadingPage",LoadingPage.__docgenInfo={description:"The LoadingPage component embeds the Spinner component in a page-friendly matter.\n\nUse this for showing a loading indicator when navigating to pages that fetch data.",displayName:"LoadingPage",props:{className:{defaultValue:null,description:"Optional extra CSS class you want to add to the component.\nUseful for styling the component.",name:"className",required:!1,type:{name:"string"}},style:{defaultValue:null,description:"Optional extra CSSProperties you want to add to the component.\nUseful for styling the component.",name:"style",required:!1,type:{name:"CSSProperties"}},height:{defaultValue:null,description:"Optionally a height, by default this will be the full height\nof the view port.",name:"height",required:!1,type:{name:"number"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/core/LoadingPage/LoadingPage.tsx#LoadingPage"]={docgenInfo:LoadingPage.__docgenInfo,name:"LoadingPage",path:"src/core/LoadingPage/LoadingPage.tsx#LoadingPage"})}catch(__react_docgen_typescript_loader_error){}},215:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return EpicDetail}));var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),_core_Icon__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(63),_utilities_translation_translation__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(21);function EpicDetail({children:children,onClose:onClose,text:text={}}){return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"bg-white h-100 border-top border-right border-bottom py-1 shadow"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"d-flex align-items-center border-bottom mb-2"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_Icon__WEBPACK_IMPORTED_MODULE_1__.a,{className:"text-muted py-2 px-1",onClick:onClose,icon:"close"}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span",{className:"text-muted"},Object(_utilities_translation_translation__WEBPACK_IMPORTED_MODULE_2__.a)({key:"EpicTable.EpicDetail.CLOSE",fallback:"Close",overrideText:text.close}))),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"px-2"},children))}try{EpicDetail.displayName="EpicDetail",EpicDetail.__docgenInfo={description:"EpicDetail is a white pane with a close button which can be used\nto render in a EpicDetailRow as its content.",displayName:"EpicDetail",props:{children:{defaultValue:null,description:"The details you want to render.",name:"children",required:!0,type:{name:"any"}},onClose:{defaultValue:null,description:"The callback for the close event. Is called when the close button\nis clicked.",name:"onClose",required:!0,type:{name:"(event: any) => void"}},text:{defaultValue:{value:"{}"},description:"Optionally customized text within the component.\nThis text should already be translated.",name:"text",required:!1,type:{name:"Text"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/table/EpicTable/widgets/EpicDetail/EpicDetail.tsx#EpicDetail"]={docgenInfo:EpicDetail.__docgenInfo,name:"EpicDetail",path:"src/table/EpicTable/widgets/EpicDetail/EpicDetail.tsx#EpicDetail"})}catch(__react_docgen_typescript_loader_error){}},2156:function(module,exports,__webpack_require__){var map={"./af":776,"./af.js":776,"./ar":777,"./ar-dz":778,"./ar-dz.js":778,"./ar-kw":779,"./ar-kw.js":779,"./ar-ly":780,"./ar-ly.js":780,"./ar-ma":781,"./ar-ma.js":781,"./ar-sa":782,"./ar-sa.js":782,"./ar-tn":783,"./ar-tn.js":783,"./ar.js":777,"./az":784,"./az.js":784,"./be":785,"./be.js":785,"./bg":786,"./bg.js":786,"./bm":787,"./bm.js":787,"./bn":788,"./bn.js":788,"./bo":789,"./bo.js":789,"./br":790,"./br.js":790,"./bs":791,"./bs.js":791,"./ca":792,"./ca.js":792,"./cs":793,"./cs.js":793,"./cv":794,"./cv.js":794,"./cy":795,"./cy.js":795,"./da":796,"./da.js":796,"./de":797,"./de-at":798,"./de-at.js":798,"./de-ch":799,"./de-ch.js":799,"./de.js":797,"./dv":800,"./dv.js":800,"./el":801,"./el.js":801,"./en-SG":802,"./en-SG.js":802,"./en-au":803,"./en-au.js":803,"./en-ca":804,"./en-ca.js":804,"./en-gb":805,"./en-gb.js":805,"./en-ie":806,"./en-ie.js":806,"./en-il":807,"./en-il.js":807,"./en-nz":808,"./en-nz.js":808,"./eo":809,"./eo.js":809,"./es":810,"./es-do":811,"./es-do.js":811,"./es-us":812,"./es-us.js":812,"./es.js":810,"./et":813,"./et.js":813,"./eu":814,"./eu.js":814,"./fa":815,"./fa.js":815,"./fi":816,"./fi.js":816,"./fo":817,"./fo.js":817,"./fr":818,"./fr-ca":819,"./fr-ca.js":819,"./fr-ch":820,"./fr-ch.js":820,"./fr.js":818,"./fy":821,"./fy.js":821,"./ga":822,"./ga.js":822,"./gd":823,"./gd.js":823,"./gl":824,"./gl.js":824,"./gom-latn":825,"./gom-latn.js":825,"./gu":826,"./gu.js":826,"./he":827,"./he.js":827,"./hi":828,"./hi.js":828,"./hr":829,"./hr.js":829,"./hu":830,"./hu.js":830,"./hy-am":831,"./hy-am.js":831,"./id":832,"./id.js":832,"./is":833,"./is.js":833,"./it":834,"./it-ch":835,"./it-ch.js":835,"./it.js":834,"./ja":836,"./ja.js":836,"./jv":837,"./jv.js":837,"./ka":838,"./ka.js":838,"./kk":839,"./kk.js":839,"./km":840,"./km.js":840,"./kn":841,"./kn.js":841,"./ko":842,"./ko.js":842,"./ku":843,"./ku.js":843,"./ky":844,"./ky.js":844,"./lb":845,"./lb.js":845,"./lo":846,"./lo.js":846,"./lt":847,"./lt.js":847,"./lv":848,"./lv.js":848,"./me":849,"./me.js":849,"./mi":850,"./mi.js":850,"./mk":851,"./mk.js":851,"./ml":852,"./ml.js":852,"./mn":853,"./mn.js":853,"./mr":854,"./mr.js":854,"./ms":855,"./ms-my":856,"./ms-my.js":856,"./ms.js":855,"./mt":857,"./mt.js":857,"./my":858,"./my.js":858,"./nb":859,"./nb.js":859,"./ne":860,"./ne.js":860,"./nl":861,"./nl-be":862,"./nl-be.js":862,"./nl.js":861,"./nn":863,"./nn.js":863,"./pa-in":864,"./pa-in.js":864,"./pl":865,"./pl.js":865,"./pt":866,"./pt-br":867,"./pt-br.js":867,"./pt.js":866,"./ro":868,"./ro.js":868,"./ru":869,"./ru.js":869,"./sd":870,"./sd.js":870,"./se":871,"./se.js":871,"./si":872,"./si.js":872,"./sk":873,"./sk.js":873,"./sl":874,"./sl.js":874,"./sq":875,"./sq.js":875,"./sr":876,"./sr-cyrl":877,"./sr-cyrl.js":877,"./sr.js":876,"./ss":878,"./ss.js":878,"./sv":879,"./sv.js":879,"./sw":880,"./sw.js":880,"./ta":881,"./ta.js":881,"./te":882,"./te.js":882,"./tet":883,"./tet.js":883,"./tg":884,"./tg.js":884,"./th":885,"./th.js":885,"./tl-ph":886,"./tl-ph.js":886,"./tlh":887,"./tlh.js":887,"./tr":888,"./tr.js":888,"./tzl":889,"./tzl.js":889,"./tzm":890,"./tzm-latn":891,"./tzm-latn.js":891,"./tzm.js":890,"./ug-cn":892,"./ug-cn.js":892,"./uk":893,"./uk.js":893,"./ur":894,"./ur.js":894,"./uz":895,"./uz-latn":896,"./uz-latn.js":896,"./uz.js":895,"./vi":897,"./vi.js":897,"./x-pseudo":898,"./x-pseudo.js":898,"./yo":899,"./yo.js":899,"./zh-cn":900,"./zh-cn.js":900,"./zh-hk":901,"./zh-hk.js":901,"./zh-tw":902,"./zh-tw.js":902};function webpackContext(req){var id=webpackContextResolve(req);return __webpack_require__(id)}function webpackContextResolve(req){if(!__webpack_require__.o(map,req)){var e=new Error("Cannot find module '"+req+"'");throw e.code="MODULE_NOT_FOUND",e}return map[req]}webpackContext.keys=function webpackContextKeys(){return Object.keys(map)},webpackContext.resolve=webpackContextResolve,module.exports=webpackContext,webpackContext.id=2156},216:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return EpicSelection}));var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),reactstrap__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(89),reactstrap__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(71);function EpicSelection({children:children,checked:checked,onChange:onChange}){return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_1__.a,{className:"d-flex m-0 align-items-center"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_2__.a,{type:"checkbox",className:"m-0 ml-1 mr-2 d-inline-block position-static",checked:checked,onChange:()=>onChange(!checked)}),children)}try{EpicSelection.displayName="EpicSelection",EpicSelection.__docgenInfo={description:"The EpicSelection is basically a checkbox for the EpicTable.\nIt can be used to select rows inside of the table or even cells.",displayName:"EpicSelection",props:{children:{defaultValue:null,description:"Optionally the label for the button, when the label is clicked\nthe checkbox is checked.",name:"children",required:!1,type:{name:"any"}},checked:{defaultValue:null,description:"Whether or not the checkbox is checked.",name:"checked",required:!0,type:{name:"boolean"}},onChange:{defaultValue:null,description:"The callback which occurs when the checkbox is clicked.",name:"onChange",required:!0,type:{name:"(checked: boolean) => void"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/table/EpicTable/widgets/EpicSelection/EpicSelection.tsx#EpicSelection"]={docgenInfo:EpicSelection.__docgenInfo,name:"EpicSelection",path:"src/table/EpicTable/widgets/EpicSelection/EpicSelection.tsx#EpicSelection"})}catch(__react_docgen_typescript_loader_error){}},2281:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),function(module){var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),_storybook_react__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(14),react_async__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(49),reactstrap__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(23),reactstrap__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(83),reactstrap__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(81),reactstrap__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(82),_AsyncList__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__(130),_test_fixtures__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__(12),___WEBPACK_IMPORTED_MODULE_9__=__webpack_require__(7),_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_10__=__webpack_require__(2),withSourceLoader=__webpack_require__(15).withSource,__STORY__=(__webpack_require__(15).addSource,"import React from 'react';\nimport { storiesOf } from '@storybook/react';\nimport { useAsync } from 'react-async';\nimport { Button, Card, ListGroup, ListGroupItem } from 'reactstrap';\n\nimport AsyncList from './AsyncList';\n\nimport { pageOfUsers } from '../../test/fixtures';\nimport { User } from '../../test/types';\nimport { ContentState } from '../..';\nimport { action } from '@storybook/addon-actions';\n\nfunction loadData(): Promise {\n return new Promise(resolve => {\n setTimeout(() => {\n resolve(pageOfUsers.content);\n }, 1000);\n });\n}\n\nfunction emptyData(): Promise {\n return new Promise(resolve => {\n setTimeout(() => {\n resolve([]);\n }, 1000);\n });\n}\n\nfunction rejectData(): Promise {\n return new Promise((resolve, reject) => {\n setTimeout(() => {\n reject('could not load');\n }, 1000);\n });\n}\n\nfunction loadingData(): Promise {\n return new Promise(() => undefined);\n}\n\nstoriesOf('core|Async/AsyncList', module)\n .addParameters({ component: AsyncList })\n .add('when loaded', () => {\n const state = useAsync(loadData);\n\n return (\n \n \n {users => (\n \n {users.map(user => (\n {user.email}\n ))}\n \n )}\n \n \n );\n })\n\n .add('when error', () => {\n const state = useAsync(rejectData);\n\n return (\n \n \n {users => (\n \n {users.map(user => (\n {user.email}\n ))}\n \n )}\n \n \n );\n })\n\n .add('when error with custom text', () => {\n const state = useAsync(rejectData);\n\n return (\n \n \n {users => (\n \n {users.map(user => (\n {user.email}\n ))}\n \n )}\n \n \n );\n })\n\n .add('when error with no retry button', () => {\n const state = useAsync(rejectData);\n\n return (\n \n \n {users => (\n \n {users.map(user => (\n {user.email}\n ))}\n \n )}\n \n \n );\n })\n\n .add('when loading', () => {\n const state = useAsync(loadingData);\n\n return (\n \n \n {users => (\n \n {users.map(user => (\n {user.email}\n ))}\n \n )}\n \n \n );\n })\n\n .add('when loading with custom title', () => {\n const state = useAsync(loadingData);\n\n return (\n \n \n {users => (\n \n {users.map(user => (\n {user.email}\n ))}\n \n )}\n \n \n );\n })\n\n .add('when empty', () => {\n const state = useAsync(emptyData);\n\n return (\n \n \n {users => (\n \n {users.map(user => (\n {user.email}\n ))}\n \n )}\n \n \n );\n })\n\n .add('when empty with custom title', () => {\n const state = useAsync(emptyData);\n\n return (\n \n \n {users => (\n \n {users.map(user => (\n {user.email}\n ))}\n \n )}\n \n \n );\n })\n\n .add('when empty with custom empty', () => {\n const state = useAsync(emptyData);\n\n return (\n \n (\n \n \n \n )}\n >\n {users => (\n \n {users.map(user => (\n {user.email}\n ))}\n \n )}\n \n \n );\n });\n"),__ADDS_MAP__={"core-async-asynclist--when-empty-with-custom-empty":{startLoc:{col:7,line:193},endLoc:{col:3,line:218},startBody:{col:39,line:193},endBody:{col:3,line:218}},"core-async-asynclist--when-empty-with-custom-title":{startLoc:{col:7,line:172},endLoc:{col:3,line:191},startBody:{col:39,line:172},endBody:{col:3,line:191}},"core-async-asynclist--when-empty":{startLoc:{col:7,line:154},endLoc:{col:3,line:170},startBody:{col:21,line:154},endBody:{col:3,line:170}},"core-async-asynclist--when-loading-with-custom-title":{startLoc:{col:7,line:136},endLoc:{col:3,line:152},startBody:{col:41,line:136},endBody:{col:3,line:152}},"core-async-asynclist--when-loading":{startLoc:{col:7,line:118},endLoc:{col:3,line:134},startBody:{col:23,line:118},endBody:{col:3,line:134}},"core-async-asynclist--when-error-with-no-retry-button":{startLoc:{col:7,line:100},endLoc:{col:3,line:116},startBody:{col:42,line:100},endBody:{col:3,line:116}},"core-async-asynclist--when-error-with-custom-text":{startLoc:{col:7,line:79},endLoc:{col:3,line:98},startBody:{col:38,line:79},endBody:{col:3,line:98}},"core-async-asynclist--when-error":{startLoc:{col:7,line:61},endLoc:{col:3,line:77},startBody:{col:21,line:61},endBody:{col:3,line:77}},"core-async-asynclist--when-loaded":{startLoc:{col:7,line:43},endLoc:{col:3,line:59},startBody:{col:22,line:43},endBody:{col:3,line:59}}};function loadData(){return new Promise(resolve=>{setTimeout(()=>{resolve(_test_fixtures__WEBPACK_IMPORTED_MODULE_8__.b.content)},1e3)})}function emptyData(){return new Promise(resolve=>{setTimeout(()=>{resolve([])},1e3)})}function rejectData(){return new Promise((resolve,reject)=>{setTimeout(()=>{reject("could not load")},1e3)})}function loadingData(){return new Promise(()=>{})}Object(_storybook_react__WEBPACK_IMPORTED_MODULE_1__.storiesOf)("core|Async/AsyncList",module).addParameters({storySource:{source:__STORY__,locationsMap:__ADDS_MAP__}}).addDecorator(withSourceLoader(__STORY__,__ADDS_MAP__,"/AsyncList.stories.tsx",[],{},"/Users/gido.manders/projecten/42/ui/src/core/AsyncList",{})).addParameters({component:_AsyncList__WEBPACK_IMPORTED_MODULE_7__.a}).add("when loaded",()=>{const state=Object(react_async__WEBPACK_IMPORTED_MODULE_2__.a)(loadData);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_3__.a,{body:!0},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_AsyncList__WEBPACK_IMPORTED_MODULE_7__.a,{state:state},users=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_4__.a,null,users.map(user=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_5__.a,{key:user.id},user.email)))))}).add("when error",()=>{const state=Object(react_async__WEBPACK_IMPORTED_MODULE_2__.a)(rejectData);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_3__.a,{body:!0},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_AsyncList__WEBPACK_IMPORTED_MODULE_7__.a,{state:state},users=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_4__.a,null,users.map(user=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_5__.a,{key:user.id},user.email)))))}).add("when error with custom text",()=>{const state=Object(react_async__WEBPACK_IMPORTED_MODULE_2__.a)(rejectData);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_3__.a,{body:!0},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_AsyncList__WEBPACK_IMPORTED_MODULE_7__.a,{state:state,text:{error:"I’m sorry Dave, I’m afraid I can’t do that"}},users=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_4__.a,null,users.map(user=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_5__.a,{key:user.id},user.email)))))}).add("when error with no retry button",()=>{const state=Object(react_async__WEBPACK_IMPORTED_MODULE_2__.a)(rejectData);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_3__.a,{body:!0},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_AsyncList__WEBPACK_IMPORTED_MODULE_7__.a,{state:state,showRetryButton:!1},users=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_4__.a,null,users.map(user=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_5__.a,{key:user.id},user.email)))))}).add("when loading",()=>{const state=Object(react_async__WEBPACK_IMPORTED_MODULE_2__.a)(loadingData);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_3__.a,{body:!0},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_AsyncList__WEBPACK_IMPORTED_MODULE_7__.a,{state:state},users=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_4__.a,null,users.map(user=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_5__.a,{key:user.id},user.email)))))}).add("when loading with custom title",()=>{const state=Object(react_async__WEBPACK_IMPORTED_MODULE_2__.a)(loadingData);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_3__.a,{body:!0},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_AsyncList__WEBPACK_IMPORTED_MODULE_7__.a,{state:state,text:{loading:"Loading Jeffrey"}},users=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_4__.a,null,users.map(user=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_5__.a,{key:user.id},user.email)))))}).add("when empty",()=>{const state=Object(react_async__WEBPACK_IMPORTED_MODULE_2__.a)(emptyData);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_3__.a,{body:!0},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_AsyncList__WEBPACK_IMPORTED_MODULE_7__.a,{state:state},users=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_4__.a,null,users.map(user=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_5__.a,{key:user.id},user.email)))))}).add("when empty with custom title",()=>{const state=Object(react_async__WEBPACK_IMPORTED_MODULE_2__.a)(emptyData);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_3__.a,{body:!0},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_AsyncList__WEBPACK_IMPORTED_MODULE_7__.a,{state:state,text:{empty:"No Jeffrey's match your parameters try again"}},users=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_4__.a,null,users.map(user=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_5__.a,{key:user.id},user.email)))))}).add("when empty with custom empty",()=>{const state=Object(react_async__WEBPACK_IMPORTED_MODULE_2__.a)(emptyData);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_3__.a,{body:!0},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_AsyncList__WEBPACK_IMPORTED_MODULE_7__.a,{state:state,emptyContent:()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_9__.b,{mode:"empty",title:"No results found"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_6__.a,{icon:"refresh",onClick:Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_10__.action)("clear filters")},"Clear filters"))},users=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_4__.a,null,users.map(user=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_5__.a,{key:user.id},user.email)))))})}.call(this,__webpack_require__(26)(module))},2282:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),function(module){var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),_storybook_react__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(14),react_async__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(49),reactstrap__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(23),reactstrap__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(83),reactstrap__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(81),reactstrap__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(82),_42_nl_spring_connect__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__(157),_AsyncPage__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__(129),_test_fixtures__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__(12),___WEBPACK_IMPORTED_MODULE_10__=__webpack_require__(7),_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_11__=__webpack_require__(2),withSourceLoader=__webpack_require__(15).withSource,__STORY__=(__webpack_require__(15).addSource,"import React from 'react';\nimport { storiesOf } from '@storybook/react';\nimport { useAsync } from 'react-async';\nimport { Button, Card, ListGroup, ListGroupItem } from 'reactstrap';\nimport { emptyPage, Page } from '@42.nl/spring-connect';\n\nimport AsyncPage from './AsyncPage';\n\nimport { pageOfUsers } from '../../test/fixtures';\nimport { User } from '../../test/types';\nimport { ContentState } from '../..';\nimport { action } from '@storybook/addon-actions';\n\nfunction loadData(): Promise> {\n return new Promise(resolve => {\n setTimeout(() => {\n resolve(pageOfUsers);\n }, 1000);\n });\n}\n\nfunction emptyData(): Promise> {\n return new Promise(resolve => {\n setTimeout(() => {\n resolve(emptyPage());\n }, 1000);\n });\n}\n\nfunction rejectData(): Promise> {\n return new Promise((resolve, reject) => {\n setTimeout(() => {\n reject('could not load');\n }, 1000);\n });\n}\n\nfunction loadingData(): Promise> {\n return new Promise(() => undefined);\n}\n\nstoriesOf('core|async/AsyncPage', module)\n .addParameters({ component: AsyncPage })\n .add('when loaded', () => {\n const state = useAsync(loadData);\n\n return (\n \n \n {userPage => (\n \n {userPage.content.map(user => (\n {user.email}\n ))}\n \n )}\n \n \n );\n })\n\n .add('when error', () => {\n const state = useAsync(rejectData);\n\n return (\n \n \n {userPage => (\n \n {userPage.content.map(user => (\n {user.email}\n ))}\n \n )}\n \n \n );\n })\n\n .add('when error with custom text', () => {\n const state = useAsync(rejectData);\n\n return (\n \n \n {userPage => (\n \n {userPage.content.map(user => (\n {user.email}\n ))}\n \n )}\n \n \n );\n })\n\n .add('when error with no retry button', () => {\n const state = useAsync(rejectData);\n\n return (\n \n \n {userPage => (\n \n {userPage.content.map(user => (\n {user.email}\n ))}\n \n )}\n \n \n );\n })\n\n .add('when loading', () => {\n const state = useAsync(loadingData);\n\n return (\n \n \n {userPage => (\n \n {userPage.content.map(user => (\n {user.email}\n ))}\n \n )}\n \n \n );\n })\n\n .add('when loading with custom title', () => {\n const state = useAsync(loadingData);\n\n return (\n \n \n {userPage => (\n \n {userPage.content.map(user => (\n {user.email}\n ))}\n \n )}\n \n \n );\n })\n\n .add('when empty', () => {\n const state = useAsync(emptyData);\n\n return (\n \n \n {userPage => (\n \n {userPage.content.map(user => (\n {user.email}\n ))}\n \n )}\n \n \n );\n })\n\n .add('when empty with custom title', () => {\n const state = useAsync(emptyData);\n\n return (\n \n \n {userPage => (\n \n {userPage.content.map(user => (\n {user.email}\n ))}\n \n )}\n \n \n );\n })\n\n .add('when empty with custom content', () => {\n const state = useAsync(emptyData);\n\n return (\n \n (\n \n \n \n )}\n >\n {userPage => (\n \n {userPage.content.map(user => (\n {user.email}\n ))}\n \n )}\n \n \n );\n });\n"),__ADDS_MAP__={"core-async-asyncpage--when-empty-with-custom-content":{startLoc:{col:7,line:194},endLoc:{col:3,line:219},startBody:{col:41,line:194},endBody:{col:3,line:219}},"core-async-asyncpage--when-empty-with-custom-title":{startLoc:{col:7,line:173},endLoc:{col:3,line:192},startBody:{col:39,line:173},endBody:{col:3,line:192}},"core-async-asyncpage--when-empty":{startLoc:{col:7,line:155},endLoc:{col:3,line:171},startBody:{col:21,line:155},endBody:{col:3,line:171}},"core-async-asyncpage--when-loading-with-custom-title":{startLoc:{col:7,line:137},endLoc:{col:3,line:153},startBody:{col:41,line:137},endBody:{col:3,line:153}},"core-async-asyncpage--when-loading":{startLoc:{col:7,line:119},endLoc:{col:3,line:135},startBody:{col:23,line:119},endBody:{col:3,line:135}},"core-async-asyncpage--when-error-with-no-retry-button":{startLoc:{col:7,line:101},endLoc:{col:3,line:117},startBody:{col:42,line:101},endBody:{col:3,line:117}},"core-async-asyncpage--when-error-with-custom-text":{startLoc:{col:7,line:80},endLoc:{col:3,line:99},startBody:{col:38,line:80},endBody:{col:3,line:99}},"core-async-asyncpage--when-error":{startLoc:{col:7,line:62},endLoc:{col:3,line:78},startBody:{col:21,line:62},endBody:{col:3,line:78}},"core-async-asyncpage--when-loaded":{startLoc:{col:7,line:44},endLoc:{col:3,line:60},startBody:{col:22,line:44},endBody:{col:3,line:60}}};function loadData(){return new Promise(resolve=>{setTimeout(()=>{resolve(_test_fixtures__WEBPACK_IMPORTED_MODULE_9__.b)},1e3)})}function emptyData(){return new Promise(resolve=>{setTimeout(()=>{resolve(Object(_42_nl_spring_connect__WEBPACK_IMPORTED_MODULE_7__.emptyPage)())},1e3)})}function rejectData(){return new Promise((resolve,reject)=>{setTimeout(()=>{reject("could not load")},1e3)})}function loadingData(){return new Promise(()=>{})}Object(_storybook_react__WEBPACK_IMPORTED_MODULE_1__.storiesOf)("core|async/AsyncPage",module).addParameters({storySource:{source:__STORY__,locationsMap:__ADDS_MAP__}}).addDecorator(withSourceLoader(__STORY__,__ADDS_MAP__,"/AsyncPage.stories.tsx",[],{},"/Users/gido.manders/projecten/42/ui/src/core/AsyncPage",{})).addParameters({component:_AsyncPage__WEBPACK_IMPORTED_MODULE_8__.a}).add("when loaded",()=>{const state=Object(react_async__WEBPACK_IMPORTED_MODULE_2__.a)(loadData);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_3__.a,{body:!0},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_AsyncPage__WEBPACK_IMPORTED_MODULE_8__.a,{state:state},userPage=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_4__.a,null,userPage.content.map(user=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_5__.a,{key:user.id},user.email)))))}).add("when error",()=>{const state=Object(react_async__WEBPACK_IMPORTED_MODULE_2__.a)(rejectData);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_3__.a,{body:!0},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_AsyncPage__WEBPACK_IMPORTED_MODULE_8__.a,{state:state},userPage=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_4__.a,null,userPage.content.map(user=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_5__.a,{key:user.id},user.email)))))}).add("when error with custom text",()=>{const state=Object(react_async__WEBPACK_IMPORTED_MODULE_2__.a)(rejectData);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_3__.a,{body:!0},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_AsyncPage__WEBPACK_IMPORTED_MODULE_8__.a,{state:state,text:{error:"I’m sorry Dave, I’m afraid I can’t do that"}},userPage=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_4__.a,null,userPage.content.map(user=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_5__.a,{key:user.id},user.email)))))}).add("when error with no retry button",()=>{const state=Object(react_async__WEBPACK_IMPORTED_MODULE_2__.a)(rejectData);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_3__.a,{body:!0},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_AsyncPage__WEBPACK_IMPORTED_MODULE_8__.a,{state:state,showRetryButton:!1},userPage=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_4__.a,null,userPage.content.map(user=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_5__.a,{key:user.id},user.email)))))}).add("when loading",()=>{const state=Object(react_async__WEBPACK_IMPORTED_MODULE_2__.a)(loadingData);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_3__.a,{body:!0},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_AsyncPage__WEBPACK_IMPORTED_MODULE_8__.a,{state:state},userPage=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_4__.a,null,userPage.content.map(user=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_5__.a,{key:user.id},user.email)))))}).add("when loading with custom title",()=>{const state=Object(react_async__WEBPACK_IMPORTED_MODULE_2__.a)(loadingData);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_3__.a,{body:!0},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_AsyncPage__WEBPACK_IMPORTED_MODULE_8__.a,{state:state,text:{loading:"Loading Jeffrey"}},userPage=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_4__.a,null,userPage.content.map(user=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_5__.a,{key:user.id},user.email)))))}).add("when empty",()=>{const state=Object(react_async__WEBPACK_IMPORTED_MODULE_2__.a)(emptyData);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_3__.a,{body:!0},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_AsyncPage__WEBPACK_IMPORTED_MODULE_8__.a,{state:state},userPage=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_4__.a,null,userPage.content.map(user=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_5__.a,{key:user.id},user.email)))))}).add("when empty with custom title",()=>{const state=Object(react_async__WEBPACK_IMPORTED_MODULE_2__.a)(emptyData);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_3__.a,{body:!0},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_AsyncPage__WEBPACK_IMPORTED_MODULE_8__.a,{state:state,text:{empty:"No Jeffrey's match your parameters try again"}},userPage=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_4__.a,null,userPage.content.map(user=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_5__.a,{key:user.id},user.email)))))}).add("when empty with custom content",()=>{const state=Object(react_async__WEBPACK_IMPORTED_MODULE_2__.a)(emptyData);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_3__.a,{body:!0},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_AsyncPage__WEBPACK_IMPORTED_MODULE_8__.a,{state:state,emptyContent:()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_10__.b,{mode:"empty",title:"No results found"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_6__.a,{icon:"refresh",onClick:Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_11__.action)("clear filters")},"Clear filters"))},userPage=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_4__.a,null,userPage.content.map(user=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_5__.a,{key:user.id},user.email)))))})}.call(this,__webpack_require__(26)(module))},2283:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),function(module){var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),_storybook_react__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(14),_Avatar__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(102),_AvatarStack__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(353),withSourceLoader=__webpack_require__(15).withSource,__STORY__=(__webpack_require__(15).addSource,'import React from \'react\';\nimport { storiesOf } from \'@storybook/react\';\n\nimport Avatar from \'./Avatar\';\nimport AvatarStack from \'./AvatarStack\';\n\nstoriesOf(\'core|Avatar\', module)\n .addParameters({ component: Avatar })\n .add(\'default\', () => (\n
\n \n \n \n \n \n John Doe\n \n
\n ))\n .add(\'stacked avatars\', () => (\n
\n \n \n \n \n \n \n
\n ));\n'),__ADDS_MAP__={"core-avatar--stacked-avatars":{startLoc:{col:7,line:20},endLoc:{col:3,line:45},startBody:{col:26,line:20},endBody:{col:3,line:45}},"core-avatar--default":{startLoc:{col:7,line:9},endLoc:{col:3,line:19},startBody:{col:18,line:9},endBody:{col:3,line:19}}};Object(_storybook_react__WEBPACK_IMPORTED_MODULE_1__.storiesOf)("core|Avatar",module).addParameters({storySource:{source:__STORY__,locationsMap:__ADDS_MAP__}}).addDecorator(withSourceLoader(__STORY__,__ADDS_MAP__,"/Avatar.stories.tsx",[],{},"/Users/gido.manders/projecten/42/ui/src/core/Avatar",{})).addParameters({component:_Avatar__WEBPACK_IMPORTED_MODULE_2__.a}).add("default",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"text-center pt-5"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Avatar__WEBPACK_IMPORTED_MODULE_2__.a,{alt:"lg",size:"lg",src:"https://www.placecage.com/100/100"}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Avatar__WEBPACK_IMPORTED_MODULE_2__.a,{alt:"md",size:"md",src:"https://www.placecage.com/100/100"}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Avatar__WEBPACK_IMPORTED_MODULE_2__.a,{alt:"sm",size:"sm",src:"https://www.placecage.com/100/100"}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Avatar__WEBPACK_IMPORTED_MODULE_2__.a,{alt:"xs",size:"xs",src:"https://www.placecage.com/100/100"}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Avatar__WEBPACK_IMPORTED_MODULE_2__.a,{alt:"muted avatar",src:"https://www.placecage.com/100/100"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("small",{className:"text-muted"},"John Doe")))).add("stacked avatars",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"text-center"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_AvatarStack__WEBPACK_IMPORTED_MODULE_3__.a,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Avatar__WEBPACK_IMPORTED_MODULE_2__.a,{alt:"Avatar numbero 1",size:"xs",src:"https://www.placecage.com/100/100"}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Avatar__WEBPACK_IMPORTED_MODULE_2__.a,{alt:"Avatar numbero 2",size:"xs",src:"https://www.placecage.com/100/100"}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Avatar__WEBPACK_IMPORTED_MODULE_2__.a,{alt:"Avatar numbero 3",size:"xs",src:"https://www.placecage.com/100/100"}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Avatar__WEBPACK_IMPORTED_MODULE_2__.a,{alt:"Avatar numbero 4",size:"xs",src:"https://www.placecage.com/100/100"}))))}.call(this,__webpack_require__(26)(module))},2284:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),function(module){var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),_storybook_react__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(14),_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(2),reactstrap__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(43),reactstrap__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(17),_Button__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(3),withSourceLoader=__webpack_require__(15).withSource,__STORY__=(__webpack_require__(15).addSource,'import React from \'react\';\nimport { storiesOf } from \'@storybook/react\';\nimport { action } from \'@storybook/addon-actions\';\nimport { Row, Col } from \'reactstrap\';\n\nimport Button from \'./Button\';\n\nstoriesOf(\'core|buttons/Button\', module)\n .addParameters({ component: Button })\n .add(\'default\', () => {\n return (\n \n \n

Button

\n \n \n \n \n \n \n
\n \n \n

Button in progress

\n \n primary\n \n \n secondary\n \n \n success\n \n \n info\n \n \n warning\n \n \n danger\n \n
\n \n \n

Button disabled

\n \n primary\n \n \n secondary\n \n \n success\n \n \n info\n \n \n warning\n \n \n danger\n \n
\n \n
\n );\n })\n .add(\'as button with icon\', () => {\n return (\n \n \n

Button with icon

\n \n primary\n \n \n secondary\n \n \n success\n \n \n \n warning\n \n \n
\n \n \n

Button with icon right

\n \n primary\n \n \n secondary\n \n \n success\n \n \n info\n \n \n warning\n \n \n danger\n \n
\n \n \n

Button with icon in progress

\n \n primary\n \n \n secondary\n \n \n success\n \n \n info\n \n \n warning\n \n \n danger\n \n
\n \n \n

Button with icon disabled

\n \n primary\n \n \n secondary\n \n \n success\n \n \n info\n \n \n warning\n \n \n
\n \n
\n );\n })\n .add(\'icon size\', () => {\n return (\n \n \n

Button with small icon

\n \n primary\n \n \n secondary\n \n \n success\n \n \n info\n \n \n warning\n \n \n danger\n \n
\n \n \n

Button with default icon

\n \n primary\n \n \n secondary\n \n \n success\n \n \n \n warning\n \n \n
\n \n \n

Button with large icon

\n \n primary\n \n \n secondary\n \n \n success\n \n \n info\n \n \n warning\n \n \n danger\n \n
\n \n
\n );\n })\n .add(\'as outline\', () => {\n return (\n \n \n

Outline

\n \n primary\n \n \n secondary\n \n \n success\n \n \n info\n \n \n warning\n \n \n danger\n \n
\n \n \n

Outline in progress

\n \n primary\n \n \n secondary\n \n \n success\n \n \n info\n \n \n warning\n \n \n danger\n \n
\n \n \n

Outline disabled

\n \n primary\n \n \n secondary\n \n \n success\n \n \n info\n \n \n warning\n \n \n danger\n \n
\n \n
\n );\n })\n .add(\'as outline with icon\', () => {\n return (\n \n \n

Outline with icon

\n \n primary\n \n \n secondary\n \n \n success\n \n \n info\n \n \n warning\n \n \n danger\n \n
\n \n \n

Outline with icon right

\n \n primary\n \n \n secondary\n \n \n success\n \n \n info\n \n \n warning\n \n \n danger\n \n
\n \n \n

Outline with icon in progress

\n \n primary\n \n \n secondary\n \n \n success\n \n \n info\n \n \n warning\n \n \n danger\n \n
\n \n \n

Outline with icon disabled

\n \n primary\n \n \n secondary\n \n \n success\n \n \n info\n \n \n warning\n \n \n danger\n \n
\n \n
\n );\n })\n .add(\'as icon\', () => {\n return (\n \n \n

Icon

\n \n \n \n \n \n );\n });\n'),__ADDS_MAP__={"core-contentstate--with-children":{startLoc:{col:7,line:39},endLoc:{col:3,line:49},startBody:{col:24,line:39},endBody:{col:3,line:49}},"core-contentstate--loading":{startLoc:{col:7,line:36},endLoc:{col:3,line:38},startBody:{col:18,line:36},endBody:{col:3,line:38}},"core-contentstate--no-results":{startLoc:{col:7,line:27},endLoc:{col:3,line:35},startBody:{col:21,line:27},endBody:{col:3,line:35}},"core-contentstate--error":{startLoc:{col:7,line:18},endLoc:{col:3,line:26},startBody:{col:16,line:18},endBody:{col:3,line:26}},"core-contentstate--empty":{startLoc:{col:7,line:9},endLoc:{col:3,line:17},startBody:{col:16,line:9},endBody:{col:3,line:17}}};Object(_storybook_react__WEBPACK_IMPORTED_MODULE_1__.storiesOf)("core|ContentState",module).addParameters({storySource:{source:__STORY__,locationsMap:__ADDS_MAP__}}).addDecorator(withSourceLoader(__STORY__,__ADDS_MAP__,"/ContentState.stories.tsx",[],{},"/Users/gido.manders/projecten/42/ui/src/core/ContentState",{})).addParameters({component:_ContentState__WEBPACK_IMPORTED_MODULE_3__.a}).add("empty",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ContentState__WEBPACK_IMPORTED_MODULE_3__.a,{mode:"empty",title:"Accounts",subTitle:"There are no accounts yet"})).add("error",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ContentState__WEBPACK_IMPORTED_MODULE_3__.a,{mode:"error",title:"Bikes",subTitle:"All bikes are destroyed"})).add("no-results",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ContentState__WEBPACK_IMPORTED_MODULE_3__.a,{mode:"no-results",title:"Persons",subTitle:"No persons found matching criteria"})).add("loading",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ContentState__WEBPACK_IMPORTED_MODULE_3__.a,{mode:"loading",title:"Loading..."})).add("with children",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ContentState__WEBPACK_IMPORTED_MODULE_3__.a,{mode:"empty",title:"Bikes",subTitle:"There are no bikes yet"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_2__.a,{color:"info"},"Add bike")))}.call(this,__webpack_require__(26)(module))},2287:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),function(module){var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),_storybook_react__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(14),_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(2),_FlashMessage__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(135),withSourceLoader=__webpack_require__(15).withSource,__STORY__=(__webpack_require__(15).addSource,"import React from 'react';\nimport { storiesOf } from '@storybook/react';\nimport { action } from '@storybook/addon-actions';\n\nimport FlashMessage from './FlashMessage';\n\nstoriesOf('core|FlashMessage', module)\n .addParameters({ component: FlashMessage })\n .add('default', () => {\n return (\n <>\n \n Success\n \n \n Warning\n \n \n Warning\n \n \n Info\n \n \n );\n });\n"),__ADDS_MAP__={"core-flashmessage--default":{startLoc:{col:7,line:9},endLoc:{col:3,line:26},startBody:{col:18,line:9},endBody:{col:3,line:26}}};Object(_storybook_react__WEBPACK_IMPORTED_MODULE_1__.storiesOf)("core|FlashMessage",module).addParameters({storySource:{source:__STORY__,locationsMap:__ADDS_MAP__}}).addDecorator(withSourceLoader(__STORY__,__ADDS_MAP__,"/FlashMessage.stories.tsx",[],{},"/Users/gido.manders/projecten/42/ui/src/core/FlashMessage",{})).addParameters({component:_FlashMessage__WEBPACK_IMPORTED_MODULE_3__.a}).add("default",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_FlashMessage__WEBPACK_IMPORTED_MODULE_3__.a,{color:"success",onClose:Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)("success closed")},"Success"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_FlashMessage__WEBPACK_IMPORTED_MODULE_3__.a,{color:"danger",onClose:Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)("danger closed")},"Warning"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_FlashMessage__WEBPACK_IMPORTED_MODULE_3__.a,{color:"warning",onClose:Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)("warning closed")},"Warning"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_FlashMessage__WEBPACK_IMPORTED_MODULE_3__.a,{color:"info",onClose:Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)("info closed")},"Info")))}.call(this,__webpack_require__(26)(module))},2288:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),function(module){var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),_storybook_react__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(14),_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(2),_Icon__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(52),withSourceLoader=__webpack_require__(15).withSource,__STORY__=(__webpack_require__(15).addSource,'import React from \'react\';\nimport { storiesOf } from \'@storybook/react\';\nimport { action } from \'@storybook/addon-actions\';\n\nimport Icon from \'./Icon\';\n\nstoriesOf(\'core|Icons\', module)\n .addParameters({ component: Icon })\n .add(\'available icons\', () => {\n return (\n \n );\n })\n .add(\'examples\', () => {\n return (\n
\n \n \n \n \n \n \n \n \n \n \n \n
\n );\n });\n'),__ADDS_MAP__={"core-icons--examples":{startLoc:{col:7,line:22},endLoc:{col:3,line:38},startBody:{col:19,line:22},endBody:{col:3,line:38}},"core-icons--available-icons":{startLoc:{col:7,line:9},endLoc:{col:3,line:21},startBody:{col:26,line:9},endBody:{col:3,line:21}}};Object(_storybook_react__WEBPACK_IMPORTED_MODULE_1__.storiesOf)("core|Icons",module).addParameters({storySource:{source:__STORY__,locationsMap:__ADDS_MAP__}}).addDecorator(withSourceLoader(__STORY__,__ADDS_MAP__,"/Icon.stories.tsx",[],{},"/Users/gido.manders/projecten/42/ui/src/core/Icon",{})).addParameters({component:_Icon__WEBPACK_IMPORTED_MODULE_3__.a}).add("available icons",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("iframe",{style:{height:"100vh",width:"100%",border:0},title:"Material.io icons",src:"https://material.io/tools/icons/?icon=call_made&style=baseline"})).add("examples",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"d-flex flex-column align-items-center"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_3__.a,{icon:"child_care",color:"danger"}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_3__.a,{icon:"adb",color:"info"}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_3__.a,{icon:"restaurant",color:"muted"}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_3__.a,{icon:"train",color:"primary"}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_3__.a,{icon:"wb_sunny",color:"warning"}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_3__.a,{icon:"info",size:144}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_3__.a,{icon:"info",size:20}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_3__.a,{icon:"drafts"}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_3__.a,{icon:"drafts",disabled:!0}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_3__.a,{icon:"timer_3",onClick:Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)("timer clicked")}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_3__.a,{icon:"home",disabled:!0,onClick:Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)("timer clicked")})))}.call(this,__webpack_require__(26)(module))},2289:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),function(module){var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),_storybook_react__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(14),reactstrap__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(82),_Icon_Icon__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(52),_InfoBadge__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(175),withSourceLoader=__webpack_require__(15).withSource,__STORY__=(__webpack_require__(15).addSource,'import React from \'react\';\nimport { storiesOf } from \'@storybook/react\';\nimport { Button } from \'reactstrap\';\nimport Icon from \'../Icon/Icon\';\n\nimport InfoBadge from \'./InfoBadge\';\n\nstoriesOf(\'core|InfoBadge\', module)\n .addParameters({ component: InfoBadge })\n .add(\'default\', () => {\n return (\n
\n \n \n \n
\n
\n \n Unread messages\n \n
\n
\n \n \n \n
\n
\n \n \n \n
\n
\n \n \n \n
\n
\n
\n );\n });\n'),__ADDS_MAP__={"core-infobadge--default":{startLoc:{col:7,line:10},endLoc:{col:3,line:40},startBody:{col:18,line:10},endBody:{col:3,line:40}}};Object(_storybook_react__WEBPACK_IMPORTED_MODULE_1__.storiesOf)("core|InfoBadge",module).addParameters({storySource:{source:__STORY__,locationsMap:__ADDS_MAP__}}).addDecorator(withSourceLoader(__STORY__,__ADDS_MAP__,"/InfoBadge.stories.tsx",[],{},"/Users/gido.manders/projecten/42/ui/src/core/InfoBadge",{})).addParameters({component:_InfoBadge__WEBPACK_IMPORTED_MODULE_4__.a}).add("default",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"text-center mt-5"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_InfoBadge__WEBPACK_IMPORTED_MODULE_4__.a,{value:1,color:"primary"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon_Icon__WEBPACK_IMPORTED_MODULE_3__.a,{icon:"face"})),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("br",null),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("br",null),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_InfoBadge__WEBPACK_IMPORTED_MODULE_4__.a,{value:5,color:"success"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("strong",null,"Unread messages")),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("br",null),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("br",null),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_InfoBadge__WEBPACK_IMPORTED_MODULE_4__.a,{value:25,color:"warning"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_2__.a,{color:"primary"},"Unread messages")),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("br",null),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("br",null),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_InfoBadge__WEBPACK_IMPORTED_MODULE_4__.a,{value:1e3,color:"danger"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_2__.a,{color:"success"},"Spam folder")),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("br",null),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("br",null),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_InfoBadge__WEBPACK_IMPORTED_MODULE_4__.a,{value:"!",color:"warning"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_2__.a,{color:"danger"},"Self destruct")),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("br",null),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("br",null)))}.call(this,__webpack_require__(26)(module))},2290:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),function(module){var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),_storybook_react__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(14),_Loading__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(109),withSourceLoader=__webpack_require__(15).withSource,__STORY__=(__webpack_require__(15).addSource,"import React from 'react';\nimport { storiesOf } from '@storybook/react';\n\nimport Loading from './Loading';\n\nstoriesOf('core|Loading', module)\n .addParameters({ component: Loading })\n .add('default', () => {\n return ;\n })\n .add('custom text', () => {\n return (\n \n We are loading the world!\n \n );\n });\n"),__ADDS_MAP__={"core-loading--custom-text":{startLoc:{col:7,line:11},endLoc:{col:3,line:17},startBody:{col:22,line:11},endBody:{col:3,line:17}},"core-loading--default":{startLoc:{col:7,line:8},endLoc:{col:3,line:10},startBody:{col:18,line:8},endBody:{col:3,line:10}}};Object(_storybook_react__WEBPACK_IMPORTED_MODULE_1__.storiesOf)("core|Loading",module).addParameters({storySource:{source:__STORY__,locationsMap:__ADDS_MAP__}}).addDecorator(withSourceLoader(__STORY__,__ADDS_MAP__,"/Loading.stories.tsx",[],{},"/Users/gido.manders/projecten/42/ui/src/core/Loading",{})).addParameters({component:_Loading__WEBPACK_IMPORTED_MODULE_2__.a}).add("default",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Loading__WEBPACK_IMPORTED_MODULE_2__.a,null)).add("custom text",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Loading__WEBPACK_IMPORTED_MODULE_2__.a,null,"We are ",react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("b",null,"loading")," the world!"))}.call(this,__webpack_require__(26)(module))},2291:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),function(module){var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),_storybook_react__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(14),_LoadingPage__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(214),withSourceLoader=__webpack_require__(15).withSource,__STORY__=(__webpack_require__(15).addSource,"import React from 'react';\nimport { storiesOf } from '@storybook/react';\n\nimport LoadingPage from './LoadingPage';\n\nstoriesOf('core|LoadingPage', module)\n .addParameters({ component: LoadingPage })\n .add('default', () => {\n return ;\n })\n .add('custom height', () => {\n return ;\n })\n .add('custom style', () => {\n return ;\n });\n"),__ADDS_MAP__={"core-loadingpage--custom-style":{startLoc:{col:7,line:14},endLoc:{col:3,line:16},startBody:{col:23,line:14},endBody:{col:3,line:16}},"core-loadingpage--custom-height":{startLoc:{col:7,line:11},endLoc:{col:3,line:13},startBody:{col:24,line:11},endBody:{col:3,line:13}},"core-loadingpage--default":{startLoc:{col:7,line:8},endLoc:{col:3,line:10},startBody:{col:18,line:8},endBody:{col:3,line:10}}};Object(_storybook_react__WEBPACK_IMPORTED_MODULE_1__.storiesOf)("core|LoadingPage",module).addParameters({storySource:{source:__STORY__,locationsMap:__ADDS_MAP__}}).addDecorator(withSourceLoader(__STORY__,__ADDS_MAP__,"/LoadingPage.stories.tsx",[],{},"/Users/gido.manders/projecten/42/ui/src/core/LoadingPage",{})).addParameters({component:_LoadingPage__WEBPACK_IMPORTED_MODULE_2__.a}).add("default",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_LoadingPage__WEBPACK_IMPORTED_MODULE_2__.a,{className:"mt-0"})).add("custom height",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_LoadingPage__WEBPACK_IMPORTED_MODULE_2__.a,{height:200})).add("custom style",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_LoadingPage__WEBPACK_IMPORTED_MODULE_2__.a,{style:{backgroundColor:"red"}}))}.call(this,__webpack_require__(26)(module))},2292:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),function(module){var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),_storybook_react__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(14),_MoreOrLess__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(210),withSourceLoader=__webpack_require__(15).withSource,__STORY__=(__webpack_require__(15).addSource,"import React from 'react';\nimport { storiesOf } from '@storybook/react';\n\nimport MoreOrLess from './MoreOrLess';\n\nstoriesOf('core|MoreOrLess', module)\n .addParameters({ component: MoreOrLess })\n .add('default', () => {\n return (\n
\n (\n {label} \n )\n )}\n />\n
\n );\n });\n"),__ADDS_MAP__={"core-moreorless--default":{startLoc:{col:7,line:8},endLoc:{col:3,line:21},startBody:{col:18,line:8},endBody:{col:3,line:21}}};Object(_storybook_react__WEBPACK_IMPORTED_MODULE_1__.storiesOf)("core|MoreOrLess",module).addParameters({storySource:{source:__STORY__,locationsMap:__ADDS_MAP__}}).addDecorator(withSourceLoader(__STORY__,__ADDS_MAP__,"/MoreOrLess.stories.tsx",[],{},"/Users/gido.manders/projecten/42/ui/src/core/MoreOrLess",{})).addParameters({component:_MoreOrLess__WEBPACK_IMPORTED_MODULE_2__.a}).add("default",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"text-center"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_MoreOrLess__WEBPACK_IMPORTED_MODULE_2__.a,{limit:3,content:["aap","noot","mies","huis","boom","schip"].map(label=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span",{key:label},label," "))})))}.call(this,__webpack_require__(26)(module))},2293:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),function(module){var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),_storybook_react__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(14),react_router_dom__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(217),_NavigationItem__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(194),withSourceLoader=__webpack_require__(15).withSource,__STORY__=(__webpack_require__(15).addSource,'import React from \'react\';\nimport { storiesOf } from \'@storybook/react\';\nimport { BrowserRouter } from \'react-router-dom\';\n\nimport NavigationItem from \'./NavigationItem\';\n\nstoriesOf(\'core|NavigationItem\', module)\n .addParameters({ component: NavigationItem })\n .add(\'default\', () => {\n return (\n \n \n \n );\n })\n .add(\'with show boolean\', () => {\n return (\n \n \n \n );\n })\n .add(\'with show as function\', () => {\n return (\n \n true}\n to="/dashboard"\n icon="dashboard"\n text="Dashboard"\n />\n \n );\n })\n .add(\'with exact is false\', () => {\n return (\n \n \n \n );\n });\n'),__ADDS_MAP__={"core-navigationitem--with-exact-is-false":{startLoc:{col:7,line:40},endLoc:{col:3,line:51},startBody:{col:30,line:40},endBody:{col:3,line:51}},"core-navigationitem--with-show-as-function":{startLoc:{col:7,line:28},endLoc:{col:3,line:39},startBody:{col:32,line:28},endBody:{col:3,line:39}},"core-navigationitem--with-show-boolean":{startLoc:{col:7,line:16},endLoc:{col:3,line:27},startBody:{col:28,line:16},endBody:{col:3,line:27}},"core-navigationitem--default":{startLoc:{col:7,line:9},endLoc:{col:3,line:15},startBody:{col:18,line:9},endBody:{col:3,line:15}}};Object(_storybook_react__WEBPACK_IMPORTED_MODULE_1__.storiesOf)("core|NavigationItem",module).addParameters({storySource:{source:__STORY__,locationsMap:__ADDS_MAP__}}).addDecorator(withSourceLoader(__STORY__,__ADDS_MAP__,"/Navigation.stories.tsx",[],{},"/Users/gido.manders/projecten/42/ui/src/core/NavigationItem",{})).addParameters({component:_NavigationItem__WEBPACK_IMPORTED_MODULE_3__.a}).add("default",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_2__.a,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_NavigationItem__WEBPACK_IMPORTED_MODULE_3__.a,{to:"/dashboard",icon:"dashboard",text:"Dashboard"}))).add("with show boolean",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_2__.a,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_NavigationItem__WEBPACK_IMPORTED_MODULE_3__.a,{show:!0,to:"/dashboard",icon:"dashboard",text:"Dashboard"}))).add("with show as function",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_2__.a,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_NavigationItem__WEBPACK_IMPORTED_MODULE_3__.a,{show:()=>!0,to:"/dashboard",icon:"dashboard",text:"Dashboard"}))).add("with exact is false",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_2__.a,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_NavigationItem__WEBPACK_IMPORTED_MODULE_3__.a,{to:"/dashboard",icon:"dashboard",text:"Dashboard",exact:!1})))}.call(this,__webpack_require__(26)(module))},2294:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),function(module){var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),_storybook_react__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(14),_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(2),_OpenCloseModal__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(124),reactstrap__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(23),_Button_Button__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(3),_form_RadioGroup_RadioGroup__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(51),withSourceLoader=__webpack_require__(15).withSource,__STORY__=(__webpack_require__(15).addSource,"import React, { useState } from 'react';\nimport { storiesOf } from '@storybook/react';\nimport { action } from '@storybook/addon-actions';\n\nimport { OpenCloseModal } from './OpenCloseModal';\nimport { Card } from 'reactstrap';\nimport Button from '../Button/Button';\nimport RadioGroup from '../../form/RadioGroup/RadioGroup';\n\nstoriesOf('core|OpenCloseModal', module)\n .add('basic', () => {\n const [isOpen, setIsOpen] = useState(false);\n const [inProgress, setInProgress] = useState(false);\n const [choice, setChoice] = useState();\n\n function onSave() {\n action('save button was clicked');\n\n setInProgress(true);\n\n setTimeout(() => {\n setIsOpen(false);\n }, 2000);\n }\n\n function onClose() {\n action('modal was closed');\n setIsOpen(false);\n }\n\n return (\n \n \n \n option}\n />\n \n \n );\n })\n .add('without heading', () => {\n const [isOpen, setIsOpen] = useState(false);\n\n return (\n \n \n setIsOpen(false)}\n onClose={() => setIsOpen(false)}\n text={{ save: 'Yes', cancel: 'No' }}\n >\n

\n You have to take a break once in a while. Did you go for a walk\n outside to breathe some fresh air?\n

\n \n
\n );\n })\n .add('without buttons', () => {\n const [isOpen, setIsOpen] = useState(false);\n\n function onClose() {\n setIsOpen(false);\n }\n\n return (\n \n \n \n

\n You need to wash your hands if you want to prevent getting Corona\n virus.\n

\n \n
\n );\n })\n .add('custom button text', () => {\n const [isOpen, setIsOpen] = useState(false);\n const [choice, setChoice] = useState();\n\n function onSave() {\n alert(`You chose to ${choice.value} the diamond`);\n setIsOpen(false);\n }\n\n function onClose() {\n alert(\n `Darn! You tricked and the diamond fell in an endless hole in the ground...`\n );\n setIsOpen(false);\n }\n\n return (\n \n

You found a box!

\n \n \n

Inside the box you find a diamond. What do you want to do?

\n option.label}\n />\n \n
\n );\n });\n"),__ADDS_MAP__={"core-openclosemodal--custom-button-text":{startLoc:{col:7,line:98},endLoc:{col:3,line:143},startBody:{col:29,line:98},endBody:{col:3,line:143}},"core-openclosemodal--without-buttons":{startLoc:{col:7,line:75},endLoc:{col:3,line:97},startBody:{col:26,line:75},endBody:{col:3,line:97}},"core-openclosemodal--without-heading":{startLoc:{col:7,line:55},endLoc:{col:3,line:74},startBody:{col:26,line:55},endBody:{col:3,line:74}},"core-openclosemodal--basic":{startLoc:{col:7,line:11},endLoc:{col:3,line:54},startBody:{col:16,line:11},endBody:{col:3,line:54}}};Object(_storybook_react__WEBPACK_IMPORTED_MODULE_1__.storiesOf)("core|OpenCloseModal",module).addParameters({storySource:{source:__STORY__,locationsMap:__ADDS_MAP__}}).addDecorator(withSourceLoader(__STORY__,__ADDS_MAP__,"/OpenCloseModal.stories.tsx",[],{},"/Users/gido.manders/projecten/42/ui/src/core/OpenCloseModal",{})).add("basic",()=>{const[isOpen,setIsOpen]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(!1),[inProgress,setInProgress]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(!1),[choice,setChoice]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)();return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_4__.a,{body:!0},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Button_Button__WEBPACK_IMPORTED_MODULE_5__.a,{onClick:()=>setIsOpen(!0)},"Start inquiry"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_OpenCloseModal__WEBPACK_IMPORTED_MODULE_3__.a,{isOpen:isOpen,inProgress:inProgress,onClose:function onClose(){Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)("modal was closed"),setIsOpen(!1)},onSave:function onSave(){Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)("save button was clicked"),setInProgress(!0),setTimeout(()=>{setIsOpen(!1)},2e3)},label:"What are you doing?"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_form_RadioGroup_RadioGroup__WEBPACK_IMPORTED_MODULE_6__.b,{value:choice,onChange:setChoice,options:["Watching a movie","I work at 42, the most awesome company in the world!","Nothing"],optionForValue:option=>option})))}).add("without heading",()=>{const[isOpen,setIsOpen]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(!1);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_4__.a,{body:!0},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Button_Button__WEBPACK_IMPORTED_MODULE_5__.a,{onClick:()=>setIsOpen(!0)},"Inspire me"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_OpenCloseModal__WEBPACK_IMPORTED_MODULE_3__.a,{isOpen:isOpen,onSave:()=>setIsOpen(!1),onClose:()=>setIsOpen(!1),text:{save:"Yes",cancel:"No"}},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p",null,"You have to take a break once in a while. Did you go for a walk outside to breathe some fresh air?")))}).add("without buttons",()=>{const[isOpen,setIsOpen]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(!1);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_4__.a,{body:!0},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Button_Button__WEBPACK_IMPORTED_MODULE_5__.a,{onClick:()=>setIsOpen(!0)},"What does Baymax say?"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_OpenCloseModal__WEBPACK_IMPORTED_MODULE_3__.a,{isOpen:isOpen,onClose:function onClose(){setIsOpen(!1)},label:"Your personal health companion"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p",null,"You need to wash your hands if you want to prevent getting Corona virus.")))}).add("custom button text",()=>{const[isOpen,setIsOpen]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(!1),[choice,setChoice]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)();return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_4__.a,{body:!0},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p",null,"You found a box!"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Button_Button__WEBPACK_IMPORTED_MODULE_5__.a,{onClick:()=>setIsOpen(!0)},"Check what's inside"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_OpenCloseModal__WEBPACK_IMPORTED_MODULE_3__.a,{isOpen:isOpen,onClose:function onClose(){alert("Darn! You tricked and the diamond fell in an endless hole in the ground..."),setIsOpen(!1)},onSave:function onSave(){alert(`You chose to ${choice.value} the diamond`),setIsOpen(!1)},label:"It's a special gift!",text:{save:"Confirm",cancel:""}},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p",null,"Inside the box you find a diamond. What do you want to do?"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_form_RadioGroup_RadioGroup__WEBPACK_IMPORTED_MODULE_6__.b,{value:choice,onChange:setChoice,options:[{label:"Sell it!",value:"sell"},{label:"Put it in my pocket",value:"store"}],optionForValue:option=>option.label})))})}.call(this,__webpack_require__(26)(module))},2295:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),function(module){var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),_storybook_react__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(14),_Pager__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(212),_utilities_page_page__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(128),withSourceLoader=__webpack_require__(15).withSource,__STORY__=(__webpack_require__(15).addSource,"import React, { useState } from 'react';\nimport { storiesOf } from '@storybook/react';\n\nimport Pager from './Pager';\nimport { pageOf } from '../../utilities/page/page';\n\nstoriesOf('core|Pager', module)\n .addParameters({ component: Pager })\n .add('default', () => {\n const [pageNumber, setPageNumber] = useState(1);\n\n const page = pageOf([1, 2, 3, 4, 5, 6, 7, 8, 9, 10], pageNumber, 2);\n\n return (\n
\n

You are on page {pageNumber}

\n\n \n
\n );\n });\n"),__ADDS_MAP__={"core-pager--default":{startLoc:{col:7,line:9},endLoc:{col:3,line:21},startBody:{col:18,line:9},endBody:{col:3,line:21}}};Object(_storybook_react__WEBPACK_IMPORTED_MODULE_1__.storiesOf)("core|Pager",module).addParameters({storySource:{source:__STORY__,locationsMap:__ADDS_MAP__}}).addDecorator(withSourceLoader(__STORY__,__ADDS_MAP__,"/Pager.stories.tsx",[],{},"/Users/gido.manders/projecten/42/ui/src/core/Pager",{})).addParameters({component:_Pager__WEBPACK_IMPORTED_MODULE_2__.a}).add("default",()=>{const[pageNumber,setPageNumber]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(1),page=Object(_utilities_page_page__WEBPACK_IMPORTED_MODULE_3__.a)([1,2,3,4,5,6,7,8,9,10],pageNumber,2);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"text-center"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h2",null,"You are on page ",pageNumber),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Pager__WEBPACK_IMPORTED_MODULE_2__.a,{page:page,onChange:setPageNumber}))})}.call(this,__webpack_require__(26)(module))},2296:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),function(module){var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),_storybook_react__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(14),_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(2),_Pagination__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(211),withSourceLoader=__webpack_require__(15).withSource,__STORY__=(__webpack_require__(15).addSource,"import React from 'react';\nimport { storiesOf } from '@storybook/react';\nimport { action } from '@storybook/addon-actions';\n\nimport Pagination from './Pagination';\n\nstoriesOf('core|Pagination', module)\n .addParameters({ component: Pagination })\n .add('default', () => {\n const page = {\n content: [1, 2, 3],\n last: false,\n totalElements: 100,\n totalPages: 10,\n size: 10,\n number: 5,\n first: false,\n numberOfElements: 10\n };\n\n return (\n
\n \n
\n );\n });\n"),__ADDS_MAP__={"core-pagination--default":{startLoc:{col:7,line:9},endLoc:{col:3,line:26},startBody:{col:18,line:9},endBody:{col:3,line:26}}};Object(_storybook_react__WEBPACK_IMPORTED_MODULE_1__.storiesOf)("core|Pagination",module).addParameters({storySource:{source:__STORY__,locationsMap:__ADDS_MAP__}}).addDecorator(withSourceLoader(__STORY__,__ADDS_MAP__,"/Pagination.stories.tsx",[],{},"/Users/gido.manders/projecten/42/ui/src/core/Pagination",{})).addParameters({component:_Pagination__WEBPACK_IMPORTED_MODULE_3__.a}).add("default",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"text-center"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Pagination__WEBPACK_IMPORTED_MODULE_3__.a,{page:{content:[1,2,3],last:!1,totalElements:100,totalPages:10,size:10,number:5,first:!1,numberOfElements:10},onChange:Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)("page changed")})))}.call(this,__webpack_require__(26)(module))},2297:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),function(module){var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),_storybook_react__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(14),_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(2),reactstrap__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(43),reactstrap__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(17),reactstrap__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(83),reactstrap__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(81),reactstrap__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__(23),reactstrap__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__(937),reactstrap__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__(512),reactstrap__WEBPACK_IMPORTED_MODULE_10__=__webpack_require__(2339),_Popover__WEBPACK_IMPORTED_MODULE_11__=__webpack_require__(53),_Tag_Tag__WEBPACK_IMPORTED_MODULE_12__=__webpack_require__(37),_ConfirmButton_ConfirmButton__WEBPACK_IMPORTED_MODULE_13__=__webpack_require__(70),_Button_Button__WEBPACK_IMPORTED_MODULE_14__=__webpack_require__(3),_OpenCloseModal_OpenCloseModal__WEBPACK_IMPORTED_MODULE_15__=__webpack_require__(124),withSourceLoader=__webpack_require__(15).withSource,__STORY__=(__webpack_require__(15).addSource,'import React, { useState } from \'react\';\nimport { storiesOf } from \'@storybook/react\';\nimport { action } from \'@storybook/addon-actions\';\nimport {\n Card,\n CardBody,\n CardFooter,\n CardHeader,\n Col,\n ListGroup,\n ListGroupItem,\n Row\n} from \'reactstrap\';\n\nimport Popover from \'./Popover\';\nimport Tag from \'../Tag/Tag\';\n\nimport ConfirmButton from \'../ConfirmButton/ConfirmButton\';\nimport Button from \'../Button/Button\';\nimport { OpenCloseModal } from \'../OpenCloseModal/OpenCloseModal\';\n\nstoriesOf(\'core|Popover\', module)\n .addParameters({ component: Popover })\n .add(\'default\', () => (\n
\n \n \n }>\n \n \n\n Can be wrapped around any component}>\n \n \n\n \n \n \n\n Hover this button!}>\n \n \n \n \n
\n ))\n\n .add(\'taking control\', () => {\n const [isOpen, setIsOpen] = useState(false);\n\n return (\n
\n \n \n Status: {isOpen ? \'opened\' : \'closed\'}\n \n \n \n \n \n \n

\n Note: you can take complete controll over the Popover by using the{\' \'}\n

isOpen
prop. Once you\n make it
true
or{\' \'}\n
false
the hover behavior\n will be disabled.\n

\n \n
\n
\n );\n })\n\n .add(\'on click outside\', () => {\n const [isOpen, setIsOpen] = useState(false);\n\n return (\n
\n \n \n Status: {isOpen ? \'opened\' : \'closed\'}\n setIsOpen(false)}\n target="Open"\n >\n \n \n \n \n \n

\n Note: you can take complete controll over the Popover by using the{\' \'}\n

isOpen
prop. Once you\n make it
true
or{\' \'}\n
false
the hover behavior\n will be disabled.\n

\n\n

\n In combination with{\' \'}\n

onClickOutside
you can\n close the popover when clicked anywhere outside the popover.\n

\n \n
\n
\n );\n })\n\n .add(\'alignment\', () => (\n <>\n
Alignment
\n \n \n }\n placement="bottom"\n >\n Placement bottom\n \n\n }\n placement="left"\n >\n Placement left\n \n }\n placement="right"\n >\n Placement right\n \n\n }\n placement="top"\n >\n Placement top\n \n \n \n
\n\n
Alignment-modifier
\n \n \n Hover me! }\n placement="right-start"\n >\n right-start\n \n\n Hover me! } placement="right">\n right\n \n\n Hover me! } placement="right-end">\n right-end\n \n \n \n \n ))\n\n .add(\'distance and offset\', () => (\n <>\n
Distance
\n \n \n }\n distance={15}\n >\n far away\n \n\n }>\n default distance\n \n\n }\n distance={3}\n >\n very close\n \n \n \n\n
Offset
\n \n \n }\n offset={100}\n >\n positive offset\n \n\n }>\n default offset\n \n\n }\n offset={-100}\n >\n negative offset\n \n \n \n \n ))\n\n .add(\'custom wrapper\', () => (\n <>\n
Custom wrapper
\n \n \n \n By default, my target is wrapped in a span\n \n\n \n You can change that with the tag property\n \n \n \n \n ));\n\nfunction TinyCrud() {\n const [open, setOpen] = useState(false);\n\n const persons = [\'aap\', \'noot\', \'mies\'];\n\n return (\n \n {persons.map(person => (\n \n
\n {person}\n\n
\n setOpen(true)}\n />\n\n \n
\n
\n
\n ))}\n \n \n \n\n setOpen(false)}>\n Form here?\n \n
\n );\n}\n\nfunction NiceCard() {\n return (\n \n This is a nice header\n \n Lorem ipsum, dolor sit amet consectetur adipisicing elit. Provident\n eveniet, earum corrupti dicta quidem excepturi cupiditate consequuntur\n soluta obcaecati alias nobis eaque magnam sed et fugiat facere cumque,\n quaerat laborum!\n \n Containing a footer\n \n );\n}\n'),__ADDS_MAP__={"core-popover--custom-wrapper":{startLoc:{col:7,line:219},endLoc:{col:3,line:234},startBody:{col:25,line:219},endBody:{col:3,line:234}},"core-popover--distance-and-offset":{startLoc:{col:7,line:169},endLoc:{col:3,line:217},startBody:{col:30,line:169},endBody:{col:3,line:217}},"core-popover--alignment":{startLoc:{col:7,line:112},endLoc:{col:3,line:167},startBody:{col:20,line:112},endBody:{col:3,line:167}},"core-popover--on-click-outside":{startLoc:{col:7,line:75},endLoc:{col:3,line:110},startBody:{col:27,line:75},endBody:{col:3,line:110}},"core-popover--taking-control":{startLoc:{col:7,line:48},endLoc:{col:3,line:73},startBody:{col:25,line:48},endBody:{col:3,line:73}},"core-popover--default":{startLoc:{col:7,line:24},endLoc:{col:3,line:46},startBody:{col:18,line:24},endBody:{col:3,line:46}}};function TinyCrud(){const[open,setOpen]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(!1);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_5__.a,{style:{width:300}},["aap","noot","mies"].map(person=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_6__.a,{key:person},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"d-flex justify-content-between"},person,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Button_Button__WEBPACK_IMPORTED_MODULE_14__.a,{icon:"edit",className:"mt-1",onClick:()=>setOpen(!0)}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ConfirmButton_ConfirmButton__WEBPACK_IMPORTED_MODULE_13__.a,{dialogText:"You sure son?",icon:"delete",onConfirm:Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)("delete clicked")}))))),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_6__.a,{className:"d-flex justify-content-center"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Button_Button__WEBPACK_IMPORTED_MODULE_14__.a,{icon:"add",className:"mt-1",onClick:()=>setOpen(!0)},"Add person")),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_OpenCloseModal_OpenCloseModal__WEBPACK_IMPORTED_MODULE_15__.a,{isOpen:open,onClose:()=>setOpen(!1)},"Form here?"))}function NiceCard(){return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_7__.a,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_8__.a,null,"This is a nice header"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_9__.a,null,"Lorem ipsum, dolor sit amet consectetur adipisicing elit. Provident eveniet, earum corrupti dicta quidem excepturi cupiditate consequuntur soluta obcaecati alias nobis eaque magnam sed et fugiat facere cumque, quaerat laborum!"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_10__.a,null,"Containing a footer"))}Object(_storybook_react__WEBPACK_IMPORTED_MODULE_1__.storiesOf)("core|Popover",module).addParameters({storySource:{source:__STORY__,locationsMap:__ADDS_MAP__}}).addDecorator(withSourceLoader(__STORY__,__ADDS_MAP__,"/Popover.stories.tsx",[],{},"/Users/gido.manders/projecten/42/ui/src/core/Popover",{})).addParameters({component:_Popover__WEBPACK_IMPORTED_MODULE_11__.a}).add("default",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"d-flex flex-column"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_3__.a,{className:"my-3"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_4__.a,{className:"d-flex justify-content-around align-items-center"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Popover__WEBPACK_IMPORTED_MODULE_11__.a,{target:react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tag_Tag__WEBPACK_IMPORTED_MODULE_12__.a,{color:"danger",text:"Hover me!"})},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(TinyCrud,null)),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Popover__WEBPACK_IMPORTED_MODULE_11__.a,{target:react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h5",null,"Can be wrapped around any component")},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(TinyCrud,null)),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Popover__WEBPACK_IMPORTED_MODULE_11__.a,{target:"Plain text"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(NiceCard,null)),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Popover__WEBPACK_IMPORTED_MODULE_11__.a,{target:react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Button_Button__WEBPACK_IMPORTED_MODULE_14__.a,null,"Hover this button!")},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(TinyCrud,null)))))).add("taking control",()=>{const[isOpen,setIsOpen]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(!1);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"d-flex flex-column"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_3__.a,{className:"my-3"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_4__.a,{className:"d-flex justify-content-around align-items-center"},"Status: ",isOpen?"opened":"closed",react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Popover__WEBPACK_IMPORTED_MODULE_11__.a,{isOpen:isOpen,target:"Open"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(TinyCrud,null)),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Button_Button__WEBPACK_IMPORTED_MODULE_14__.a,{onClick:()=>setIsOpen(!isOpen)},"Show / hide")),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_4__.a,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p",null,"Note: you can take complete controll over the Popover by using the"," ",react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("pre",{className:"d-inline text-info"},"isOpen")," prop. Once you make it ",react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("pre",{className:"d-inline text-info"},"true")," or"," ",react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("pre",{className:"d-inline text-info"},"false")," the hover behavior will be disabled."))))}).add("on click outside",()=>{const[isOpen,setIsOpen]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(!1);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"d-flex flex-column"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_3__.a,{className:"my-3"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_4__.a,{className:"d-flex justify-content-around align-items-center"},"Status: ",isOpen?"opened":"closed",react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Popover__WEBPACK_IMPORTED_MODULE_11__.a,{isOpen:isOpen,onClickOutside:()=>setIsOpen(!1),target:"Open"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(NiceCard,null)),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Button_Button__WEBPACK_IMPORTED_MODULE_14__.a,{onClick:()=>setIsOpen(!0)},"Show")),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_4__.a,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p",null,"Note: you can take complete controll over the Popover by using the"," ",react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("pre",{className:"d-inline text-info"},"isOpen")," prop. Once you make it ",react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("pre",{className:"d-inline text-info"},"true")," or"," ",react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("pre",{className:"d-inline text-info"},"false")," the hover behavior will be disabled."),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p",null,"In combination with"," ",react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("pre",{className:"d-inline text-info"},"onClickOutside")," you can close the popover when clicked anywhere outside the popover."))))}).add("alignment",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h6",null,"Alignment"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_3__.a,{className:"mt-4"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_4__.a,{className:"d-flex justify-content-around"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Popover__WEBPACK_IMPORTED_MODULE_11__.a,{target:react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tag_Tag__WEBPACK_IMPORTED_MODULE_12__.a,{color:"danger",text:"Hover me!"}),placement:"bottom"},"Placement bottom"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Popover__WEBPACK_IMPORTED_MODULE_11__.a,{target:react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tag_Tag__WEBPACK_IMPORTED_MODULE_12__.a,{color:"warning",text:"Hover me!"}),placement:"left"},"Placement left"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Popover__WEBPACK_IMPORTED_MODULE_11__.a,{target:react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tag_Tag__WEBPACK_IMPORTED_MODULE_12__.a,{color:"primary",text:"Hover me!"}),placement:"right"},"Placement right"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Popover__WEBPACK_IMPORTED_MODULE_11__.a,{target:react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tag_Tag__WEBPACK_IMPORTED_MODULE_12__.a,{color:"success",text:"Hover me!"}),placement:"top"},"Placement top"))),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("hr",null),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h6",null,"Alignment-modifier"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_3__.a,{className:"mt-3"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_4__.a,{className:"d-flex justify-content-around"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Popover__WEBPACK_IMPORTED_MODULE_11__.a,{target:react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Button_Button__WEBPACK_IMPORTED_MODULE_14__.a,null," Hover me! "),placement:"right-start"},"right-start"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Popover__WEBPACK_IMPORTED_MODULE_11__.a,{target:react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Button_Button__WEBPACK_IMPORTED_MODULE_14__.a,null," Hover me! "),placement:"right"},"right"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Popover__WEBPACK_IMPORTED_MODULE_11__.a,{target:react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Button_Button__WEBPACK_IMPORTED_MODULE_14__.a,null," Hover me! "),placement:"right-end"},"right-end"))))).add("distance and offset",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h6",null,"Distance"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_3__.a,{className:"mt-4"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_4__.a,{className:"d-flex justify-content-around"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Popover__WEBPACK_IMPORTED_MODULE_11__.a,{target:react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tag_Tag__WEBPACK_IMPORTED_MODULE_12__.a,{color:"success",text:"far away"}),distance:15},"far away"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Popover__WEBPACK_IMPORTED_MODULE_11__.a,{target:react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tag_Tag__WEBPACK_IMPORTED_MODULE_12__.a,{color:"success",text:"default offset"})},"default distance"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Popover__WEBPACK_IMPORTED_MODULE_11__.a,{target:react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tag_Tag__WEBPACK_IMPORTED_MODULE_12__.a,{color:"success",text:"very close"}),distance:3},"very close"))),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h6",null,"Offset"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_3__.a,{className:"mt-4"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_4__.a,{className:"d-flex justify-content-around"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Popover__WEBPACK_IMPORTED_MODULE_11__.a,{target:react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tag_Tag__WEBPACK_IMPORTED_MODULE_12__.a,{color:"success",text:"positive offset"}),offset:100},"positive offset"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Popover__WEBPACK_IMPORTED_MODULE_11__.a,{target:react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tag_Tag__WEBPACK_IMPORTED_MODULE_12__.a,{color:"success",text:"default offset"})},"default offset"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Popover__WEBPACK_IMPORTED_MODULE_11__.a,{target:react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tag_Tag__WEBPACK_IMPORTED_MODULE_12__.a,{color:"success",text:"negative offset"}),offset:-100},"negative offset"))))).add("custom wrapper",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h6",null,"Custom wrapper"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_3__.a,{className:"mt-4"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_4__.a,{className:"d-flex justify-content-around"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Popover__WEBPACK_IMPORTED_MODULE_11__.a,{target:"My target is in a "},"By default, my target is wrapped in a span"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Popover__WEBPACK_IMPORTED_MODULE_11__.a,{target:"My target is in a
",tag:"div"},"You can change that with the tag property")))))}.call(this,__webpack_require__(26)(module))},2298:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),function(module){var Step,react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),_storybook_react__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(14),_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(2),_ProgressStepper__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(192),withSourceLoader=__webpack_require__(15).withSource,__STORY__=(__webpack_require__(15).addSource,"import React from 'react';\nimport { storiesOf } from '@storybook/react';\nimport { action } from '@storybook/addon-actions';\n\nimport ProgressStepper from './ProgressStepper';\n\nenum Step {\n PRIMARY = 'primary',\n SECONDARY = 'secondary',\n SUCCESS = 'success',\n INFO = 'info',\n WARNING = 'warning',\n DANGER = 'danger',\n LINK = 'link'\n}\n\nconst steps: Step[] = [\n Step.PRIMARY,\n Step.SECONDARY,\n Step.SUCCESS,\n Step.INFO,\n Step.WARNING,\n Step.DANGER,\n Step.LINK\n];\n\nstoriesOf('core|ProgressStepper', module)\n .addParameters({ component: ProgressStepper })\n .add('colors', () => {\n return (\n
\n \n steps={steps}\n onClick={action(`Clicked`)}\n isStepClickable={() => true}\n titleForStep={step => step}\n colorForStep={step => step}\n />\n
\n );\n });\n"),__ADDS_MAP__={"core-progressstepper--colors":{startLoc:{col:7,line:29},endLoc:{col:3,line:41},startBody:{col:17,line:29},endBody:{col:3,line:41}}};!function(Step){Step.PRIMARY="primary",Step.SECONDARY="secondary",Step.SUCCESS="success",Step.INFO="info",Step.WARNING="warning",Step.DANGER="danger",Step.LINK="link"}(Step||(Step={}));const steps=[Step.PRIMARY,Step.SECONDARY,Step.SUCCESS,Step.INFO,Step.WARNING,Step.DANGER,Step.LINK];Object(_storybook_react__WEBPACK_IMPORTED_MODULE_1__.storiesOf)("core|ProgressStepper",module).addParameters({storySource:{source:__STORY__,locationsMap:__ADDS_MAP__}}).addDecorator(withSourceLoader(__STORY__,__ADDS_MAP__,"/ProgressStepper.stories.tsx",[],{},"/Users/gido.manders/projecten/42/ui/src/core/ProgressStepper",{})).addParameters({component:_ProgressStepper__WEBPACK_IMPORTED_MODULE_3__.a}).add("colors",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"text-center"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ProgressStepper__WEBPACK_IMPORTED_MODULE_3__.a,{steps:steps,onClick:Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)("Clicked"),isStepClickable:()=>!0,titleForStep:step=>step,colorForStep:step=>step})))}.call(this,__webpack_require__(26)(module))},2299:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),function(module){__webpack_require__.d(__webpack_exports__,"Status",(function(){return Status}));var Step,Status,react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),_storybook_react__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(14),_ProgressStepper__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(192),withSourceLoader=__webpack_require__(15).withSource,__STORY__=(__webpack_require__(15).addSource,"import React, { useState } from 'react';\nimport { storiesOf } from '@storybook/react';\n\nimport ProgressStepper from './ProgressStepper';\n\nenum Step {\n BILLING = 'Billing',\n COUPON = 'Coupon',\n FINISHED = 'Finished'\n}\n\nexport enum Status {\n COMPLETE = 'complete',\n INCOMPLETE = 'incomplete',\n ERROR = 'error'\n}\n\nconst steps = [Step.BILLING, Step.COUPON, Step.FINISHED];\n\ntype ShoppingWizardState = { [x in Step]: Status };\n\nconst initialState: ShoppingWizardState = {\n [Step.BILLING]: Status.INCOMPLETE,\n [Step.COUPON]: Status.INCOMPLETE,\n [Step.FINISHED]: Status.INCOMPLETE\n};\n\nstoriesOf('core|ProgressStepper', module)\n .addParameters({ component: ProgressStepper })\n .add('example', () => {\n const [status, setStatus] = useState(initialState);\n const [current, setCurrent] = useState(Step.BILLING);\n\n function onSubmit() {\n // Add a random error chance\n if (Math.random() > 0.5) {\n setStatus({ ...status, [current]: Status.ERROR });\n return;\n }\n\n const currentIndex = steps.indexOf(current);\n const index = Math.min(steps.length - 1, currentIndex + 1);\n\n const nextStep = steps[index];\n\n setStatus({\n ...status,\n [current]: Status.COMPLETE\n });\n setCurrent(nextStep);\n }\n\n return (\n <>\n
\n \n className=\"ml-auto\"\n steps={steps}\n onClick={step => setCurrent(step)}\n isStepClickable={step => {\n // The current step is never clickable\n if (step === current) {\n return false;\n }\n\n return status[step] === Status.COMPLETE;\n }}\n titleForStep={step => step}\n colorForStep={step => {\n const stepStatus = status[step];\n\n // Error status always wins from the current status.\n if (stepStatus === Status.ERROR) {\n return 'danger';\n }\n\n // When not in error and the step is the current step make it primary\n if (step === current) {\n return 'primary';\n }\n\n return stepStatus === Status.COMPLETE ? 'success' : 'secondary';\n }}\n />\n
\n
\n

Form: {current}

\n\n \n\n

\n Press the "Submit" button to jump to the next stage. It\n will either succeed or fail randomly.\n

\n
\n \n );\n });\n"),__ADDS_MAP__={"core-progressstepper--example":{startLoc:{col:7,line:30},endLoc:{col:3,line:100},startBody:{col:18,line:30},endBody:{col:3,line:100}}};!function(Step){Step.BILLING="Billing",Step.COUPON="Coupon",Step.FINISHED="Finished"}(Step||(Step={})),function(Status){Status.COMPLETE="complete",Status.INCOMPLETE="incomplete",Status.ERROR="error"}(Status||(Status={}));const steps=[Step.BILLING,Step.COUPON,Step.FINISHED],initialState={[Step.BILLING]:Status.INCOMPLETE,[Step.COUPON]:Status.INCOMPLETE,[Step.FINISHED]:Status.INCOMPLETE};Object(_storybook_react__WEBPACK_IMPORTED_MODULE_1__.storiesOf)("core|ProgressStepper",module).addParameters({storySource:{source:__STORY__,locationsMap:__ADDS_MAP__}}).addDecorator(withSourceLoader(__STORY__,__ADDS_MAP__,"/ProgressStepperExample.stories.tsx",[],{},"/Users/gido.manders/projecten/42/ui/src/core/ProgressStepper",{})).addParameters({component:_ProgressStepper__WEBPACK_IMPORTED_MODULE_2__.a}).add("example",()=>{const[status,setStatus]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(initialState),[current,setCurrent]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(Step.BILLING);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"text-center"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ProgressStepper__WEBPACK_IMPORTED_MODULE_2__.a,{className:"ml-auto",steps:steps,onClick:step=>setCurrent(step),isStepClickable:step=>step!==current&&status[step]===Status.COMPLETE,titleForStep:step=>step,colorForStep:step=>{const stepStatus=status[step];return stepStatus===Status.ERROR?"danger":step===current?"primary":stepStatus===Status.COMPLETE?"success":"secondary"}})),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"ml-2"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h1",null,"Form: ",current),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("button",{className:"btn btn-primary",onClick:function onSubmit(){if(Math.random()>.5)return void setStatus(Object.assign(Object.assign({},status),{[current]:Status.ERROR}));const currentIndex=steps.indexOf(current),index=Math.min(steps.length-1,currentIndex+1),nextStep=steps[index];setStatus(Object.assign(Object.assign({},status),{[current]:Status.COMPLETE})),setCurrent(nextStep)}},"Submit"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p",null,'Press the "Submit" button to jump to the next stage. It will either succeed or fail randomly.')))})}.call(this,__webpack_require__(26)(module))},2300:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),function(module){var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),_storybook_react__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(14),_SearchInput__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(104),reactstrap__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(23),___WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(7),withSourceLoader=__webpack_require__(15).withSource,__STORY__=(__webpack_require__(15).addSource,"import React, { useState } from 'react';\nimport { storiesOf } from '@storybook/react';\n\nimport SearchInput from './SearchInput';\n\nimport { Card } from 'reactstrap';\nimport { Select, Button, Tooltip, Icon } from '../..';\n\nstoriesOf('core|SearchInput', module)\n .addParameters({ component: SearchInput })\n .add('default', () => {\n const [query, setQuery] = useState('');\n\n return (\n \n

You searched for: {query}

\n \n
\n );\n })\n .add('without icon', () => {\n const [query, setQuery] = useState('');\n\n return (\n \n

You searched for: {query}

\n \n
\n );\n })\n .add('with custom debounce', () => {\n const [query, setQuery] = useState('');\n\n return (\n \n

You searched for: {query}

\n \n
\n );\n })\n .add('with custom debounce settings', () => {\n const [query, setQuery] = useState('');\n\n return (\n \n

You searched for: {query}

\n \n
\n );\n })\n .add('with placeholder', () => {\n const [query, setQuery] = useState('');\n\n return (\n \n

You searched for: {query}

\n \n
\n );\n })\n .add('with label', () => {\n const [query, setQuery] = useState('');\n\n return (\n \n

You searched for: {query}

\n \n
\n );\n })\n .add('with custom label', () => {\n const [query, setQuery] = useState('');\n\n return (\n \n

You searched for: {query}

\n \n Search\n \n \n \n
\n }\n value={query}\n onChange={setQuery}\n />\n \n );\n })\n .add('with external value', () => {\n const [query, setQuery] = useState('');\n\n return (\n \n

You searched for: {query}

\n\n \n {(searchInput, { setValue }) => (\n <>\n {searchInput}\n\n \n\n option}\n options={['Maarten', 'Jeffrey']}\n onChange={value => {\n if (value) {\n setValue(value);\n }\n }}\n />\n \n )}\n \n
\n );\n });\n"),__ADDS_MAP__={"core-searchinput--with-external-value":{startLoc:{col:7,line:107},endLoc:{col:3,line:142},startBody:{col:30,line:107},endBody:{col:3,line:142}},"core-searchinput--with-custom-label":{startLoc:{col:7,line:85},endLoc:{col:3,line:106},startBody:{col:28,line:85},endBody:{col:3,line:106}},"core-searchinput--with-label":{startLoc:{col:7,line:70},endLoc:{col:3,line:84},startBody:{col:21,line:70},endBody:{col:3,line:84}},"core-searchinput--with-placeholder":{startLoc:{col:7,line:56},endLoc:{col:3,line:69},startBody:{col:27,line:56},endBody:{col:3,line:69}},"core-searchinput--with-custom-debounce-settings":{startLoc:{col:7,line:41},endLoc:{col:3,line:55},startBody:{col:40,line:41},endBody:{col:3,line:55}},"core-searchinput--with-custom-debounce":{startLoc:{col:7,line:31},endLoc:{col:3,line:40},startBody:{col:31,line:31},endBody:{col:3,line:40}},"core-searchinput--without-icon":{startLoc:{col:7,line:21},endLoc:{col:3,line:30},startBody:{col:23,line:21},endBody:{col:3,line:30}},"core-searchinput--default":{startLoc:{col:7,line:11},endLoc:{col:3,line:20},startBody:{col:18,line:11},endBody:{col:3,line:20}}};Object(_storybook_react__WEBPACK_IMPORTED_MODULE_1__.storiesOf)("core|SearchInput",module).addParameters({storySource:{source:__STORY__,locationsMap:__ADDS_MAP__}}).addDecorator(withSourceLoader(__STORY__,__ADDS_MAP__,"/SearchInput.stories.tsx",[],{},"/Users/gido.manders/projecten/42/ui/src/core/SearchInput",{})).addParameters({component:_SearchInput__WEBPACK_IMPORTED_MODULE_2__.a}).add("default",()=>{const[query,setQuery]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)("");return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_3__.a,{body:!0},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p",null,"You searched for: ",query),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_SearchInput__WEBPACK_IMPORTED_MODULE_2__.a,{value:query,onChange:setQuery}))}).add("without icon",()=>{const[query,setQuery]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)("");return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_3__.a,{body:!0},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p",null,"You searched for: ",query),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_SearchInput__WEBPACK_IMPORTED_MODULE_2__.a,{value:query,onChange:setQuery,showIcon:!1}))}).add("with custom debounce",()=>{const[query,setQuery]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)("");return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_3__.a,{body:!0},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p",null,"You searched for: ",query),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_SearchInput__WEBPACK_IMPORTED_MODULE_2__.a,{value:query,onChange:setQuery,debounce:1e3}))}).add("with custom debounce settings",()=>{const[query,setQuery]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)("");return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_3__.a,{body:!0},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p",null,"You searched for: ",query),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_SearchInput__WEBPACK_IMPORTED_MODULE_2__.a,{value:query,onChange:setQuery,debounce:1e3,debounceSettings:{leading:!0,trailing:!0}}))}).add("with placeholder",()=>{const[query,setQuery]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)("");return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_3__.a,{body:!0},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p",null,"You searched for: ",query),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_SearchInput__WEBPACK_IMPORTED_MODULE_2__.a,{value:query,onChange:setQuery,placeholder:"Search..."}))}).add("with label",()=>{const[query,setQuery]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)("");return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_3__.a,{body:!0},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p",null,"You searched for: ",query),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_SearchInput__WEBPACK_IMPORTED_MODULE_2__.a,{id:"search",label:"Search",value:query,onChange:setQuery}))}).add("with custom label",()=>{const[query,setQuery]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)("");return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_3__.a,{body:!0},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p",null,"You searched for: ",query),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_SearchInput__WEBPACK_IMPORTED_MODULE_2__.a,{id:"search",label:react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"d-flex justify-content-between"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span",null,"Search"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_4__.v,{className:"ml-1",content:"Search the following fields"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_4__.d,{icon:"info"}))),value:query,onChange:setQuery}))}).add("with external value",()=>{const[query,setQuery]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)("");return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_3__.a,{body:!0},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p",null,"You searched for: ",query),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_SearchInput__WEBPACK_IMPORTED_MODULE_2__.a,{value:query,onChange:setQuery,debounce:1e3},(searchInput,{setValue:setValue})=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment,null,searchInput,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_4__.a,{className:"mt-3",onClick:()=>setValue("")},"Clear query"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_4__.t,{className:"mt-2",id:"predefined-query",label:"Predefined queries",value:query,placeholder:"Please select a predefined query",optionForValue:option=>option,options:["Maarten","Jeffrey"],onChange:value=>{value&&setValue(value)}}))))})}.call(this,__webpack_require__(26)(module))},2301:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),function(module){var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),_storybook_react__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(14),_Spinner__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(69),withSourceLoader=__webpack_require__(15).withSource,__STORY__=(__webpack_require__(15).addSource,'import React from \'react\';\nimport { storiesOf } from \'@storybook/react\';\n\nimport Spinner from \'./Spinner\';\n\nstoriesOf(\'core|Spinner\', module)\n .addParameters({ component: Spinner })\n .add(\'default\', () => {\n return (\n
\n \n
\n \n \n \n
\n \n
\n \n
\n );\n });\n'),__ADDS_MAP__={"core-spinner--default":{startLoc:{col:7,line:8},endLoc:{col:3,line:22},startBody:{col:18,line:8},endBody:{col:3,line:22}}};Object(_storybook_react__WEBPACK_IMPORTED_MODULE_1__.storiesOf)("core|Spinner",module).addParameters({storySource:{source:__STORY__,locationsMap:__ADDS_MAP__}}).addDecorator(withSourceLoader(__STORY__,__ADDS_MAP__,"/Spinner.stories.tsx",[],{},"/Users/gido.manders/projecten/42/ui/src/core/Spinner",{})).addParameters({component:_Spinner__WEBPACK_IMPORTED_MODULE_2__.a}).add("default",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"text-center"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Spinner__WEBPACK_IMPORTED_MODULE_2__.a,{color:"",size:42}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("hr",null),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Spinner__WEBPACK_IMPORTED_MODULE_2__.a,{color:"red",size:42}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Spinner__WEBPACK_IMPORTED_MODULE_2__.a,{color:"white",size:42}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Spinner__WEBPACK_IMPORTED_MODULE_2__.a,{color:"blue",size:42}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("hr",null),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Spinner__WEBPACK_IMPORTED_MODULE_2__.a,{color:"orange",size:16}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("hr",null),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Spinner__WEBPACK_IMPORTED_MODULE_2__.a,{color:"purple",size:500})))}.call(this,__webpack_require__(26)(module))},2302:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),function(module){var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),_storybook_react__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(14),_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(2),_SubmitButton__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(143),withSourceLoader=__webpack_require__(15).withSource,__STORY__=(__webpack_require__(15).addSource,"import React from 'react';\nimport { storiesOf } from '@storybook/react';\nimport { action } from '@storybook/addon-actions';\n\nimport SubmitButton from './SubmitButton';\n\nstoriesOf('core|buttons/SubmitButton', module)\n .addParameters({ component: SubmitButton })\n .add('default', () => {\n return (\n
\n
\n
\n When not in progress:\n action('on submit')}\n inProgress={false}\n >\n Save\n \n
\n
\n
\n When in progress:\n action('on submit')} inProgress={true}>\n Save\n \n
\n
\n
\n );\n })\n .add('icon size', () => {\n return (\n
\n
\n
\n Small icon:\n action('on submit')}\n inProgress={false}\n iconSize={10}\n >\n Save\n \n
\n
\n
\n Default icon:\n action('on submit')}\n inProgress={false}\n >\n Save\n \n
\n
\n
\n Large icon:\n action('on submit')}\n inProgress={false}\n iconSize={30}\n >\n Save\n \n
\n
\n
\n );\n });\n"),__ADDS_MAP__={"core-buttons-submitbutton--icon-size":{startLoc:{col:7,line:33},endLoc:{col:3,line:71},startBody:{col:20,line:33},endBody:{col:3,line:71}},"core-buttons-submitbutton--default":{startLoc:{col:7,line:9},endLoc:{col:3,line:32},startBody:{col:18,line:9},endBody:{col:3,line:32}}};Object(_storybook_react__WEBPACK_IMPORTED_MODULE_1__.storiesOf)("core|buttons/SubmitButton",module).addParameters({storySource:{source:__STORY__,locationsMap:__ADDS_MAP__}}).addDecorator(withSourceLoader(__STORY__,__ADDS_MAP__,"/SubmitButton.stories.tsx",[],{},"/Users/gido.manders/projecten/42/ui/src/core/SubmitButton",{})).addParameters({component:_SubmitButton__WEBPACK_IMPORTED_MODULE_3__.a}).add("default",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"text-center",style:{width:500}},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"text-center"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span",null,"When not in progress:"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_SubmitButton__WEBPACK_IMPORTED_MODULE_3__.a,{onClick:()=>Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)("on submit"),inProgress:!1},"Save")),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("hr",null),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span",null,"When in progress:"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_SubmitButton__WEBPACK_IMPORTED_MODULE_3__.a,{onClick:()=>Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)("on submit"),inProgress:!0},"Save"))))).add("icon size",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"text-center",style:{width:500}},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"text-center"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span",null,"Small icon:"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_SubmitButton__WEBPACK_IMPORTED_MODULE_3__.a,{onClick:()=>Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)("on submit"),inProgress:!1,iconSize:10},"Save")),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("hr",null),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span",null,"Default icon:"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_SubmitButton__WEBPACK_IMPORTED_MODULE_3__.a,{onClick:()=>Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)("on submit"),inProgress:!1},"Save")),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("hr",null),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span",null,"Large icon:"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_SubmitButton__WEBPACK_IMPORTED_MODULE_3__.a,{onClick:()=>Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)("on submit"),inProgress:!1,iconSize:30},"Save")))))}.call(this,__webpack_require__(26)(module))},2303:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),function(module){var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),_storybook_react__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(14),_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(2),_Tag__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(37),withSourceLoader=__webpack_require__(15).withSource,__STORY__=(__webpack_require__(15).addSource,'import React from \'react\';\nimport { storiesOf } from \'@storybook/react\';\nimport { action } from \'@storybook/addon-actions\';\n\nimport Tag from \'./Tag\';\n\nstoriesOf(\'core|Tag\', module)\n .addParameters({ component: Tag })\n .add(\'default\', () => (\n
\n \n \n \n \n \n \n
\n ));\n'),__ADDS_MAP__={"core-tag--default":{startLoc:{col:7,line:9},endLoc:{col:3,line:18},startBody:{col:18,line:9},endBody:{col:3,line:18}}};Object(_storybook_react__WEBPACK_IMPORTED_MODULE_1__.storiesOf)("core|Tag",module).addParameters({storySource:{source:__STORY__,locationsMap:__ADDS_MAP__}}).addDecorator(withSourceLoader(__STORY__,__ADDS_MAP__,"/Tag.stories.tsx",[],{},"/Users/gido.manders/projecten/42/ui/src/core/Tag",{})).addParameters({component:_Tag__WEBPACK_IMPORTED_MODULE_3__.a}).add("default",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"text-center"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tag__WEBPACK_IMPORTED_MODULE_3__.a,{text:"Maarten"}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tag__WEBPACK_IMPORTED_MODULE_3__.a,{text:"Maarten",color:"success"}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tag__WEBPACK_IMPORTED_MODULE_3__.a,{text:"Maarten",color:"info"}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tag__WEBPACK_IMPORTED_MODULE_3__.a,{text:"Maarten",color:"warning"}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tag__WEBPACK_IMPORTED_MODULE_3__.a,{text:"Maarten",color:"danger"}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tag__WEBPACK_IMPORTED_MODULE_3__.a,{text:"Maarten",onRemove:Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)("on close")})))}.call(this,__webpack_require__(26)(module))},2304:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),function(module){var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),_storybook_react__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(14),_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(2),_TextButton__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(123),withSourceLoader=__webpack_require__(15).withSource,__STORY__=(__webpack_require__(15).addSource,"import React from 'react';\nimport { storiesOf } from '@storybook/react';\nimport { action } from '@storybook/addon-actions';\n\nimport TextButton from './TextButton';\n\nstoriesOf('core|buttons/TextButton', module)\n .addParameters({ component: TextButton })\n .add('default', () => {\n return (\n
\n Clear\n
\n );\n });\n"),__ADDS_MAP__={"core-buttons-textbutton--default":{startLoc:{col:7,line:9},endLoc:{col:3,line:15},startBody:{col:18,line:9},endBody:{col:3,line:15}}};Object(_storybook_react__WEBPACK_IMPORTED_MODULE_1__.storiesOf)("core|buttons/TextButton",module).addParameters({storySource:{source:__STORY__,locationsMap:__ADDS_MAP__}}).addDecorator(withSourceLoader(__STORY__,__ADDS_MAP__,"/TextButton.stories.tsx",[],{},"/Users/gido.manders/projecten/42/ui/src/core/TextButton",{})).addParameters({component:_TextButton__WEBPACK_IMPORTED_MODULE_3__.a}).add("default",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"text-center mt-5"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_TextButton__WEBPACK_IMPORTED_MODULE_3__.a,{onClick:Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)("onClick")},"Clear")))}.call(this,__webpack_require__(26)(module))},2305:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),function(module){var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),_storybook_react__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(14),_Tooltip__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(30),_Tag_Tag__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(37),reactstrap__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(43),reactstrap__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(17),reactstrap__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(82),withSourceLoader=__webpack_require__(15).withSource,__STORY__=(__webpack_require__(15).addSource,'import React from \'react\';\nimport { storiesOf } from \'@storybook/react\';\n\nimport Tooltip from \'./Tooltip\';\nimport Tag from \'../Tag/Tag\';\nimport { Button, Col, Row } from \'reactstrap\';\n\nstoriesOf(\'core|Tooltip\', module)\n .addParameters({ component: Tooltip })\n .add(\'default\', () => (\n
\n \n \n \n \n \n\n \n
Can be wrapped around any component
\n
\n\n Plain text\n\n \n \n \n \n
\n
\n ))\n\n .add(\'alignment\', () => (\n <>\n
Alignment
\n \n \n \n \n \n\n \n \n \n \n \n \n\n \n \n \n \n \n
\n\n
Alignment-modifier
\n \n \n \n \n \n\n \n \n \n\n \n \n \n \n \n \n ))\n\n .add(\'width, distance and offset\', () => (\n <>\n
Max width
\n \n \n You can set me to be narrow

}\n maxWidth={80}\n >\n \n \n\n Or you can set me to be wide...

\n }\n maxWidth={500}\n >\n \n \n \n
\n\n
\n\n
Distance
\n \n \n \n \n \n\n \n \n \n\n \n \n \n \n \n\n
Offset
\n \n \n \n \n \n\n \n \n \n\n \n \n \n \n \n \n ))\n\n .add(\'components as content\', () => (\n <>\n
Components
\n \n \n \n {\' \'}\n I can render HTML content\n \n }\n >\n

HTML

\n \n\n React components too!}\n >\n

React

\n \n\n \n

5

\n \n }\n >\n

4

\n \n }\n >\n

3

\n \n }\n >\n

2

\n \n }\n >\n

1

\n \n }\n >\n

Tooltip-ception

\n \n \n
\n\n
\n
Interactive
\n\n \n \n \n \n \n \n \n \n \n \n \n ))\n\n .add(\'custom wrapper\', () => (\n <>\n
Custom wrapper
\n \n \n \n By default, my children get wrapped in a span\n \n\n \n You can change that with the tag property\n \n \n \n \n ));\n'),__ADDS_MAP__={"core-tooltip--custom-wrapper":{startLoc:{col:7,line:221},endLoc:{col:3,line:236},startBody:{col:25,line:221},endBody:{col:3,line:236}},"core-tooltip--components-as-content":{startLoc:{col:7,line:135},endLoc:{col:3,line:219},startBody:{col:32,line:135},endBody:{col:3,line:219}},"core-tooltip--width-distance-and-offset":{startLoc:{col:7,line:74},endLoc:{col:3,line:133},startBody:{col:37,line:74},endBody:{col:3,line:133}},"core-tooltip--alignment":{startLoc:{col:7,line:32},endLoc:{col:3,line:72},startBody:{col:20,line:32},endBody:{col:3,line:72}},"core-tooltip--default":{startLoc:{col:7,line:10},endLoc:{col:3,line:30},startBody:{col:18,line:10},endBody:{col:3,line:30}}};Object(_storybook_react__WEBPACK_IMPORTED_MODULE_1__.storiesOf)("core|Tooltip",module).addParameters({storySource:{source:__STORY__,locationsMap:__ADDS_MAP__}}).addDecorator(withSourceLoader(__STORY__,__ADDS_MAP__,"/Tooltip.stories.tsx",[],{},"/Users/gido.manders/projecten/42/ui/src/core/Tooltip",{})).addParameters({component:_Tooltip__WEBPACK_IMPORTED_MODULE_2__.a}).add("default",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"d-flex flex-column"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_4__.a,{className:"my-3"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_5__.a,{className:"d-flex justify-content-around align-items-center"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tooltip__WEBPACK_IMPORTED_MODULE_2__.a,{content:"This is a tooltip"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tag_Tag__WEBPACK_IMPORTED_MODULE_3__.a,{color:"danger",text:"Hover me!"})),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tooltip__WEBPACK_IMPORTED_MODULE_2__.a,{content:"Tooltip-text"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h5",null,"Can be wrapped around any component")),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tooltip__WEBPACK_IMPORTED_MODULE_2__.a,{content:"This is a tooltip"},"Plain text"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tooltip__WEBPACK_IMPORTED_MODULE_2__.a,{content:"Buttons work too"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_6__.a,null,"Hover this button!")))))).add("alignment",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h6",null,"Alignment"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_4__.a,{className:"mt-4"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_5__.a,{className:"d-flex justify-content-around"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tooltip__WEBPACK_IMPORTED_MODULE_2__.a,{content:"Placement bottom",placement:"bottom"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tag_Tag__WEBPACK_IMPORTED_MODULE_3__.a,{color:"danger",text:"Hover me!"})),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tooltip__WEBPACK_IMPORTED_MODULE_2__.a,{content:"Placement left",placement:"left"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tag_Tag__WEBPACK_IMPORTED_MODULE_3__.a,{color:"warning",text:"Hover me!"})),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tooltip__WEBPACK_IMPORTED_MODULE_2__.a,{content:"Placement right",placement:"right"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tag_Tag__WEBPACK_IMPORTED_MODULE_3__.a,{color:"primary",text:"Hover me!"})),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tooltip__WEBPACK_IMPORTED_MODULE_2__.a,{content:"Placement top",placement:"top"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tag_Tag__WEBPACK_IMPORTED_MODULE_3__.a,{color:"success",text:"Hover me!"})))),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("hr",null),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h6",null,"Alignment-modifier"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_4__.a,{className:"mt-3"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_5__.a,{className:"d-flex justify-content-around"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tooltip__WEBPACK_IMPORTED_MODULE_2__.a,{content:"right-start",placement:"right-start"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_6__.a,{style:{height:75}}," Hover me! ")),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tooltip__WEBPACK_IMPORTED_MODULE_2__.a,{content:"right",placement:"right"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_6__.a,{style:{height:75}}," Hover me! ")),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tooltip__WEBPACK_IMPORTED_MODULE_2__.a,{content:"right-end",placement:"right-end"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_6__.a,{style:{height:75}}," Hover me! ")))))).add("width, distance and offset",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h6",null,"Max width"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_4__.a,{className:"mt-4"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_5__.a,{className:"d-flex justify-content-around"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tooltip__WEBPACK_IMPORTED_MODULE_2__.a,{content:react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p",{className:"text-center"},"You can set me to be narrow"),maxWidth:80},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tag_Tag__WEBPACK_IMPORTED_MODULE_3__.a,{color:"warning",text:"Hover me!"})),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tooltip__WEBPACK_IMPORTED_MODULE_2__.a,{content:react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p",{className:"text-center"},"Or you can set me to be wide..."),maxWidth:500},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tag_Tag__WEBPACK_IMPORTED_MODULE_3__.a,{color:"warning",text:"Hover me!"})))),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("hr",null),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h6",null,"Distance"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_4__.a,{className:"mt-4"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_5__.a,{className:"d-flex justify-content-around"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tooltip__WEBPACK_IMPORTED_MODULE_2__.a,{content:"far away",distance:15},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tag_Tag__WEBPACK_IMPORTED_MODULE_3__.a,{color:"success",text:"far away"})),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tooltip__WEBPACK_IMPORTED_MODULE_2__.a,{content:"default distance"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tag_Tag__WEBPACK_IMPORTED_MODULE_3__.a,{color:"success",text:"default offset"})),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tooltip__WEBPACK_IMPORTED_MODULE_2__.a,{content:"very close",distance:3},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tag_Tag__WEBPACK_IMPORTED_MODULE_3__.a,{color:"success",text:"very close"})))),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h6",null,"Offset"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_4__.a,{className:"mt-4"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_5__.a,{className:"d-flex justify-content-around"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tooltip__WEBPACK_IMPORTED_MODULE_2__.a,{content:"far away",offset:100},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tag_Tag__WEBPACK_IMPORTED_MODULE_3__.a,{color:"success",text:"far away"})),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tooltip__WEBPACK_IMPORTED_MODULE_2__.a,{content:"default offset"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tag_Tag__WEBPACK_IMPORTED_MODULE_3__.a,{color:"success",text:"default offset"})),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tooltip__WEBPACK_IMPORTED_MODULE_2__.a,{content:"very close",offset:-100},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tag_Tag__WEBPACK_IMPORTED_MODULE_3__.a,{color:"success",text:"very close"})))))).add("components as content",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h6",null,"Components"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_4__.a,{className:"mt-4"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_5__.a,{className:"d-flex justify-content-around"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tooltip__WEBPACK_IMPORTED_MODULE_2__.a,{interactive:!0,content:react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",null," ","I can render ",react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("b",{style:{color:"orange"}}," HTML content"))},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p",{color:"orange"},"HTML")),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tooltip__WEBPACK_IMPORTED_MODULE_2__.a,{interactive:!0,content:react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_6__.a,{color:"danger"}," React components too!")},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p",null,"React")),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tooltip__WEBPACK_IMPORTED_MODULE_2__.a,{interactive:!0,placement:"left",content:react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tooltip__WEBPACK_IMPORTED_MODULE_2__.a,{interactive:!0,placement:"left",content:react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tooltip__WEBPACK_IMPORTED_MODULE_2__.a,{interactive:!0,placement:"left",content:react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tooltip__WEBPACK_IMPORTED_MODULE_2__.a,{interactive:!0,placement:"left",content:react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tooltip__WEBPACK_IMPORTED_MODULE_2__.a,{interactive:!0,placement:"left",content:react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tooltip__WEBPACK_IMPORTED_MODULE_2__.a,{interactive:!0,content:"Pretty cool right?"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p",null,"5"))},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p",null,"4"))},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p",null,"3"))},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p",null,"2"))},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p",null,"1"))},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p",null,"Tooltip-ception")))),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("hr",null),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h6",null,"Interactive"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_4__.a,{className:"mt-4"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_5__.a,{className:"d-flex justify-content-around"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tooltip__WEBPACK_IMPORTED_MODULE_2__.a,{content:"You cannot click my contents"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tag_Tag__WEBPACK_IMPORTED_MODULE_3__.a,{color:"danger",text:"I am not interactive"})),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tooltip__WEBPACK_IMPORTED_MODULE_2__.a,{interactive:!0,content:"You can click my content!"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tag_Tag__WEBPACK_IMPORTED_MODULE_3__.a,{color:"success",text:"I am interactive!"})))))).add("custom wrapper",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h6",null,"Custom wrapper"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_4__.a,{className:"mt-4"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_5__.a,{className:"d-flex justify-content-around"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tooltip__WEBPACK_IMPORTED_MODULE_2__.a,{content:"My children are in a ",tag:"span"},"By default, my children get wrapped in a span"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Tooltip__WEBPACK_IMPORTED_MODULE_2__.a,{content:"My children are in a
",tag:"div"},"You can change that with the tag property")))))}.call(this,__webpack_require__(26)(module))},2306:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),function(module){var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),_storybook_react__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(14),reactstrap__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(238),_Checkbox__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(134),_story_utils__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(5),_core_Icon__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(63),_core_Tooltip_Tooltip__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(30),withSourceLoader=__webpack_require__(15).withSource,__STORY__=(__webpack_require__(15).addSource,'import React, { useState } from \'react\';\nimport { storiesOf } from \'@storybook/react\';\nimport { Alert } from \'reactstrap\';\n\nimport Checkbox, { JarbCheckbox } from \'./Checkbox\';\nimport { FinalForm, Form } from \'../story-utils\';\n\nimport { Icon } from \'../../core/Icon\';\nimport Tooltip from \'../../core/Tooltip/Tooltip\';\n\nfunction isSClass(value?: boolean) {\n if (value !== false) {\n return undefined;\n }\n\n return \'Hero must be S class to proceed\';\n}\n\nstoriesOf(\'Form|Checkbox\', module)\n .add(\'basic\', () => {\n const [isSClass, setIsSClass] = useState(undefined);\n\n return (\n
\n \n\n {isSClass ? (\n \n This hero is of the highest\n caliber\n \n ) : null}\n \n );\n })\n .add(\'basic with indeterminate\', () => {\n const [isSClass, setIsSClass] = useState(undefined);\n\n return (\n
\n \n\n {isSClass ? (\n \n This hero is of the highest\n caliber\n \n ) : null}\n \n );\n })\n .add(\'without placeholder\', () => {\n const [isSClass, setIsSClass] = useState(undefined);\n\n return (\n
\n \n\n {isSClass ? (\n \n This hero is of the highest\n caliber\n \n ) : null}\n \n );\n })\n .add(\'with custom label\', () => {\n const [isSClass, setIsSClass] = useState(undefined);\n\n return (\n
\n \n Is S class hero\n \n \n \n
\n }\n placeholder="Whether or not the hero is S class"\n value={isSClass}\n onChange={setIsSClass}\n />\n\n {isSClass ? (\n \n This hero is of the highest\n caliber\n \n ) : null}\n \n );\n })\n .add(\'jarb\', () => {\n return (\n \n \n \n );\n })\n .add(\'jarb with indeterminate\', () => {\n return (\n \n \n \n );\n });\n'),__ADDS_MAP__={"form-checkbox--jarb-with-indeterminate":{startLoc:{col:7,line:135},endLoc:{col:3,line:152},startBody:{col:34,line:135},endBody:{col:3,line:152}},"form-checkbox--jarb":{startLoc:{col:7,line:118},endLoc:{col:3,line:134},startBody:{col:15,line:118},endBody:{col:3,line:134}},"form-checkbox--with-custom-label":{startLoc:{col:7,line:86},endLoc:{col:3,line:117},startBody:{col:28,line:86},endBody:{col:3,line:117}},"form-checkbox--without-placeholder":{startLoc:{col:7,line:65},endLoc:{col:3,line:85},startBody:{col:30,line:65},endBody:{col:3,line:85}},"form-checkbox--basic-with-indeterminate":{startLoc:{col:7,line:42},endLoc:{col:3,line:64},startBody:{col:35,line:42},endBody:{col:3,line:64}},"form-checkbox--basic":{startLoc:{col:7,line:20},endLoc:{col:3,line:41},startBody:{col:16,line:20},endBody:{col:3,line:41}}};function isSClass(value){if(!1===value)return"Hero must be S class to proceed"}Object(_storybook_react__WEBPACK_IMPORTED_MODULE_1__.storiesOf)("Form|Checkbox",module).addParameters({storySource:{source:__STORY__,locationsMap:__ADDS_MAP__}}).addDecorator(withSourceLoader(__STORY__,__ADDS_MAP__,"/Checkbox.stories.tsx",[],{},"/Users/gido.manders/projecten/42/ui/src/form/Checkbox",{})).add("basic",()=>{const[isSClass,setIsSClass]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(void 0);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Checkbox__WEBPACK_IMPORTED_MODULE_3__.b,{id:"isSClass",label:"Is S class hero",placeholder:"Whether or not the hero is S class",value:isSClass,onChange:setIsSClass}),isSClass?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_2__.a,{color:"success",className:"d-flex"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_Icon__WEBPACK_IMPORTED_MODULE_5__.a,{icon:"warning",className:"mr-1"})," This hero is of the highest caliber"):null)}).add("basic with indeterminate",()=>{const[isSClass,setIsSClass]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(void 0);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Checkbox__WEBPACK_IMPORTED_MODULE_3__.b,{id:"isSClass",label:"Is S class hero",placeholder:"Whether or not the hero is S class",value:isSClass,onChange:setIsSClass,allowIndeterminate:!0}),isSClass?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_2__.a,{color:"success",className:"d-flex"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_Icon__WEBPACK_IMPORTED_MODULE_5__.a,{icon:"warning",className:"mr-1"})," This hero is of the highest caliber"):null)}).add("without placeholder",()=>{const[isSClass,setIsSClass]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(void 0);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Checkbox__WEBPACK_IMPORTED_MODULE_3__.b,{id:"isSClass",label:"Is S class hero",value:isSClass,onChange:setIsSClass}),isSClass?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_2__.a,{color:"success",className:"d-flex"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_Icon__WEBPACK_IMPORTED_MODULE_5__.a,{icon:"warning",className:"mr-1"})," This hero is of the highest caliber"):null)}).add("with custom label",()=>{const[isSClass,setIsSClass]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(void 0);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Checkbox__WEBPACK_IMPORTED_MODULE_3__.b,{id:"isSClass",label:react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"d-flex justify-content-between"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span",null,"Is S class hero"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_Tooltip_Tooltip__WEBPACK_IMPORTED_MODULE_6__.a,{className:"ml-1",content:"An S class hero is a hero of the highest caliber"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_Icon__WEBPACK_IMPORTED_MODULE_5__.a,{icon:"info"}))),placeholder:"Whether or not the hero is S class",value:isSClass,onChange:setIsSClass}),isSClass?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_2__.a,{color:"success",className:"d-flex"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_Icon__WEBPACK_IMPORTED_MODULE_5__.a,{icon:"warning",className:"mr-1"})," This hero is of the highest caliber"):null)}).add("jarb",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.a,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Checkbox__WEBPACK_IMPORTED_MODULE_3__.a,{id:"isSClass",name:"isSClass",label:"Is S class hero",placeholder:"Whether or not the hero is S class",validators:[isSClass],jarb:{validator:"Hero.isSClass",label:"Description"}}))).add("jarb with indeterminate",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.a,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Checkbox__WEBPACK_IMPORTED_MODULE_3__.a,{id:"isSClass",name:"isSClass",label:"Is S class hero",placeholder:"Whether or not the hero is S class",validators:[isSClass],jarb:{validator:"Hero.isSClass",label:"Description"},allowIndeterminate:!0})))}.call(this,__webpack_require__(26)(module))},2307:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),function(module){var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),_storybook_react__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(14),lodash__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(16),_CheckboxMultipleSelect__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(116),_story_utils__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(5),_test_fixtures__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(12),___WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(7),withSourceLoader=__webpack_require__(15).withSource,__STORY__=(__webpack_require__(15).addSource,"import React, { useState } from 'react';\nimport { storiesOf } from '@storybook/react';\nimport { range } from 'lodash';\n\nimport CheckboxMultipleSelect, {\n JarbCheckboxMultipleSelect\n} from './CheckboxMultipleSelect';\nimport { FinalForm, Form } from '../story-utils';\nimport { pageOfUsers, userUser } from '../../test/fixtures';\nimport { User } from '../../test/types';\nimport { Icon, Tooltip } from '../..';\n\ninterface SubjectOption {\n value: string;\n label: string;\n}\n\nconst options: SubjectOption[] = range(0, 100).map(i => ({\n value: `${i}`,\n label: `Selection #${i}`\n}));\n\nstoriesOf('Form|CheckboxMultipleSelect', module)\n .add('defined options', () => {\n const [value, setValue] = useState([]);\n\n return (\n
\n
\n option.label}\n isOptionEnabled={option => option.value !== 'awesome'}\n options={options}\n value={value}\n onChange={setValue}\n />\n \n
\n );\n })\n .add('horizontal', () => {\n const [value, setValue] = useState([]);\n\n return (\n
\n
\n option.label}\n isOptionEnabled={option => option.value !== 'awesome'}\n options={options.filter((_, index) => index < 5)}\n value={value}\n onChange={setValue}\n horizontal={true}\n />\n\n

\n Disclaimer: horizontal mode works best when there\n are not too many items\n

\n \n
\n );\n })\n .add('fetched options', () => {\n const [value, setValue] = useState([]);\n\n return (\n
\n user.email}\n options={() => Promise.resolve(pageOfUsers)}\n value={value}\n onChange={setValue}\n />\n \n );\n })\n .add('custom isOptionEqual', () => {\n const [value, setValue] = useState([userUser]);\n\n return (\n
\n user.email}\n options={() => Promise.resolve(pageOfUsers)}\n isOptionEqual={(a: User, b: User) => a.id === b.id}\n value={value}\n onChange={setValue}\n />\n \n );\n })\n .add('without placeholder', () => {\n const [value, setValue] = useState([]);\n\n return (\n
\n
\n option.label}\n isOptionEnabled={option => option.value !== 'awesome'}\n options={options}\n value={value}\n onChange={setValue}\n />\n \n
\n );\n })\n .add('without label', () => {\n const [value, setValue] = useState([]);\n\n return (\n
\n
\n option.label}\n isOptionEnabled={option => option.value !== 'awesome'}\n options={options}\n value={value}\n onChange={setValue}\n />\n \n
\n );\n })\n .add('with custom label', () => {\n const [value, setValue] = useState([]);\n\n return (\n
\n
\n \n Subject\n \n \n \n
\n }\n placeholder=\"Please select your subjects\"\n optionForValue={(option: SubjectOption) => option.label}\n isOptionEnabled={option => option.value !== 'awesome'}\n options={options}\n value={value}\n onChange={setValue}\n />\n \n \n );\n })\n .add('jarb', () => {\n return (\n \n option.label}\n isOptionEnabled={option => option.value !== 'awesome'}\n options={[\n { value: 'awesome', label: 'Awesome shit' },\n { value: 'super', label: 'Super shit' },\n { value: 'great', label: 'Great shit' },\n { value: 'good', label: 'good shit' }\n ]}\n jarb={{\n validator: 'Hero.name',\n label: 'Subject'\n }}\n />\n \n );\n });\n"),__ADDS_MAP__={"form-checkboxmultipleselect--jarb":{startLoc:{col:7,line:173},endLoc:{col:3,line:196},startBody:{col:15,line:173},endBody:{col:3,line:196}},"form-checkboxmultipleselect--with-custom-label":{startLoc:{col:7,line:143},endLoc:{col:3,line:172},startBody:{col:28,line:143},endBody:{col:3,line:172}},"form-checkboxmultipleselect--without-label":{startLoc:{col:7,line:124},endLoc:{col:3,line:142},startBody:{col:24,line:124},endBody:{col:3,line:142}},"form-checkboxmultipleselect--without-placeholder":{startLoc:{col:7,line:105},endLoc:{col:3,line:123},startBody:{col:30,line:105},endBody:{col:3,line:123}},"form-checkboxmultipleselect--custom-isoptionequal":{startLoc:{col:7,line:87},endLoc:{col:3,line:104},startBody:{col:31,line:87},endBody:{col:3,line:104}},"form-checkboxmultipleselect--fetched-options":{startLoc:{col:7,line:70},endLoc:{col:3,line:86},startBody:{col:26,line:70},endBody:{col:3,line:86}},"form-checkboxmultipleselect--horizontal":{startLoc:{col:7,line:44},endLoc:{col:3,line:69},startBody:{col:21,line:44},endBody:{col:3,line:69}},"form-checkboxmultipleselect--defined-options":{startLoc:{col:7,line:24},endLoc:{col:3,line:43},startBody:{col:26,line:24},endBody:{col:3,line:43}}};const options=Object(lodash__WEBPACK_IMPORTED_MODULE_2__.range)(0,100).map(i=>({value:`${i}`,label:`Selection #${i}`}));Object(_storybook_react__WEBPACK_IMPORTED_MODULE_1__.storiesOf)("Form|CheckboxMultipleSelect",module).addParameters({storySource:{source:__STORY__,locationsMap:__ADDS_MAP__}}).addDecorator(withSourceLoader(__STORY__,__ADDS_MAP__,"/CheckboxMultipleSelect.stories.tsx",[],{},"/Users/gido.manders/projecten/42/ui/src/form/CheckboxMultipleSelect",{})).add("defined options",()=>{const[value,setValue]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)([]);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_CheckboxMultipleSelect__WEBPACK_IMPORTED_MODULE_3__.b,{id:"subject",label:"Subject",placeholder:"Please select your subjects",optionForValue:option=>option.label,isOptionEnabled:option=>"awesome"!==option.value,options:options,value:value,onChange:setValue})))}).add("horizontal",()=>{const[value,setValue]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)([]);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_CheckboxMultipleSelect__WEBPACK_IMPORTED_MODULE_3__.b,{id:"subject",label:"Subject",placeholder:"Please select your subjects",optionForValue:option=>option.label,isOptionEnabled:option=>"awesome"!==option.value,options:options.filter((_,index)=>index<5),value:value,onChange:setValue,horizontal:!0}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p",null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("strong",null,"Disclaimer:")," horizontal mode works best when there are not too many items")))}).add("fetched options",()=>{const[value,setValue]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)([]);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_CheckboxMultipleSelect__WEBPACK_IMPORTED_MODULE_3__.b,{id:"subject",label:"Subject",placeholder:"Please select your subjects",optionForValue:user=>user.email,options:()=>Promise.resolve(_test_fixtures__WEBPACK_IMPORTED_MODULE_5__.b),value:value,onChange:setValue}))}).add("custom isOptionEqual",()=>{const[value,setValue]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)([_test_fixtures__WEBPACK_IMPORTED_MODULE_5__.d]);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_CheckboxMultipleSelect__WEBPACK_IMPORTED_MODULE_3__.b,{id:"subject",label:"Subject",placeholder:"Please select your subjects",optionForValue:user=>user.email,options:()=>Promise.resolve(_test_fixtures__WEBPACK_IMPORTED_MODULE_5__.b),isOptionEqual:(a,b)=>a.id===b.id,value:value,onChange:setValue}))}).add("without placeholder",()=>{const[value,setValue]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)([]);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_CheckboxMultipleSelect__WEBPACK_IMPORTED_MODULE_3__.b,{id:"subject",label:"Subject",optionForValue:option=>option.label,isOptionEnabled:option=>"awesome"!==option.value,options:options,value:value,onChange:setValue})))}).add("without label",()=>{const[value,setValue]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)([]);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_CheckboxMultipleSelect__WEBPACK_IMPORTED_MODULE_3__.b,{id:"subject",placeholder:"Please select your subjects",optionForValue:option=>option.label,isOptionEnabled:option=>"awesome"!==option.value,options:options,value:value,onChange:setValue})))}).add("with custom label",()=>{const[value,setValue]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)([]);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_CheckboxMultipleSelect__WEBPACK_IMPORTED_MODULE_3__.b,{id:"subject",label:react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"d-flex justify-content-between"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span",null,"Subject"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_6__.v,{className:"ml-1",content:"Please select your most important subject"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_6__.d,{icon:"info"}))),placeholder:"Please select your subjects",optionForValue:option=>option.label,isOptionEnabled:option=>"awesome"!==option.value,options:options,value:value,onChange:setValue})))}).add("jarb",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.a,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_CheckboxMultipleSelect__WEBPACK_IMPORTED_MODULE_3__.a,{id:"subject",name:"subject",label:"Subject",placeholder:"Please select your subjects",optionForValue:option=>option.label,isOptionEnabled:option=>"awesome"!==option.value,options:[{value:"awesome",label:"Awesome shit"},{value:"super",label:"Super shit"},{value:"great",label:"Great shit"},{value:"good",label:"good shit"}],jarb:{validator:"Hero.name",label:"Subject"}})))}.call(this,__webpack_require__(26)(module))},2308:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),function(module){var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),_storybook_react__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(14),_ColorPicker__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(155),_story_utils__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(5),___WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(7),withSourceLoader=__webpack_require__(15).withSource,__STORY__=(__webpack_require__(15).addSource,'import React, { useState } from \'react\';\nimport { storiesOf } from \'@storybook/react\';\n\nimport ColorPicker, { JarbColorPicker } from \'./ColorPicker\';\nimport { FinalForm, Form } from \'../story-utils\';\nimport { Icon, Tooltip } from \'../..\';\n\nfunction isToDark(value?: string) {\n if (!value) {\n return undefined;\n }\n\n const c = value.substring(1); // strip #\n const rgb = parseInt(c, 16); // convert rrggbb to decimal\n const r = (rgb >> 16) & 0xff; // extract red\n const g = (rgb >> 8) & 0xff; // extract green\n const b = (rgb >> 0) & 0xff; // extract blue\n\n const luma = 0.2126 * r + 0.7152 * g + 0.0722 * b; // per ITU-R BT.709\n\n if (luma < 40) {\n return \'This color is to dark\';\n }\n\n return undefined;\n}\n\nstoriesOf(\'Form|ColorPicker\', module)\n .add(\'basic\', () => {\n const [value, setValue] = useState();\n\n return (\n
\n
\n \n \n
\n );\n })\n .add(\'basic preselected\', () => {\n const [value, setValue] = useState(\'#ff0000\');\n\n return (\n
\n
\n \n \n
\n );\n })\n .add(\'with custom label\', () => {\n const [value, setValue] = useState();\n\n return (\n
\n
\n \n Color\n \n \n \n
\n }\n placeholder="Please select your favorite color"\n value={value}\n onChange={setValue}\n />\n \n \n );\n })\n .add(\'jarb\', () => {\n return (\n \n \n \n );\n });\n'),__ADDS_MAP__={"form-colorpicker--jarb":{startLoc:{col:7,line:90},endLoc:{col:3,line:106},startBody:{col:15,line:90},endBody:{col:3,line:106}},"form-colorpicker--with-custom-label":{startLoc:{col:7,line:63},endLoc:{col:3,line:89},startBody:{col:28,line:63},endBody:{col:3,line:89}},"form-colorpicker--basic-preselected":{startLoc:{col:7,line:46},endLoc:{col:3,line:62},startBody:{col:28,line:46},endBody:{col:3,line:62}},"form-colorpicker--basic":{startLoc:{col:7,line:29},endLoc:{col:3,line:45},startBody:{col:16,line:29},endBody:{col:3,line:45}}};function isToDark(value){if(!value)return;const c=value.substring(1),rgb=parseInt(c,16);return.2126*(rgb>>16&255)+.7152*(rgb>>8&255)+.0722*(rgb>>0&255)<40?"This color is to dark":void 0}Object(_storybook_react__WEBPACK_IMPORTED_MODULE_1__.storiesOf)("Form|ColorPicker",module).addParameters({storySource:{source:__STORY__,locationsMap:__ADDS_MAP__}}).addDecorator(withSourceLoader(__STORY__,__ADDS_MAP__,"/ColorPicker.stories.tsx",[],{},"/Users/gido.manders/projecten/42/ui/src/form/ColorPicker",{})).add("basic",()=>{const[value,setValue]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)();return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_3__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ColorPicker__WEBPACK_IMPORTED_MODULE_2__.b,{id:"color",label:"Color",placeholder:"Please select your favorite color",value:value,onChange:setValue})))}).add("basic preselected",()=>{const[value,setValue]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)("#ff0000");return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_3__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ColorPicker__WEBPACK_IMPORTED_MODULE_2__.b,{id:"color",label:"Color",placeholder:"Please select your favorite color",value:value,onChange:setValue})))}).add("with custom label",()=>{const[value,setValue]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)();return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_3__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ColorPicker__WEBPACK_IMPORTED_MODULE_2__.b,{id:"color",label:react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"d-flex justify-content-between"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span",null,"Color"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_4__.v,{className:"ml-1",content:"Use the color picker to select a color"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_4__.d,{icon:"info"}))),placeholder:"Please select your favorite color",value:value,onChange:setValue})))}).add("jarb",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_3__.a,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ColorPicker__WEBPACK_IMPORTED_MODULE_2__.a,{id:"color",name:"color",label:"Color",placeholder:"Please select your favorite color",validators:[isToDark],jarb:{validator:"Hero.color",label:"Color"}})))}.call(this,__webpack_require__(26)(module))},2309:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),function(module){var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),_storybook_react__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(14),_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(2),_story_utils__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(5),_DateRangePicker__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(213),withSourceLoader=__webpack_require__(15).withSource,__STORY__=(__webpack_require__(15).addSource,"import React from 'react';\nimport { storiesOf } from '@storybook/react';\nimport { action } from '@storybook/addon-actions';\n\nimport { FinalForm, Form } from '../story-utils';\nimport DateRangePicker, { JarbDateRangePicker } from './DateRangePicker';\n\nstoriesOf('Form|DateTime/DateRangePicker', module)\n .add('basic', () => {\n return (\n
\n action('value changed')}\n from={{\n id: 'fromId',\n label: 'From Date',\n placeholder: 'Please enter a From date',\n dateFormat: 'YYYY-MM-DD',\n timeFormat: 'HH:mm:ss',\n isDateAllowed: current => current.day() !== 0 && current.day() !== 6\n }}\n to={{\n id: 'toId',\n label: 'To Date',\n placeholder: 'Please enter a To date',\n dateFormat: 'YYYY-MM-DD',\n timeFormat: 'HH:mm:ss',\n isDateAllowed: current => current.day() !== 0 && current.day() !== 6\n }}\n />\n \n );\n })\n .add('open in modal', () => {\n return (\n
\n action('value changed')}\n from={{\n id: 'fromId',\n label: 'From Date',\n placeholder: 'Please enter a From date',\n dateFormat: 'YYYY-MM-DD',\n timeFormat: 'HH:mm:ss',\n isDateAllowed: current => current.day() !== 0 && current.day() !== 6\n }}\n to={{\n id: 'toId',\n label: 'To Date',\n placeholder: 'Please enter a To date',\n dateFormat: 'YYYY-MM-DD',\n timeFormat: 'HH:mm:ss',\n isDateAllowed: current => current.day() !== 0 && current.day() !== 6\n }}\n mode={'modal'}\n />\n \n );\n })\n .add('jarb', () => {\n return (\n \n current.day() !== 0 && current.day() !== 6\n }}\n to={{\n id: 'toId',\n label: 'To Date',\n placeholder: 'Please enter a To date',\n dateFormat: 'YYYY-MM-DD',\n timeFormat: 'HH:mm:ss',\n isDateAllowed: current => current.day() !== 0 && current.day() !== 6\n }}\n />\n \n );\n });\n"),__ADDS_MAP__={"form-datetime-daterangepicker--jarb":{startLoc:{col:7,line:60},endLoc:{col:3,line:88},startBody:{col:15,line:60},endBody:{col:3,line:88}},"form-datetime-daterangepicker--open-in-modal":{startLoc:{col:7,line:34},endLoc:{col:3,line:59},startBody:{col:24,line:34},endBody:{col:3,line:59}},"form-datetime-daterangepicker--basic":{startLoc:{col:7,line:9},endLoc:{col:3,line:33},startBody:{col:16,line:9},endBody:{col:3,line:33}}};Object(_storybook_react__WEBPACK_IMPORTED_MODULE_1__.storiesOf)("Form|DateTime/DateRangePicker",module).addParameters({storySource:{source:__STORY__,locationsMap:__ADDS_MAP__}}).addDecorator(withSourceLoader(__STORY__,__ADDS_MAP__,"/DateRangePicker.stories.tsx",[],{},"/Users/gido.manders/projecten/42/ui/src/form/DateRangePicker",{})).add("basic",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_3__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_DateRangePicker__WEBPACK_IMPORTED_MODULE_4__.b,{onChange:()=>Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)("value changed"),from:{id:"fromId",label:"From Date",placeholder:"Please enter a From date",dateFormat:"YYYY-MM-DD",timeFormat:"HH:mm:ss",isDateAllowed:current=>0!==current.day()&&6!==current.day()},to:{id:"toId",label:"To Date",placeholder:"Please enter a To date",dateFormat:"YYYY-MM-DD",timeFormat:"HH:mm:ss",isDateAllowed:current=>0!==current.day()&&6!==current.day()}}))).add("open in modal",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_3__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_DateRangePicker__WEBPACK_IMPORTED_MODULE_4__.b,{onChange:()=>Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)("value changed"),from:{id:"fromId",label:"From Date",placeholder:"Please enter a From date",dateFormat:"YYYY-MM-DD",timeFormat:"HH:mm:ss",isDateAllowed:current=>0!==current.day()&&6!==current.day()},to:{id:"toId",label:"To Date",placeholder:"Please enter a To date",dateFormat:"YYYY-MM-DD",timeFormat:"HH:mm:ss",isDateAllowed:current=>0!==current.day()&&6!==current.day()},mode:"modal"}))).add("jarb",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_3__.a,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_DateRangePicker__WEBPACK_IMPORTED_MODULE_4__.a,{name:"availability",jarb:{validator:"User.availability",label:"Availability"},from:{id:"fromId",label:"From Date",placeholder:"Please enter a From date",dateFormat:"YYYY-MM-DD",timeFormat:"HH:mm:ss",isDateAllowed:current=>0!==current.day()&&6!==current.day()},to:{id:"toId",label:"To Date",placeholder:"Please enter a To date",dateFormat:"YYYY-MM-DD",timeFormat:"HH:mm:ss",isDateAllowed:current=>0!==current.day()&&6!==current.day()}})))}.call(this,__webpack_require__(26)(module))},2310:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),function(module){var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),_storybook_react__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(14),_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(2),_DateTimeInput__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(100),_story_utils__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(5),___WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(7),withSourceLoader=__webpack_require__(15).withSource,__STORY__=(__webpack_require__(15).addSource,'import React, { useState } from \'react\';\nimport { storiesOf } from \'@storybook/react\';\nimport { action } from \'@storybook/addon-actions\';\n\nimport DateTimeInput, { JarbDateTimeInput } from \'./DateTimeInput\';\nimport { FinalForm, Form } from \'../story-utils\';\nimport { Icon, Tooltip } from \'../..\';\n\nstoriesOf(\'Form|DateTime/DateTimeInput\', module)\n .add(\'date and time\', () => {\n return (\n
\n {\n return date.isBefore(new Date());\n }}\n onChange={() => action(\'value changed\')}\n />\n \n );\n })\n .add(\'date\', () => {\n return (\n
\n {\n return date.isBefore(new Date());\n }}\n onChange={() => action(\'value changed\')}\n />\n \n );\n })\n .add(\'time\', () => {\n return (\n
\n {\n return date.isBefore(new Date());\n }}\n onChange={() => action(\'value changed\')}\n />\n \n );\n })\n .add(\'with custom label\', () => {\n return (\n
\n \n Date of birth\n \n \n \n \n }\n placeholder="Please enter your date and time of birth"\n dateFormat="YYYY-MM-DD"\n timeFormat="HH:mm:ss"\n isDateAllowed={date => {\n return date.isBefore(new Date());\n }}\n onChange={() => action(\'value changed\')}\n />\n \n );\n })\n .add(\'open in modal\', () => {\n const [value, setValue] = useState();\n\n return (\n
\n {\n return date.isBefore(new Date());\n }}\n value={value}\n onChange={setValue}\n mode="modal"\n />\n \n );\n })\n .add(\'jarb\', () => {\n return (\n \n {\n return date.isBefore(new Date());\n }}\n jarb={{\n validator: \'User.birthday\',\n label: \'Birthday\'\n }}\n />\n \n );\n });\n'),__ADDS_MAP__={"form-datetime-datetimeinput--jarb":{startLoc:{col:7,line:110},endLoc:{col:3,line:130},startBody:{col:15,line:110},endBody:{col:3,line:130}},"form-datetime-datetimeinput--open-in-modal":{startLoc:{col:7,line:89},endLoc:{col:3,line:109},startBody:{col:24,line:89},endBody:{col:3,line:109}},"form-datetime-datetimeinput--with-custom-label":{startLoc:{col:7,line:61},endLoc:{col:3,line:88},startBody:{col:28,line:61},endBody:{col:3,line:88}},"form-datetime-datetimeinput--time":{startLoc:{col:7,line:44},endLoc:{col:3,line:60},startBody:{col:15,line:44},endBody:{col:3,line:60}},"form-datetime-datetimeinput--date":{startLoc:{col:7,line:27},endLoc:{col:3,line:43},startBody:{col:15,line:27},endBody:{col:3,line:43}},"form-datetime-datetimeinput--date-and-time":{startLoc:{col:7,line:10},endLoc:{col:3,line:26},startBody:{col:24,line:10},endBody:{col:3,line:26}}};Object(_storybook_react__WEBPACK_IMPORTED_MODULE_1__.storiesOf)("Form|DateTime/DateTimeInput",module).addParameters({storySource:{source:__STORY__,locationsMap:__ADDS_MAP__}}).addDecorator(withSourceLoader(__STORY__,__ADDS_MAP__,"/DateTimeInput.stories.tsx",[],{},"/Users/gido.manders/projecten/42/ui/src/form/DateTimeInput",{})).add("date and time",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_DateTimeInput__WEBPACK_IMPORTED_MODULE_3__.b,{id:"dateOfBirth",label:"Date of birth",placeholder:"Please enter your date and time of birth",dateFormat:"YYYY-MM-DD",timeFormat:"HH:mm:ss",isDateAllowed:date=>date.isBefore(new Date),onChange:()=>Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)("value changed")}))).add("date",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_DateTimeInput__WEBPACK_IMPORTED_MODULE_3__.b,{id:"dateOfBirth",label:"Date of birth",placeholder:"Please enter your date of birth",dateFormat:"YYYY-MM-DD",timeFormat:!1,isDateAllowed:date=>date.isBefore(new Date),onChange:()=>Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)("value changed")}))).add("time",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_DateTimeInput__WEBPACK_IMPORTED_MODULE_3__.b,{id:"startTime",label:"Start time",placeholder:"Please enter your start time",dateFormat:!1,timeFormat:"HH:mm:ss",isDateAllowed:date=>date.isBefore(new Date),onChange:()=>Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)("value changed")}))).add("with custom label",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_DateTimeInput__WEBPACK_IMPORTED_MODULE_3__.b,{id:"dateOfBirth",label:react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span",null,"Date of birth"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_5__.v,{className:"position-relative ml-1",style:{top:5},content:"This is the date you where born on"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_5__.d,{icon:"info"}))),placeholder:"Please enter your date and time of birth",dateFormat:"YYYY-MM-DD",timeFormat:"HH:mm:ss",isDateAllowed:date=>date.isBefore(new Date),onChange:()=>Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)("value changed")}))).add("open in modal",()=>{const[value,setValue]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)();return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_DateTimeInput__WEBPACK_IMPORTED_MODULE_3__.b,{id:"dateOfBirth",label:"Date of birth",placeholder:"Please enter your date and time of birth",dateFormat:"YYYY-MM-DD",timeFormat:"HH:mm:ss",isDateAllowed:date=>date.isBefore(new Date),value:value,onChange:setValue,mode:"modal"}))}).add("jarb",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.a,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_DateTimeInput__WEBPACK_IMPORTED_MODULE_3__.a,{id:"dateOfBirth",name:"dateOfBirth",label:"Date of birth",placeholder:"Please enter your date and time of birth",dateFormat:"YYYY-MM-DD",timeFormat:"HH:mm:ss",isDateAllowed:date=>date.isBefore(new Date),jarb:{validator:"User.birthday",label:"Birthday"}})))}.call(this,__webpack_require__(26)(module))},2311:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),function(module){var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),_storybook_react__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(14),_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(2),_FileInput__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(114),_story_utils__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(5),___WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(7),withSourceLoader=__webpack_require__(15).withSource,__STORY__=(__webpack_require__(15).addSource,'import React from \'react\';\nimport { storiesOf } from \'@storybook/react\';\nimport { action } from \'@storybook/addon-actions\';\n\nimport FileInput, { JarbFileInput, requireFile } from \'./FileInput\';\n\nimport { Form, FinalForm } from \'../story-utils\';\nimport { Tooltip, Icon } from \'../..\';\n\nstoriesOf(\'Form|FileInput\', module)\n .add(\'basic\', () => {\n return (\n
\n action(\'value changed\')}\n />\n \n );\n })\n .add(\'without placeholder\', () => {\n return (\n
\n action(\'value changed\')}\n />\n \n );\n })\n .add(\'without label\', () => {\n return (\n
\n action(\'value changed\')}\n />\n \n );\n })\n .add(\'with custom label\', () => {\n return (\n
\n \n Upload a file here\n \n \n \n \n }\n accept="text/plain"\n onChange={() => action(\'value changed\')}\n />\n \n );\n })\n .add(\'jarb\', () => {\n return (\n \n \n \n );\n });\n'),__ADDS_MAP__={"form-fileinput--jarb":{startLoc:{col:7,line:72},endLoc:{col:3,line:89},startBody:{col:15,line:72},endBody:{col:3,line:89}},"form-fileinput--with-custom-label":{startLoc:{col:7,line:48},endLoc:{col:3,line:71},startBody:{col:28,line:48},endBody:{col:3,line:71}},"form-fileinput--without-label":{startLoc:{col:7,line:36},endLoc:{col:3,line:47},startBody:{col:24,line:36},endBody:{col:3,line:47}},"form-fileinput--without-placeholder":{startLoc:{col:7,line:24},endLoc:{col:3,line:35},startBody:{col:30,line:24},endBody:{col:3,line:35}},"form-fileinput--basic":{startLoc:{col:7,line:11},endLoc:{col:3,line:23},startBody:{col:16,line:11},endBody:{col:3,line:23}}};Object(_storybook_react__WEBPACK_IMPORTED_MODULE_1__.storiesOf)("Form|FileInput",module).addParameters({storySource:{source:__STORY__,locationsMap:__ADDS_MAP__}}).addDecorator(withSourceLoader(__STORY__,__ADDS_MAP__,"/FileInput.stories.tsx",[],{},"/Users/gido.manders/projecten/42/ui/src/form/FileInput",{})).add("basic",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_FileInput__WEBPACK_IMPORTED_MODULE_3__.b,{id:"file-upload-with-button",placeholder:"Upload a file here",label:"Upload a file here",accept:"text/plain",onChange:()=>Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)("value changed")}))).add("without placeholder",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_FileInput__WEBPACK_IMPORTED_MODULE_3__.b,{id:"file-upload-with-button",label:"Upload a file here",accept:"text/plain",onChange:()=>Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)("value changed")}))).add("without label",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_FileInput__WEBPACK_IMPORTED_MODULE_3__.b,{id:"file-upload-with-button",placeholder:"Upload a file here",accept:"text/plain",onChange:()=>Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)("value changed")}))).add("with custom label",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_FileInput__WEBPACK_IMPORTED_MODULE_3__.b,{id:"file-upload-with-button",placeholder:"Upload a file here",label:react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"d-flex justify-content-between"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span",null,"Upload a file here"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_5__.v,{className:"ml-1",style:{zIndex:101},content:"The file should be a plain text file"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_5__.d,{icon:"info"}))),accept:"text/plain",onChange:()=>Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)("value changed")}))).add("jarb",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.a,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_FileInput__WEBPACK_IMPORTED_MODULE_3__.a,{id:"file-upload-with-button",name:"upload",placeholder:"Upload a file here",label:"Upload a file here",accept:"text/plain",validators:[Object(_FileInput__WEBPACK_IMPORTED_MODULE_3__.d)("Profile photo")],jarb:{validator:"User.profile",label:"Profile photo"}})))}.call(this,__webpack_require__(26)(module))},2312:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),function(module){__webpack_require__.d(__webpack_exports__,"userAsOption",(function(){return userAsOption}));var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),_storybook_react__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(14),lodash__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(16),_Input_Input__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(38),_story_utils__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(5),___WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(7),_test_fixtures__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(12),_ColorPicker_ColorPicker__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__(155),_Checkbox_Checkbox__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__(134),_RadioGroup_RadioGroup__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__(51),_NewPasswordInput_NewPasswordInput__WEBPACK_IMPORTED_MODULE_10__=__webpack_require__(110),__awaiter=function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){result.done?resolve(result.value):function adopt(value){return value instanceof P?value:new P((function(resolve){resolve(value)}))}(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))},withSourceLoader=__webpack_require__(15).withSource,__STORY__=(__webpack_require__(15).addSource,"import React from 'react';\nimport { storiesOf } from '@storybook/react';\nimport { random } from 'lodash';\nimport { Moment } from 'moment';\n\nimport { JarbInput } from './Input/Input';\nimport { FinalForm } from './story-utils';\nimport {\n isStrongPassword,\n JarbCheckboxMultipleSelect,\n JarbDateRangePicker,\n JarbDateTimeInput,\n JarbFileInput,\n JarbIconPicker,\n JarbImageUpload,\n JarbModalPickerMultiple,\n JarbModalPickerSingle,\n JarbSelect,\n JarbTextarea,\n JarbTextEditor,\n JarbTypeaheadMultiple,\n JarbTypeaheadSingle,\n limitFileSize,\n limitImageSize,\n requireFile,\n requireImage\n} from '..';\nimport { pageOfUsers } from '../test/fixtures';\nimport { User } from '../test/types';\nimport { JarbColorPicker } from './ColorPicker/ColorPicker';\nimport { JarbCheckbox } from './Checkbox/Checkbox';\nimport { JarbRadioGroup } from './RadioGroup/RadioGroup';\nimport { JarbNewPasswordInput } from './NewPasswordInput/NewPasswordInput';\n\nfunction sleep(ms: number) {\n return new Promise(resolve => {\n setTimeout(resolve, ms);\n });\n}\n\nfunction required(value?: any) {\n return value ? undefined : 'Required';\n}\n\nfunction isLengthBelow100(value?: string) {\n if (!value) {\n return undefined;\n }\n\n return value.length < 100\n ? undefined\n : 'Cannot contain more than 100 characters';\n}\n\nasync function firstNameAvailable(value?: string) {\n if (!value) {\n return undefined;\n }\n\n await sleep(random(2000, 5000));\n\n return ['Maarten', 'Jeffrey'].includes(value) ? (\n undefined\n ) : (\n
    \n
  • First name not available
  • \n
  • You can use Jeffrey
  • \n
  • You can use Maarten
  • \n
\n );\n}\n\nasync function lastNameAvailable(value?: string) {\n if (!value) {\n return undefined;\n }\n\n await sleep(random(100, 500));\n\n return ['Hus', 'van Hoven'].includes(value) ? (\n undefined\n ) : (\n
    \n
  • Last name not available
  • \n
  • You can use Hus
  • \n
  • You can use van Hoven
  • \n
\n );\n}\n\nconst mask = [\n '(',\n /[1-9]/,\n /\\d/,\n /\\d/,\n ')',\n ' ',\n /\\d/,\n /\\d/,\n /\\d/,\n '-',\n /\\d/,\n /\\d/,\n /\\d/,\n /\\d/\n];\n\nconst validateCv = [requireFile('cv'), limitFileSize(5, 'cv')];\nconst validateProfile = [\n requireImage('profile photo'),\n limitImageSize(0.5, 'profile photo')\n];\n\nconst requiredValidator = [required];\n\nconst firstNameValidators = [required, isLengthBelow100];\nconst firstNameAsyncValidators = [firstNameAvailable];\n\nconst lastNameValidators = [required, isLengthBelow100];\nconst lastNameAsyncValidators = [lastNameAvailable];\n\nexport function userAsOption(user: User): string {\n return user.email;\n}\n\nstoriesOf('Form|Example', module).add('jarb form', () => {\n return (\n \n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n {\n return date.isBefore(new Date());\n }}\n validators={requiredValidator}\n />\n\n current.day() !== 0 && current.day() !== 6\n }}\n to={{\n id: 'toId',\n label: 'To Date',\n placeholder: 'Please enter a To date',\n dateFormat: 'YYYY-MM-DD',\n timeFormat: 'HH:mm:ss',\n isDateAllowed: current => current.day() !== 0 && current.day() !== 6\n }}\n validators={requiredValidator}\n />\n\n value.label}\n isOptionEnabled={option => option.value !== 'awesome'}\n options={[\n { value: 'awesome', label: 'Awesome shit' },\n { value: 'super', label: 'Super shit' },\n { value: 'great', label: 'Great shit' },\n { value: 'good', label: 'good shit' }\n ]}\n validators={requiredValidator}\n />\n\n Promise.resolve(pageOfUsers)}\n validators={requiredValidator}\n />\n\n Promise.resolve(pageOfUsers)}\n validators={requiredValidator}\n />\n\n Promise.resolve(pageOfUsers)}\n />\n\n Promise.resolve(pageOfUsers)}\n validators={requiredValidator}\n />\n\n Promise.resolve(pageOfUsers)}\n validators={requiredValidator}\n />\n\n Promise.resolve(pageOfUsers)}\n canSearch={true}\n validators={requiredValidator}\n />\n\n Promise.resolve(pageOfUsers)}\n canSearch={true}\n validators={requiredValidator}\n />\n\n \n\n \n\n \n \n );\n});\n"),__ADDS_MAP__={"form-example--jarb-form":{startLoc:{col:38,line:126},endLoc:{col:1,line:381},startBody:{col:51,line:126},endBody:{col:1,line:381}}};function sleep(ms){return new Promise(resolve=>{setTimeout(resolve,ms)})}function required(value){return value?void 0:"Required"}function isLengthBelow100(value){if(value)return value.length<100?void 0:"Cannot contain more than 100 characters"}const mask=["(",/[1-9]/,/\d/,/\d/,")"," ",/\d/,/\d/,/\d/,"-",/\d/,/\d/,/\d/,/\d/],validateCv=[Object(___WEBPACK_IMPORTED_MODULE_5__.A)("cv"),Object(___WEBPACK_IMPORTED_MODULE_5__.x)(5,"cv")],validateProfile=[Object(___WEBPACK_IMPORTED_MODULE_5__.B)("profile photo"),Object(___WEBPACK_IMPORTED_MODULE_5__.y)(.5,"profile photo")],requiredValidator=[required],firstNameValidators=[required,isLengthBelow100],firstNameAsyncValidators=[function firstNameAvailable(value){return __awaiter(this,void 0,void 0,(function*(){if(value)return yield sleep(Object(lodash__WEBPACK_IMPORTED_MODULE_2__.random)(2e3,5e3)),["Maarten","Jeffrey"].includes(value)?void 0:react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("ul",null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("li",null,"First name not available"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("li",null,"You can use Jeffrey"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("li",null,"You can use Maarten"))}))}],lastNameValidators=[required,isLengthBelow100],lastNameAsyncValidators=[function lastNameAvailable(value){return __awaiter(this,void 0,void 0,(function*(){if(value)return yield sleep(Object(lodash__WEBPACK_IMPORTED_MODULE_2__.random)(100,500)),["Hus","van Hoven"].includes(value)?void 0:react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("ul",null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("li",null,"Last name not available"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("li",null,"You can use Hus"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("li",null,"You can use van Hoven"))}))}];function userAsOption(user){return user.email}Object(_storybook_react__WEBPACK_IMPORTED_MODULE_1__.storiesOf)("Form|Example",module).addParameters({storySource:{source:__STORY__,locationsMap:__ADDS_MAP__}}).addDecorator(withSourceLoader(__STORY__,__ADDS_MAP__,"/FormExample.stories.tsx",[],{},"/Users/gido.manders/projecten/42/ui/src/form",{})).add("jarb form",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.a,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Input_Input__WEBPACK_IMPORTED_MODULE_3__.a,{name:"firstName",jarb:{validator:"User.email",label:"First name"},id:"firstName",label:"First name",placeholder:"Please enter your first name",validators:firstNameValidators,asyncValidators:firstNameAsyncValidators}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Input_Input__WEBPACK_IMPORTED_MODULE_3__.a,{name:"lastName",jarb:{validator:"User.lastName",label:"Last name"},id:"lastName",label:"Last name",placeholder:"Please enter your last name",addon:{icon:"face",position:"right"},validators:lastNameValidators,asyncValidators:lastNameAsyncValidators}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Input_Input__WEBPACK_IMPORTED_MODULE_3__.a,{name:"phone",jarb:{validator:"User.phone",label:"Phone"},id:"phone",label:"Phone",mask:mask,placeholder:"Please enter your phone number",validators:requiredValidator}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_5__.h,{name:"cv",jarb:{validator:"User.cv",label:"CV"},validators:validateCv,id:"cv",label:"Upload your CV",placeholder:"Upload a file here",accept:"text/plain"}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_5__.j,{name:"profile",jarb:{validator:"User.profile",label:"Profile photo"},validators:validateProfile,id:"profile",label:"Profile photo",crop:{type:"circle",size:250}}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_5__.n,{name:"description",jarb:{validator:"User.description",label:"Description"},id:"description",label:"Description",placeholder:"Please add a description",validators:requiredValidator}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_5__.o,{name:"username",jarb:{validator:"User.username",label:"User name"},id:"description",label:"User name",placeholder:"Please enter your user name",validators:requiredValidator}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_NewPasswordInput_NewPasswordInput__WEBPACK_IMPORTED_MODULE_10__.a,{name:"password",jarb:{validator:"User.password",label:"Password"},id:"password",label:"Password",placeholder:"Please enter your password",validators:[Object(___WEBPACK_IMPORTED_MODULE_5__.w)(["lowercase","uppercase","number","specialChar","minimumLength","noSpace"],10)]}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_5__.g,{name:"dateOfBirth",jarb:{validator:"User.dateOfBirth",label:"Date of birth"},id:"dateOfBirth",label:"Date of birth",placeholder:"Please enter your date of birth",dateFormat:"YYYY-MM-DD",timeFormat:!1,isDateAllowed:date=>date.isBefore(new Date),validators:requiredValidator}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_5__.f,{name:"availability",jarb:{validator:"User.availability",label:"Availability"},from:{id:"fromId",label:"From Date",placeholder:"Please enter a From date",dateFormat:"YYYY-MM-DD",timeFormat:"HH:mm:ss",isDateAllowed:current=>0!==current.day()&&6!==current.day()},to:{id:"toId",label:"To Date",placeholder:"Please enter a To date",dateFormat:"YYYY-MM-DD",timeFormat:"HH:mm:ss",isDateAllowed:current=>0!==current.day()&&6!==current.day()},validators:requiredValidator}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_5__.m,{name:"subject",jarb:{validator:"User.subject",label:"Subject"},id:"subject",label:"Subject",placeholder:"Please enter your subject",optionForValue:value=>value.label,isOptionEnabled:option=>"awesome"!==option.value,options:[{value:"awesome",label:"Awesome shit"},{value:"super",label:"Super shit"},{value:"great",label:"Great shit"},{value:"good",label:"good shit"}],validators:requiredValidator}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_5__.m,{name:"nemesis",jarb:{validator:"User.nemesis",label:"Nemesis"},id:"nemesis",label:"Worst enemy",placeholder:"Select your nemesis",optionForValue:userAsOption,options:()=>Promise.resolve(_test_fixtures__WEBPACK_IMPORTED_MODULE_6__.b),validators:requiredValidator}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_RadioGroup_RadioGroup__WEBPACK_IMPORTED_MODULE_9__.a,{name:"bestFriend",jarb:{validator:"User.bestFriend",label:"Nemesis"},id:"bestFriend",label:"Best friend",placeholder:"Select your best friend",optionForValue:userAsOption,options:()=>Promise.resolve(_test_fixtures__WEBPACK_IMPORTED_MODULE_6__.b),validators:requiredValidator}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_5__.q,{name:"bestFriend",jarb:{validator:"User.bestFriend",label:"Best friend"},id:"bestFriend",label:"Best friend",optionForValue:userAsOption,placeholder:"Please provide your best friend",fetchOptions:()=>Promise.resolve(_test_fixtures__WEBPACK_IMPORTED_MODULE_6__.b)}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_5__.l,{name:"bestFriend",jarb:{validator:"User.bestFriend",label:"Best friend"},id:"bestFriend",label:"Best friend",placeholder:"Select your best friend",canSearch:!0,optionForValue:userAsOption,fetchOptions:()=>Promise.resolve(_test_fixtures__WEBPACK_IMPORTED_MODULE_6__.b),validators:requiredValidator}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_5__.p,{name:"friends",jarb:{validator:"User.friends",label:"Friends"},id:"friends",label:"Friends",optionForValue:userAsOption,placeholder:"Please provide all your friends",fetchOptions:()=>Promise.resolve(_test_fixtures__WEBPACK_IMPORTED_MODULE_6__.b),validators:requiredValidator}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_5__.k,{name:"friends",jarb:{validator:"User.bestFriend",label:"Friends"},id:"friends",label:"Friends",placeholder:"Please provide all your friends",optionForValue:userAsOption,fetchOptions:()=>Promise.resolve(_test_fixtures__WEBPACK_IMPORTED_MODULE_6__.b),canSearch:!0,validators:requiredValidator}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_5__.e,{name:"friends",jarb:{validator:"User.bestFriend",label:"Friends"},id:"friends",label:"Friends",placeholder:"Please provide all your friends",optionForValue:userAsOption,options:()=>Promise.resolve(_test_fixtures__WEBPACK_IMPORTED_MODULE_6__.b),canSearch:!0,validators:requiredValidator}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_5__.i,{name:"icon",jarb:{validator:"User.icon",label:"Icon"},id:"icon",label:"Icon",placeholder:"Please select an icon",validators:requiredValidator}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ColorPicker_ColorPicker__WEBPACK_IMPORTED_MODULE_7__.a,{name:"color",jarb:{validator:"User.color",label:"Color"},id:"color",label:"Color",placeholder:"Please select a Color",validators:requiredValidator}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Checkbox_Checkbox__WEBPACK_IMPORTED_MODULE_8__.a,{name:"agree",jarb:{validator:"User.agree",label:"Agree"},id:"agree",label:"Agree",placeholder:"Do you agree to the terms?",validators:requiredValidator})));try{userAsOption.displayName="userAsOption",userAsOption.__docgenInfo={description:"",displayName:"userAsOption",props:{id:{defaultValue:null,description:"",name:"id",required:!0,type:{name:"number"}},email:{defaultValue:null,description:"",name:"email",required:!0,type:{name:"string"}},firstName:{defaultValue:null,description:"",name:"firstName",required:!0,type:{name:"string"}},lastName:{defaultValue:null,description:"",name:"lastName",required:!0,type:{name:"string"}},active:{defaultValue:null,description:"",name:"active",required:!0,type:{name:"boolean"}},roles:{defaultValue:null,description:"",name:"roles",required:!0,type:{name:"UserRole[]"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/form/FormExample.stories.tsx#userAsOption"]={docgenInfo:userAsOption.__docgenInfo,name:"userAsOption",path:"src/form/FormExample.stories.tsx#userAsOption"})}catch(__react_docgen_typescript_loader_error){}}.call(this,__webpack_require__(26)(module))},2313:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),function(module){var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),_storybook_react__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(14),_IconPicker__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(193),_story_utils__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(5),___WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(7),withSourceLoader=__webpack_require__(15).withSource,__STORY__=(__webpack_require__(15).addSource,'import React, { useState } from \'react\';\nimport { storiesOf } from \'@storybook/react\';\n\nimport IconPicker, { JarbIconPicker } from \'./IconPicker\';\nimport { FinalForm, Form } from \'../story-utils\';\nimport { IconType, Tooltip, Icon } from \'../../\';\n\nfunction is3DRotation(value: IconType) {\n return value === \'3d_rotation\' ? undefined : \'Not "3d_rotation"\';\n}\n\nstoriesOf(\'Form|IconPicker\', module)\n .add(\'basic\', () => {\n const [value, setValue] = useState(undefined);\n\n return (\n
\n
\n \n \n
\n );\n })\n .add(\'without label\', () => {\n const [value, setValue] = useState(undefined);\n\n return (\n
\n \n \n );\n })\n .add(\'with custom label\', () => {\n const [value, setValue] = useState(undefined);\n\n return (\n
\n
\n \n Icon\n \n \n \n
\n }\n placeholder="Please select your icon"\n value={value}\n onChange={setValue}\n />\n \n \n );\n })\n .add(\'jarb\', () => {\n return (\n \n \n \n );\n });\n'),__ADDS_MAP__={"form-iconpicker--jarb":{startLoc:{col:7,line:71},endLoc:{col:3,line:87},startBody:{col:15,line:71},endBody:{col:3,line:87}},"form-iconpicker--with-custom-label":{startLoc:{col:7,line:44},endLoc:{col:3,line:70},startBody:{col:28,line:44},endBody:{col:3,line:70}},"form-iconpicker--without-label":{startLoc:{col:7,line:30},endLoc:{col:3,line:43},startBody:{col:24,line:30},endBody:{col:3,line:43}},"form-iconpicker--basic":{startLoc:{col:7,line:13},endLoc:{col:3,line:29},startBody:{col:16,line:13},endBody:{col:3,line:29}}};function is3DRotation(value){return"3d_rotation"===value?void 0:'Not "3d_rotation"'}Object(_storybook_react__WEBPACK_IMPORTED_MODULE_1__.storiesOf)("Form|IconPicker",module).addParameters({storySource:{source:__STORY__,locationsMap:__ADDS_MAP__}}).addDecorator(withSourceLoader(__STORY__,__ADDS_MAP__,"/IconPicker.stories.tsx",[],{},"/Users/gido.manders/projecten/42/ui/src/form/IconPicker",{})).add("basic",()=>{const[value,setValue]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(void 0);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_3__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_IconPicker__WEBPACK_IMPORTED_MODULE_2__.b,{id:"icon",label:"Icon",placeholder:"Please select your icon",value:value,onChange:setValue})))}).add("without label",()=>{const[value,setValue]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(void 0);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_3__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_IconPicker__WEBPACK_IMPORTED_MODULE_2__.b,{id:"icon",placeholder:"Please select your icon",value:value,onChange:setValue}))}).add("with custom label",()=>{const[value,setValue]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(void 0);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_3__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_IconPicker__WEBPACK_IMPORTED_MODULE_2__.b,{id:"icon",label:react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"d-flex justify-content-between"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span",null,"Icon"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_4__.v,{className:"ml-1",content:"The icon will be used as an avatar"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_4__.d,{icon:"info"}))),placeholder:"Please select your icon",value:value,onChange:setValue})))}).add("jarb",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_3__.a,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_IconPicker__WEBPACK_IMPORTED_MODULE_2__.a,{id:"icon",name:"icon",label:"Icon",placeholder:"Please select your icon",validators:[is3DRotation],jarb:{validator:"Hero.icon",label:"Icon"}})))}.call(this,__webpack_require__(26)(module))},2314:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),function(module){var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),_storybook_react__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(14),_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(2),_ImageUpload__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(126),_story_utils__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(5),___WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(7),_FileInput_FileInput__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(114),withSourceLoader=__webpack_require__(15).withSource,__STORY__=(__webpack_require__(15).addSource,"import React, { useState } from 'react';\nimport { storiesOf } from '@storybook/react';\nimport { action } from '@storybook/addon-actions';\n\nimport ImageUpload, { JarbImageUpload, requireImage } from './ImageUpload';\nimport { Form, FinalForm } from '../story-utils';\nimport { Tooltip, Icon } from '../..';\nimport FileInput from '../FileInput/FileInput';\n\nstoriesOf('Form|ImageUpload', module)\n .add('rect', () => {\n return (\n
\n action(`You entered ${value}`)}\n />\n \n );\n })\n .add('circle', () => {\n return (\n
\n action(`You entered ${value}`)}\n />\n \n );\n })\n .add('without label', () => {\n return (\n
\n action(`You entered ${value}`)}\n />\n \n );\n })\n .add('with custom label', () => {\n return (\n
\n \n Profile photo\n \n \n \n \n }\n crop={{\n type: 'rect',\n width: 500,\n height: 400\n }}\n onChange={value => action(`You entered ${value}`)}\n />\n \n );\n })\n .add('File as initial value', () => {\n const [file, setFile] = useState();\n return (\n
\n \n {file ? (\n \n ) : null}\n \n );\n })\n .add('jarb', () => {\n return (\n \n \n \n );\n });\n"),__ADDS_MAP__={"form-imageupload--jarb":{startLoc:{col:7,line:110},endLoc:{col:3,line:130},startBody:{col:15,line:110},endBody:{col:3,line:130}},"form-imageupload--file-as-initial-value":{startLoc:{col:7,line:84},endLoc:{col:3,line:109},startBody:{col:32,line:84},endBody:{col:3,line:109}},"form-imageupload--with-custom-label":{startLoc:{col:7,line:57},endLoc:{col:3,line:83},startBody:{col:28,line:57},endBody:{col:3,line:83}},"form-imageupload--without-label":{startLoc:{col:7,line:42},endLoc:{col:3,line:56},startBody:{col:24,line:42},endBody:{col:3,line:56}},"form-imageupload--circle":{startLoc:{col:7,line:27},endLoc:{col:3,line:41},startBody:{col:17,line:27},endBody:{col:3,line:41}},"form-imageupload--rect":{startLoc:{col:7,line:11},endLoc:{col:3,line:26},startBody:{col:15,line:11},endBody:{col:3,line:26}}};Object(_storybook_react__WEBPACK_IMPORTED_MODULE_1__.storiesOf)("Form|ImageUpload",module).addParameters({storySource:{source:__STORY__,locationsMap:__ADDS_MAP__}}).addDecorator(withSourceLoader(__STORY__,__ADDS_MAP__,"/ImageUpload.stories.tsx",[],{},"/Users/gido.manders/projecten/42/ui/src/form/ImageUpload",{})).add("rect",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ImageUpload__WEBPACK_IMPORTED_MODULE_3__.b,{id:"image-uploader",label:"Profile photo",crop:{type:"rect",width:500,height:400},onChange:value=>Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)(`You entered ${value}`)}))).add("circle",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ImageUpload__WEBPACK_IMPORTED_MODULE_3__.b,{id:"image-uploader",label:"Profile photo",crop:{type:"circle",size:250},onChange:value=>Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)(`You entered ${value}`)}))).add("without label",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ImageUpload__WEBPACK_IMPORTED_MODULE_3__.b,{id:"image-uploader",crop:{type:"rect",width:500,height:400},onChange:value=>Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)(`You entered ${value}`)}))).add("with custom label",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ImageUpload__WEBPACK_IMPORTED_MODULE_3__.b,{id:"image-uploader",label:react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"d-flex justify-content-between"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span",null,"Profile photo"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_5__.v,{className:"ml-1",style:{zIndex:101},content:"You can edit the photo after you've selected it"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_5__.d,{icon:"info"}))),crop:{type:"rect",width:500,height:400},onChange:value=>Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)(`You entered ${value}`)}))).add("File as initial value",()=>{const[file,setFile]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)();return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_FileInput_FileInput__WEBPACK_IMPORTED_MODULE_6__.b,{id:"image-uploader",label:"Choose an image",accept:"image/*",onChange:setFile}),file?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ImageUpload__WEBPACK_IMPORTED_MODULE_3__.b,{id:"image-uploader",label:"Profile photo",crop:{type:"rect",width:500,height:400},value:file,onChange:setFile}):null)}).add("jarb",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.a,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ImageUpload__WEBPACK_IMPORTED_MODULE_3__.a,{id:"image-uploader",name:"profile",label:"Profile photo",validators:[Object(_ImageUpload__WEBPACK_IMPORTED_MODULE_3__.d)("Profile photo")],crop:{type:"rect",width:500,height:400},jarb:{validator:"User.profile",label:"Profile photo"}})))}.call(this,__webpack_require__(26)(module))},2315:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),function(module){__webpack_require__.d(__webpack_exports__,"_",(function(){return _}));var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),_storybook_react__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(14),_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(2),_Input__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(38),_story_utils__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(5),___WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(7),withSourceLoader=__webpack_require__(15).withSource,__STORY__=(__webpack_require__(15).addSource,'import React from \'react\';\nimport { storiesOf } from \'@storybook/react\';\nimport { action } from \'@storybook/addon-actions\';\n\nimport Input, { JarbInput } from \'./Input\';\nimport { Form, FinalForm } from \'../story-utils\';\nimport { Tooltip, Icon } from \'../..\';\n\nfunction isSuperman(value: string) {\n return value === \'superman\' ? undefined : \'Not "superman"\';\n}\n\nstoriesOf(\'Form|Input\', module)\n .add(\'basic\', () => {\n return (\n
\n action(`You entered ${value}`)}\n />\n \n );\n })\n .add(\'icon\', () => {\n return (\n
\n action(`onChange: ${value}`)}\n addon={{\n icon: \'face\',\n position: \'left\'\n }}\n />\n \n );\n })\n .add(\'without placeholder\', () => {\n return (\n
\n action(`You entered ${value}`)}\n />\n \n );\n })\n .add(\'mask\', () => {\n return (\n
\n );\n })\n .add(\'without label\', () => {\n return (\n
\n action(`You entered ${value}`)}\n />\n \n );\n })\n .add(\'with custom label\', () => {\n return (\n
\n \n First name\n \n \n \n \n }\n placeholder="Please enter your first name"\n onChange={value => action(`You entered ${value}`)}\n />\n \n );\n })\n .add(\'jarb\', () => {\n return (\n \n \n \n );\n });\n\nexport const _ = \'\';\n'),__ADDS_MAP__={"form-input--jarb":{startLoc:{col:7,line:105},endLoc:{col:3,line:118},startBody:{col:15,line:105},endBody:{col:3,line:118}},"form-input--with-custom-label":{startLoc:{col:7,line:83},endLoc:{col:3,line:104},startBody:{col:28,line:83},endBody:{col:3,line:104}},"form-input--without-label":{startLoc:{col:7,line:73},endLoc:{col:3,line:82},startBody:{col:24,line:73},endBody:{col:3,line:82}},"form-input--mask":{startLoc:{col:7,line:53},endLoc:{col:3,line:72},startBody:{col:15,line:53},endBody:{col:3,line:72}},"form-input--without-placeholder":{startLoc:{col:7,line:42},endLoc:{col:3,line:52},startBody:{col:30,line:42},endBody:{col:3,line:52}},"form-input--icon":{startLoc:{col:7,line:26},endLoc:{col:3,line:41},startBody:{col:15,line:26},endBody:{col:3,line:41}},"form-input--basic":{startLoc:{col:7,line:14},endLoc:{col:3,line:25},startBody:{col:16,line:14},endBody:{col:3,line:25}}};function isSuperman(value){return"superman"===value?void 0:'Not "superman"'}Object(_storybook_react__WEBPACK_IMPORTED_MODULE_1__.storiesOf)("Form|Input",module).addParameters({storySource:{source:__STORY__,locationsMap:__ADDS_MAP__}}).addDecorator(withSourceLoader(__STORY__,__ADDS_MAP__,"/Input.stories.tsx",[],{},"/Users/gido.manders/projecten/42/ui/src/form/Input",{})).add("basic",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Input__WEBPACK_IMPORTED_MODULE_3__.b,{id:"firstName",label:"First name",placeholder:"Please enter your first name",onChange:value=>Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)(`You entered ${value}`)}))).add("icon",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Input__WEBPACK_IMPORTED_MODULE_3__.b,{id:"firstName",label:"First name",placeholder:"Please enter your first name",onChange:value=>Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)(`onChange: ${value}`),addon:{icon:"face",position:"left"}}))).add("without placeholder",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Input__WEBPACK_IMPORTED_MODULE_3__.b,{id:"firstName",label:"First name",onChange:value=>Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)(`You entered ${value}`)}))).add("mask",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Input__WEBPACK_IMPORTED_MODULE_3__.b,{id:"zipcode",label:"Zipcode",placeholder:"Please enter your zipcode",onChange:value=>Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)(`You entered ${value}`),mask:[/[1-9]/,/[1-9]/,/[1-9]/,/[1-9]/," ",/[A-z]/,/[A-z]/]}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p",null,"Look",react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("a",{href:"https://github.com/text-mask/text-mask/blob/master/componentDocumentation.md#mask"},"here"),"for more example on how to use mask"))).add("without label",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Input__WEBPACK_IMPORTED_MODULE_3__.b,{placeholder:"Please enter your first name",onChange:value=>Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)(`You entered ${value}`)}))).add("with custom label",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Input__WEBPACK_IMPORTED_MODULE_3__.b,{id:"firstName",label:react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"d-flex justify-content-between"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span",null,"First name"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_5__.v,{className:"ml-1",content:"Your first name is on your birth certificate"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_5__.d,{icon:"info"}))),placeholder:"Please enter your first name",onChange:value=>Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)(`You entered ${value}`)}))).add("jarb",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.a,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Input__WEBPACK_IMPORTED_MODULE_3__.a,{name:"firstName",jarb:{validator:"Hero.name",label:"First name"},validators:[isSuperman],id:"firstName",label:"First name",placeholder:"Please enter your first name"})));const _=""}.call(this,__webpack_require__(26)(module))},2316:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),function(module){var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),_storybook_react__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(14),_test_utils__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(34),_test_fixtures__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(12),_ModalPickerMultiple__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(98),_story_utils__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(5),___WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(7),reactstrap__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__(83),reactstrap__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__(81),_core_Avatar_Avatar__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__(102),withSourceLoader=__webpack_require__(15).withSource,__STORY__=(__webpack_require__(15).addSource,'import React, { useState } from \'react\';\nimport { storiesOf } from \'@storybook/react\';\n\nimport { pageWithContentAndExactSize } from \'../../../test/utils\';\nimport { adminUser, userUser } from \'../../../test/fixtures\';\nimport { User } from \'../../../test/types\';\n\nimport ModalPickerMultiple, {\n JarbModalPickerMultiple\n} from \'./ModalPickerMultiple\';\n\nimport { FinalForm, Form } from \'../../story-utils\';\nimport { Icon, Tooltip } from \'../../..\';\nimport { ListGroup, ListGroupItem } from \'reactstrap\';\nimport Avatar from \'../../../core/Avatar/Avatar\';\n\nstoriesOf(\'Form|ModalPicker/ModalPickerMultiple\', module)\n .add(\'default\', () => {\n const [value, setValue] = useState([]);\n\n return (\n
\n \n id="bestFriend"\n label="Best friend"\n placeholder="Select your best friend"\n canSearch={true}\n fetchOptions={() =>\n Promise.resolve(pageWithContentAndExactSize([userUser, adminUser]))\n }\n optionForValue={(user: User) => user.email}\n value={value}\n onChange={setValue}\n />\n \n );\n })\n .add(\'with extra add button\', () => {\n const [value, setValue] = useState([]);\n\n return (\n
\n \n id="bestFriend"\n label="Best friend"\n placeholder="Select your best friend"\n canSearch={true}\n optionForValue={(user: User) => user.email}\n fetchOptions={() =>\n Promise.resolve(pageWithContentAndExactSize([userUser]))\n }\n addButton={{\n label: \'Create friend\',\n onClick: () => {\n // Just a fake implementation of how this could work.\n // In real life you probably want to pop a modal window\n // to create the friend.\n return new Promise(resolve => {\n setTimeout(() => {\n resolve(adminUser);\n }, 1000);\n });\n }\n }}\n value={value}\n onChange={setValue}\n />\n \n );\n })\n .add(\'without search\', () => {\n const [value, setValue] = useState([]);\n\n return (\n
\n \n id="bestFriend"\n label="Best friend"\n placeholder="Select your best friend"\n canSearch={false}\n optionForValue={(user: User) => user.email}\n fetchOptions={() =>\n Promise.resolve(pageWithContentAndExactSize([userUser]))\n }\n addButton={{\n label: \'Create friend\',\n onClick: () => {\n // Just a fake implementation of how this could work.\n // In real life you probably want to pop a modal window\n // to create the friend.\n return new Promise(resolve => {\n setTimeout(() => {\n resolve(adminUser);\n }, 1000);\n });\n }\n }}\n value={value}\n onChange={setValue}\n />\n \n );\n })\n .add(\'custom isOptionEqual\', () => {\n const [value, setValue] = useState([userUser]);\n\n return (\n
\n \n id="bestFriend"\n label="Best friend"\n placeholder="Select your best friend"\n canSearch={true}\n fetchOptions={() =>\n Promise.resolve(pageWithContentAndExactSize([userUser, adminUser]))\n }\n optionForValue={(user: User) => user.email}\n isOptionEqual={(a: User, b: User) => a.id === b.id}\n value={value}\n onChange={setValue}\n />\n \n );\n })\n .add(\'custom renderOptions\', () => {\n const [value, setValue] = useState([]);\n\n return (\n
\n \n id="bestFriend"\n label="Best friend"\n placeholder="Select your best friend"\n canSearch={true}\n fetchOptions={() =>\n Promise.resolve(pageWithContentAndExactSize([userUser, adminUser]))\n }\n optionForValue={(user: User) => user.email}\n renderOptions={options => (\n \n {options.map(({ option, isSelected, toggle }) => (\n \n \n \n {option.email}\n \n {isSelected ? : null}\n \n ))}\n \n )}\n value={value}\n onChange={setValue}\n />\n \n );\n })\n .add(\'without label\', () => {\n const [value, setValue] = useState([]);\n\n return (\n
\n \n id="bestFriend"\n placeholder="Select your best friend"\n canSearch={true}\n fetchOptions={() =>\n Promise.resolve(pageWithContentAndExactSize([userUser, adminUser]))\n }\n optionForValue={(user: User) => user.email}\n value={value}\n onChange={setValue}\n />\n \n );\n })\n .add(\'with custom label\', () => {\n const [value, setValue] = useState([]);\n\n return (\n
\n \n id="bestFriend"\n label={\n
\n Best friend\n \n \n \n
\n }\n placeholder="Select your best friend"\n canSearch={true}\n fetchOptions={() =>\n Promise.resolve(pageWithContentAndExactSize([userUser, adminUser]))\n }\n optionForValue={(user: User) => user.email}\n value={value}\n onChange={setValue}\n />\n \n );\n })\n .add(\'button alignment\', () => {\n const [value, setValue] = useState([]);\n\n return (\n
\n \n id="bestFriend"\n label="Default"\n placeholder="Select your best friend"\n canSearch={true}\n fetchOptions={() =>\n Promise.resolve(pageWithContentAndExactSize([userUser, adminUser]))\n }\n optionForValue={(user: User) => user.email}\n value={value}\n onChange={setValue}\n />\n \n id="bestFriend"\n label="Button on the left"\n placeholder="Select your best friend"\n canSearch={true}\n fetchOptions={() =>\n Promise.resolve(pageWithContentAndExactSize([userUser, adminUser]))\n }\n optionForValue={(user: User) => user.email}\n value={value}\n onChange={setValue}\n alignButton="left"\n />\n \n id="bestFriend"\n label="Button on the right"\n placeholder="Select your best friend"\n canSearch={true}\n fetchOptions={() =>\n Promise.resolve(pageWithContentAndExactSize([userUser, adminUser]))\n }\n optionForValue={(user: User) => user.email}\n value={value}\n onChange={setValue}\n alignButton="right"\n />\n \n );\n })\n .add(\'display values\', () => {\n const [value, setValue] = useState([]);\n\n return (\n
\n \n id="bestFriend"\n label="Best friend"\n placeholder="Select your best friend"\n canSearch={true}\n fetchOptions={() =>\n Promise.resolve(pageWithContentAndExactSize([userUser, adminUser]))\n }\n optionForValue={(user: User) => user.email}\n value={value}\n onChange={setValue}\n displayValues={users => {\n return users ? (\n <>\n {users.map((user, index) => (\n <>\n {index > 0 ? \', \' : \'\'}\n {user.roles.some(role => role === \'ADMIN\') ? (\n \n ) : (\n \n )}\n {user.firstName}\n {user.lastName}\n \n ))}\n \n ) : null;\n }}\n />\n \n );\n })\n .add(\'jarb\', () => {\n return (\n \n user.email}\n fetchOptions={() =>\n Promise.resolve(pageWithContentAndExactSize([userUser, adminUser]))\n }\n jarb={{\n validator: \'Hero.name\',\n label: \'Best friend\'\n }}\n />\n \n );\n });\n'),__ADDS_MAP__={"form-modalpicker-modalpickermultiple--jarb":{startLoc:{col:7,line:298},endLoc:{col:3,line:318},startBody:{col:15,line:298},endBody:{col:3,line:318}},"form-modalpicker-modalpickermultiple--display-values":{startLoc:{col:7,line:260},endLoc:{col:3,line:297},startBody:{col:25,line:260},endBody:{col:3,line:297}},"form-modalpicker-modalpickermultiple--button-alignment":{startLoc:{col:7,line:214},endLoc:{col:3,line:259},startBody:{col:27,line:214},endBody:{col:3,line:259}},"form-modalpicker-modalpickermultiple--with-custom-label":{startLoc:{col:7,line:184},endLoc:{col:3,line:213},startBody:{col:28,line:184},endBody:{col:3,line:213}},"form-modalpicker-modalpickermultiple--without-label":{startLoc:{col:7,line:165},endLoc:{col:3,line:183},startBody:{col:24,line:165},endBody:{col:3,line:183}},"form-modalpicker-modalpickermultiple--custom-renderoptions":{startLoc:{col:7,line:125},endLoc:{col:3,line:164},startBody:{col:31,line:125},endBody:{col:3,line:164}},"form-modalpicker-modalpickermultiple--custom-isoptionequal":{startLoc:{col:7,line:104},endLoc:{col:3,line:124},startBody:{col:31,line:104},endBody:{col:3,line:124}},"form-modalpicker-modalpickermultiple--without-search":{startLoc:{col:7,line:71},endLoc:{col:3,line:103},startBody:{col:25,line:71},endBody:{col:3,line:103}},"form-modalpicker-modalpickermultiple--with-extra-add-button":{startLoc:{col:7,line:38},endLoc:{col:3,line:70},startBody:{col:32,line:38},endBody:{col:3,line:70}},"form-modalpicker-modalpickermultiple--default":{startLoc:{col:7,line:18},endLoc:{col:3,line:37},startBody:{col:18,line:18},endBody:{col:3,line:37}}};Object(_storybook_react__WEBPACK_IMPORTED_MODULE_1__.storiesOf)("Form|ModalPicker/ModalPickerMultiple",module).addParameters({storySource:{source:__STORY__,locationsMap:__ADDS_MAP__}}).addDecorator(withSourceLoader(__STORY__,__ADDS_MAP__,"/ModalPickerMultiple.stories.tsx",[],{},"/Users/gido.manders/projecten/42/ui/src/form/ModalPicker/multiple",{})).add("default",()=>{const[value,setValue]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)([]);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_5__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ModalPickerMultiple__WEBPACK_IMPORTED_MODULE_4__.b,{id:"bestFriend",label:"Best friend",placeholder:"Select your best friend",canSearch:!0,fetchOptions:()=>Promise.resolve(Object(_test_utils__WEBPACK_IMPORTED_MODULE_2__.b)([_test_fixtures__WEBPACK_IMPORTED_MODULE_3__.d,_test_fixtures__WEBPACK_IMPORTED_MODULE_3__.a])),optionForValue:user=>user.email,value:value,onChange:setValue}))}).add("with extra add button",()=>{const[value,setValue]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)([]);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_5__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ModalPickerMultiple__WEBPACK_IMPORTED_MODULE_4__.b,{id:"bestFriend",label:"Best friend",placeholder:"Select your best friend",canSearch:!0,optionForValue:user=>user.email,fetchOptions:()=>Promise.resolve(Object(_test_utils__WEBPACK_IMPORTED_MODULE_2__.b)([_test_fixtures__WEBPACK_IMPORTED_MODULE_3__.d])),addButton:{label:"Create friend",onClick:()=>new Promise(resolve=>{setTimeout(()=>{resolve(_test_fixtures__WEBPACK_IMPORTED_MODULE_3__.a)},1e3)})},value:value,onChange:setValue}))}).add("without search",()=>{const[value,setValue]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)([]);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_5__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ModalPickerMultiple__WEBPACK_IMPORTED_MODULE_4__.b,{id:"bestFriend",label:"Best friend",placeholder:"Select your best friend",canSearch:!1,optionForValue:user=>user.email,fetchOptions:()=>Promise.resolve(Object(_test_utils__WEBPACK_IMPORTED_MODULE_2__.b)([_test_fixtures__WEBPACK_IMPORTED_MODULE_3__.d])),addButton:{label:"Create friend",onClick:()=>new Promise(resolve=>{setTimeout(()=>{resolve(_test_fixtures__WEBPACK_IMPORTED_MODULE_3__.a)},1e3)})},value:value,onChange:setValue}))}).add("custom isOptionEqual",()=>{const[value,setValue]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)([_test_fixtures__WEBPACK_IMPORTED_MODULE_3__.d]);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_5__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ModalPickerMultiple__WEBPACK_IMPORTED_MODULE_4__.b,{id:"bestFriend",label:"Best friend",placeholder:"Select your best friend",canSearch:!0,fetchOptions:()=>Promise.resolve(Object(_test_utils__WEBPACK_IMPORTED_MODULE_2__.b)([_test_fixtures__WEBPACK_IMPORTED_MODULE_3__.d,_test_fixtures__WEBPACK_IMPORTED_MODULE_3__.a])),optionForValue:user=>user.email,isOptionEqual:(a,b)=>a.id===b.id,value:value,onChange:setValue}))}).add("custom renderOptions",()=>{const[value,setValue]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)([]);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_5__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ModalPickerMultiple__WEBPACK_IMPORTED_MODULE_4__.b,{id:"bestFriend",label:"Best friend",placeholder:"Select your best friend",canSearch:!0,fetchOptions:()=>Promise.resolve(Object(_test_utils__WEBPACK_IMPORTED_MODULE_2__.b)([_test_fixtures__WEBPACK_IMPORTED_MODULE_3__.d,_test_fixtures__WEBPACK_IMPORTED_MODULE_3__.a])),optionForValue:user=>user.email,renderOptions:options=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_7__.a,null,options.map(({option:option,isSelected:isSelected,toggle:toggle})=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_8__.a,{key:option.email,onClick:toggle,className:"d-flex justify-content-between align-items-center clickable"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span",null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_Avatar_Avatar__WEBPACK_IMPORTED_MODULE_9__.a,{src:"https://www.placecage.com/100/100",alt:option.email}),option.email),isSelected?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_6__.d,{icon:"check",color:"primary"}):null))),value:value,onChange:setValue}))}).add("without label",()=>{const[value,setValue]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)([]);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_5__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ModalPickerMultiple__WEBPACK_IMPORTED_MODULE_4__.b,{id:"bestFriend",placeholder:"Select your best friend",canSearch:!0,fetchOptions:()=>Promise.resolve(Object(_test_utils__WEBPACK_IMPORTED_MODULE_2__.b)([_test_fixtures__WEBPACK_IMPORTED_MODULE_3__.d,_test_fixtures__WEBPACK_IMPORTED_MODULE_3__.a])),optionForValue:user=>user.email,value:value,onChange:setValue}))}).add("with custom label",()=>{const[value,setValue]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)([]);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_5__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ModalPickerMultiple__WEBPACK_IMPORTED_MODULE_4__.b,{id:"bestFriend",label:react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"d-flex justify-content-between"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span",null,"Best friend"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_6__.v,{className:"ml-1",content:"Your best friend is the one you trust the most"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_6__.d,{icon:"info"}))),placeholder:"Select your best friend",canSearch:!0,fetchOptions:()=>Promise.resolve(Object(_test_utils__WEBPACK_IMPORTED_MODULE_2__.b)([_test_fixtures__WEBPACK_IMPORTED_MODULE_3__.d,_test_fixtures__WEBPACK_IMPORTED_MODULE_3__.a])),optionForValue:user=>user.email,value:value,onChange:setValue}))}).add("button alignment",()=>{const[value,setValue]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)([]);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_5__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ModalPickerMultiple__WEBPACK_IMPORTED_MODULE_4__.b,{id:"bestFriend",label:"Default",placeholder:"Select your best friend",canSearch:!0,fetchOptions:()=>Promise.resolve(Object(_test_utils__WEBPACK_IMPORTED_MODULE_2__.b)([_test_fixtures__WEBPACK_IMPORTED_MODULE_3__.d,_test_fixtures__WEBPACK_IMPORTED_MODULE_3__.a])),optionForValue:user=>user.email,value:value,onChange:setValue}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ModalPickerMultiple__WEBPACK_IMPORTED_MODULE_4__.b,{id:"bestFriend",label:"Button on the left",placeholder:"Select your best friend",canSearch:!0,fetchOptions:()=>Promise.resolve(Object(_test_utils__WEBPACK_IMPORTED_MODULE_2__.b)([_test_fixtures__WEBPACK_IMPORTED_MODULE_3__.d,_test_fixtures__WEBPACK_IMPORTED_MODULE_3__.a])),optionForValue:user=>user.email,value:value,onChange:setValue,alignButton:"left"}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ModalPickerMultiple__WEBPACK_IMPORTED_MODULE_4__.b,{id:"bestFriend",label:"Button on the right",placeholder:"Select your best friend",canSearch:!0,fetchOptions:()=>Promise.resolve(Object(_test_utils__WEBPACK_IMPORTED_MODULE_2__.b)([_test_fixtures__WEBPACK_IMPORTED_MODULE_3__.d,_test_fixtures__WEBPACK_IMPORTED_MODULE_3__.a])),optionForValue:user=>user.email,value:value,onChange:setValue,alignButton:"right"}))}).add("display values",()=>{const[value,setValue]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)([]);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_5__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ModalPickerMultiple__WEBPACK_IMPORTED_MODULE_4__.b,{id:"bestFriend",label:"Best friend",placeholder:"Select your best friend",canSearch:!0,fetchOptions:()=>Promise.resolve(Object(_test_utils__WEBPACK_IMPORTED_MODULE_2__.b)([_test_fixtures__WEBPACK_IMPORTED_MODULE_3__.d,_test_fixtures__WEBPACK_IMPORTED_MODULE_3__.a])),optionForValue:user=>user.email,value:value,onChange:setValue,displayValues:users=>users?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment,null,users.map((user,index)=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment,null,index>0?", ":"",user.roles.some(role=>"ADMIN"===role)?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_6__.d,{icon:"supervised_user_circle"}):react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_6__.d,{icon:"supervisor_account"}),user.firstName,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("b",null,user.lastName)))):null}))}).add("jarb",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_5__.a,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ModalPickerMultiple__WEBPACK_IMPORTED_MODULE_4__.a,{id:"bestFriend",name:"bestFriend",label:"Best friend",placeholder:"Select your best friend",canSearch:!0,optionForValue:user=>user.email,fetchOptions:()=>Promise.resolve(Object(_test_utils__WEBPACK_IMPORTED_MODULE_2__.b)([_test_fixtures__WEBPACK_IMPORTED_MODULE_3__.d,_test_fixtures__WEBPACK_IMPORTED_MODULE_3__.a])),jarb:{validator:"Hero.name",label:"Best friend"}})))}.call(this,__webpack_require__(26)(module))},2317:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),function(module){var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),_storybook_react__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(14),_ModalPickerSingle__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(80),_story_utils__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(5),_test_utils__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(34),_test_fixtures__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(12),___WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(7),_core_Avatar_Avatar__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__(102),reactstrap__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__(83),reactstrap__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__(81),withSourceLoader=__webpack_require__(15).withSource,__STORY__=(__webpack_require__(15).addSource,'import React, { useState } from \'react\';\nimport { storiesOf } from \'@storybook/react\';\n\nimport ModalPickerSingle, { JarbModalPickerSingle } from \'./ModalPickerSingle\';\nimport { FinalForm, Form } from \'../../story-utils\';\nimport { pageWithContentAndExactSize } from \'../../../test/utils\';\nimport { adminUser, userUser } from \'../../../test/fixtures\';\nimport { User } from \'../../../test/types\';\nimport { Icon, Tooltip } from \'../../..\';\nimport Avatar from \'../../../core/Avatar/Avatar\';\nimport { ListGroup, ListGroupItem } from \'reactstrap\';\n\nstoriesOf(\'Form/ModalPicker/ModalPickerSingle\', module)\n .add(\'basic\', () => {\n const [value, setValue] = useState(undefined);\n\n return (\n
\n user.email}\n fetchOptions={() =>\n Promise.resolve(pageWithContentAndExactSize([userUser, adminUser]))\n }\n value={value}\n onChange={setValue}\n />\n \n );\n })\n .add(\'with extra add button\', () => {\n const [value, setValue] = useState(undefined);\n\n return (\n
\n \n id="bestFriend"\n label="Best friend"\n placeholder="Select your best friend"\n canSearch={true}\n optionForValue={(user: User) => user.email}\n fetchOptions={() =>\n Promise.resolve(pageWithContentAndExactSize([userUser]))\n }\n addButton={{\n label: \'Create friend\',\n onClick: () => {\n // Just a fake implementation of how this could work.\n // In real life you probably want to pop a modal window\n // to create the friend.\n return new Promise(resolve => {\n setTimeout(() => {\n resolve(adminUser);\n }, 1000);\n });\n }\n }}\n value={value}\n onChange={setValue}\n />\n \n );\n })\n .add(\'without search\', () => {\n const [value, setValue] = useState(undefined);\n\n return (\n
\n user.email}\n fetchOptions={() =>\n Promise.resolve(pageWithContentAndExactSize([userUser]))\n }\n value={value}\n onChange={setValue}\n />\n \n );\n })\n .add(\'custom optionIsEqual\', () => {\n const [value, setValue] = useState(userUser);\n\n return (\n
\n user.email}\n isOptionEqual={(a: User, b: User) => a.id === b.id}\n fetchOptions={() =>\n Promise.resolve(pageWithContentAndExactSize([userUser, adminUser]))\n }\n value={value}\n onChange={setValue}\n />\n \n );\n })\n .add(\'custom renderOptions\', () => {\n const [value, setValue] = useState();\n\n return (\n
\n \n id="bestFriend"\n label="Best friend"\n placeholder="Select your best friend"\n canSearch={true}\n optionForValue={(user: User) => user.email}\n renderOptions={options => (\n \n {options.map(({ option, isSelected, toggle }) => (\n \n \n \n {option.email}\n \n {isSelected ? : null}\n \n ))}\n \n )}\n isOptionEqual={(a: User, b: User) => a.id === b.id}\n fetchOptions={() =>\n Promise.resolve(pageWithContentAndExactSize([userUser, adminUser]))\n }\n value={value}\n onChange={setValue}\n />\n \n );\n })\n .add(\'without label\', () => {\n const [value, setValue] = useState(undefined);\n\n return (\n
\n user.email}\n fetchOptions={() =>\n Promise.resolve(pageWithContentAndExactSize([userUser, adminUser]))\n }\n value={value}\n onChange={setValue}\n />\n \n );\n })\n .add(\'with custom label\', () => {\n const [value, setValue] = useState(undefined);\n\n return (\n
\n \n Best friend\n \n \n \n \n }\n placeholder="Select your best friend"\n canSearch={true}\n optionForValue={(user: User) => user.email}\n fetchOptions={() =>\n Promise.resolve(pageWithContentAndExactSize([userUser, adminUser]))\n }\n value={value}\n onChange={setValue}\n />\n \n );\n })\n .add(\'button alignment\', () => {\n const [value, setValue] = useState(undefined);\n\n return (\n
\n user.email}\n fetchOptions={() =>\n Promise.resolve(pageWithContentAndExactSize([userUser, adminUser]))\n }\n value={value}\n onChange={setValue}\n alignButton="default"\n />\n user.email}\n fetchOptions={() =>\n Promise.resolve(pageWithContentAndExactSize([userUser, adminUser]))\n }\n value={value}\n onChange={setValue}\n alignButton="left"\n />\n user.email}\n fetchOptions={() =>\n Promise.resolve(pageWithContentAndExactSize([userUser, adminUser]))\n }\n value={value}\n onChange={setValue}\n alignButton="right"\n />\n \n );\n })\n .add(\'display values\', () => {\n const [value, setValue] = useState(undefined);\n\n return (\n
\n user.email}\n fetchOptions={() =>\n Promise.resolve(pageWithContentAndExactSize([userUser, adminUser]))\n }\n value={value}\n onChange={user => setValue(user)}\n displayValues={user => {\n return user ? (\n <>\n {user.roles.some(role => role === \'ADMIN\') ? (\n \n ) : (\n \n )}\n {user.firstName}\n {user.lastName}\n \n ) : null;\n }}\n />\n \n );\n })\n .add(\'jarb\', () => {\n return (\n \n user.email}\n fetchOptions={() =>\n Promise.resolve(pageWithContentAndExactSize([userUser]))\n }\n jarb={{\n validator: \'Hero.name\',\n label: \'Best friend\'\n }}\n />\n \n );\n });\n'),__ADDS_MAP__={"form-modalpicker-modalpickersingle--jarb":{startLoc:{col:7,line:275},endLoc:{col:3,line:295},startBody:{col:15,line:275},endBody:{col:3,line:295}},"form-modalpicker-modalpickersingle--display-values":{startLoc:{col:7,line:242},endLoc:{col:3,line:274},startBody:{col:25,line:242},endBody:{col:3,line:274}},"form-modalpicker-modalpickersingle--button-alignment":{startLoc:{col:7,line:195},endLoc:{col:3,line:241},startBody:{col:27,line:195},endBody:{col:3,line:241}},"form-modalpicker-modalpickersingle--with-custom-label":{startLoc:{col:7,line:168},endLoc:{col:3,line:194},startBody:{col:28,line:168},endBody:{col:3,line:194}},"form-modalpicker-modalpickersingle--without-label":{startLoc:{col:7,line:149},endLoc:{col:3,line:167},startBody:{col:24,line:149},endBody:{col:3,line:167}},"form-modalpicker-modalpickersingle--custom-renderoptions":{startLoc:{col:7,line:108},endLoc:{col:3,line:148},startBody:{col:31,line:108},endBody:{col:3,line:148}},"form-modalpicker-modalpickersingle--custom-optionisequal":{startLoc:{col:7,line:87},endLoc:{col:3,line:107},startBody:{col:31,line:87},endBody:{col:3,line:107}},"form-modalpicker-modalpickersingle--without-search":{startLoc:{col:7,line:67},endLoc:{col:3,line:86},startBody:{col:25,line:67},endBody:{col:3,line:86}},"form-modalpicker-modalpickersingle--with-extra-add-button":{startLoc:{col:7,line:34},endLoc:{col:3,line:66},startBody:{col:32,line:34},endBody:{col:3,line:66}},"form-modalpicker-modalpickersingle--basic":{startLoc:{col:7,line:14},endLoc:{col:3,line:33},startBody:{col:16,line:14},endBody:{col:3,line:33}}};Object(_storybook_react__WEBPACK_IMPORTED_MODULE_1__.storiesOf)("Form/ModalPicker/ModalPickerSingle",module).addParameters({storySource:{source:__STORY__,locationsMap:__ADDS_MAP__}}).addDecorator(withSourceLoader(__STORY__,__ADDS_MAP__,"/ModalPickerSingle.stories.tsx",[],{},"/Users/gido.manders/projecten/42/ui/src/form/ModalPicker/single",{})).add("basic",()=>{const[value,setValue]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(void 0);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_3__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ModalPickerSingle__WEBPACK_IMPORTED_MODULE_2__.b,{id:"bestFriend",label:"Best friend",placeholder:"Select your best friend",canSearch:!0,optionForValue:user=>user.email,fetchOptions:()=>Promise.resolve(Object(_test_utils__WEBPACK_IMPORTED_MODULE_4__.b)([_test_fixtures__WEBPACK_IMPORTED_MODULE_5__.d,_test_fixtures__WEBPACK_IMPORTED_MODULE_5__.a])),value:value,onChange:setValue}))}).add("with extra add button",()=>{const[value,setValue]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(void 0);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_3__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ModalPickerSingle__WEBPACK_IMPORTED_MODULE_2__.b,{id:"bestFriend",label:"Best friend",placeholder:"Select your best friend",canSearch:!0,optionForValue:user=>user.email,fetchOptions:()=>Promise.resolve(Object(_test_utils__WEBPACK_IMPORTED_MODULE_4__.b)([_test_fixtures__WEBPACK_IMPORTED_MODULE_5__.d])),addButton:{label:"Create friend",onClick:()=>new Promise(resolve=>{setTimeout(()=>{resolve(_test_fixtures__WEBPACK_IMPORTED_MODULE_5__.a)},1e3)})},value:value,onChange:setValue}))}).add("without search",()=>{const[value,setValue]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(void 0);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_3__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ModalPickerSingle__WEBPACK_IMPORTED_MODULE_2__.b,{id:"bestFriend",label:"Best friend",placeholder:"Select your best friend",canSearch:!1,optionForValue:user=>user.email,fetchOptions:()=>Promise.resolve(Object(_test_utils__WEBPACK_IMPORTED_MODULE_4__.b)([_test_fixtures__WEBPACK_IMPORTED_MODULE_5__.d])),value:value,onChange:setValue}))}).add("custom optionIsEqual",()=>{const[value,setValue]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(_test_fixtures__WEBPACK_IMPORTED_MODULE_5__.d);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_3__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ModalPickerSingle__WEBPACK_IMPORTED_MODULE_2__.b,{id:"bestFriend",label:"Best friend",placeholder:"Select your best friend",canSearch:!0,optionForValue:user=>user.email,isOptionEqual:(a,b)=>a.id===b.id,fetchOptions:()=>Promise.resolve(Object(_test_utils__WEBPACK_IMPORTED_MODULE_4__.b)([_test_fixtures__WEBPACK_IMPORTED_MODULE_5__.d,_test_fixtures__WEBPACK_IMPORTED_MODULE_5__.a])),value:value,onChange:setValue}))}).add("custom renderOptions",()=>{const[value,setValue]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)();return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_3__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ModalPickerSingle__WEBPACK_IMPORTED_MODULE_2__.b,{id:"bestFriend",label:"Best friend",placeholder:"Select your best friend",canSearch:!0,optionForValue:user=>user.email,renderOptions:options=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_8__.a,null,options.map(({option:option,isSelected:isSelected,toggle:toggle})=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_9__.a,{key:option.email,onClick:toggle,className:"d-flex justify-content-between align-items-center clickable"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span",null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_Avatar_Avatar__WEBPACK_IMPORTED_MODULE_7__.a,{src:"https://www.placecage.com/100/100",alt:option.email}),option.email),isSelected?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_6__.d,{icon:"check",color:"primary"}):null))),isOptionEqual:(a,b)=>a.id===b.id,fetchOptions:()=>Promise.resolve(Object(_test_utils__WEBPACK_IMPORTED_MODULE_4__.b)([_test_fixtures__WEBPACK_IMPORTED_MODULE_5__.d,_test_fixtures__WEBPACK_IMPORTED_MODULE_5__.a])),value:value,onChange:setValue}))}).add("without label",()=>{const[value,setValue]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(void 0);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_3__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ModalPickerSingle__WEBPACK_IMPORTED_MODULE_2__.b,{id:"bestFriend",placeholder:"Select your best friend",canSearch:!0,optionForValue:user=>user.email,fetchOptions:()=>Promise.resolve(Object(_test_utils__WEBPACK_IMPORTED_MODULE_4__.b)([_test_fixtures__WEBPACK_IMPORTED_MODULE_5__.d,_test_fixtures__WEBPACK_IMPORTED_MODULE_5__.a])),value:value,onChange:setValue}))}).add("with custom label",()=>{const[value,setValue]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(void 0);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_3__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ModalPickerSingle__WEBPACK_IMPORTED_MODULE_2__.b,{id:"bestFriend",label:react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"d-flex justify-content-between"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span",null,"Best friend"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_6__.v,{className:"ml-1",content:"BFF for life!"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_6__.d,{icon:"info"}))),placeholder:"Select your best friend",canSearch:!0,optionForValue:user=>user.email,fetchOptions:()=>Promise.resolve(Object(_test_utils__WEBPACK_IMPORTED_MODULE_4__.b)([_test_fixtures__WEBPACK_IMPORTED_MODULE_5__.d,_test_fixtures__WEBPACK_IMPORTED_MODULE_5__.a])),value:value,onChange:setValue}))}).add("button alignment",()=>{const[value,setValue]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(void 0);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_3__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ModalPickerSingle__WEBPACK_IMPORTED_MODULE_2__.b,{id:"bestFriend",label:"Default",placeholder:"Select your best friend",canSearch:!0,optionForValue:user=>user.email,fetchOptions:()=>Promise.resolve(Object(_test_utils__WEBPACK_IMPORTED_MODULE_4__.b)([_test_fixtures__WEBPACK_IMPORTED_MODULE_5__.d,_test_fixtures__WEBPACK_IMPORTED_MODULE_5__.a])),value:value,onChange:setValue,alignButton:"default"}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ModalPickerSingle__WEBPACK_IMPORTED_MODULE_2__.b,{id:"bestFriend",label:"Button on the left",placeholder:"Select your best friend",canSearch:!0,optionForValue:user=>user.email,fetchOptions:()=>Promise.resolve(Object(_test_utils__WEBPACK_IMPORTED_MODULE_4__.b)([_test_fixtures__WEBPACK_IMPORTED_MODULE_5__.d,_test_fixtures__WEBPACK_IMPORTED_MODULE_5__.a])),value:value,onChange:setValue,alignButton:"left"}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ModalPickerSingle__WEBPACK_IMPORTED_MODULE_2__.b,{id:"bestFriend",label:"Button on the right",placeholder:"Select your best friend",canSearch:!0,optionForValue:user=>user.email,fetchOptions:()=>Promise.resolve(Object(_test_utils__WEBPACK_IMPORTED_MODULE_4__.b)([_test_fixtures__WEBPACK_IMPORTED_MODULE_5__.d,_test_fixtures__WEBPACK_IMPORTED_MODULE_5__.a])),value:value,onChange:setValue,alignButton:"right"}))}).add("display values",()=>{const[value,setValue]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(void 0);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_3__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ModalPickerSingle__WEBPACK_IMPORTED_MODULE_2__.b,{id:"bestFriend",label:"Best friend",placeholder:"Select your best friend",canSearch:!0,optionForValue:user=>user.email,fetchOptions:()=>Promise.resolve(Object(_test_utils__WEBPACK_IMPORTED_MODULE_4__.b)([_test_fixtures__WEBPACK_IMPORTED_MODULE_5__.d,_test_fixtures__WEBPACK_IMPORTED_MODULE_5__.a])),value:value,onChange:user=>setValue(user),displayValues:user=>user?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment,null,user.roles.some(role=>"ADMIN"===role)?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_6__.d,{icon:"supervised_user_circle"}):react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_6__.d,{icon:"supervisor_account"}),user.firstName,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("b",null,user.lastName)):null}))}).add("jarb",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_3__.a,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ModalPickerSingle__WEBPACK_IMPORTED_MODULE_2__.a,{id:"bestFriend",name:"bestFriend",label:"Best friend",placeholder:"Select your best friend",canSearch:!1,optionForValue:user=>user.email,fetchOptions:()=>Promise.resolve(Object(_test_utils__WEBPACK_IMPORTED_MODULE_4__.b)([_test_fixtures__WEBPACK_IMPORTED_MODULE_5__.d])),jarb:{validator:"Hero.name",label:"Best friend"}})))}.call(this,__webpack_require__(26)(module))},2318:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),function(module){var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),_storybook_react__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(14),_story_utils__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(5),_NewPasswordInput__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(110),_index__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(7),withSourceLoader=__webpack_require__(15).withSource,__STORY__=(__webpack_require__(15).addSource,"import React, { useState } from 'react';\nimport { storiesOf } from '@storybook/react';\nimport { FinalForm, Form } from '../story-utils';\nimport NewPasswordInput, {\n isStrongPassword,\n JarbNewPasswordInput\n} from './NewPasswordInput';\nimport { Icon, Tooltip } from '../../index';\n\nstoriesOf('Form|NewPasswordInput', module)\n .add('basic', () => {\n const [password, setPassword] = useState('');\n\n return (\n
\n \n \n );\n })\n .add('icon', () => {\n const [password, setPassword] = useState('');\n\n return (\n
\n \n \n );\n })\n .add('without placeholder', () => {\n const [password, setPassword] = useState('');\n\n return (\n
\n \n \n );\n })\n .add('without label', () => {\n const [password, setPassword] = useState('');\n\n return (\n
\n \n \n );\n })\n .add('with custom label', () => {\n const [password, setPassword] = useState('');\n\n return (\n
\n \n Password\n \n \n \n \n }\n placeholder=\"Please enter your password\"\n value={password}\n onChange={setPassword}\n />\n \n );\n })\n .add('without meter', () => {\n const [password, setPassword] = useState('');\n\n return (\n
\n \n \n );\n })\n .add('jarb', () => {\n return (\n \n \n \n );\n });\n"),__ADDS_MAP__={"form-newpasswordinput--jarb":{startLoc:{col:7,line:113},endLoc:{col:3,line:138},startBody:{col:15,line:113},endBody:{col:3,line:138}},"form-newpasswordinput--without-meter":{startLoc:{col:7,line:97},endLoc:{col:3,line:112},startBody:{col:24,line:97},endBody:{col:3,line:112}},"form-newpasswordinput--with-custom-label":{startLoc:{col:7,line:72},endLoc:{col:3,line:96},startBody:{col:28,line:72},endBody:{col:3,line:96}},"form-newpasswordinput--without-label":{startLoc:{col:7,line:59},endLoc:{col:3,line:71},startBody:{col:24,line:59},endBody:{col:3,line:71}},"form-newpasswordinput--without-placeholder":{startLoc:{col:7,line:45},endLoc:{col:3,line:58},startBody:{col:30,line:45},endBody:{col:3,line:58}},"form-newpasswordinput--icon":{startLoc:{col:7,line:26},endLoc:{col:3,line:44},startBody:{col:15,line:26},endBody:{col:3,line:44}},"form-newpasswordinput--basic":{startLoc:{col:7,line:11},endLoc:{col:3,line:25},startBody:{col:16,line:11},endBody:{col:3,line:25}}};Object(_storybook_react__WEBPACK_IMPORTED_MODULE_1__.storiesOf)("Form|NewPasswordInput",module).addParameters({storySource:{source:__STORY__,locationsMap:__ADDS_MAP__}}).addDecorator(withSourceLoader(__STORY__,__ADDS_MAP__,"/NewPasswordInput.stories.tsx",[],{},"/Users/gido.manders/projecten/42/ui/src/form/NewPasswordInput",{})).add("basic",()=>{const[password,setPassword]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)("");return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_2__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_NewPasswordInput__WEBPACK_IMPORTED_MODULE_3__.b,{id:"password",label:"Password",placeholder:"Please enter your password",value:password,onChange:setPassword}))}).add("icon",()=>{const[password,setPassword]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)("");return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_2__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_NewPasswordInput__WEBPACK_IMPORTED_MODULE_3__.b,{id:"password",label:"Password",placeholder:"Please enter your password",value:password,onChange:setPassword,addon:{icon:"lock",position:"left"}}))}).add("without placeholder",()=>{const[password,setPassword]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)("");return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_2__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_NewPasswordInput__WEBPACK_IMPORTED_MODULE_3__.b,{id:"password",label:"Password",value:password,onChange:setPassword}))}).add("without label",()=>{const[password,setPassword]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)("");return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_2__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_NewPasswordInput__WEBPACK_IMPORTED_MODULE_3__.b,{placeholder:"Please enter your password",value:password,onChange:setPassword}))}).add("with custom label",()=>{const[password,setPassword]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)("");return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_2__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_NewPasswordInput__WEBPACK_IMPORTED_MODULE_3__.b,{id:"password",label:react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"d-flex justify-content-between"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span",null,"Password"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_index__WEBPACK_IMPORTED_MODULE_4__.v,{className:"ml-1",content:"Your password should be secret"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_index__WEBPACK_IMPORTED_MODULE_4__.d,{icon:"info"}))),placeholder:"Please enter your password",value:password,onChange:setPassword}))}).add("without meter",()=>{const[password,setPassword]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)("");return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_2__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_NewPasswordInput__WEBPACK_IMPORTED_MODULE_3__.b,{id:"password",label:"Password",placeholder:"Please enter your password",value:password,onChange:setPassword,showMeter:!1}))}).add("jarb",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_2__.a,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_NewPasswordInput__WEBPACK_IMPORTED_MODULE_3__.a,{name:"password",jarb:{validator:"User.password",label:"Password"},id:"password",label:"password",placeholder:"Please enter your password",validators:[Object(_NewPasswordInput__WEBPACK_IMPORTED_MODULE_3__.c)(["lowercase","uppercase","number","specialChar","minimumLength","noSpace"],10)]})))}.call(this,__webpack_require__(26)(module))},2319:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),function(module){var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),_storybook_react__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(14),_RadioGroup__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(51),_story_utils__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(5),_test_fixtures__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(12),___WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(7),_Toggle_Toggle__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(92),withSourceLoader=__webpack_require__(15).withSource,__STORY__=(__webpack_require__(15).addSource,"import React, { useState } from 'react';\nimport { storiesOf } from '@storybook/react';\n\nimport Checkbox, { JarbRadioGroup } from './RadioGroup';\nimport { FinalForm, Form, resolveAfter } from '../story-utils';\nimport { pageOfUsers, randomUser } from '../../test/fixtures';\nimport { User } from '../../test/types';\nimport { Icon, pageOf, Tooltip } from '../..';\nimport Toggle from '../Toggle/Toggle';\n\ninterface SubjectOption {\n value: string;\n label: string;\n}\n\nstoriesOf('Form|RadioGroup', module)\n .add('defined options', () => {\n const [subject, setSubject] = useState(\n undefined\n );\n\n return (\n
\n \n id=\"subject\"\n label=\"Subject\"\n placeholder=\"Please enter your subject\"\n optionForValue={(option: SubjectOption) => option.label}\n isOptionEnabled={option => option.value !== 'awesome'}\n options={[\n { value: 'awesome', label: 'Awesome shit' },\n { value: 'super', label: 'Super shit' },\n { value: 'great', label: 'Great shit' },\n { value: 'good', label: 'good shit' }\n ]}\n value={subject}\n onChange={setSubject}\n />\n\n {subject ?

Your chosen subject is: {subject.label}

: null}\n \n );\n })\n .add('horizontal', () => {\n const [subject, setSubject] = useState(\n undefined\n );\n\n return (\n
\n \n id=\"subject\"\n label=\"Subject\"\n placeholder=\"Please enter your subject\"\n optionForValue={(option: SubjectOption) => option.label}\n isOptionEnabled={option => option.value !== 'awesome'}\n options={[\n { value: 'awesome', label: 'Awesome shit' },\n { value: 'super', label: 'Super shit' },\n { value: 'great', label: 'Great shit' },\n { value: 'good', label: 'good shit' }\n ]}\n value={subject}\n onChange={setSubject}\n horizontal={true}\n />\n\n {subject ?

Your chosen subject is: {subject.label}

: null}\n\n

\n Disclaimer: horizontal mode works best when there are\n not too many items\n

\n \n );\n })\n .add('horizontal with clear', () => {\n const [subject, setSubject] = useState(\n undefined\n );\n\n return (\n
\n \n id=\"subject\"\n label=\"Subject\"\n placeholder=\"Please enter your subject\"\n optionForValue={(option: SubjectOption) => option.label}\n isOptionEnabled={option => option.value !== 'awesome'}\n options={[\n { value: 'awesome', label: 'Awesome shit' },\n { value: 'super', label: 'Super shit' },\n { value: 'great', label: 'Great shit' },\n { value: 'good', label: 'good shit' }\n ]}\n value={subject}\n onChange={setSubject}\n horizontal={true}\n canClear={true}\n />\n\n {subject ?

Your chosen subject is: {subject.label}

: null}\n\n

\n Disclaimer: horizontal mode works best when there are\n not too many items\n

\n \n );\n })\n .add('with clear button', () => {\n const [subject, setSubject] = useState(\n undefined\n );\n\n return (\n
\n \n id=\"subject\"\n label=\"Subject\"\n placeholder=\"Please enter your subject\"\n optionForValue={(option: SubjectOption) => option.label}\n isOptionEnabled={option => option.value !== 'awesome'}\n options={[\n { value: 'awesome', label: 'Awesome shit' },\n { value: 'super', label: 'Super shit' },\n { value: 'great', label: 'Great shit' },\n { value: 'good', label: 'good shit' }\n ]}\n value={subject}\n onChange={setSubject}\n canClear={true}\n />\n\n {subject ?

Your chosen subject is: {subject.label}

: null}\n \n );\n })\n .add('fetched options', () => {\n const [subject, setSubject] = useState(randomUser());\n\n return (\n
\n \n id=\"subject\"\n label=\"Subject\"\n placeholder=\"Please enter your subject\"\n optionForValue={(user: User) => user.email}\n options={() => resolveAfter(pageOfUsers)}\n value={subject}\n onChange={setSubject}\n />\n\n {subject ?

Your chosen subject is: {subject.email}

: null}\n \n );\n })\n .add('custom isOptionEqual', () => {\n const [subject, setSubject] = useState(undefined);\n\n return (\n
\n \n id=\"subject\"\n label=\"Subject\"\n placeholder=\"Please enter your subject\"\n optionForValue={(user: User) => user.email}\n options={() => Promise.resolve(pageOfUsers)}\n isOptionEqual={(a: User, b: User) => a.id === b.id}\n value={subject}\n onChange={setSubject}\n />\n\n {subject ?

Your chosen subject is: {subject.email}

: null}\n \n );\n })\n .add('without placeholder', () => {\n const [subject, setSubject] = useState(\n undefined\n );\n\n return (\n
\n \n id=\"subject\"\n label=\"Subject\"\n optionForValue={(option: SubjectOption) => option.label}\n isOptionEnabled={option => option.value !== 'awesome'}\n options={[\n { value: 'awesome', label: 'Awesome shit' },\n { value: 'super', label: 'Super shit' },\n { value: 'great', label: 'Great shit' },\n { value: 'good', label: 'good shit' }\n ]}\n value={subject}\n onChange={setSubject}\n />\n\n {subject ?

Your chosen subject is: {subject.label}

: null}\n \n );\n })\n .add('without label', () => {\n const [subject, setSubject] = useState(\n undefined\n );\n\n return (\n
\n \n id=\"subject\"\n placeholder=\"Please enter your subject\"\n optionForValue={(option: SubjectOption) => option.label}\n isOptionEnabled={option => option.value !== 'awesome'}\n options={[\n { value: 'awesome', label: 'Awesome shit' },\n { value: 'super', label: 'Super shit' },\n { value: 'great', label: 'Great shit' },\n { value: 'good', label: 'good shit' }\n ]}\n value={subject}\n onChange={setSubject}\n />\n\n {subject ?

Your chosen subject is: {subject.label}

: null}\n \n );\n })\n .add('with custom label', () => {\n const [subject, setSubject] = useState(\n undefined\n );\n\n return (\n
\n \n id=\"subject\"\n label={\n <>\n Subject\n \n \n \n \n }\n placeholder=\"Please enter your subject\"\n optionForValue={(option: SubjectOption) => option.label}\n isOptionEnabled={option => option.value !== 'awesome'}\n options={[\n { value: 'awesome', label: 'Awesome shit' },\n { value: 'super', label: 'Super shit' },\n { value: 'great', label: 'Great shit' },\n { value: 'good', label: 'good shit' }\n ]}\n value={subject}\n onChange={setSubject}\n />\n\n {subject ?

Your chosen subject is: {subject.label}

: null}\n \n );\n })\n .add('value based options', () => {\n const [subject, setSubject] = useState(\n undefined\n );\n const [filtered, setFiltered] = useState(false);\n\n const allOptions = [\n { value: 'awesome', label: 'Awesome shit' },\n { value: 'super', label: 'Super shit' },\n { value: 'great', label: 'Great shit' },\n { value: 'good', label: 'good shit' }\n ];\n\n const filteredOptions = allOptions.filter(\n option => option.value !== 'awesome'\n );\n\n return (\n
\n
\n \n Filter options\n
\n \n id=\"subject\"\n label=\"Subject\"\n placeholder=\"Please enter your subject\"\n optionForValue={(option: SubjectOption) => option.label}\n isOptionEnabled={option => option.value !== 'awesome'}\n options={filtered ? filteredOptions : allOptions}\n value={subject}\n onChange={setSubject}\n />\n\n {subject ?

Your chosen subject is: {subject.label}

: null}\n \n );\n })\n .add('value based async options', () => {\n const [brand, setBrand] = useState();\n const [model, setModel] = useState();\n\n const allOptions = {\n Audi: ['A1', 'A2', 'A3', 'M5'],\n BMW: ['series 1', 'series 2', 'series 3', 'series 4', 'series 5'],\n Mercedes: ['Viano', 'Vito', 'Sprinter']\n };\n\n return (\n
\n option}\n options={() => resolveAfter(pageOf(Object.keys(allOptions), 1))}\n value={brand}\n onChange={value => {\n setBrand(value);\n setModel(undefined);\n }}\n />\n option}\n options={() =>\n resolveAfter(pageOf(brand ? allOptions[brand] : [], 1))\n }\n value={model}\n onChange={setModel}\n watch={brand}\n />\n \n );\n })\n .add('jarb', () => {\n return (\n \n option.label}\n isOptionEnabled={option => option.value !== 'awesome'}\n options={[\n { value: 'awesome', label: 'Awesome shit' },\n { value: 'super', label: 'Super shit' },\n { value: 'great', label: 'Great shit' },\n { value: 'good', label: 'good shit' }\n ]}\n jarb={{\n validator: 'Hero.name',\n label: 'Subject'\n }}\n />\n \n );\n })\n .add('default option', () => {\n const [subject, setSubject] = useState({\n value: 'great',\n label: 'Great shit'\n });\n\n return (\n
\n \n id=\"subject\"\n label=\"Subject\"\n placeholder=\"Please enter your subject\"\n optionForValue={(option: SubjectOption) => option.label}\n options={[\n { value: 'awesome', label: 'Awesome shit' },\n { value: 'super', label: 'Super shit' },\n { value: 'great', label: 'Great shit' },\n { value: 'good', label: 'good shit' }\n ]}\n value={subject}\n onChange={setSubject}\n />\n {subject ?

Your chosen subject is: {subject.label}

: null}\n \n );\n });\n"),__ADDS_MAP__={"form-radiogroup--default-option":{startLoc:{col:7,line:376},endLoc:{col:3,line:401},startBody:{col:25,line:376},endBody:{col:3,line:401}},"form-radiogroup--jarb":{startLoc:{col:7,line:352},endLoc:{col:3,line:375},startBody:{col:15,line:352},endBody:{col:3,line:375}},"form-radiogroup--value-based-async-options":{startLoc:{col:7,line:311},endLoc:{col:3,line:351},startBody:{col:36,line:311},endBody:{col:3,line:351}},"form-radiogroup--value-based-options":{startLoc:{col:7,line:268},endLoc:{col:3,line:310},startBody:{col:30,line:268},endBody:{col:3,line:310}},"form-radiogroup--with-custom-label":{startLoc:{col:7,line:230},endLoc:{col:3,line:267},startBody:{col:28,line:230},endBody:{col:3,line:267}},"form-radiogroup--without-label":{startLoc:{col:7,line:204},endLoc:{col:3,line:229},startBody:{col:24,line:204},endBody:{col:3,line:229}},"form-radiogroup--without-placeholder":{startLoc:{col:7,line:178},endLoc:{col:3,line:203},startBody:{col:30,line:178},endBody:{col:3,line:203}},"form-radiogroup--custom-isoptionequal":{startLoc:{col:7,line:158},endLoc:{col:3,line:177},startBody:{col:31,line:158},endBody:{col:3,line:177}},"form-radiogroup--fetched-options":{startLoc:{col:7,line:139},endLoc:{col:3,line:157},startBody:{col:26,line:139},endBody:{col:3,line:157}},"form-radiogroup--with-clear-button":{startLoc:{col:7,line:111},endLoc:{col:3,line:138},startBody:{col:28,line:111},endBody:{col:3,line:138}},"form-radiogroup--horizontal-with-clear":{startLoc:{col:7,line:77},endLoc:{col:3,line:110},startBody:{col:32,line:77},endBody:{col:3,line:110}},"form-radiogroup--horizontal":{startLoc:{col:7,line:44},endLoc:{col:3,line:76},startBody:{col:21,line:44},endBody:{col:3,line:76}},"form-radiogroup--defined-options":{startLoc:{col:7,line:17},endLoc:{col:3,line:43},startBody:{col:26,line:17},endBody:{col:3,line:43}}};Object(_storybook_react__WEBPACK_IMPORTED_MODULE_1__.storiesOf)("Form|RadioGroup",module).addParameters({storySource:{source:__STORY__,locationsMap:__ADDS_MAP__}}).addDecorator(withSourceLoader(__STORY__,__ADDS_MAP__,"/RadioGroup.stories.tsx",[],{},"/Users/gido.manders/projecten/42/ui/src/form/RadioGroup",{})).add("defined options",()=>{const[subject,setSubject]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(void 0);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_3__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_RadioGroup__WEBPACK_IMPORTED_MODULE_2__.b,{id:"subject",label:"Subject",placeholder:"Please enter your subject",optionForValue:option=>option.label,isOptionEnabled:option=>"awesome"!==option.value,options:[{value:"awesome",label:"Awesome shit"},{value:"super",label:"Super shit"},{value:"great",label:"Great shit"},{value:"good",label:"good shit"}],value:subject,onChange:setSubject}),subject?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p",null,"Your chosen subject is: ",subject.label):null)}).add("horizontal",()=>{const[subject,setSubject]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(void 0);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_3__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_RadioGroup__WEBPACK_IMPORTED_MODULE_2__.b,{id:"subject",label:"Subject",placeholder:"Please enter your subject",optionForValue:option=>option.label,isOptionEnabled:option=>"awesome"!==option.value,options:[{value:"awesome",label:"Awesome shit"},{value:"super",label:"Super shit"},{value:"great",label:"Great shit"},{value:"good",label:"good shit"}],value:subject,onChange:setSubject,horizontal:!0}),subject?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p",null,"Your chosen subject is: ",subject.label):null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p",null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("strong",null,"Disclaimer:")," horizontal mode works best when there are not too many items"))}).add("horizontal with clear",()=>{const[subject,setSubject]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(void 0);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_3__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_RadioGroup__WEBPACK_IMPORTED_MODULE_2__.b,{id:"subject",label:"Subject",placeholder:"Please enter your subject",optionForValue:option=>option.label,isOptionEnabled:option=>"awesome"!==option.value,options:[{value:"awesome",label:"Awesome shit"},{value:"super",label:"Super shit"},{value:"great",label:"Great shit"},{value:"good",label:"good shit"}],value:subject,onChange:setSubject,horizontal:!0,canClear:!0}),subject?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p",null,"Your chosen subject is: ",subject.label):null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p",null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("strong",null,"Disclaimer:")," horizontal mode works best when there are not too many items"))}).add("with clear button",()=>{const[subject,setSubject]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(void 0);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_3__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_RadioGroup__WEBPACK_IMPORTED_MODULE_2__.b,{id:"subject",label:"Subject",placeholder:"Please enter your subject",optionForValue:option=>option.label,isOptionEnabled:option=>"awesome"!==option.value,options:[{value:"awesome",label:"Awesome shit"},{value:"super",label:"Super shit"},{value:"great",label:"Great shit"},{value:"good",label:"good shit"}],value:subject,onChange:setSubject,canClear:!0}),subject?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p",null,"Your chosen subject is: ",subject.label):null)}).add("fetched options",()=>{const[subject,setSubject]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(Object(_test_fixtures__WEBPACK_IMPORTED_MODULE_4__.c)());return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_3__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_RadioGroup__WEBPACK_IMPORTED_MODULE_2__.b,{id:"subject",label:"Subject",placeholder:"Please enter your subject",optionForValue:user=>user.email,options:()=>Object(_story_utils__WEBPACK_IMPORTED_MODULE_3__.c)(_test_fixtures__WEBPACK_IMPORTED_MODULE_4__.b),value:subject,onChange:setSubject}),subject?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p",null,"Your chosen subject is: ",subject.email):null)}).add("custom isOptionEqual",()=>{const[subject,setSubject]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(void 0);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_3__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_RadioGroup__WEBPACK_IMPORTED_MODULE_2__.b,{id:"subject",label:"Subject",placeholder:"Please enter your subject",optionForValue:user=>user.email,options:()=>Promise.resolve(_test_fixtures__WEBPACK_IMPORTED_MODULE_4__.b),isOptionEqual:(a,b)=>a.id===b.id,value:subject,onChange:setSubject}),subject?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p",null,"Your chosen subject is: ",subject.email):null)}).add("without placeholder",()=>{const[subject,setSubject]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(void 0);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_3__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_RadioGroup__WEBPACK_IMPORTED_MODULE_2__.b,{id:"subject",label:"Subject",optionForValue:option=>option.label,isOptionEnabled:option=>"awesome"!==option.value,options:[{value:"awesome",label:"Awesome shit"},{value:"super",label:"Super shit"},{value:"great",label:"Great shit"},{value:"good",label:"good shit"}],value:subject,onChange:setSubject}),subject?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p",null,"Your chosen subject is: ",subject.label):null)}).add("without label",()=>{const[subject,setSubject]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(void 0);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_3__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_RadioGroup__WEBPACK_IMPORTED_MODULE_2__.b,{id:"subject",placeholder:"Please enter your subject",optionForValue:option=>option.label,isOptionEnabled:option=>"awesome"!==option.value,options:[{value:"awesome",label:"Awesome shit"},{value:"super",label:"Super shit"},{value:"great",label:"Great shit"},{value:"good",label:"good shit"}],value:subject,onChange:setSubject}),subject?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p",null,"Your chosen subject is: ",subject.label):null)}).add("with custom label",()=>{const[subject,setSubject]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(void 0);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_3__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_RadioGroup__WEBPACK_IMPORTED_MODULE_2__.b,{id:"subject",label:react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span",null,"Subject"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_5__.v,{className:"ml-1 position-relative",style:{top:4},content:"Subjects are the best"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_5__.d,{icon:"info"}))),placeholder:"Please enter your subject",optionForValue:option=>option.label,isOptionEnabled:option=>"awesome"!==option.value,options:[{value:"awesome",label:"Awesome shit"},{value:"super",label:"Super shit"},{value:"great",label:"Great shit"},{value:"good",label:"good shit"}],value:subject,onChange:setSubject}),subject?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p",null,"Your chosen subject is: ",subject.label):null)}).add("value based options",()=>{const[subject,setSubject]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(void 0),[filtered,setFiltered]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(!1),allOptions=[{value:"awesome",label:"Awesome shit"},{value:"super",label:"Super shit"},{value:"great",label:"Great shit"},{value:"good",label:"good shit"}],filteredOptions=allOptions.filter(option=>"awesome"!==option.value);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_3__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"mb-3"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Toggle_Toggle__WEBPACK_IMPORTED_MODULE_6__.c,{color:"primary",onChange:setFiltered,value:filtered,className:"mr-2"}),"Filter options"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_RadioGroup__WEBPACK_IMPORTED_MODULE_2__.b,{id:"subject",label:"Subject",placeholder:"Please enter your subject",optionForValue:option=>option.label,isOptionEnabled:option=>"awesome"!==option.value,options:filtered?filteredOptions:allOptions,value:subject,onChange:setSubject}),subject?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p",null,"Your chosen subject is: ",subject.label):null)}).add("value based async options",()=>{const[brand,setBrand]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(),[model,setModel]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(),allOptions={Audi:["A1","A2","A3","M5"],BMW:["series 1","series 2","series 3","series 4","series 5"],Mercedes:["Viano","Vito","Sprinter"]};return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_3__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_RadioGroup__WEBPACK_IMPORTED_MODULE_2__.b,{id:"brand",label:"Brand",placeholder:"Please select your brand",optionForValue:option=>option,options:()=>Object(_story_utils__WEBPACK_IMPORTED_MODULE_3__.c)(Object(___WEBPACK_IMPORTED_MODULE_5__.z)(Object.keys(allOptions),1)),value:brand,onChange:value=>{setBrand(value),setModel(void 0)}}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_RadioGroup__WEBPACK_IMPORTED_MODULE_2__.b,{id:"model",label:"Model",placeholder:brand?"Please select your model":"Please select a brand first",optionForValue:option=>option,options:()=>Object(_story_utils__WEBPACK_IMPORTED_MODULE_3__.c)(Object(___WEBPACK_IMPORTED_MODULE_5__.z)(brand?allOptions[brand]:[],1)),value:model,onChange:setModel,watch:brand}))}).add("jarb",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_3__.a,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_RadioGroup__WEBPACK_IMPORTED_MODULE_2__.a,{id:"subject",name:"subject",label:"Subject",placeholder:"Please enter your subject",optionForValue:option=>option.label,isOptionEnabled:option=>"awesome"!==option.value,options:[{value:"awesome",label:"Awesome shit"},{value:"super",label:"Super shit"},{value:"great",label:"Great shit"},{value:"good",label:"good shit"}],jarb:{validator:"Hero.name",label:"Subject"}}))).add("default option",()=>{const[subject,setSubject]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)({value:"great",label:"Great shit"});return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_3__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_RadioGroup__WEBPACK_IMPORTED_MODULE_2__.b,{id:"subject",label:"Subject",placeholder:"Please enter your subject",optionForValue:option=>option.label,options:[{value:"awesome",label:"Awesome shit"},{value:"super",label:"Super shit"},{value:"great",label:"Great shit"},{value:"good",label:"good shit"}],value:subject,onChange:setSubject}),subject?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p",null,"Your chosen subject is: ",subject.label):null)})}.call(this,__webpack_require__(26)(module))},232:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return getTranslator}));let translator=translation=>translation.fallback;function getTranslator(){return translator}function setTranslator(_translator){translator=_translator}try{setTranslator.displayName="setTranslator",setTranslator.__docgenInfo={description:"Lets you set a new translator to be used throughout `@42.nl/ui`.\n@param _translator The new translator",displayName:"setTranslator",props:{}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/utilities/translation/translator.ts#setTranslator"]={docgenInfo:setTranslator.__docgenInfo,name:"setTranslator",path:"src/utilities/translation/translator.ts#setTranslator"})}catch(__react_docgen_typescript_loader_error){}},2320:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),function(module){var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),_storybook_react__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(14),_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(2),_Select__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(79),_story_utils__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(5),_test_fixtures__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(12),___WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(7),withSourceLoader=__webpack_require__(15).withSource,__STORY__=(__webpack_require__(15).addSource,"import React, { useState } from 'react';\nimport { storiesOf } from '@storybook/react';\nimport { action } from '@storybook/addon-actions';\n\nimport Select, { JarbSelect } from './Select';\nimport { FinalForm, Form, resolveAfter } from '../story-utils';\nimport { pageOfUsers, userUser, randomUser } from '../../test/fixtures';\nimport { User } from '../../test/types';\nimport { Icon, pageOf, Tooltip } from '../..';\n\ninterface SubjectOption {\n value: string;\n label: string;\n}\n\nstoriesOf('Form|Select', module)\n .add('defined options', () => {\n return (\n
\n option.label}\n isOptionEnabled={option => option.value !== 'awesome'}\n options={[\n { value: 'awesome', label: 'Awesome shit' },\n { value: 'super', label: 'Super shit' },\n { value: 'great', label: 'Great shit' },\n { value: 'good', label: 'good shit' }\n ]}\n onChange={value => action(`You entered ${value}`)}\n />\n \n );\n })\n .add('fetched options', () => {\n const [subject, setSubject] = useState(randomUser());\n\n return (\n
\n user.email}\n options={() => resolveAfter(pageOfUsers)}\n value={subject}\n onChange={setSubject}\n />\n \n );\n })\n .add('custom isOptionEqual', () => {\n return (\n
\n user.email}\n options={() => Promise.resolve(pageOfUsers)}\n isOptionEqual={(a: User, b: User) => a.id === b.id}\n onChange={value => action(`You entered ${value}`)}\n />\n \n );\n })\n .add('without placeholder', () => {\n return (\n
\n option.label}\n isOptionEnabled={option => option.value !== 'awesome'}\n options={[\n { value: 'awesome', label: 'Awesome shit' },\n { value: 'super', label: 'Super shit' },\n { value: 'great', label: 'Great shit' },\n { value: 'good', label: 'good shit' }\n ]}\n onChange={value => action(`You entered ${value}`)}\n />\n \n );\n })\n .add('without label', () => {\n return (\n
\n option.label}\n isOptionEnabled={option => option.value !== 'awesome'}\n options={[\n { value: 'awesome', label: 'Awesome shit' },\n { value: 'super', label: 'Super shit' },\n { value: 'great', label: 'Great shit' },\n { value: 'good', label: 'good shit' }\n ]}\n onChange={value => action(`You entered ${value}`)}\n />\n \n );\n })\n .add('with custom label', () => {\n return (\n
\n \n Subject\n \n \n \n \n }\n placeholder=\"Please enter your subject\"\n optionForValue={(option: SubjectOption) => option.label}\n isOptionEnabled={option => option.value !== 'awesome'}\n options={[\n { value: 'awesome', label: 'Awesome shit' },\n { value: 'super', label: 'Super shit' },\n { value: 'great', label: 'Great shit' },\n { value: 'good', label: 'good shit' }\n ]}\n onChange={value => action(`You entered ${value}`)}\n />\n \n );\n })\n .add('value based options', () => {\n const [brand, setBrand] = useState();\n const [model, setModel] = useState();\n\n const allOptions = {\n Audi: ['A1', 'A2', 'A3', 'M5'],\n BMW: ['series 1', 'series 2', 'series 3', 'series 4', 'series 5'],\n Mercedes: ['Viano', 'Vito', 'Sprinter']\n };\n\n return (\n
\n option}\n options={Object.keys(allOptions)}\n onChange={value => {\n setBrand(value);\n setModel(undefined);\n }}\n value={brand}\n />\n option}\n options={brand ? allOptions[brand] : []}\n onChange={value => setModel(value)}\n value={model}\n />\n \n );\n })\n .add('value based async options', () => {\n const [brand, setBrand] = useState();\n const [model, setModel] = useState();\n\n const allOptions = {\n Audi: ['A1', 'A2', 'A3', 'M5'],\n BMW: ['series 1', 'series 2', 'series 3', 'series 4', 'series 5'],\n Mercedes: ['Viano', 'Vito', 'Sprinter']\n };\n\n return (\n
\n option}\n options={() => resolveAfter(pageOf(Object.keys(allOptions), 1))}\n onChange={value => {\n setBrand(value);\n setModel(undefined);\n }}\n value={brand}\n />\n option}\n options={() =>\n resolveAfter(pageOf(brand ? allOptions[brand] : [], 1))\n }\n onChange={(value: string) => setModel(value)}\n value={model}\n watch={brand}\n />\n \n );\n })\n .add('jarb', () => {\n return (\n \n option.label}\n isOptionEnabled={option => option.value !== 'awesome'}\n options={[\n { value: 'awesome', label: 'Awesome shit' },\n { value: 'super', label: 'Super shit' },\n { value: 'great', label: 'Great shit' },\n { value: 'good', label: 'good shit' }\n ]}\n jarb={{\n validator: 'Hero.name',\n label: 'Subject'\n }}\n />\n \n );\n })\n .add('default option', () => {\n const [value, setValue] = useState({ value: 'great', label: 'Great shit' });\n\n return (\n
\n \n id=\"subject\"\n label=\"Subject\"\n value={value}\n placeholder=\"Please enter your subject\"\n optionForValue={(option: SubjectOption) => option.label}\n options={[\n { value: 'awesome', label: 'Awesome shit' },\n { value: 'super', label: 'Super shit' },\n { value: 'great', label: 'Great shit' },\n { value: 'good', label: 'good shit' }\n ]}\n onChange={setValue}\n />\n \n );\n });\n"),__ADDS_MAP__={"form-select--default-option":{startLoc:{col:7,line:238},endLoc:{col:3,line:259},startBody:{col:25,line:238},endBody:{col:3,line:259}},"form-select--jarb":{startLoc:{col:7,line:214},endLoc:{col:3,line:237},startBody:{col:15,line:214},endBody:{col:3,line:237}},"form-select--value-based-async-options":{startLoc:{col:7,line:173},endLoc:{col:3,line:213},startBody:{col:36,line:173},endBody:{col:3,line:213}},"form-select--value-based-options":{startLoc:{col:7,line:135},endLoc:{col:3,line:172},startBody:{col:30,line:135},endBody:{col:3,line:172}},"form-select--with-custom-label":{startLoc:{col:7,line:108},endLoc:{col:3,line:134},startBody:{col:28,line:108},endBody:{col:3,line:134}},"form-select--without-label":{startLoc:{col:7,line:89},endLoc:{col:3,line:107},startBody:{col:24,line:89},endBody:{col:3,line:107}},"form-select--without-placeholder":{startLoc:{col:7,line:70},endLoc:{col:3,line:88},startBody:{col:30,line:70},endBody:{col:3,line:88}},"form-select--custom-isoptionequal":{startLoc:{col:7,line:54},endLoc:{col:3,line:69},startBody:{col:31,line:54},endBody:{col:3,line:69}},"form-select--fetched-options":{startLoc:{col:7,line:37},endLoc:{col:3,line:53},startBody:{col:26,line:37},endBody:{col:3,line:53}},"form-select--defined-options":{startLoc:{col:7,line:17},endLoc:{col:3,line:36},startBody:{col:26,line:17},endBody:{col:3,line:36}}};Object(_storybook_react__WEBPACK_IMPORTED_MODULE_1__.storiesOf)("Form|Select",module).addParameters({storySource:{source:__STORY__,locationsMap:__ADDS_MAP__}}).addDecorator(withSourceLoader(__STORY__,__ADDS_MAP__,"/Select.stories.tsx",[],{},"/Users/gido.manders/projecten/42/ui/src/form/Select",{})).add("defined options",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Select__WEBPACK_IMPORTED_MODULE_3__.b,{id:"subject",label:"Subject",placeholder:"Please enter your subject",optionForValue:option=>option.label,isOptionEnabled:option=>"awesome"!==option.value,options:[{value:"awesome",label:"Awesome shit"},{value:"super",label:"Super shit"},{value:"great",label:"Great shit"},{value:"good",label:"good shit"}],onChange:value=>Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)(`You entered ${value}`)}))).add("fetched options",()=>{const[subject,setSubject]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(Object(_test_fixtures__WEBPACK_IMPORTED_MODULE_5__.c)());return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Select__WEBPACK_IMPORTED_MODULE_3__.b,{id:"subject",label:"Subject",placeholder:"Please enter your subject",optionForValue:user=>user.email,options:()=>Object(_story_utils__WEBPACK_IMPORTED_MODULE_4__.c)(_test_fixtures__WEBPACK_IMPORTED_MODULE_5__.b),value:subject,onChange:setSubject}))}).add("custom isOptionEqual",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Select__WEBPACK_IMPORTED_MODULE_3__.b,{id:"subject",label:"Subject",placeholder:"Please enter your subject",value:_test_fixtures__WEBPACK_IMPORTED_MODULE_5__.d,optionForValue:user=>user.email,options:()=>Promise.resolve(_test_fixtures__WEBPACK_IMPORTED_MODULE_5__.b),isOptionEqual:(a,b)=>a.id===b.id,onChange:value=>Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)(`You entered ${value}`)}))).add("without placeholder",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Select__WEBPACK_IMPORTED_MODULE_3__.b,{id:"subject",label:"Subject",optionForValue:option=>option.label,isOptionEnabled:option=>"awesome"!==option.value,options:[{value:"awesome",label:"Awesome shit"},{value:"super",label:"Super shit"},{value:"great",label:"Great shit"},{value:"good",label:"good shit"}],onChange:value=>Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)(`You entered ${value}`)}))).add("without label",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Select__WEBPACK_IMPORTED_MODULE_3__.b,{id:"subject",placeholder:"Please enter your subject",optionForValue:option=>option.label,isOptionEnabled:option=>"awesome"!==option.value,options:[{value:"awesome",label:"Awesome shit"},{value:"super",label:"Super shit"},{value:"great",label:"Great shit"},{value:"good",label:"good shit"}],onChange:value=>Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)(`You entered ${value}`)}))).add("with custom label",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Select__WEBPACK_IMPORTED_MODULE_3__.b,{id:"subject",label:react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"d-flex justify-content-between"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span",null,"Subject"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_6__.v,{className:"ml-1",content:"The subject of your essay"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_6__.d,{icon:"info"}))),placeholder:"Please enter your subject",optionForValue:option=>option.label,isOptionEnabled:option=>"awesome"!==option.value,options:[{value:"awesome",label:"Awesome shit"},{value:"super",label:"Super shit"},{value:"great",label:"Great shit"},{value:"good",label:"good shit"}],onChange:value=>Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)(`You entered ${value}`)}))).add("value based options",()=>{const[brand,setBrand]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(),[model,setModel]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(),allOptions={Audi:["A1","A2","A3","M5"],BMW:["series 1","series 2","series 3","series 4","series 5"],Mercedes:["Viano","Vito","Sprinter"]};return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Select__WEBPACK_IMPORTED_MODULE_3__.b,{id:"brand",label:"Brand",placeholder:"Please select your brand",optionForValue:option=>option,options:Object.keys(allOptions),onChange:value=>{setBrand(value),setModel(void 0)},value:brand}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Select__WEBPACK_IMPORTED_MODULE_3__.b,{id:"model",label:"Model",placeholder:brand?"Please select your model":"Please select a brand first",optionForValue:option=>option,options:brand?allOptions[brand]:[],onChange:value=>setModel(value),value:model}))}).add("value based async options",()=>{const[brand,setBrand]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(),[model,setModel]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(),allOptions={Audi:["A1","A2","A3","M5"],BMW:["series 1","series 2","series 3","series 4","series 5"],Mercedes:["Viano","Vito","Sprinter"]};return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Select__WEBPACK_IMPORTED_MODULE_3__.b,{id:"brand",label:"Brand",placeholder:"Please select your brand",optionForValue:option=>option,options:()=>Object(_story_utils__WEBPACK_IMPORTED_MODULE_4__.c)(Object(___WEBPACK_IMPORTED_MODULE_6__.z)(Object.keys(allOptions),1)),onChange:value=>{setBrand(value),setModel(void 0)},value:brand}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Select__WEBPACK_IMPORTED_MODULE_3__.b,{id:"model",label:"Model",placeholder:brand?"Please select your model":"Please select a brand first",optionForValue:option=>option,options:()=>Object(_story_utils__WEBPACK_IMPORTED_MODULE_4__.c)(Object(___WEBPACK_IMPORTED_MODULE_6__.z)(brand?allOptions[brand]:[],1)),onChange:value=>setModel(value),value:model,watch:brand}))}).add("jarb",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.a,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Select__WEBPACK_IMPORTED_MODULE_3__.a,{id:"subject",name:"subject",label:"Subject",placeholder:"Please enter your subject",optionForValue:option=>option.label,isOptionEnabled:option=>"awesome"!==option.value,options:[{value:"awesome",label:"Awesome shit"},{value:"super",label:"Super shit"},{value:"great",label:"Great shit"},{value:"good",label:"good shit"}],jarb:{validator:"Hero.name",label:"Subject"}}))).add("default option",()=>{const[value,setValue]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)({value:"great",label:"Great shit"});return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Select__WEBPACK_IMPORTED_MODULE_3__.b,{id:"subject",label:"Subject",value:value,placeholder:"Please enter your subject",optionForValue:option=>option.label,options:[{value:"awesome",label:"Awesome shit"},{value:"super",label:"Super shit"},{value:"great",label:"Great shit"},{value:"good",label:"good shit"}],onChange:setValue}))})}.call(this,__webpack_require__(26)(module))},2321:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),function(module){var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),_storybook_react__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(14),_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(2),_TextEditor__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(156),_story_utils__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(5),___WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(7),withSourceLoader=__webpack_require__(15).withSource,__STORY__=(__webpack_require__(15).addSource,"import React, { useEffect } from 'react';\nimport { storiesOf } from '@storybook/react';\nimport { action } from '@storybook/addon-actions';\n\nimport TextEditor, { JarbTextEditor } from './TextEditor';\n\nimport { FinalForm, Form } from '../story-utils';\nimport { Icon, Tooltip } from '../..';\n\nconst disclaimer = (\n <>\n

\n Disclaimer: when using the TextEditor you must sanitize\n the output when rendering the output in the browser. If you do not do this\n you risk an XSS attack.\n

\n

\n The 42 way of dealing with this problem is by using{' '}\n jsoup and to use the{' '}\n \n sanitizer\n {' '}\n with a whitelist. The whitelist should only contain elements which the\n TextEditor generates. The sanitizer should be applied before sending the\n content to the browser.\n

\n \n);\n\nstoriesOf('Form|TextEditor', module)\n .add('basic', () => {\n return (\n
\n action(`onChange: ${value}`)}\n />\n {disclaimer}\n \n );\n })\n .add('without placeholder', () => {\n return (\n
\n action(`onChange: ${value}`)}\n />\n {disclaimer}\n \n );\n })\n .add('without label', () => {\n return (\n
\n action(`onChange: ${value}`)}\n />\n {disclaimer}\n \n );\n })\n .add('with custom label', () => {\n return (\n
\n \n Description\n \n \n \n \n }\n placeholder=\"Please add a description\"\n onChange={value => action(`onChange: ${value}`)}\n />\n {disclaimer}\n \n );\n })\n .add('custom toolbar', () => {\n const placeholders = [{ label: 'First name', value: 'firstName' }];\n\n useEffect(() => {\n /**\n * Supply the HTML content of the placeholder dropdown.\n * We need this because QuillJS shows an empty dropdown when supplying a custom dropdown list.\n */\n document\n .querySelectorAll('.ql-placeholder .ql-picker-label')\n .forEach((label: HTMLElement) => {\n if (label.innerHTML.startsWith(' {\n item.textContent =\n placeholders.find(ph => ph.value === item.dataset.value)?.label ||\n item.dataset.value ||\n null;\n });\n }, [placeholders]);\n\n function insertPlaceholder(value: string) {\n const quill = this.quill;\n const cursorPosition = quill.getSelection().index;\n quill.insertText(cursorPosition, `[${value}]`);\n quill.setSelection({\n index: cursorPosition + value.length + 2,\n length: 0\n });\n }\n\n return (\n
\n action(`onChange: ${value}`)}\n modules={{\n toolbar: {\n container: [\n [\n {\n placeholder: placeholders.map(ph => ph.value)\n }\n ],\n [\n {\n size: ['small', false, 'large', 'huge']\n },\n 'bold',\n 'italic',\n 'underline',\n 'link'\n ],\n [\n {\n list: 'ordered'\n },\n {\n list: 'bullet'\n }\n ],\n ['clean']\n ],\n handlers: {\n placeholder: insertPlaceholder\n }\n }\n }}\n />\n {disclaimer}\n \n );\n })\n .add('jarb', () => {\n return (\n \n \n {disclaimer}\n \n );\n });\n"),__ADDS_MAP__={"form-texteditor--jarb":{startLoc:{col:7,line:175},endLoc:{col:3,line:191},startBody:{col:15,line:175},endBody:{col:3,line:191}},"form-texteditor--custom-toolbar":{startLoc:{col:7,line:91},endLoc:{col:3,line:174},startBody:{col:25,line:91},endBody:{col:3,line:174}},"form-texteditor--with-custom-label":{startLoc:{col:7,line:68},endLoc:{col:3,line:90},startBody:{col:28,line:68},endBody:{col:3,line:90}},"form-texteditor--without-label":{startLoc:{col:7,line:56},endLoc:{col:3,line:67},startBody:{col:24,line:56},endBody:{col:3,line:67}},"form-texteditor--without-placeholder":{startLoc:{col:7,line:44},endLoc:{col:3,line:55},startBody:{col:30,line:44},endBody:{col:3,line:55}},"form-texteditor--basic":{startLoc:{col:7,line:31},endLoc:{col:3,line:43},startBody:{col:16,line:31},endBody:{col:3,line:43}}};const disclaimer=react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p",null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("strong",null,"Disclaimer:")," when using the TextEditor you must sanitize the output when rendering the output in the browser. If you do not do this you risk an XSS attack."),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p",null,"The 42 way of dealing with this problem is by using"," ",react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("a",{href:"https://jsoup.org/"},"jsoup")," and to use the"," ",react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("a",{href:"https://jsoup.org/cookbook/cleaning-html/whitelist-sanitizer"},"sanitizer")," ","with a whitelist. The whitelist should only contain elements which the TextEditor generates. The sanitizer should be applied before sending the content to the browser."));Object(_storybook_react__WEBPACK_IMPORTED_MODULE_1__.storiesOf)("Form|TextEditor",module).addParameters({storySource:{source:__STORY__,locationsMap:__ADDS_MAP__}}).addDecorator(withSourceLoader(__STORY__,__ADDS_MAP__,"/TextEditor.stories.tsx",[],{},"/Users/gido.manders/projecten/42/ui/src/form/TextEditor",{})).add("basic",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_TextEditor__WEBPACK_IMPORTED_MODULE_3__.b,{id:"description",label:"Description",placeholder:"Please add a description",onChange:value=>Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)(`onChange: ${value}`)}),disclaimer)).add("without placeholder",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_TextEditor__WEBPACK_IMPORTED_MODULE_3__.b,{id:"description",label:"Description",onChange:value=>Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)(`onChange: ${value}`)}),disclaimer)).add("without label",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_TextEditor__WEBPACK_IMPORTED_MODULE_3__.b,{id:"description",placeholder:"Please add a description",onChange:value=>Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)(`onChange: ${value}`)}),disclaimer)).add("with custom label",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_TextEditor__WEBPACK_IMPORTED_MODULE_3__.b,{id:"description",label:react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"d-flex justify-content-between"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span",null,"Description"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_5__.v,{className:"ml-1",content:"Be sure to secure against XSS attacks"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_5__.d,{icon:"info"}))),placeholder:"Please add a description",onChange:value=>Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)(`onChange: ${value}`)}),disclaimer)).add("custom toolbar",()=>{const placeholders=[{label:"First name",value:"firstName"}];return Object(react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{document.querySelectorAll(".ql-placeholder .ql-picker-label").forEach(label=>{if(label.innerHTML.startsWith("{var _a;item.textContent=(null===(_a=placeholders.find(ph=>ph.value===item.dataset.value))||void 0===_a?void 0:_a.label)||item.dataset.value||null})},[placeholders]),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_TextEditor__WEBPACK_IMPORTED_MODULE_3__.b,{id:"description",label:"Description",placeholder:"Please add a description",onChange:value=>Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)(`onChange: ${value}`),modules:{toolbar:{container:[[{placeholder:placeholders.map(ph=>ph.value)}],[{size:["small",!1,"large","huge"]},"bold","italic","underline","link"],[{list:"ordered"},{list:"bullet"}],["clean"]],handlers:{placeholder:function insertPlaceholder(value){const quill=this.quill,cursorPosition=quill.getSelection().index;quill.insertText(cursorPosition,`[${value}]`),quill.setSelection({index:cursorPosition+value.length+2,length:0})}}}}}),disclaimer)}).add("jarb",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.a,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_TextEditor__WEBPACK_IMPORTED_MODULE_3__.a,{id:"description",name:"description",label:"Description",placeholder:"Please add a description",jarb:{validator:"Hero.description",label:"Description"}}),disclaimer))}.call(this,__webpack_require__(26)(module))},2322:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),function(module){var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),_storybook_react__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(14),_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(2),_Textarea__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(171),_story_utils__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(5),___WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(7),withSourceLoader=__webpack_require__(15).withSource,__STORY__=(__webpack_require__(15).addSource,'import React from \'react\';\nimport { storiesOf } from \'@storybook/react\';\nimport { action } from \'@storybook/addon-actions\';\n\nimport Textarea, { JarbTextarea } from \'./Textarea\';\nimport { FinalForm, Form } from \'../story-utils\';\nimport { Tooltip, Icon } from \'../..\';\n\nstoriesOf(\'Form|Textarea\', module)\n .add(\'basic\', () => {\n return (\n
\n action(`onChange: ${value}`)}\n />\n \n );\n })\n .add(\'without placeholder\', () => {\n return (\n
\n action(`onChange: ${value}`)}\n />\n \n );\n })\n .add(\'without label\', () => {\n return (\n
\n action(`onChange: ${value}`)}\n />\n \n );\n })\n .add(\'with custom label\', () => {\n return (\n
\n \n Description\n \n \n \n \n }\n placeholder="Please add a description"\n onChange={value => action(`onChange: ${value}`)}\n />\n \n );\n })\n .add(\'jarb\', () => {\n return (\n \n \n \n );\n });\n'),__ADDS_MAP__={"form-textarea--jarb":{startLoc:{col:7,line:66},endLoc:{col:3,line:81},startBody:{col:15,line:66},endBody:{col:3,line:81}},"form-textarea--with-custom-label":{startLoc:{col:7,line:44},endLoc:{col:3,line:65},startBody:{col:28,line:44},endBody:{col:3,line:65}},"form-textarea--without-label":{startLoc:{col:7,line:33},endLoc:{col:3,line:43},startBody:{col:24,line:33},endBody:{col:3,line:43}},"form-textarea--without-placeholder":{startLoc:{col:7,line:22},endLoc:{col:3,line:32},startBody:{col:30,line:22},endBody:{col:3,line:32}},"form-textarea--basic":{startLoc:{col:7,line:10},endLoc:{col:3,line:21},startBody:{col:16,line:10},endBody:{col:3,line:21}}};Object(_storybook_react__WEBPACK_IMPORTED_MODULE_1__.storiesOf)("Form|Textarea",module).addParameters({storySource:{source:__STORY__,locationsMap:__ADDS_MAP__}}).addDecorator(withSourceLoader(__STORY__,__ADDS_MAP__,"/Textarea.stories.tsx",[],{},"/Users/gido.manders/projecten/42/ui/src/form/Textarea",{})).add("basic",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Textarea__WEBPACK_IMPORTED_MODULE_3__.b,{id:"description",label:"Description",placeholder:"Please add a description",onChange:value=>Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)(`onChange: ${value}`)}))).add("without placeholder",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Textarea__WEBPACK_IMPORTED_MODULE_3__.b,{id:"description",label:"Description",onChange:value=>Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)(`onChange: ${value}`)}))).add("without label",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Textarea__WEBPACK_IMPORTED_MODULE_3__.b,{id:"description",placeholder:"Please add a description",onChange:value=>Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)(`onChange: ${value}`)}))).add("with custom label",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Textarea__WEBPACK_IMPORTED_MODULE_3__.b,{id:"description",label:react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"d-flex justify-content-between"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span",null,"Description"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_5__.v,{className:"ml-1",content:"The description is shown inside a tooltip"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_5__.d,{icon:"info"}))),placeholder:"Please add a description",onChange:value=>Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)(`onChange: ${value}`)}))).add("jarb",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.a,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Textarea__WEBPACK_IMPORTED_MODULE_3__.a,{id:"description",name:"description",label:"Description",placeholder:"Please add a description",jarb:{validator:"Hero.description",label:"Description"}})))}.call(this,__webpack_require__(26)(module))},2323:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),function(module){var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),_storybook_react__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(14),_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(2),_Toggle__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(92),_story_utils__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(5),___WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(7),withSourceLoader=__webpack_require__(15).withSource,__STORY__=(__webpack_require__(15).addSource,"import React from 'react';\nimport { storiesOf } from '@storybook/react';\nimport { action } from '@storybook/addon-actions';\n\nimport Toggle, { FormToggle, JarbFormToggle } from './Toggle';\nimport { Form, FinalForm } from '../story-utils';\nimport { Icon, Tooltip } from '../..';\n\nstoriesOf('Form|Toggle', module)\n .add('basic', () => {\n return (\n
\n \n primary
\n \n secondary
\n \n info
\n \n success
\n \n warning
\n \n danger
\n \n light
\n \n dark\n
\n );\n })\n .add('form', () => {\n return (\n
\n action(`onChange: ${value}`)}\n />\n \n );\n })\n .add('without label', () => {\n return (\n
\n action(`onChange: ${value}`)}\n />\n \n );\n })\n .add('without custom label', () => {\n return (\n
\n \n Agree\n \n \n \n \n }\n toggleColor=\"primary\"\n onChange={value => action(`onChange: ${value}`)}\n />\n \n );\n })\n .add('jarb', () => {\n return (\n \n \n \n );\n });\n"),__ADDS_MAP__={"form-toggle--jarb":{startLoc:{col:7,line:110},endLoc:{col:3,line:125},startBody:{col:15,line:110},endBody:{col:3,line:125}},"form-toggle--without-custom-label":{startLoc:{col:7,line:87},endLoc:{col:3,line:109},startBody:{col:31,line:87},endBody:{col:3,line:109}},"form-toggle--without-label":{startLoc:{col:7,line:76},endLoc:{col:3,line:86},startBody:{col:24,line:76},endBody:{col:3,line:86}},"form-toggle--form":{startLoc:{col:7,line:64},endLoc:{col:3,line:75},startBody:{col:15,line:64},endBody:{col:3,line:75}},"form-toggle--basic":{startLoc:{col:7,line:10},endLoc:{col:3,line:63},startBody:{col:16,line:10},endBody:{col:3,line:63}}};Object(_storybook_react__WEBPACK_IMPORTED_MODULE_1__.storiesOf)("Form|Toggle",module).addParameters({storySource:{source:__STORY__,locationsMap:__ADDS_MAP__}}).addDecorator(withSourceLoader(__STORY__,__ADDS_MAP__,"/Toggle.stories.tsx",[],{},"/Users/gido.manders/projecten/42/ui/src/form/Toggle",{})).add("basic",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"text-center"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Toggle__WEBPACK_IMPORTED_MODULE_3__.c,{color:"primary",onChange:Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)("onChange"),onBlur:Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)("onBlur")}),"primary ",react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("br",null),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Toggle__WEBPACK_IMPORTED_MODULE_3__.c,{color:"secondary",onChange:Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)("onChange"),onBlur:Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)("onBlur")}),"secondary ",react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("br",null),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Toggle__WEBPACK_IMPORTED_MODULE_3__.c,{color:"info",onChange:Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)("onChange"),onBlur:Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)("onBlur")}),"info ",react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("br",null),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Toggle__WEBPACK_IMPORTED_MODULE_3__.c,{color:"success",onChange:Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)("onChange"),onBlur:Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)("onBlur")}),"success ",react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("br",null),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Toggle__WEBPACK_IMPORTED_MODULE_3__.c,{color:"warning",onChange:Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)("onChange"),onBlur:Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)("onBlur")}),"warning ",react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("br",null),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Toggle__WEBPACK_IMPORTED_MODULE_3__.c,{color:"danger",onChange:Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)("onChange"),onBlur:Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)("onBlur")}),"danger ",react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("br",null),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Toggle__WEBPACK_IMPORTED_MODULE_3__.c,{color:"light",onChange:Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)("onChange"),onBlur:Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)("onBlur")}),"light ",react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("br",null),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Toggle__WEBPACK_IMPORTED_MODULE_3__.c,{color:"dark",onChange:Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)("onChange"),onBlur:Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)("onBlur")}),"dark")).add("form",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Toggle__WEBPACK_IMPORTED_MODULE_3__.a,{id:"agree",label:"Agree",toggleColor:"primary",onChange:value=>Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)(`onChange: ${value}`)}))).add("without label",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Toggle__WEBPACK_IMPORTED_MODULE_3__.a,{id:"agree",toggleColor:"primary",onChange:value=>Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)(`onChange: ${value}`)}))).add("without custom label",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Toggle__WEBPACK_IMPORTED_MODULE_3__.a,{id:"agree",label:react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span",null,"Agree"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_5__.v,{className:"position-absolute",style:{left:140},content:"Always agree to any terms without reading them"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_5__.d,{icon:"info"}))),toggleColor:"primary",onChange:value=>Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)(`onChange: ${value}`)}))).add("jarb",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.a,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Toggle__WEBPACK_IMPORTED_MODULE_3__.b,{id:"agree",name:"agree",label:"Agree",toggleColor:"primary",jarb:{validator:"Hero.agree",label:"Agree"}})))}.call(this,__webpack_require__(26)(module))},2324:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),function(module){var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),_storybook_react__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(14),_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(2),_test_utils__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(34),_story_utils__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(5),_test_fixtures__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(12),_TypeaheadMultiple__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(173),___WEBPACK_IMPORTED_MODULE_7__=__webpack_require__(7),withSourceLoader=__webpack_require__(15).withSource,__STORY__=(__webpack_require__(15).addSource,"import React from 'react';\nimport { storiesOf } from '@storybook/react';\nimport { action } from '@storybook/addon-actions';\n\nimport { pageWithContentAndExactSize } from '../../../test/utils';\nimport { Form, FinalForm } from '../../story-utils';\nimport { userUser, adminUser } from '../../../test/fixtures';\nimport { User } from '../../../test/types';\n\nimport TypeaheadMultiple, { JarbTypeaheadMultiple } from './TypeaheadMultiple';\nimport { Icon, Tooltip } from '../../..';\n\nstoriesOf('Form|Typeahead/JarbTypeaheadMultiple', module)\n .add('basic', () => {\n return (\n
\n user.email}\n fetchOptions={() =>\n Promise.resolve(pageWithContentAndExactSize([userUser, adminUser]))\n }\n onChange={value => action(`onChange: ${value}`)}\n />\n \n );\n })\n .add('without placeholder', () => {\n return (\n
\n user.email}\n fetchOptions={() =>\n Promise.resolve(pageWithContentAndExactSize([userUser, adminUser]))\n }\n onChange={value => action(`onChange: ${value}`)}\n />\n \n );\n })\n .add('without label', () => {\n return (\n
\n user.email}\n fetchOptions={() =>\n Promise.resolve(pageWithContentAndExactSize([userUser, adminUser]))\n }\n onChange={value => action(`onChange: ${value}`)}\n />\n \n );\n })\n .add('with custom label', () => {\n return (\n
\n \n Friends\n \n \n \n \n }\n placeholder=\"Please provide all your friends\"\n optionForValue={(user: User) => user.email}\n fetchOptions={() =>\n Promise.resolve(pageWithContentAndExactSize([userUser, adminUser]))\n }\n onChange={value => action(`onChange: ${value}`)}\n />\n \n );\n })\n .add('jarb', () => {\n return (\n \n user.email}\n fetchOptions={() =>\n Promise.resolve(pageWithContentAndExactSize([userUser, adminUser]))\n }\n jarb={{\n validator: 'User.friends',\n label: 'Friends'\n }}\n />\n \n );\n });\n"),__ADDS_MAP__={"form-typeahead-jarbtypeaheadmultiple--jarb":{startLoc:{col:7,line:86},endLoc:{col:3,line:105},startBody:{col:15,line:86},endBody:{col:3,line:105}},"form-typeahead-jarbtypeaheadmultiple--with-custom-label":{startLoc:{col:7,line:60},endLoc:{col:3,line:85},startBody:{col:28,line:60},endBody:{col:3,line:85}},"form-typeahead-jarbtypeaheadmultiple--without-label":{startLoc:{col:7,line:45},endLoc:{col:3,line:59},startBody:{col:24,line:45},endBody:{col:3,line:59}},"form-typeahead-jarbtypeaheadmultiple--without-placeholder":{startLoc:{col:7,line:30},endLoc:{col:3,line:44},startBody:{col:30,line:30},endBody:{col:3,line:44}},"form-typeahead-jarbtypeaheadmultiple--basic":{startLoc:{col:7,line:14},endLoc:{col:3,line:29},startBody:{col:16,line:14},endBody:{col:3,line:29}}};Object(_storybook_react__WEBPACK_IMPORTED_MODULE_1__.storiesOf)("Form|Typeahead/JarbTypeaheadMultiple",module).addParameters({storySource:{source:__STORY__,locationsMap:__ADDS_MAP__}}).addDecorator(withSourceLoader(__STORY__,__ADDS_MAP__,"/TypeaheadMultiple.stories.tsx",[],{},"/Users/gido.manders/projecten/42/ui/src/form/Typeahead/multiple",{})).add("basic",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_TypeaheadMultiple__WEBPACK_IMPORTED_MODULE_6__.b,{id:"friends",label:"Friends",placeholder:"Please provide all your friends",optionForValue:user=>user.email,fetchOptions:()=>Promise.resolve(Object(_test_utils__WEBPACK_IMPORTED_MODULE_3__.b)([_test_fixtures__WEBPACK_IMPORTED_MODULE_5__.d,_test_fixtures__WEBPACK_IMPORTED_MODULE_5__.a])),onChange:value=>Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)(`onChange: ${value}`)}))).add("without placeholder",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_TypeaheadMultiple__WEBPACK_IMPORTED_MODULE_6__.b,{id:"friends",label:"Friends",optionForValue:user=>user.email,fetchOptions:()=>Promise.resolve(Object(_test_utils__WEBPACK_IMPORTED_MODULE_3__.b)([_test_fixtures__WEBPACK_IMPORTED_MODULE_5__.d,_test_fixtures__WEBPACK_IMPORTED_MODULE_5__.a])),onChange:value=>Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)(`onChange: ${value}`)}))).add("without label",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_TypeaheadMultiple__WEBPACK_IMPORTED_MODULE_6__.b,{id:"friends",placeholder:"Please provide all your friends",optionForValue:user=>user.email,fetchOptions:()=>Promise.resolve(Object(_test_utils__WEBPACK_IMPORTED_MODULE_3__.b)([_test_fixtures__WEBPACK_IMPORTED_MODULE_5__.d,_test_fixtures__WEBPACK_IMPORTED_MODULE_5__.a])),onChange:value=>Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)(`onChange: ${value}`)}))).add("with custom label",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_TypeaheadMultiple__WEBPACK_IMPORTED_MODULE_6__.b,{id:"friends",label:react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"d-flex justify-content-between"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span",null,"Friends"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_7__.v,{className:"ml-1",content:"It is nice to have lots of friends"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_7__.d,{icon:"info"}))),placeholder:"Please provide all your friends",optionForValue:user=>user.email,fetchOptions:()=>Promise.resolve(Object(_test_utils__WEBPACK_IMPORTED_MODULE_3__.b)([_test_fixtures__WEBPACK_IMPORTED_MODULE_5__.d,_test_fixtures__WEBPACK_IMPORTED_MODULE_5__.a])),onChange:value=>Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)(`onChange: ${value}`)}))).add("jarb",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.a,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_TypeaheadMultiple__WEBPACK_IMPORTED_MODULE_6__.a,{id:"friends",name:"friends",label:"Friends",placeholder:"Please provide all your friends",optionForValue:user=>user.email,fetchOptions:()=>Promise.resolve(Object(_test_utils__WEBPACK_IMPORTED_MODULE_3__.b)([_test_fixtures__WEBPACK_IMPORTED_MODULE_5__.d,_test_fixtures__WEBPACK_IMPORTED_MODULE_5__.a])),jarb:{validator:"User.friends",label:"Friends"}})))}.call(this,__webpack_require__(26)(module))},2325:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),function(module){var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),_storybook_react__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(14),_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(2),_test_utils__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(34),_story_utils__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(5),_test_fixtures__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(12),_TypeaheadSingle__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(172),___WEBPACK_IMPORTED_MODULE_7__=__webpack_require__(7),withSourceLoader=__webpack_require__(15).withSource,__STORY__=(__webpack_require__(15).addSource,"import React from 'react';\nimport { storiesOf } from '@storybook/react';\nimport { action } from '@storybook/addon-actions';\n\nimport { pageWithContentAndExactSize } from '../../../test/utils';\nimport { Form, FinalForm } from '../../story-utils';\nimport { userUser, adminUser } from '../../../test/fixtures';\nimport { User } from '../../../test/types';\nimport TypeaheadSingle, { JarbTypeaheadSingle } from './TypeaheadSingle';\nimport { Tooltip, Icon } from '../../..';\n\nstoriesOf('Form|Typeahead/JarbTypeaheadSingle', module)\n .add('basic', () => {\n return (\n
\n user.email}\n fetchOptions={() =>\n Promise.resolve(pageWithContentAndExactSize([userUser, adminUser]))\n }\n onChange={value => action(`onChange: ${value}`)}\n />\n \n );\n })\n .add('without placeholder', () => {\n return (\n
\n user.email}\n fetchOptions={() =>\n Promise.resolve(pageWithContentAndExactSize([userUser, adminUser]))\n }\n onChange={value => action(`onChange: ${value}`)}\n />\n \n );\n })\n .add('without label', () => {\n return (\n
\n user.email}\n fetchOptions={() =>\n Promise.resolve(pageWithContentAndExactSize([userUser, adminUser]))\n }\n onChange={value => action(`onChange: ${value}`)}\n />\n \n );\n })\n .add('with custom label', () => {\n return (\n
\n \n Best friend\n \n \n \n \n }\n placeholder=\"Please provide your best friend\"\n optionForValue={(user: User) => user.email}\n fetchOptions={() =>\n Promise.resolve(pageWithContentAndExactSize([userUser, adminUser]))\n }\n onChange={value => action(`onChange: ${value}`)}\n />\n \n );\n })\n .add('jarb', () => {\n return (\n \n user.email}\n fetchOptions={() =>\n Promise.resolve(pageWithContentAndExactSize([userUser, adminUser]))\n }\n jarb={{\n validator: 'User.bestFriend',\n label: 'Best friend'\n }}\n />\n \n );\n });\n"),__ADDS_MAP__={"form-typeahead-jarbtypeaheadsingle--jarb":{startLoc:{col:7,line:85},endLoc:{col:3,line:104},startBody:{col:15,line:85},endBody:{col:3,line:104}},"form-typeahead-jarbtypeaheadsingle--with-custom-label":{startLoc:{col:7,line:59},endLoc:{col:3,line:84},startBody:{col:28,line:59},endBody:{col:3,line:84}},"form-typeahead-jarbtypeaheadsingle--without-label":{startLoc:{col:7,line:44},endLoc:{col:3,line:58},startBody:{col:24,line:44},endBody:{col:3,line:58}},"form-typeahead-jarbtypeaheadsingle--without-placeholder":{startLoc:{col:7,line:29},endLoc:{col:3,line:43},startBody:{col:30,line:29},endBody:{col:3,line:43}},"form-typeahead-jarbtypeaheadsingle--basic":{startLoc:{col:7,line:13},endLoc:{col:3,line:28},startBody:{col:16,line:13},endBody:{col:3,line:28}}};Object(_storybook_react__WEBPACK_IMPORTED_MODULE_1__.storiesOf)("Form|Typeahead/JarbTypeaheadSingle",module).addParameters({storySource:{source:__STORY__,locationsMap:__ADDS_MAP__}}).addDecorator(withSourceLoader(__STORY__,__ADDS_MAP__,"/TypeaheadSingle.stories.tsx",[],{},"/Users/gido.manders/projecten/42/ui/src/form/Typeahead/single",{})).add("basic",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_TypeaheadSingle__WEBPACK_IMPORTED_MODULE_6__.b,{id:"bestFriend",label:"Best friend",placeholder:"Please provide your best friend",optionForValue:user=>user.email,fetchOptions:()=>Promise.resolve(Object(_test_utils__WEBPACK_IMPORTED_MODULE_3__.b)([_test_fixtures__WEBPACK_IMPORTED_MODULE_5__.d,_test_fixtures__WEBPACK_IMPORTED_MODULE_5__.a])),onChange:value=>Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)(`onChange: ${value}`)}))).add("without placeholder",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_TypeaheadSingle__WEBPACK_IMPORTED_MODULE_6__.b,{id:"bestFriend",label:"Best friend",optionForValue:user=>user.email,fetchOptions:()=>Promise.resolve(Object(_test_utils__WEBPACK_IMPORTED_MODULE_3__.b)([_test_fixtures__WEBPACK_IMPORTED_MODULE_5__.d,_test_fixtures__WEBPACK_IMPORTED_MODULE_5__.a])),onChange:value=>Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)(`onChange: ${value}`)}))).add("without label",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_TypeaheadSingle__WEBPACK_IMPORTED_MODULE_6__.b,{id:"bestFriend",placeholder:"Please provide your best friend",optionForValue:user=>user.email,fetchOptions:()=>Promise.resolve(Object(_test_utils__WEBPACK_IMPORTED_MODULE_3__.b)([_test_fixtures__WEBPACK_IMPORTED_MODULE_5__.d,_test_fixtures__WEBPACK_IMPORTED_MODULE_5__.a])),onChange:value=>Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)(`onChange: ${value}`)}))).add("with custom label",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_TypeaheadSingle__WEBPACK_IMPORTED_MODULE_6__.b,{id:"bestFriend",label:react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"d-flex justify-content-between"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span",null,"Best friend"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_7__.v,{className:"ml-1",content:"Are you your best friend's best friend?"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_7__.d,{icon:"info"}))),placeholder:"Please provide your best friend",optionForValue:user=>user.email,fetchOptions:()=>Promise.resolve(Object(_test_utils__WEBPACK_IMPORTED_MODULE_3__.b)([_test_fixtures__WEBPACK_IMPORTED_MODULE_5__.d,_test_fixtures__WEBPACK_IMPORTED_MODULE_5__.a])),onChange:value=>Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_2__.action)(`onChange: ${value}`)}))).add("jarb",()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_4__.a,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_TypeaheadSingle__WEBPACK_IMPORTED_MODULE_6__.a,{id:"bestFriend",name:"bestFriend",label:"Best friend",placeholder:"Please provide your best friend",optionForValue:user=>user.email,fetchOptions:()=>Promise.resolve(Object(_test_utils__WEBPACK_IMPORTED_MODULE_3__.b)([_test_fixtures__WEBPACK_IMPORTED_MODULE_5__.d,_test_fixtures__WEBPACK_IMPORTED_MODULE_5__.a])),jarb:{validator:"User.bestFriend",label:"Best friend"}})))}.call(this,__webpack_require__(26)(module))},2326:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),function(module){var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),_storybook_react__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(14),_test_utils__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(34),_test_fixtures__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(12),_ValuePicker__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(105),_story_utils__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(5),_core_Button_Button__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(3),___WEBPACK_IMPORTED_MODULE_7__=__webpack_require__(7),withSourceLoader=__webpack_require__(15).withSource,__SOURCE_PREFIX__=(__webpack_require__(15).addSource,"/Users/gido.manders/projecten/42/ui/src/form/ValuePicker"),__STORY__="import React, { useState } from 'react';\nimport { storiesOf } from '@storybook/react';\n\nimport { pageWithContentAndExactSize, pageWithContent } from '../../test/utils';\nimport { userUser, adminUser, randomUser } from '../../test/fixtures';\nimport { User } from '../../test/types';\n\nimport ValuePicker, { JarbValuePicker } from './ValuePicker';\n\nimport { FinalForm, Form } from '../story-utils';\nimport Button from '../../core/Button/Button';\nimport { Tooltip, Icon } from '../..';\n\nconst small = Promise.resolve(\n pageWithContentAndExactSize([userUser, adminUser])\n);\n\nconst medium = Promise.resolve(\n pageWithContentAndExactSize([\n userUser,\n adminUser,\n randomUser(),\n randomUser(),\n randomUser(),\n randomUser()\n ])\n);\n\nconst large = Promise.resolve(\n pageWithContent([\n userUser,\n adminUser,\n randomUser(),\n randomUser(),\n randomUser(),\n randomUser(),\n randomUser(),\n randomUser(),\n randomUser(),\n randomUser(),\n randomUser(),\n randomUser(),\n randomUser()\n ])\n);\n\nconst sizes = { small, medium, large };\n\nstoriesOf('Form|ValuePicker/multiple', module)\n .addParameters({ component: ValuePicker })\n .add('basic', () => {\n const [value, setValue] = useState(undefined);\n\n const [size, setSize] = useState('small');\n\n const promise = sizes[size];\n\n return (\n
\n \n multiple={true}\n id=\"bestFriend\"\n label=\"Best friend\"\n placeholder=\"Select your best friend\"\n canSearch={true}\n fetchOptions={() => promise}\n optionForValue={(user: User) => user.email}\n value={value}\n onChange={setValue}\n />\n\n

Use these buttons to trigger a morph

\n \n \n \n );\n })\n .add('custom isOptionEqual', () => {\n const [value, setValue] = useState([userUser]);\n\n const [size, setSize] = useState('small');\n\n const promise = sizes[size];\n\n return (\n
\n \n multiple={true}\n id=\"bestFriend\"\n label=\"Best friend\"\n placeholder=\"Select your best friend\"\n canSearch={true}\n fetchOptions={() => promise}\n optionForValue={(user: User) => user.email}\n isOptionEqual={(a: User, b: User) => a.id === b.id}\n value={value}\n onChange={setValue}\n />\n\n

Use these buttons to trigger a morph

\n \n \n \n );\n })\n .add('without label', () => {\n const [value, setValue] = useState(undefined);\n\n const [size, setSize] = useState('small');\n\n const promise = sizes[size];\n\n return (\n
\n \n multiple={true}\n id=\"bestFriend\"\n placeholder=\"Select your best friend\"\n canSearch={true}\n fetchOptions={() => promise}\n optionForValue={(user: User) => user.email}\n value={value}\n onChange={setValue}\n />\n\n

Use these buttons to trigger a morph

\n \n \n \n );\n })\n .add('with custom label', () => {\n const [value, setValue] = useState(undefined);\n\n const [size, setSize] = useState('small');\n\n const promise = sizes[size];\n\n return (\n
\n \n multiple={true}\n id=\"bestFriend\"\n label={\n
\n Best friend\n \n \n \n
\n }\n placeholder=\"Select your best friend\"\n canSearch={true}\n fetchOptions={() => promise}\n optionForValue={(user: User) => user.email}\n value={value}\n onChange={setValue}\n />\n\n

Use these buttons to trigger a morph

\n \n \n \n );\n })\n .add('jarb', () => {\n const [size, setSize] = useState('small');\n\n const promise = sizes[size];\n\n return (\n \n user.email}\n fetchOptions={() => promise}\n jarb={{\n validator: 'Hero.name',\n label: 'Best friend'\n }}\n />\n\n

Use these buttons to trigger a morph

\n \n \n
\n );\n });\n\nstoriesOf('Form|ValuePicker/single', module)\n .addParameters({ component: ValuePicker })\n .add('basic', () => {\n const [value, setValue] = useState(undefined);\n\n const [size, setSize] = useState('small');\n\n const promise = sizes[size];\n\n return (\n
\n \n multiple={false}\n id=\"bestFriend\"\n label=\"Best friend\"\n placeholder=\"Select your best friend\"\n canSearch={true}\n fetchOptions={() => promise}\n optionForValue={(user: User) => user.email}\n value={value}\n onChange={setValue}\n />\n\n

Use these buttons to trigger a morph

\n \n \n \n \n );\n })\n .add('custom isOptionEqual', () => {\n const [value, setValue] = useState(userUser);\n\n const [size, setSize] = useState('small');\n\n const promise = sizes[size];\n\n return (\n
\n \n multiple={false}\n id=\"bestFriend\"\n label=\"Best friend\"\n placeholder=\"Select your best friend\"\n canSearch={true}\n fetchOptions={() => promise}\n optionForValue={(user: User) => user.email}\n isOptionEqual={(a: User, b: User) => a.id === b.id}\n value={value}\n onChange={setValue}\n />\n\n

Use these buttons to trigger a morph

\n \n \n \n \n );\n })\n .add('without label', () => {\n const [value, setValue] = useState(undefined);\n\n const [size, setSize] = useState('small');\n\n const promise = sizes[size];\n\n return (\n
\n \n multiple={false}\n id=\"bestFriend\"\n placeholder=\"Select your best friend\"\n canSearch={true}\n fetchOptions={() => promise}\n optionForValue={(user: User) => user.email}\n value={value}\n onChange={setValue}\n />\n\n

Use these buttons to trigger a morph

\n \n \n \n \n );\n })\n .add('with custom label', () => {\n const [value, setValue] = useState(undefined);\n\n const [size, setSize] = useState('small');\n\n const promise = sizes[size];\n\n return (\n
\n \n multiple={false}\n id=\"bestFriend\"\n label={\n
\n Best friend\n \n \n \n
\n }\n placeholder=\"Select your best friend\"\n canSearch={true}\n fetchOptions={() => promise}\n optionForValue={(user: User) => user.email}\n value={value}\n onChange={setValue}\n />\n\n

Use these buttons to trigger a morph

\n \n \n \n \n );\n })\n .add('jarb', () => {\n const [size, setSize] = useState('small');\n\n const promise = sizes[size];\n\n return (\n \n user.email}\n fetchOptions={() => promise}\n jarb={{\n validator: 'Hero.name',\n label: 'Best friend'\n }}\n />\n

Use these buttons to trigger a morph

\n \n \n \n
\n );\n });\n",__ADDS_MAP__={"form-valuepicker-multiple--jarb":{startLoc:{col:7,line:177},endLoc:{col:3,line:206},startBody:{col:15,line:177},endBody:{col:3,line:206}},"form-valuepicker-multiple--with-custom-label":{startLoc:{col:7,line:138},endLoc:{col:3,line:176},startBody:{col:28,line:138},endBody:{col:3,line:176}},"form-valuepicker-multiple--without-label":{startLoc:{col:7,line:110},endLoc:{col:3,line:137},startBody:{col:24,line:110},endBody:{col:3,line:137}},"form-valuepicker-multiple--custom-isoptionequal":{startLoc:{col:7,line:80},endLoc:{col:3,line:109},startBody:{col:31,line:80},endBody:{col:3,line:109}},"form-valuepicker-multiple--basic":{startLoc:{col:7,line:51},endLoc:{col:3,line:79},startBody:{col:16,line:51},endBody:{col:3,line:79}},"form-valuepicker-single--jarb":{startLoc:{col:7,line:348},endLoc:{col:3,line:379},startBody:{col:15,line:348},endBody:{col:3,line:379}},"form-valuepicker-single--with-custom-label":{startLoc:{col:7,line:306},endLoc:{col:3,line:347},startBody:{col:28,line:306},endBody:{col:3,line:347}},"form-valuepicker-single--without-label":{startLoc:{col:7,line:275},endLoc:{col:3,line:305},startBody:{col:24,line:275},endBody:{col:3,line:305}},"form-valuepicker-single--custom-isoptionequal":{startLoc:{col:7,line:242},endLoc:{col:3,line:274},startBody:{col:31,line:242},endBody:{col:3,line:274}},"form-valuepicker-single--basic":{startLoc:{col:7,line:210},endLoc:{col:3,line:241},startBody:{col:16,line:210},endBody:{col:3,line:241}}},__MODULE_DEPENDENCIES__=[],__LOCAL_DEPENDENCIES__={},__IDS_TO_FRAMEWORKS__={};const sizes={small:Promise.resolve(Object(_test_utils__WEBPACK_IMPORTED_MODULE_2__.b)([_test_fixtures__WEBPACK_IMPORTED_MODULE_3__.d,_test_fixtures__WEBPACK_IMPORTED_MODULE_3__.a])),medium:Promise.resolve(Object(_test_utils__WEBPACK_IMPORTED_MODULE_2__.b)([_test_fixtures__WEBPACK_IMPORTED_MODULE_3__.d,_test_fixtures__WEBPACK_IMPORTED_MODULE_3__.a,Object(_test_fixtures__WEBPACK_IMPORTED_MODULE_3__.c)(),Object(_test_fixtures__WEBPACK_IMPORTED_MODULE_3__.c)(),Object(_test_fixtures__WEBPACK_IMPORTED_MODULE_3__.c)(),Object(_test_fixtures__WEBPACK_IMPORTED_MODULE_3__.c)()])),large:Promise.resolve(Object(_test_utils__WEBPACK_IMPORTED_MODULE_2__.a)([_test_fixtures__WEBPACK_IMPORTED_MODULE_3__.d,_test_fixtures__WEBPACK_IMPORTED_MODULE_3__.a,Object(_test_fixtures__WEBPACK_IMPORTED_MODULE_3__.c)(),Object(_test_fixtures__WEBPACK_IMPORTED_MODULE_3__.c)(),Object(_test_fixtures__WEBPACK_IMPORTED_MODULE_3__.c)(),Object(_test_fixtures__WEBPACK_IMPORTED_MODULE_3__.c)(),Object(_test_fixtures__WEBPACK_IMPORTED_MODULE_3__.c)(),Object(_test_fixtures__WEBPACK_IMPORTED_MODULE_3__.c)(),Object(_test_fixtures__WEBPACK_IMPORTED_MODULE_3__.c)(),Object(_test_fixtures__WEBPACK_IMPORTED_MODULE_3__.c)(),Object(_test_fixtures__WEBPACK_IMPORTED_MODULE_3__.c)(),Object(_test_fixtures__WEBPACK_IMPORTED_MODULE_3__.c)(),Object(_test_fixtures__WEBPACK_IMPORTED_MODULE_3__.c)()]))};Object(_storybook_react__WEBPACK_IMPORTED_MODULE_1__.storiesOf)("Form|ValuePicker/multiple",module).addParameters({storySource:{source:__STORY__,locationsMap:__ADDS_MAP__}}).addDecorator(withSourceLoader(__STORY__,__ADDS_MAP__,"/ValuePicker.stories.tsx",__MODULE_DEPENDENCIES__,__LOCAL_DEPENDENCIES__,__SOURCE_PREFIX__,__IDS_TO_FRAMEWORKS__)).addParameters({component:_ValuePicker__WEBPACK_IMPORTED_MODULE_4__.b}).add("basic",()=>{const[value,setValue]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(void 0),[size,setSize]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)("small"),promise=sizes[size];return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_5__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ValuePicker__WEBPACK_IMPORTED_MODULE_4__.b,{multiple:!0,id:"bestFriend",label:"Best friend",placeholder:"Select your best friend",canSearch:!0,fetchOptions:()=>promise,optionForValue:user=>user.email,value:value,onChange:setValue}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p",null,"Use these buttons to trigger a morph"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_Button_Button__WEBPACK_IMPORTED_MODULE_6__.a,{className:"mx-2",onClick:()=>setSize("small")},"Small"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_Button_Button__WEBPACK_IMPORTED_MODULE_6__.a,{onClick:()=>setSize("large")},"Large"))}).add("custom isOptionEqual",()=>{const[value,setValue]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)([_test_fixtures__WEBPACK_IMPORTED_MODULE_3__.d]),[size,setSize]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)("small"),promise=sizes[size];return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_5__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ValuePicker__WEBPACK_IMPORTED_MODULE_4__.b,{multiple:!0,id:"bestFriend",label:"Best friend",placeholder:"Select your best friend",canSearch:!0,fetchOptions:()=>promise,optionForValue:user=>user.email,isOptionEqual:(a,b)=>a.id===b.id,value:value,onChange:setValue}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p",null,"Use these buttons to trigger a morph"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_Button_Button__WEBPACK_IMPORTED_MODULE_6__.a,{className:"mx-2",onClick:()=>setSize("small")},"Small"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_Button_Button__WEBPACK_IMPORTED_MODULE_6__.a,{onClick:()=>setSize("large")},"Large"))}).add("without label",()=>{const[value,setValue]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(void 0),[size,setSize]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)("small"),promise=sizes[size];return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_5__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ValuePicker__WEBPACK_IMPORTED_MODULE_4__.b,{multiple:!0,id:"bestFriend",placeholder:"Select your best friend",canSearch:!0,fetchOptions:()=>promise,optionForValue:user=>user.email,value:value,onChange:setValue}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p",null,"Use these buttons to trigger a morph"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_Button_Button__WEBPACK_IMPORTED_MODULE_6__.a,{className:"mx-2",onClick:()=>setSize("small")},"Small"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_Button_Button__WEBPACK_IMPORTED_MODULE_6__.a,{onClick:()=>setSize("large")},"Large"))}).add("with custom label",()=>{const[value,setValue]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(void 0),[size,setSize]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)("small"),promise=sizes[size];return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_5__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ValuePicker__WEBPACK_IMPORTED_MODULE_4__.b,{multiple:!0,id:"bestFriend",label:react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"d-flex justify-content-between"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span",null,"Best friend"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_7__.v,{className:"ml-1",content:"Don't be jealous of your best friends wife"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_7__.d,{icon:"info"}))),placeholder:"Select your best friend",canSearch:!0,fetchOptions:()=>promise,optionForValue:user=>user.email,value:value,onChange:setValue}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p",null,"Use these buttons to trigger a morph"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_Button_Button__WEBPACK_IMPORTED_MODULE_6__.a,{className:"mx-2",onClick:()=>setSize("small")},"Small"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_Button_Button__WEBPACK_IMPORTED_MODULE_6__.a,{onClick:()=>setSize("large")},"Large"))}).add("jarb",()=>{const[size,setSize]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)("small"),promise=sizes[size];return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_5__.a,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ValuePicker__WEBPACK_IMPORTED_MODULE_4__.a,{multiple:!0,id:"bestFriend",name:"bestFriend",label:"Best friend",placeholder:"Select your best friend",canSearch:!0,optionForValue:user=>user.email,fetchOptions:()=>promise,jarb:{validator:"Hero.name",label:"Best friend"}}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p",null,"Use these buttons to trigger a morph"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_Button_Button__WEBPACK_IMPORTED_MODULE_6__.a,{className:"mx-2",onClick:()=>setSize("small")},"Small"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_Button_Button__WEBPACK_IMPORTED_MODULE_6__.a,{onClick:()=>setSize("large")},"Large"))}),Object(_storybook_react__WEBPACK_IMPORTED_MODULE_1__.storiesOf)("Form|ValuePicker/single",module).addParameters({storySource:{source:__STORY__,locationsMap:__ADDS_MAP__}}).addDecorator(withSourceLoader(__STORY__,__ADDS_MAP__,"/ValuePicker.stories.tsx",__MODULE_DEPENDENCIES__,__LOCAL_DEPENDENCIES__,__SOURCE_PREFIX__,__IDS_TO_FRAMEWORKS__)).addParameters({component:_ValuePicker__WEBPACK_IMPORTED_MODULE_4__.b}).add("basic",()=>{const[value,setValue]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(void 0),[size,setSize]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)("small"),promise=sizes[size];return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_5__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ValuePicker__WEBPACK_IMPORTED_MODULE_4__.b,{multiple:!1,id:"bestFriend",label:"Best friend",placeholder:"Select your best friend",canSearch:!0,fetchOptions:()=>promise,optionForValue:user=>user.email,value:value,onChange:setValue}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p",null,"Use these buttons to trigger a morph"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_Button_Button__WEBPACK_IMPORTED_MODULE_6__.a,{className:"mr-1",onClick:()=>setSize("small")},"Small"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_Button_Button__WEBPACK_IMPORTED_MODULE_6__.a,{className:"mr-1",onClick:()=>setSize("medium")},"Medium"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_Button_Button__WEBPACK_IMPORTED_MODULE_6__.a,{onClick:()=>setSize("large")},"Large"))}).add("custom isOptionEqual",()=>{const[value,setValue]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(_test_fixtures__WEBPACK_IMPORTED_MODULE_3__.d),[size,setSize]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)("small"),promise=sizes[size];return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_5__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ValuePicker__WEBPACK_IMPORTED_MODULE_4__.b,{multiple:!1,id:"bestFriend",label:"Best friend",placeholder:"Select your best friend",canSearch:!0,fetchOptions:()=>promise,optionForValue:user=>user.email,isOptionEqual:(a,b)=>a.id===b.id,value:value,onChange:setValue}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p",null,"Use these buttons to trigger a morph"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_Button_Button__WEBPACK_IMPORTED_MODULE_6__.a,{className:"mr-1",onClick:()=>setSize("small")},"Small"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_Button_Button__WEBPACK_IMPORTED_MODULE_6__.a,{className:"mr-1",onClick:()=>setSize("medium")},"Medium"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_Button_Button__WEBPACK_IMPORTED_MODULE_6__.a,{onClick:()=>setSize("large")},"Large"))}).add("without label",()=>{const[value,setValue]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(void 0),[size,setSize]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)("small"),promise=sizes[size];return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_5__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ValuePicker__WEBPACK_IMPORTED_MODULE_4__.b,{multiple:!1,id:"bestFriend",placeholder:"Select your best friend",canSearch:!0,fetchOptions:()=>promise,optionForValue:user=>user.email,value:value,onChange:setValue}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p",null,"Use these buttons to trigger a morph"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_Button_Button__WEBPACK_IMPORTED_MODULE_6__.a,{className:"mr-1",onClick:()=>setSize("small")},"Small"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_Button_Button__WEBPACK_IMPORTED_MODULE_6__.a,{className:"mr-1",onClick:()=>setSize("medium")},"Medium"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_Button_Button__WEBPACK_IMPORTED_MODULE_6__.a,{onClick:()=>setSize("large")},"Large"))}).add("with custom label",()=>{const[value,setValue]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(void 0),[size,setSize]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)("small"),promise=sizes[size];return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_5__.b,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ValuePicker__WEBPACK_IMPORTED_MODULE_4__.b,{multiple:!1,id:"bestFriend",label:react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"d-flex justify-content-between"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span",null,"Best friend"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_7__.v,{className:"ml-1",content:"Don't be jealous of your best friends wife"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(___WEBPACK_IMPORTED_MODULE_7__.d,{icon:"info"}))),placeholder:"Select your best friend",canSearch:!0,fetchOptions:()=>promise,optionForValue:user=>user.email,value:value,onChange:setValue}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p",null,"Use these buttons to trigger a morph"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_Button_Button__WEBPACK_IMPORTED_MODULE_6__.a,{className:"mr-1",onClick:()=>setSize("small")},"Small"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_Button_Button__WEBPACK_IMPORTED_MODULE_6__.a,{className:"mr-1",onClick:()=>setSize("medium")},"Medium"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_Button_Button__WEBPACK_IMPORTED_MODULE_6__.a,{onClick:()=>setSize("large")},"Large"))}).add("jarb",()=>{const[size,setSize]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)("small"),promise=sizes[size];return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_story_utils__WEBPACK_IMPORTED_MODULE_5__.a,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ValuePicker__WEBPACK_IMPORTED_MODULE_4__.a,{multiple:!1,id:"bestFriend",name:"bestFriend",label:"Best friend",placeholder:"Select your best friend",canSearch:!0,optionForValue:user=>user.email,fetchOptions:()=>promise,jarb:{validator:"Hero.name",label:"Best friend"}}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p",null,"Use these buttons to trigger a morph"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_Button_Button__WEBPACK_IMPORTED_MODULE_6__.a,{className:"mr-1",onClick:()=>setSize("small")},"Small"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_Button_Button__WEBPACK_IMPORTED_MODULE_6__.a,{className:"mr-1",onClick:()=>setSize("medium")},"Medium"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_Button_Button__WEBPACK_IMPORTED_MODULE_6__.a,{onClick:()=>setSize("large")},"Large"))})}.call(this,__webpack_require__(26)(module))},2327:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),function(module){var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),_storybook_react__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(14),reactstrap__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(23),reactstrap__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(71),reactstrap__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(43),reactstrap__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(17),reactstrap__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(238),lodash__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__(16),_EpicTable__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__(67),_rows_EpicRow_EpicRow__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__(35),_cells_EpicHeader_EpicHeader__WEBPACK_IMPORTED_MODULE_10__=__webpack_require__(4),_cells_EpicCell_EpicCell__WEBPACK_IMPORTED_MODULE_11__=__webpack_require__(6),_rows_EpicExpanderRow_EpicExpanderRow__WEBPACK_IMPORTED_MODULE_12__=__webpack_require__(233),_cells_EpicCellLayout_EpicCellLayout__WEBPACK_IMPORTED_MODULE_13__=__webpack_require__(60),_widgets_EpicExpander_EpicExpander__WEBPACK_IMPORTED_MODULE_14__=__webpack_require__(355),_rows_EpicDetailRow_EpicDetailRow__WEBPACK_IMPORTED_MODULE_15__=__webpack_require__(174),_widgets_EpicDetail_EpicDetail__WEBPACK_IMPORTED_MODULE_16__=__webpack_require__(215),_widgets_EpicSelection_EpicSelection__WEBPACK_IMPORTED_MODULE_17__=__webpack_require__(216),_widgets_EpicSort_EpicSort__WEBPACK_IMPORTED_MODULE_18__=__webpack_require__(111),___WEBPACK_IMPORTED_MODULE_19__=__webpack_require__(7),moment__WEBPACK_IMPORTED_MODULE_20__=__webpack_require__(9),moment__WEBPACK_IMPORTED_MODULE_20___default=__webpack_require__.n(moment__WEBPACK_IMPORTED_MODULE_20__),_core_MoreOrLess_MoreOrLess__WEBPACK_IMPORTED_MODULE_21__=__webpack_require__(210),withSourceLoader=__webpack_require__(15).withSource,__STORY__=(__webpack_require__(15).addSource,"import React, { Fragment, useEffect, useState } from 'react';\nimport { storiesOf } from '@storybook/react';\nimport { Alert, Card, Col, Input, Row } from 'reactstrap';\nimport { every, groupBy, lowerCase, startsWith } from 'lodash';\n\nimport { EpicTable } from './EpicTable';\nimport { EpicRow } from './rows/EpicRow/EpicRow';\nimport { EpicHeader } from './cells/EpicHeader/EpicHeader';\nimport { EpicCell } from './cells/EpicCell/EpicCell';\nimport { EpicExpanderRow } from './rows/EpicExpanderRow/EpicExpanderRow';\nimport { EpicCellLayout } from './cells/EpicCellLayout/EpicCellLayout';\n\nimport { EpicExpander } from './widgets/EpicExpander/EpicExpander';\nimport { EpicDetailRow } from './rows/EpicDetailRow/EpicDetailRow';\nimport { EpicDetail } from './widgets/EpicDetail/EpicDetail';\nimport { EpicSelection } from './widgets/EpicSelection/EpicSelection';\nimport { EpicSort } from './widgets/EpicSort/EpicSort';\n\nimport { Direction } from './types';\nimport {\n Button,\n ContentState,\n ContentStateMode,\n DateTimeInput,\n pageOf,\n Pagination,\n Tag\n} from '../..';\nimport moment from 'moment';\nimport MoreOrLess from '../../core/MoreOrLess/MoreOrLess';\n\nstoriesOf('table|EpicTable', module)\n .addParameters({ component: EpicTable })\n .add('full example', () => {\n const [widths, setWidths] = useState(() => ({\n firstName: 300,\n lastName: 200,\n age: 200,\n eyeColor: 200,\n height: 150,\n weight: 150,\n jobTitle: 200,\n favoriteMovie: 300,\n favoriteFood: 200,\n dateOfBirth: 200,\n sex: 200,\n actions: 300\n }));\n\n function changeSize(name: keyof Person, width: number) {\n setWidths(widths => ({ ...widths, [name]: width }));\n }\n\n const [filters, setFilters] = useState(() => ({\n firstName: '',\n lastName: '',\n age: '',\n eyeColor: '',\n height: '',\n weight: '',\n jobTitle: '',\n favoriteMovie: '',\n favoriteFood: '',\n dateOfBirth: '',\n sex: ''\n }));\n\n function filterChanged(name: keyof Person, value: string) {\n setFilters({ ...filters, [name]: value });\n }\n\n const filteredPersons = persons.filter(person => {\n return every(filters, (value, key) => {\n const text = person[key];\n\n if (!value || value === 'all') {\n return true;\n }\n\n return startsWith(lowerCase(text), lowerCase(value));\n });\n });\n\n const [sort, setSort] = useState<{\n direction: Direction;\n column: string;\n }>({ direction: 'NONE', column: 'firstName' });\n\n function changeSort(column: keyof Person, direction: Direction) {\n setPage(1);\n setSort({ direction, column });\n }\n\n const sortFn =\n sort.direction === 'ASC'\n ? (a, b) => `${a[sort.column]}`.localeCompare(`${b[sort.column]}`)\n : (a, b) => `${b[sort.column]}`.localeCompare(`${a[sort.column]}`);\n\n const sortedPersons = filteredPersons.sort(sortFn);\n\n const [page, setPage] = useState(1);\n\n const pageOfPersons = pageOf(sortedPersons, page, 20);\n\n const [selected, setSelected] = useState([]);\n\n function onSelect(person: Person, checked: boolean) {\n if (checked) {\n selected.push(person);\n setSelected([...selected]);\n } else {\n const nextSelected = selected.filter(p => p.id !== person.id);\n\n setSelected(nextSelected);\n }\n }\n\n const allPersonsSelected =\n selected.length > 0 &&\n pageOfPersons.content.every(p => selected.some(ps => ps.id === p.id));\n\n function selectAllClicked(checked: boolean) {\n if (checked) {\n pageOfPersons.content.forEach(p => {\n if (selected.every(ps => p.id !== ps.id)) {\n selected.push(p);\n }\n\n setSelected([...selected]);\n });\n } else {\n setSelected([]);\n }\n }\n\n const [detail, setDetail] = useState(-1);\n\n const [loading, setLoading] = useState(false);\n\n useEffect(() => {\n setLoading(true);\n\n setTimeout(() => {\n setLoading(false);\n }, 1000);\n }, []);\n\n return (\n \n {selected.length > 0 ? (\n <>\n

Selected

\n
\n {selected.map(person => (\n onSelect(person, false)}\n />\n ))}\n
\n \n ) : null}\n\n \n ) : pageOfPersons.totalElements === 0 ? (\n \n ) : null\n }\n >\n \n changeSize('firstName', width)}\n >\n \n \n selectAllClicked(checked)}\n >\n First name\n \n\n changeSort('firstName', direction)}\n />\n \n {\n event.preventDefault();\n filterChanged('firstName', event.target.value);\n }}\n />\n \n \n changeSize('lastName', width)}\n >\n \n \n Last name\n changeSort('lastName', direction)}\n />\n \n \n filterChanged('lastName', event.target.value)\n }\n />\n \n \n changeSize('age', width)}\n >\n \n \n Age\n changeSort('age', direction)}\n />\n \n filterChanged('age', event.target.value)}\n />\n \n \n changeSize('eyeColor', width)}\n >\n \n \n Eye color\n changeSort('eyeColor', direction)}\n />\n \n \n filterChanged('eyeColor', event.target.value)\n }\n >\n \n \n \n \n \n \n \n changeSize('height', width)}\n >\n \n \n Height\n changeSort('height', direction)}\n />\n \n \n filterChanged('height', event.target.value)\n }\n />\n \n \n changeSize('weight', width)}\n >\n \n \n Weight\n changeSort('weight', direction)}\n />\n \n \n filterChanged('weight', event.target.value)\n }\n />\n \n \n changeSize('jobTitle', width)}\n >\n \n \n Job title\n changeSort('jobTitle', direction)}\n />\n \n \n filterChanged('jobTitle', event.target.value)\n }\n />\n \n \n changeSize('favoriteMovie', width)}\n >\n \n \n Favorite movie\n \n changeSort('favoriteMovie', direction)\n }\n />\n \n \n \n \n changeSize('favoriteFood', width)}\n >\n \n \n Favorite food\n \n changeSort('favoriteFood', direction)\n }\n />\n \n \n filterChanged('favoriteFood', event.target.value)\n }\n />\n \n \n changeSize('dateOfBirth', width)}\n >\n \n \n Birth date\n changeSort('dateOfBirth', direction)}\n />\n \n\n \n filterChanged(\n 'dateOfBirth',\n date ? moment(date).format('YYYY-MM-DD') : ''\n )\n }\n />\n \n \n changeSize('sex', width)}\n >\n \n
\n Sex\n changeSort('sex', direction)}\n />\n
\n filterChanged('sex', event.target.value)}\n >\n \n \n \n \n
\n \n \n
Actions
\n
\n
\n\n {pageOfPersons.content.map((person, index) => (\n \n \n \n p.id === person.id)}\n onChange={checked => onSelect(person, checked)}\n />\n\n setDetail(index)}\n >\n {person.firstName}\n \n \n \n {person.lastName}\n \n \n {person.age}\n \n \n {person.eyeColor}\n \n \n {person.height}\n \n \n {person.weight}\n \n \n {person.jobTitle}\n \n \n {person.favoriteMovie}\n \n \n {person.favoriteFood}\n \n \n {person.dateOfBirth}\n \n \n {person.sex}\n \n \n \n \n \n \n\n setDetail(true)}\n >\n Show detail\n \n \n\n \n }\n >\n \n \n First name\n \n \n Last name\n \n \n Age\n \n \n Eye color\n \n \n Height\n \n \n Weight\n \n \n Job title\n \n \n Favorite movie\n \n \n Favorite food\n \n \n Birth date\n \n \n Sex\n \n \n Actions\n \n \n \n {() => (\n setDetail(false)}>\n

Details

\n\n

\n Details should be shown over the overlay. This allows the user\n to create items when the table is still empty.\n

\n
\n )}\n
\n \n
\n );\n })\n .add('with sort', () => {\n const [direction, setDirection] = useState('NONE');\n\n const sortFn =\n direction === 'ASC'\n ? (a, b) => a.firstName.localeCompare(b.firstName)\n : (a, b) => b.firstName.localeCompare(a.firstName);\n\n const sortedPersons = persons.sort(sortFn);\n\n return (\n \n \n \n \n
\n First name\n \n
\n
\n \n Last name\n \n \n Age\n \n \n Eye color\n \n \n Height\n \n \n Weight\n \n \n Job title\n \n \n Favorite movie\n \n \n Favorite food\n \n \n Birth date\n \n \n Sex\n \n \n Actions\n \n
\n\n {sortedPersons.map(person => (\n \n \n {person.firstName}\n \n \n {person.lastName}\n \n \n {person.age}\n \n \n {person.eyeColor}\n \n \n {person.height}\n \n \n {person.weight}\n \n \n {person.jobTitle}\n \n \n {person.favoriteMovie}\n \n \n {person.favoriteFood}\n \n \n {person.dateOfBirth}\n \n \n {person.sex}\n \n \n \n {person.id !== newPerson.id ? (\n deletePerson(person)}\n icon=\"delete\"\n color=\"danger\"\n dialogText={`Are you sure you want to delete ${person.firstName} ${person.lastName}?`}\n >\n Delete\n \n ) : null}\n \n )}\n \n \n setDirty(formState.pristine)}\n />\n \n \n \n\n \n \n \n\n \n \n \n\n \n option}\n jarb={{\n validator: 'Person.eyeColor',\n label: 'Eye color'\n }}\n errorMode=\"tooltip\"\n />\n \n\n \n \n \n\n \n \n \n\n \n \n \n\n \n option.name}\n fetchOptions={(query, page, size) =>\n Promise.resolve(\n pageOf(\n movies\n .filter(\n movie =>\n query.length === 0 ||\n movie.name.indexOf(query) > 0\n )\n .slice((page - 1) * size, size),\n page,\n size\n )\n )\n }\n errorMode=\"tooltip\"\n alignButton=\"right\"\n />\n \n\n \n \n \n\n \n \n \n\n \n option}\n horizontal={true}\n jarb={{\n validator: 'Person.sex',\n label: 'Sex'\n }}\n errorMode=\"tooltip\"\n />\n \n \n \n ) : (\n \n \n {loading && loading.id === person.id ? (\n \n ) : (\n <>\n {editingPerson ? (\n setEditingPerson(person)}\n icon=\"edit\"\n color=\"primary\"\n className=\"mr-1\"\n dialogText={`All progress on ${editingPerson.firstName} will be lost. Are you sure you want to edit ${person.firstName}?`}\n >\n Edit\n \n ) : (\n setEditingPerson(person)}\n icon=\"edit\"\n color=\"primary\"\n className=\"mr-1\"\n >\n Edit\n \n )}\n deletePerson(person)}\n icon=\"cancel\"\n color=\"danger\"\n dialogText={`Are you sure you want to delete ${person.firstName} ${person.lastName}?`}\n >\n Delete\n \n \n )}\n \n\n \n {person.firstName}\n \n\n \n {person.lastName}\n \n\n \n {person.age}\n \n\n \n {person.eyeColor}\n \n\n \n {person.height}\n \n\n \n {person.weight}\n \n\n \n {person.jobTitle}\n \n\n \n {person.favoriteMovie?.name}\n \n\n \n {person.favoriteFood}\n \n\n \n {person.birthDate?.toLocaleDateString()}\n \n\n \n {person.sex}\n \n \n )\n )}\n
\n\n
\n \n {newPage ? (\n setNewPage(undefined)}\n onSave={() => {\n setPage(newPage);\n setNewPage(undefined);\n }}\n text={{ save: 'Confirm' }}\n >\n All your changes will be lost if you navigate to another page. Are\n you sure you want to go to page {newPage} and loose all your\n progress?\n \n ) : null}\n
\n
\n );\n })\n .add('instant edit', () => {\n const [newPerson] = useState({\n id: Math.random(),\n firstName: '',\n lastName: '',\n age: 0,\n eyeColor: '',\n height: 0,\n weight: 0,\n jobTitle: '',\n favoriteMovie: undefined,\n favoriteFood: '',\n birthDate: undefined,\n sex: ''\n });\n\n const [page, setPage] = useState(1);\n const [personsList, setPersonsList] = useState(persons);\n const [pageOfPersons, setPageOfPersons] = useState>(\n emptyPage()\n );\n const [loading, setLoading] = useState();\n const [dirtyPersons, setDirtyPersons] = useState<{ [id: number]: boolean }>(\n {}\n );\n const [flashMessage, setFlashMessage] = useState();\n\n useEffect(() => {\n const p = pageOf(personsList, page, 10);\n p.content.push({ ...newPerson });\n setDirtyPersons({});\n setPageOfPersons(p);\n }, [personsList, newPerson, page]);\n\n useEffect(() => {\n const timeout = window.setTimeout(() => setFlashMessage(undefined), 5000);\n return () => {\n window.clearTimeout(timeout);\n };\n }, [flashMessage]);\n\n async function onSubmit(data: Person) {\n setLoading(data);\n await sleep(random(200, 1000));\n const person = { ...data };\n if (data.id === newPerson.id) {\n person.id = Math.random();\n setPersonsList([...personsList, person]);\n } else {\n setPersonsList(\n personsList.map(p => {\n return p.id === person.id ? person : p;\n })\n );\n }\n setFlashMessage('Person saved successfully!');\n setLoading(undefined);\n }\n\n async function deletePerson(person: Person) {\n setLoading(person);\n await sleep(random(200, 1000));\n setPersonsList(personsList.filter(p => p.id !== person.id));\n setLoading(undefined);\n setFlashMessage('Person deleted successfully!');\n }\n\n function setPersonDirty(isPristine: boolean, person: Person) {\n if (!isPristine) {\n if (!dirtyPersons[person.id]) {\n setDirtyPersons({ ...dirtyPersons, [person.id]: true });\n }\n } else if (dirtyPersons[person.id]) {\n setDirtyPersons({ ...dirtyPersons, [person.id]: false });\n }\n }\n\n return (\n \n {flashMessage ? (\n setFlashMessage(undefined)}\n color=\"success\"\n >\n {flashMessage}\n \n ) : null}\n \n \n \n Actions\n \n \n First name\n \n \n Last name\n \n \n Age\n \n \n Eye color\n \n \n Height\n \n \n Weight\n \n \n Job title\n \n \n Favorite movie\n \n \n Favorite food\n \n \n Birth date\n \n \n Sex\n \n \n {pageOfPersons.content.map(person => (\n \n \n {loading && loading.id === person.id ? (\n \n ) : (\n <>\n {person.id !== newPerson.id ? (\n deletePerson(person)}\n icon=\"delete\"\n color=\"danger\"\n dialogText={`Are you sure you want to delete ${person.firstName} ${person.lastName}?`}\n >\n Delete\n \n ) : null}\n \n )}\n \n \n \n setPersonDirty(formState.pristine, person)\n }\n />\n \n \n \n\n \n \n \n\n \n \n \n\n \n option}\n jarb={{\n validator: 'Person.eyeColor',\n label: 'Eye color'\n }}\n errorMode=\"tooltip\"\n />\n \n\n \n \n \n\n \n \n \n\n \n \n \n\n \n option.name}\n fetchOptions={(query, page, size) =>\n Promise.resolve(\n pageOf(\n movies\n .filter(\n movie =>\n query.length === 0 ||\n movie.name.indexOf(query) > 0\n )\n .slice((page - 1) * size, size),\n page,\n size\n )\n )\n }\n errorMode=\"tooltip\"\n alignButton=\"right\"\n />\n \n\n \n \n \n\n \n \n \n\n \n option}\n horizontal={true}\n jarb={{\n validator: 'Person.sex',\n label: 'Sex'\n }}\n errorMode=\"tooltip\"\n />\n \n \n \n ))}\n \n\n
\n \n
\n
\n );\n });\n\ninterface Person {\n id: number;\n firstName: string;\n lastName: string;\n age: number;\n eyeColor: string;\n height: number;\n weight: number;\n jobTitle: string;\n favoriteMovie?: { name: string };\n favoriteFood: string;\n birthDate?: Date;\n sex: string;\n}\n\nconst persons: Person[] = [\n {\n id: Math.random(),\n firstName: 'Fitzpatrick',\n lastName: 'Lyons',\n age: 20,\n eyeColor: 'brown',\n height: 10,\n weight: 3,\n jobTitle: 'Senior CodeMonkey',\n favoriteMovie: { name: 'The Matrix' },\n favoriteFood: 'Hamburgers',\n birthDate: new Date('2014-09-24'),\n sex: 'male'\n },\n {\n id: Math.random(),\n firstName: 'Berry',\n lastName: 'McNab',\n age: 41,\n eyeColor: 'blue',\n height: 13,\n weight: 55,\n jobTitle: 'Business Manager',\n favoriteMovie: { name: 'Fear and loathing in Las Vegas' },\n favoriteFood: 'Spaghetti',\n birthDate: new Date('2000-09-24'),\n sex: 'female'\n },\n {\n id: Math.random(),\n firstName: 'Neville',\n lastName: 'Brooks',\n age: 25,\n eyeColor: 'green',\n height: 12,\n weight: 32,\n jobTitle: 'Senior CodeMonkey',\n favoriteMovie: { name: 'Lord of the Rings' },\n favoriteFood: 'French Fries',\n birthDate: new Date('2014-09-24'),\n sex: 'male'\n },\n {\n id: Math.random(),\n firstName: 'Leonard',\n lastName: 'Nemoy',\n age: 50,\n eyeColor: 'brown',\n height: 10,\n weight: 3,\n jobTitle: 'Thespian',\n favoriteMovie: { name: 'Star Trek' },\n favoriteFood: 'Kosher',\n birthDate: new Date('1900-09-24'),\n sex: 'male'\n },\n {\n id: Math.random(),\n firstName: 'Levi',\n lastName: 'Smith',\n age: 30,\n eyeColor: 'brown',\n height: 10,\n weight: 3,\n jobTitle: 'Taxi driver',\n favoriteMovie: { name: 'Taxi' },\n favoriteFood:\n 'Lorem ipsum dolor sit amet consectetur adipisicing elit. Corporis, at nam alias ad culpa quae deleniti. Autem eveniet mollitia veritatis reprehenderit ea, tempora vero voluptatem. Dolore repudiandae voluptate quam quidem.,',\n birthDate: new Date('2014-09-24'),\n sex: 'male'\n },\n {\n id: Math.random(),\n firstName: 'Celine',\n lastName: 'Ferdinand',\n age: 80,\n eyeColor: 'green',\n height: 3,\n weight: 5,\n jobTitle: 'Retired',\n favoriteMovie: { name: 'Driving miss Daisy' },\n favoriteFood: 'Prunes',\n birthDate: new Date('1940-09-24'),\n sex: 'female'\n },\n {\n id: Math.random(),\n firstName: 'Bonald',\n lastName: 'Ferdinand',\n age: 82,\n eyeColor: 'blue',\n height: 3,\n weight: 5,\n jobTitle: 'Retired',\n favoriteMovie: { name: 'Driving miss Daisy' },\n favoriteFood: 'Prunes',\n birthDate: new Date('1938-09-24'),\n sex: 'male'\n },\n {\n id: Math.random(),\n firstName: 'Zechs',\n lastName: 'Merquise',\n age: 42,\n eyeColor: 'blue',\n height: 3,\n weight: 5,\n jobTitle: 'Ace pilot',\n favoriteMovie: { name: 'Gundam wing' },\n favoriteFood: 'Applepie',\n birthDate: new Date('2010-09-24'),\n sex: 'male'\n },\n {\n id: Math.random(),\n firstName: 'David',\n lastName: 'Hayter',\n age: 55,\n eyeColor: 'blue',\n height: 3,\n weight: 5,\n jobTitle: 'Voice actor',\n favoriteMovie: { name: 'Guyver' },\n favoriteFood: 'Snakes',\n birthDate: new Date('1960-09-24'),\n sex: 'male'\n },\n {\n id: Math.random(),\n firstName: 'James',\n lastName: 'Kirk',\n age: 50,\n eyeColor: 'brown',\n height: 3,\n weight: 5,\n jobTitle: 'Captian',\n favoriteMovie: { name: 'Star Trek' },\n favoriteFood: 'Replicated',\n birthDate: new Date('2100-09-24'),\n sex: 'male'\n },\n {\n id: Math.random(),\n firstName: 'Bert',\n lastName: 'Kelly',\n age: 30,\n eyeColor: 'blue',\n height: 3,\n weight: 5,\n jobTitle: 'Blacksmith',\n favoriteMovie: { name: 'Not without my daughter' },\n favoriteFood: 'Pears',\n birthDate: new Date('1989-09-24'),\n sex: 'male'\n },\n {\n id: Math.random(),\n firstName: 'John',\n lastName: 'Goodall',\n age: 68,\n eyeColor: 'green',\n height: 3,\n weight: 5,\n jobTitle: 'Gardner',\n favoriteMovie: { name: 'The Gardner' },\n favoriteFood: 'Cauliflower',\n birthDate: new Date('2019-09-24'),\n sex: 'male'\n },\n {\n id: Math.random(),\n firstName: 'Rick',\n lastName: 'Xander',\n age: 14,\n eyeColor: 'brown',\n height: 3,\n weight: 5,\n jobTitle: 'Baker',\n favoriteMovie: { name: 'Halloween' },\n favoriteFood: 'Cake',\n birthDate: new Date('1980-09-24'),\n sex: 'male'\n },\n {\n id: Math.random(),\n firstName: 'Jessica',\n lastName: 'Bernard',\n age: 36,\n eyeColor: 'green',\n height: 3,\n weight: 5,\n jobTitle: 'Student',\n favoriteMovie: { name: 'Highlander' },\n favoriteFood: 'Icecream',\n birthDate: new Date('1980-09-24'),\n sex: 'female'\n },\n {\n id: Math.random(),\n firstName: 'Benjamin',\n lastName: 'Sisko',\n age: 55,\n eyeColor: 'brown',\n height: 3,\n weight: 5,\n jobTitle: 'Commander',\n favoriteMovie: { name: 'Search for Spock' },\n favoriteFood: 'Jamba',\n birthDate: new Date('2200-09-24'),\n sex: 'male'\n },\n {\n id: Math.random(),\n firstName: 'Kathyrn',\n lastName: 'Janeway',\n age: 55,\n eyeColor: 'brown',\n height: 3,\n weight: 5,\n jobTitle: 'Captain',\n favoriteMovie: { name: 'Wrath of Khan' },\n favoriteFood: 'Coffee',\n birthDate: new Date('2240-09-24'),\n sex: 'female'\n },\n {\n id: Math.random(),\n firstName: 'Jean-Luc',\n lastName: 'Picard',\n age: 66,\n eyeColor: 'blue',\n height: 3,\n weight: 5,\n jobTitle: 'Captain',\n favoriteMovie: { name: 'Next generation' },\n favoriteFood: 'Tea Earl Grey Hot',\n birthDate: new Date('2200-09-24'),\n sex: 'male'\n },\n {\n id: Math.random(),\n firstName: 'Peter',\n lastName: 'Parker',\n age: 30,\n eyeColor: 'blue',\n height: 55,\n weight: 14,\n jobTitle: 'Spider-man',\n favoriteMovie: { name: 'Spider-man' },\n favoriteFood: 'Webs',\n birthDate: new Date('1990-09-24'),\n sex: 'male'\n },\n {\n id: Math.random(),\n firstName: 'Clark',\n lastName: 'Kent',\n age: 40,\n eyeColor: 'blue',\n height: 80,\n weight: 33,\n jobTitle: 'Journalist',\n favoriteMovie: { name: 'Superman returns' },\n favoriteFood: 'Kryptonite',\n birthDate: new Date('1960-01-01'),\n sex: 'male'\n },\n {\n id: Math.random(),\n firstName: 'Bruce',\n lastName: 'Wayne',\n age: 55,\n eyeColor: 'blue',\n height: 70,\n weight: 33,\n jobTitle: 'CEO',\n favoriteMovie: { name: 'Batman begins' },\n favoriteFood: 'Bats',\n birthDate: new Date('1955-01-01'),\n sex: 'male'\n },\n {\n id: Math.random(),\n firstName: 'Diana',\n lastName: 'Prince',\n age: 28,\n eyeColor: 'green',\n height: 90,\n weight: 19,\n jobTitle: 'Curator',\n favoriteMovie: { name: 'Wonderwoman' },\n favoriteFood: 'Greek',\n birthDate: new Date('1990-01-01'),\n sex: 'female'\n },\n {\n id: Math.random(),\n firstName: 'Tony',\n lastName: 'Stark',\n age: 40,\n eyeColor: 'brown',\n height: 70,\n weight: 33,\n jobTitle: 'CEO',\n favoriteMovie: { name: 'Ironman' },\n favoriteFood: 'Shoarma',\n birthDate: new Date('1980-01-01'),\n sex: 'male'\n },\n {\n id: Math.random(),\n firstName: 'Steve',\n lastName: 'Rogers',\n age: 100,\n eyeColor: 'blue',\n height: 44,\n weight: 55,\n jobTitle: 'Captain',\n favoriteMovie: { name: 'Winter soldier' },\n favoriteFood: 'Applepie',\n birthDate: new Date('1920-01-01'),\n sex: 'male'\n },\n {\n id: Math.random(),\n firstName: 'Natasha',\n lastName: 'Romanov',\n age: 30,\n eyeColor: 'green',\n height: 77,\n weight: 66,\n jobTitle: 'Black widow',\n favoriteMovie: { name: 'Avengers' },\n favoriteFood: 'Stroganov',\n birthDate: new Date('1995-01-01'),\n sex: 'female'\n },\n {\n id: Math.random(),\n firstName: 'Bruce',\n lastName: 'Banner',\n age: 42,\n eyeColor: 'brown',\n height: 89,\n weight: 99,\n jobTitle: 'Smasher',\n favoriteMovie: { name: 'The Incredible Hulk' },\n favoriteFood: 'Gammarays',\n birthDate: new Date('1975-01-01'),\n sex: 'male'\n }\n];\n\ntype Movie = {\n name: string;\n};\n\nconst movies: Movie[] = uniq(\n persons\n .filter(person => person.favoriteMovie)\n .map(person => person.favoriteMovie?.name)\n).map(movie => ({ name: movie } as Movie));\n\nfunction sleep(ms: number) {\n return new Promise(resolve => {\n setTimeout(resolve, ms);\n });\n}\n"),__ADDS_MAP__={"table-formtable--instant-edit":{startLoc:{col:7,line:890},endLoc:{col:3,line:1236},startBody:{col:23,line:890},endBody:{col:3,line:1236}},"table-formtable--edit-per-row":{startLoc:{col:7,line:424},endLoc:{col:3,line:889},startBody:{col:23,line:424},endBody:{col:3,line:889}},"table-formtable--basic-example":{startLoc:{col:7,line:30},endLoc:{col:3,line:423},startBody:{col:24,line:30},endBody:{col:3,line:423}}};Object(_storybook_react__WEBPACK_IMPORTED_MODULE_1__.storiesOf)("table|FormTable",module).addParameters({storySource:{source:__STORY__,locationsMap:__ADDS_MAP__}}).addDecorator(withSourceLoader(__STORY__,__ADDS_MAP__,"/FormTable.stories.tsx",[],{},"/Users/gido.manders/projecten/42/ui/src/table/FormTable",{})).add("basic example",()=>{const[newPerson]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)({id:Math.random(),firstName:"",lastName:"",age:0,eyeColor:"",height:0,weight:0,jobTitle:"",favoriteMovie:void 0,favoriteFood:"",birthDate:void 0,sex:""}),[page,setPage]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(1),[newPage,setNewPage]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(),[personsList,setPersonsList]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(persons),[pageOfPersons,setPageOfPersons]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(Object(_42_nl_spring_connect_lib__WEBPACK_IMPORTED_MODULE_22__.emptyPage)()),[loading,setLoading]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(),[dirtyPersons,setDirtyPersons]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)({}),[flashMessage,setFlashMessage]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)();function onSubmit(data,form){return __awaiter(this,void 0,void 0,(function*(){setLoading(data),yield sleep(Object(lodash__WEBPACK_IMPORTED_MODULE_3__.random)(200,1e3));const person=Object.assign({},data);data.id===newPerson.id?(person.id=Math.random(),setPersonsList([...personsList,person])):setPersonsList(personsList.map(p=>p.id===person.id?person:p)),setFlashMessage("Person saved successfully!"),window.setTimeout(()=>form.reset(data.id===newPerson.id?newPerson:person),1),setLoading(void 0)}))}return Object(react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{const p=Object(_utilities_page_page__WEBPACK_IMPORTED_MODULE_12__.a)(personsList,page,10);p.content.push(Object.assign({},newPerson)),setDirtyPersons({}),setPageOfPersons(p)},[personsList,newPerson,page]),Object(react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{const timeout=window.setTimeout(()=>setFlashMessage(void 0),5e3);return()=>{window.clearTimeout(timeout)}},[flashMessage]),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_2__.a,{body:!0},flashMessage?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_FlashMessage_FlashMessage__WEBPACK_IMPORTED_MODULE_20__.a,{onClose:()=>setFlashMessage(void 0),color:"success"},flashMessage):null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_EpicTable__WEBPACK_IMPORTED_MODULE_4__.a,{hasRight:!1},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_rows_EpicRow_EpicRow__WEBPACK_IMPORTED_MODULE_5__.a,{header:!0},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicHeader_EpicHeader__WEBPACK_IMPORTED_MODULE_6__.a,{width:300,height:44},"Actions"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicHeader_EpicHeader__WEBPACK_IMPORTED_MODULE_6__.a,{width:300,height:44},"First name"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicHeader_EpicHeader__WEBPACK_IMPORTED_MODULE_6__.a,{width:100,height:44},"Last name"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicHeader_EpicHeader__WEBPACK_IMPORTED_MODULE_6__.a,{width:100,height:44},"Age"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicHeader_EpicHeader__WEBPACK_IMPORTED_MODULE_6__.a,{width:100,height:44},"Eye color"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicHeader_EpicHeader__WEBPACK_IMPORTED_MODULE_6__.a,{width:100,height:44},"Height"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicHeader_EpicHeader__WEBPACK_IMPORTED_MODULE_6__.a,{width:100,height:44},"Weight"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicHeader_EpicHeader__WEBPACK_IMPORTED_MODULE_6__.a,{width:200,height:44},"Job title"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicHeader_EpicHeader__WEBPACK_IMPORTED_MODULE_6__.a,{width:300,height:44},"Favorite movie"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicHeader_EpicHeader__WEBPACK_IMPORTED_MODULE_6__.a,{width:150,height:44},"Favorite food"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicHeader_EpicHeader__WEBPACK_IMPORTED_MODULE_6__.a,{width:300,height:44},"Birth date"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicHeader_EpicHeader__WEBPACK_IMPORTED_MODULE_6__.a,{width:200,height:44},"Sex")),pageOfPersons.content.map(person=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_rows_EpicRow_EpicRow__WEBPACK_IMPORTED_MODULE_5__.a,{key:person.id},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicCell_EpicCell__WEBPACK_IMPORTED_MODULE_14__.a,{width:300,height:52},loading&&loading.id===person.id?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_Loading_Loading__WEBPACK_IMPORTED_MODULE_17__.a,{text:{loading:"Processing..."}}):react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_form_FormButton_FormButton__WEBPACK_IMPORTED_MODULE_18__.a,{formId:"personForm"+person.id,type:"submit",icon:"save",className:"mr-1",color:dirtyPersons[person.id]?"primary":"secondary"},"Save"),dirtyPersons[person.id]?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_form_FormButton_FormButton__WEBPACK_IMPORTED_MODULE_18__.a,{formId:"personForm"+person.id,type:"reset",icon:"restore",color:"secondary",className:"mr-1"},"Reset"):null,person.id!==newPerson.id?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_ConfirmButton_ConfirmButton__WEBPACK_IMPORTED_MODULE_19__.a,{onConfirm:()=>function deletePerson(person){return __awaiter(this,void 0,void 0,(function*(){setLoading(person),yield sleep(Object(lodash__WEBPACK_IMPORTED_MODULE_3__.random)(200,1e3)),setPersonsList(personsList.filter(p=>p.id!==person.id)),setLoading(void 0),setFlashMessage("Person deleted successfully!")}))}(person),icon:"delete",color:"danger",dialogText:`Are you sure you want to delete ${person.firstName} ${person.lastName}?`},"Delete"):null)),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicForm_EpicForm__WEBPACK_IMPORTED_MODULE_13__.a,{id:"personForm"+person.id,width:1950,height:52,initialValues:person,onSubmit:onSubmit},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_final_form__WEBPACK_IMPORTED_MODULE_23__.FormSpy,{subscription:{pristine:!0},onChange:formState=>function setPersonDirty(isPristine,person){isPristine?dirtyPersons[person.id]&&setDirtyPersons(Object.assign(Object.assign({},dirtyPersons),{[person.id]:!1})):dirtyPersons[person.id]||setDirtyPersons(Object.assign(Object.assign({},dirtyPersons),{[person.id]:!0}))}(formState.pristine,person)}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicFormCell_EpicFormCell__WEBPACK_IMPORTED_MODULE_15__.a,{width:300,height:52},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_form_Input_Input__WEBPACK_IMPORTED_MODULE_7__.a,{id:`firstName-${person.id}`,name:"firstName",placeholder:"Enter first name",jarb:{validator:"Person.firstName",label:"First name"},errorMode:"tooltip"})),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicFormCell_EpicFormCell__WEBPACK_IMPORTED_MODULE_15__.a,{width:100,height:52},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_form_Input_Input__WEBPACK_IMPORTED_MODULE_7__.a,{id:`lastName-${person.id}`,name:"lastName",placeholder:"Enter last name",jarb:{validator:"Person.lastName",label:"Last name"},errorMode:"tooltip"})),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicFormCell_EpicFormCell__WEBPACK_IMPORTED_MODULE_15__.a,{width:100,height:52},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_form_Input_Input__WEBPACK_IMPORTED_MODULE_7__.a,{id:`age-${person.id}`,name:"age",type:"number",placeholder:"Enter age",jarb:{validator:"Person.age",label:"Age"},errorMode:"tooltip"})),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicFormCell_EpicFormCell__WEBPACK_IMPORTED_MODULE_15__.a,{width:100,height:52},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_form_Select_Select__WEBPACK_IMPORTED_MODULE_10__.a,{id:`eyeColor-${person.id}`,name:"eyeColor",placeholder:"Enter eye color",options:["green","blue","brown"],optionForValue:option=>option,jarb:{validator:"Person.eyeColor",label:"Eye color"},errorMode:"tooltip"})),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicFormCell_EpicFormCell__WEBPACK_IMPORTED_MODULE_15__.a,{width:100,height:52},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_form_Input_Input__WEBPACK_IMPORTED_MODULE_7__.a,{id:`age-${person.id}`,name:"height",placeholder:"Enter height",type:"number",jarb:{validator:"Person.height",label:"Height"},errorMode:"tooltip"})),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicFormCell_EpicFormCell__WEBPACK_IMPORTED_MODULE_15__.a,{width:100,height:52},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_form_Input_Input__WEBPACK_IMPORTED_MODULE_7__.a,{id:`weight-${person.id}`,name:"weight",type:"number",placeholder:"Enter weight",jarb:{validator:"Person.weight",label:"Weight"},errorMode:"tooltip"})),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicFormCell_EpicFormCell__WEBPACK_IMPORTED_MODULE_15__.a,{width:200,height:52},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_form_Input_Input__WEBPACK_IMPORTED_MODULE_7__.a,{id:`jobTitle-${person.id}`,name:"jobTitle",placeholder:"Enter job title",jarb:{validator:"Person.jobTitle",label:"Job title"},errorMode:"tooltip"})),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicFormCell_EpicFormCell__WEBPACK_IMPORTED_MODULE_15__.a,{width:300,height:52},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_form_ModalPicker_single_ModalPickerSingle__WEBPACK_IMPORTED_MODULE_11__.a,{id:`favoriteMovie-${person.id}`,name:"favoriteMovie",placeholder:"Enter favorite movie",jarb:{validator:"Person.favoriteMovie",label:"Favorite movie"},multiple:!1,optionForValue:option=>option.name,fetchOptions:(query,page,size)=>Promise.resolve(Object(_utilities_page_page__WEBPACK_IMPORTED_MODULE_12__.a)(movies.filter(movie=>0===query.length||movie.name.indexOf(query)>0).slice((page-1)*size,size),page,size)),errorMode:"tooltip",alignButton:"right"})),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicFormCell_EpicFormCell__WEBPACK_IMPORTED_MODULE_15__.a,{width:150,height:52},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_form_Input_Input__WEBPACK_IMPORTED_MODULE_7__.a,{id:`favoriteFood-${person.id}`,name:"favoriteFood",placeholder:"Enter favorite food",jarb:{validator:"Person.favoriteFood",label:"Favorite food"},errorMode:"tooltip"})),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicFormCell_EpicFormCell__WEBPACK_IMPORTED_MODULE_15__.a,{width:300,height:52},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_form_DateTimeInput_DateTimeInput__WEBPACK_IMPORTED_MODULE_8__.a,{id:`birthDate-${person.id}`,name:"birthDate",placeholder:"Enter birth date",dateFormat:"YYYY-MM-DD",timeFormat:!1,jarb:{validator:"Person.birthDate",label:"Birthdate"},errorMode:"tooltip",mode:"modal",allowNull:!0})),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicFormCell_EpicFormCell__WEBPACK_IMPORTED_MODULE_15__.a,{width:200,height:52},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_form_RadioGroup_RadioGroup__WEBPACK_IMPORTED_MODULE_9__.a,{id:`sex-${person.id}`,name:"sex",className:"ml-1",options:["male","female"],optionForValue:option=>option,horizontal:!0,jarb:{validator:"Person.sex",label:"Sex"},errorMode:"tooltip"})))))),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"d-flex justify-content-center"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_index__WEBPACK_IMPORTED_MODULE_21__.s,{className:"my-3",page:pageOfPersons,onChange:function confirmPage(pageNumber){Object.values(dirtyPersons).some(d=>d)?setNewPage(pageNumber):setPage(pageNumber)}}),newPage?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_index__WEBPACK_IMPORTED_MODULE_21__.r,{isOpen:!0,onClose:()=>setNewPage(void 0),onSave:()=>{setPage(newPage),setNewPage(void 0)},text:{save:"Confirm"}},"All your changes will be lost if you navigate to another page. Are you sure you want to go to page ",newPage," and loose all your progress?"):null))}).add("edit per row",()=>{const[editingPerson,setEditingPerson]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(),[newPerson]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)({id:Math.random(),firstName:"",lastName:"",age:0,eyeColor:"",height:0,weight:0,jobTitle:"",favoriteMovie:void 0,favoriteFood:"",birthDate:void 0,sex:""}),[page,setPage]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(1),[newPage,setNewPage]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(),[personsList,setPersonsList]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(persons),[pageOfPersons,setPageOfPersons]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(Object(_42_nl_spring_connect_lib__WEBPACK_IMPORTED_MODULE_22__.emptyPage)()),[loading,setLoading]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(),[dirty,setDirty]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(!1),[flashMessage,setFlashMessage]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)();function onSubmit(data,form){return __awaiter(this,void 0,void 0,(function*(){setLoading(data),yield sleep(Object(lodash__WEBPACK_IMPORTED_MODULE_3__.random)(200,1e3));const person=Object.assign({},data);data.id===newPerson.id?(person.id=Math.random(),setPersonsList([...personsList,person])):setPersonsList(personsList.map(p=>p.id===person.id?person:p)),setFlashMessage("Person saved successfully!"),window.setTimeout(()=>form.reset(data.id===newPerson.id?newPerson:person),1),setLoading(void 0)}))}function deletePerson(person){return __awaiter(this,void 0,void 0,(function*(){setLoading(person),yield sleep(Object(lodash__WEBPACK_IMPORTED_MODULE_3__.random)(200,1e3)),setPersonsList(personsList.filter(p=>p.id!==person.id)),setLoading(void 0),setFlashMessage("Person deleted successfully!")}))}return Object(react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{const p=Object(_utilities_page_page__WEBPACK_IMPORTED_MODULE_12__.a)(personsList,page,10);p.content.push(Object.assign({},newPerson)),setPageOfPersons(p),setEditingPerson(void 0)},[personsList,newPerson,page]),Object(react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{const timeout=window.setTimeout(()=>setFlashMessage(void 0),5e3);return()=>{window.clearTimeout(timeout)}},[flashMessage]),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_2__.a,{body:!0},flashMessage?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_FlashMessage_FlashMessage__WEBPACK_IMPORTED_MODULE_20__.a,{onClose:()=>setFlashMessage(void 0),color:"success"},flashMessage):null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_EpicTable__WEBPACK_IMPORTED_MODULE_4__.a,{hasRight:!1},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_rows_EpicRow_EpicRow__WEBPACK_IMPORTED_MODULE_5__.a,{header:!0},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicHeader_EpicHeader__WEBPACK_IMPORTED_MODULE_6__.a,{width:300,height:44},"Actions"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicHeader_EpicHeader__WEBPACK_IMPORTED_MODULE_6__.a,{width:300,height:44},"First name"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicHeader_EpicHeader__WEBPACK_IMPORTED_MODULE_6__.a,{width:100,height:44},"Last name"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicHeader_EpicHeader__WEBPACK_IMPORTED_MODULE_6__.a,{width:100,height:44},"Age"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicHeader_EpicHeader__WEBPACK_IMPORTED_MODULE_6__.a,{width:100,height:44},"Eye color"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicHeader_EpicHeader__WEBPACK_IMPORTED_MODULE_6__.a,{width:100,height:44},"Height"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicHeader_EpicHeader__WEBPACK_IMPORTED_MODULE_6__.a,{width:100,height:44},"Weight"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicHeader_EpicHeader__WEBPACK_IMPORTED_MODULE_6__.a,{width:200,height:44},"Job title"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicHeader_EpicHeader__WEBPACK_IMPORTED_MODULE_6__.a,{width:300,height:44},"Favorite movie"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicHeader_EpicHeader__WEBPACK_IMPORTED_MODULE_6__.a,{width:150,height:44},"Favorite food"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicHeader_EpicHeader__WEBPACK_IMPORTED_MODULE_6__.a,{width:300,height:44},"Birth date"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicHeader_EpicHeader__WEBPACK_IMPORTED_MODULE_6__.a,{width:200,height:44},"Sex")),pageOfPersons.content.map(person=>{var _a,_b;return editingPerson&&editingPerson.id===person.id||person.id===newPerson.id?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_rows_EpicRow_EpicRow__WEBPACK_IMPORTED_MODULE_5__.a,{key:person.id},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicCell_EpicCell__WEBPACK_IMPORTED_MODULE_14__.a,{width:300,height:52},loading&&loading.id===person.id?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_Loading_Loading__WEBPACK_IMPORTED_MODULE_17__.a,{text:{loading:"Processing..."}}):react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment,null,dirty?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_form_FormButton_FormButton__WEBPACK_IMPORTED_MODULE_18__.a,{formId:"personForm"+person.id,type:"submit",icon:"save",className:"mr-1",color:dirty?"primary":"secondary"},"Save"):null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_Button_Button__WEBPACK_IMPORTED_MODULE_16__.a,{type:"button",icon:"cancel",color:"secondary",className:"mr-1",onClick:()=>setEditingPerson(void 0)},"Cancel"),person.id!==newPerson.id?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_ConfirmButton_ConfirmButton__WEBPACK_IMPORTED_MODULE_19__.a,{onConfirm:()=>deletePerson(person),icon:"delete",color:"danger",dialogText:`Are you sure you want to delete ${person.firstName} ${person.lastName}?`},"Delete"):null)),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicForm_EpicForm__WEBPACK_IMPORTED_MODULE_13__.a,{id:"personForm"+person.id,width:1950,height:52,initialValues:person,onSubmit:onSubmit},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_final_form__WEBPACK_IMPORTED_MODULE_23__.FormSpy,{subscription:{pristine:!0},onChange:formState=>setDirty(formState.pristine)}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicFormCell_EpicFormCell__WEBPACK_IMPORTED_MODULE_15__.a,{width:300,height:52},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_form_Input_Input__WEBPACK_IMPORTED_MODULE_7__.a,{id:`firstName-${person.id}`,name:"firstName",placeholder:"Enter first name",jarb:{validator:"Person.firstName",label:"First name"},errorMode:"tooltip"})),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicFormCell_EpicFormCell__WEBPACK_IMPORTED_MODULE_15__.a,{width:100,height:52},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_form_Input_Input__WEBPACK_IMPORTED_MODULE_7__.a,{id:`lastName-${person.id}`,name:"lastName",placeholder:"Enter last name",jarb:{validator:"Person.lastName",label:"Last name"},errorMode:"tooltip"})),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicFormCell_EpicFormCell__WEBPACK_IMPORTED_MODULE_15__.a,{width:100,height:52},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_form_Input_Input__WEBPACK_IMPORTED_MODULE_7__.a,{id:`age-${person.id}`,name:"age",type:"number",placeholder:"Enter age",jarb:{validator:"Person.age",label:"Age"},errorMode:"tooltip"})),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicFormCell_EpicFormCell__WEBPACK_IMPORTED_MODULE_15__.a,{width:100,height:52},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_form_Select_Select__WEBPACK_IMPORTED_MODULE_10__.a,{id:`eyeColor-${person.id}`,name:"eyeColor",placeholder:"Enter eye color",options:["green","blue","brown"],optionForValue:option=>option,jarb:{validator:"Person.eyeColor",label:"Eye color"},errorMode:"tooltip"})),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicFormCell_EpicFormCell__WEBPACK_IMPORTED_MODULE_15__.a,{width:100,height:52},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_form_Input_Input__WEBPACK_IMPORTED_MODULE_7__.a,{id:`age-${person.id}`,name:"height",placeholder:"Enter height",type:"number",jarb:{validator:"Person.height",label:"Height"},errorMode:"tooltip"})),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicFormCell_EpicFormCell__WEBPACK_IMPORTED_MODULE_15__.a,{width:100,height:52},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_form_Input_Input__WEBPACK_IMPORTED_MODULE_7__.a,{id:`weight-${person.id}`,name:"weight",type:"number",placeholder:"Enter weight",jarb:{validator:"Person.weight",label:"Weight"},errorMode:"tooltip"})),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicFormCell_EpicFormCell__WEBPACK_IMPORTED_MODULE_15__.a,{width:200,height:52},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_form_Input_Input__WEBPACK_IMPORTED_MODULE_7__.a,{id:`jobTitle-${person.id}`,name:"jobTitle",placeholder:"Enter job title",jarb:{validator:"Person.jobTitle",label:"Job title"},errorMode:"tooltip"})),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicFormCell_EpicFormCell__WEBPACK_IMPORTED_MODULE_15__.a,{width:300,height:52},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_form_ModalPicker_single_ModalPickerSingle__WEBPACK_IMPORTED_MODULE_11__.a,{id:`favoriteMovie-${person.id}`,name:"favoriteMovie",placeholder:"Enter favorite movie",jarb:{validator:"Person.favoriteMovie",label:"Favorite movie"},multiple:!1,optionForValue:option=>option.name,fetchOptions:(query,page,size)=>Promise.resolve(Object(_utilities_page_page__WEBPACK_IMPORTED_MODULE_12__.a)(movies.filter(movie=>0===query.length||movie.name.indexOf(query)>0).slice((page-1)*size,size),page,size)),errorMode:"tooltip",alignButton:"right"})),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicFormCell_EpicFormCell__WEBPACK_IMPORTED_MODULE_15__.a,{width:150,height:52},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_form_Input_Input__WEBPACK_IMPORTED_MODULE_7__.a,{id:`favoriteFood-${person.id}`,name:"favoriteFood",placeholder:"Enter favorite food",jarb:{validator:"Person.favoriteFood",label:"Favorite food"},errorMode:"tooltip"})),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicFormCell_EpicFormCell__WEBPACK_IMPORTED_MODULE_15__.a,{width:300,height:52},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_form_DateTimeInput_DateTimeInput__WEBPACK_IMPORTED_MODULE_8__.a,{id:`birthDate-${person.id}`,name:"birthDate",placeholder:"Enter birth date",dateFormat:"YYYY-MM-DD",timeFormat:!1,jarb:{validator:"Person.birthDate",label:"Birthdate"},errorMode:"tooltip",mode:"modal"})),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicFormCell_EpicFormCell__WEBPACK_IMPORTED_MODULE_15__.a,{width:200,height:52},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_form_RadioGroup_RadioGroup__WEBPACK_IMPORTED_MODULE_9__.a,{id:`sex-${person.id}`,name:"sex",className:"ml-1",options:["male","female"],optionForValue:option=>option,horizontal:!0,jarb:{validator:"Person.sex",label:"Sex"},errorMode:"tooltip"})))):react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_rows_EpicRow_EpicRow__WEBPACK_IMPORTED_MODULE_5__.a,{key:person.id},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicCell_EpicCell__WEBPACK_IMPORTED_MODULE_14__.a,{width:300,height:52},loading&&loading.id===person.id?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_Loading_Loading__WEBPACK_IMPORTED_MODULE_17__.a,{text:{loading:"Processing..."}}):react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment,null,editingPerson?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_ConfirmButton_ConfirmButton__WEBPACK_IMPORTED_MODULE_19__.a,{onConfirm:()=>setEditingPerson(person),icon:"edit",color:"primary",className:"mr-1",dialogText:`All progress on ${editingPerson.firstName} will be lost. Are you sure you want to edit ${person.firstName}?`},"Edit"):react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_Button_Button__WEBPACK_IMPORTED_MODULE_16__.a,{onClick:()=>setEditingPerson(person),icon:"edit",color:"primary",className:"mr-1"},"Edit"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_ConfirmButton_ConfirmButton__WEBPACK_IMPORTED_MODULE_19__.a,{onConfirm:()=>deletePerson(person),icon:"cancel",color:"danger",dialogText:`Are you sure you want to delete ${person.firstName} ${person.lastName}?`},"Delete"))),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicCell_EpicCell__WEBPACK_IMPORTED_MODULE_14__.a,{width:300,height:52},person.firstName),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicCell_EpicCell__WEBPACK_IMPORTED_MODULE_14__.a,{width:100,height:52},person.lastName),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicCell_EpicCell__WEBPACK_IMPORTED_MODULE_14__.a,{width:100,height:52},person.age),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicCell_EpicCell__WEBPACK_IMPORTED_MODULE_14__.a,{width:100,height:52},person.eyeColor),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicCell_EpicCell__WEBPACK_IMPORTED_MODULE_14__.a,{width:100,height:52},person.height),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicCell_EpicCell__WEBPACK_IMPORTED_MODULE_14__.a,{width:100,height:52},person.weight),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicCell_EpicCell__WEBPACK_IMPORTED_MODULE_14__.a,{width:200,height:52},person.jobTitle),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicCell_EpicCell__WEBPACK_IMPORTED_MODULE_14__.a,{width:300,height:52},null===(_a=person.favoriteMovie)||void 0===_a?void 0:_a.name),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicCell_EpicCell__WEBPACK_IMPORTED_MODULE_14__.a,{width:150,height:52},person.favoriteFood),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicCell_EpicCell__WEBPACK_IMPORTED_MODULE_14__.a,{width:300,height:52},null===(_b=person.birthDate)||void 0===_b?void 0:_b.toLocaleDateString()),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicCell_EpicCell__WEBPACK_IMPORTED_MODULE_14__.a,{width:200,height:52},person.sex))})),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"d-flex justify-content-center"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_index__WEBPACK_IMPORTED_MODULE_21__.s,{className:"my-3",page:pageOfPersons,onChange:function confirmPage(pageNumber){editingPerson?setNewPage(pageNumber):setPage(pageNumber)}}),newPage?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_index__WEBPACK_IMPORTED_MODULE_21__.r,{isOpen:!0,onClose:()=>setNewPage(void 0),onSave:()=>{setPage(newPage),setNewPage(void 0)},text:{save:"Confirm"}},"All your changes will be lost if you navigate to another page. Are you sure you want to go to page ",newPage," and loose all your progress?"):null))}).add("instant edit",()=>{const[newPerson]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)({id:Math.random(),firstName:"",lastName:"",age:0,eyeColor:"",height:0,weight:0,jobTitle:"",favoriteMovie:void 0,favoriteFood:"",birthDate:void 0,sex:""}),[page,setPage]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(1),[personsList,setPersonsList]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(persons),[pageOfPersons,setPageOfPersons]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(Object(_42_nl_spring_connect_lib__WEBPACK_IMPORTED_MODULE_22__.emptyPage)()),[loading,setLoading]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(),[dirtyPersons,setDirtyPersons]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)({}),[flashMessage,setFlashMessage]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)();function onSubmit(data){return __awaiter(this,void 0,void 0,(function*(){setLoading(data),yield sleep(Object(lodash__WEBPACK_IMPORTED_MODULE_3__.random)(200,1e3));const person=Object.assign({},data);data.id===newPerson.id?(person.id=Math.random(),setPersonsList([...personsList,person])):setPersonsList(personsList.map(p=>p.id===person.id?person:p)),setFlashMessage("Person saved successfully!"),setLoading(void 0)}))}return Object(react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{const p=Object(_utilities_page_page__WEBPACK_IMPORTED_MODULE_12__.a)(personsList,page,10);p.content.push(Object.assign({},newPerson)),setDirtyPersons({}),setPageOfPersons(p)},[personsList,newPerson,page]),Object(react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{const timeout=window.setTimeout(()=>setFlashMessage(void 0),5e3);return()=>{window.clearTimeout(timeout)}},[flashMessage]),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_2__.a,{body:!0},flashMessage?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_FlashMessage_FlashMessage__WEBPACK_IMPORTED_MODULE_20__.a,{onClose:()=>setFlashMessage(void 0),color:"success"},flashMessage):null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_EpicTable__WEBPACK_IMPORTED_MODULE_4__.a,{hasRight:!1},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_rows_EpicRow_EpicRow__WEBPACK_IMPORTED_MODULE_5__.a,{header:!0},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicHeader_EpicHeader__WEBPACK_IMPORTED_MODULE_6__.a,{width:300,height:44},"Actions"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicHeader_EpicHeader__WEBPACK_IMPORTED_MODULE_6__.a,{width:300,height:44},"First name"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicHeader_EpicHeader__WEBPACK_IMPORTED_MODULE_6__.a,{width:100,height:44},"Last name"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicHeader_EpicHeader__WEBPACK_IMPORTED_MODULE_6__.a,{width:100,height:44},"Age"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicHeader_EpicHeader__WEBPACK_IMPORTED_MODULE_6__.a,{width:100,height:44},"Eye color"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicHeader_EpicHeader__WEBPACK_IMPORTED_MODULE_6__.a,{width:100,height:44},"Height"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicHeader_EpicHeader__WEBPACK_IMPORTED_MODULE_6__.a,{width:100,height:44},"Weight"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicHeader_EpicHeader__WEBPACK_IMPORTED_MODULE_6__.a,{width:200,height:44},"Job title"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicHeader_EpicHeader__WEBPACK_IMPORTED_MODULE_6__.a,{width:300,height:44},"Favorite movie"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicHeader_EpicHeader__WEBPACK_IMPORTED_MODULE_6__.a,{width:150,height:44},"Favorite food"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicHeader_EpicHeader__WEBPACK_IMPORTED_MODULE_6__.a,{width:300,height:44},"Birth date"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicHeader_EpicHeader__WEBPACK_IMPORTED_MODULE_6__.a,{width:200,height:44},"Sex")),pageOfPersons.content.map(person=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_rows_EpicRow_EpicRow__WEBPACK_IMPORTED_MODULE_5__.a,{key:person.id},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicCell_EpicCell__WEBPACK_IMPORTED_MODULE_14__.a,{width:300,height:52},loading&&loading.id===person.id?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_Loading_Loading__WEBPACK_IMPORTED_MODULE_17__.a,{text:{loading:"Processing..."}}):react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment,null,person.id!==newPerson.id?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_ConfirmButton_ConfirmButton__WEBPACK_IMPORTED_MODULE_19__.a,{onConfirm:()=>function deletePerson(person){return __awaiter(this,void 0,void 0,(function*(){setLoading(person),yield sleep(Object(lodash__WEBPACK_IMPORTED_MODULE_3__.random)(200,1e3)),setPersonsList(personsList.filter(p=>p.id!==person.id)),setLoading(void 0),setFlashMessage("Person deleted successfully!")}))}(person),icon:"delete",color:"danger",dialogText:`Are you sure you want to delete ${person.firstName} ${person.lastName}?`},"Delete"):null)),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicForm_EpicForm__WEBPACK_IMPORTED_MODULE_13__.a,{id:"personForm"+person.id,width:1950,height:52,initialValues:person,onSubmit:onSubmit,submitOnChange:!0},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_final_form__WEBPACK_IMPORTED_MODULE_23__.FormSpy,{subscription:{pristine:!0},onChange:formState=>function setPersonDirty(isPristine,person){isPristine?dirtyPersons[person.id]&&setDirtyPersons(Object.assign(Object.assign({},dirtyPersons),{[person.id]:!1})):dirtyPersons[person.id]||setDirtyPersons(Object.assign(Object.assign({},dirtyPersons),{[person.id]:!0}))}(formState.pristine,person)}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicFormCell_EpicFormCell__WEBPACK_IMPORTED_MODULE_15__.a,{width:300,height:52},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_form_Input_Input__WEBPACK_IMPORTED_MODULE_7__.a,{id:`firstName-${person.id}`,name:"firstName",placeholder:"Enter first name",jarb:{validator:"Person.firstName",label:"First name"},errorMode:"tooltip"})),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicFormCell_EpicFormCell__WEBPACK_IMPORTED_MODULE_15__.a,{width:100,height:52},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_form_Input_Input__WEBPACK_IMPORTED_MODULE_7__.a,{id:`lastName-${person.id}`,name:"lastName",placeholder:"Enter last name",jarb:{validator:"Person.lastName",label:"Last name"},errorMode:"tooltip"})),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicFormCell_EpicFormCell__WEBPACK_IMPORTED_MODULE_15__.a,{width:100,height:52},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_form_Input_Input__WEBPACK_IMPORTED_MODULE_7__.a,{id:`age-${person.id}`,name:"age",type:"number",placeholder:"Enter age",jarb:{validator:"Person.age",label:"Age"},errorMode:"tooltip"})),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicFormCell_EpicFormCell__WEBPACK_IMPORTED_MODULE_15__.a,{width:100,height:52},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_form_Select_Select__WEBPACK_IMPORTED_MODULE_10__.a,{id:`eyeColor-${person.id}`,name:"eyeColor",placeholder:"Enter eye color",options:["green","blue","brown"],optionForValue:option=>option,jarb:{validator:"Person.eyeColor",label:"Eye color"},errorMode:"tooltip"})),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicFormCell_EpicFormCell__WEBPACK_IMPORTED_MODULE_15__.a,{width:100,height:52},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_form_Input_Input__WEBPACK_IMPORTED_MODULE_7__.a,{id:`age-${person.id}`,name:"height",placeholder:"Enter height",type:"number",jarb:{validator:"Person.height",label:"Height"},errorMode:"tooltip"})),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicFormCell_EpicFormCell__WEBPACK_IMPORTED_MODULE_15__.a,{width:100,height:52},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_form_Input_Input__WEBPACK_IMPORTED_MODULE_7__.a,{id:`weight-${person.id}`,name:"weight",type:"number",placeholder:"Enter weight",jarb:{validator:"Person.weight",label:"Weight"},errorMode:"tooltip"})),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicFormCell_EpicFormCell__WEBPACK_IMPORTED_MODULE_15__.a,{width:200,height:52},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_form_Input_Input__WEBPACK_IMPORTED_MODULE_7__.a,{id:`jobTitle-${person.id}`,name:"jobTitle",placeholder:"Enter job title",jarb:{validator:"Person.jobTitle",label:"Job title"},errorMode:"tooltip"})),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicFormCell_EpicFormCell__WEBPACK_IMPORTED_MODULE_15__.a,{width:300,height:52},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_form_ModalPicker_single_ModalPickerSingle__WEBPACK_IMPORTED_MODULE_11__.a,{id:`favoriteMovie-${person.id}`,name:"favoriteMovie",placeholder:"Enter favorite movie",jarb:{validator:"Person.favoriteMovie",label:"Favorite movie"},multiple:!1,optionForValue:option=>option.name,fetchOptions:(query,page,size)=>Promise.resolve(Object(_utilities_page_page__WEBPACK_IMPORTED_MODULE_12__.a)(movies.filter(movie=>0===query.length||movie.name.indexOf(query)>0).slice((page-1)*size,size),page,size)),errorMode:"tooltip",alignButton:"right"})),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicFormCell_EpicFormCell__WEBPACK_IMPORTED_MODULE_15__.a,{width:150,height:52},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_form_Input_Input__WEBPACK_IMPORTED_MODULE_7__.a,{id:`favoriteFood-${person.id}`,name:"favoriteFood",placeholder:"Enter favorite food",jarb:{validator:"Person.favoriteFood",label:"Favorite food"},errorMode:"tooltip"})),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicFormCell_EpicFormCell__WEBPACK_IMPORTED_MODULE_15__.a,{width:300,height:52},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_form_DateTimeInput_DateTimeInput__WEBPACK_IMPORTED_MODULE_8__.a,{id:`birthDate-${person.id}`,name:"birthDate",placeholder:"Enter birth date",dateFormat:"YYYY-MM-DD",timeFormat:!1,jarb:{validator:"Person.birthDate",label:"Birthdate"},errorMode:"tooltip",mode:"modal",allowNull:!0})),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EpicTable_cells_EpicFormCell_EpicFormCell__WEBPACK_IMPORTED_MODULE_15__.a,{width:200,height:52},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_form_RadioGroup_RadioGroup__WEBPACK_IMPORTED_MODULE_9__.a,{id:`sex-${person.id}`,name:"sex",className:"ml-1",options:["male","female"],optionForValue:option=>option,horizontal:!0,jarb:{validator:"Person.sex",label:"Sex"},errorMode:"tooltip"})))))),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"d-flex justify-content-center"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_index__WEBPACK_IMPORTED_MODULE_21__.s,{className:"my-3",page:pageOfPersons,onChange:setPage})))});const persons=[{id:Math.random(),firstName:"Fitzpatrick",lastName:"Lyons",age:20,eyeColor:"brown",height:10,weight:3,jobTitle:"Senior CodeMonkey",favoriteMovie:{name:"The Matrix"},favoriteFood:"Hamburgers",birthDate:new Date("2014-09-24"),sex:"male"},{id:Math.random(),firstName:"Berry",lastName:"McNab",age:41,eyeColor:"blue",height:13,weight:55,jobTitle:"Business Manager",favoriteMovie:{name:"Fear and loathing in Las Vegas"},favoriteFood:"Spaghetti",birthDate:new Date("2000-09-24"),sex:"female"},{id:Math.random(),firstName:"Neville",lastName:"Brooks",age:25,eyeColor:"green",height:12,weight:32,jobTitle:"Senior CodeMonkey",favoriteMovie:{name:"Lord of the Rings"},favoriteFood:"French Fries",birthDate:new Date("2014-09-24"),sex:"male"},{id:Math.random(),firstName:"Leonard",lastName:"Nemoy",age:50,eyeColor:"brown",height:10,weight:3,jobTitle:"Thespian",favoriteMovie:{name:"Star Trek"},favoriteFood:"Kosher",birthDate:new Date("1900-09-24"),sex:"male"},{id:Math.random(),firstName:"Levi",lastName:"Smith",age:30,eyeColor:"brown",height:10,weight:3,jobTitle:"Taxi driver",favoriteMovie:{name:"Taxi"},favoriteFood:"Lorem ipsum dolor sit amet consectetur adipisicing elit. Corporis, at nam alias ad culpa quae deleniti. Autem eveniet mollitia veritatis reprehenderit ea, tempora vero voluptatem. Dolore repudiandae voluptate quam quidem.,",birthDate:new Date("2014-09-24"),sex:"male"},{id:Math.random(),firstName:"Celine",lastName:"Ferdinand",age:80,eyeColor:"green",height:3,weight:5,jobTitle:"Retired",favoriteMovie:{name:"Driving miss Daisy"},favoriteFood:"Prunes",birthDate:new Date("1940-09-24"),sex:"female"},{id:Math.random(),firstName:"Bonald",lastName:"Ferdinand",age:82,eyeColor:"blue",height:3,weight:5,jobTitle:"Retired",favoriteMovie:{name:"Driving miss Daisy"},favoriteFood:"Prunes",birthDate:new Date("1938-09-24"),sex:"male"},{id:Math.random(),firstName:"Zechs",lastName:"Merquise",age:42,eyeColor:"blue",height:3,weight:5,jobTitle:"Ace pilot",favoriteMovie:{name:"Gundam wing"},favoriteFood:"Applepie",birthDate:new Date("2010-09-24"),sex:"male"},{id:Math.random(),firstName:"David",lastName:"Hayter",age:55,eyeColor:"blue",height:3,weight:5,jobTitle:"Voice actor",favoriteMovie:{name:"Guyver"},favoriteFood:"Snakes",birthDate:new Date("1960-09-24"),sex:"male"},{id:Math.random(),firstName:"James",lastName:"Kirk",age:50,eyeColor:"brown",height:3,weight:5,jobTitle:"Captian",favoriteMovie:{name:"Star Trek"},favoriteFood:"Replicated",birthDate:new Date("2100-09-24"),sex:"male"},{id:Math.random(),firstName:"Bert",lastName:"Kelly",age:30,eyeColor:"blue",height:3,weight:5,jobTitle:"Blacksmith",favoriteMovie:{name:"Not without my daughter"},favoriteFood:"Pears",birthDate:new Date("1989-09-24"),sex:"male"},{id:Math.random(),firstName:"John",lastName:"Goodall",age:68,eyeColor:"green",height:3,weight:5,jobTitle:"Gardner",favoriteMovie:{name:"The Gardner"},favoriteFood:"Cauliflower",birthDate:new Date("2019-09-24"),sex:"male"},{id:Math.random(),firstName:"Rick",lastName:"Xander",age:14,eyeColor:"brown",height:3,weight:5,jobTitle:"Baker",favoriteMovie:{name:"Halloween"},favoriteFood:"Cake",birthDate:new Date("1980-09-24"),sex:"male"},{id:Math.random(),firstName:"Jessica",lastName:"Bernard",age:36,eyeColor:"green",height:3,weight:5,jobTitle:"Student",favoriteMovie:{name:"Highlander"},favoriteFood:"Icecream",birthDate:new Date("1980-09-24"),sex:"female"},{id:Math.random(),firstName:"Benjamin",lastName:"Sisko",age:55,eyeColor:"brown",height:3,weight:5,jobTitle:"Commander",favoriteMovie:{name:"Search for Spock"},favoriteFood:"Jamba",birthDate:new Date("2200-09-24"),sex:"male"},{id:Math.random(),firstName:"Kathyrn",lastName:"Janeway",age:55,eyeColor:"brown",height:3,weight:5,jobTitle:"Captain",favoriteMovie:{name:"Wrath of Khan"},favoriteFood:"Coffee",birthDate:new Date("2240-09-24"),sex:"female"},{id:Math.random(),firstName:"Jean-Luc",lastName:"Picard",age:66,eyeColor:"blue",height:3,weight:5,jobTitle:"Captain",favoriteMovie:{name:"Next generation"},favoriteFood:"Tea Earl Grey Hot",birthDate:new Date("2200-09-24"),sex:"male"},{id:Math.random(),firstName:"Peter",lastName:"Parker",age:30,eyeColor:"blue",height:55,weight:14,jobTitle:"Spider-man",favoriteMovie:{name:"Spider-man"},favoriteFood:"Webs",birthDate:new Date("1990-09-24"),sex:"male"},{id:Math.random(),firstName:"Clark",lastName:"Kent",age:40,eyeColor:"blue",height:80,weight:33,jobTitle:"Journalist",favoriteMovie:{name:"Superman returns"},favoriteFood:"Kryptonite",birthDate:new Date("1960-01-01"),sex:"male"},{id:Math.random(),firstName:"Bruce",lastName:"Wayne",age:55,eyeColor:"blue",height:70,weight:33,jobTitle:"CEO",favoriteMovie:{name:"Batman begins"},favoriteFood:"Bats",birthDate:new Date("1955-01-01"),sex:"male"},{id:Math.random(),firstName:"Diana",lastName:"Prince",age:28,eyeColor:"green",height:90,weight:19,jobTitle:"Curator",favoriteMovie:{name:"Wonderwoman"},favoriteFood:"Greek",birthDate:new Date("1990-01-01"),sex:"female"},{id:Math.random(),firstName:"Tony",lastName:"Stark",age:40,eyeColor:"brown",height:70,weight:33,jobTitle:"CEO",favoriteMovie:{name:"Ironman"},favoriteFood:"Shoarma",birthDate:new Date("1980-01-01"),sex:"male"},{id:Math.random(),firstName:"Steve",lastName:"Rogers",age:100,eyeColor:"blue",height:44,weight:55,jobTitle:"Captain",favoriteMovie:{name:"Winter soldier"},favoriteFood:"Applepie",birthDate:new Date("1920-01-01"),sex:"male"},{id:Math.random(),firstName:"Natasha",lastName:"Romanov",age:30,eyeColor:"green",height:77,weight:66,jobTitle:"Black widow",favoriteMovie:{name:"Avengers"},favoriteFood:"Stroganov",birthDate:new Date("1995-01-01"),sex:"female"},{id:Math.random(),firstName:"Bruce",lastName:"Banner",age:42,eyeColor:"brown",height:89,weight:99,jobTitle:"Smasher",favoriteMovie:{name:"The Incredible Hulk"},favoriteFood:"Gammarays",birthDate:new Date("1975-01-01"),sex:"male"}],movies=Object(lodash__WEBPACK_IMPORTED_MODULE_3__.uniq)(persons.filter(person=>person.favoriteMovie).map(person=>{var _a;return null===(_a=person.favoriteMovie)||void 0===_a?void 0:_a.name})).map(movie=>({name:movie}));function sleep(ms){return new Promise(resolve=>{setTimeout(resolve,ms)})}}.call(this,__webpack_require__(26)(module))},233:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return EpicExpanderRow}));var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),__rest=function(s,e){var t={};for(var p in s)Object.prototype.hasOwnProperty.call(s,p)&&e.indexOf(p)<0&&(t[p]=s[p]);if(null!=s&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(p=Object.getOwnPropertySymbols(s);i any"}},active:{defaultValue:null,description:"Whether or not the children should be rendered.",name:"active",required:!0,type:{name:"boolean"}},height:{defaultValue:null,description:"The height the EpicExpanderRow should take up when expanded.",name:"height",required:!0,type:{name:"number"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/table/EpicTable/rows/EpicExpanderRow/EpicExpanderRow.tsx#EpicExpanderRow"]={docgenInfo:EpicExpanderRow.__docgenInfo,name:"EpicExpanderRow",path:"src/table/EpicTable/rows/EpicExpanderRow/EpicExpanderRow.tsx#EpicExpanderRow"})}catch(__react_docgen_typescript_loader_error){}},234:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return Addon}));var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),reactstrap__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(938),reactstrap__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(82),_core_Icon__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(63),__rest=function(s,e){var t={};for(var p in s)Object.prototype.hasOwnProperty.call(s,p)&&e.indexOf(p)<0&&(t[p]=s[p]);if(null!=s&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(p=Object.getOwnPropertySymbols(s);i void"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/form/Input/Addon/Addon.tsx#Addon"]={docgenInfo:Addon.__docgenInfo,name:"Addon",path:"src/form/Input/Addon/Addon.tsx#Addon"})}catch(__react_docgen_typescript_loader_error){}},237:function(module,__webpack_exports__,__webpack_require__){"use strict";function valueToTypeaheadOption(value,optionFor){return{label:optionFor(value),value:value}}__webpack_require__.d(__webpack_exports__,"a",(function(){return valueToTypeaheadOption}))},3:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return Button})),__webpack_require__.d(__webpack_exports__,"b",(function(){return isWithIcon})),__webpack_require__.d(__webpack_exports__,"c",(function(){return isWithIconAndText})),__webpack_require__.d(__webpack_exports__,"d",(function(){return isWithText}));var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),reactstrap__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(82),_Spinner_Spinner__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(69),_Icon__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(63),_useShowSpinner__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(352),__rest=function(s,e){var t={};for(var p in s)Object.prototype.hasOwnProperty.call(s,p)&&e.indexOf(p)<0&&(t[p]=s[p]);if(null!=s&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(p=Object.getOwnPropertySymbols(s);i any"}},inProgress:{defaultValue:{value:"false"},description:"Whether or not the action you are performing is currently in\nprogress. If so a spinner is rendered inside of the button.\nThis behavior is optional and default to `false`.",name:"inProgress",required:!1,type:{name:"boolean"}},className:{defaultValue:{value:""},description:"Optional extra CSS class you want to add to the component.\nUseful for styling the component.",name:"className",required:!1,type:{name:"string"}},disabled:{defaultValue:null,description:"Optionally whether the button is disabled\n\nDefaults to `false`",name:"disabled",required:!1,type:{name:"boolean"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/core/Button/Button.tsx#Button"]={docgenInfo:Button.__docgenInfo,name:"Button",path:"src/core/Button/Button.tsx#Button"})}catch(__react_docgen_typescript_loader_error){}try{isWithIcon.displayName="isWithIcon",isWithIcon.__docgenInfo={description:"",displayName:"isWithIcon",props:{icon:{defaultValue:null,description:"The Icon you want to use.\nOptionally the Icon you want to use.",name:"icon",required:!1,type:{name:'"3d_rotation" | "accessibility" | "accessibility_new" | "accessible" | "accessible_forward" | "account_balance" | "account_balance_wallet" | "account_box" | "account_circle" | ... 1000 more ... | "toggle_on"'}},iconPosition:{defaultValue:null,description:"",name:"iconPosition",required:!1,type:{name:"IconPosition"}},children:{defaultValue:null,description:"Optionally the text of the button.\nOptionally the text of the button.",name:"children",required:!1,type:{name:"any"}},outline:{defaultValue:null,description:"Optionally whether or not to show the button only as an outline.\nOptionally whether or not to show the button only as an outline.",name:"outline",required:!1,type:{name:"boolean"}},size:{defaultValue:null,description:"Optionally the size of the button, defaults to md.\n\nDefaults to 'md'.\nOptionally the size of the button, defaults to md.\n\nDefaults to 'md'.",name:"size",required:!1,type:{name:"BootstrapSize"}},type:{defaultValue:{value:"button"},description:"Optionally the type of button it is, defaults to 'button'.",name:"type",required:!1,type:{name:'"button" | "submit" | "reset"'}},color:{defaultValue:null,description:"Optionally the color of the button.",name:"color",required:!1,type:{name:"Color"}},onClick:{defaultValue:null,description:"Optional callback for what needs to happen when the button is clicked.",name:"onClick",required:!1,type:{name:"(event: any) => any"}},inProgress:{defaultValue:{value:"false"},description:"Whether or not the action you are performing is currently in\nprogress. If so a spinner is rendered inside of the button.\nThis behavior is optional and default to `false`.",name:"inProgress",required:!1,type:{name:"boolean"}},className:{defaultValue:null,description:"Optional extra CSS class you want to add to the component.\nUseful for styling the component.",name:"className",required:!1,type:{name:"string"}},disabled:{defaultValue:null,description:"Optionally whether the button is disabled\n\nDefaults to `false`",name:"disabled",required:!1,type:{name:"boolean"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/core/Button/Button.tsx#isWithIcon"]={docgenInfo:isWithIcon.__docgenInfo,name:"isWithIcon",path:"src/core/Button/Button.tsx#isWithIcon"})}catch(__react_docgen_typescript_loader_error){}try{isWithIconAndText.displayName="isWithIconAndText",isWithIconAndText.__docgenInfo={description:"",displayName:"isWithIconAndText",props:{icon:{defaultValue:null,description:"The Icon you want to use.\nOptionally the Icon you want to use.",name:"icon",required:!1,type:{name:'"3d_rotation" | "accessibility" | "accessibility_new" | "accessible" | "accessible_forward" | "account_balance" | "account_balance_wallet" | "account_box" | "account_circle" | ... 1000 more ... | "toggle_on"'}},iconPosition:{defaultValue:null,description:"",name:"iconPosition",required:!1,type:{name:"IconPosition"}},children:{defaultValue:null,description:"Optionally the text of the button.\nOptionally the text of the button.",name:"children",required:!1,type:{name:"any"}},outline:{defaultValue:null,description:"Optionally whether or not to show the button only as an outline.\nOptionally whether or not to show the button only as an outline.",name:"outline",required:!1,type:{name:"boolean"}},size:{defaultValue:null,description:"Optionally the size of the button, defaults to md.\n\nDefaults to 'md'.\nOptionally the size of the button, defaults to md.\n\nDefaults to 'md'.",name:"size",required:!1,type:{name:"BootstrapSize"}},type:{defaultValue:{value:"button"},description:"Optionally the type of button it is, defaults to 'button'.",name:"type",required:!1,type:{name:'"button" | "submit" | "reset"'}},color:{defaultValue:null,description:"Optionally the color of the button.",name:"color",required:!1,type:{name:"Color"}},onClick:{defaultValue:null,description:"Optional callback for what needs to happen when the button is clicked.",name:"onClick",required:!1,type:{name:"(event: any) => any"}},inProgress:{defaultValue:{value:"false"},description:"Whether or not the action you are performing is currently in\nprogress. If so a spinner is rendered inside of the button.\nThis behavior is optional and default to `false`.",name:"inProgress",required:!1,type:{name:"boolean"}},className:{defaultValue:null,description:"Optional extra CSS class you want to add to the component.\nUseful for styling the component.",name:"className",required:!1,type:{name:"string"}},disabled:{defaultValue:null,description:"Optionally whether the button is disabled\n\nDefaults to `false`",name:"disabled",required:!1,type:{name:"boolean"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/core/Button/Button.tsx#isWithIconAndText"]={docgenInfo:isWithIconAndText.__docgenInfo,name:"isWithIconAndText",path:"src/core/Button/Button.tsx#isWithIconAndText"})}catch(__react_docgen_typescript_loader_error){}try{isWithText.displayName="isWithText",isWithText.__docgenInfo={description:"",displayName:"isWithText",props:{icon:{defaultValue:null,description:"The Icon you want to use.\nOptionally the Icon you want to use.",name:"icon",required:!1,type:{name:'"3d_rotation" | "accessibility" | "accessibility_new" | "accessible" | "accessible_forward" | "account_balance" | "account_balance_wallet" | "account_box" | "account_circle" | ... 1000 more ... | "toggle_on"'}},iconPosition:{defaultValue:null,description:"",name:"iconPosition",required:!1,type:{name:"IconPosition"}},children:{defaultValue:null,description:"Optionally the text of the button.\nOptionally the text of the button.",name:"children",required:!1,type:{name:"any"}},outline:{defaultValue:null,description:"Optionally whether or not to show the button only as an outline.\nOptionally whether or not to show the button only as an outline.",name:"outline",required:!1,type:{name:"boolean"}},size:{defaultValue:null,description:"Optionally the size of the button, defaults to md.\n\nDefaults to 'md'.\nOptionally the size of the button, defaults to md.\n\nDefaults to 'md'.",name:"size",required:!1,type:{name:"BootstrapSize"}},type:{defaultValue:{value:"button"},description:"Optionally the type of button it is, defaults to 'button'.",name:"type",required:!1,type:{name:'"button" | "submit" | "reset"'}},color:{defaultValue:null,description:"Optionally the color of the button.",name:"color",required:!1,type:{name:"Color"}},onClick:{defaultValue:null,description:"Optional callback for what needs to happen when the button is clicked.",name:"onClick",required:!1,type:{name:"(event: any) => any"}},inProgress:{defaultValue:{value:"false"},description:"Whether or not the action you are performing is currently in\nprogress. If so a spinner is rendered inside of the button.\nThis behavior is optional and default to `false`.",name:"inProgress",required:!1,type:{name:"boolean"}},className:{defaultValue:null,description:"Optional extra CSS class you want to add to the component.\nUseful for styling the component.",name:"className",required:!1,type:{name:"string"}},disabled:{defaultValue:null,description:"Optionally whether the button is disabled\n\nDefaults to `false`",name:"disabled",required:!1,type:{name:"boolean"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/core/Button/Button.tsx#isWithText"]={docgenInfo:isWithText.__docgenInfo,name:"isWithText",path:"src/core/Button/Button.tsx#isWithText"})}catch(__react_docgen_typescript_loader_error){}},30:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return Tooltip}));var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),_tippyjs_react__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(374);function Tooltip({children:children,placement:placement="top",content:content,offset:offset=0,distance:distance=7,interactive:interactive,maxWidth:maxWidth=350,tag:tag="span",className:className,style:style}){const Tag=tag;return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_tippyjs_react__WEBPACK_IMPORTED_MODULE_1__.a,{className:"border-0",content:react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment,null," ",content," "),placement:placement,offset:[offset,distance],interactive:interactive,maxWidth:maxWidth},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(Tag,{className:className,style:Object.assign({outline:0},style),tabIndex:0},children))}try{Tooltip.displayName="Tooltip",Tooltip.__docgenInfo={description:"Bootstrap-like Tooltip component based on the Tippy.js library.",displayName:"Tooltip",props:{children:{defaultValue:null,description:"Target component that, when hovered, will trigger the tooltip to show up.\nThe target(children) of the tooltip are wrapped into a div.\nThis is a bypass to not have to forward the ref to the DOM node.",name:"children",required:!0,type:{name:"any"}},content:{defaultValue:null,description:"Content shown inside of the tooltip.",name:"content",required:!0,type:{name:"any"}},placement:{defaultValue:{value:"top"},description:"Optional alignment relative to the target where the tooltip will be shown.",name:"placement",required:!1,type:{name:"Placement"}},offset:{defaultValue:{value:0},description:"Optional offset that the popover will show up relative from the target.",name:"offset",required:!1,type:{name:"number"}},distance:{defaultValue:{value:7},description:"Optional distance that the tooltip will show up relative from the target.",name:"distance",required:!1,type:{name:"number"}},interactive:{defaultValue:null,description:"Optional value that allows you to interact with the Tooltip. This is useful for when\nyou have a clickable component inside of your Tooltip.\nWhen set to true, the Tooltip will no longer disappear when clicked",name:"interactive",required:!1,type:{name:"boolean"}},maxWidth:{defaultValue:{value:350},description:"Optional that allows you to override the default max width of the tooltip\nPossible values: number (px), string (with units \"rem\") or string 'none'.",name:"maxWidth",required:!1,type:{name:"ReactText"}},tag:{defaultValue:{value:"span"},description:"Optional that allows you to override the default element that the children get put inside of.\nDefault value is a span.",name:"tag",required:!1,type:{name:'"span" | "div"'}},className:{defaultValue:null,description:"Optional className that is added to the Wrapper component\nAllowing you to add classes like margins and padding that would otherwise get lost\nby the wrapping of the children inside of the CustomTag.",name:"className",required:!1,type:{name:"string"}},style:{defaultValue:null,description:"Optional CSS properties that are added to the Wrapper component\nAllowing you to add CSS properties that would otherwise get lost\nby the wrapping of the children inside of the CustomTag.",name:"style",required:!1,type:{name:"CSSProperties"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/core/Tooltip/Tooltip.tsx#Tooltip"]={docgenInfo:Tooltip.__docgenInfo,name:"Tooltip",path:"src/core/Tooltip/Tooltip.tsx#Tooltip"})}catch(__react_docgen_typescript_loader_error){}},33:function(module,__webpack_exports__,__webpack_require__){"use strict";var react=__webpack_require__(0),react_default=__webpack_require__.n(react),react_final_form_es=__webpack_require__(125),lib=__webpack_require__(502),getDisplayName=__webpack_require__(925),getDisplayName_default=__webpack_require__.n(getDisplayName),react_error_store_lib=__webpack_require__(365),lodash=__webpack_require__(16),FormError=__webpack_require__(356),utils=__webpack_require__(55),Tooltip=__webpack_require__(30);__webpack_require__.d(__webpack_exports__,"a",(function(){return withJarb}));var __rest=function(s,e){var t={};for(var p in s)Object.prototype.hasOwnProperty.call(s,p)&&e.indexOf(p)<0&&(t[p]=s[p]);if(null!=s&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(p=Object.getOwnPropertySymbols(s);ivoid 0!==props[p]);if(illegalProps.length>0){const illegalPropsAsString=prettyPropsSummation(illegalProps,"and"),managedPropsAsString=prettyPropsSummation(managedProps,"or");throw new Error(`\n withJarb: illegal props detected on "${displayName}".\n \n The following illegal props were detected: ${illegalPropsAsString}.\n \n This happens when providing one or multiple of the following \n managed props: ${managedPropsAsString} manually. \n \n You should never provide these props manually instead you should\n trust that "withJarb" will manage these props for you.\n\n Remove the following illegal props: ${illegalPropsAsString}.\n `)}const[hasErrors,setHasErrors]=function useHasErrors(){return Object(react.useState)(!1)}(),{errorMode:errorMode="below",name:name,jarb:jarb,validators:validators,asyncValidators:asyncValidators,asyncValidatorsDebounce:asyncValidatorsDebounce,allowNull:allowNull}=props,rest=__rest(props,["errorMode","name","jarb","validators","asyncValidators","asyncValidatorsDebounce","allowNull"]),wrapperProps=Object(lodash.omit)(rest,passedFieldProps),fieldProps=Object(lodash.pick)(rest,["initialValue","format","formatOnBlur","parse"]),error=react_default.a.createElement(react_final_form_es.Field,{name:name,subscription:{active:!0,touched:!0,error:!0,value:!0,validating:!0},render:field=>react_default.a.createElement(FormError.a,{value:field.input.value,meta:field.meta,validator:jarb.validator,onChange:setHasErrors,className:"tooltip"===errorMode?"withjarb-tooltip":void 0})});return react_default.a.createElement(lib.JarbField,Object.assign({name:name,jarb:jarb,validators:validators,asyncValidators:asyncValidators,asyncValidatorsDebounce:asyncValidatorsDebounce,subscription:{value:!0,invalid:!0,touched:!0,validating:!0},render:field=>hasErrors&&"tooltip"===errorMode?react_default.a.createElement(Tooltip.a,{content:error,tag:"div",className:"w-100",placement:"bottom"},react_default.a.createElement(Wrapper,Object.assign({},wrapperProps,mapFieldRenderProps(field,jarb.validator,hasErrors)))):react_default.a.createElement(Wrapper,Object.assign({},wrapperProps,mapFieldRenderProps(field,jarb.validator,hasErrors),{error:error}))},fieldProps))}return WithJarb.displayName=displayName,WithJarb}function mapFieldRenderProps(props,validator,hasErrors){const{input:input,meta:meta}=props,state=Object(utils.b)({hasErrors:hasErrors,touched:meta.touched});return Object.assign(Object.assign({},state),{onChange:value=>{input.onChange(value),Object(react_error_store_lib.clearErrorsForValidator)(validator)},onFocus:input.onFocus,onBlur:input.onBlur,value:input.value})}function prettyPropsSummation(props,coordinatingConjunction){const lastIndex=props.length-1;return props.map((prop,index)=>{const isLast=index===lastIndex;return`${0===index||isLast?"":", "}${isLast?` ${coordinatingConjunction} `:""}'${prop}'`}).join("")}try{withJarb.displayName="withJarb",withJarb.__docgenInfo={description:"withJarb is a Higher Order Component which takes an input element\nwhich is `FieldCompatible` as defined by the interface, and turns\nit into a Component which uses `JarbField` so it can be used in\na final-form form.\n\nBasically all props needed in `FieldCompatible` are plugged into the\nWrapper, by taking the `input` and `meta` from `final-form` and assigning\nthem into the correct slots.\n\nAlso automatically adds the `FormError` component as the error\nslot so errors are rendered.\n@param Wrapper The Component which is `FieldCompatible`.",displayName:"withJarb",props:{}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/form/withJarb/withJarb.tsx#withJarb"]={docgenInfo:withJarb.__docgenInfo,name:"withJarb",path:"src/form/withJarb/withJarb.tsx#withJarb"})}catch(__react_docgen_typescript_loader_error){}},34:function(module,__webpack_exports__,__webpack_require__){"use strict";function pageWithContent(content){return{content:content,last:!1,totalElements:100,totalPages:10,size:content.length,number:1,first:!0,numberOfElements:content.length}}function pageWithContentAndExactSize(content){return{content:content,last:!0,totalElements:content.length,totalPages:1,size:content.length,number:1,first:!0,numberOfElements:content.length}}__webpack_require__.d(__webpack_exports__,"a",(function(){return pageWithContent})),__webpack_require__.d(__webpack_exports__,"b",(function(){return pageWithContentAndExactSize}));window.setTimeout;try{pageWithContent.displayName="pageWithContent",pageWithContent.__docgenInfo={description:"",displayName:"pageWithContent",props:{length:{defaultValue:null,description:"Gets or sets the length of the array. This is a number one higher than the highest element defined in an array.",name:"length",required:!0,type:{name:"number"}},toString:{defaultValue:null,description:"Returns a string representation of an array.",name:"toString",required:!1,type:{name:"() => string"}},toLocaleString:{defaultValue:null,description:"Returns a string representation of an array. The elements are converted to string using their toLocalString methods.",name:"toLocaleString",required:!1,type:{name:"() => string"}},pop:{defaultValue:null,description:"Removes the last element from an array and returns it.",name:"pop",required:!0,type:{name:"() => T"}},push:{defaultValue:null,description:"Appends new elements to an array, and returns the new length of the array.\n@param items New elements of the Array.",name:"push",required:!0,type:{name:"(...items: T[]) => number"}},concat:{defaultValue:null,description:"Combines two or more arrays.\nCombines two or more arrays.\n@param items Additional items to add to the end of array1.\n@param items Additional items to add to the end of array1.",name:"concat",required:!0,type:{name:"{ (...items: ConcatArray[]): T[]; (...items: (T | ConcatArray)[]): T[]; }"}},join:{defaultValue:null,description:"Adds all the elements of an array separated by the specified separator string.\n@param separator A string used to separate one element of an array from the next in the resulting String. If omitted, the array elements are separated with a comma.",name:"join",required:!0,type:{name:"(separator?: string) => string"}},reverse:{defaultValue:null,description:"Reverses the elements in an Array.",name:"reverse",required:!0,type:{name:"() => T[]"}},shift:{defaultValue:null,description:"Removes the first element from an array and returns it.",name:"shift",required:!0,type:{name:"() => T"}},slice:{defaultValue:null,description:"Returns a section of an array.\n@param start The beginning of the specified portion of the array.\n@param end The end of the specified portion of the array. This is exclusive of the element at the index 'end'.",name:"slice",required:!0,type:{name:"(start?: number, end?: number) => T[]"}},sort:{defaultValue:null,description:"Sorts an array.\n@param compareFn Function used to determine the order of the elements. It is expected to return\ra negative value if first argument is less than second argument, zero if they're equal and a positive\rvalue otherwise. If omitted, the elements are sorted in ascending, ASCII character order.\r```ts\r[11,2,22,1].sort((a, b) => a - b)\r```",name:"sort",required:!0,type:{name:"(compareFn?: (a: T, b: T) => number) => T[]"}},splice:{defaultValue:null,description:"Removes elements from an array and, if necessary, inserts new elements in their place, returning the deleted elements.\nRemoves elements from an array and, if necessary, inserts new elements in their place, returning the deleted elements.\n@param start The zero-based location in the array from which to start removing elements.\n@param deleteCount The number of elements to remove.\n@param start The zero-based location in the array from which to start removing elements.\n@param deleteCount The number of elements to remove.\n@param items Elements to insert into the array in place of the deleted elements.",name:"splice",required:!0,type:{name:"{ (start: number, deleteCount?: number): T[]; (start: number, deleteCount: number, ...items: T[]): T[]; }"}},unshift:{defaultValue:null,description:"Inserts new elements at the start of an array.\n@param items Elements to insert at the start of the Array.",name:"unshift",required:!0,type:{name:"(...items: T[]) => number"}},indexOf:{defaultValue:null,description:"Returns the index of the first occurrence of a value in an array.\n@param searchElement The value to locate in the array.\n@param fromIndex The array index at which to begin the search. If fromIndex is omitted, the search starts at index 0.",name:"indexOf",required:!0,type:{name:"(searchElement: T, fromIndex?: number) => number"}},lastIndexOf:{defaultValue:null,description:"Returns the index of the last occurrence of a specified value in an array.\n@param searchElement The value to locate in the array.\n@param fromIndex The array index at which to begin the search. If fromIndex is omitted, the search starts at the last index in the array.",name:"lastIndexOf",required:!0,type:{name:"(searchElement: T, fromIndex?: number) => number"}},every:{defaultValue:null,description:"Determines whether all the members of an array satisfy the specified test.\n@param callbackfn A function that accepts up to three arguments. The every method calls\rthe callbackfn function for each element in the array until the callbackfn returns a value\rwhich is coercible to the Boolean value false, or until the end of the array.\n@param thisArg An object to which the this keyword can refer in the callbackfn function.\rIf thisArg is omitted, undefined is used as the this value.",name:"every",required:!0,type:{name:"(callbackfn: (value: T, index: number, array: T[]) => unknown, thisArg?: any) => boolean"}},some:{defaultValue:null,description:"Determines whether the specified callback function returns true for any element of an array.\n@param callbackfn A function that accepts up to three arguments. The some method calls\rthe callbackfn function for each element in the array until the callbackfn returns a value\rwhich is coercible to the Boolean value true, or until the end of the array.\n@param thisArg An object to which the this keyword can refer in the callbackfn function.\rIf thisArg is omitted, undefined is used as the this value.",name:"some",required:!0,type:{name:"(callbackfn: (value: T, index: number, array: T[]) => unknown, thisArg?: any) => boolean"}},forEach:{defaultValue:null,description:"Performs the specified action for each element in an array.\n@param callbackfn A function that accepts up to three arguments. forEach calls the callbackfn function one time for each element in the array.\n@param thisArg An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value.",name:"forEach",required:!0,type:{name:"(callbackfn: (value: T, index: number, array: T[]) => void, thisArg?: any) => void"}},map:{defaultValue:null,description:"Calls a defined callback function on each element of an array, and returns an array that contains the results.\n@param callbackfn A function that accepts up to three arguments. The map method calls the callbackfn function one time for each element in the array.\n@param thisArg An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value.",name:"map",required:!0,type:{name:"(callbackfn: (value: T, index: number, array: T[]) => U, thisArg?: any) => U[]"}},filter:{defaultValue:null,description:"Returns the elements of an array that meet the condition specified in a callback function.\nReturns the elements of an array that meet the condition specified in a callback function.\n@param callbackfn A function that accepts up to three arguments. The filter method calls the callbackfn function one time for each element in the array.\n@param thisArg An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value.\n@param callbackfn A function that accepts up to three arguments. The filter method calls the callbackfn function one time for each element in the array.\n@param thisArg An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value.",name:"filter",required:!0,type:{name:"{ (callbackfn: (value: T, index: number, array: T[]) => value is S, thisArg?: any): S[]; (callbackfn: (value: T, index: number, array: T[]) => unknown, thisArg?: any): T[]; }"}},reduce:{defaultValue:null,description:"Calls the specified callback function for all the elements in an array. The return value of the callback function is the accumulated result, and is provided as an argument in the next call to the callback function.\nCalls the specified callback function for all the elements in an array. The return value of the callback function is the accumulated result, and is provided as an argument in the next call to the callback function.\n@param callbackfn A function that accepts up to four arguments. The reduce method calls the callbackfn function one time for each element in the array.\n@param initialValue If initialValue is specified, it is used as the initial value to start the accumulation. The first call to the callbackfn function provides this value as an argument instead of an array value.\n@param callbackfn A function that accepts up to four arguments. The reduce method calls the callbackfn function one time for each element in the array.\n@param initialValue If initialValue is specified, it is used as the initial value to start the accumulation. The first call to the callbackfn function provides this value as an argument instead of an array value.",name:"reduce",required:!0,type:{name:"{ (callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T): T; (callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue: T): T; (callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U; }"}},reduceRight:{defaultValue:null,description:"Calls the specified callback function for all the elements in an array, in descending order. The return value of the callback function is the accumulated result, and is provided as an argument in the next call to the callback function.\nCalls the specified callback function for all the elements in an array, in descending order. The return value of the callback function is the accumulated result, and is provided as an argument in the next call to the callback function.\n@param callbackfn A function that accepts up to four arguments. The reduceRight method calls the callbackfn function one time for each element in the array.\n@param initialValue If initialValue is specified, it is used as the initial value to start the accumulation. The first call to the callbackfn function provides this value as an argument instead of an array value.\n@param callbackfn A function that accepts up to four arguments. The reduceRight method calls the callbackfn function one time for each element in the array.\n@param initialValue If initialValue is specified, it is used as the initial value to start the accumulation. The first call to the callbackfn function provides this value as an argument instead of an array value.",name:"reduceRight",required:!0,type:{name:"{ (callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T): T; (callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue: T): T; (callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U; }"}},find:{defaultValue:null,description:"Returns the value of the first element in the array where predicate is true, and undefined\notherwise.\n@param predicate find calls predicate once for each element of the array, in ascending\rorder, until it finds one where predicate returns true. If such an element is found, find\rimmediately returns that element value. Otherwise, find returns undefined.\n@param thisArg If provided, it will be used as the this value for each invocation of\rpredicate. If it is not provided, undefined is used instead.",name:"find",required:!0,type:{name:"{ (predicate: (this: void, value: T, index: number, obj: T[]) => value is S, thisArg?: any): S; (predicate: (value: T, index: number, obj: T[]) => unknown, thisArg?: any): T; }"}},findIndex:{defaultValue:null,description:"Returns the index of the first element in the array where predicate is true, and -1\notherwise.\n@param predicate find calls predicate once for each element of the array, in ascending\rorder, until it finds one where predicate returns true. If such an element is found,\rfindIndex immediately returns that element index. Otherwise, findIndex returns -1.\n@param thisArg If provided, it will be used as the this value for each invocation of\rpredicate. If it is not provided, undefined is used instead.",name:"findIndex",required:!0,type:{name:"(predicate: (value: T, index: number, obj: T[]) => unknown, thisArg?: any) => number"}},fill:{defaultValue:null,description:"Returns the this object after filling the section identified by start and end with value\n@param value value to fill array section with\n@param start index to start filling the array at. If start is negative, it is treated as\rlength+start where length is the length of the array.\n@param end index to stop filling the array at. If end is negative, it is treated as\rlength+end.",name:"fill",required:!0,type:{name:"(value: T, start?: number, end?: number) => T[]"}},copyWithin:{defaultValue:null,description:"Returns the this object after copying a section of the array identified by start and end\nto the same array starting at position target\n@param target If target is negative, it is treated as length+target where length is the\rlength of the array.\n@param start If start is negative, it is treated as length+start. If end is negative, it\ris treated as length+end.\n@param end If not specified, length of the this object is used as its default value.",name:"copyWithin",required:!0,type:{name:"(target: number, start: number, end?: number) => T[]"}},"__@iterator":{defaultValue:null,description:"Iterator",name:"__@iterator",required:!0,type:{name:"() => IterableIterator"}},entries:{defaultValue:null,description:"Returns an iterable of key, value pairs for every entry in the array",name:"entries",required:!0,type:{name:"() => IterableIterator<[number, T]>"}},keys:{defaultValue:null,description:"Returns an iterable of keys in the array",name:"keys",required:!0,type:{name:"() => IterableIterator"}},values:{defaultValue:null,description:"Returns an iterable of values in the array",name:"values",required:!0,type:{name:"() => IterableIterator"}},"__@unscopables":{defaultValue:null,description:"Returns an object whose properties have the value 'true'\nwhen they will be absent when used in a 'with' statement.",name:"__@unscopables",required:!0,type:{name:"() => { copyWithin: boolean; entries: boolean; fill: boolean; find: boolean; findIndex: boolean; keys: boolean; values: boolean; }"}},includes:{defaultValue:null,description:"Determines whether an array includes a certain element, returning true or false as appropriate.\n@param searchElement The element to search for.\n@param fromIndex The position in this array at which to begin searching for searchElement.",name:"includes",required:!0,type:{name:"(searchElement: T, fromIndex?: number) => boolean"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/test/utils.tsx#pageWithContent"]={docgenInfo:pageWithContent.__docgenInfo,name:"pageWithContent",path:"src/test/utils.tsx#pageWithContent"})}catch(__react_docgen_typescript_loader_error){}try{pageWithContentAndExactSize.displayName="pageWithContentAndExactSize",pageWithContentAndExactSize.__docgenInfo={description:"",displayName:"pageWithContentAndExactSize",props:{length:{defaultValue:null,description:"Gets or sets the length of the array. This is a number one higher than the highest element defined in an array.",name:"length",required:!0,type:{name:"number"}},toString:{defaultValue:null,description:"Returns a string representation of an array.",name:"toString",required:!1,type:{name:"() => string"}},toLocaleString:{defaultValue:null,description:"Returns a string representation of an array. The elements are converted to string using their toLocalString methods.",name:"toLocaleString",required:!1,type:{name:"() => string"}},pop:{defaultValue:null,description:"Removes the last element from an array and returns it.",name:"pop",required:!0,type:{name:"() => T"}},push:{defaultValue:null,description:"Appends new elements to an array, and returns the new length of the array.\n@param items New elements of the Array.",name:"push",required:!0,type:{name:"(...items: T[]) => number"}},concat:{defaultValue:null,description:"Combines two or more arrays.\nCombines two or more arrays.\n@param items Additional items to add to the end of array1.\n@param items Additional items to add to the end of array1.",name:"concat",required:!0,type:{name:"{ (...items: ConcatArray[]): T[]; (...items: (T | ConcatArray)[]): T[]; }"}},join:{defaultValue:null,description:"Adds all the elements of an array separated by the specified separator string.\n@param separator A string used to separate one element of an array from the next in the resulting String. If omitted, the array elements are separated with a comma.",name:"join",required:!0,type:{name:"(separator?: string) => string"}},reverse:{defaultValue:null,description:"Reverses the elements in an Array.",name:"reverse",required:!0,type:{name:"() => T[]"}},shift:{defaultValue:null,description:"Removes the first element from an array and returns it.",name:"shift",required:!0,type:{name:"() => T"}},slice:{defaultValue:null,description:"Returns a section of an array.\n@param start The beginning of the specified portion of the array.\n@param end The end of the specified portion of the array. This is exclusive of the element at the index 'end'.",name:"slice",required:!0,type:{name:"(start?: number, end?: number) => T[]"}},sort:{defaultValue:null,description:"Sorts an array.\n@param compareFn Function used to determine the order of the elements. It is expected to return\ra negative value if first argument is less than second argument, zero if they're equal and a positive\rvalue otherwise. If omitted, the elements are sorted in ascending, ASCII character order.\r```ts\r[11,2,22,1].sort((a, b) => a - b)\r```",name:"sort",required:!0,type:{name:"(compareFn?: (a: T, b: T) => number) => T[]"}},splice:{defaultValue:null,description:"Removes elements from an array and, if necessary, inserts new elements in their place, returning the deleted elements.\nRemoves elements from an array and, if necessary, inserts new elements in their place, returning the deleted elements.\n@param start The zero-based location in the array from which to start removing elements.\n@param deleteCount The number of elements to remove.\n@param start The zero-based location in the array from which to start removing elements.\n@param deleteCount The number of elements to remove.\n@param items Elements to insert into the array in place of the deleted elements.",name:"splice",required:!0,type:{name:"{ (start: number, deleteCount?: number): T[]; (start: number, deleteCount: number, ...items: T[]): T[]; }"}},unshift:{defaultValue:null,description:"Inserts new elements at the start of an array.\n@param items Elements to insert at the start of the Array.",name:"unshift",required:!0,type:{name:"(...items: T[]) => number"}},indexOf:{defaultValue:null,description:"Returns the index of the first occurrence of a value in an array.\n@param searchElement The value to locate in the array.\n@param fromIndex The array index at which to begin the search. If fromIndex is omitted, the search starts at index 0.",name:"indexOf",required:!0,type:{name:"(searchElement: T, fromIndex?: number) => number"}},lastIndexOf:{defaultValue:null,description:"Returns the index of the last occurrence of a specified value in an array.\n@param searchElement The value to locate in the array.\n@param fromIndex The array index at which to begin the search. If fromIndex is omitted, the search starts at the last index in the array.",name:"lastIndexOf",required:!0,type:{name:"(searchElement: T, fromIndex?: number) => number"}},every:{defaultValue:null,description:"Determines whether all the members of an array satisfy the specified test.\n@param callbackfn A function that accepts up to three arguments. The every method calls\rthe callbackfn function for each element in the array until the callbackfn returns a value\rwhich is coercible to the Boolean value false, or until the end of the array.\n@param thisArg An object to which the this keyword can refer in the callbackfn function.\rIf thisArg is omitted, undefined is used as the this value.",name:"every",required:!0,type:{name:"(callbackfn: (value: T, index: number, array: T[]) => unknown, thisArg?: any) => boolean"}},some:{defaultValue:null,description:"Determines whether the specified callback function returns true for any element of an array.\n@param callbackfn A function that accepts up to three arguments. The some method calls\rthe callbackfn function for each element in the array until the callbackfn returns a value\rwhich is coercible to the Boolean value true, or until the end of the array.\n@param thisArg An object to which the this keyword can refer in the callbackfn function.\rIf thisArg is omitted, undefined is used as the this value.",name:"some",required:!0,type:{name:"(callbackfn: (value: T, index: number, array: T[]) => unknown, thisArg?: any) => boolean"}},forEach:{defaultValue:null,description:"Performs the specified action for each element in an array.\n@param callbackfn A function that accepts up to three arguments. forEach calls the callbackfn function one time for each element in the array.\n@param thisArg An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value.",name:"forEach",required:!0,type:{name:"(callbackfn: (value: T, index: number, array: T[]) => void, thisArg?: any) => void"}},map:{defaultValue:null,description:"Calls a defined callback function on each element of an array, and returns an array that contains the results.\n@param callbackfn A function that accepts up to three arguments. The map method calls the callbackfn function one time for each element in the array.\n@param thisArg An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value.",name:"map",required:!0,type:{name:"(callbackfn: (value: T, index: number, array: T[]) => U, thisArg?: any) => U[]"}},filter:{defaultValue:null,description:"Returns the elements of an array that meet the condition specified in a callback function.\nReturns the elements of an array that meet the condition specified in a callback function.\n@param callbackfn A function that accepts up to three arguments. The filter method calls the callbackfn function one time for each element in the array.\n@param thisArg An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value.\n@param callbackfn A function that accepts up to three arguments. The filter method calls the callbackfn function one time for each element in the array.\n@param thisArg An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value.",name:"filter",required:!0,type:{name:"{ (callbackfn: (value: T, index: number, array: T[]) => value is S, thisArg?: any): S[]; (callbackfn: (value: T, index: number, array: T[]) => unknown, thisArg?: any): T[]; }"}},reduce:{defaultValue:null,description:"Calls the specified callback function for all the elements in an array. The return value of the callback function is the accumulated result, and is provided as an argument in the next call to the callback function.\nCalls the specified callback function for all the elements in an array. The return value of the callback function is the accumulated result, and is provided as an argument in the next call to the callback function.\n@param callbackfn A function that accepts up to four arguments. The reduce method calls the callbackfn function one time for each element in the array.\n@param initialValue If initialValue is specified, it is used as the initial value to start the accumulation. The first call to the callbackfn function provides this value as an argument instead of an array value.\n@param callbackfn A function that accepts up to four arguments. The reduce method calls the callbackfn function one time for each element in the array.\n@param initialValue If initialValue is specified, it is used as the initial value to start the accumulation. The first call to the callbackfn function provides this value as an argument instead of an array value.",name:"reduce",required:!0,type:{name:"{ (callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T): T; (callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue: T): T; (callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U; }"}},reduceRight:{defaultValue:null,description:"Calls the specified callback function for all the elements in an array, in descending order. The return value of the callback function is the accumulated result, and is provided as an argument in the next call to the callback function.\nCalls the specified callback function for all the elements in an array, in descending order. The return value of the callback function is the accumulated result, and is provided as an argument in the next call to the callback function.\n@param callbackfn A function that accepts up to four arguments. The reduceRight method calls the callbackfn function one time for each element in the array.\n@param initialValue If initialValue is specified, it is used as the initial value to start the accumulation. The first call to the callbackfn function provides this value as an argument instead of an array value.\n@param callbackfn A function that accepts up to four arguments. The reduceRight method calls the callbackfn function one time for each element in the array.\n@param initialValue If initialValue is specified, it is used as the initial value to start the accumulation. The first call to the callbackfn function provides this value as an argument instead of an array value.",name:"reduceRight",required:!0,type:{name:"{ (callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T): T; (callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue: T): T; (callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U; }"}},find:{defaultValue:null,description:"Returns the value of the first element in the array where predicate is true, and undefined\notherwise.\n@param predicate find calls predicate once for each element of the array, in ascending\rorder, until it finds one where predicate returns true. If such an element is found, find\rimmediately returns that element value. Otherwise, find returns undefined.\n@param thisArg If provided, it will be used as the this value for each invocation of\rpredicate. If it is not provided, undefined is used instead.",name:"find",required:!0,type:{name:"{ (predicate: (this: void, value: T, index: number, obj: T[]) => value is S, thisArg?: any): S; (predicate: (value: T, index: number, obj: T[]) => unknown, thisArg?: any): T; }"}},findIndex:{defaultValue:null,description:"Returns the index of the first element in the array where predicate is true, and -1\notherwise.\n@param predicate find calls predicate once for each element of the array, in ascending\rorder, until it finds one where predicate returns true. If such an element is found,\rfindIndex immediately returns that element index. Otherwise, findIndex returns -1.\n@param thisArg If provided, it will be used as the this value for each invocation of\rpredicate. If it is not provided, undefined is used instead.",name:"findIndex",required:!0,type:{name:"(predicate: (value: T, index: number, obj: T[]) => unknown, thisArg?: any) => number"}},fill:{defaultValue:null,description:"Returns the this object after filling the section identified by start and end with value\n@param value value to fill array section with\n@param start index to start filling the array at. If start is negative, it is treated as\rlength+start where length is the length of the array.\n@param end index to stop filling the array at. If end is negative, it is treated as\rlength+end.",name:"fill",required:!0,type:{name:"(value: T, start?: number, end?: number) => T[]"}},copyWithin:{defaultValue:null,description:"Returns the this object after copying a section of the array identified by start and end\nto the same array starting at position target\n@param target If target is negative, it is treated as length+target where length is the\rlength of the array.\n@param start If start is negative, it is treated as length+start. If end is negative, it\ris treated as length+end.\n@param end If not specified, length of the this object is used as its default value.",name:"copyWithin",required:!0,type:{name:"(target: number, start: number, end?: number) => T[]"}},"__@iterator":{defaultValue:null,description:"Iterator",name:"__@iterator",required:!0,type:{name:"() => IterableIterator"}},entries:{defaultValue:null,description:"Returns an iterable of key, value pairs for every entry in the array",name:"entries",required:!0,type:{name:"() => IterableIterator<[number, T]>"}},keys:{defaultValue:null,description:"Returns an iterable of keys in the array",name:"keys",required:!0,type:{name:"() => IterableIterator"}},values:{defaultValue:null,description:"Returns an iterable of values in the array",name:"values",required:!0,type:{name:"() => IterableIterator"}},"__@unscopables":{defaultValue:null,description:"Returns an object whose properties have the value 'true'\nwhen they will be absent when used in a 'with' statement.",name:"__@unscopables",required:!0,type:{name:"() => { copyWithin: boolean; entries: boolean; fill: boolean; find: boolean; findIndex: boolean; keys: boolean; values: boolean; }"}},includes:{defaultValue:null,description:"Determines whether an array includes a certain element, returning true or false as appropriate.\n@param searchElement The element to search for.\n@param fromIndex The position in this array at which to begin searching for searchElement.",name:"includes",required:!0,type:{name:"(searchElement: T, fromIndex?: number) => boolean"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/test/utils.tsx#pageWithContentAndExactSize"]={docgenInfo:pageWithContentAndExactSize.__docgenInfo,name:"pageWithContentAndExactSize",path:"src/test/utils.tsx#pageWithContentAndExactSize"})}catch(__react_docgen_typescript_loader_error){}},35:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return EpicRow}));var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);function EpicRow({children:children}){return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment,null,children)}try{EpicRow.displayName="EpicRow",EpicRow.__docgenInfo={description:"The EpicRow is the EpicTable's version of a . It has no inherent\nbehavior / UI of its own but is used to by the EpicTable to divide\nthe table into rows.\n\nWhen the row is a header the EpicTable will collect al subsequent\nEpicRow's which are not headers underneath the header, until it\nfinds another EpicRow which is a header. This creates so called\nsections.",displayName:"EpicRow",props:{children:{defaultValue:null,description:"The cells of the EpicRow",name:"children",required:!0,type:{name:"any"}},header:{defaultValue:null,description:"Whether or not this EpicRow is a header.",name:"header",required:!1,type:{name:"boolean"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/table/EpicTable/rows/EpicRow/EpicRow.tsx#EpicRow"]={docgenInfo:EpicRow.__docgenInfo,name:"EpicRow",path:"src/table/EpicTable/rows/EpicRow/EpicRow.tsx#EpicRow"})}catch(__react_docgen_typescript_loader_error){}},352:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return useShowSpinner}));var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0);function useShowSpinner(show){const[showSpinner,setShowSpinner]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(show);return Object(react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{let timer=void 0;return show?timer=window.setTimeout(()=>{setShowSpinner(!0)},200):setShowSpinner(!1),()=>{window.clearTimeout(timer)}},[show]),showSpinner}try{useShowSpinner.displayName="useShowSpinner",useShowSpinner.__docgenInfo={description:"Only show the Spinner when 200 milliseconds have past.\nThis prevents very short loading periods from showing the animation,\nseeing the Spinner very briefly looks very glitchy.\n@param show",displayName:"useShowSpinner",props:{valueOf:{defaultValue:null,description:"Returns the primitive value of the specified object.",name:"valueOf",required:!1,type:{name:"() => boolean"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/core/Button/useShowSpinner.tsx#useShowSpinner"]={docgenInfo:useShowSpinner.__docgenInfo,name:"useShowSpinner",path:"src/core/Button/useShowSpinner.tsx#useShowSpinner"})}catch(__react_docgen_typescript_loader_error){}},353:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return AvatarStack}));var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),classnames__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(8),classnames__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_1__);function AvatarStack({children:children,className:className}){return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:classnames__WEBPACK_IMPORTED_MODULE_1___default()("avatar-stack",className)},children)}try{AvatarStack.displayName="AvatarStack",AvatarStack.__docgenInfo={description:"AvatarStack is a component which shows a row of overlapped avatars.\nUse it for instance when you want to show multiple thumbnails of users in an organized way.",displayName:"AvatarStack",props:{children:{defaultValue:null,description:"Element underneath the image.",name:"children",required:!0,type:{name:"any"}},className:{defaultValue:null,description:"Optional extra CSS class you want to add to the component.\nUseful for styling the component.",name:"className",required:!1,type:{name:"string"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/core/Avatar/AvatarStack.tsx#AvatarStack"]={docgenInfo:AvatarStack.__docgenInfo,name:"AvatarStack",path:"src/core/Avatar/AvatarStack.tsx#AvatarStack"})}catch(__react_docgen_typescript_loader_error){}},354:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return useShowAfter}));var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0);function useShowAfter(after){const[show,setShow]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(!1);return Object(react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{const timeoutId=window.setTimeout(()=>{setShow(!0)},after);return()=>{window.clearTimeout(timeoutId)}},[after]),show}try{useShowAfter.displayName="useShowAfter",useShowAfter.__docgenInfo={description:"Returns `false` but after a predetermined `after` time returns\n`true`.\n\nUseful for wanting to show content only after a time. For example\nto not show a loading spinner to soon, only\nafter it takes a while.\n@param number after The amount of time in milliseconds after which the return value should become `true`.",displayName:"useShowAfter",props:{toString:{defaultValue:null,description:"Returns a string representation of an object.\n@param radix Specifies a radix for converting numeric values to strings. This value is only used for numbers.",name:"toString",required:!1,type:{name:"(radix?: number) => string"}},toFixed:{defaultValue:null,description:"Returns a string representing a number in fixed-point notation.\n@param fractionDigits Number of digits after the decimal point. Must be in the range 0 - 20, inclusive.",name:"toFixed",required:!0,type:{name:"(fractionDigits?: number) => string"}},toExponential:{defaultValue:null,description:"Returns a string containing a number represented in exponential notation.\n@param fractionDigits Number of digits after the decimal point. Must be in the range 0 - 20, inclusive.",name:"toExponential",required:!0,type:{name:"(fractionDigits?: number) => string"}},toPrecision:{defaultValue:null,description:"Returns a string containing a number represented either in exponential or fixed-point notation with a specified number of digits.\n@param precision Number of significant digits. Must be in the range 1 - 21, inclusive.",name:"toPrecision",required:!0,type:{name:"(precision?: number) => string"}},valueOf:{defaultValue:null,description:"Returns the primitive value of the specified object.",name:"valueOf",required:!1,type:{name:"() => number"}},toLocaleString:{defaultValue:null,description:"Converts a number to a string by using the current or specified locale.\n@param locales A locale string or array of locale strings that contain one or more language or locale tags. If you include more than one locale string, list them in descending order of priority so that the first entry is the preferred locale. If you omit this parameter, the default locale of the JavaScript runtime is used.\n@param options An object that contains one or more properties that specify comparison options.",name:"toLocaleString",required:!1,type:{name:"(locales?: string | string[], options?: NumberFormatOptions) => string"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/core/useShowAfter/useShowAfter.tsx#useShowAfter"]={docgenInfo:useShowAfter.__docgenInfo,name:"useShowAfter",path:"src/core/useShowAfter/useShowAfter.tsx#useShowAfter"})}catch(__react_docgen_typescript_loader_error){}},355:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return EpicExpander}));var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),_core_Button_Button__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(3);function EpicExpander({open:open,onChange:onChange}){const icon=open?"expand_less":"expand_more";return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_Button_Button__WEBPACK_IMPORTED_MODULE_1__.a,{color:"dark",icon:icon,onClick:()=>onChange(!open)})}try{EpicExpander.displayName="EpicExpander",EpicExpander.__docgenInfo={description:"The EpicExpander is a button which can be used to open up an\nEpicExpanderRow.",displayName:"EpicExpander",props:{open:{defaultValue:null,description:"Whether or not the expander is currently open.",name:"open",required:!0,type:{name:"boolean"}},onChange:{defaultValue:null,description:"The callback for when the open state changes.",name:"onChange",required:!0,type:{name:"(open: boolean) => void"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/table/EpicTable/widgets/EpicExpander/EpicExpander.tsx#EpicExpander"]={docgenInfo:EpicExpander.__docgenInfo,name:"EpicExpander",path:"src/table/EpicTable/widgets/EpicExpander/EpicExpander.tsx#EpicExpander"})}catch(__react_docgen_typescript_loader_error){}},356:function(module,__webpack_exports__,__webpack_require__){"use strict";var react=__webpack_require__(0),react_default=__webpack_require__.n(react),FormFeedback=__webpack_require__(2338),lib=__webpack_require__(365),translation_translator=__webpack_require__(232);function errorMessage(error){const translator=Object(translation_translator.a)();if("string"==typeof error||react_default.a.isValidElement(error))return error;if(void 0===error.type)return translator(error);const validationError=error;switch(validationError.type){case"ERROR_REQUIRED":return translator({key:"JarbFinalForm.VALIDATION.REQUIRED",data:validationError,fallback:`${validationError.label} is required`});case"ERROR_MINIMUM_LENGTH":return translator({key:"JarbFinalForm.VALIDATION.MINIMUM_LENGTH",data:validationError,fallback:`${validationError.label} must be bigger than ${validationError.reasons.minimumLength} characters`});case"ERROR_MAXIMUM_LENGTH":return translator({key:"JarbFinalForm.VALIDATION.MAXIMUM_LENGTH",data:validationError,fallback:`${validationError.label} must be smaller than ${validationError.reasons.maximumLength} characters`});case"ERROR_MIN_VALUE":return translator({key:"JarbFinalForm.VALIDATION.MIN_VALUE",data:validationError,fallback:`${validationError.label} must be more than ${validationError.reasons.minValue}`});case"ERROR_MAX_VALUE":return translator({key:"JarbFinalForm.VALIDATION.MAX_VALUE",data:validationError,fallback:`${validationError.label} must be less than ${validationError.reasons.maxValue}`});case"ERROR_NUMBER":return translator({key:"JarbFinalForm.VALIDATION.NUMBER",data:validationError,fallback:`${validationError.label} is not a number`});case"ERROR_NUMBER_FRACTION":return translator({key:"JarbFinalForm.VALIDATION.NUMBER_FRACTION",data:validationError,fallback:`${validationError.label} is not a number. Number may have ${validationError.reasons.fractionLength} digits behind the comma`});default:return translator({key:"FormError.UNKNOWN_ERROR",fallback:"Something is wrong"})}}try{errorMessage.displayName="errorMessage",errorMessage.__docgenInfo={description:"",displayName:"errorMessage",props:{toString:{defaultValue:null,description:"Returns a string representation of a string.\nReturns a string representation of an object.\nReturns a string representation of an object.\nReturns a string representation of an array.\n@param radix Specifies a radix for converting numeric values to strings. This value is only used for numbers.",name:"toString",required:!1,type:{name:"(() => string) | ((radix?: number) => string) | (() => string) | (() => string)"}},valueOf:{defaultValue:null,description:"Returns the primitive value of the specified object.\nReturns the primitive value of the specified object.\nReturns the primitive value of the specified object.\nReturns the primitive value of the specified object.",name:"valueOf",required:!1,type:{name:"(() => boolean) | (() => string) | (() => number) | (() => Object)"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/form/FormError/utils.tsx#errorMessage"]={docgenInfo:errorMessage.__docgenInfo,name:"errorMessage",path:"src/form/FormError/utils.tsx#errorMessage"})}catch(__react_docgen_typescript_loader_error){}var lodash=__webpack_require__(16);function useSettledErrors(meta,value){const{error:error,active:active,touched:touched}=meta,[errorCache]=Object(react.useState)({}),errors=void 0===error?[]:Object(lodash.isArray)(error)?error:[error],[settledErrors,setSettledErrors]=Object(react.useState)(errors),hasErrors=errors.length>0;return Object(react.useEffect)(()=>{let timeout;function showErrors(){errorCache[value]=errors,setSettledErrors(errors)}function hideErrors(){settledErrors.length>0&&void 0===errorCache[value]&&setSettledErrors([])}return active?timeout=hasErrors?window.setTimeout(showErrors,5e3):window.setTimeout(hideErrors,100):hasErrors?touched?timeout=window.setTimeout(showErrors,100):hideErrors():timeout=window.setTimeout(hideErrors,2e3),()=>{window.clearTimeout(timeout)}},[hasErrors,active,touched,errors,settledErrors.length,errorCache,value]),settledErrors}try{useSettledErrors.displayName="useSettledErrors",useSettledErrors.__docgenInfo={description:"Final form considers a form to be `valid` when it is `validating`\nthe input. Basically you are innocent until proven guilty.\n\nThis is annoying when the user has already made an error. Each\ntime that the input in `validating` the input is considered `valid`\nagain. Even though it was in an error state. This causes rapid\nalternations between `valid` and `invalid`.\n\nWhen using async validation the effect becomes very pronounced,\nyou will see the errors being displayed and removed very quickly.\nThis causes the UI to jitter and move all over the place.\n\nThe solution is `useSettledErrors`, it basically debounces the\nerrors, this means that if N changes happen in rapid succession\nonly the last state change is shown.\n\nIt also stores the `value` and the resulting `error` whenever an\nerror does occur. This way when the same value is encountered it\nwill return the previous error. This way when `final-form` is\nrunning async validations we still consider it an error.\n@param meta\n@param value",displayName:"useSettledErrors",props:{}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/form/FormError/useSettledErrors.ts#useSettledErrors"]={docgenInfo:useSettledErrors.__docgenInfo,name:"useSettledErrors",path:"src/form/FormError/useSettledErrors.ts#useSettledErrors"})}catch(__react_docgen_typescript_loader_error){}function FormError(props){const{value:value,meta:meta,validator:validator,onChange:onChange,className:className}=props,backEndErrors=Object(lib.useErrorsForValidator)(validator),frontEndErrors=useSettledErrors(meta,value),hasErrors=backEndErrors.length>0||frontEndErrors.length>0;return function useOnChange(hasErrors,onChange){Object(react.useEffect)(()=>{onChange&&onChange(hasErrors)},[hasErrors,onChange])}(hasErrors,onChange),hasErrors?react_default.a.createElement("div",{className:className},frontEndErrors.map((e,index)=>react_default.a.createElement(FormFeedback.a,{key:`${index}`},errorMessage(e))),backEndErrors.map(e=>react_default.a.createElement(FormFeedback.a,{key:e},errorMessage(e)))):null}__webpack_require__.d(__webpack_exports__,"a",(function(){return FormError}));try{FormError.displayName="FormError",FormError.__docgenInfo={description:"The FormError component renders errors coming from the front-end\nand the back-end. It ties the front-end and back-end errors together\nbased on the the validator.\n\nA validator is a string which looks like this: `User.name` the format\nis `Entity.property`.",displayName:"FormError",props:{value:{defaultValue:null,description:"The value for this form error.",name:"value",required:!0,type:{name:"any"}},meta:{defaultValue:null,description:"The meta object to render the errors for.",name:"meta",required:!0,type:{name:"Meta"}},validator:{defaultValue:null,description:"The validator for which the FormError should render the errors.",name:"validator",required:!0,type:{name:"string"}},onChange:{defaultValue:null,description:"Optionally: callback which is called when there are errors or\nthey are removed.",name:"onChange",required:!1,type:{name:"OnChange"}},className:{defaultValue:null,description:"Optionally: classes to put on the div around the errors.",name:"className",required:!1,type:{name:"string"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/form/FormError/FormError.tsx#FormError"]={docgenInfo:FormError.__docgenInfo,name:"FormError",path:"src/form/FormError/FormError.tsx#FormError"})}catch(__react_docgen_typescript_loader_error){}},364:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return useBodyFixOnModalClose}));var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0);function useBodyFixOnModalClose(isOpen){Object(react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{var _a;isOpen||null===(_a=document.querySelector("body"))||void 0===_a||_a.classList.remove("modal-open")},[isOpen])}try{useBodyFixOnModalClose.displayName="useBodyFixOnModalClose",useBodyFixOnModalClose.__docgenInfo={description:"",displayName:"useBodyFixOnModalClose",props:{valueOf:{defaultValue:null,description:"Returns the primitive value of the specified object.",name:"valueOf",required:!1,type:{name:"() => boolean"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/core/useBodyFixOnModalClose/useBodyFixOnModalClose.ts#useBodyFixOnModalClose"]={docgenInfo:useBodyFixOnModalClose.__docgenInfo,name:"useBodyFixOnModalClose",path:"src/core/useBodyFixOnModalClose/useBodyFixOnModalClose.ts#useBodyFixOnModalClose"})}catch(__react_docgen_typescript_loader_error){}},367:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return useOptions}));var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),_option__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(115),lodash__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(16),__awaiter=function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){result.done?resolve(result.value):function adopt(value){return value instanceof P?value:new P((function(resolve){resolve(value)}))}(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};function useOptions(config){const{optionsOrFetcher:optionsOrFetcher,value:value,optionForValue:optionForValue,isOptionEqual:isOptionEqual,watch:watch}=config,[loading,setLoading]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(()=>!Array.isArray(optionsOrFetcher)),[options,setOptions]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(()=>Array.isArray(optionsOrFetcher)?optionsOrFetcher:[]),[optionsLoaded,setOptionsLoaded]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(!1),[watchedValue,setWatchedValue]=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)(watch);return Object(react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{Array.isArray(optionsOrFetcher)?setOptions(optionsOrFetcher):function loadOption(fetcher){return __awaiter(this,void 0,void 0,(function*(){if(optionsLoaded)return;setLoading(!0);const page=yield fetcher();setOptions(page.content),setLoading(!1),setOptionsLoaded(!0)}))}(optionsOrFetcher)},[optionsLoaded,optionsOrFetcher]),Object(react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{Array.isArray(optionsOrFetcher)||Object(lodash__WEBPACK_IMPORTED_MODULE_2__.isEqual)(watchedValue,watch)||(!function loadOption(fetcher){return __awaiter(this,void 0,void 0,(function*(){setLoading(!0);const page=yield fetcher();setOptions(page.content),setLoading(!1),setOptionsLoaded(!0)}))}(optionsOrFetcher),setWatchedValue(watch))},[watch,optionsOrFetcher,watchedValue]),Object(react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{value&&(options.some(option=>Object(_option__WEBPACK_IMPORTED_MODULE_1__.a)({option:option,optionForValue:optionForValue,isOptionEqual:isOptionEqual,value:value}))||setOptions([value,...options]))},[value,options,isOptionEqual,optionForValue,setOptions]),{loading:loading,options:options}}try{useOptions.displayName="useOptions",useOptions.__docgenInfo={description:"",displayName:"useOptions",props:{optionsOrFetcher:{defaultValue:null,description:"",name:"optionsOrFetcher",required:!0,type:{name:"OptionsFetcher | T[]"}},value:{defaultValue:null,description:"",name:"value",required:!1,type:{name:"T"}},optionForValue:{defaultValue:null,description:"",name:"optionForValue",required:!0,type:{name:"OptionForValue"}},isOptionEqual:{defaultValue:null,description:"",name:"isOptionEqual",required:!1,type:{name:"OptionEqual"}},watch:{defaultValue:null,description:"",name:"watch",required:!1,type:{name:"any"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/form/useOptions.ts#useOptions"]={docgenInfo:useOptions.__docgenInfo,name:"useOptions",path:"src/form/useOptions.ts#useOptions"})}catch(__react_docgen_typescript_loader_error){}},368:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return ModalPicker}));var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),reactstrap__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(939),reactstrap__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(934),reactstrap__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(935),reactstrap__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(43),reactstrap__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(17),reactstrap__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(510),reactstrap__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__(82),_core_Pagination_Pagination__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__(211),_utilities_translation_translation__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__(21),_core_SearchInput_SearchInput__WEBPACK_IMPORTED_MODULE_10__=__webpack_require__(104),_core_useBodyFixOnModalClose_useBodyFixOnModalClose__WEBPACK_IMPORTED_MODULE_11__=__webpack_require__(364);function ModalPicker(props){const{placeholder:placeholder,isOpen:isOpen,page:page,children:children,query:query,canSearch:canSearch,fetchOptions:fetchOptions,pageChanged:pageChanged,closeModal:closeModal,modalSaved:modalSaved,saveButtonEnabled:saveButtonEnabled,addButton:addButton,text:text={}}=props;Object(_core_useBodyFixOnModalClose_useBodyFixOnModalClose__WEBPACK_IMPORTED_MODULE_11__.a)(isOpen);const shouldRenderPagination=!(page.first&&page.last);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_1__.a,{isOpen:isOpen,toggle:()=>closeModal()},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_2__.a,{toggle:()=>closeModal()},placeholder),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_3__.a,null,canSearch?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_4__.a,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_5__.a,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_SearchInput_SearchInput__WEBPACK_IMPORTED_MODULE_10__.a,{value:query,placeholder:Object(_utilities_translation_translation__WEBPACK_IMPORTED_MODULE_9__.a)({overrideText:text.placeholder,key:"ModalPicker.SEARCH",fallback:"Search..."}),onChange:value=>fetchOptions(value)}))):null,children),shouldRenderPagination?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_6__.a,{className:"d-flex justify-content-center"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_Pagination_Pagination__WEBPACK_IMPORTED_MODULE_8__.a,{page:page,onChange:page=>pageChanged(page)})):null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_6__.a,{className:"d-flex flex-row justify-content-between"},addButton?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_7__.a,{color:"primary",onClick:()=>addButton.onClick()},addButton.label):react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",null),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_7__.a,{className:"ml-1",color:"secondary",onClick:()=>closeModal()},Object(_utilities_translation_translation__WEBPACK_IMPORTED_MODULE_9__.a)({overrideText:text.cancel,key:"ModalPicker.CANCEL",fallback:"Cancel"})),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_7__.a,{className:"ml-1",color:"primary",onClick:()=>modalSaved(),disabled:!saveButtonEnabled},Object(_utilities_translation_translation__WEBPACK_IMPORTED_MODULE_9__.a)({overrideText:text.select,key:"ModalPicker.SELECT",fallback:"Select"})))))}try{ModalPicker.displayName="ModalPicker",ModalPicker.__docgenInfo={description:"The ModalPicker component is an abstraction used by the ModalPickerMultiple\nand ModalPickerSingle to render a modal. It contains the code which\ncould be shared by the two components.",displayName:"ModalPicker",props:{placeholder:{defaultValue:null,description:"The placeholder of the form element.",name:"placeholder",required:!0,type:{name:"string"}},isOpen:{defaultValue:null,description:"Whether or not the modal is open.",name:"isOpen",required:!0,type:{name:"boolean"}},page:{defaultValue:null,description:"The current page of options. Used to determine if the\npagination should be rendered.",name:"page",required:!0,type:{name:"Page"}},children:{defaultValue:null,description:"Here the component using the ModalPicker must render in the options.",name:"children",required:!0,type:{name:"any"}},query:{defaultValue:null,description:"The value to show in the search input.",name:"query",required:!0,type:{name:"string"}},canSearch:{defaultValue:null,description:"Whether or not to show the search input.",name:"canSearch",required:!0,type:{name:"boolean"}},fetchOptions:{defaultValue:null,description:"Callback to fetch the options to display to the user.",name:"fetchOptions",required:!0,type:{name:"(query: string) => void"}},pageChanged:{defaultValue:null,description:"Callback for when the page changes.",name:"pageChanged",required:!0,type:{name:"(page: number) => void"}},closeModal:{defaultValue:null,description:"Callback for when the modal should close.",name:"closeModal",required:!0,type:{name:"() => void"}},modalSaved:{defaultValue:null,description:"Callback for when the modal is saved",name:"modalSaved",required:!0,type:{name:"() => void"}},saveButtonEnabled:{defaultValue:null,description:"Whether or not the save button is enabled",name:"saveButtonEnabled",required:!0,type:{name:"boolean"}},addButton:{defaultValue:null,description:"Optionally an add button to display in the Modal. Can\nbe used to dynamically add an option which was not there\nbefore.",name:"addButton",required:!1,type:{name:"{ label: string; onClick: () => void; }"}},text:{defaultValue:null,description:"Optionally customized text within the component.\nThis text should already be translated.",name:"text",required:!1,type:{name:"Text"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/form/ModalPicker/ModalPicker.tsx#ModalPicker"]={docgenInfo:ModalPicker.__docgenInfo,name:"ModalPicker",path:"src/form/ModalPicker/ModalPicker.tsx#ModalPicker"})}catch(__react_docgen_typescript_loader_error){}},369:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return EmptyModal}));var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),_core_ContentState_ContentState__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(97),_utilities_translation_translation__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(21);function EmptyModal(props){const{userHasSearched:userHasSearched,title:title,subTitle:subTitle}=props;return userHasSearched?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_ContentState_ContentState__WEBPACK_IMPORTED_MODULE_1__.a,{mode:"no-results",title:Object(_utilities_translation_translation__WEBPACK_IMPORTED_MODULE_2__.a)({key:"EmptyModal.NO_RESULTS.TITLE",fallback:"Empty",overrideText:title}),subTitle:Object(_utilities_translation_translation__WEBPACK_IMPORTED_MODULE_2__.a)({key:"EmptyModal.NO_RESULTS.SUBTITLE",fallback:"No results were found please try again with a different query.",overrideText:subTitle})}):react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_ContentState_ContentState__WEBPACK_IMPORTED_MODULE_1__.a,{mode:"empty",title:Object(_utilities_translation_translation__WEBPACK_IMPORTED_MODULE_2__.a)({key:"EmptyModal.EMPTY.TITLE",fallback:"Empty",overrideText:title}),subTitle:Object(_utilities_translation_translation__WEBPACK_IMPORTED_MODULE_2__.a)({key:"EmptyModal.EMPTY.SUBTITLE",fallback:"There is nothing here yet, the collection is empty.",overrideText:subTitle})})}try{EmptyModal.displayName="EmptyModal",EmptyModal.__docgenInfo={description:"The EmptyModal is a component which is rendered when a\nModal is empty. Can either display a message saying that\nit is empty when there is nothing to be selected. Or a\nmessage saying that there is no result for the current\nsearch query when the user has searched.",displayName:"EmptyModal",props:{userHasSearched:{defaultValue:null,description:"Whether or not the user performed a search.",name:"userHasSearched",required:!0,type:{name:"boolean"}},title:{defaultValue:null,description:"",name:"title",required:!1,type:{name:"string"}},subTitle:{defaultValue:null,description:"",name:"subTitle",required:!1,type:{name:"string"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/form/ModalPicker/EmptyModal.tsx#EmptyModal"]={docgenInfo:EmptyModal.__docgenInfo,name:"EmptyModal",path:"src/form/ModalPicker/EmptyModal.tsx#EmptyModal"})}catch(__react_docgen_typescript_loader_error){}},37:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return Tag}));var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),classnames__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(8),classnames__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_1__);function Tag({text:text,color:color,onRemove:onRemove,className:className}){const canClose=void 0!==onRemove,classes=classnames__WEBPACK_IMPORTED_MODULE_1___default()("token",className,{"token-removeable":canClose,[`token-${color}`]:color});return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span",{className:"tag"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span",{className:classes},text,canClose?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span",{onClick:onRemove,className:"close-button",role:"button"},"×"):null))}try{Tag.displayName="Tag",Tag.__docgenInfo={description:"",displayName:"Tag",props:{text:{defaultValue:null,description:"Text to display within the tag.",name:"text",required:!0,type:{name:"string"}},color:{defaultValue:null,description:"The color of the badge. Supports Bootstrap colors (e.g. primary, danger).",name:"color",required:!1,type:{name:"Color"}},onRemove:{defaultValue:null,description:"Determines if a tag should be removable.",name:"onRemove",required:!1,type:{name:"() => void"}},className:{defaultValue:null,description:"Optional extra CSS class you want to add to the component.\nUseful for styling the component.",name:"className",required:!1,type:{name:"string"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/core/Tag/Tag.tsx#Tag"]={docgenInfo:Tag.__docgenInfo,name:"Tag",path:"src/core/Tag/Tag.tsx#Tag"})}catch(__react_docgen_typescript_loader_error){}},370:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return ModalPickerOpener}));var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),reactstrap__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(82),classnames__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(8),classnames__WEBPACK_IMPORTED_MODULE_2___default=__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_2__),_utilities_translation_translation__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(21),_core_TextButton_TextButton__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(123);function ModalPickerOpener(props){const{openModal:openModal,label:label,values:values,displayValues:displayValues,alignButton:alignButton,onClear:onClear,text:text={}}=props,wrapperClassName=classnames__WEBPACK_IMPORTED_MODULE_2___default()("d-flex","align-items-center",{"flex-row-reverse":"left"===alignButton,"justify-content-between":"right"===alignButton&&values,"justify-content-end":"left"===alignButton||"right"===alignButton&&!values}),buttonClassName=classnames__WEBPACK_IMPORTED_MODULE_2___default()("flex-grow-0","flex-shrink-0",{"mr-1":values&&"left"===alignButton,"ml-1":values&&"left"!==alignButton}),displayValue=displayValues(values);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:wrapperClassName},displayValue,values&&onClear?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_TextButton_TextButton__WEBPACK_IMPORTED_MODULE_4__.a,{onClick:onClear,className:"mx-3"},Object(_utilities_translation_translation__WEBPACK_IMPORTED_MODULE_3__.a)({overrideText:text.clear,key:"ModalPickerOpener.CLEAR",fallback:"Clear"})):null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_1__.a,{color:"primary",onClick:openModal,className:buttonClassName},label))}try{ModalPickerOpener.displayName="ModalPickerOpener",ModalPickerOpener.__docgenInfo={description:"",displayName:"ModalPickerOpener",props:{values:{defaultValue:null,description:"",name:"values",required:!1,type:{name:"T | T[]"}},displayValues:{defaultValue:null,description:"",name:"displayValues",required:!0,type:{name:"any"}},openModal:{defaultValue:null,description:"Function to open the modal, called when the button is clicked.",name:"openModal",required:!0,type:{name:"() => void"}},label:{defaultValue:null,description:"The label to display on the button.",name:"label",required:!0,type:{name:"any"}},onClear:{defaultValue:null,description:"Optionally: what needs to happen when the clear button is pressed",name:"onClear",required:!1,type:{name:"() => void"}},alignButton:{defaultValue:null,description:"Optionally the position the button should be aligned to\nwithin it's container.",name:"alignButton",required:!1,type:{name:"ButtonAlignment"}},text:{defaultValue:null,description:"Optionally customized text within the component.\nThis text should already be translated.",name:"text",required:!1,type:{name:"Text"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/form/ModalPicker/ModalPickerOpener/ModalPickerOpener.tsx#ModalPickerOpener"]={docgenInfo:ModalPickerOpener.__docgenInfo,name:"ModalPickerOpener",path:"src/form/ModalPicker/ModalPickerOpener/ModalPickerOpener.tsx#ModalPickerOpener"})}catch(__react_docgen_typescript_loader_error){}},376:function(module,__webpack_exports__,__webpack_require__){"use strict";var react=__webpack_require__(0),react_default=__webpack_require__.n(react),Tooltip=__webpack_require__(30);function useResizeObserver(handleResize){return"undefined"!=typeof ResizeObserver?new ResizeObserver(entries=>entries.forEach(handleResize)):void 0}try{useResizeObserver.displayName="useResizeObserver",useResizeObserver.__docgenInfo={description:"",displayName:"useResizeObserver",props:{}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/form/ModalPicker/ModalPickerValueTruncator/useResizeObserver/useResizeObserver.ts#useResizeObserver"]={docgenInfo:useResizeObserver.__docgenInfo,name:"useResizeObserver",path:"src/form/ModalPicker/ModalPickerValueTruncator/useResizeObserver/useResizeObserver.ts#useResizeObserver"})}catch(__react_docgen_typescript_loader_error){}function useComponentOverflow(ref,values){const[componentOverflow,setComponentOverflow]=Object(react.useState)(useComponentOverflow_isOverflowing(ref.current)),handleResize=Object(react.useCallback)(function handleResizeCallback(ref,setComponentOverflow){return()=>{ref.current&&setComponentOverflow(useComponentOverflow_isOverflowing(ref.current))}}(ref,setComponentOverflow),[ref]),resizeObserver=useResizeObserver(handleResize);return Object(react.useLayoutEffect)(function layoutEffect(ref,handleResize,resizeObserver){return()=>{if(!ref.current)return;handleResize();const el=ref.current;return resizeObserver?(resizeObserver.observe(el),()=>{resizeObserver.unobserve(el)}):(el.addEventListener("resize",handleResize,{passive:!0}),()=>{el.removeEventListener("resize",handleResize)})}}(ref,handleResize,resizeObserver),[ref,handleResize,values,resizeObserver]),componentOverflow}function useComponentOverflow_isOverflowing(el){return!!el&&el.clientWidth void"}},addEventListener:{defaultValue:null,description:"Appends an event listener for events whose type attribute value is type. The callback argument sets the callback that will be invoked when the event is dispatched.\n\nThe options argument sets listener-specific options. For compatibility this can be a boolean, in which case the method behaves exactly as if the value was specified as options's capture.\n\nWhen set to true, options's capture prevents callback from being invoked when the event's eventPhase attribute value is BUBBLING_PHASE. When false (or not present), callback will not be invoked when event's eventPhase attribute value is CAPTURING_PHASE. Either way, callback will be invoked if event's eventPhase attribute value is AT_TARGET.\n\nWhen set to true, options's passive indicates that the callback will not cancel the event by invoking preventDefault(). This is used to enable performance optimizations described in §2.8 Observing event listeners.\n\nWhen set to true, options's once indicates that the callback will only be invoked once after which the event listener will be removed.\n\nThe event listener is appended to target's event listener list and is not appended if it has the same type, callback, and capture.\nAppends an event listener for events whose type attribute value is type. The callback argument sets the callback that will be invoked when the event is dispatched.\n\nThe options argument sets listener-specific options. For compatibility this can be a boolean, in which case the method behaves exactly as if the value was specified as options's capture.\n\nWhen set to true, options's capture prevents callback from being invoked when the event's eventPhase attribute value is BUBBLING_PHASE. When false (or not present), callback will not be invoked when event's eventPhase attribute value is CAPTURING_PHASE. Either way, callback will be invoked if event's eventPhase attribute value is AT_TARGET.\n\nWhen set to true, options's passive indicates that the callback will not cancel the event by invoking preventDefault(). This is used to enable performance optimizations described in §2.8 Observing event listeners.\n\nWhen set to true, options's once indicates that the callback will only be invoked once after which the event listener will be removed.\n\nThe event listener is appended to target's event listener list and is not appended if it has the same type, callback, and capture.\nAppends an event listener for events whose type attribute value is type. The callback argument sets the callback that will be invoked when the event is dispatched.\n\nThe options argument sets listener-specific options. For compatibility this can be a boolean, in which case the method behaves exactly as if the value was specified as options's capture.\n\nWhen set to true, options's capture prevents callback from being invoked when the event's eventPhase attribute value is BUBBLING_PHASE. When false (or not present), callback will not be invoked when event's eventPhase attribute value is CAPTURING_PHASE. Either way, callback will be invoked if event's eventPhase attribute value is AT_TARGET.\n\nWhen set to true, options's passive indicates that the callback will not cancel the event by invoking preventDefault(). This is used to enable performance optimizations described in §2.8 Observing event listeners.\n\nWhen set to true, options's once indicates that the callback will only be invoked once after which the event listener will be removed.\n\nThe event listener is appended to target's event listener list and is not appended if it has the same type, callback, and capture.\nAppends an event listener for events whose type attribute value is type. The callback argument sets the callback that will be invoked when the event is dispatched.\n\nThe options argument sets listener-specific options. For compatibility this can be a boolean, in which case the method behaves exactly as if the value was specified as options's capture.\n\nWhen set to true, options's capture prevents callback from being invoked when the event's eventPhase attribute value is BUBBLING_PHASE. When false (or not present), callback will not be invoked when event's eventPhase attribute value is CAPTURING_PHASE. Either way, callback will be invoked if event's eventPhase attribute value is AT_TARGET.\n\nWhen set to true, options's passive indicates that the callback will not cancel the event by invoking preventDefault(). This is used to enable performance optimizations described in §2.8 Observing event listeners.\n\nWhen set to true, options's once indicates that the callback will only be invoked once after which the event listener will be removed.\n\nThe event listener is appended to target's event listener list and is not appended if it has the same type, callback, and capture.",name:"addEventListener",required:!0,type:{name:'{ (type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?...'}},removeEventListener:{defaultValue:null,description:"Removes the event listener in target's event listener list with the same type, callback, and options.\nRemoves the event listener in target's event listener list with the same type, callback, and options.\nRemoves the event listener in target's event listener list with the same type, callback, and options.\nRemoves the event listener in target's event listener list with the same type, callback, and options.",name:"removeEventListener",required:!0,type:{name:'{ (type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?...'}},assignedSlot:{defaultValue:null,description:"",name:"assignedSlot",required:!0,type:{name:"HTMLSlotElement"}},attributes:{defaultValue:null,description:"",name:"attributes",required:!0,type:{name:"NamedNodeMap"}},classList:{defaultValue:null,description:"Allows for manipulation of element's class content attribute as a set of whitespace-separated tokens through a DOMTokenList object.",name:"classList",required:!0,type:{name:"DOMTokenList"}},className:{defaultValue:null,description:"Returns the value of element's class content attribute. Can be set to change it.",name:"className",required:!0,type:{name:"string"}},clientHeight:{defaultValue:null,description:"",name:"clientHeight",required:!0,type:{name:"number"}},clientLeft:{defaultValue:null,description:"",name:"clientLeft",required:!0,type:{name:"number"}},clientTop:{defaultValue:null,description:"",name:"clientTop",required:!0,type:{name:"number"}},clientWidth:{defaultValue:null,description:"",name:"clientWidth",required:!0,type:{name:"number"}},id:{defaultValue:null,description:"Returns the value of element's id content attribute. Can be set to change it.",name:"id",required:!0,type:{name:"string"}},localName:{defaultValue:null,description:"Returns the local name.",name:"localName",required:!0,type:{name:"string"}},namespaceURI:{defaultValue:null,description:"Returns the namespace.",name:"namespaceURI",required:!0,type:{name:"string"}},onfullscreenchange:{defaultValue:null,description:"",name:"onfullscreenchange",required:!0,type:{name:"(this: Element, ev: Event) => any"}},onfullscreenerror:{defaultValue:null,description:"",name:"onfullscreenerror",required:!0,type:{name:"(this: Element, ev: Event) => any"}},outerHTML:{defaultValue:null,description:"",name:"outerHTML",required:!0,type:{name:"string"}},prefix:{defaultValue:null,description:"Returns the namespace prefix.",name:"prefix",required:!0,type:{name:"string"}},scrollHeight:{defaultValue:null,description:"",name:"scrollHeight",required:!0,type:{name:"number"}},scrollLeft:{defaultValue:null,description:"",name:"scrollLeft",required:!0,type:{name:"number"}},scrollTop:{defaultValue:null,description:"",name:"scrollTop",required:!0,type:{name:"number"}},scrollWidth:{defaultValue:null,description:"",name:"scrollWidth",required:!0,type:{name:"number"}},shadowRoot:{defaultValue:null,description:"Returns element's shadow root, if any, and if shadow root's mode is \"open\", and null otherwise.",name:"shadowRoot",required:!0,type:{name:"ShadowRoot"}},slot:{defaultValue:null,description:"Returns the value of element's slot content attribute. Can be set to change it.",name:"slot",required:!0,type:{name:"string"}},tagName:{defaultValue:null,description:"Returns the HTML-uppercased qualified name.",name:"tagName",required:!0,type:{name:"string"}},attachShadow:{defaultValue:null,description:"Creates a shadow root for element and returns it.",name:"attachShadow",required:!0,type:{name:"(init: ShadowRootInit) => ShadowRoot"}},closest:{defaultValue:null,description:"Returns the first (starting at element) inclusive ancestor that matches selectors, and null otherwise.",name:"closest",required:!0,type:{name:'{ (selector: K): HTMLElementTagNameMap[K]; (sele...'}},getAttribute:{defaultValue:null,description:"Returns element's first attribute whose qualified name is qualifiedName, and null if there is no such attribute otherwise.",name:"getAttribute",required:!0,type:{name:"(qualifiedName: string) => string"}},getAttributeNS:{defaultValue:null,description:"Returns element's attribute whose namespace is namespace and local name is localName, and null if there is no such attribute otherwise.",name:"getAttributeNS",required:!0,type:{name:"(namespace: string, localName: string) => string"}},getAttributeNames:{defaultValue:null,description:"Returns the qualified names of all element's attributes. Can contain duplicates.",name:"getAttributeNames",required:!0,type:{name:"() => string[]"}},getAttributeNode:{defaultValue:null,description:"",name:"getAttributeNode",required:!0,type:{name:"(name: string) => Attr"}},getAttributeNodeNS:{defaultValue:null,description:"",name:"getAttributeNodeNS",required:!0,type:{name:"(namespaceURI: string, localName: string) => Attr"}},getBoundingClientRect:{defaultValue:null,description:"",name:"getBoundingClientRect",required:!0,type:{name:"() => DOMRect"}},getClientRects:{defaultValue:null,description:"",name:"getClientRects",required:!0,type:{name:"() => DOMRectList"}},getElementsByClassName:{defaultValue:null,description:"Returns a HTMLCollection of the elements in the object on which the method was invoked (a document or an element) that have all the classes given by classNames. The classNames argument is interpreted as a space-separated list of classes.",name:"getElementsByClassName",required:!0,type:{name:"(classNames: string) => HTMLCollectionOf"}},getElementsByTagName:{defaultValue:null,description:"",name:"getElementsByTagName",required:!0,type:{name:'{ (qualifiedName: K): HTMLCollectionOf<...>; (qu...'}},getElementsByTagNameNS:{defaultValue:null,description:"",name:"getElementsByTagNameNS",required:!0,type:{name:'{ (namespaceURI: "http://www.w3.org/1999/xhtml", localName: string): HTMLCollectionOf; (namespaceURI: "http://www.w3.org/2000/svg", localName: string): HTMLCollectionOf<...>; (namespaceURI: string, localName: string): HTMLCollectionOf<...>; }'}},hasAttribute:{defaultValue:null,description:"Returns true if element has an attribute whose qualified name is qualifiedName, and false otherwise.",name:"hasAttribute",required:!0,type:{name:"(qualifiedName: string) => boolean"}},hasAttributeNS:{defaultValue:null,description:"Returns true if element has an attribute whose namespace is namespace and local name is localName.",name:"hasAttributeNS",required:!0,type:{name:"(namespace: string, localName: string) => boolean"}},hasAttributes:{defaultValue:null,description:"Returns true if element has attributes, and false otherwise.",name:"hasAttributes",required:!0,type:{name:"() => boolean"}},hasPointerCapture:{defaultValue:null,description:"",name:"hasPointerCapture",required:!0,type:{name:"(pointerId: number) => boolean"}},insertAdjacentElement:{defaultValue:null,description:"",name:"insertAdjacentElement",required:!0,type:{name:"(position: InsertPosition, insertedElement: Element) => Element"}},insertAdjacentHTML:{defaultValue:null,description:"",name:"insertAdjacentHTML",required:!0,type:{name:"(where: InsertPosition, html: string) => void"}},insertAdjacentText:{defaultValue:null,description:"",name:"insertAdjacentText",required:!0,type:{name:"(where: InsertPosition, text: string) => void"}},matches:{defaultValue:null,description:"Returns true if matching selectors against element's root yields element, and false otherwise.",name:"matches",required:!0,type:{name:"(selectors: string) => boolean"}},msGetRegionContent:{defaultValue:null,description:"",name:"msGetRegionContent",required:!0,type:{name:"() => any"}},releasePointerCapture:{defaultValue:null,description:"",name:"releasePointerCapture",required:!0,type:{name:"(pointerId: number) => void"}},removeAttribute:{defaultValue:null,description:"Removes element's first attribute whose qualified name is qualifiedName.",name:"removeAttribute",required:!0,type:{name:"(qualifiedName: string) => void"}},removeAttributeNS:{defaultValue:null,description:"Removes element's attribute whose namespace is namespace and local name is localName.",name:"removeAttributeNS",required:!0,type:{name:"(namespace: string, localName: string) => void"}},removeAttributeNode:{defaultValue:null,description:"",name:"removeAttributeNode",required:!0,type:{name:"(attr: Attr) => Attr"}},requestFullscreen:{defaultValue:null,description:'Displays element fullscreen and resolves promise when done.\n\nWhen supplied, options\'s navigationUI member indicates whether showing navigation UI while in fullscreen is preferred or not. If set to "show", navigation simplicity is preferred over screen space, and if set to "hide", more screen space is preferred. User agents are always free to honor user preference over the application\'s. The default value "auto" indicates no application preference.',name:"requestFullscreen",required:!0,type:{name:"(options?: FullscreenOptions) => Promise"}},requestPointerLock:{defaultValue:null,description:"",name:"requestPointerLock",required:!0,type:{name:"() => void"}},scroll:{defaultValue:null,description:"",name:"scroll",required:!0,type:{name:"{ (options?: ScrollToOptions): void; (x: number, y: number): void; }"}},scrollBy:{defaultValue:null,description:"",name:"scrollBy",required:!0,type:{name:"{ (options?: ScrollToOptions): void; (x: number, y: number): void; }"}},scrollIntoView:{defaultValue:null,description:"",name:"scrollIntoView",required:!0,type:{name:"(arg?: boolean | ScrollIntoViewOptions) => void"}},scrollTo:{defaultValue:null,description:"",name:"scrollTo",required:!0,type:{name:"{ (options?: ScrollToOptions): void; (x: number, y: number): void; }"}},setAttribute:{defaultValue:null,description:"Sets the value of element's first attribute whose qualified name is qualifiedName to value.",name:"setAttribute",required:!0,type:{name:"(qualifiedName: string, value: string) => void"}},setAttributeNS:{defaultValue:null,description:"Sets the value of element's attribute whose namespace is namespace and local name is localName to value.",name:"setAttributeNS",required:!0,type:{name:"(namespace: string, qualifiedName: string, value: string) => void"}},setAttributeNode:{defaultValue:null,description:"",name:"setAttributeNode",required:!0,type:{name:"(attr: Attr) => Attr"}},setAttributeNodeNS:{defaultValue:null,description:"",name:"setAttributeNodeNS",required:!0,type:{name:"(attr: Attr) => Attr"}},setPointerCapture:{defaultValue:null,description:"",name:"setPointerCapture",required:!0,type:{name:"(pointerId: number) => void"}},toggleAttribute:{defaultValue:null,description:'If force is not given, "toggles" qualifiedName, removing it if it is present and adding it if it is not present. If force is true, adds qualifiedName. If force is false, removes qualifiedName.\n\nReturns true if qualifiedName is now present, and false otherwise.',name:"toggleAttribute",required:!0,type:{name:"(qualifiedName: string, force?: boolean) => boolean"}},webkitMatchesSelector:{defaultValue:null,description:"",name:"webkitMatchesSelector",required:!0,type:{name:"(selectors: string) => boolean"}},baseURI:{defaultValue:null,description:"Returns node's node document's document base URL.",name:"baseURI",required:!0,type:{name:"string"}},childNodes:{defaultValue:null,description:"Returns the children.",name:"childNodes",required:!0,type:{name:"NodeListOf"}},firstChild:{defaultValue:null,description:"Returns the first child.",name:"firstChild",required:!0,type:{name:"ChildNode"}},isConnected:{defaultValue:null,description:"Returns true if node is connected and false otherwise.",name:"isConnected",required:!0,type:{name:"boolean"}},lastChild:{defaultValue:null,description:"Returns the last child.",name:"lastChild",required:!0,type:{name:"ChildNode"}},nextSibling:{defaultValue:null,description:"Returns the next sibling.",name:"nextSibling",required:!0,type:{name:"ChildNode"}},nodeName:{defaultValue:null,description:"Returns a string appropriate for the type of node.",name:"nodeName",required:!0,type:{name:"string"}},nodeType:{defaultValue:null,description:"Returns the type of node.",name:"nodeType",required:!0,type:{name:"number"}},nodeValue:{defaultValue:null,description:"",name:"nodeValue",required:!0,type:{name:"string"}},ownerDocument:{defaultValue:null,description:"Returns the node document. Returns null for documents.",name:"ownerDocument",required:!0,type:{name:"Document"}},parentElement:{defaultValue:null,description:"Returns the parent element.",name:"parentElement",required:!0,type:{name:"HTMLElement"}},parentNode:{defaultValue:null,description:"Returns the parent.",name:"parentNode",required:!0,type:{name:"Node & ParentNode"}},previousSibling:{defaultValue:null,description:"Returns the previous sibling.",name:"previousSibling",required:!0,type:{name:"Node"}},textContent:{defaultValue:null,description:"",name:"textContent",required:!0,type:{name:"string"}},appendChild:{defaultValue:null,description:"",name:"appendChild",required:!0,type:{name:"(newChild: T) => T"}},cloneNode:{defaultValue:null,description:"Returns a copy of node. If deep is true, the copy also includes the node's descendants.",name:"cloneNode",required:!0,type:{name:"(deep?: boolean) => Node"}},compareDocumentPosition:{defaultValue:null,description:"Returns a bitmask indicating the position of other relative to node.",name:"compareDocumentPosition",required:!0,type:{name:"(other: Node) => number"}},contains:{defaultValue:null,description:"Returns true if other is an inclusive descendant of node, and false otherwise.",name:"contains",required:!0,type:{name:"(other: Node) => boolean"}},getRootNode:{defaultValue:null,description:"Returns node's root.",name:"getRootNode",required:!0,type:{name:"(options?: GetRootNodeOptions) => Node"}},hasChildNodes:{defaultValue:null,description:"Returns whether node has children.",name:"hasChildNodes",required:!0,type:{name:"() => boolean"}},insertBefore:{defaultValue:null,description:"",name:"insertBefore",required:!0,type:{name:"(newChild: T, refChild: Node) => T"}},isDefaultNamespace:{defaultValue:null,description:"",name:"isDefaultNamespace",required:!0,type:{name:"(namespace: string) => boolean"}},isEqualNode:{defaultValue:null,description:"Returns whether node and otherNode have the same properties.",name:"isEqualNode",required:!0,type:{name:"(otherNode: Node) => boolean"}},isSameNode:{defaultValue:null,description:"",name:"isSameNode",required:!0,type:{name:"(otherNode: Node) => boolean"}},lookupNamespaceURI:{defaultValue:null,description:"",name:"lookupNamespaceURI",required:!0,type:{name:"(prefix: string) => string"}},lookupPrefix:{defaultValue:null,description:"",name:"lookupPrefix",required:!0,type:{name:"(namespace: string) => string"}},normalize:{defaultValue:null,description:"Removes empty exclusive Text nodes and concatenates the data of remaining contiguous exclusive Text nodes into the first of their nodes.",name:"normalize",required:!0,type:{name:"() => void"}},removeChild:{defaultValue:null,description:"",name:"removeChild",required:!0,type:{name:"(oldChild: T) => T"}},replaceChild:{defaultValue:null,description:"",name:"replaceChild",required:!0,type:{name:"(newChild: Node, oldChild: T) => T"}},ATTRIBUTE_NODE:{defaultValue:null,description:"",name:"ATTRIBUTE_NODE",required:!0,type:{name:"number"}},CDATA_SECTION_NODE:{defaultValue:null,description:"node is a CDATASection node.",name:"CDATA_SECTION_NODE",required:!0,type:{name:"number"}},COMMENT_NODE:{defaultValue:null,description:"node is a Comment node.",name:"COMMENT_NODE",required:!0,type:{name:"number"}},DOCUMENT_FRAGMENT_NODE:{defaultValue:null,description:"node is a DocumentFragment node.",name:"DOCUMENT_FRAGMENT_NODE",required:!0,type:{name:"number"}},DOCUMENT_NODE:{defaultValue:null,description:"node is a document.",name:"DOCUMENT_NODE",required:!0,type:{name:"number"}},DOCUMENT_POSITION_CONTAINED_BY:{defaultValue:null,description:"Set when other is a descendant of node.",name:"DOCUMENT_POSITION_CONTAINED_BY",required:!0,type:{name:"number"}},DOCUMENT_POSITION_CONTAINS:{defaultValue:null,description:"Set when other is an ancestor of node.",name:"DOCUMENT_POSITION_CONTAINS",required:!0,type:{name:"number"}},DOCUMENT_POSITION_DISCONNECTED:{defaultValue:null,description:"Set when node and other are not in the same tree.",name:"DOCUMENT_POSITION_DISCONNECTED",required:!0,type:{name:"number"}},DOCUMENT_POSITION_FOLLOWING:{defaultValue:null,description:"Set when other is following node.",name:"DOCUMENT_POSITION_FOLLOWING",required:!0,type:{name:"number"}},DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC:{defaultValue:null,description:"",name:"DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC",required:!0,type:{name:"number"}},DOCUMENT_POSITION_PRECEDING:{defaultValue:null,description:"Set when other is preceding node.",name:"DOCUMENT_POSITION_PRECEDING",required:!0,type:{name:"number"}},DOCUMENT_TYPE_NODE:{defaultValue:null,description:"node is a doctype.",name:"DOCUMENT_TYPE_NODE",required:!0,type:{name:"number"}},ELEMENT_NODE:{defaultValue:null,description:"node is an element.",name:"ELEMENT_NODE",required:!0,type:{name:"number"}},ENTITY_NODE:{defaultValue:null,description:"",name:"ENTITY_NODE",required:!0,type:{name:"number"}},ENTITY_REFERENCE_NODE:{defaultValue:null,description:"",name:"ENTITY_REFERENCE_NODE",required:!0,type:{name:"number"}},NOTATION_NODE:{defaultValue:null,description:"",name:"NOTATION_NODE",required:!0,type:{name:"number"}},PROCESSING_INSTRUCTION_NODE:{defaultValue:null,description:"node is a ProcessingInstruction node.",name:"PROCESSING_INSTRUCTION_NODE",required:!0,type:{name:"number"}},TEXT_NODE:{defaultValue:null,description:"node is a Text node.",name:"TEXT_NODE",required:!0,type:{name:"number"}},dispatchEvent:{defaultValue:null,description:"Dispatches a synthetic event event to target and returns true if either event's cancelable attribute value is false or its preventDefault() method was not invoked, and false otherwise.",name:"dispatchEvent",required:!0,type:{name:"(event: Event) => boolean"}},animate:{defaultValue:null,description:"",name:"animate",required:!0,type:{name:"(keyframes: Keyframe[] | PropertyIndexedKeyframes, options?: number | KeyframeAnimationOptions) => Animation"}},getAnimations:{defaultValue:null,description:"",name:"getAnimations",required:!0,type:{name:"() => Animation[]"}},after:{defaultValue:null,description:'Inserts nodes just after node, while replacing strings in nodes with equivalent Text nodes.\n\nThrows a "HierarchyRequestError" DOMException if the constraints of the node tree are violated.',name:"after",required:!0,type:{name:"(...nodes: (string | Node)[]) => void"}},before:{defaultValue:null,description:'Inserts nodes just before node, while replacing strings in nodes with equivalent Text nodes.\n\nThrows a "HierarchyRequestError" DOMException if the constraints of the node tree are violated.',name:"before",required:!0,type:{name:"(...nodes: (string | Node)[]) => void"}},remove:{defaultValue:null,description:"Removes node.",name:"remove",required:!0,type:{name:"() => void"}},replaceWith:{defaultValue:null,description:'Replaces node with nodes, while replacing strings in nodes with equivalent Text nodes.\n\nThrows a "HierarchyRequestError" DOMException if the constraints of the node tree are violated.',name:"replaceWith",required:!0,type:{name:"(...nodes: (string | Node)[]) => void"}},innerHTML:{defaultValue:null,description:"",name:"innerHTML",required:!0,type:{name:"string"}},nextElementSibling:{defaultValue:null,description:"Returns the first following sibling that is an element, and null otherwise.",name:"nextElementSibling",required:!0,type:{name:"Element"}},previousElementSibling:{defaultValue:null,description:"Returns the first preceding sibling that is an element, and null otherwise.",name:"previousElementSibling",required:!0,type:{name:"Element"}},childElementCount:{defaultValue:null,description:"",name:"childElementCount",required:!0,type:{name:"number"}},children:{defaultValue:null,description:"Returns the child elements.",name:"children",required:!0,type:{name:"HTMLCollection"}},firstElementChild:{defaultValue:null,description:"Returns the first child that is an element, and null otherwise.",name:"firstElementChild",required:!0,type:{name:"Element"}},lastElementChild:{defaultValue:null,description:"Returns the last child that is an element, and null otherwise.",name:"lastElementChild",required:!0,type:{name:"Element"}},append:{defaultValue:null,description:'Inserts nodes after the last child of node, while replacing strings in nodes with equivalent Text nodes.\n\nThrows a "HierarchyRequestError" DOMException if the constraints of the node tree are violated.',name:"append",required:!0,type:{name:"(...nodes: (string | Node)[]) => void"}},prepend:{defaultValue:null,description:'Inserts nodes before the first child of node, while replacing strings in nodes with equivalent Text nodes.\n\nThrows a "HierarchyRequestError" DOMException if the constraints of the node tree are violated.',name:"prepend",required:!0,type:{name:"(...nodes: (string | Node)[]) => void"}},querySelector:{defaultValue:null,description:"Returns the first element that is a descendant of node that matches selectors.",name:"querySelector",required:!0,type:{name:'{ (selectors: K): HTMLElementTagNameMap[K]; (sel...'}},querySelectorAll:{defaultValue:null,description:"Returns all element descendants of node that match selectors.",name:"querySelectorAll",required:!0,type:{name:'{ (selectors: K): NodeListOf<...>; (selectors: K...'}},oncopy:{defaultValue:null,description:"",name:"oncopy",required:!0,type:{name:"(this: DocumentAndElementEventHandlers, ev: ClipboardEvent) => any"}},oncut:{defaultValue:null,description:"",name:"oncut",required:!0,type:{name:"(this: DocumentAndElementEventHandlers, ev: ClipboardEvent) => any"}},onpaste:{defaultValue:null,description:"",name:"onpaste",required:!0,type:{name:"(this: DocumentAndElementEventHandlers, ev: ClipboardEvent) => any"}},style:{defaultValue:null,description:"",name:"style",required:!0,type:{name:"CSSStyleDeclaration"}},contentEditable:{defaultValue:null,description:"",name:"contentEditable",required:!0,type:{name:"string"}},inputMode:{defaultValue:null,description:"",name:"inputMode",required:!0,type:{name:"string"}},isContentEditable:{defaultValue:null,description:"",name:"isContentEditable",required:!0,type:{name:"boolean"}},onabort:{defaultValue:null,description:"Fires when the user aborts the download.\n@param ev The event.",name:"onabort",required:!0,type:{name:"(this: GlobalEventHandlers, ev: UIEvent) => any"}},onanimationcancel:{defaultValue:null,description:"",name:"onanimationcancel",required:!0,type:{name:"(this: GlobalEventHandlers, ev: AnimationEvent) => any"}},onanimationend:{defaultValue:null,description:"",name:"onanimationend",required:!0,type:{name:"(this: GlobalEventHandlers, ev: AnimationEvent) => any"}},onanimationiteration:{defaultValue:null,description:"",name:"onanimationiteration",required:!0,type:{name:"(this: GlobalEventHandlers, ev: AnimationEvent) => any"}},onanimationstart:{defaultValue:null,description:"",name:"onanimationstart",required:!0,type:{name:"(this: GlobalEventHandlers, ev: AnimationEvent) => any"}},onauxclick:{defaultValue:null,description:"",name:"onauxclick",required:!0,type:{name:"(this: GlobalEventHandlers, ev: MouseEvent) => any"}},onblur:{defaultValue:null,description:"Fires when the object loses the input focus.\n@param ev The focus event.",name:"onblur",required:!0,type:{name:"(this: GlobalEventHandlers, ev: FocusEvent) => any"}},oncancel:{defaultValue:null,description:"",name:"oncancel",required:!0,type:{name:"(this: GlobalEventHandlers, ev: Event) => any"}},oncanplay:{defaultValue:null,description:"Occurs when playback is possible, but would require further buffering.\n@param ev The event.",name:"oncanplay",required:!0,type:{name:"(this: GlobalEventHandlers, ev: Event) => any"}},oncanplaythrough:{defaultValue:null,description:"",name:"oncanplaythrough",required:!0,type:{name:"(this: GlobalEventHandlers, ev: Event) => any"}},onchange:{defaultValue:null,description:"Fires when the contents of the object or selection have changed.\n@param ev The event.",name:"onchange",required:!0,type:{name:"(this: GlobalEventHandlers, ev: Event) => any"}},onclick:{defaultValue:null,description:"Fires when the user clicks the left mouse button on the object\n@param ev The mouse event.",name:"onclick",required:!0,type:{name:"(this: GlobalEventHandlers, ev: MouseEvent) => any"}},onclose:{defaultValue:null,description:"",name:"onclose",required:!0,type:{name:"(this: GlobalEventHandlers, ev: Event) => any"}},oncontextmenu:{defaultValue:null,description:"Fires when the user clicks the right mouse button in the client area, opening the context menu.\n@param ev The mouse event.",name:"oncontextmenu",required:!0,type:{name:"(this: GlobalEventHandlers, ev: MouseEvent) => any"}},oncuechange:{defaultValue:null,description:"",name:"oncuechange",required:!0,type:{name:"(this: GlobalEventHandlers, ev: Event) => any"}},ondblclick:{defaultValue:null,description:"Fires when the user double-clicks the object.\n@param ev The mouse event.",name:"ondblclick",required:!0,type:{name:"(this: GlobalEventHandlers, ev: MouseEvent) => any"}},ondrag:{defaultValue:null,description:"Fires on the source object continuously during a drag operation.\n@param ev The event.",name:"ondrag",required:!0,type:{name:"(this: GlobalEventHandlers, ev: DragEvent) => any"}},ondragend:{defaultValue:null,description:"Fires on the source object when the user releases the mouse at the close of a drag operation.\n@param ev The event.",name:"ondragend",required:!0,type:{name:"(this: GlobalEventHandlers, ev: DragEvent) => any"}},ondragenter:{defaultValue:null,description:"Fires on the target element when the user drags the object to a valid drop target.\n@param ev The drag event.",name:"ondragenter",required:!0,type:{name:"(this: GlobalEventHandlers, ev: DragEvent) => any"}},ondragexit:{defaultValue:null,description:"",name:"ondragexit",required:!0,type:{name:"(this: GlobalEventHandlers, ev: Event) => any"}},ondragleave:{defaultValue:null,description:"Fires on the target object when the user moves the mouse out of a valid drop target during a drag operation.\n@param ev The drag event.",name:"ondragleave",required:!0,type:{name:"(this: GlobalEventHandlers, ev: DragEvent) => any"}},ondragover:{defaultValue:null,description:"Fires on the target element continuously while the user drags the object over a valid drop target.\n@param ev The event.",name:"ondragover",required:!0,type:{name:"(this: GlobalEventHandlers, ev: DragEvent) => any"}},ondragstart:{defaultValue:null,description:"Fires on the source object when the user starts to drag a text selection or selected object.\n@param ev The event.",name:"ondragstart",required:!0,type:{name:"(this: GlobalEventHandlers, ev: DragEvent) => any"}},ondrop:{defaultValue:null,description:"",name:"ondrop",required:!0,type:{name:"(this: GlobalEventHandlers, ev: DragEvent) => any"}},ondurationchange:{defaultValue:null,description:"Occurs when the duration attribute is updated.\n@param ev The event.",name:"ondurationchange",required:!0,type:{name:"(this: GlobalEventHandlers, ev: Event) => any"}},onemptied:{defaultValue:null,description:"Occurs when the media element is reset to its initial state.\n@param ev The event.",name:"onemptied",required:!0,type:{name:"(this: GlobalEventHandlers, ev: Event) => any"}},onended:{defaultValue:null,description:"Occurs when the end of playback is reached.\n@param ev The event",name:"onended",required:!0,type:{name:"(this: GlobalEventHandlers, ev: Event) => any"}},onerror:{defaultValue:null,description:"Fires when an error occurs during object loading.\n@param ev The event.",name:"onerror",required:!0,type:{name:"OnErrorEventHandlerNonNull"}},onfocus:{defaultValue:null,description:"Fires when the object receives focus.\n@param ev The event.",name:"onfocus",required:!0,type:{name:"(this: GlobalEventHandlers, ev: FocusEvent) => any"}},ongotpointercapture:{defaultValue:null,description:"",name:"ongotpointercapture",required:!0,type:{name:"(this: GlobalEventHandlers, ev: PointerEvent) => any"}},oninput:{defaultValue:null,description:"",name:"oninput",required:!0,type:{name:"(this: GlobalEventHandlers, ev: Event) => any"}},oninvalid:{defaultValue:null,description:"",name:"oninvalid",required:!0,type:{name:"(this: GlobalEventHandlers, ev: Event) => any"}},onkeydown:{defaultValue:null,description:"Fires when the user presses a key.\n@param ev The keyboard event",name:"onkeydown",required:!0,type:{name:"(this: GlobalEventHandlers, ev: KeyboardEvent) => any"}},onkeypress:{defaultValue:null,description:"Fires when the user presses an alphanumeric key.\n@param ev The event.",name:"onkeypress",required:!0,type:{name:"(this: GlobalEventHandlers, ev: KeyboardEvent) => any"}},onkeyup:{defaultValue:null,description:"Fires when the user releases a key.\n@param ev The keyboard event",name:"onkeyup",required:!0,type:{name:"(this: GlobalEventHandlers, ev: KeyboardEvent) => any"}},onload:{defaultValue:null,description:"Fires immediately after the browser loads the object.\n@param ev The event.",name:"onload",required:!0,type:{name:"(this: GlobalEventHandlers, ev: Event) => any"}},onloadeddata:{defaultValue:null,description:"Occurs when media data is loaded at the current playback position.\n@param ev The event.",name:"onloadeddata",required:!0,type:{name:"(this: GlobalEventHandlers, ev: Event) => any"}},onloadedmetadata:{defaultValue:null,description:"Occurs when the duration and dimensions of the media have been determined.\n@param ev The event.",name:"onloadedmetadata",required:!0,type:{name:"(this: GlobalEventHandlers, ev: Event) => any"}},onloadend:{defaultValue:null,description:"",name:"onloadend",required:!0,type:{name:"(this: GlobalEventHandlers, ev: ProgressEvent) => any"}},onloadstart:{defaultValue:null,description:"Occurs when Internet Explorer begins looking for media data.\n@param ev The event.",name:"onloadstart",required:!0,type:{name:"(this: GlobalEventHandlers, ev: Event) => any"}},onlostpointercapture:{defaultValue:null,description:"",name:"onlostpointercapture",required:!0,type:{name:"(this: GlobalEventHandlers, ev: PointerEvent) => any"}},onmousedown:{defaultValue:null,description:"Fires when the user clicks the object with either mouse button.\n@param ev The mouse event.",name:"onmousedown",required:!0,type:{name:"(this: GlobalEventHandlers, ev: MouseEvent) => any"}},onmouseenter:{defaultValue:null,description:"",name:"onmouseenter",required:!0,type:{name:"(this: GlobalEventHandlers, ev: MouseEvent) => any"}},onmouseleave:{defaultValue:null,description:"",name:"onmouseleave",required:!0,type:{name:"(this: GlobalEventHandlers, ev: MouseEvent) => any"}},onmousemove:{defaultValue:null,description:"Fires when the user moves the mouse over the object.\n@param ev The mouse event.",name:"onmousemove",required:!0,type:{name:"(this: GlobalEventHandlers, ev: MouseEvent) => any"}},onmouseout:{defaultValue:null,description:"Fires when the user moves the mouse pointer outside the boundaries of the object.\n@param ev The mouse event.",name:"onmouseout",required:!0,type:{name:"(this: GlobalEventHandlers, ev: MouseEvent) => any"}},onmouseover:{defaultValue:null,description:"Fires when the user moves the mouse pointer into the object.\n@param ev The mouse event.",name:"onmouseover",required:!0,type:{name:"(this: GlobalEventHandlers, ev: MouseEvent) => any"}},onmouseup:{defaultValue:null,description:"Fires when the user releases a mouse button while the mouse is over the object.\n@param ev The mouse event.",name:"onmouseup",required:!0,type:{name:"(this: GlobalEventHandlers, ev: MouseEvent) => any"}},onpause:{defaultValue:null,description:"Occurs when playback is paused.\n@param ev The event.",name:"onpause",required:!0,type:{name:"(this: GlobalEventHandlers, ev: Event) => any"}},onplay:{defaultValue:null,description:"Occurs when the play method is requested.\n@param ev The event.",name:"onplay",required:!0,type:{name:"(this: GlobalEventHandlers, ev: Event) => any"}},onplaying:{defaultValue:null,description:"Occurs when the audio or video has started playing.\n@param ev The event.",name:"onplaying",required:!0,type:{name:"(this: GlobalEventHandlers, ev: Event) => any"}},onpointercancel:{defaultValue:null,description:"",name:"onpointercancel",required:!0,type:{name:"(this: GlobalEventHandlers, ev: PointerEvent) => any"}},onpointerdown:{defaultValue:null,description:"",name:"onpointerdown",required:!0,type:{name:"(this: GlobalEventHandlers, ev: PointerEvent) => any"}},onpointerenter:{defaultValue:null,description:"",name:"onpointerenter",required:!0,type:{name:"(this: GlobalEventHandlers, ev: PointerEvent) => any"}},onpointerleave:{defaultValue:null,description:"",name:"onpointerleave",required:!0,type:{name:"(this: GlobalEventHandlers, ev: PointerEvent) => any"}},onpointermove:{defaultValue:null,description:"",name:"onpointermove",required:!0,type:{name:"(this: GlobalEventHandlers, ev: PointerEvent) => any"}},onpointerout:{defaultValue:null,description:"",name:"onpointerout",required:!0,type:{name:"(this: GlobalEventHandlers, ev: PointerEvent) => any"}},onpointerover:{defaultValue:null,description:"",name:"onpointerover",required:!0,type:{name:"(this: GlobalEventHandlers, ev: PointerEvent) => any"}},onpointerup:{defaultValue:null,description:"",name:"onpointerup",required:!0,type:{name:"(this: GlobalEventHandlers, ev: PointerEvent) => any"}},onprogress:{defaultValue:null,description:"Occurs to indicate progress while downloading media data.\n@param ev The event.",name:"onprogress",required:!0,type:{name:"(this: GlobalEventHandlers, ev: ProgressEvent) => any"}},onratechange:{defaultValue:null,description:"Occurs when the playback rate is increased or decreased.\n@param ev The event.",name:"onratechange",required:!0,type:{name:"(this: GlobalEventHandlers, ev: Event) => any"}},onreset:{defaultValue:null,description:"Fires when the user resets a form.\n@param ev The event.",name:"onreset",required:!0,type:{name:"(this: GlobalEventHandlers, ev: Event) => any"}},onresize:{defaultValue:null,description:"",name:"onresize",required:!0,type:{name:"(this: GlobalEventHandlers, ev: UIEvent) => any"}},onscroll:{defaultValue:null,description:"Fires when the user repositions the scroll box in the scroll bar on the object.\n@param ev The event.",name:"onscroll",required:!0,type:{name:"(this: GlobalEventHandlers, ev: Event) => any"}},onsecuritypolicyviolation:{defaultValue:null,description:"",name:"onsecuritypolicyviolation",required:!0,type:{name:"(this: GlobalEventHandlers, ev: SecurityPolicyViolationEvent) => any"}},onseeked:{defaultValue:null,description:"Occurs when the seek operation ends.\n@param ev The event.",name:"onseeked",required:!0,type:{name:"(this: GlobalEventHandlers, ev: Event) => any"}},onseeking:{defaultValue:null,description:"Occurs when the current playback position is moved.\n@param ev The event.",name:"onseeking",required:!0,type:{name:"(this: GlobalEventHandlers, ev: Event) => any"}},onselect:{defaultValue:null,description:"Fires when the current selection changes.\n@param ev The event.",name:"onselect",required:!0,type:{name:"(this: GlobalEventHandlers, ev: Event) => any"}},onselectionchange:{defaultValue:null,description:"",name:"onselectionchange",required:!0,type:{name:"(this: GlobalEventHandlers, ev: Event) => any"}},onselectstart:{defaultValue:null,description:"",name:"onselectstart",required:!0,type:{name:"(this: GlobalEventHandlers, ev: Event) => any"}},onstalled:{defaultValue:null,description:"Occurs when the download has stopped.\n@param ev The event.",name:"onstalled",required:!0,type:{name:"(this: GlobalEventHandlers, ev: Event) => any"}},onsubmit:{defaultValue:null,description:"",name:"onsubmit",required:!0,type:{name:"(this: GlobalEventHandlers, ev: Event) => any"}},onsuspend:{defaultValue:null,description:"Occurs if the load operation has been intentionally halted.\n@param ev The event.",name:"onsuspend",required:!0,type:{name:"(this: GlobalEventHandlers, ev: Event) => any"}},ontimeupdate:{defaultValue:null,description:"Occurs to indicate the current playback position.\n@param ev The event.",name:"ontimeupdate",required:!0,type:{name:"(this: GlobalEventHandlers, ev: Event) => any"}},ontoggle:{defaultValue:null,description:"",name:"ontoggle",required:!0,type:{name:"(this: GlobalEventHandlers, ev: Event) => any"}},ontouchcancel:{defaultValue:null,description:"",name:"ontouchcancel",required:!0,type:{name:"(this: GlobalEventHandlers, ev: TouchEvent) => any"}},ontouchend:{defaultValue:null,description:"",name:"ontouchend",required:!0,type:{name:"(this: GlobalEventHandlers, ev: TouchEvent) => any"}},ontouchmove:{defaultValue:null,description:"",name:"ontouchmove",required:!0,type:{name:"(this: GlobalEventHandlers, ev: TouchEvent) => any"}},ontouchstart:{defaultValue:null,description:"",name:"ontouchstart",required:!0,type:{name:"(this: GlobalEventHandlers, ev: TouchEvent) => any"}},ontransitioncancel:{defaultValue:null,description:"",name:"ontransitioncancel",required:!0,type:{name:"(this: GlobalEventHandlers, ev: TransitionEvent) => any"}},ontransitionend:{defaultValue:null,description:"",name:"ontransitionend",required:!0,type:{name:"(this: GlobalEventHandlers, ev: TransitionEvent) => any"}},ontransitionrun:{defaultValue:null,description:"",name:"ontransitionrun",required:!0,type:{name:"(this: GlobalEventHandlers, ev: TransitionEvent) => any"}},ontransitionstart:{defaultValue:null,description:"",name:"ontransitionstart",required:!0,type:{name:"(this: GlobalEventHandlers, ev: TransitionEvent) => any"}},onvolumechange:{defaultValue:null,description:"Occurs when the volume is changed, or playback is muted or unmuted.\n@param ev The event.",name:"onvolumechange",required:!0,type:{name:"(this: GlobalEventHandlers, ev: Event) => any"}},onwaiting:{defaultValue:null,description:"Occurs when playback stops because the next frame of a video resource is not available.\n@param ev The event.",name:"onwaiting",required:!0,type:{name:"(this: GlobalEventHandlers, ev: Event) => any"}},onwheel:{defaultValue:null,description:"",name:"onwheel",required:!0,type:{name:"(this: GlobalEventHandlers, ev: WheelEvent) => any"}},dataset:{defaultValue:null,description:"",name:"dataset",required:!0,type:{name:"DOMStringMap"}},nonce:{defaultValue:null,description:"",name:"nonce",required:!1,type:{name:"string"}},tabIndex:{defaultValue:null,description:"",name:"tabIndex",required:!0,type:{name:"number"}},blur:{defaultValue:null,description:"",name:"blur",required:!0,type:{name:"() => void"}},focus:{defaultValue:null,description:"",name:"focus",required:!0,type:{name:"(options?: FocusOptions) => void"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/form/ModalPicker/ModalPickerValueTruncator/useComponentOverflow/useComponentOverflow.ts#isOverflowing"]={docgenInfo:useComponentOverflow_isOverflowing.__docgenInfo,name:"isOverflowing",path:"src/form/ModalPicker/ModalPickerValueTruncator/useComponentOverflow/useComponentOverflow.ts#isOverflowing"})}catch(__react_docgen_typescript_loader_error){}function ModalPickerValueTruncator({values:values,optionForValue:optionForValue}){const ref=Object(react.useRef)(null),isOverflowing=useComponentOverflow(ref,values);if(!values)return null;const text=Array.isArray(values)?react_default.a.createElement(react_default.a.Fragment,null,values.map(optionForValue).join(", ")):optionForValue(values);return react_default.a.createElement("span",{className:"text-truncate position-relative",ref:ref},isOverflowing?react_default.a.createElement(Tooltip.a,{content:text,className:"w-100 h-100 position-absolute",tag:"div"}," "):null,text)}__webpack_require__.d(__webpack_exports__,"a",(function(){return ModalPickerValueTruncator}));try{ModalPickerValueTruncator.displayName="ModalPickerValueTruncator",ModalPickerValueTruncator.__docgenInfo={description:"",displayName:"ModalPickerValueTruncator",props:{values:{defaultValue:null,description:"",name:"values",required:!0,type:{name:"T | T[]"}},optionForValue:{defaultValue:null,description:"",name:"optionForValue",required:!0,type:{name:"OptionForValue"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/form/ModalPicker/ModalPickerValueTruncator/ModalPickerValueTruncator.tsx#ModalPickerValueTruncator"]={docgenInfo:ModalPickerValueTruncator.__docgenInfo,name:"ModalPickerValueTruncator",path:"src/form/ModalPicker/ModalPickerValueTruncator/ModalPickerValueTruncator.tsx#ModalPickerValueTruncator"})}catch(__react_docgen_typescript_loader_error){}},38:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"b",(function(){return Input})),__webpack_require__.d(__webpack_exports__,"a",(function(){return JarbInput}));var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),react_text_mask__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(278),react_text_mask__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(react_text_mask__WEBPACK_IMPORTED_MODULE_1__),reactstrap__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(71),reactstrap__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(511),reactstrap__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(88),reactstrap__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(89),_withJarb_withJarb__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(33),_Addon_Addon__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__(234),__rest=function(s,e){var t={};for(var p in s)Object.prototype.hasOwnProperty.call(s,p)&&e.indexOf(p)<0&&(t[p]=s[p]);if(null!=s&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(p=Object.getOwnPropertySymbols(s);ionChange(event.target.value),onBlur:onBlur},{innerRef:_}=inputProps,withoutRef=__rest(inputProps,["innerRef"]),input=void 0===mask?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_2__.a,Object.assign({key:"input"},inputProps)):react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_text_mask__WEBPACK_IMPORTED_MODULE_1___default.a,Object.assign({key:"mask",mask:mask},withoutRef,{render:reactStrapInput}));let content=input;if(void 0!==addon){const{position:position}=addon,addonComponent=react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Addon_Addon__WEBPACK_IMPORTED_MODULE_7__.a,Object.assign({key:"button",color:color},addon)),inputGroupContent="left"===position?[addonComponent,input]:[input,addonComponent];content=react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_3__.a,null,inputGroupContent)}return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_4__.a,{className:className,color:color},"label"in props&&props.label?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_5__.a,{for:props.id},props.label):null,content,error)}function reactStrapInput(ref,props){return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_2__.a,Object.assign({innerRef:ref},props))}const JarbInput=Object(_withJarb_withJarb__WEBPACK_IMPORTED_MODULE_6__.a)(Input);try{Input.displayName="Input",Input.__docgenInfo={description:"Input is a basic form element which allows the user to enter text.\n\nSupports addons and masks.",displayName:"Input",props:{id:{defaultValue:null,description:"The id of the form element.",name:"id",required:!1,type:{name:"string"}},label:{defaultValue:null,description:"The label of the form element.",name:"label",required:!1,type:{name:"any"}},placeholder:{defaultValue:null,description:"The placeholder of the form element.",name:"placeholder",required:!1,type:{name:"string"}},value:{defaultValue:null,description:"The value that the form element currently has.",name:"value",required:!1,type:{name:"string"}},onChange:{defaultValue:null,description:"Callback for when the form element changes.",name:"onChange",required:!0,type:{name:"(value: string) => void"}},onBlur:{defaultValue:null,description:"Optional callback for when the form element is blurred.",name:"onBlur",required:!1,type:{name:"() => void"}},onFocus:{defaultValue:null,description:"Optional callback for when the form element is focused.",name:"onFocus",required:!1,type:{name:"() => void"}},type:{defaultValue:null,description:"Optional type of the input, default to `text`.",name:"type",required:!1,type:{name:"InputType"}},mask:{defaultValue:null,description:"Optional mask of the input.\n@see https://text-mask.github.io/text-mask/",name:"mask",required:!1,type:{name:"Mask"}},addon:{defaultValue:null,description:"Optional addon to display to the left or right of the input\nelement.",name:"addon",required:!1,type:{name:"any"}},innerRef:{defaultValue:null,description:"A ref to the actual input, can be used to focus the element.",name:"innerRef",required:!1,type:{name:"any"}},error:{defaultValue:null,description:"Optionally the error message to render.",name:"error",required:!1,type:{name:"any"}},color:{defaultValue:null,description:"Optionally the color of the FormGroup.",name:"color",required:!1,type:{name:"Color"}},valid:{defaultValue:null,description:"Whether or not the form element is currently valid.",name:"valid",required:!1,type:{name:"boolean"}},className:{defaultValue:null,description:"Optional extra CSS class you want to add to the component.\nUseful for styling the component.",name:"className",required:!1,type:{name:"string"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/form/Input/Input.tsx#Input"]={docgenInfo:Input.__docgenInfo,name:"Input",path:"src/form/Input/Input.tsx#Input"})}catch(__react_docgen_typescript_loader_error){}try{JarbInput.displayName="JarbInput",JarbInput.__docgenInfo={description:"Variant of the Input which can be used in a Jarb context.",displayName:"JarbInput",props:{}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/form/Input/Input.tsx#JarbInput"]={docgenInfo:JarbInput.__docgenInfo,name:"JarbInput",path:"src/form/Input/Input.tsx#JarbInput"})}catch(__react_docgen_typescript_loader_error){}},380:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return FormButton}));var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),_core_Button_Button__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(3),__rest=function(s,e){var t={};for(var p in s)Object.prototype.hasOwnProperty.call(s,p)&&e.indexOf(p)<0&&(t[p]=s[p]);if(null!=s&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(p=Object.getOwnPropertySymbols(s);i Promise"}},initialValues:{defaultValue:null,description:"The initial values to compare to.",name:"initialValues",required:!1,type:{name:"FormValues"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/form/AutoSave/AutoSave.tsx#AutoSave"]={docgenInfo:AutoSave.__docgenInfo,name:"AutoSave",path:"src/form/AutoSave/AutoSave.tsx#AutoSave"})}catch(__react_docgen_typescript_loader_error){}__webpack_require__.d(__webpack_exports__,"a",(function(){return EpicForm}));var __rest=function(s,e){var t={};for(var p in s)Object.prototype.hasOwnProperty.call(s,p)&&e.indexOf(p)<0&&(t[p]=s[p]);if(null!=s&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(p=Object.getOwnPropertySymbols(s);ireact_default.a.createElement("form",{id:id,onSubmit:handleSubmit,onReset:form.reset,className:classes,style:{minWidth:width,width:width,height:height}},submitOnChange?react_default.a.createElement(AutoSave,{onSave:form.submit,initialValues:formProps.initialValues}):null,children))}try{EpicForm.displayName="EpicForm",EpicForm.__docgenInfo={description:"The EpicForm is used inside of a EpicRow to render content in.",displayName:"EpicForm",props:{id:{defaultValue:null,description:"The id of the form element.",name:"id",required:!0,type:{name:"string"}},children:{defaultValue:null,description:"The content of the cell.",name:"children",required:!0,type:{name:"any"}},width:{defaultValue:null,description:"The width of the cell.",name:"width",required:!0,type:{name:"number"}},height:{defaultValue:null,description:"The height of the cell.",name:"height",required:!0,type:{name:"number"}},submitOnChange:{defaultValue:null,description:"Optionally whether or not the form should be submitted on blur automatically.",name:"submitOnChange",required:!1,type:{name:"boolean"}},subscription:{defaultValue:null,description:"",name:"subscription",required:!1,type:{name:"FormSubscription"}},decorators:{defaultValue:null,description:"",name:"decorators",required:!1,type:{name:"Decorator[]"}},form:{defaultValue:null,description:"",name:"form",required:!1,type:{name:"FormApi"}},initialValuesEqual:{defaultValue:null,description:"",name:"initialValuesEqual",required:!1,type:{name:"(a?: AnyObject, b?: AnyObject) => boolean"}},debug:{defaultValue:null,description:"",name:"debug",required:!1,type:{name:"DebugFunction"}},destroyOnUnregister:{defaultValue:null,description:"",name:"destroyOnUnregister",required:!1,type:{name:"boolean"}},initialValues:{defaultValue:null,description:"",name:"initialValues",required:!1,type:{name:"FormValues"}},keepDirtyOnReinitialize:{defaultValue:null,description:"",name:"keepDirtyOnReinitialize",required:!1,type:{name:"boolean"}},mutators:{defaultValue:null,description:"",name:"mutators",required:!1,type:{name:"{ [key: string]: Mutator; }"}},onSubmit:{defaultValue:null,description:"",name:"onSubmit",required:!0,type:{name:"(values: FormValues, form: FormApi, callback?: (errors?: SubmissionErrors) => void) => void | SubmissionErrors | Promise<...>"}},validate:{defaultValue:null,description:"",name:"validate",required:!1,type:{name:"(values: FormValues) => ValidationErrors | Promise"}},validateOnBlur:{defaultValue:null,description:"",name:"validateOnBlur",required:!1,type:{name:"boolean"}},component:{defaultValue:null,description:"",name:"component",required:!1,type:{name:'"input" | "select" | "textarea" | ComponentClass, any> | FunctionComponent>'}},render:{defaultValue:null,description:"",name:"render",required:!1,type:{name:"(props: FormRenderProps) => ReactNode"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/table/EpicTable/cells/EpicForm/EpicForm.tsx#EpicForm"]={docgenInfo:EpicForm.__docgenInfo,name:"EpicForm",path:"src/table/EpicTable/cells/EpicForm/EpicForm.tsx#EpicForm"})}catch(__react_docgen_typescript_loader_error){}},4:function(module,__webpack_exports__,__webpack_require__){"use strict";var react=__webpack_require__(0),react_default=__webpack_require__.n(react),lodash=__webpack_require__(16);const listenerConfig={capture:!0,passive:!1};function EpicResize({width:width,onResize:onResize}){const minWidth=Object(react.useRef)(width),throttledResize=Object(react.useRef)(Object(lodash.throttle)(onResize,40)),widthOnResizeStart=Object(react.useRef)(0),mouseXOnResizeStart=Object(react.useRef)(0),resize=Object(react.useCallback)(event=>{const distance=event.clientX-mouseXOnResizeStart.current,nextWidth=widthOnResizeStart.current+distance,boundedWidth=Math.max(minWidth.current,nextWidth);throttledResize.current(boundedWidth),event.preventDefault()},[]),resizeEnd=Object(react.useCallback)(()=>{document.body.style.cursor="default",document.body.classList.remove("user-select-none"),window.removeEventListener("mousemove",resize,listenerConfig)},[resize]),resizeStart=Object(react.useCallback)((event,width)=>{widthOnResizeStart.current=width,mouseXOnResizeStart.current=event.clientX,document.body.style.cursor="col-resize",document.body.classList.add("user-select-none"),window.addEventListener("mousemove",resize,listenerConfig),window.addEventListener("mouseup",resizeEnd,listenerConfig)},[resize,resizeEnd]);return function useEpicResizeListenerCleanup(resize,resizeEnd){Object(react.useEffect)(()=>()=>{window.removeEventListener("mousemove",resize,listenerConfig),window.removeEventListener("mouseup",resizeEnd,listenerConfig)},[resize,resizeEnd])}(resize,resizeEnd),react_default.a.createElement("div",{className:"epic-table-header-resizeable",onMouseDown:e=>resizeStart(e,width)})}try{EpicResize.displayName="EpicResize",EpicResize.__docgenInfo={description:"The EpicResize component is a part of the EpicHeader. It contains\nall the logic for resizing the EpicHeader. The EpicResize itself\nis a tiny block rendered next to the EpicHeader, when the user\nhovers over it the mouse icon will become a `col-resize`.",displayName:"EpicResize",props:{width:{defaultValue:null,description:"The width of the EpicHeader which is resized.",name:"width",required:!0,type:{name:"number"}},onResize:{defaultValue:null,description:"Callback which gives the EpicHeader the new width",name:"onResize",required:!0,type:{name:"(width: number) => void"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/table/EpicTable/cells/EpicHeader/EpicResize/EpicResize.tsx#EpicResize"]={docgenInfo:EpicResize.__docgenInfo,name:"EpicResize",path:"src/table/EpicTable/cells/EpicHeader/EpicResize/EpicResize.tsx#EpicResize"})}catch(__react_docgen_typescript_loader_error){}function EpicHeader({children:children,width:width,height:height,onResize:onResize}){return react_default.a.createElement("div",{className:"epic-table-header d-flex align-items-center justify-content-between p-1",style:{minWidth:width,width:width,height:height}},children,onResize?react_default.a.createElement(EpicResize,{width:width,onResize:onResize}):null)}__webpack_require__.d(__webpack_exports__,"a",(function(){return EpicHeader}));try{EpicHeader.displayName="EpicHeader",EpicHeader.__docgenInfo={description:"The EpicHeader is used inside of a EpicRow to render headers with\nIt can be seen as the EpicTable's variant of the `` element.\n\nIt is resizable whenever the `onResize` callback is defined.",displayName:"EpicHeader",props:{children:{defaultValue:null,description:"The content of the cell.",name:"children",required:!0,type:{name:"any"}},width:{defaultValue:null,description:"The width of the cell.",name:"width",required:!0,type:{name:"number"}},height:{defaultValue:null,description:"The height of the cell.",name:"height",required:!0,type:{name:"number"}},onResize:{defaultValue:null,description:"Optionally a callback for when the width has changed. By setting\nthis callback you enable the resizing of the EpicHeader.\n\nYou can never resize the width to less of the original width to\nprevent columns from becoming to small.\n\nWhen this callback is called you should store the `width` and\npass it back into the EpicHeader as the `width` property.",name:"onResize",required:!1,type:{name:"(width: number) => void"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/table/EpicTable/cells/EpicHeader/EpicHeader.tsx#EpicHeader"]={docgenInfo:EpicHeader.__docgenInfo,name:"EpicHeader",path:"src/table/EpicTable/cells/EpicHeader/EpicHeader.tsx#EpicHeader"})}catch(__react_docgen_typescript_loader_error){}},41:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return EpicFormCell}));var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);function EpicFormCell({children:children,width:width,height:height}){return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"epic-table-form-cell border-bottom py-1 pr-1",style:{minWidth:width,width:width,height:height,paddingLeft:"0px"}},children)}try{EpicFormCell.displayName="EpicFormCell",EpicFormCell.__docgenInfo={description:"The EpicCell is used inside of a EpicRow to render content in.\nIt can be seen as the EpicTable's variant of the `` element.",displayName:"EpicFormCell",props:{children:{defaultValue:null,description:"The content of the cell.",name:"children",required:!0,type:{name:"any"}},width:{defaultValue:null,description:"The width of the cell.",name:"width",required:!0,type:{name:"number"}},height:{defaultValue:null,description:"The height of the cell.",name:"height",required:!0,type:{name:"number"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/table/EpicTable/cells/EpicFormCell/EpicFormCell.tsx#EpicFormCell"]={docgenInfo:EpicFormCell.__docgenInfo,name:"EpicFormCell",path:"src/table/EpicTable/cells/EpicFormCell/EpicFormCell.tsx#EpicFormCell"})}catch(__react_docgen_typescript_loader_error){}},5:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"b",(function(){return Form})),__webpack_require__.d(__webpack_exports__,"a",(function(){return FinalForm})),__webpack_require__.d(__webpack_exports__,"c",(function(){return resolveAfter}));var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),react_final_form__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(125),reactstrap__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(23),reactstrap__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(512),reactstrap__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(43),reactstrap__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(17),_core_SubmitButton_SubmitButton__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(143),_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__(2);function Form({children:children}){return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_2__.a,{className:"m-2"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_3__.a,null,children))}function FinalForm({children:children}){return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_final_form__WEBPACK_IMPORTED_MODULE_1__.Form,{onSubmit:()=>Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_7__.action)("form submitted"),render:({handleSubmit:handleSubmit,submitting:submitting,values:values,errors:errors})=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0__.Fragment,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_4__.a,null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_5__.a,{lg:6},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(Form,null,children,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_SubmitButton_SubmitButton__WEBPACK_IMPORTED_MODULE_6__.a,{onClick:()=>handleSubmit(),inProgress:submitting},"Submit"))),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_5__.a,{lg:6},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h2",null,"Values"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("pre",null,JSON.stringify(values,null,2)),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h2",null,"Errors"),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("pre",null,JSON.stringify(errors,null,2)))))})}function resolveAfter(value,after=1e3){return new Promise(resolve=>setTimeout(()=>{resolve(value)},after))}try{Form.displayName="Form",Form.__docgenInfo={description:"",displayName:"Form",props:{}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/form/story-utils.tsx#Form"]={docgenInfo:Form.__docgenInfo,name:"Form",path:"src/form/story-utils.tsx#Form"})}catch(__react_docgen_typescript_loader_error){}try{FinalForm.displayName="FinalForm",FinalForm.__docgenInfo={description:"",displayName:"FinalForm",props:{}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/form/story-utils.tsx#FinalForm"]={docgenInfo:FinalForm.__docgenInfo,name:"FinalForm",path:"src/form/story-utils.tsx#FinalForm"})}catch(__react_docgen_typescript_loader_error){}},51:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"b",(function(){return RadioGroup})),__webpack_require__.d(__webpack_exports__,"a",(function(){return JarbRadioGroup}));var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),reactstrap__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(88),reactstrap__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(89),reactstrap__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(71),lodash__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(16),_withJarb_withJarb__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(33),_utilities_translation_translation__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(21),_option__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__(115),_utils__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__(55),_core_Loading_Loading__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__(109),_useOptions__WEBPACK_IMPORTED_MODULE_10__=__webpack_require__(367),_core_TextButton_TextButton__WEBPACK_IMPORTED_MODULE_11__=__webpack_require__(123);function RadioGroup(props){const{value:value,error:error,color:color,text:text={},className:className="",placeholder:placeholder,onChange:onChange,onBlur:onBlur,optionForValue:optionForValue,isOptionEqual:isOptionEqual,horizontal:horizontal=!1,canClear:canClear=!1,watch:watch}=props,{options:options,loading:loading}=Object(_useOptions__WEBPACK_IMPORTED_MODULE_10__.a)({optionsOrFetcher:props.options,value:value,isOptionEqual:isOptionEqual,optionForValue:optionForValue,watch:watch}),isOptionEnabled=Object(lodash__WEBPACK_IMPORTED_MODULE_4__.get)(props,"isOptionEnabled",Object(lodash__WEBPACK_IMPORTED_MODULE_4__.constant)(!0));return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_1__.a,{tag:"fieldset",className:"radio-group "+className,color:color},"label"in props&&props.label?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("legend",null,props.label):null,placeholder?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p",{className:"text-muted"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("em",null,placeholder)):null,loading?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_Loading_Loading__WEBPACK_IMPORTED_MODULE_9__.a,null,Object(_utilities_translation_translation__WEBPACK_IMPORTED_MODULE_6__.a)({key:"RadioGroup.LOADING",fallback:"Loading...",overrideText:text.loadingMessage})):react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment,null,canClear&&value?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"mb-1"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_core_TextButton_TextButton__WEBPACK_IMPORTED_MODULE_11__.a,{onClick:()=>onChange(void 0)},Object(_utilities_translation_translation__WEBPACK_IMPORTED_MODULE_6__.a)({key:"RadioGroup.CLEAR",fallback:"Clear",overrideText:text.clear}))):null,options.map(option=>{const label=optionForValue(option);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_1__.a,{key:label,check:!0,inline:horizontal},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_2__.a,{check:!0},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap__WEBPACK_IMPORTED_MODULE_3__.a,{type:"radio",value:label,checked:Object(_option__WEBPACK_IMPORTED_MODULE_7__.a)({option:option,optionForValue:optionForValue,isOptionEqual:isOptionEqual,value:value}),disabled:!isOptionEnabled(option),onChange:()=>function onRadioClicked(option){onChange(option),Object(_utils__WEBPACK_IMPORTED_MODULE_8__.a)(onBlur)}(option)})," ",label))})),error)}const JarbRadioGroup=Object(_withJarb_withJarb__WEBPACK_IMPORTED_MODULE_5__.a)(RadioGroup);try{RadioGroup.displayName="RadioGroup",RadioGroup.__docgenInfo={description:"RadioGroup is a form element for which the value can be selected\nfrom a limited range.",displayName:"RadioGroup",props:{label:{defaultValue:null,description:"The label of the form element.",name:"label",required:!1,type:{name:"any"}},id:{defaultValue:null,description:"The id of the form element.",name:"id",required:!1,type:{name:"string"}},value:{defaultValue:null,description:"The value that the form element currently has.",name:"value",required:!1,type:{name:"T"}},onChange:{defaultValue:null,description:"Callback for when the form element changes.",name:"onChange",required:!0,type:{name:"(value?: T) => void"}},onBlur:{defaultValue:null,description:"Optional callback for when the form element is blurred.",name:"onBlur",required:!1,type:{name:"() => void"}},options:{defaultValue:null,description:"Is either an array of options or a callback which fetches\nthe options asynchronously.",name:"options",required:!0,type:{name:"OptionsFetcher | T[]"}},optionForValue:{defaultValue:null,description:"Callback to convert an value of type T to an option to show\nto the user.",name:"optionForValue",required:!0,type:{name:"OptionForValue"}},isOptionEqual:{defaultValue:null,description:"Optional callback which is used to determine if two options\nof type T are equal.\n\nWhen `isOptionEqual` is not defined the outcome of `optionForValue`\nis used to test equality.",name:"isOptionEqual",required:!1,type:{name:"OptionEqual"}},isOptionEnabled:{defaultValue:null,description:"Optional callback which is called for every option to determine\nif the option can be selected. By default all options can be\nselected.",name:"isOptionEnabled",required:!1,type:{name:"OptionEnabledCallback"}},error:{defaultValue:null,description:"Optionally the error message to render.",name:"error",required:!1,type:{name:"any"}},color:{defaultValue:null,description:"Optionally the color of the FormGroup.",name:"color",required:!1,type:{name:"Color"}},valid:{defaultValue:null,description:"Whether or not the form element is currently valid.",name:"valid",required:!1,type:{name:"boolean"}},className:{defaultValue:null,description:"Optional extra CSS class you want to add to the component.\nUseful for styling the component.",name:"className",required:!1,type:{name:"string"}},placeholder:{defaultValue:null,description:"The placeholder of the form element.",name:"placeholder",required:!1,type:{name:"string"}},text:{defaultValue:null,description:"Optionally customized text within the component.\nThis text should already be translated.",name:"text",required:!1,type:{name:"Text"}},horizontal:{defaultValue:null,description:"Whether or not to show the RadioGroup horizontally.\n\nDefaults to `false`",name:"horizontal",required:!1,type:{name:"boolean"}},canClear:{defaultValue:null,description:'Whether or not to show a "clear" button.\n\nDefaults to `false`',name:"canClear",required:!1,type:{name:"boolean"}},watch:{defaultValue:null,description:"Optionally a value to detect changes and trigger\nthe optionsFetcher to reload the options.",name:"watch",required:!1,type:{name:"any"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/form/RadioGroup/RadioGroup.tsx#RadioGroup"]={docgenInfo:RadioGroup.__docgenInfo,name:"RadioGroup",path:"src/form/RadioGroup/RadioGroup.tsx#RadioGroup"})}catch(__react_docgen_typescript_loader_error){}try{JarbRadioGroup.displayName="JarbRadioGroup",JarbRadioGroup.__docgenInfo={description:"Variant of the RadioGroup which can be used in a Jarb context.",displayName:"JarbRadioGroup",props:{}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/form/RadioGroup/RadioGroup.tsx#JarbRadioGroup"]={docgenInfo:JarbRadioGroup.__docgenInfo,name:"JarbRadioGroup",path:"src/form/RadioGroup/RadioGroup.tsx#JarbRadioGroup"})}catch(__react_docgen_typescript_loader_error){}},52:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return Icon}));var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),classnames__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(8),classnames__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_1__);function Icon({className:className,onClick:onClick,icon:icon,id:id,color:color,disabled:disabled,size:size}){const colorCssClass=void 0!==color?`text-${color}`:void 0,classes=classnames__WEBPACK_IMPORTED_MODULE_1___default()("icon",className,"material-icons",colorCssClass,{clickable:!disabled&&onClick,"icon--disabled":disabled}),style=size?{fontSize:size}:void 0;return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("i",{id:id,style:style,onClick:event=>{!disabled&&onClick&&onClick(event)},className:classes},icon)}try{Icon.displayName="Icon",Icon.__docgenInfo={description:"The Icon is a small wrapper around a material design icon.\n\nUseful for making sure your icon is typesafe via TypeScript.",displayName:"Icon",props:{icon:{defaultValue:null,description:"The material icon you want to render.",name:"icon",required:!0,type:{name:'"3d_rotation" | "accessibility" | "accessibility_new" | "accessible" | "accessible_forward" | "account_balance" | "account_balance_wallet" | "account_box" | "account_circle" | ... 1000 more ... | "toggle_on"'}},color:{defaultValue:null,description:"Optional color you want the Icon to have.",name:"color",required:!1,type:{name:"Color"}},className:{defaultValue:null,description:"Optional extra CSS class you want to add to the component.\nUseful for styling the component.",name:"className",required:!1,type:{name:"string"}},id:{defaultValue:null,description:"Optional id when using controlled tooltips.",name:"id",required:!1,type:{name:"string"}},onClick:{defaultValue:null,description:"Optional onClick event for when the Icon is clicked.",name:"onClick",required:!1,type:{name:"(event: any) => void"}},disabled:{defaultValue:null,description:"Optionally whether the button is disabled\n\nDefaults to `false`",name:"disabled",required:!1,type:{name:"boolean"}},size:{defaultValue:null,description:"Optionally the size of the icon in pixels.\n\nDefaults to `24px`",name:"size",required:!1,type:{name:"number"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/core/Icon/Icon.tsx#Icon"]={docgenInfo:Icon.__docgenInfo,name:"Icon",path:"src/core/Icon/Icon.tsx#Icon"})}catch(__react_docgen_typescript_loader_error){}},53:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return Popover}));var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),_tippyjs_react__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(374);function Popover({children:children,placement:placement="top",target:target,offset:offset=0,distance:distance=7,tag:tag="span",className:className,isOpen:isOpen,onClickOutside:onClickOutside,style:style}){const Tag=tag;return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_tippyjs_react__WEBPACK_IMPORTED_MODULE_1__.a,{visible:isOpen,onClickOutside:onClickOutside,className:"border-0 tippy-popover",content:react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment,null,children),placement:placement,offset:[offset,distance],interactive:!0,zIndex:1049},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(Tag,{className:className,style:style,tabIndex:0},target))}try{Popover.displayName="Popover",Popover.__docgenInfo={description:"Bootstrap-like Popover component based on the Tippy.js library.",displayName:"Popover",props:{isOpen:{defaultValue:null,description:"Optionally whether or not the popover is currently open,\nwhen undefined, which is the default, the popover will show\nwhen hovered over the target(children). When providing a boolean\nyou can takeover when the popover is shown from outside the\nPopover component.",name:"isOpen",required:!1,type:{name:"boolean"}},onClickOutside:{defaultValue:null,description:"Optionally callback that gets triggered when clicked outside the popover.\nIs useful for when wanting to take complete control over the popover.",name:"onClickOutside",required:!1,type:{name:"() => void"}},children:{defaultValue:null,description:"Content shown inside of the popover.",name:"children",required:!0,type:{name:"any"}},target:{defaultValue:null,description:"Target component that, when hovered, will trigger the popover to show up.\nThe target(children) of the popover are wrapped into a div.\nThis is a bypass to not have to forward the ref to the DOM node.",name:"target",required:!0,type:{name:"any"}},placement:{defaultValue:{value:"top"},description:"Optional alignment relative to the target where the popover will be shown.",name:"placement",required:!1,type:{name:"Placement"}},offset:{defaultValue:{value:0},description:"Optional offset that the popover will show up relative from the target.",name:"offset",required:!1,type:{name:"number"}},distance:{defaultValue:{value:7},description:"Optional distance that the popover will show up relative from the target.",name:"distance",required:!1,type:{name:"number"}},tag:{defaultValue:{value:"span"},description:"Optional that allows you to override the default element that the children get put inside of.\nDefault value is a span.",name:"tag",required:!1,type:{name:'"span" | "div"'}},className:{defaultValue:null,description:"Optional className that is added to the Wrapper component\nAllowing you to add classes like margins and padding that would otherwise get lost\nby the wrapping of the children inside of the CustomTag.",name:"className",required:!1,type:{name:"string"}},style:{defaultValue:null,description:"Optional CSS properties that are added to the Wrapper component\nAllowing you to add CSS properties that would otherwise get lost\nby the wrapping of the children inside of the CustomTag.",name:"style",required:!1,type:{name:"CSSProperties"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/core/Popover/Popover.tsx#Popover"]={docgenInfo:Popover.__docgenInfo,name:"Popover",path:"src/core/Popover/Popover.tsx#Popover"})}catch(__react_docgen_typescript_loader_error){}},55:function(module,__webpack_exports__,__webpack_require__){"use strict";function getState(info){return info.hasErrors&&info.touched?{color:"danger",valid:!1}:{color:"",valid:void 0}}function doBlur(onBlur){onBlur&&onBlur()}__webpack_require__.d(__webpack_exports__,"b",(function(){return getState})),__webpack_require__.d(__webpack_exports__,"a",(function(){return doBlur}));try{getState.displayName="getState",getState.__docgenInfo={description:"",displayName:"getState",props:{hasErrors:{defaultValue:null,description:"",name:"hasErrors",required:!0,type:{name:"boolean"}},touched:{defaultValue:null,description:"",name:"touched",required:!1,type:{name:"boolean"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/form/utils.ts#getState"]={docgenInfo:getState.__docgenInfo,name:"getState",path:"src/form/utils.ts#getState"})}catch(__react_docgen_typescript_loader_error){}try{doBlur.displayName="doBlur",doBlur.__docgenInfo={description:"",displayName:"doBlur",props:{}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/form/utils.ts#doBlur"]={docgenInfo:doBlur.__docgenInfo,name:"doBlur",path:"src/form/utils.ts#doBlur"})}catch(__react_docgen_typescript_loader_error){}},6:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return EpicCell}));var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),classnames__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(8),classnames__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_1__),__rest=function(s,e){var t={};for(var p in s)Object.prototype.hasOwnProperty.call(s,p)&&e.indexOf(p)<0&&(t[p]=s[p]);if(null!=s&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(p=Object.getOwnPropertySymbols(s);i` element.",displayName:"EpicCell",props:{children:{defaultValue:null,description:"The content of the cell.",name:"children",required:!0,type:{name:"any"}},width:{defaultValue:null,description:"The width of the cell.",name:"width",required:!0,type:{name:"number"}},height:{defaultValue:null,description:"The height of the cell.",name:"height",required:!0,type:{name:"number"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/table/EpicTable/cells/EpicCell/EpicCell.tsx#EpicCell"]={docgenInfo:EpicCell.__docgenInfo,name:"EpicCell",path:"src/table/EpicTable/cells/EpicCell/EpicCell.tsx#EpicCell"})}catch(__react_docgen_typescript_loader_error){}},60:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return EpicCellLayout}));var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);function EpicCellLayout({children:children,mode:mode}){return"vertical"===mode?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"d-flex flex-column w-100 h-100 justify-content-around"},children):react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"d-flex w-100 justify-content-between align-items-center"},children)}try{EpicCellLayout.displayName="EpicCellLayout",EpicCellLayout.__docgenInfo={description:"The EpicCellLayout is used inside of a EpicHeader or EpicCell to\ndefine the layout of that cell. \n\nIt currently supports two modes: `vertical` and `horizontal`.\n\nThe `vertical` mode will take the full height and width and\npositions the children vertically whilst padding them in the top\nand bottom.\n\nThe `horizontal` mode will take the full width and positions the\nthe children horizontally and places the maximum space in between\nthe children. This means that when two children are present one\nwill be on the atmost left and the other on the atmost right.\n\nBasically a small wrapper around the `d-flex` utilities of bootstrap.",displayName:"EpicCellLayout",props:{mode:{defaultValue:null,description:"Determines which layout the cell has.",name:"mode",required:!0,type:{name:"EpicCellLayoutMode"}},children:{defaultValue:null,description:"The content of the cell.",name:"children",required:!0,type:{name:"any"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/table/EpicTable/cells/EpicCellLayout/EpicCellLayout.tsx#EpicCellLayout"]={docgenInfo:EpicCellLayout.__docgenInfo,name:"EpicCellLayout",path:"src/table/EpicTable/cells/EpicCellLayout/EpicCellLayout.tsx#EpicCellLayout"})}catch(__react_docgen_typescript_loader_error){}},63:function(module,__webpack_exports__,__webpack_require__){"use strict";var Icon=__webpack_require__(52);const icons=["3d_rotation","accessibility","accessibility_new","accessible","accessible_forward","account_balance","account_balance_wallet","account_box","account_circle","add_shopping_cart","alarm","alarm_add","alarm_off","alarm_on","all_inbox","all_out","android","announcement","arrow_right_alt","aspect_ratio","assessment","assignment","assignment_ind","assignment_late","assignment_return","assignment_returned","assignment_turned_in","autorenew","backup","book","bookmark","bookmark_border","bookmarks","bug_report","build","cached","calendar_today","calendar_view_day","camera_enhance","card_giftcard","card_membership","card_travel","change_history","check_circle","check_circle_outline","chrome_reader_mode","class","code","commute","compare_arrows","contact_support","copyright","credit_card","dashboard","date_range","delete","delete_forever","delete_outline","description","dns","done","done_all","done_outline","donut_large","donut_small","drag_indicator","eject","euro_symbol","event","event_seat","exit_to_app","explore","explore_off","extension","face","favorite","favorite_border","feedback","find_in_page","find_replace","fingerprint","flight_land","flight_takeoff","flip_to_back","flip_to_front","g_translate","gavel","get_app","gif","grade","group_work","help","help_outline","highlight_off","history","home","horizontal_split","hourglass_empty","hourglass_full","http","https","important_devices","info","input","invert_colors","label","label_important","label_off","language","launch","line_style","line_weight","list","lock","lock_open","loyalty","markunread_mailbox","maximize","minimize","motorcycle","note_add","offline_bolt","offline_pin","opacity","open_in_browser","open_in_new","open_with","pageview","pan_tool","payment","perm_camera_mic","perm_contact_calendar","perm_data_setting","perm_device_information","perm_identity","perm_media","perm_phone_msg","perm_scan_wifi","pets","picture_in_picture","picture_in_picture_alt","play_for_work","polymer","power_settings_new","pregnant_woman","print","query_builder","question_answer","receipt","record_voice_over","redeem","remove_shopping_cart","reorder","report_problem","restore","restore_from_trash","restore_page","room","rounded_corner","rowing","schedule","search","settings","settings_applications","settings_backup_restore","settings_bluetooth","settings_brightness","settings_cell","settings_ethernet","settings_input_antenna","settings_input_component","settings_input_composite","settings_input_hdmi","settings_input_svideo","settings_overscan","settings_phone","settings_power","settings_remote","settings_voice","shop","shop_two","shopping_basket","shopping_cart","speaker_notes","speaker_notes_off","spellcheck","stars","store","subject","supervised_user_circle","supervisor_account","swap_horiz","swap_horizontal_circle","swap_vert","swap_vertical_circle","tab","tab_unselected","text_rotate_up","text_rotate_vertical","text_rotation_down","text_rotation_none","theaters","thumb_down","thumb_up","thumbs_up_down","timeline","toc","today","toll","touch_app","track_changes","translate","trending_down","trending_flat","trending_up","turned_in","turned_in_not","update","verified_user","vertical_split","view_agenda","view_array","view_carousel","view_column","view_day","view_headline","view_list","view_module","view_quilt","view_stream","view_week","visibility","visibility_off","voice_over_off","watch_later","work","work_off","work_outline","youtube_searched_for","zoom_in","zoom_out","add_alert","error","error_outline","notification_important","warning","4k","add_to_queue","airplay","album","art_track","av_timer","branding_watermark","call_to_action","closed_caption","control_camera","equalizer","explicit","fast_forward","fast_rewind","featured_play_list","featured_video","fiber_dvr","fiber_manual_record","fiber_new","fiber_pin","fiber_smart_record","forward_10","forward_30","forward_5","games","hd","hearing","high_quality","library_add","library_books","library_music","loop","mic","mic_none","mic_off","missed_video_call","movie","music_video","new_releases","not_interested","note","pause","pause_circle_filled","pause_circle_outline","play_arrow","play_circle_filled","play_circle_outline","playlist_add","playlist_add_check","playlist_play","queue","queue_music","queue_play_next","radio","recent_actors","remove_from_queue","repeat","repeat_one","replay","replay_10","replay_30","replay_5","shuffle","skip_next","skip_previous","slow_motion_video","snooze","sort_by_alpha","stop","subscriptions","subtitles","surround_sound","video_call","video_label","video_library","videocam","videocam_off","volume_down","volume_mute","volume_off","volume_up","web","web_asset","alternate_email","business","call","call_end","call_made","call_merge","call_missed","call_missed_outgoing","call_received","call_split","cancel_presentation","cell_wifi","chat","chat_bubble","chat_bubble_outline","clear_all","comment","contact_mail","contact_phone","contacts","desktop_access_disabled","dialer_sip","dialpad","domain_disabled","duo","email","forum","import_contacts","import_export","invert_colors_off","list_alt","live_help","location_off","location_on","mail_outline","message","mobile_screen_share","no_sim","pause_presentation","person_add_disabled","phone","phonelink_erase","phonelink_lock","phonelink_ring","phonelink_setup","portable_wifi_off","present_to_all","print_disabled","ring_volume","rss_feed","screen_share","sentiment_satisfied_alt","speaker_phone","stay_current_landscape","stay_current_portrait","stay_primary_landscape","stay_primary_portrait","stop_screen_share","swap_calls","textsms","unsubscribe","voicemail","vpn_key","add","add_box","add_circle","add_circle_outline","archive","backspace","ballot","block","clear","create","delete_sweep","drafts","file_copy","filter_list","flag","font_download","forward","gesture","how_to_reg","how_to_vote","inbox","link","link_off","low_priority","mail","markunread","move_to_inbox","next_week","outlined_flag","redo","remove","remove_circle","remove_circle_outline","reply","reply_all","report","report_off","save","save_alt","select_all","send","sort","text_format","unarchive","undo","waves","weekend","where_to_vote","access_alarm","access_alarms","access_time","add_alarm","add_to_home_screen","airplanemode_active","airplanemode_inactive","battery_alert","battery_charging_full","battery_full","battery_std","battery_unknown","bluetooth","bluetooth_connected","bluetooth_disabled","bluetooth_searching","brightness_auto","brightness_high","brightness_low","brightness_medium","data_usage","developer_mode","devices","dvr","gps_fixed","gps_not_fixed","gps_off","graphic_eq","location_disabled","location_searching","mobile_friendly","mobile_off","network_cell","network_wifi","nfc","screen_lock_landscape","screen_lock_portrait","screen_lock_rotation","screen_rotation","sd_storage","settings_system_daydream","signal_cellular_alt","signal_cellular_no_sim","signal_cellular_null","signal_cellular_off","signal_wifi_off","storage","usb","wallpaper","widgets","wifi_lock","wifi_tethering","add_comment","attach_file","attach_money","bar_chart","border_all","border_bottom","border_clear","border_color","border_horizontal","border_inner","border_left","border_outer","border_right","border_style","border_top","border_vertical","bubble_chart","drag_handle","format_align_center","format_align_justify","format_align_left","format_align_right","format_bold","format_clear","format_color_fill","format_color_reset","format_color_text","format_indent_decrease","format_indent_increase","format_italic","format_line_spacing","format_list_bulleted","format_list_numbered","format_list_numbered_rtl","format_paint","format_quote","format_shapes","format_size","format_strikethrough","format_textdirection_l_to_r","format_textdirection_r_to_l","format_underlined","functions","highlight","insert_chart","insert_chart_outlined","insert_comment","insert_drive_file","insert_emoticon","insert_invitation","insert_link","insert_photo","linear_scale","merge_type","mode_comment","monetization_on","money_off","multiline_chart","notes","pie_chart","publish","scatter_plot","score","short_text","show_chart","space_bar","strikethrough_s","table_chart","text_fields","title","vertical_align_bottom","vertical_align_center","vertical_align_top","wrap_text","attachment","cloud","cloud_circle","cloud_done","cloud_download","cloud_off","cloud_queue","cloud_upload","create_new_folder","folder","folder_open","folder_shared","cast","cast_connected","computer","desktop_mac","desktop_windows","developer_board","device_hub","device_unknown","devices_other","dock","gamepad","headset","headset_mic","keyboard","keyboard_arrow_down","keyboard_arrow_left","keyboard_arrow_right","keyboard_arrow_up","keyboard_backspace","keyboard_capslock","keyboard_hide","keyboard_return","keyboard_tab","keyboard_voice","laptop","laptop_chromebook","laptop_mac","laptop_windows","memory","mouse","phone_android","phone_iphone","phonelink","phonelink_off","power_input","router","scanner","security","sim_card","smartphone","speaker","speaker_group","tablet","tablet_android","tablet_mac","toys","tv","videogame_asset","watch","add_a_photo","add_photo_alternate","add_to_photos","adjust","assistant","assistant_photo","audiotrack","blur_circular","blur_linear","blur_off","blur_on","brightness_1","brightness_2","brightness_3","brightness_4","brightness_5","brightness_6","brightness_7","broken_image","brush","burst_mode","camera","camera_alt","camera_front","camera_rear","camera_roll","center_focus_strong","center_focus_weak","collections","collections_bookmark","color_lens","colorize","compare","control_point","control_point_duplicate","crop","crop_16_9","crop_3_2","crop_5_4","crop_7_5","crop_din","crop_free","crop_landscape","crop_original","crop_portrait","crop_rotate","crop_square","dehaze","details","edit","exposure","exposure_neg_1","exposure_neg_2","exposure_plus_1","exposure_plus_2","exposure_zero","filter","filter_1","filter_2","filter_3","filter_4","filter_5","filter_6","filter_7","filter_8","filter_9","filter_9_plus","filter_b_and_w","filter_center_focus","filter_drama","filter_frames","filter_hdr","filter_none","filter_tilt_shift","filter_vintage","flare","flash_auto","flash_off","flash_on","flip","gradient","grain","grid_off","grid_on","hdr_off","hdr_on","hdr_strong","hdr_weak","healing","image","image_aspect_ratio","image_search","iso","landscape","leak_add","leak_remove","lens","linked_camera","looks","looks_3","looks_4","looks_5","looks_6","looks_one","looks_two","loupe","monochrome_photos","movie_creation","movie_filter","music_note","music_off","nature","nature_people","navigate_before","navigate_next","palette","panorama","panorama_fish_eye","panorama_horizontal","panorama_vertical","panorama_wide_angle","photo","photo_album","photo_camera","photo_filter","photo_library","photo_size_select_actual","photo_size_select_large","photo_size_select_small","picture_as_pdf","portrait","remove_red_eye","rotate_90_degrees_ccw","rotate_left","rotate_right","shutter_speed","slideshow","straighten","style","switch_camera","switch_video","tag_faces","texture","timelapse","timer","timer_10","timer_3","timer_off","tonality","transform","tune","view_comfy","view_compact","vignette","wb_auto","wb_cloudy","wb_incandescent","wb_iridescent","wb_sunny","360","add_location","atm","beenhere","category","compass_calibration","departure_board","directions","directions_bike","directions_boat","directions_bus","directions_car","directions_railway","directions_run","directions_subway","directions_transit","directions_walk","edit_attributes","edit_location","ev_station","fastfood","flight","hotel","layers","layers_clear","local_activity","local_airport","local_atm","local_bar","local_cafe","local_car_wash","local_convenience_store","local_dining","local_drink","local_florist","local_gas_station","local_grocery_store","local_hospital","local_hotel","local_laundry_service","local_library","local_mall","local_movies","local_offer","local_parking","local_pharmacy","local_phone","local_pizza","local_play","local_post_office","local_printshop","local_see","local_shipping","local_taxi","map","money","my_location","navigation","near_me","not_listed_location","person_pin","person_pin_circle","pin_drop","place","rate_review","restaurant","restaurant_menu","satellite","store_mall_directory","streetview","subway","terrain","traffic","train","tram","transfer_within_a_station","transit_enterexit","trip_origin","zoom_out_map","apps","arrow_back","arrow_back_ios","arrow_downward","arrow_drop_down","arrow_drop_down_circle","arrow_drop_up","arrow_forward","arrow_forward_ios","arrow_left","arrow_right","arrow_upward","cancel","check","chevron_left","chevron_right","close","expand_less","expand_more","first_page","fullscreen","fullscreen_exit","last_page","menu","more_horiz","more_vert","refresh","subdirectory_arrow_left","subdirectory_arrow_right","unfold_less","unfold_more","adb","airline_seat_flat","airline_seat_flat_angled","airline_seat_individual_suite","airline_seat_legroom_extra","airline_seat_legroom_normal","airline_seat_legroom_reduced","airline_seat_recline_extra","airline_seat_recline_normal","bluetooth_audio","confirmation_number","disc_full","drive_eta","enhanced_encryption","event_available","event_busy","event_note","folder_special","live_tv","mms","more","network_check","network_locked","no_encryption","ondemand_video","personal_video","phone_bluetooth_speaker","phone_callback","phone_forwarded","phone_in_talk","phone_locked","phone_missed","phone_paused","power","power_off","priority_high","sd_card","sms","sms_failed","sync","sync_disabled","sync_problem","system_update","tap_and_play","time_to_leave","tv_off","vibration","voice_chat","vpn_lock","wc","wifi","wifi_off","ac_unit","airport_shuttle","all_inclusive","beach_access","business_center","casino","child_care","child_friendly","fitness_center","free_breakfast","golf_course","hot_tub","kitchen","meeting_room","no_meeting_room","pool","room_service","rv_hookup","smoke_free","smoking_rooms","spa","cake","domain","group","group_add","location_city","mood","mood_bad","notifications","notifications_active","notifications_none","notifications_off","notifications_paused","pages","party_mode","people","people_outline","person","person_add","person_outline","plus_one","poll","public","school","sentiment_dissatisfied","sentiment_satisfied","sentiment_very_dissatisfied","sentiment_very_satisfied","share","thumb_down_alt","thumb_up_alt","whatshot","check_box","check_box_outline_blank","indeterminate_check_box","radio_button_checked","radio_button_unchecked","star","star_border","star_half","toggle_off","toggle_on"];__webpack_require__.d(__webpack_exports__,"a",(function(){return Icon.a})),__webpack_require__.d(__webpack_exports__,"b",(function(){return icons}))},67:function(module,__webpack_exports__,__webpack_require__){"use strict";var react=__webpack_require__(0),react_default=__webpack_require__.n(react),classnames=__webpack_require__(8),classnames_default=__webpack_require__.n(classnames),lodash=__webpack_require__(16),overlayscrollbars_react=__webpack_require__(933);function GooeyCenter({left:left,right:right,center:center,onScroll:onScroll,showScrollbar:showScrollbar=!0,onCenterWidthChanged:onCenterWidthChanged,forceCenterAlwaysVisible:forceCenterAlwaysVisible=!1}){const wrapperEl=Object(react.useRef)(null),centerEl=Object(react.useRef)(null),[centerWidth,setCenterWidth]=Object(react.useState)(0);Object(react.useEffect)((function trackCenterWidthBasedOnResize(){const calculateCenterWidth=Object(lodash.debounce)(()=>{if(wrapperEl.current){const left=wrapperEl.current.children[0],right=wrapperEl.current.children[2],rightWidth=right?right.clientWidth:0,centerWidth=wrapperEl.current.clientWidth-left.clientWidth-rightWidth;setCenterWidth(centerWidth),onCenterWidthChanged&&onCenterWidthChanged(centerWidth)}},200);return window.addEventListener("resize",calculateCenterWidth),calculateCenterWidth(),()=>{window.removeEventListener("resize",calculateCenterWidth)}}),[setCenterWidth,onCenterWidthChanged,left,center,right]);const centerWrapper=react_default.a.createElement("div",{ref:centerEl,className:0!==centerWidth||forceCenterAlwaysVisible?"":"invisible",style:{width:0!==centerWidth?centerWidth:void 0}},center);return react_default.a.createElement("div",{className:"d-flex",ref:wrapperEl},left,center&&showScrollbar?react_default.a.createElement(overlayscrollbars_react.OverlayScrollbarsComponent,{className:"w-100",options:{scrollbars:{visibility:"visible"},callbacks:{onScroll:function handleScroll(event){onScroll&&event&&onScroll(event.target.scrollLeft)}}}},centerWrapper):centerWrapper,right)}try{GooeyCenter.displayName="GooeyCenter",GooeyCenter.__docgenInfo={description:"GooeyCenter is a table which has a fixed left or right or both\nleft and right, and a gooey center which takes up the remaining\nspace. No matter how little content is left for the center\nthe left and right are always visible.\n\nThe center gets a horizontal scrollbar for when the content\nis to large to fit in the center.\n\nGooeyCenter is not meant for consumers of the library and is\na private component.",displayName:"GooeyCenter",props:{left:{defaultValue:null,description:"What comes left of the GooeyCenter.",name:"left",required:!0,type:{name:"any"}},center:{defaultValue:null,description:"The GooeyCenter a scrollbar will appear for the center when\nit is to large to render on the screen.",name:"center",required:!1,type:{name:"any"}},right:{defaultValue:null,description:"What comes right of the GooeyCenter.",name:"right",required:!1,type:{name:"any"}},onScroll:{defaultValue:null,description:"Optional callback which gives the current left scroll position\nwhen the user scrolls. Is used sync the scroll of the FixedHeader.",name:"onScroll",required:!1,type:{name:"(scrollLeft: number) => void"}},showScrollbar:{defaultValue:{value:!0},description:"Whether or not to show a scrollbar. The FixedHeader renders\na GooeyCenter without a scrollbar.",name:"showScrollbar",required:!1,type:{name:"boolean"}},onCenterWidthChanged:{defaultValue:null,description:"Optional callback which gives the current center width as calculated\nby the GooeyCenter. Used by the FixedHeader's GooeyCenter to match\nsync the center width.",name:"onCenterWidthChanged",required:!1,type:{name:"(centerWidth: number) => void"}},forceCenterAlwaysVisible:{defaultValue:{value:!1},description:"Whether or not the center is always visible. Need for the\nFixedHeader to prevent it from flashing.",name:"forceCenterAlwaysVisible",required:!1,type:{name:"boolean"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/table/EpicTable/helpers/GooeyCenter/GooeyCenter.tsx#GooeyCenter"]={docgenInfo:GooeyCenter.__docgenInfo,name:"GooeyCenter",path:"src/table/EpicTable/helpers/GooeyCenter/GooeyCenter.tsx#GooeyCenter"})}catch(__react_docgen_typescript_loader_error){}function useClosestHeaderIndex(fixedHeaderEl,headers){const[index,setIndex]=Object(react.useState)(-1);return Object(react.useEffect)(()=>{function onScroll(){if(fixedHeaderEl.current&&headers.length>0){const fakeRect=fixedHeaderEl.current.getBoundingClientRect(),headersAboveFakeHeader=headers.filter(({ref:ref})=>{const headerRect=ref.getBoundingClientRect();return fakeRect.bottom>headerRect.bottom});if(headersAboveFakeHeader&&headersAboveFakeHeader.length>0){const lastIndex=headersAboveFakeHeader.length-1;setIndex(headersAboveFakeHeader[lastIndex].index)}else setIndex(-1)}}return window.addEventListener("scroll",onScroll,!0),()=>{window.removeEventListener("scroll",onScroll,!0)}},[fixedHeaderEl,headers]),index}try{useClosestHeaderIndex.displayName="useClosestHeaderIndex",useClosestHeaderIndex.__docgenInfo={description:"Calculates which header is rendered closest to the FixedHeader by\nindex\n\nUsed to determine which header the FixedHeader should take as\nits appearance.",displayName:"useClosestHeaderIndex",props:{}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/table/EpicTable/helpers/FixedHeader/useClosestHeaderIndex.ts#useClosestHeaderIndex"]={docgenInfo:useClosestHeaderIndex.__docgenInfo,name:"useClosestHeaderIndex",path:"src/table/EpicTable/helpers/FixedHeader/useClosestHeaderIndex.ts#useClosestHeaderIndex"})}catch(__react_docgen_typescript_loader_error){}function FixedHeader({centerWidth:centerWidth,leftScroll:leftScroll,layout:layout,headers:headers}){const fixedHeaderEl=Object(react.useRef)(null),fixedCenterEl=Object(react.useRef)(null);Object(react.useEffect)(()=>{fixedCenterEl.current&&(fixedCenterEl.current.scrollLeft=leftScroll)},[fixedCenterEl,leftScroll]);const{left:left,center:center,right:right}=layout,index=useClosestHeaderIndex(fixedHeaderEl,headers),showFixedHeader=-1!==index;return react_default.a.createElement("div",{className:"epic-table-fixed-header",ref:fixedHeaderEl},showFixedHeader?react_default.a.createElement(GooeyCenter,{forceCenterAlwaysVisible:!0,left:left&&left[index]?left[index].header:null,center:center&¢er[index]?react_default.a.createElement("div",{ref:fixedCenterEl,className:"d-flex justify-content-between overflow-hidden",style:{width:centerWidth}},center[index].header):null,right:right&&right[index]?right[index].header:null,showScrollbar:!1}):null)}try{FixedHeader.displayName="FixedHeader",FixedHeader.__docgenInfo={description:"The FixedHeader is a header which follows the user as he scrolls.\nThe FixedHeader is not meant for consumers of this library and\nis an internal component.",displayName:"FixedHeader",props:{centerWidth:{defaultValue:null,description:"The width of the actual center so the FixedHeader can match\nthe centers width.",name:"centerWidth",required:!0,type:{name:"number"}},leftScroll:{defaultValue:null,description:"The amount the actual center has scrolled to the left.",name:"leftScroll",required:!0,type:{name:"number"}},layout:{defaultValue:null,description:"The layout information of the EpicTable, so the FixedHeader\nknows which sides to show.",name:"layout",required:!0,type:{name:"EpicTableLayout"}},headers:{defaultValue:null,description:"All the headers that the EpicTable is currently rendering. Used\nto determine which header is closest to the top of the screen,\nsot that the FixedHeader can take that header as its appearance.",name:"headers",required:!0,type:{name:"HeaderRef[]"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/table/EpicTable/helpers/FixedHeader/FixedHeader.tsx#FixedHeader"]={docgenInfo:FixedHeader.__docgenInfo,name:"FixedHeader",path:"src/table/EpicTable/helpers/FixedHeader/FixedHeader.tsx#FixedHeader"})}catch(__react_docgen_typescript_loader_error){}var react_is=__webpack_require__(276),EpicExpanderRow=__webpack_require__(233),EpicDetailRow=__webpack_require__(174),EpicCell=__webpack_require__(6);function epicTableLayout(config){const{children:children,epicTableRect:epicTableRect,hasRight:hasRight,activeDetailRowChanged:activeDetailRowChanged}=config,left=[],center=[],right=[];let leftSection={header:[],contents:[]},centerSection={header:[],contents:[]},rightSection={header:[],contents:[]},totalDesiredCenterWidth=-1,totalDesiredCenterHeight=-1,epicRowNumber=1;react.Children.forEach(getRows(children),row=>row.type===EpicExpanderRow.a&&null!==epicTableRect?function handleExpanderRow(row,rect){const clone=Object(react.cloneElement)(row,{width:rect.width,key:1337});if(leftSection.contents.push([clone]),row.props.active){const spacer=Object(react.createElement)("div",{style:{height:row.props.height}});leftSection.contents.push([Object(react.cloneElement)(spacer,{key:1})]),rightSection.contents.push([Object(react.cloneElement)(spacer,{key:2})]),centerSection.contents.push([Object(react.cloneElement)(spacer,{key:3})])}}(row,epicTableRect):row.type===EpicDetailRow.a&&null!==epicTableRect?function handleEpicDetailRow(row,rect){const clone=Object(react.cloneElement)(row,{width:rect.width-row.props.left,top:0,left:row.props.left,key:42,ref:activeDetailRowChanged});leftSection.contents.push([clone]),row.props.active}(row,epicTableRect):(function handleEpicRow(row,index){const cells=row.props.children,lastCellInRowIndex=react.Children.count(cells)-1,isHeader=row.props.header;isHeader&&(null!==leftSection&&(sectionHasData(leftSection)&&left.push(leftSection),sectionHasData(centerSection)&¢er.push(centerSection),sectionHasData(rightSection)&&right.push(rightSection)),leftSection={header:[],contents:[]},centerSection={header:[],contents:[]},rightSection={header:[],contents:[]},epicRowNumber=1);const leftRow=[],centerRow=[],rightRow=[],isRowOdd=index%2==1;react.Children.forEach(cells,(cell,cellIndex)=>{const left=0===cellIndex,right=hasRight&&cellIndex===lastCellInRowIndex,clone=Object(react.cloneElement)(cell,{odd:isRowOdd,key:cellIndex});left?isHeader?leftSection.header.push(clone):leftRow.push(clone):right?isHeader?rightSection.header.push(clone):rightRow.push(clone):isHeader?centerSection.header.push(clone):centerRow.push(clone)}),leftRow.length>0&&leftSection.contents.push(leftRow);centerRow.length>0&&(-1===totalDesiredCenterWidth&&(totalDesiredCenterWidth=centerRow.reduce((acc,cell)=>acc+cell.props.width,0)),-1===totalDesiredCenterHeight&&(totalDesiredCenterHeight=centerRow.reduce((acc,cell)=>acc+cell.props.width,0)),centerSection.contents.push(centerRow));rightRow.length>0&&rightSection.contents.push(rightRow)}(row,epicRowNumber),void(epicRowNumber+=1))),left.push(leftSection),(centerSection.header.length>0||centerSection.contents.length>0)&¢er.push(centerSection),(rightSection.header.length>0||rightSection.contents.length>0)&&right.push(rightSection);const totalDesiredHeight=left.reduce((totalHeight,section)=>{const header=section.header[0];return header&&(totalHeight+=header.props.height),totalHeight+section.contents.reduce((cellsHeight,cells)=>{const cell=cells[0];return cell&&cell.type===EpicCell.a?cellsHeight+cell.props.height:cellsHeight},0)},0);return{left:left,center:center,right:right,totalDesiredCenterWidth:totalDesiredCenterWidth,totalDesiredHeight:totalDesiredHeight}}function getRows(children){const rows=[];return react.Children.forEach(children,child=>{Object(react_is.isFragment)(child)?child.props.children.forEach(row=>{rows.push(row)}):rows.push(child)}),rows}function sectionHasData(section){return section.contents.length>0||section.header.length>0}try{epicTableLayout.displayName="epicTableLayout",epicTableLayout.__docgenInfo={description:'The user is given a semantic based API by the EpicTable. This api\nfor the user of the library feels very nice (at least that is the goal).\n\nUnfortunately the semantic UI is not a data structure which can be\nused to render the table directly. The `epicTableLayout` therefore\ntakes the semantic UI and transforms it into a data structure which\ncan actually be rendered.\n\nThe problem is this: to create a fixed left, a gooey center and\na fixed right, you need three
`s next to each other. One\njob of the `epicTableLayout` is to bucket the semantic structure\nin a left, right and center.\n\nSo given this structure:\n\n```tsx\n \n \n \n Name\n \n \n Age\n \n \n Eye color\n \n \n Actions\n \n \n \n \n Maarten\n \n \n 30\n \n \n Brown\n \n \n
\n action(`You entered ${value}`)}\n mask={[/[1-9]/, /[1-9]/, /[1-9]/, /[1-9]/, \' \', /[A-z]/, /[A-z]/]}\n />\n

\n Look\n \n here\n \n for more example on how to use mask\n

\n
\n action(`You entered ${value}`)}\n mask={[/[1-9]/, /[1-9]/, /[1-9]/, /[1-9]/, \' \', /[A-z]/, /[A-z]/]}\n />\n

\n Look\n \n here\n \n for more example on how to use mask\n

\n