{"version":3,"file":"6525-48daa69.js","mappings":"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","sources":["webpack://musicbrainz-server/./root/static/scripts/common/components/FilterForm.js","webpack://musicbrainz-server/./root/static/scripts/common/components/Filter.js","webpack://musicbrainz-server/./root/static/scripts/common/utility/getSelectValue.js","webpack://musicbrainz-server/./root/static/scripts/common/components/SelectField.js","webpack://musicbrainz-server/./root/static/scripts/common/utility/_cookies.js","webpack://musicbrainz-server/./root/static/scripts/common/utility/setCookie.js","webpack://musicbrainz-server/./root/static/scripts/edit/components/FieldErrors.js","webpack://musicbrainz-server/./root/static/scripts/edit/utility/subfieldErrors.js","webpack://musicbrainz-server/./node_modules/cookie/index.js"],"sourcesContent":["/*\n * @flow strict\n * Copyright (C) 2019 MetaBrainz Foundation\n *\n * This file is part of MusicBrainz, the open internet music database,\n * and is licensed under the GPL version 2, or (at your option) any\n * later version: http://www.gnu.org/licenses/gpl-2.0.txt\n */\n\nimport SelectField from '../../common/components/SelectField.js';\nimport FieldErrors from '../../edit/components/FieldErrors.js';\n\ntype GenericFilterFormFieldsT = {\n  +disambiguation: FieldT<string>,\n  +name: FieldT<string>,\n};\n\ntype EventFilterFormT = FormT<{\n  ...GenericFilterFormFieldsT,\n  +setlist: FieldT<string>,\n  +type_id: FieldT<number>,\n}>;\n\nexport type EventFilterT = $ReadOnly<{\n  ...EventFilterFormT,\n  +entity_type: 'event',\n  +options_type_id: SelectOptionsT,\n}>;\n\ntype RecordingFilterFormT = FormT<{\n  ...GenericFilterFormFieldsT,\n  +artist_credit_id: FieldT<number>,\n  +hide_bootlegs: FieldT<boolean>,\n  +video: FieldT<number>,\n}>;\n\nexport type RecordingFilterT = $ReadOnly<{\n  ...RecordingFilterFormT,\n  +entity_type: 'recording',\n  +options_artist_credit_id: SelectOptionsT,\n  +options_video: SelectOptionsT,\n}>;\n\ntype ReleaseFilterFormT = FormT<{\n  ...GenericFilterFormFieldsT,\n  +artist_credit_id: FieldT<number>,\n  +country_id: FieldT<number>,\n  +date: FieldT<string>,\n  +label_id: FieldT<number>,\n  +status_id: FieldT<number>,\n}>;\n\nexport type ReleaseFilterT = $ReadOnly<{\n  ...ReleaseFilterFormT,\n  +entity_type: 'release',\n  +options_artist_credit_id: SelectOptionsT,\n  +options_country_id: SelectOptionsT,\n  +options_label_id: SelectOptionsT,\n  +options_status_id: SelectOptionsT,\n}>;\n\ntype ReleaseGroupFilterFormT = FormT<{\n  ...GenericFilterFormFieldsT,\n  +artist_credit_id: FieldT<number>,\n  +secondary_type_id: FieldT<number>,\n  +type_id: FieldT<number>,\n}>;\n\nexport type ReleaseGroupFilterT = $ReadOnly<{\n  ...ReleaseGroupFilterFormT,\n  +entity_type: 'release_group',\n  +options_artist_credit_id: SelectOptionsT,\n  +options_secondary_type_id: SelectOptionsT,\n  +options_type_id: SelectOptionsT,\n}>;\n\ntype WorkFilterFormT = FormT<{\n  ...GenericFilterFormFieldsT,\n  +role_type: FieldT<number>,\n  +type_id: FieldT<number>,\n}>;\n\nexport type WorkFilterT = $ReadOnly<{\n  ...WorkFilterFormT,\n  +entity_type: 'work',\n  +options_role_type: SelectOptionsT,\n  +options_type_id: SelectOptionsT,\n}>;\n\nexport type FilterFormT =\n  | EventFilterT\n  | RecordingFilterT\n  | ReleaseFilterT\n  | ReleaseGroupFilterT\n  | WorkFilterT;\n\nfunction getSubmitText(type: string) {\n  switch (type) {\n    case 'event':\n      return l('Filter events');\n    case 'recording':\n      return l('Filter recordings');\n    case 'release':\n      return l('Filter releases');\n    case 'release_group':\n      return l('Filter release groups');\n    case 'work':\n      return l('Filter works');\n  }\n  return '';\n}\n\ntype FieldProps = {\n  field: FieldT<number>,\n  options: SelectOptionsT,\n};\n\nconst ArtistCreditField = ({\n  field,\n  options,\n}: FieldProps): React$Element<'tr'> => (\n  <tr>\n    <td>\n      {addColonText(l('Artist credit'))}\n    </td>\n    <td>\n      <SelectField\n        field={field}\n        options={{\n          grouped: false,\n          options: options,\n        }}\n        style={{maxWidth: '40em'}}\n        uncontrolled\n      />\n    </td>\n  </tr>\n);\n\nconst TypeField = ({field, options}: FieldProps): React$Element<'tr'> => (\n  <tr>\n    <td>\n      {addColonText(l('Type'))}\n    </td>\n    <td>\n      <SelectField\n        field={field}\n        options={{\n          grouped: false,\n          options: options,\n        }}\n        style={{maxWidth: '40em'}}\n        uncontrolled\n      />\n    </td>\n  </tr>\n);\n\ncomponent FilterForm(form: FilterFormT) {\n  return (\n    <div id=\"filter\">\n      <form method=\"get\">\n        <table>\n          <tbody>\n            <tr>\n              <td>{addColonText(l('Name'))}</td>\n              <td>\n                <input\n                  defaultValue={form.field.name.value}\n                  name={form.field.name.html_name}\n                  size=\"47\"\n                  type=\"text\"\n                />\n              </td>\n            </tr>\n\n            {form.entity_type === 'event' ? (\n              <>\n                <TypeField\n                  field={form.field.type_id}\n                  options={form.options_type_id}\n                />\n                <tr>\n                  <td>\n                    {addColonText(l('Setlist contains'))}\n                  </td>\n                  <td>\n                    <input\n                      defaultValue={form.field.setlist.value ?? ''}\n                      name={form.field.setlist.html_name}\n                      size=\"47\"\n                      type=\"text\"\n                    />\n                    <FieldErrors field={form.field.setlist} />\n                  </td>\n                </tr>\n              </>\n            ) : null}\n\n            {form.entity_type === 'recording' ? (\n              <>\n                <ArtistCreditField\n                  field={form.field.artist_credit_id}\n                  options={form.options_artist_credit_id}\n                />\n                <tr>\n                  <td>\n                    {addColonText(l('Video'))}\n                  </td>\n                  <td>\n                    <SelectField\n                      field={form.field.video}\n                      options={{\n                        grouped: false,\n                        options: form.options_video,\n                      }}\n                      style={{maxWidth: '40em'}}\n                      uncontrolled\n                    />\n                  </td>\n                </tr>\n                <tr>\n                  <td\n                    title={l(`Hide recordings that only appear\n                              on bootleg releases`)}\n                  >\n                    {addColonText(l('Hide bootleg-only'))}\n                  </td>\n                  <td>\n                    <input\n                      defaultChecked={form.field.hide_bootlegs.value}\n                      id={'id-' + String(form.field.hide_bootlegs.html_name)}\n                      name={form.field.hide_bootlegs.html_name}\n                      type=\"checkbox\"\n                      value=\"1\"\n                    />\n                  </td>\n                </tr>\n              </>\n            ) : null}\n\n            {form.entity_type === 'release' ? (\n              <>\n                <ArtistCreditField\n                  field={form.field.artist_credit_id}\n                  options={form.options_artist_credit_id}\n                />\n                <tr>\n                  <td>\n                    {addColonText(l('Label'))}\n                  </td>\n                  <td>\n                    <SelectField\n                      field={form.field.label_id}\n                      options={{\n                        grouped: false,\n                        options: form.options_label_id,\n                      }}\n                      style={{maxWidth: '40em'}}\n                      uncontrolled\n                    />\n                  </td>\n                </tr>\n                <tr>\n                  <td>\n                    {addColonText(l('Country'))}\n                  </td>\n                  <td>\n                    <SelectField\n                      field={form.field.country_id}\n                      options={{\n                        grouped: false,\n                        options: form.options_country_id,\n                      }}\n                      style={{maxWidth: '40em'}}\n                      uncontrolled\n                    />\n                  </td>\n                </tr>\n                <tr>\n                  <td>\n                    {addColonText(lp('Status', 'release'))}\n                  </td>\n                  <td>\n                    <SelectField\n                      field={form.field.status_id}\n                      options={{\n                        grouped: false,\n                        options: form.options_status_id,\n                      }}\n                      style={{maxWidth: '40em'}}\n                      uncontrolled\n                    />\n                  </td>\n                </tr>\n                <tr>\n                  <td>\n                    {addColonText(l('Date'))}\n                  </td>\n                  <td>\n                    <input\n                      defaultValue={form.field.date.value ?? ''}\n                      name={form.field.date.html_name}\n                      size=\"47\"\n                      type=\"text\"\n                    />\n                    <FieldErrors field={form.field.date} />\n                  </td>\n                </tr>\n              </>\n            ) : null}\n\n            {form.entity_type === 'release_group' ? (\n              <>\n                <TypeField\n                  field={form.field.type_id}\n                  options={form.options_type_id}\n                />\n                <ArtistCreditField\n                  field={form.field.artist_credit_id}\n                  options={form.options_artist_credit_id}\n                />\n                <tr>\n                  <td>\n                    {addColonText(l('Secondary type'))}\n                  </td>\n                  <td>\n                    <SelectField\n                      field={form.field.secondary_type_id}\n                      options={{\n                        grouped: false,\n                        options: form.options_secondary_type_id,\n                      }}\n                      style={{maxWidth: '40em'}}\n                      uncontrolled\n                    />\n                  </td>\n                </tr>\n              </>\n            ) : null}\n\n            {form.entity_type === 'work' ? (\n              <>\n                <TypeField\n                  field={form.field.type_id}\n                  options={form.options_type_id}\n                />\n                <tr>\n                  <td>\n                    {addColonText(l('Role'))}\n                  </td>\n                  <td>\n                    <SelectField\n                      field={form.field.role_type}\n                      options={{\n                        grouped: false,\n                        options: form.options_role_type,\n                      }}\n                      style={{maxWidth: '40em'}}\n                      uncontrolled\n                    />\n                  </td>\n                </tr>\n              </>\n            ) : null}\n\n            <tr>\n              <td>{addColonText(l('Disambiguation'))}</td>\n              <td>\n                <input\n                  defaultValue={form.field.disambiguation.value}\n                  name={form.field.disambiguation.html_name}\n                  size=\"47\"\n                  type=\"text\"\n                />\n              </td>\n            </tr>\n\n            <tr>\n              <td />\n              <td>\n                <span className=\"buttons\">\n                  <button className=\"submit positive\" type=\"submit\">\n                    {getSubmitText(form.entity_type)}\n                  </button>\n                  <button\n                    className=\"submit negative\"\n                    name=\"filter.cancel\"\n                    type=\"submit\"\n                    value=\"1\"\n                  >\n                    {l('Cancel')}\n                  </button>\n                </span>\n              </td>\n            </tr>\n          </tbody>\n        </table>\n      </form>\n    </div>\n  );\n}\n\nexport default FilterForm;\n","/*\n * @flow\n * Copyright (C) 2019 MetaBrainz Foundation\n *\n * This file is part of MusicBrainz, the open internet music database,\n * and is licensed under the GPL version 2, or (at your option) any\n * later version: http://www.gnu.org/licenses/gpl-2.0.txt\n */\n\nimport * as React from 'react';\n\nimport filterIconUrl from '../../../images/icons/filter.png';\nimport setCookie from '../utility/setCookie.js';\n\nimport FilterForm, {type FilterFormT} from './FilterForm.js';\n\ncomponent Filter(ajaxFormUrl: string, initialFilterForm: ?FilterFormT) {\n  const [filterForm, setFilterForm] = React.useState<?FilterFormT>(\n    initialFilterForm,\n  );\n  const [hidden, setHidden] = React.useState<boolean>(!initialFilterForm);\n\n  function show() {\n    setHidden(false);\n    setCookie('filter', '1');\n  }\n\n  function hide() {\n    setHidden(true);\n    setCookie('filter', '');\n  }\n\n  function onButtonClick(event: SyntheticMouseEvent<HTMLAnchorElement>) {\n    event.preventDefault();\n\n    if (filterForm) {\n      hidden ? show() : hide();\n    } else {\n      const $ = require('jquery');\n\n      $.getJSON(ajaxFormUrl, function (data) {\n        setFilterForm(data);\n        setHidden(false);\n      });\n    }\n  }\n\n  return (\n    <>\n      <div style={{float: 'right', marginTop: '-1.5em'}}>\n        <a className=\"filter-button\">\n          <img\n            alt=\"\"\n            src={filterIconUrl}\n          />\n        </a>\n        {' '}\n        <a className=\"filter-button\" href=\"#\" onClick={onButtonClick}>\n          {l('Filter')}\n        </a>\n      </div>\n\n      {(filterForm && !hidden) ? (\n        <FilterForm form={filterForm} />\n      ) : null}\n    </>\n  );\n}\n\nexport default (\n  hydrate<React.PropsOf<Filter>>('div.filter', Filter):\n  React$AbstractComponent<React.PropsOf<Filter>>\n);\n","/*\n * @flow strict\n * Copyright (C) 2017 MetaBrainz Foundation\n *\n * This file is part of MusicBrainz, the open internet music database,\n * and is licensed under the GPL version 2, or (at your option) any\n * later version: http://www.gnu.org/licenses/gpl-2.0.txt\n */\n\nexport default function getSelectValue(\n  field: FieldT<?StrOrNum>,\n  options: MaybeGroupedOptionsT,\n  allowEmpty: boolean = false,\n): string {\n  if (field.value !== undefined && field.value !== null) {\n    return String(field.value);\n  }\n  if (allowEmpty) {\n    return '';\n  }\n  let value: StrOrNum;\n  if (options.grouped) {\n    value = options.options[0].options[0].value;\n  } else {\n    value = options.options[0].value;\n  }\n  return String(value);\n}\n","/*\n * @flow strict\n * Copyright (C) 2019 MetaBrainz Foundation\n *\n * This file is part of MusicBrainz, the open internet music database,\n * and is licensed under the GPL version 2, or (at your option) any\n * later version: http://www.gnu.org/licenses/gpl-2.0.txt\n */\n\nimport {unwrapNl} from '../i18n.js';\nimport getSelectValue from '../utility/getSelectValue.js';\n\nconst buildOption = (option: SelectOptionT, index: number) => (\n  <option key={index} value={option.value}>\n    {unwrapNl<string>(option.label)}\n  </option>\n);\n\nconst buildOptGroup = (\n  optgroup: {+optgroup: string, +options: SelectOptionsT},\n  index: number,\n) => (\n  <optgroup key={index} label={optgroup.optgroup}>\n    {optgroup.options.map(buildOption)}\n  </optgroup>\n);\n\ntype SharedElementProps = {\n  className?: string,\n  disabled?: boolean,\n  id?: string,\n  name?: string,\n  onChange?: (event: SyntheticEvent<HTMLSelectElement>) => void,\n  required?: boolean,\n  style?: {maxWidth?: string},\n};\n\ntype MultipleSelectElementProps = {\n  defaultValue?: Array<StrOrNum>,\n  multiple: boolean,\n  value?: Array<StrOrNum>,\n  ...SharedElementProps,\n  ...\n};\n\ntype SelectElementProps = {\n  defaultValue?: StrOrNum,\n  value?: StrOrNum,\n  ...SharedElementProps,\n  ...\n};\n\nexport component MultipleSelectField(\n  allowEmpty: boolean = true,\n  field: FieldT<?Array<StrOrNum>>,\n  options: MaybeGroupedOptionsT,\n  uncontrolled: boolean = false,\n  ...passedSelectProps: MultipleSelectElementProps\n) {\n  const selectProps = {...passedSelectProps, multiple: true};\n\n  if (selectProps.className === undefined) {\n    selectProps.className = 'with-button';\n  }\n\n  selectProps.disabled = passedSelectProps.disabled || false;\n  selectProps.id = 'id-' + field.html_name;\n  selectProps.name = field.html_name;\n\n  if (uncontrolled) {\n    selectProps.defaultValue = field.value || [];\n    selectProps.onChange = undefined;\n  } else {\n    selectProps.value = field.value || [];\n  }\n\n  return (\n    <select {...selectProps}>\n      {allowEmpty\n        ? <option value=\"\">{'\\xA0'}</option>\n        : null}\n      {options.grouped\n        ? options.options.map(buildOptGroup)\n        : options.options.map(buildOption)}\n    </select>\n  );\n}\n\ncomponent SelectField(\n  allowEmpty: boolean = true,\n  field: FieldT<?StrOrNum>,\n  options: MaybeGroupedOptionsT,\n  uncontrolled: boolean = false,\n  ...passedSelectProps: SelectElementProps\n ) {\n  const selectProps = {...passedSelectProps};\n\n  if (selectProps.className === undefined) {\n    selectProps.className = 'with-button';\n  }\n\n  selectProps.disabled = passedSelectProps.disabled || false;\n  selectProps.id = 'id-' + field.html_name;\n  selectProps.name = field.html_name;\n\n  if (uncontrolled) {\n    selectProps.defaultValue = getSelectValue(field, options, allowEmpty);\n    selectProps.onChange = undefined;\n  } else {\n    selectProps.value = getSelectValue(field, options, allowEmpty);\n  }\n\n  return (\n    <select {...selectProps}>\n      {allowEmpty\n        ? <option value=\"\">{'\\xA0'}</option>\n        : null}\n      {options.grouped\n        ? options.options.map(buildOptGroup)\n        : options.options.map(buildOption)}\n    </select>\n  );\n}\n\nexport default SelectField;\n","/*\n * @flow strict\n * Copyright (C) 2018 MetaBrainz Foundation\n *\n * This file is part of MusicBrainz, the open internet music database,\n * and is licensed under the GPL version 2, or (at your option) any\n * later version: http://www.gnu.org/licenses/gpl-2.0.txt\n */\n\nexport default ({}: {[cookie: string]: string});\n","/*\n * @flow strict\n * Copyright (C) 2015 MetaBrainz Foundation\n *\n * This file is part of MusicBrainz, the open internet music database,\n * and is licensed under the GPL version 2, or (at your option) any\n * later version: http://www.gnu.org/licenses/gpl-2.0.txt\n */\n\nimport cookie from 'cookie';\n\nimport _cookies from './_cookies.js';\n\nlet defaultExport: (\n  name: string,\n  value: StrOrNum | boolean,\n  expiration?: Date,\n) => void;\n\nfunction oneYearFromNow(): Date {\n  return new Date(Date.now() + (1000 * 60 * 60 * 24 * 365));\n}\n\nfunction setCookieFallback(name: string, value: StrOrNum | boolean) {\n  _cookies[name] = value.toString();\n}\n\nfunction setCookie(\n  name: string,\n  value: StrOrNum | boolean,\n  expiration: Date = oneYearFromNow(),\n) {\n  document.cookie =\n    cookie.serialize(\n      name,\n      value.toString(),\n      {expires: expiration, path: '/'},\n    );\n}\n\nif (typeof document === 'undefined' ||\n    window.location.protocol === 'file:') {\n  defaultExport = setCookieFallback;\n} else {\n  defaultExport = setCookie;\n}\n\nexport default defaultExport;\n","/*\n * @flow strict\n * Copyright (C) 2018 MetaBrainz Foundation\n *\n * This file is part of MusicBrainz, the open internet music database,\n * and is licensed under the GPL version 2, or (at your option) any\n * later version: http://www.gnu.org/licenses/gpl-2.0.txt\n */\n\nimport expand2react from '../../common/i18n/expand2react.js';\nimport subfieldErrors from '../utility/subfieldErrors.js';\n\n// FIXME: Use expandable object instead of HTML string for safety (MBS-10632)\nconst buildErrorListItem = (\n  error: string,\n  hasHtmlErrors: boolean,\n  index: number,\n) => {\n  if (hasHtmlErrors) {\n    return (\n      <li key={index}>{expand2react(error)}</li>\n    );\n  }\n  return <li key={index}>{error}</li>;\n};\n\nexport component FieldErrorsList(\n  errors: ?$ReadOnlyArray<string>,\n  hasHtmlErrors: boolean,\n) {\n  if (errors?.length) {\n    return (\n      <ul className=\"errors\">\n        {errors.map(function (error, index) {\n          return buildErrorListItem(error, hasHtmlErrors, index);\n        })}\n      </ul>\n    );\n  }\n  return null;\n}\n\ncomponent FieldErrors(\n  field: AnyFieldT,\n  hasHtmlErrors: boolean = false,\n  includeSubFields: boolean = true,\n ) {\n  if (!field) {\n    return null;\n  }\n  const errors = includeSubFields\n    ? subfieldErrors(field)\n    : field.errors;\n  return (\n    <FieldErrorsList\n      errors={errors}\n      hasHtmlErrors={hasHtmlErrors}\n    />\n  );\n}\n\nexport default FieldErrors;\n","/*\n * @flow strict\n * Copyright (C) 2017 MetaBrainz Foundation\n *\n * This file is part of MusicBrainz, the open internet music database,\n * and is licensed under the GPL version 2, or (at your option) any\n * later version: http://www.gnu.org/licenses/gpl-2.0.txt\n */\n\nimport type {CowContext} from 'mutate-cow';\n\nfunction* iterSubfields(\n  formOrField: FormOrAnyFieldT,\n): Generator<AnyFieldT, void, void> {\n  switch (formOrField.type) {\n    case 'compound_field':\n      yield formOrField;\n      // falls through\n    case 'form':\n      for (const subfield of Object.values(formOrField.field)) {\n        yield* iterSubfields(subfield);\n      }\n      break;\n    case 'field':\n      yield formOrField;\n      break;\n    case 'repeatable_field': {\n      yield formOrField;\n      for (const subfield of formOrField.field) {\n        yield* iterSubfields(subfield);\n      }\n      break;\n    }\n  }\n}\n\nfunction* iterContextSubfields(\n  formOrFieldCtx: CowContext<FormOrAnyFieldT>,\n): Generator<CowContext<AnyFieldT>, void, void> {\n  const formOrField = formOrFieldCtx.read();\n  switch (formOrField.type) {\n    case 'compound_field':\n      // $FlowIgnore[incompatible-type-arg]\n      yield formOrFieldCtx;\n      // falls through\n    case 'form':\n      for (const fieldName of Object.keys(formOrField.field)) {\n        // $FlowIgnore[incompatible-call]\n        yield* iterContextSubfields(formOrFieldCtx.get('field', fieldName));\n      }\n      break;\n    case 'field':\n      // $FlowIgnore[incompatible-type-arg]\n      yield formOrFieldCtx;\n      break;\n    case 'repeatable_field': {\n      // $FlowIgnore[incompatible-type-arg]\n      yield formOrFieldCtx;\n      for (let i = 0; i < formOrField.field.length; i++) {\n        // $FlowIgnore[incompatible-call]\n        yield* iterContextSubfields(formOrFieldCtx.get('field', i));\n      }\n      break;\n    }\n  }\n}\n\nexport function applyAllPendingErrors(\n  formOrFieldCtx: CowContext<FormOrAnyFieldT>,\n): void {\n  const subfields = iterContextSubfields(formOrFieldCtx);\n  for (const subfieldCtx of subfields) {\n    if (subfieldCtx.read().pendingErrors?.length) {\n      applyPendingErrors(subfieldCtx);\n    }\n  }\n}\n\nexport function applyPendingErrors(\n  fieldCtx: CowContext<AnyFieldT>,\n): void {\n  fieldCtx.set('errors', fieldCtx.read().pendingErrors ?? []);\n}\n\nexport function hasSubfieldErrors(formOrField: FormOrAnyFieldT): boolean {\n  for (const subfield of iterSubfields(formOrField)) {\n    if (subfield.errors?.length || subfield.pendingErrors?.length) {\n      return true;\n    }\n  }\n  return false;\n}\n\nexport default function subfieldErrors(\n  formOrField: FormOrAnyFieldT,\n  accum: $ReadOnlyArray<string> = [],\n): $ReadOnlyArray<string> {\n  let result = accum;\n  for (const subfield of iterSubfields(formOrField)) {\n    if (subfield.errors?.length) {\n      result = result.concat(subfield.errors);\n    }\n  }\n  return result;\n}\n","/*!\n * cookie\n * Copyright(c) 2012-2014 Roman Shtylman\n * Copyright(c) 2015 Douglas Christopher Wilson\n * MIT Licensed\n */\n\n'use strict';\n\n/**\n * Module exports.\n * @public\n */\n\nexports.parse = parse;\nexports.serialize = serialize;\n\n/**\n * Module variables.\n * @private\n */\n\nvar __toString = Object.prototype.toString\n\n/**\n * RegExp to match field-content in RFC 7230 sec 3.2\n *\n * field-content = field-vchar [ 1*( SP / HTAB ) field-vchar ]\n * field-vchar   = VCHAR / obs-text\n * obs-text      = %x80-FF\n */\n\nvar fieldContentRegExp = /^[\\u0009\\u0020-\\u007e\\u0080-\\u00ff]+$/;\n\n/**\n * Parse a cookie header.\n *\n * Parse the given cookie header string into an object\n * The object has the various cookies as keys(names) => values\n *\n * @param {string} str\n * @param {object} [options]\n * @return {object}\n * @public\n */\n\nfunction parse(str, options) {\n  if (typeof str !== 'string') {\n    throw new TypeError('argument str must be a string');\n  }\n\n  var obj = {}\n  var opt = options || {};\n  var dec = opt.decode || decode;\n\n  var index = 0\n  while (index < str.length) {\n    var eqIdx = str.indexOf('=', index)\n\n    // no more cookie pairs\n    if (eqIdx === -1) {\n      break\n    }\n\n    var endIdx = str.indexOf(';', index)\n\n    if (endIdx === -1) {\n      endIdx = str.length\n    } else if (endIdx < eqIdx) {\n      // backtrack on prior semicolon\n      index = str.lastIndexOf(';', eqIdx - 1) + 1\n      continue\n    }\n\n    var key = str.slice(index, eqIdx).trim()\n\n    // only assign once\n    if (undefined === obj[key]) {\n      var val = str.slice(eqIdx + 1, endIdx).trim()\n\n      // quoted values\n      if (val.charCodeAt(0) === 0x22) {\n        val = val.slice(1, -1)\n      }\n\n      obj[key] = tryDecode(val, dec);\n    }\n\n    index = endIdx + 1\n  }\n\n  return obj;\n}\n\n/**\n * Serialize data into a cookie header.\n *\n * Serialize the a name value pair into a cookie string suitable for\n * http headers. An optional options object specified cookie parameters.\n *\n * serialize('foo', 'bar', { httpOnly: true })\n *   => \"foo=bar; httpOnly\"\n *\n * @param {string} name\n * @param {string} val\n * @param {object} [options]\n * @return {string}\n * @public\n */\n\nfunction serialize(name, val, options) {\n  var opt = options || {};\n  var enc = opt.encode || encode;\n\n  if (typeof enc !== 'function') {\n    throw new TypeError('option encode is invalid');\n  }\n\n  if (!fieldContentRegExp.test(name)) {\n    throw new TypeError('argument name is invalid');\n  }\n\n  var value = enc(val);\n\n  if (value && !fieldContentRegExp.test(value)) {\n    throw new TypeError('argument val is invalid');\n  }\n\n  var str = name + '=' + value;\n\n  if (null != opt.maxAge) {\n    var maxAge = opt.maxAge - 0;\n\n    if (isNaN(maxAge) || !isFinite(maxAge)) {\n      throw new TypeError('option maxAge is invalid')\n    }\n\n    str += '; Max-Age=' + Math.floor(maxAge);\n  }\n\n  if (opt.domain) {\n    if (!fieldContentRegExp.test(opt.domain)) {\n      throw new TypeError('option domain is invalid');\n    }\n\n    str += '; Domain=' + opt.domain;\n  }\n\n  if (opt.path) {\n    if (!fieldContentRegExp.test(opt.path)) {\n      throw new TypeError('option path is invalid');\n    }\n\n    str += '; Path=' + opt.path;\n  }\n\n  if (opt.expires) {\n    var expires = opt.expires\n\n    if (!isDate(expires) || isNaN(expires.valueOf())) {\n      throw new TypeError('option expires is invalid');\n    }\n\n    str += '; Expires=' + expires.toUTCString()\n  }\n\n  if (opt.httpOnly) {\n    str += '; HttpOnly';\n  }\n\n  if (opt.secure) {\n    str += '; Secure';\n  }\n\n  if (opt.partitioned) {\n    str += '; Partitioned'\n  }\n\n  if (opt.priority) {\n    var priority = typeof opt.priority === 'string'\n      ? opt.priority.toLowerCase()\n      : opt.priority\n\n    switch (priority) {\n      case 'low':\n        str += '; Priority=Low'\n        break\n      case 'medium':\n        str += '; Priority=Medium'\n        break\n      case 'high':\n        str += '; Priority=High'\n        break\n      default:\n        throw new TypeError('option priority is invalid')\n    }\n  }\n\n  if (opt.sameSite) {\n    var sameSite = typeof opt.sameSite === 'string'\n      ? opt.sameSite.toLowerCase() : opt.sameSite;\n\n    switch (sameSite) {\n      case true:\n        str += '; SameSite=Strict';\n        break;\n      case 'lax':\n        str += '; SameSite=Lax';\n        break;\n      case 'strict':\n        str += '; SameSite=Strict';\n        break;\n      case 'none':\n        str += '; SameSite=None';\n        break;\n      default:\n        throw new TypeError('option sameSite is invalid');\n    }\n  }\n\n  return str;\n}\n\n/**\n * URL-decode string value. Optimized to skip native call when no %.\n *\n * @param {string} str\n * @returns {string}\n */\n\nfunction decode (str) {\n  return str.indexOf('%') !== -1\n    ? decodeURIComponent(str)\n    : str\n}\n\n/**\n * URL-encode value.\n *\n * @param {string} val\n * @returns {string}\n */\n\nfunction encode (val) {\n  return encodeURIComponent(val)\n}\n\n/**\n * Determine if value is a Date.\n *\n * @param {*} val\n * @private\n */\n\nfunction isDate (val) {\n  return __toString.call(val) === '[object Date]' ||\n    val instanceof Date\n}\n\n/**\n * Try decoding a string using a decoding function.\n *\n * @param {string} str\n * @param {function} decode\n * @private\n */\n\nfunction tryDecode(str, decode) {\n  try {\n    return decode(str);\n  } catch (e) {\n    return str;\n  }\n}\n"],"names":["getSubmitText","type","l","ArtistCreditField","_ref","field","options","_jsxs","children","_jsx","addColonText","SelectField","grouped","style","maxWidth","uncontrolled","TypeField","_ref2","_ref3","_form$field$setlist$v","_form$field$date$valu","form","id","method","defaultValue","name","value","html_name","size","entity_type","_Fragment","type_id","options_type_id","setlist","FieldErrors","artist_credit_id","options_artist_credit_id","video","options_video","title","defaultChecked","hide_bootlegs","String","label_id","options_label_id","country_id","options_country_id","lp","status_id","options_status_id","date","secondary_type_id","options_secondary_type_id","role_type","options_role_type","disambiguation","className","hydrate","ajaxFormUrl","initialFilterForm","_React$useState","React","_React$useState2","_slicedToArray","filterForm","setFilterForm","_React$useState3","_React$useState4","hidden","setHidden","float","marginTop","alt","src","filterIconUrl","href","onClick","event","preventDefault","setCookie","require","getJSON","data","FilterForm","getSelectValue","allowEmpty","arguments","length","undefined","buildOption","option","index","unwrapNl","label","buildOptGroup","optgroup","map","_ref2$allowEmpty","_ref2$uncontrolled","passedSelectProps","_objectWithoutProperties","_excluded2","selectProps","_objectSpread","disabled","onChange","document","window","location","protocol","_cookies","toString","expiration","Date","now","cookie","expires","path","buildErrorListItem","error","hasHtmlErrors","expand2react","FieldErrorsList","errors","_ref2$hasHtmlErrors","_ref2$includeSubField","includeSubFields","subfieldErrors","iterSubfields","_marked2","_regeneratorRuntime","iterContextSubfields","_createForOfIteratorHelper","r","e","t","Symbol","iterator","Array","isArray","a","_arrayLikeToArray","call","slice","constructor","from","test","_unsupportedIterableToArray","_n","F","s","n","done","f","TypeError","o","u","next","return","formOrField","_i","_Object$values","subfield","_iterator","_step","_subfield","_context","prev","t0","Object","values","delegateYield","abrupt","t3","finish","stop","_marked","formOrFieldCtx","_i2","_Object$keys","fieldName","i","_context2","read","keys","get","applyAllPendingErrors","_step2","_iterator2","_subfieldCtx$read$pen","subfieldCtx","pendingErrors","applyPendingErrors","err","fieldCtx","_fieldCtx$read$pendin","set","hasSubfieldErrors","_step3","_iterator3","_subfield$errors","_subfield$pendingErro","_step4","result","_iterator4","_subfield$errors2","concat","exports","parse","str","obj","dec","decode","eqIdx","indexOf","endIdx","lastIndexOf","key","trim","val","charCodeAt","tryDecode","serialize","opt","enc","encode","fieldContentRegExp","maxAge","isNaN","isFinite","Math","floor","domain","__toString","isDate","valueOf","toUTCString","httpOnly","secure","partitioned","priority","toLowerCase","sameSite","prototype","decodeURIComponent","encodeURIComponent"],"sourceRoot":""}