{"version":3,"file":"js/rescript-bundles-resources-resource-edit-b4a1b8b21952e60d7c28.chunk.js","mappings":"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FiO,EAAajO,EAAAA,GAAM,CACjB,SACA,iBACA,WACA,OAbO,6CAiBTkO,EAAmBlO,EAAAA,GAAM,CACvB,SACA,UAGFmO,EAAenO,EAAAA,GAAM,CACnB,OACA,eACA,gBACA,eACA,UACA,oBACA,oBACA,cACA,cACA,yBACA,uBAGFoO,EAAgBpO,EAAAA,GAAM,CACpB,aACA,qBACA,SAGFqO,EAAWrO,EAAAA,GAAM,CACf,oBACA,UACA,gBACA,gBACA,QACA,OACA,kBACA,wBAGFsO,EAAiBtO,EAAAA,GAAM,CACrB,gBACAqO,IAGFE,EAA0BvO,EAAAA,GAAM,CAC9B,aACA,gBACA,SAGFwO,EAAqBxO,EAAAA,GAAM,CACzB,cACA,gBACAqO,IAGFI,EAAyBzO,EAAAA,GAAM,CAC7B,OACA,WACA,eACA,iBACA,SACA,aACA,kBACA,iBAGF0O,EAAkB1O,EAAAA,GAAM,CACtByO,EACA,eAGFE,EAAkB3O,EAAAA,GAAM,CACtB,UACA,SACA,qBACA,OACA,UACA,OACA,YAGF4O,EAAW5O,EAAAA,GAAM,CACf,OACA,iBACA,eACA,gBACA,OACA,UACA,cACA,YACA,aACA,aAGF6O,EAAU7O,EAAAA,GAAM,CACd,gBACA,OACA,UACA,cACA,YACA,mB","sources":["webpack://datacenters/./client/app/rescript/bundles/resources/resource-edit-navbar/ResourceEditNavbar.res.js","webpack://datacenters/./client/app/rescript/bundles/resources/resource-edit/ResourcePdf.res.js","webpack://datacenters/./client/app/rescript/bundles/resources/resource-edit/ResourceEditForm.res.js","webpack://datacenters/./client/app/rescript/bundles/resources/resource-edit/ResourceEdit.res.js","webpack://datacenters/./client/app/rescript/bundles/resources/resource-edit/ResourceEdit__JsBridge.res.js","webpack://datacenters/./client/app/rescript/bundles/resources/resource-edit/index.js","webpack://datacenters/./client/app/rescript/styleguide/components/Container/Container.res.js","webpack://datacenters/./client/app/rescript/styleguide/dashboard/components/navbar/DashboardNavbarCss.res.js"],"sourcesContent":["// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as Cx from \"rescript-classnames/src/Cx.res.js\";\nimport * as Belt_Array from \"rescript/lib/es6/belt_Array.js\";\nimport * as Routes_Resource from \"../../../routes/common/Routes_Resource.res.js\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\nimport * as DashboardNavbarCss from \"../../../styleguide/dashboard/components/navbar/DashboardNavbarCss.res.js\";\n\nfunction ResourceEditNavbar(props) {\n  var resourceId = props.resourceId;\n  var selectedCategory = props.selectedCategory;\n  return JsxRuntime.jsx(\"div\", {\n              children: JsxRuntime.jsx(\"div\", {\n                    children: Belt_Array.mapWithIndex([\n                          {\n                            id: \"ResourcesDashboard\",\n                            slug: Routes_Resource.Dashboard.index\n                          },\n                          {\n                            id: \"EditResource\",\n                            slug: Routes_Resource.Dashboard.edit(resourceId)\n                          },\n                          {\n                            id: \"ResourceProviders\",\n                            slug: Routes_Resource.Dashboard.editResourceProviders(resourceId)\n                          }\n                        ], (function (index, category) {\n                            var match = category.id;\n                            return JsxRuntime.jsx(\"div\", {\n                                        children: JsxRuntime.jsx(\"a\", {\n                                              children: match === \"ResourcesDashboard\" ? \"Dashboard\" : (\n                                                  match === \"ResourceProviders\" ? \"Manage Providers\" : \"Edit Resource\"\n                                                ),\n                                              href: category.slug\n                                            }),\n                                        className: Cx.cx([category.id === selectedCategory ? Cx.cx([\n                                                      DashboardNavbarCss.underlinedLinkItem,\n                                                      DashboardNavbarCss.underlinedLinkContainer\n                                                    ]) : Cx.cx([\n                                                      DashboardNavbarCss.linkContainer,\n                                                      DashboardNavbarCss.normalLinkItem\n                                                    ])])\n                                      }, String(index));\n                          })),\n                    className: DashboardNavbarCss.barContainer\n                  }),\n              className: DashboardNavbarCss.barWrapper\n            });\n}\n\nvar Css;\n\nvar make = ResourceEditNavbar;\n\nexport {\n  Css ,\n  make ,\n}\n/* Routes_Resource Not a pure module */\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as IconFile from \"../../../styleguide/icons/IconFile.res.js\";\nimport * as IconView from \"../../../styleguide/icons/IconView.res.js\";\nimport * as IconDelete from \"../../../styleguide/icons/IconDelete.res.js\";\nimport * as Caml_option from \"rescript/lib/es6/caml_option.js\";\nimport * as ResourceItem from \"../../../models/ResourceItem.res.js\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\nimport * as ResourceEditFormCss from \"./ResourceEditFormCss.res.js\";\n\nfunction ResourcePdf$DocumentRow(props) {\n  var onDelete = props.onDelete;\n  return JsxRuntime.jsxs(\"div\", {\n              children: [\n                JsxRuntime.jsxs(\"div\", {\n                      children: [\n                        JsxRuntime.jsx(IconFile.make, {\n                              size: \"LG\",\n                              color: \"DarkGray\"\n                            }),\n                        JsxRuntime.jsx(\"p\", {\n                              children: props.filename,\n                              className: ResourceEditFormCss.fileNameText\n                            })\n                      ],\n                      className: ResourceEditFormCss.flexContainer\n                    }),\n                JsxRuntime.jsxs(\"div\", {\n                      children: [\n                        JsxRuntime.jsx(\"p\", {\n                              children: ResourceItem.$$Document.sizeText(props.byteSize),\n                              className: ResourceEditFormCss.fileSizeText\n                            }),\n                        JsxRuntime.jsx(\"a\", {\n                              children: JsxRuntime.jsx(IconView.make, {\n                                    size: \"LG\",\n                                    color: \"DarkGray\",\n                                    className: ResourceEditFormCss.iconView\n                                  }),\n                              className: ResourceEditFormCss.privateDownload,\n                              href: props.privateDownload,\n                              target: \"_blank\"\n                            }),\n                        JsxRuntime.jsx(\"div\", {\n                              children: JsxRuntime.jsx(IconDelete.make, {\n                                    size: \"LG\",\n                                    color: \"DarkGray\",\n                                    viewBoxSize: \"20\"\n                                  }),\n                              className: ResourceEditFormCss.iconDelete,\n                              onClick: (function (param) {\n                                  onDelete();\n                                })\n                            })\n                      ],\n                      className: ResourceEditFormCss.flexContainer\n                    })\n              ],\n              className: ResourceEditFormCss.documentRow\n            });\n}\n\nvar DocumentRow = {\n  make: ResourcePdf$DocumentRow\n};\n\nfunction ResourcePdf(props) {\n  var removeDocument = props.removeDocument;\n  var $$document = props.document;\n  return JsxRuntime.jsx(JsxRuntime.Fragment, {\n              children: Caml_option.some($$document !== undefined ? JsxRuntime.jsx(ResourcePdf$DocumentRow, {\n                          privateDownload: props.privateDownload,\n                          filename: $$document.filename,\n                          byteSize: $$document.byteSize,\n                          onDelete: (function () {\n                              removeDocument($$document);\n                            })\n                        }, \"recently-uploaded-document-\" + $$document.filename) : null)\n            });\n}\n\nvar Css;\n\nvar make = ResourcePdf;\n\nexport {\n  Css ,\n  DocumentRow ,\n  make ,\n}\n/* IconFile Not a pure module */\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as ID from \"../../../libs/ID.res.js\";\nimport * as Api from \"../../../api/Api.res.js\";\nimport * as Col from \"../../../styleguide/components/Grid/Col/Col.res.js\";\nimport * as Row from \"../../../styleguide/components/Grid/Row/Row.res.js\";\nimport * as Url from \"../../../utils/Url.res.js\";\nimport * as Grid from \"../../../styleguide/components/Grid/Grid.res.js\";\nimport * as Label from \"../../../styleguide/forms/Label/Label.res.js\";\nimport * as Quill from \"../../../bindings/Quill.res.js\";\nimport * as React from \"react\";\nimport * as Button from \"../../../styleguide/components/Button/Button.res.js\";\nimport * as Editor from \"../../../styleguide/forms/Editor/Editor.res.js\";\nimport * as Select from \"../../../styleguide/forms/Select/Select.res.js\";\nimport * as $$Promise from \"../../../bindings/Promise.res.js\";\nimport * as Textarea from \"../../../styleguide/forms/Textarea/Textarea.res.js\";\nimport * as Uploader from \"../../../styleguide/forms/Uploader/Uploader.res.js\";\nimport * as Formality from \"re-formality/src/Formality.res.js\";\nimport * as TextField from \"../../../styleguide/forms/TextField/TextField.res.js\";\nimport * as Belt_Array from \"rescript/lib/es6/belt_Array.js\";\nimport * as Belt_Option from \"rescript/lib/es6/belt_Option.js\";\nimport * as Caml_option from \"rescript/lib/es6/caml_option.js\";\nimport * as ResourcePdf from \"./ResourcePdf.res.js\";\nimport * as ErrorMessage from \"../../../styleguide/forms/ErrorMessage/ErrorMessage.res.js\";\nimport * as SentryLogger from \"../../../loggers/SentryLogger.res.js\";\nimport * as Routes_Resource from \"../../../routes/common/Routes_Resource.res.js\";\nimport * as ResourceDocument from \"../resource-new/ResourceDocument.res.js\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\nimport * as ResourceEditFormCss from \"./ResourceEditFormCss.res.js\";\nimport * as IconAdditionalUpload from \"../../../styleguide/icons/IconAdditionalUpload.res.js\";\nimport * as Formality__ReactUpdate from \"re-formality/src/Formality__ReactUpdate.res.js\";\n\nvar validators_resourceCategoryId = {\n  strategy: \"OnFirstSuccessOrFirstBlur\",\n  validate: (function (input) {\n      var match = input.resourceCategoryId;\n      if (match === \"\") {\n        return {\n                TAG: \"Error\",\n                _0: \"Resource category is required\"\n              };\n      } else {\n        return {\n                TAG: \"Ok\",\n                _0: input.resourceCategoryId\n              };\n      }\n    })\n};\n\nvar validators_active = {\n  strategy: \"OnFirstSuccessOrFirstBlur\",\n  validate: (function (input) {\n      var match = input.active;\n      if (match === \"\") {\n        return {\n                TAG: \"Error\",\n                _0: \"Active is required\"\n              };\n      } else {\n        return {\n                TAG: \"Ok\",\n                _0: input.active\n              };\n      }\n    })\n};\n\nvar validators_popular = {\n  strategy: \"OnFirstSuccessOrFirstBlur\",\n  validate: (function (input) {\n      var match = input.popular;\n      if (match === \"\") {\n        return {\n                TAG: \"Error\",\n                _0: \"Popular is required\"\n              };\n      } else {\n        return {\n                TAG: \"Ok\",\n                _0: input.popular\n              };\n      }\n    })\n};\n\nvar validators_metaDescription = {\n  strategy: \"OnFirstSuccessOrFirstBlur\",\n  validate: (function (input) {\n      var length = input.metaDescription.length;\n      if (length !== 0) {\n        if (length < 50) {\n          return {\n                  TAG: \"Error\",\n                  _0: \"Meta description must be more than 50 characters.\"\n                };\n        } else if (length > 500) {\n          return {\n                  TAG: \"Error\",\n                  _0: \"Meta description must no more than 500 characters.\"\n                };\n        } else {\n          return {\n                  TAG: \"Ok\",\n                  _0: input.metaDescription\n                };\n        }\n      } else {\n        return {\n                TAG: \"Error\",\n                _0: \"Meta description is required\"\n              };\n      }\n    })\n};\n\nvar validators_metaTitle = {\n  strategy: \"OnFirstSuccessOrFirstBlur\",\n  validate: (function (input) {\n      var length = input.metaTitle.length;\n      if (length !== 0) {\n        if (length < 40) {\n          return {\n                  TAG: \"Error\",\n                  _0: \"Meta title must be more than 40 characters.\"\n                };\n        } else if (length > 200) {\n          return {\n                  TAG: \"Error\",\n                  _0: \"Meta title must no more than 200 characters.\"\n                };\n        } else {\n          return {\n                  TAG: \"Ok\",\n                  _0: input.metaTitle\n                };\n        }\n      } else {\n        return {\n                TAG: \"Error\",\n                _0: \"Meta title is required\"\n              };\n      }\n    })\n};\n\nvar validators_resourceSummary = {\n  strategy: \"OnFirstSuccessOrFirstBlur\",\n  validate: (function (input) {\n      var length = input.resourceSummary.length;\n      if (length !== 0) {\n        if (length < 50) {\n          return {\n                  TAG: \"Error\",\n                  _0: \"Summary must be more than 50 characters.\"\n                };\n        } else if (length > 200) {\n          return {\n                  TAG: \"Error\",\n                  _0: \"Summary must be no more than 200 characters.\"\n                };\n        } else {\n          return {\n                  TAG: \"Ok\",\n                  _0: input.resourceSummary\n                };\n        }\n      } else {\n        return {\n                TAG: \"Error\",\n                _0: \"Resource summary is required\"\n              };\n      }\n    })\n};\n\nvar validators_title = {\n  strategy: \"OnFirstSuccessOrFirstBlur\",\n  validate: (function (input) {\n      var length = input.title.length;\n      if (length !== 0) {\n        if (length < 20) {\n          return {\n                  TAG: \"Error\",\n                  _0: \"Title must be more than 20 characters.\"\n                };\n        } else if (length > 100) {\n          return {\n                  TAG: \"Error\",\n                  _0: \"Title must be no more than 100 characters.\"\n                };\n        } else {\n          return {\n                  TAG: \"Ok\",\n                  _0: input.title\n                };\n        }\n      } else {\n        return {\n                TAG: \"Error\",\n                _0: \"Title is required.\"\n              };\n      }\n    })\n};\n\nvar validators = {\n  resourceCategoryId: validators_resourceCategoryId,\n  active: validators_active,\n  popular: validators_popular,\n  metaDescription: validators_metaDescription,\n  metaTitle: validators_metaTitle,\n  resourceSummary: validators_resourceSummary,\n  title: validators_title\n};\n\nfunction initialFieldsStatuses(_input) {\n  return {\n          resourceCategoryId: \"Pristine\",\n          active: \"Pristine\",\n          popular: \"Pristine\",\n          metaDescription: \"Pristine\",\n          metaTitle: \"Pristine\",\n          resourceSummary: \"Pristine\",\n          title: \"Pristine\"\n        };\n}\n\nfunction initialState(input) {\n  return {\n          input: input,\n          fieldsStatuses: initialFieldsStatuses(input),\n          collectionsStatuses: undefined,\n          formStatus: \"Editing\",\n          submissionStatus: \"NeverSubmitted\"\n        };\n}\n\nfunction validateForm(input, validators, fieldsStatuses) {\n  var match = fieldsStatuses.resourceCategoryId;\n  var tmp;\n  tmp = typeof match !== \"object\" ? validators.resourceCategoryId.validate(input) : match._0;\n  var match$1 = fieldsStatuses.active;\n  var tmp$1;\n  tmp$1 = typeof match$1 !== \"object\" ? validators.active.validate(input) : match$1._0;\n  var match$2 = fieldsStatuses.popular;\n  var tmp$2;\n  tmp$2 = typeof match$2 !== \"object\" ? validators.popular.validate(input) : match$2._0;\n  var match$3 = fieldsStatuses.metaDescription;\n  var tmp$3;\n  tmp$3 = typeof match$3 !== \"object\" ? validators.metaDescription.validate(input) : match$3._0;\n  var match$4 = fieldsStatuses.metaTitle;\n  var tmp$4;\n  tmp$4 = typeof match$4 !== \"object\" ? validators.metaTitle.validate(input) : match$4._0;\n  var match$5 = fieldsStatuses.resourceSummary;\n  var tmp$5;\n  tmp$5 = typeof match$5 !== \"object\" ? validators.resourceSummary.validate(input) : match$5._0;\n  var match$6 = fieldsStatuses.title;\n  var tmp$6;\n  tmp$6 = typeof match$6 !== \"object\" ? validators.title.validate(input) : match$6._0;\n  var resourceCategoryIdResult = tmp;\n  var resourceCategoryIdResult$1;\n  if (resourceCategoryIdResult.TAG === \"Ok\") {\n    var activeResult = tmp$1;\n    if (activeResult.TAG === \"Ok\") {\n      var popularResult = tmp$2;\n      if (popularResult.TAG === \"Ok\") {\n        var metaDescriptionResult = tmp$3;\n        if (metaDescriptionResult.TAG === \"Ok\") {\n          var metaTitleResult = tmp$4;\n          if (metaTitleResult.TAG === \"Ok\") {\n            var resourceSummaryResult = tmp$5;\n            if (resourceSummaryResult.TAG === \"Ok\") {\n              var titleResult = tmp$6;\n              if (titleResult.TAG === \"Ok\") {\n                return {\n                        TAG: \"Valid\",\n                        output: {\n                          title: titleResult._0,\n                          resourceSummary: resourceSummaryResult._0,\n                          metaTitle: metaTitleResult._0,\n                          metaDescription: metaDescriptionResult._0,\n                          popular: popularResult._0,\n                          active: activeResult._0,\n                          resourceCategoryId: resourceCategoryIdResult._0\n                        },\n                        fieldsStatuses: {\n                          resourceCategoryId: {\n                            TAG: \"Dirty\",\n                            _0: resourceCategoryIdResult,\n                            _1: \"Shown\"\n                          },\n                          active: {\n                            TAG: \"Dirty\",\n                            _0: activeResult,\n                            _1: \"Shown\"\n                          },\n                          popular: {\n                            TAG: \"Dirty\",\n                            _0: popularResult,\n                            _1: \"Shown\"\n                          },\n                          metaDescription: {\n                            TAG: \"Dirty\",\n                            _0: metaDescriptionResult,\n                            _1: \"Shown\"\n                          },\n                          metaTitle: {\n                            TAG: \"Dirty\",\n                            _0: metaTitleResult,\n                            _1: \"Shown\"\n                          },\n                          resourceSummary: {\n                            TAG: \"Dirty\",\n                            _0: resourceSummaryResult,\n                            _1: \"Shown\"\n                          },\n                          title: {\n                            TAG: \"Dirty\",\n                            _0: titleResult,\n                            _1: \"Shown\"\n                          }\n                        },\n                        collectionsStatuses: undefined\n                      };\n              }\n              resourceCategoryIdResult$1 = resourceCategoryIdResult;\n            } else {\n              resourceCategoryIdResult$1 = resourceCategoryIdResult;\n            }\n          } else {\n            resourceCategoryIdResult$1 = resourceCategoryIdResult;\n          }\n        } else {\n          resourceCategoryIdResult$1 = resourceCategoryIdResult;\n        }\n      } else {\n        resourceCategoryIdResult$1 = resourceCategoryIdResult;\n      }\n    } else {\n      resourceCategoryIdResult$1 = resourceCategoryIdResult;\n    }\n  } else {\n    resourceCategoryIdResult$1 = resourceCategoryIdResult;\n  }\n  return {\n          TAG: \"Invalid\",\n          fieldsStatuses: {\n            resourceCategoryId: {\n              TAG: \"Dirty\",\n              _0: resourceCategoryIdResult$1,\n              _1: \"Shown\"\n            },\n            active: {\n              TAG: \"Dirty\",\n              _0: tmp$1,\n              _1: \"Shown\"\n            },\n            popular: {\n              TAG: \"Dirty\",\n              _0: tmp$2,\n              _1: \"Shown\"\n            },\n            metaDescription: {\n              TAG: \"Dirty\",\n              _0: tmp$3,\n              _1: \"Shown\"\n            },\n            metaTitle: {\n              TAG: \"Dirty\",\n              _0: tmp$4,\n              _1: \"Shown\"\n            },\n            resourceSummary: {\n              TAG: \"Dirty\",\n              _0: tmp$5,\n              _1: \"Shown\"\n            },\n            title: {\n              TAG: \"Dirty\",\n              _0: tmp$6,\n              _1: \"Shown\"\n            }\n          },\n          collectionsStatuses: undefined\n        };\n}\n\nfunction useForm(initialInput, onSubmit) {\n  var memoizedInitialState = React.useMemo((function () {\n          return initialState(initialInput);\n        }), [initialInput]);\n  var match = Formality__ReactUpdate.useReducer(memoizedInitialState, (function (state, action) {\n          if (typeof action !== \"object\") {\n            switch (action) {\n              case \"BlurResourceCategoryIdField\" :\n                  var result = Formality.validateFieldOnBlurWithValidator(state.input, state.fieldsStatuses.resourceCategoryId, validators_resourceCategoryId, (function (status) {\n                          var init = state.fieldsStatuses;\n                          return {\n                                  resourceCategoryId: status,\n                                  active: init.active,\n                                  popular: init.popular,\n                                  metaDescription: init.metaDescription,\n                                  metaTitle: init.metaTitle,\n                                  resourceSummary: init.resourceSummary,\n                                  title: init.title\n                                };\n                        }));\n                  if (result !== undefined) {\n                    return {\n                            TAG: \"Update\",\n                            _0: {\n                              input: state.input,\n                              fieldsStatuses: result,\n                              collectionsStatuses: state.collectionsStatuses,\n                              formStatus: state.formStatus,\n                              submissionStatus: state.submissionStatus\n                            }\n                          };\n                  } else {\n                    return \"NoUpdate\";\n                  }\n              case \"BlurActiveField\" :\n                  var result$1 = Formality.validateFieldOnBlurWithValidator(state.input, state.fieldsStatuses.active, validators_active, (function (status) {\n                          var init = state.fieldsStatuses;\n                          return {\n                                  resourceCategoryId: init.resourceCategoryId,\n                                  active: status,\n                                  popular: init.popular,\n                                  metaDescription: init.metaDescription,\n                                  metaTitle: init.metaTitle,\n                                  resourceSummary: init.resourceSummary,\n                                  title: init.title\n                                };\n                        }));\n                  if (result$1 !== undefined) {\n                    return {\n                            TAG: \"Update\",\n                            _0: {\n                              input: state.input,\n                              fieldsStatuses: result$1,\n                              collectionsStatuses: state.collectionsStatuses,\n                              formStatus: state.formStatus,\n                              submissionStatus: state.submissionStatus\n                            }\n                          };\n                  } else {\n                    return \"NoUpdate\";\n                  }\n              case \"BlurPopularField\" :\n                  var result$2 = Formality.validateFieldOnBlurWithValidator(state.input, state.fieldsStatuses.popular, validators_popular, (function (status) {\n                          var init = state.fieldsStatuses;\n                          return {\n                                  resourceCategoryId: init.resourceCategoryId,\n                                  active: init.active,\n                                  popular: status,\n                                  metaDescription: init.metaDescription,\n                                  metaTitle: init.metaTitle,\n                                  resourceSummary: init.resourceSummary,\n                                  title: init.title\n                                };\n                        }));\n                  if (result$2 !== undefined) {\n                    return {\n                            TAG: \"Update\",\n                            _0: {\n                              input: state.input,\n                              fieldsStatuses: result$2,\n                              collectionsStatuses: state.collectionsStatuses,\n                              formStatus: state.formStatus,\n                              submissionStatus: state.submissionStatus\n                            }\n                          };\n                  } else {\n                    return \"NoUpdate\";\n                  }\n              case \"BlurMetaDescriptionField\" :\n                  var result$3 = Formality.validateFieldOnBlurWithValidator(state.input, state.fieldsStatuses.metaDescription, validators_metaDescription, (function (status) {\n                          var init = state.fieldsStatuses;\n                          return {\n                                  resourceCategoryId: init.resourceCategoryId,\n                                  active: init.active,\n                                  popular: init.popular,\n                                  metaDescription: status,\n                                  metaTitle: init.metaTitle,\n                                  resourceSummary: init.resourceSummary,\n                                  title: init.title\n                                };\n                        }));\n                  if (result$3 !== undefined) {\n                    return {\n                            TAG: \"Update\",\n                            _0: {\n                              input: state.input,\n                              fieldsStatuses: result$3,\n                              collectionsStatuses: state.collectionsStatuses,\n                              formStatus: state.formStatus,\n                              submissionStatus: state.submissionStatus\n                            }\n                          };\n                  } else {\n                    return \"NoUpdate\";\n                  }\n              case \"BlurMetaTitleField\" :\n                  var result$4 = Formality.validateFieldOnBlurWithValidator(state.input, state.fieldsStatuses.metaTitle, validators_metaTitle, (function (status) {\n                          var init = state.fieldsStatuses;\n                          return {\n                                  resourceCategoryId: init.resourceCategoryId,\n                                  active: init.active,\n                                  popular: init.popular,\n                                  metaDescription: init.metaDescription,\n                                  metaTitle: status,\n                                  resourceSummary: init.resourceSummary,\n                                  title: init.title\n                                };\n                        }));\n                  if (result$4 !== undefined) {\n                    return {\n                            TAG: \"Update\",\n                            _0: {\n                              input: state.input,\n                              fieldsStatuses: result$4,\n                              collectionsStatuses: state.collectionsStatuses,\n                              formStatus: state.formStatus,\n                              submissionStatus: state.submissionStatus\n                            }\n                          };\n                  } else {\n                    return \"NoUpdate\";\n                  }\n              case \"BlurResourceSummaryField\" :\n                  var result$5 = Formality.validateFieldOnBlurWithValidator(state.input, state.fieldsStatuses.resourceSummary, validators_resourceSummary, (function (status) {\n                          var init = state.fieldsStatuses;\n                          return {\n                                  resourceCategoryId: init.resourceCategoryId,\n                                  active: init.active,\n                                  popular: init.popular,\n                                  metaDescription: init.metaDescription,\n                                  metaTitle: init.metaTitle,\n                                  resourceSummary: status,\n                                  title: init.title\n                                };\n                        }));\n                  if (result$5 !== undefined) {\n                    return {\n                            TAG: \"Update\",\n                            _0: {\n                              input: state.input,\n                              fieldsStatuses: result$5,\n                              collectionsStatuses: state.collectionsStatuses,\n                              formStatus: state.formStatus,\n                              submissionStatus: state.submissionStatus\n                            }\n                          };\n                  } else {\n                    return \"NoUpdate\";\n                  }\n              case \"BlurTitleField\" :\n                  var result$6 = Formality.validateFieldOnBlurWithValidator(state.input, state.fieldsStatuses.title, validators_title, (function (status) {\n                          var init = state.fieldsStatuses;\n                          return {\n                                  resourceCategoryId: init.resourceCategoryId,\n                                  active: init.active,\n                                  popular: init.popular,\n                                  metaDescription: init.metaDescription,\n                                  metaTitle: init.metaTitle,\n                                  resourceSummary: init.resourceSummary,\n                                  title: status\n                                };\n                        }));\n                  if (result$6 !== undefined) {\n                    return {\n                            TAG: \"Update\",\n                            _0: {\n                              input: state.input,\n                              fieldsStatuses: result$6,\n                              collectionsStatuses: state.collectionsStatuses,\n                              formStatus: state.formStatus,\n                              submissionStatus: state.submissionStatus\n                            }\n                          };\n                  } else {\n                    return \"NoUpdate\";\n                  }\n              case \"Submit\" :\n                  var match = state.formStatus;\n                  if (typeof match === \"object\" && match.TAG === \"Submitting\") {\n                    return \"NoUpdate\";\n                  }\n                  var match$1 = validateForm(state.input, validators, state.fieldsStatuses);\n                  if (match$1.TAG !== \"Valid\") {\n                    return {\n                            TAG: \"Update\",\n                            _0: {\n                              input: state.input,\n                              fieldsStatuses: match$1.fieldsStatuses,\n                              collectionsStatuses: match$1.collectionsStatuses,\n                              formStatus: \"Editing\",\n                              submissionStatus: \"AttemptedToSubmit\"\n                            }\n                          };\n                  }\n                  var output = match$1.output;\n                  var error = state.formStatus;\n                  var tmp;\n                  tmp = typeof error !== \"object\" || error.TAG !== \"SubmissionFailed\" ? undefined : Caml_option.some(error._0);\n                  return {\n                          TAG: \"UpdateWithSideEffects\",\n                          _0: {\n                            input: state.input,\n                            fieldsStatuses: match$1.fieldsStatuses,\n                            collectionsStatuses: match$1.collectionsStatuses,\n                            formStatus: {\n                              TAG: \"Submitting\",\n                              _0: tmp\n                            },\n                            submissionStatus: \"AttemptedToSubmit\"\n                          },\n                          _1: (function (param) {\n                              var dispatch = param.dispatch;\n                              onSubmit(output, {\n                                    notifyOnSuccess: (function (input) {\n                                        dispatch({\n                                              TAG: \"SetSubmittedStatus\",\n                                              _0: input\n                                            });\n                                      }),\n                                    notifyOnFailure: (function (error) {\n                                        dispatch({\n                                              TAG: \"SetSubmissionFailedStatus\",\n                                              _0: error\n                                            });\n                                      }),\n                                    reset: (function () {\n                                        dispatch(\"Reset\");\n                                      }),\n                                    dismissSubmissionResult: (function () {\n                                        dispatch(\"DismissSubmissionResult\");\n                                      })\n                                  });\n                            })\n                        };\n                  break;\n              case \"DismissSubmissionError\" :\n                  var match$2 = state.formStatus;\n                  if (typeof match$2 !== \"object\" || match$2.TAG !== \"SubmissionFailed\") {\n                    return \"NoUpdate\";\n                  } else {\n                    return {\n                            TAG: \"Update\",\n                            _0: {\n                              input: state.input,\n                              fieldsStatuses: state.fieldsStatuses,\n                              collectionsStatuses: state.collectionsStatuses,\n                              formStatus: \"Editing\",\n                              submissionStatus: state.submissionStatus\n                            }\n                          };\n                  }\n              case \"DismissSubmissionResult\" :\n                  var match$3 = state.formStatus;\n                  if (typeof match$3 !== \"object\") {\n                    if (match$3 === \"Editing\") {\n                      return \"NoUpdate\";\n                    }\n                    \n                  } else if (match$3.TAG === \"Submitting\") {\n                    return \"NoUpdate\";\n                  }\n                  return {\n                          TAG: \"Update\",\n                          _0: {\n                            input: state.input,\n                            fieldsStatuses: state.fieldsStatuses,\n                            collectionsStatuses: state.collectionsStatuses,\n                            formStatus: \"Editing\",\n                            submissionStatus: state.submissionStatus\n                          }\n                        };\n              case \"Reset\" :\n                  return {\n                          TAG: \"Update\",\n                          _0: initialState(initialInput)\n                        };\n              \n            }\n          } else {\n            switch (action.TAG) {\n              case \"UpdateResourceCategoryIdField\" :\n                  var nextInput = action._0(state.input);\n                  return {\n                          TAG: \"Update\",\n                          _0: {\n                            input: nextInput,\n                            fieldsStatuses: Formality.validateFieldOnChangeWithValidator(nextInput, state.fieldsStatuses.resourceCategoryId, state.submissionStatus, validators_resourceCategoryId, (function (status) {\n                                    var init = state.fieldsStatuses;\n                                    return {\n                                            resourceCategoryId: status,\n                                            active: init.active,\n                                            popular: init.popular,\n                                            metaDescription: init.metaDescription,\n                                            metaTitle: init.metaTitle,\n                                            resourceSummary: init.resourceSummary,\n                                            title: init.title\n                                          };\n                                  })),\n                            collectionsStatuses: state.collectionsStatuses,\n                            formStatus: state.formStatus,\n                            submissionStatus: state.submissionStatus\n                          }\n                        };\n              case \"UpdateActiveField\" :\n                  var nextInput$1 = action._0(state.input);\n                  return {\n                          TAG: \"Update\",\n                          _0: {\n                            input: nextInput$1,\n                            fieldsStatuses: Formality.validateFieldOnChangeWithValidator(nextInput$1, state.fieldsStatuses.active, state.submissionStatus, validators_active, (function (status) {\n                                    var init = state.fieldsStatuses;\n                                    return {\n                                            resourceCategoryId: init.resourceCategoryId,\n                                            active: status,\n                                            popular: init.popular,\n                                            metaDescription: init.metaDescription,\n                                            metaTitle: init.metaTitle,\n                                            resourceSummary: init.resourceSummary,\n                                            title: init.title\n                                          };\n                                  })),\n                            collectionsStatuses: state.collectionsStatuses,\n                            formStatus: state.formStatus,\n                            submissionStatus: state.submissionStatus\n                          }\n                        };\n              case \"UpdatePopularField\" :\n                  var nextInput$2 = action._0(state.input);\n                  return {\n                          TAG: \"Update\",\n                          _0: {\n                            input: nextInput$2,\n                            fieldsStatuses: Formality.validateFieldOnChangeWithValidator(nextInput$2, state.fieldsStatuses.popular, state.submissionStatus, validators_popular, (function (status) {\n                                    var init = state.fieldsStatuses;\n                                    return {\n                                            resourceCategoryId: init.resourceCategoryId,\n                                            active: init.active,\n                                            popular: status,\n                                            metaDescription: init.metaDescription,\n                                            metaTitle: init.metaTitle,\n                                            resourceSummary: init.resourceSummary,\n                                            title: init.title\n                                          };\n                                  })),\n                            collectionsStatuses: state.collectionsStatuses,\n                            formStatus: state.formStatus,\n                            submissionStatus: state.submissionStatus\n                          }\n                        };\n              case \"UpdateMetaDescriptionField\" :\n                  var nextInput$3 = action._0(state.input);\n                  return {\n                          TAG: \"Update\",\n                          _0: {\n                            input: nextInput$3,\n                            fieldsStatuses: Formality.validateFieldOnChangeWithValidator(nextInput$3, state.fieldsStatuses.metaDescription, state.submissionStatus, validators_metaDescription, (function (status) {\n                                    var init = state.fieldsStatuses;\n                                    return {\n                                            resourceCategoryId: init.resourceCategoryId,\n                                            active: init.active,\n                                            popular: init.popular,\n                                            metaDescription: status,\n                                            metaTitle: init.metaTitle,\n                                            resourceSummary: init.resourceSummary,\n                                            title: init.title\n                                          };\n                                  })),\n                            collectionsStatuses: state.collectionsStatuses,\n                            formStatus: state.formStatus,\n                            submissionStatus: state.submissionStatus\n                          }\n                        };\n              case \"UpdateMetaTitleField\" :\n                  var nextInput$4 = action._0(state.input);\n                  return {\n                          TAG: \"Update\",\n                          _0: {\n                            input: nextInput$4,\n                            fieldsStatuses: Formality.validateFieldOnChangeWithValidator(nextInput$4, state.fieldsStatuses.metaTitle, state.submissionStatus, validators_metaTitle, (function (status) {\n                                    var init = state.fieldsStatuses;\n                                    return {\n                                            resourceCategoryId: init.resourceCategoryId,\n                                            active: init.active,\n                                            popular: init.popular,\n                                            metaDescription: init.metaDescription,\n                                            metaTitle: status,\n                                            resourceSummary: init.resourceSummary,\n                                            title: init.title\n                                          };\n                                  })),\n                            collectionsStatuses: state.collectionsStatuses,\n                            formStatus: state.formStatus,\n                            submissionStatus: state.submissionStatus\n                          }\n                        };\n              case \"UpdateResourceSummaryField\" :\n                  var nextInput$5 = action._0(state.input);\n                  return {\n                          TAG: \"Update\",\n                          _0: {\n                            input: nextInput$5,\n                            fieldsStatuses: Formality.validateFieldOnChangeWithValidator(nextInput$5, state.fieldsStatuses.resourceSummary, state.submissionStatus, validators_resourceSummary, (function (status) {\n                                    var init = state.fieldsStatuses;\n                                    return {\n                                            resourceCategoryId: init.resourceCategoryId,\n                                            active: init.active,\n                                            popular: init.popular,\n                                            metaDescription: init.metaDescription,\n                                            metaTitle: init.metaTitle,\n                                            resourceSummary: status,\n                                            title: init.title\n                                          };\n                                  })),\n                            collectionsStatuses: state.collectionsStatuses,\n                            formStatus: state.formStatus,\n                            submissionStatus: state.submissionStatus\n                          }\n                        };\n              case \"UpdateTitleField\" :\n                  var nextInput$6 = action._0(state.input);\n                  return {\n                          TAG: \"Update\",\n                          _0: {\n                            input: nextInput$6,\n                            fieldsStatuses: Formality.validateFieldOnChangeWithValidator(nextInput$6, state.fieldsStatuses.title, state.submissionStatus, validators_title, (function (status) {\n                                    var init = state.fieldsStatuses;\n                                    return {\n                                            resourceCategoryId: init.resourceCategoryId,\n                                            active: init.active,\n                                            popular: init.popular,\n                                            metaDescription: init.metaDescription,\n                                            metaTitle: init.metaTitle,\n                                            resourceSummary: init.resourceSummary,\n                                            title: status\n                                          };\n                                  })),\n                            collectionsStatuses: state.collectionsStatuses,\n                            formStatus: state.formStatus,\n                            submissionStatus: state.submissionStatus\n                          }\n                        };\n              case \"SetSubmittedStatus\" :\n                  var input = action._0;\n                  if (input !== undefined) {\n                    return {\n                            TAG: \"Update\",\n                            _0: {\n                              input: input,\n                              fieldsStatuses: initialFieldsStatuses(input),\n                              collectionsStatuses: state.collectionsStatuses,\n                              formStatus: \"Submitted\",\n                              submissionStatus: state.submissionStatus\n                            }\n                          };\n                  } else {\n                    return {\n                            TAG: \"Update\",\n                            _0: {\n                              input: state.input,\n                              fieldsStatuses: initialFieldsStatuses(state.input),\n                              collectionsStatuses: state.collectionsStatuses,\n                              formStatus: \"Submitted\",\n                              submissionStatus: state.submissionStatus\n                            }\n                          };\n                  }\n              case \"SetSubmissionFailedStatus\" :\n                  return {\n                          TAG: \"Update\",\n                          _0: {\n                            input: state.input,\n                            fieldsStatuses: state.fieldsStatuses,\n                            collectionsStatuses: state.collectionsStatuses,\n                            formStatus: {\n                              TAG: \"SubmissionFailed\",\n                              _0: action._0\n                            },\n                            submissionStatus: state.submissionStatus\n                          }\n                        };\n              case \"MapSubmissionError\" :\n                  var map = action._0;\n                  var error$1 = state.formStatus;\n                  if (typeof error$1 !== \"object\") {\n                    return \"NoUpdate\";\n                  }\n                  if (error$1.TAG !== \"Submitting\") {\n                    return {\n                            TAG: \"Update\",\n                            _0: {\n                              input: state.input,\n                              fieldsStatuses: state.fieldsStatuses,\n                              collectionsStatuses: state.collectionsStatuses,\n                              formStatus: {\n                                TAG: \"SubmissionFailed\",\n                                _0: map(error$1._0)\n                              },\n                              submissionStatus: state.submissionStatus\n                            }\n                          };\n                  }\n                  var error$2 = error$1._0;\n                  if (error$2 !== undefined) {\n                    return {\n                            TAG: \"Update\",\n                            _0: {\n                              input: state.input,\n                              fieldsStatuses: state.fieldsStatuses,\n                              collectionsStatuses: state.collectionsStatuses,\n                              formStatus: {\n                                TAG: \"Submitting\",\n                                _0: Caml_option.some(map(Caml_option.valFromOption(error$2)))\n                              },\n                              submissionStatus: state.submissionStatus\n                            }\n                          };\n                  } else {\n                    return \"NoUpdate\";\n                  }\n              \n            }\n          }\n        }));\n  var dispatch = match[1];\n  var state = match[0];\n  var match$1 = state.formStatus;\n  var tmp;\n  tmp = typeof match$1 !== \"object\" || match$1.TAG !== \"Submitting\" ? false : true;\n  return {\n          updateResourceCategoryId: (function (nextInputFn, nextValue) {\n              dispatch({\n                    TAG: \"UpdateResourceCategoryIdField\",\n                    _0: (function (__x) {\n                        return nextInputFn(__x, nextValue);\n                      })\n                  });\n            }),\n          updateActive: (function (nextInputFn, nextValue) {\n              dispatch({\n                    TAG: \"UpdateActiveField\",\n                    _0: (function (__x) {\n                        return nextInputFn(__x, nextValue);\n                      })\n                  });\n            }),\n          updatePopular: (function (nextInputFn, nextValue) {\n              dispatch({\n                    TAG: \"UpdatePopularField\",\n                    _0: (function (__x) {\n                        return nextInputFn(__x, nextValue);\n                      })\n                  });\n            }),\n          updateMetaDescription: (function (nextInputFn, nextValue) {\n              dispatch({\n                    TAG: \"UpdateMetaDescriptionField\",\n                    _0: (function (__x) {\n                        return nextInputFn(__x, nextValue);\n                      })\n                  });\n            }),\n          updateMetaTitle: (function (nextInputFn, nextValue) {\n              dispatch({\n                    TAG: \"UpdateMetaTitleField\",\n                    _0: (function (__x) {\n                        return nextInputFn(__x, nextValue);\n                      })\n                  });\n            }),\n          updateResourceSummary: (function (nextInputFn, nextValue) {\n              dispatch({\n                    TAG: \"UpdateResourceSummaryField\",\n                    _0: (function (__x) {\n                        return nextInputFn(__x, nextValue);\n                      })\n                  });\n            }),\n          updateTitle: (function (nextInputFn, nextValue) {\n              dispatch({\n                    TAG: \"UpdateTitleField\",\n                    _0: (function (__x) {\n                        return nextInputFn(__x, nextValue);\n                      })\n                  });\n            }),\n          blurResourceCategoryId: (function () {\n              dispatch(\"BlurResourceCategoryIdField\");\n            }),\n          blurActive: (function () {\n              dispatch(\"BlurActiveField\");\n            }),\n          blurPopular: (function () {\n              dispatch(\"BlurPopularField\");\n            }),\n          blurMetaDescription: (function () {\n              dispatch(\"BlurMetaDescriptionField\");\n            }),\n          blurMetaTitle: (function () {\n              dispatch(\"BlurMetaTitleField\");\n            }),\n          blurResourceSummary: (function () {\n              dispatch(\"BlurResourceSummaryField\");\n            }),\n          blurTitle: (function () {\n              dispatch(\"BlurTitleField\");\n            }),\n          resourceCategoryIdResult: Formality.exposeFieldResult(state.fieldsStatuses.resourceCategoryId),\n          activeResult: Formality.exposeFieldResult(state.fieldsStatuses.active),\n          popularResult: Formality.exposeFieldResult(state.fieldsStatuses.popular),\n          metaDescriptionResult: Formality.exposeFieldResult(state.fieldsStatuses.metaDescription),\n          metaTitleResult: Formality.exposeFieldResult(state.fieldsStatuses.metaTitle),\n          resourceSummaryResult: Formality.exposeFieldResult(state.fieldsStatuses.resourceSummary),\n          titleResult: Formality.exposeFieldResult(state.fieldsStatuses.title),\n          input: state.input,\n          status: state.formStatus,\n          dirty: (function () {\n              var match = state.fieldsStatuses;\n              var tmp = match.resourceCategoryId;\n              if (typeof tmp === \"object\") {\n                return true;\n              }\n              var tmp$1 = match.active;\n              if (typeof tmp$1 === \"object\") {\n                return true;\n              }\n              var tmp$2 = match.popular;\n              if (typeof tmp$2 === \"object\") {\n                return true;\n              }\n              var tmp$3 = match.metaDescription;\n              if (typeof tmp$3 === \"object\") {\n                return true;\n              }\n              var tmp$4 = match.metaTitle;\n              if (typeof tmp$4 === \"object\") {\n                return true;\n              }\n              var tmp$5 = match.resourceSummary;\n              if (typeof tmp$5 === \"object\") {\n                return true;\n              }\n              var tmp$6 = match.title;\n              if (typeof tmp$6 !== \"object\") {\n                return false;\n              } else {\n                return true;\n              }\n            }),\n          valid: (function () {\n              var match = validateForm(state.input, validators, state.fieldsStatuses);\n              if (match.TAG === \"Valid\") {\n                return true;\n              } else {\n                return false;\n              }\n            }),\n          submitting: tmp,\n          submit: (function () {\n              dispatch(\"Submit\");\n            }),\n          dismissSubmissionError: (function () {\n              dispatch(\"DismissSubmissionError\");\n            }),\n          dismissSubmissionResult: (function () {\n              dispatch(\"DismissSubmissionResult\");\n            }),\n          mapSubmissionError: (function (map) {\n              dispatch({\n                    TAG: \"MapSubmissionError\",\n                    _0: map\n                  });\n            }),\n          reset: (function () {\n              dispatch(\"Reset\");\n            })\n        };\n}\n\nvar ResourceForm = {\n  validators: validators,\n  initialFieldsStatuses: initialFieldsStatuses,\n  initialCollectionsStatuses: undefined,\n  initialState: initialState,\n  validateForm: validateForm,\n  useForm: useForm\n};\n\nfunction reducer(state, action) {\n  switch (action.TAG) {\n    case \"SetDocument\" :\n        return {\n                document: action._0,\n                pdfResource: state.pdfResource,\n                editorState: state.editorState\n              };\n    case \"SetPdfResource\" :\n        return {\n                document: state.document,\n                pdfResource: action._0,\n                editorState: state.editorState\n              };\n    case \"SetEditorState\" :\n        return {\n                document: state.document,\n                pdfResource: state.pdfResource,\n                editorState: Editor.State.compose(state.editorState, action._0)\n              };\n    \n  }\n}\n\nfunction ResourceEditForm(props) {\n  var resource = props.resource;\n  var initialState_pdfResource = resource.pdfResource;\n  var initialState_editorState = Editor.State.make();\n  var initialState = {\n    document: undefined,\n    pdfResource: initialState_pdfResource,\n    editorState: initialState_editorState\n  };\n  var match = React.useReducer(reducer, initialState);\n  var dispatch = match[1];\n  var state = match[0];\n  var initialInput = React.useMemo((function () {\n          return {\n                  title: resource.title,\n                  resourceSummary: resource.resourceSummary,\n                  metaTitle: resource.metaTitle,\n                  metaDescription: resource.metaDescription,\n                  popular: resource.popular ? \"true\" : \"false\",\n                  active: resource.active ? \"true\" : \"false\",\n                  resourceCategoryId: ID.toString(resource.resourceCategoryId)\n                };\n        }), []);\n  var form = useForm(initialInput, (function (output, cb) {\n          var match = state.document;\n          $$Promise.wait(Api.updateResource(resource.id, output.title, output.resourceSummary, document.querySelector(\".ql-editor\").innerHTML, output.metaTitle, output.metaDescription, Caml_option.some(match !== undefined ? Caml_option.some(Belt_Option.getExn(state.document)) : undefined), output.active, output.popular, output.resourceCategoryId), (function (x) {\n                  if (x.TAG === \"Ok\") {\n                    return Url.visit(Routes_Resource.Dashboard.edit(x._0.id));\n                  } else {\n                    return SentryLogger.error1({\n                                rootModule: \"ResourceEditForm\",\n                                subModulePath: /* [] */0,\n                                value: \"make\",\n                                fullPath: \"ResourceEditForm.make\"\n                              }, \"EditResource::Error\", [\n                                \"Error\",\n                                cb.notifyOnFailure()\n                              ]);\n                  }\n                }));\n        }));\n  var fieldError = function (field) {\n    if (field !== undefined && field.TAG !== \"Ok\") {\n      return JsxRuntime.jsx(ErrorMessage.make, {\n                  children: field._0\n                });\n    } else {\n      return null;\n    }\n  };\n  var containerRef = React.useRef(null);\n  var editorRef = React.useRef(undefined);\n  React.useEffect((function () {\n          var editor = Belt_Option.getExn(Belt_Option.map(Caml_option.nullable_to_opt(containerRef.current), (function (container) {\n                      return Quill.make(\"Type here...\", undefined, undefined, Quill.resourceToolbarOptions, {}, undefined, container);\n                    })));\n          editor.clipboard.dangerouslyPasteHTML(0, resource.resourceDetail);\n          var listener = function (delta, param) {\n            dispatch({\n                  TAG: \"SetEditorState\",\n                  _0: delta\n                });\n          };\n          editorRef.current = Caml_option.some(editor);\n          editor.on(\"text-change\", listener);\n          return (function () {\n                    editor.off(\"text-change\", listener);\n                  });\n        }), []);\n  var match$1 = form.resourceSummaryResult;\n  var tmp;\n  tmp = match$1 !== undefined && match$1.TAG !== \"Ok\" ? JsxRuntime.jsx(ErrorMessage.make, {\n          children: match$1._0\n        }) : null;\n  var match$2 = state.document;\n  var match$3 = state.pdfResource;\n  var match$4 = form.status;\n  var tmp$1;\n  tmp$1 = typeof match$4 !== \"object\" || match$4.TAG !== \"SubmissionFailed\" ? null : JsxRuntime.jsxs(Row.make, {\n          className: \"row\",\n          children: [\n            JsxRuntime.jsx(Col.make, {\n                  md: 3,\n                  lg: 3,\n                  children: JsxRuntime.jsx(\"div\", {})\n                }),\n            JsxRuntime.jsx(Col.make, {\n                  md: 9,\n                  lg: 9,\n                  children: JsxRuntime.jsx(ErrorMessage.make, {\n                        children: \"Something went wrong.\"\n                      })\n                })\n          ]\n        });\n  var match$5 = state.document;\n  var match$6 = state.pdfResource;\n  return JsxRuntime.jsx(\"form\", {\n              children: JsxRuntime.jsxs(Grid.make, {\n                    className: ResourceEditFormCss.marginGrid,\n                    children: [\n                      JsxRuntime.jsxs(Row.make, {\n                            className: ResourceEditFormCss.marginRow,\n                            children: [\n                              JsxRuntime.jsx(Col.make, {\n                                    className: ResourceEditFormCss.labelContainer,\n                                    md: 3,\n                                    lg: 3,\n                                    children: JsxRuntime.jsx(Label.make, {\n                                          forId: \"resource-form--title\",\n                                          children: \"Title\"\n                                        })\n                                  }),\n                              JsxRuntime.jsxs(Col.make, {\n                                    className: ResourceEditFormCss.flexContainer,\n                                    md: 9,\n                                    lg: 9,\n                                    children: [\n                                      JsxRuntime.jsx(TextField.make, {\n                                            id: \"resource-form--title\",\n                                            value: form.input.title,\n                                            placeholder: \"Add a title for your new resource.\",\n                                            onChange: (function ($$event) {\n                                                form.updateTitle((function (input, value) {\n                                                        return {\n                                                                title: value,\n                                                                resourceSummary: input.resourceSummary,\n                                                                metaTitle: input.metaTitle,\n                                                                metaDescription: input.metaDescription,\n                                                                popular: input.popular,\n                                                                active: input.active,\n                                                                resourceCategoryId: input.resourceCategoryId\n                                                              };\n                                                      }), $$event.target.value);\n                                              })\n                                          }),\n                                      fieldError(form.titleResult)\n                                    ]\n                                  })\n                            ]\n                          }),\n                      JsxRuntime.jsxs(Row.make, {\n                            className: ResourceEditFormCss.marginRow,\n                            children: [\n                              JsxRuntime.jsx(Col.make, {\n                                    className: ResourceEditFormCss.labelContainer,\n                                    md: 3,\n                                    lg: 3,\n                                    children: JsxRuntime.jsx(Label.make, {\n                                          forId: \"resource-form--resource-summary\",\n                                          children: \"Summary\"\n                                        })\n                                  }),\n                              JsxRuntime.jsxs(Col.make, {\n                                    className: ResourceEditFormCss.flexContainer,\n                                    md: 9,\n                                    lg: 9,\n                                    children: [\n                                      JsxRuntime.jsx(Textarea.make, {\n                                            id: \"resource-form--resource-summary\",\n                                            value: form.input.resourceSummary,\n                                            placeholder: \"Add a summary for your resource.\",\n                                            onChange: (function ($$event) {\n                                                form.updateResourceSummary((function (input, value) {\n                                                        return {\n                                                                title: input.title,\n                                                                resourceSummary: value,\n                                                                metaTitle: input.metaTitle,\n                                                                metaDescription: input.metaDescription,\n                                                                popular: input.popular,\n                                                                active: input.active,\n                                                                resourceCategoryId: input.resourceCategoryId\n                                                              };\n                                                      }), $$event.target.value);\n                                              })\n                                          }),\n                                      tmp\n                                    ]\n                                  })\n                            ]\n                          }),\n                      JsxRuntime.jsxs(Row.make, {\n                            className: ResourceEditFormCss.marginRow,\n                            children: [\n                              JsxRuntime.jsx(Col.make, {\n                                    className: ResourceEditFormCss.labelContainer,\n                                    md: 3,\n                                    lg: 3,\n                                    children: JsxRuntime.jsx(Label.make, {\n                                          forId: \"resource-form--resource-detail\",\n                                          children: \"Details\"\n                                        })\n                                  }),\n                              JsxRuntime.jsx(Col.make, {\n                                    className: ResourceEditFormCss.flexContainer,\n                                    md: 9,\n                                    lg: 9,\n                                    children: JsxRuntime.jsx(\"div\", {\n                                          children: JsxRuntime.jsx(Editor.make, {\n                                                ref: containerRef\n                                              }),\n                                          className: ResourceEditFormCss.editor\n                                        })\n                                  })\n                            ]\n                          }),\n                      JsxRuntime.jsxs(Row.make, {\n                            className: ResourceEditFormCss.marginRow,\n                            children: [\n                              JsxRuntime.jsx(Col.make, {\n                                    className: ResourceEditFormCss.labelContainer,\n                                    md: 3,\n                                    lg: 3,\n                                    children: JsxRuntime.jsx(Label.make, {\n                                          forId: \"resource-form--meta-title\",\n                                          children: \"Meta Title\"\n                                        })\n                                  }),\n                              JsxRuntime.jsxs(Col.make, {\n                                    className: ResourceEditFormCss.flexContainer,\n                                    md: 9,\n                                    lg: 9,\n                                    children: [\n                                      JsxRuntime.jsx(TextField.make, {\n                                            id: \"resource-form--meta-title\",\n                                            value: form.input.metaTitle,\n                                            placeholder: \"Add a meta title.\",\n                                            onChange: (function ($$event) {\n                                                form.updateMetaTitle((function (input, value) {\n                                                        return {\n                                                                title: input.title,\n                                                                resourceSummary: input.resourceSummary,\n                                                                metaTitle: value,\n                                                                metaDescription: input.metaDescription,\n                                                                popular: input.popular,\n                                                                active: input.active,\n                                                                resourceCategoryId: input.resourceCategoryId\n                                                              };\n                                                      }), $$event.target.value);\n                                              })\n                                          }),\n                                      fieldError(form.metaTitleResult)\n                                    ]\n                                  })\n                            ]\n                          }),\n                      JsxRuntime.jsxs(Row.make, {\n                            className: ResourceEditFormCss.marginRow,\n                            children: [\n                              JsxRuntime.jsx(Col.make, {\n                                    className: ResourceEditFormCss.labelContainer,\n                                    md: 3,\n                                    lg: 3,\n                                    children: JsxRuntime.jsx(Label.make, {\n                                          forId: \"resource-form--meta-description\",\n                                          children: \"Meta Description\"\n                                        })\n                                  }),\n                              JsxRuntime.jsxs(Col.make, {\n                                    className: ResourceEditFormCss.flexContainer,\n                                    md: 9,\n                                    lg: 9,\n                                    children: [\n                                      JsxRuntime.jsx(Textarea.make, {\n                                            id: \"resource-form--meta-description\",\n                                            value: form.input.metaDescription,\n                                            placeholder: \"Add a meta description.\",\n                                            onChange: (function ($$event) {\n                                                form.updateMetaDescription((function (input, value) {\n                                                        return {\n                                                                title: input.title,\n                                                                resourceSummary: input.resourceSummary,\n                                                                metaTitle: input.metaTitle,\n                                                                metaDescription: value,\n                                                                popular: input.popular,\n                                                                active: input.active,\n                                                                resourceCategoryId: input.resourceCategoryId\n                                                              };\n                                                      }), $$event.target.value);\n                                              })\n                                          }),\n                                      fieldError(form.metaDescriptionResult)\n                                    ]\n                                  })\n                            ]\n                          }),\n                      JsxRuntime.jsxs(Row.make, {\n                            className: ResourceEditFormCss.marginRow,\n                            children: [\n                              JsxRuntime.jsx(Col.make, {\n                                    className: ResourceEditFormCss.labelContainer,\n                                    md: 3,\n                                    lg: 3,\n                                    children: JsxRuntime.jsx(Label.make, {\n                                          forId: \"resource-form--pdf-file\",\n                                          children: \"PDF File\"\n                                        })\n                                  }),\n                              JsxRuntime.jsxs(Col.make, {\n                                    className: ResourceEditFormCss.flexContainer,\n                                    md: 9,\n                                    lg: 9,\n                                    children: [\n                                      JsxRuntime.jsx(ResourcePdf.make, {\n                                            document: state.pdfResource,\n                                            removeDocument: (function (param) {\n                                                dispatch({\n                                                      TAG: \"SetPdfResource\",\n                                                      _0: undefined\n                                                    });\n                                              }),\n                                            privateDownload: resource.privateDownload\n                                          }),\n                                      JsxRuntime.jsx(ResourceDocument.make, {\n                                            document: state.document,\n                                            removeDocument: (function (param) {\n                                                dispatch({\n                                                      TAG: \"SetDocument\",\n                                                      _0: undefined\n                                                    });\n                                              })\n                                          }),\n                                      JsxRuntime.jsx(Uploader.make, {\n                                            allowed: [\"Pdf\"],\n                                            multiple: false,\n                                            upload: (function (files) {\n                                                Belt_Array.map(files, (function (file) {\n                                                        var match = Uploader.FileType.fromMime(file.type);\n                                                        if (match === \"Pdf\") {\n                                                          return dispatch({\n                                                                      TAG: \"SetDocument\",\n                                                                      _0: Caml_option.some(file)\n                                                                    });\n                                                        }\n                                                        \n                                                      }));\n                                              }),\n                                            setUploadHandler: (function (prim) {\n                                                \n                                              }),\n                                            children: match$2 !== undefined || match$3 !== undefined ? null : JsxRuntime.jsxs(Button.make, {\n                                                    size: \"SM\",\n                                                    color: \"Teal\",\n                                                    buttonClassName: ResourceEditFormCss.uploadDocumentButton,\n                                                    children: [\n                                                      JsxRuntime.jsx(IconAdditionalUpload.make, {\n                                                            size: \"MD\",\n                                                            color: \"White\"\n                                                          }),\n                                                      \"Upload Document\"\n                                                    ]\n                                                  })\n                                          })\n                                    ]\n                                  })\n                            ]\n                          }),\n                      JsxRuntime.jsxs(Row.make, {\n                            className: ResourceEditFormCss.marginRow,\n                            children: [\n                              JsxRuntime.jsx(Col.make, {\n                                    className: ResourceEditFormCss.labelContainer,\n                                    md: 3,\n                                    lg: 3,\n                                    children: JsxRuntime.jsx(Label.make, {\n                                          forId: \"resource-form--popular\",\n                                          children: \"Popular\"\n                                        })\n                                  }),\n                              JsxRuntime.jsx(Col.make, {\n                                    className: ResourceEditFormCss.flexContainer,\n                                    md: 9,\n                                    lg: 9,\n                                    children: JsxRuntime.jsxs(Select.make, {\n                                          id: \"resource-form--popular\",\n                                          value: form.input.popular,\n                                          onChange: (function ($$event) {\n                                              form.updatePopular((function (input, value) {\n                                                      return {\n                                                              title: input.title,\n                                                              resourceSummary: input.resourceSummary,\n                                                              metaTitle: input.metaTitle,\n                                                              metaDescription: input.metaDescription,\n                                                              popular: value,\n                                                              active: input.active,\n                                                              resourceCategoryId: input.resourceCategoryId\n                                                            };\n                                                    }), $$event.target.value);\n                                            }),\n                                          children: [\n                                            JsxRuntime.jsx(Select.$$Option.make, {\n                                                  value: \"false\",\n                                                  children: \"False\"\n                                                }, \"popular-false\"),\n                                            JsxRuntime.jsx(Select.$$Option.make, {\n                                                  value: \"true\",\n                                                  children: \"True\"\n                                                }, \"popular-true\")\n                                          ]\n                                        })\n                                  })\n                            ]\n                          }),\n                      JsxRuntime.jsxs(Row.make, {\n                            className: ResourceEditFormCss.marginRow,\n                            children: [\n                              JsxRuntime.jsx(Col.make, {\n                                    className: ResourceEditFormCss.labelContainer,\n                                    md: 3,\n                                    lg: 3,\n                                    children: JsxRuntime.jsx(Label.make, {\n                                          forId: \"resource-form--active\",\n                                          children: \"Active\"\n                                        })\n                                  }),\n                              JsxRuntime.jsx(Col.make, {\n                                    className: ResourceEditFormCss.flexContainer,\n                                    md: 9,\n                                    lg: 9,\n                                    children: JsxRuntime.jsxs(Select.make, {\n                                          id: \"resource-form--active\",\n                                          value: form.input.active,\n                                          onChange: (function ($$event) {\n                                              form.updateActive((function (input, value) {\n                                                      return {\n                                                              title: input.title,\n                                                              resourceSummary: input.resourceSummary,\n                                                              metaTitle: input.metaTitle,\n                                                              metaDescription: input.metaDescription,\n                                                              popular: input.popular,\n                                                              active: value,\n                                                              resourceCategoryId: input.resourceCategoryId\n                                                            };\n                                                    }), $$event.target.value);\n                                            }),\n                                          children: [\n                                            JsxRuntime.jsx(Select.$$Option.make, {\n                                                  value: \"false\",\n                                                  children: \"False\"\n                                                }, \"resource-form--active-false\"),\n                                            JsxRuntime.jsx(Select.$$Option.make, {\n                                                  value: \"true\",\n                                                  children: \"True\"\n                                                }, \"resource-form--active-true\")\n                                          ]\n                                        })\n                                  })\n                            ]\n                          }),\n                      JsxRuntime.jsxs(Row.make, {\n                            className: ResourceEditFormCss.marginRow,\n                            children: [\n                              JsxRuntime.jsx(Col.make, {\n                                    className: ResourceEditFormCss.labelContainer,\n                                    md: 3,\n                                    lg: 3,\n                                    children: JsxRuntime.jsx(Label.make, {\n                                          forId: \"resource-form--resource-category-id\",\n                                          children: \"Category\"\n                                        })\n                                  }),\n                              JsxRuntime.jsx(Col.make, {\n                                    className: ResourceEditFormCss.flexContainer,\n                                    md: 9,\n                                    lg: 9,\n                                    children: JsxRuntime.jsx(Select.make, {\n                                          id: \"resource-form--category\",\n                                          value: form.input.resourceCategoryId,\n                                          onChange: (function ($$event) {\n                                              form.updateActive((function (input, value) {\n                                                      return {\n                                                              title: input.title,\n                                                              resourceSummary: input.resourceSummary,\n                                                              metaTitle: input.metaTitle,\n                                                              metaDescription: input.metaDescription,\n                                                              popular: input.popular,\n                                                              active: input.active,\n                                                              resourceCategoryId: value\n                                                            };\n                                                    }), $$event.target.value);\n                                            }),\n                                          children: Belt_Array.map(props.categories, (function (category) {\n                                                  return JsxRuntime.jsx(Select.$$Option.make, {\n                                                              value: ID.toString(category.id),\n                                                              children: category.title\n                                                            }, \"resource-form--category-\" + ID.toString(category.id));\n                                                }))\n                                        })\n                                  })\n                            ]\n                          }),\n                      tmp$1,\n                      JsxRuntime.jsxs(Row.make, {\n                            className: \"row\",\n                            children: [\n                              JsxRuntime.jsx(Col.make, {\n                                    md: 3,\n                                    lg: 3,\n                                    children: JsxRuntime.jsx(\"div\", {})\n                                  }),\n                              JsxRuntime.jsx(Col.make, {\n                                    className: ResourceEditFormCss.buttonCreateContainer,\n                                    md: 4,\n                                    lg: 4,\n                                    children: JsxRuntime.jsx(Button.make, {\n                                          size: \"LG\",\n                                          color: \"Primary\",\n                                          expanded: true,\n                                          disabled: form.submitting,\n                                          visuallyDisabled: match$5 !== undefined ? false : match$6 === undefined,\n                                          busy: form.submitting,\n                                          submit: true,\n                                          children: \"Save Resource\"\n                                        })\n                                  }),\n                              JsxRuntime.jsx(Col.make, {\n                                    md: 5,\n                                    lg: 5,\n                                    children: JsxRuntime.jsx(Button.make, {\n                                          size: \"LG\",\n                                          color: \"White\",\n                                          expanded: true,\n                                          busy: false,\n                                          submit: true,\n                                          onClick: (function (e) {\n                                              e.preventDefault();\n                                              Url.visit(Routes_Resource.Dashboard.index);\n                                            }),\n                                          children: \"Cancel\"\n                                        })\n                                  })\n                            ]\n                          })\n                    ]\n                  }),\n              onSubmit: (function ($$event) {\n                  $$event.preventDefault();\n                  form.submit();\n                })\n            });\n}\n\nvar Css;\n\nvar make = ResourceEditForm;\n\nexport {\n  Css ,\n  ResourceForm ,\n  reducer ,\n  make ,\n}\n/* ID Not a pure module */\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as H1 from \"../../../styleguide/components/Heading/H1.res.js\";\nimport * as Container from \"../../../styleguide/components/Container/Container.res.js\";\nimport * as ResourceEditForm from \"./ResourceEditForm.res.js\";\nimport * as DashboardIndexCss from \"../../../styleguide/dashboard/components/views/index/DashboardIndexCss.res.js\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\nimport * as ResourceEditNavbar from \"../resource-edit-navbar/ResourceEditNavbar.res.js\";\n\nfunction ResourceEdit(props) {\n  var resource = props.resource;\n  return JsxRuntime.jsxs(\"div\", {\n              children: [\n                JsxRuntime.jsx(ResourceEditNavbar.make, {\n                      selectedCategory: \"EditResource\",\n                      resourceId: resource.id\n                    }),\n                JsxRuntime.jsxs(Container.make, {\n                      className: DashboardIndexCss.layout,\n                      children: [\n                        JsxRuntime.jsx(H1.make, {\n                              className: DashboardIndexCss.title,\n                              children: \"Edit Resource\"\n                            }),\n                        JsxRuntime.jsx(ResourceEditForm.make, {\n                              resource: resource,\n                              categories: props.categories\n                            })\n                      ]\n                    })\n              ]\n            });\n}\n\nvar Css;\n\nvar make = ResourceEdit;\n\nexport {\n  Css ,\n  make ,\n}\n/* H1 Not a pure module */\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as Caml from \"rescript/lib/es6/caml.js\";\nimport * as Belt_Array from \"rescript/lib/es6/belt_Array.js\";\nimport * as ResourceEdit from \"./ResourceEdit.res.js\";\nimport * as ResourceItem from \"../../../models/ResourceItem.res.js\";\nimport * as Belt_SortArray from \"rescript/lib/es6/belt_SortArray.js\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\nimport * as ResourceCategoryAsFilter from \"../../../models/ResourceCategoryAsFilter.res.js\";\n\nfunction ResourceEdit__JsBridge$default(props) {\n  var props$1 = props.props;\n  return JsxRuntime.jsx(ResourceEdit.make, {\n              resource: ResourceItem.fromJs(props$1.resource),\n              categories: Belt_SortArray.stableSortBy(Belt_Array.map(props$1.categories, ResourceCategoryAsFilter.fromJs), (function (x1, x2) {\n                      return Caml.string_compare(x1.title, x2.title);\n                    }))\n            });\n}\n\nvar $$default = ResourceEdit__JsBridge$default;\n\nexport {\n  $$default as default,\n}\n/* ResourceEdit Not a pure module */\n","import * as React from 'react';\n\nimport ResourceEdit from './ResourceEdit__JsBridge.res.js';\n\nexport default ({ ...props }) => <ResourceEdit props={props} />;\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as JsxRuntime from \"react/jsx-runtime\";\n\nfunction Container(props) {\n  var __className = props.className;\n  var className = __className !== undefined ? __className : \"\";\n  return JsxRuntime.jsx(\"div\", {\n              children: props.children,\n              ref: props.setRef,\n              className: className\n            });\n}\n\nvar make = Container;\n\nexport {\n  make ,\n}\n/* react/jsx-runtime Not a pure module */\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as Cx from \"rescript-classnames/src/Cx.res.js\";\n\nvar shadow = \"shadow-[0_2px_3px_-1px_rgba(0,0,0,0.25)]\";\n\nvar barWrapperGeneral = Cx.cx([\n      \"w-full\",\n      \"bg-transparent\",\n      \"relative\",\n      \"px-4\"\n    ]);\n\nvar barWrapper = Cx.cx([\n      \"w-full\",\n      \"bg-transparent\",\n      \"relative\",\n      \"px-4\",\n      shadow\n    ]);\n\nvar barWrapperMargin = Cx.cx([\n      \"w-full\",\n      \"-mb-1\"\n    ]);\n\nvar barContainer = Cx.cx([\n      \"flex\",\n      \"no-scrollbar\",\n      \"justify-start\",\n      \"items-center\",\n      \"mx-auto\",\n      \"overflow-x-hidden\",\n      \"overflow-y-hidden\",\n      \"max-md:px-7\",\n      \"max-sm:px-4\",\n      \"max-md:overflow-x-auto\",\n      \"lg:max-w-screen-xl\"\n    ]);\n\nvar linkContainer = Cx.cx([\n      \"border-b-4\",\n      \"border-transparent\",\n      \"mr-6\"\n    ]);\n\nvar linkItem = Cx.cx([\n      \"whitespace-nowrap\",\n      \"text-sm\",\n      \"font-semibold\",\n      \"line-height-5\",\n      \"block\",\n      \"py-5\",\n      \"hover:text-teal\",\n      \"hover:no-underline!\"\n    ]);\n\nvar normalLinkItem = Cx.cx([\n      \"text-gray-400\",\n      linkItem\n    ]);\n\nvar underlinedLinkContainer = Cx.cx([\n      \"border-b-4\",\n      \"border-purple\",\n      \"mr-6\"\n    ]);\n\nvar underlinedLinkItem = Cx.cx([\n      \"text-black!\",\n      \"no-underline!\",\n      linkItem\n    ]);\n\nvar subnavContainerGeneral = Cx.cx([\n      \"flex\",\n      \"flex-col\",\n      \"items-center\",\n      \"justify-center\",\n      \"w-full\",\n      \"border-b-4\",\n      \"border-gray-200\",\n      \"border-solid\"\n    ]);\n\nvar subnavContainer = Cx.cx([\n      subnavContainerGeneral,\n      \"bg-gray-50\"\n    ]);\n\nvar headerContainer = Cx.cx([\n      \"mx-auto\",\n      \"w-full\",\n      \"lg:max-w-screen-xl\",\n      \"py-4\",\n      \"md:px-4\",\n      \"px-8\",\n      \"lg:px-0\"\n    ]);\n\nvar viewLive = Cx.cx([\n      \"flex\",\n      \"justify-center\",\n      \"items-center\",\n      \"text-gray-700\",\n      \"mb-1\",\n      \"text-sm\",\n      \"font-medium\",\n      \"leading-5\",\n      \"md:ml-auto\",\n      \"shrink-0\"\n    ]);\n\nvar tabItem = Cx.cx([\n      \"text-gray-700\",\n      \"mb-1\",\n      \"text-sm\",\n      \"font-medium\",\n      \"leading-5\",\n      \"hover:text-teal\"\n    ]);\n\nexport {\n  shadow ,\n  barWrapperGeneral ,\n  barWrapper ,\n  barWrapperMargin ,\n  barContainer ,\n  linkContainer ,\n  linkItem ,\n  normalLinkItem ,\n  underlinedLinkContainer ,\n  underlinedLinkItem ,\n  subnavContainerGeneral ,\n  subnavContainer ,\n  headerContainer ,\n  viewLive ,\n  tabItem ,\n}\n/* barWrapperGeneral Not a pure module */\n"],"names":["make","props","resourceId","selectedCategory","JsxRuntime","children","Belt_Array","id","slug","Routes_Resource","index","edit","editResourceProviders","category","match","href","className","Cx","DashboardNavbarCss","String","ResourcePdf$DocumentRow","onDelete","IconFile","size","color","filename","ResourceEditFormCss","ResourceItem","sizeText","byteSize","IconView","privateDownload","target","IconDelete","viewBoxSize","onClick","param","removeDocument","$$document","document","Caml_option","undefined","validators_resourceCategoryId","strategy","validate","input","resourceCategoryId","TAG","_0","validators_active","active","validators_popular","popular","validators_metaDescription","length","metaDescription","validators_metaTitle","metaTitle","validators_resourceSummary","resourceSummary","validators_title","title","validators","initialState","fieldsStatuses","collectionsStatuses","formStatus","submissionStatus","validateForm","tmp","tmp$1","match$1","tmp$2","match$2","tmp$3","match$3","tmp$4","match$4","tmp$5","match$5","tmp$6","match$6","resourceCategoryIdResult$1","resourceCategoryIdResult","activeResult","popularResult","metaDescriptionResult","metaTitleResult","resourceSummaryResult","titleResult","output","_1","useForm","initialInput","onSubmit","memoizedInitialState","React","Formality__ReactUpdate","state","action","result","Formality","status","init","result$1","result$2","result$3","result$4","result$5","result$6","error","dispatch","notifyOnSuccess","notifyOnFailure","reset","dismissSubmissionResult","nextInput","nextInput$1","nextInput$2","nextInput$3","nextInput$4","nextInput$5","nextInput$6","map","error$1","error$2","updateResourceCategoryId","nextInputFn","nextValue","__x","updateActive","updatePopular","updateMetaDescription","updateMetaTitle","updateResourceSummary","updateTitle","blurResourceCategoryId","blurActive","blurPopular","blurMetaDescription","blurMetaTitle","blurResourceSummary","blurTitle","dirty","valid","submitting","submit","dismissSubmissionError","mapSubmissionError","reducer","pdfResource","editorState","Editor","compose","resource","form","ID","cb","$$Promise","Api","querySelector","innerHTML","Belt_Option","x","Url","SentryLogger","rootModule","subModulePath","value","fullPath","fieldError","field","ErrorMessage","containerRef","editorRef","editor","current","container","Quill","clipboard","dangerouslyPasteHTML","resourceDetail","listener","delta","on","off","Row","Col","md","lg","Grid","Label","forId","TextField","placeholder","onChange","$$event","Textarea","ref","ResourcePdf","ResourceDocument","Uploader","allowed","multiple","upload","files","file","fromMime","type","setUploadHandler","prim","Button","buttonClassName","IconAdditionalUpload","Select","categories","expanded","disabled","visuallyDisabled","busy","e","preventDefault","ResourceEditNavbar","Container","DashboardIndexCss","H1","ResourceEditForm","$$default","props$1","ResourceEdit","Belt_SortArray","ResourceCategoryAsFilter","x1","x2","Caml","_ref","Object","assign","_objectDestructuringEmpty","__className","setRef","barWrapperGeneral","barWrapper","barWrapperMargin","barContainer","linkContainer","linkItem","normalLinkItem","underlinedLinkContainer","underlinedLinkItem","subnavContainerGeneral","subnavContainer","headerContainer","viewLive","tabItem"],"sourceRoot":""}