{"version":3,"file":"shared-methods.cjs","sources":["../../../../packages/components/src/subject/shared-methods.ts"],"sourcesContent":["import { joinSubjectTitle, resolveSubjectPrefix } from './title-prefix'\n\nexport function emitSubjectEvent(host: EventTarget, name: string, detail?: unknown) {\n  host.dispatchEvent(new CustomEvent(name, { bubbles: true, composed: true, detail: detail ?? null }))\n}\n\nexport function emitSubjectModelValue(host: EventTarget, value: string) {\n  host.dispatchEvent(new CustomEvent('update:modelValue', {\n    bubbles: true,\n    composed: true,\n    detail: value,\n  }))\n}\n\nexport function showSubjectToast(msg: string) {\n  const el = document.createElement('div')\n  el.textContent = msg\n  Object.assign(el.style, {\n    position: 'fixed',\n    top: '20px',\n    left: '50%',\n    transform: 'translateX(-50%)',\n    padding: '10px 20px',\n    borderRadius: '4px',\n    fontSize: '13px',\n    color: '#fff',\n    background: '#f56c6c',\n    zIndex: '99999',\n    boxShadow: '0 4px 12px rgba(0,0,0,.15)',\n    transition: 'opacity .3s',\n    opacity: '1',\n  })\n  document.body.appendChild(el)\n  setTimeout(() => {\n    el.style.opacity = '0'\n    setTimeout(() => el.remove(), 300)\n  }, 2500)\n}\n\nexport function getSubjectImageResources(resourceList: any[] = []) {\n  return resourceList\n    .filter(item => item?.resourceType === 1)\n    .map(item => item?.resource?.middle || item?.resource?.url)\n    .filter(Boolean) as string[]\n}\n\nexport function getSubjectVideoResource(resourceList: any[] = []) {\n  return resourceList.find(item => item?.resourceType === 2)?.resource || null\n}\n\nexport function resolveSubjectCategoryLabel(categoryList: any[] = [], categoryId?: string | number) {\n  const matched = categoryList.find((item: any) => String(item?.categoryId) === String(categoryId))\n  return matched?.title || matched?.categoryName || categoryId || '未选择分类'\n}\n\nexport function buildSubjectPreviewTitle(subjectPrefix: unknown, orderIndex: number, title: string) {\n  return joinSubjectTitle(\n    resolveSubjectPrefix(subjectPrefix, `${orderIndex + 1}.`),\n    title,\n  )\n}\n\nexport function buildSubjectSortingTitle(subjectPrefix: unknown, orderIndex: number, title: string) {\n  return joinSubjectTitle(\n    resolveSubjectPrefix(subjectPrefix, `${orderIndex + 1}. `),\n    title,\n  )\n}\n"],"names":["emitSubjectEvent","host","name","detail","emitSubjectModelValue","value","showSubjectToast","msg","el","getSubjectImageResources","resourceList","item","getSubjectVideoResource","resolveSubjectCategoryLabel","categoryList","categoryId","matched","buildSubjectPreviewTitle","subjectPrefix","orderIndex","title","joinSubjectTitle","resolveSubjectPrefix","buildSubjectSortingTitle"],"mappings":"sHAEO,SAASA,EAAiBC,EAAmBC,EAAcC,EAAkB,CAClFF,EAAK,cAAc,IAAI,YAAYC,EAAM,CAAE,QAAS,GAAM,SAAU,GAAM,OAAQC,GAAU,IAAA,CAAM,CAAC,CACrG,CAEO,SAASC,EAAsBH,EAAmBI,EAAe,CACtEJ,EAAK,cAAc,IAAI,YAAY,oBAAqB,CACtD,QAAS,GACT,SAAU,GACV,OAAQI,CAAA,CACT,CAAC,CACJ,CAEO,SAASC,EAAiBC,EAAa,CAC5C,MAAMC,EAAK,SAAS,cAAc,KAAK,EACvCA,EAAG,YAAcD,EACjB,OAAO,OAAOC,EAAG,MAAO,CACtB,SAAU,QACV,IAAK,OACL,KAAM,MACN,UAAW,mBACX,QAAS,YACT,aAAc,MACd,SAAU,OACV,MAAO,OACP,WAAY,UACZ,OAAQ,QACR,UAAW,6BACX,WAAY,cACZ,QAAS,GAAA,CACV,EACD,SAAS,KAAK,YAAYA,CAAE,EAC5B,WAAW,IAAM,CACfA,EAAG,MAAM,QAAU,IACnB,WAAW,IAAMA,EAAG,OAAA,EAAU,GAAG,CACnC,EAAG,IAAI,CACT,CAEO,SAASC,EAAyBC,EAAsB,GAAI,CACjE,OAAOA,EACJ,OAAOC,GAAQA,GAAM,eAAiB,CAAC,EACvC,IAAIA,GAAQA,GAAM,UAAU,QAAUA,GAAM,UAAU,GAAG,EACzD,OAAO,OAAO,CACnB,CAEO,SAASC,EAAwBF,EAAsB,GAAI,CAChE,OAAOA,EAAa,KAAKC,GAAQA,GAAM,eAAiB,CAAC,GAAG,UAAY,IAC1E,CAEO,SAASE,EAA4BC,EAAsB,CAAA,EAAIC,EAA8B,CAClG,MAAMC,EAAUF,EAAa,KAAMH,GAAc,OAAOA,GAAM,UAAU,IAAM,OAAOI,CAAU,CAAC,EAChG,OAAOC,GAAS,OAASA,GAAS,cAAgBD,GAAc,OAClE,CAEO,SAASE,EAAyBC,EAAwBC,EAAoBC,EAAe,CAClG,OAAOC,EAAAA,iBACLC,EAAAA,qBAAqBJ,EAAe,GAAGC,EAAa,CAAC,GAAG,EACxDC,CAAA,CAEJ,CAEO,SAASG,EAAyBL,EAAwBC,EAAoBC,EAAe,CAClG,OAAOC,EAAAA,iBACLC,EAAAA,qBAAqBJ,EAAe,GAAGC,EAAa,CAAC,IAAI,EACzDC,CAAA,CAEJ"}