1import{C as e,E as t,F as n,J as r,K as i,M as a,N as o,O as s,W as c,k as l,ut as u}from"./vendor-vue-Bu-KQjoC.js";var d={class:`space-y-1.5`},f={class:`flex flex-wrap items-center gap-1.5 rounded border border-border bg-surface px-2 py-1.5`},p=[`onClick`],m=[`placeholder`],h=10,g=30,_=n({__name:`BlogTagInput`,props:{tags:{},placeholder:{default:``}},emits:[`update:tags`],setup(n,{emit:_}){let v=n,y=_;function b(e){let t=e.trim().slice(0,g);!t||v.tags.includes(t)||v.tags.length>=h||y(`update:tags`,[...v.tags,t])}function x(e){y(`update:tags`,v.tags.filter(t=>t!==e))}function S(e){if(e.key===`Enter`){e.preventDefault();let t=e.target;b(t.value),t.value=``}}function C(e){let t=e.target;t.value.trim()&&(b(t.value),t.value=``)}return(_,v)=>{let y=r(`MaterialIcon`);return c(),l(`div`,d,[t(`div`,f,[(c(!0),l(e,null,i(n.tags,e=>(c(),l(`span`,{key:e,class:`inline-flex items-center gap-0.5 rounded-full bg-muted/20 px-2 py-0.5 text-[11px] text-primary`},[a(` #`+u(e)+` `,1),t(`button`,{type:`button`,class:`text-muted hover:text-primary`,onClick:t=>x(e)},[o(y,{name:`close`,size:12}
1)],8,p)]))),128)),n.tags.length<h?(c(),l(`input`,{key:0,type:`text`,maxlength:g,placeholder:n.placeholder,class:`min-w-[120px] flex-1 bg-transparent text-[12px] text-primary focus:outline-none`,onKeydown:S,onBlur:C},null,40,m)):s(``,!0)])])}}});export{_ as t};
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.