PageSourceSearch

https://proposalapp.net/assets/CapabilityCard-Bmo9z8Hb.js

js proposalapp.net collected 2026-10-03 21:15:00 UTC 3,522 bytes, 1 lines download raw bytes

1import{u as v,r as k,j as e,h as z,i as w,B as r,T as o,I,M as B,k as t,l as E,m as A,n as y,o as h,E as D,p as M}from"./mui-DshTrCeP.js";const L=({capability:s,onEdit:u,onDelete:m,onView:a})=>{const c=v(),[d,x]=k.useState(null),p=!!d,j=n=>{n.stopPropagation(),x(n.currentTarget)},i=()=>{x(null)},f=n=>{n&&n.stopPropagation(),u(s),i()},g=n=>{n&&n.stopPropagation(),m(s.capabilityId),i()},C=n=>{switch(n){case"expert":return"error";case"advanced":return"warning";case"intermediate":return"info";case"beginner":return"default";default:return"default"}};return e.jsxs(z,{elevation:2,onClick:a?()=>a(s):void 0,sx:{height:"100%",display:"flex",flexDirection:"column",transition:"all 0.2s ease-in-out",cursor:a?"pointer":"default","&:hover":{elevation:4,transform:"translateY(-2px)"}},children:[e.jsxs(w,{sx:{flex:1},children:[e.jsxs(r,{sx:{display:"flex",justifyContent:"space-between",alignItems:"flex-start",mb:2},children:[e.jsx(o,{variant:"h6",component:"h3",gutterBottom:!0,children:s.name}),e.jsx(I,{size:"small",onClick:j,sx:{color:"text.secondary"},children:e.jsx(B,{})})]}),s.description&&e.jsx(o,{variant:"body2",color:"text.secondary",paragraph:!0,children:s.description}),e.jsx(r,{sx:{display:"none",mb:2},children:e.jsx(t,{label:s.experienceLevel.charAt(0).toUpperCase()+s.experienceLevel.slice(1),size:"small",color:C(s.experienceLevel),variant:"outlined"})}),s.naicsCodes&&s.naicsCodes.length>0&&e.jsxs(r,{sx:{mb:2},children:[e.jsx(o,{variant:"caption",display:"block",gutterBottom:!0,children:"NAICS Codes:"}),e.jsxs(r,{sx:{display:"flex",flexWrap:"wrap",gap:.5},children:[s.naicsCodes.slice(0,3).map((n,l)=>e.jsx(t,{label:n,size:"small",variant:"outlined",icon:e.jsx(E,{sx:{fontSize:14}})},l)),s.naicsCodes.length>3&&e.jsx(t,{label:`+${s.naicsCodes.length-3} more`,size:"small",variant:"outlined",sx:{color:"text.secondary"}})]})]}),s.keywords&&s.keywords.length>0&&e.jsxs(r,{sx:{mb:2},children:[e.jsx(o,{variant:"caption",display:"block",gutterBottom:!0,children:"Keywords:"}),e.jsxs(r,{sx:{display:"flex",flexWrap:"wrap",gap:.5},children:[s.keywords.slice(0,4).map((n,l)=>e.jsx(t,{label:n,size:"small",color:"primary",variant:"outlined"},l)),s.keywords.length>4&&e.jsx(t,{label:`+${s.keywords.length-4} more`,size:"small",variant:"outlined",sx:{color:"text.secondary"}})]})]}),s.certifications&&s.certifications.length>0&&e.jsxs(r,{children:[e.jsx(o,{variant:"caption",display:"block",gutterBottom:!0,children:"Certifications:"}),e.jsxs(r,{sx:{display:"flex",flexWrap:"wrap",gap:.5},children:[s.certifications.slice(0,2).map((n,l)=>e.jsx(t,{label:n,size:"small",color:"secondary",variant:"filled"},l)),s.certifications.length>2&&e.jsx(t,{label:`+${s.certifications.length-2} more`,size:"small",variant:"outlined",sx:{color:"text.secondary"}})]})]})]}),e.jsxs(A,{sx:{justifyContent:"flex-end",px:2,pb:2},children:[e.jsx(r,{sx:{display:"none"},children:e.jsx(t,{label:s.isActive?"Active":"Inactive",size:"small",sx:{backgroundColor:s.isActive?c.palette.success.main:c.palette.grey[500],color:"white",fontWeight:500}})}),e.jsxs(o,{variant:"caption",color:"text.secondary",children:["Updated ",new Date(s.updatedAt).toLocaleDateString()]})]}),e.jsxs(y,{anchorEl:d,open:p,onClose:i,anchorOrigin:{vertical:"top",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"right"},children:[e.jsxs(h,{onClick:n=>f(n),children:[e.jsx(D,{sx:{mr:1,fontSize:18}}),"Edit"]}),e.jsxs(h,{onClick:n=>g(n),sx:{color:"error.main"},children:[e.jsx(M,{sx:{mr:1,fontSize:18}}),"Delete"]})]})]})};export{L as CapabilityCard};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.