{"version":3,"file":"StatusTag-FMwefaBx.js","sources":["../../../app/javascript/dashboards/components/common/StatusTag.tsx"],"sourcesContent":["import React from 'react';\nimport { Tag } from '@angellist/adapt';\nimport { formatTitle } from '../../helpers/utils';\n\ntype TagIntent =\n | 'neutral'\n | 'info'\n | 'success'\n | 'warning'\n | 'danger'\n | 'draft'\n | 'new'\n | 'other'\n | 'inProgress'\n | 'pending'\n | 'complete'\n | 'postComplete'\n | 'canceled';\n\ntype Props = {\n as?: 'div' | 'span';\n label?: string;\n status?: string;\n intent?: TagIntent;\n emphasis?: boolean;\n icon?: any;\n whiteSpace?:\n | 'inherit'\n | 'initial'\n | 'normal'\n | 'nowrap'\n | 'pre'\n | 'pre-line'\n | 'pre-wrap'\n | undefined;\n};\n\nconst TAG_INTENT_STATUSES: { [key: string]: string[] } = {\n draft: [\n 'draft',\n 'no_vested',\n 'not_delivered',\n 'not_submitted',\n 'not_yet_started',\n 'unissued',\n ],\n new: [],\n neutral: [\n 'closedbycustomer',\n 'invited',\n 'suspectedfraud',\n 'created',\n 'auditor',\n 'clicked',\n 'company_live',\n 'irs_number',\n 'live',\n 'not_seen',\n 'offer_portal_manager',\n 'open',\n 'opened',\n 'physical',\n 'state_filings',\n 'stock_issuance',\n 'tax_id_number',\n 'vesting',\n 'virtual',\n ],\n other: ['clearing', 'viewer', 'expired', 'forfeited'],\n info: [],\n success: [\n 'approved',\n 'editor',\n 'lawyer_approved',\n 'seen',\n 'submitted',\n 'succeeded',\n 'success',\n 'surrendered',\n 'uploaded',\n ],\n warning: [\n 'awaiting_documents',\n 'awaiting_esigns',\n 'awaiting_funds',\n 'awaiting_signature',\n 'awaitingbackimage',\n 'awaitingdocuments',\n 'awaitingfrontimage',\n 'awaitingimages',\n 'needs_co_founder_signatures',\n 'owner',\n 'recommended',\n ],\n danger: [\n 'denied',\n 'inactive',\n 'invalid',\n 'priority',\n 'required',\n 'returned',\n 'stolen',\n 'forfeited',\n ],\n inProgress: ['in_progress', 'in_review', 'inprogress', 'processing'],\n pending: [\n 'pending',\n 'pending_acceptance',\n 'pending_approval',\n 'pending_issuance',\n 'pending_payment',\n 'pending_review',\n 'pendingreview',\n 'requires_company_signature',\n 'invited',\n ],\n complete: [\n 'complete',\n 'completed',\n 'delivered',\n 'outstanding',\n 'raising',\n 'externally_executed',\n 'fund_recieved',\n 'funds_received',\n 'sent',\n 'signed',\n 'vested',\n 'active',\n 'yes',\n 'amendment_complete',\n ],\n postComplete: [\n 'closed',\n 'ended',\n 'esop_manager',\n 'executed',\n 'fully_exercised',\n 'repurchased',\n 'exercised',\n 'partially_exercised',\n 'early_exercised',\n 'viewed',\n ],\n canceled: [\n 'cancelled',\n 'closedbycustomer',\n 'failed',\n 'frozen',\n 'lost',\n 'rejected',\n ],\n};\n\nconst tagStatusMapping: { [key: string]: TagIntent } = {};\n\nObject.keys(TAG_INTENT_STATUSES).forEach((intent: TagIntent) => {\n TAG_INTENT_STATUSES[intent].forEach((status) => {\n tagStatusMapping[status] = intent;\n });\n});\n\nexport const STATUS_TAG_INTENT_MAPPING = tagStatusMapping;\n\nexport const getStatusTagProps = (\n status?: string,\n label?: string,\n intent?: TagIntent,\n) => {\n const tagIntent =\n intent || STATUS_TAG_INTENT_MAPPING[status.toLowerCase()] || 'neutral';\n const tagLabel = label || formatTitle(status);\n\n return {\n intent: tagIntent,\n label: tagLabel,\n };\n};\n\nconst StatusTag = (props: Props) => {\n const { status, intent, label, whiteSpace, ...rest } = props;\n if (status || label) {\n const { label: tagLabel, intent: tagIntent } = getStatusTagProps(\n status,\n label,\n intent,\n );\n\n return (\n <Tag intent={tagIntent} whiteSpace={whiteSpace || 'nowrap'} {...rest}>\n {tagLabel}\n </Tag>\n );\n }\n\n return null;\n};\n\nexport default StatusTag;\n"],"names":["TAG_INTENT_STATUSES","tagStatusMapping","intent","status","STATUS_TAG_INTENT_MAPPING","getStatusTagProps","label","tagIntent","tagLabel","formatTitle","StatusTag","props","whiteSpace","rest","jsx","Tag"],"mappings":"2HAqCA,MAAMA,EAAmD,CACvD,MAAO,CACL,QACA,YACA,gBACA,gBACA,kBACA,UACF,EACA,IAAK,CAAC,EACN,QAAS,CACP,mBACA,UACA,iBACA,UACA,UACA,UACA,eACA,aACA,OACA,WACA,uBACA,OACA,SACA,WACA,gBACA,iBACA,gBACA,UACA,SACF,EACA,MAAO,CAAC,WAAY,SAAU,UAAW,WAAW,EACpD,KAAM,CAAC,EACP,QAAS,CACP,WACA,SACA,kBACA,OACA,YACA,YACA,UACA,cACA,UACF,EACA,QAAS,CACP,qBACA,kBACA,iBACA,qBACA,oBACA,oBACA,qBACA,iBACA,8BACA,QACA,aACF,EACA,OAAQ,CACN,SACA,WACA,UACA,WACA,WACA,WACA,SACA,WACF,EACA,WAAY,CAAC,cAAe,YAAa,aAAc,YAAY,EACnE,QAAS,CACP,UACA,qBACA,mBACA,mBACA,kBACA,iBACA,gBACA,6BACA,SACF,EACA,SAAU,CACR,WACA,YACA,YACA,cACA,UACA,sBACA,gBACA,iBACA,OACA,SACA,SACA,SACA,MACA,oBACF,EACA,aAAc,CACZ,SACA,QACA,eACA,WACA,kBACA,cACA,YACA,sBACA,kBACA,QACF,EACA,SAAU,CACR,YACA,mBACA,SACA,SACA,OACA,UACF,CACF,EAEMC,EAAiD,CAAA,EAEvD,OAAO,KAAKD,CAAmB,EAAE,QAASE,GAAsB,CAC9DF,EAAoBE,CAAM,EAAE,QAASC,GAAW,CAC9CF,EAAiBE,CAAM,EAAID,CAAA,CAC5B,CACH,CAAC,EAEM,MAAME,EAA4BH,EAE5BI,EAAoB,CAC/BF,EACAG,EACAJ,IACG,CACH,MAAMK,EACJL,GAAUE,EAA0BD,EAAO,YAAA,CAAa,GAAK,UACzDK,EAAWF,GAASG,EAAYN,CAAM,EAErC,MAAA,CACL,OAAQI,EACR,MAAOC,CAAA,CAEX,EAEME,EAAaC,GAAiB,CAClC,KAAM,CAAE,OAAAR,EAAQ,OAAAD,EAAQ,MAAAI,EAAO,WAAAM,EAAY,GAAGC,CAAS,EAAAF,EACvD,GAAIR,GAAUG,EAAO,CACnB,KAAM,CAAE,MAAOE,EAAU,OAAQD,CAAc,EAAAF,EAC7CF,EACAG,EACAJ,CAAA,EAIA,OAAAY,EAAA,IAACC,GAAI,OAAQR,EAAW,WAAYK,GAAc,SAAW,GAAGC,EAC7D,SACHL,CAAA,CAAA,CAEJ,CAEO,OAAA,IACT"}