PageSourceSearch

https://villume.com/chunk-BJKQBMYG.js

js villume.com collected 2026-10-04 05:34:26 UTC 44,121 bytes, 1 lines download raw bytes

1import{a as pe,b as ue,c as me}from"./chunk-ON4Q4ZO3.js";import{a as re}from"./chunk-VK5JCHVZ.js";import{a as le}from"./chunk-WUEPX5CQ.js";import{a as se}from"./chunk-HEBHKYSJ.js";import{a as de}from"./chunk-U22T232E.js";import{a as ce}from"./chunk-5MO7WD33.js";import{a as ge}from"./chunk-WHIRRMLJ.js";import{a as ae}from"./chunk-SUTA35HQ.js";import{p as ee}from"./chunk-VIPPC764.js";import"./chunk-LKIWFJNO.js";import{c as te,f as ne,k as ie,x as oe}from"./chunk-MJ3YFWEM.js";import"./chunk-FISGOQRH.js";import{Cb as M,Db as v,Eb as P,Nc as Y,Pc as Z,Q as w,Qa as C,Ra as h,Sa as L,Sb as S,Tb as q,U as m,Ua as V,Ub as T,V as _,Va as z,W as b,Wa as f,Wc as $,X as O,Xa as n,Ya as o,Za as u,a as D,eb as y,gb as c,ha as F,ib as p,la as U,mb as R,nb as G,nc as Q,ob as H,oc as N,qa as d,qc as J,rb as j,rc as X,tb as A,wb as s,xb as x,ya as W,yb as I,zb as K}from"./chunk-5JXA4GNO.js";import{g as k}from"./chunk-JSSFPNKJ.js";var _e=["editorHolder"],Ce=(a,g)=>g.id;function he(a,g){a&1&&(n(0,"span",9),u(1,"span",53),s(2," Saving... "),o())}function be(a,g){if(a&1&&(n(0,"span",10),b(),n(1,"svg",5),u(2,"polyline",15),o(),s(3),S(4,"date"),o()),a&2){let t=p();d(3),I(" Saved ",t.lastSavedAt?T(4,1,t.lastSavedAt,"shortTime"):""," ")}}function fe(a,g){a&1&&(n(0,"span",11),s(1,"Unsaved changes"),o())}function Me(a,g){if(a&1){let t=y();n(0,"button",54),c("click",function(){m(t);let e=p();return _(e.viewLive())}),b(),n(1,"svg",5),u(2,"path",55)(3,"polyline",56)(4,"line",57),o(),O(),n(5,"span"),s(6,"View Live"),o()(),n(7,"button",54),c("click",function(){m(t);let e=p();return _(e.openShareModal())}),b(),n(8,"svg",5),u(9,"circle",58)(10,"circle",59)(11,"circle",60)(12,"line",61)(13,"line",62),o(),O(),n(14,"span"),s(15,"Share"),o()()}}function ve(a,g){if(a&1&&(n(0,"span",67),s(1),o()),a&2){let t=p(3);d(),K(" ",t.featuredImage==null?null:t.featuredImage.width," x ",t.featuredImage==null?null:t.featuredImage.height," px ")}}function Pe(a,g){if(a&1){let t=y();n(0,"div",65),C(1,ve,2,2,"span",67),n(2,"button",68),c("click",function(){m(t);let e=p(2);return _(e.removeFeaturedImage())}),b(),n(3,"svg",69),u(4,"polyline",70)(5,"path",71),o(),s(6," Remove "),o()()}if(a&2){let t=p(2);d(),h(t.featuredImage!=null&&t.featuredImage.width&&(t.featuredImage!=null&&t.featuredImage.height)?1:-1)}}function Oe(a,g){a&1&&(n(0,"div",66)(1,"div",72),u(2,"div",73),b(),n(3,"svg",74),u(4,"circle",75)(5,"path",76),o()(),O(),n(6,"div",77)(7,"span",78),s(8,"Uploading new featured image..."),o()()())}function xe(a,g){if(a&1&&(n(0,"div",63),u(1,"img",64),C(2,Pe,7,1,"div",65),C(3,Oe,9,0,"div",66),o()),a&2){let t=p();A("is-uploading",t.isUploadingFeaturedImage),d(),f("src",t.featuredImage==null?null:t.featuredImage.url,U)("alt",(t.featuredImage==null?null:t.featuredImage.alt)||"Featured Image"),d(),h(t.isUploadingFeaturedImage?-1:2),d(),h(t.isUploadingFeaturedImage?3:-1)}}function ye(a,g){a&1&&(n(0,"div",79)(1,"div",72),u(2,"div",73),b(),n(3,"svg",74),u(4,"circle",75)(5,"path",76),o()(),O(),n(6,"div",77)(7,"span",78),s(8,"Uploading Featured Image..."),o(),n(9,"span",81),s(10,"Optimizing & saving image"),o()()())}function we(a,g){if(a&1){let t=y();n(0,"div",82),c("dragover",function(e){m(t);let r=p(2);return _(r.onDragOver(e))})("drop",function(e){m(t);let r=p(2);return _(r.onImageDrop(e))})("click",function(){m(t);let e=j(2);return _(e.click())})("keydown.enter",function(){m(t);let e=j(2);return _(e.click())}),n(1,"input",83,0),c("change",function(e){m(t);let r=p(2);return _(r.onImageFileSelected(e))}),o(),n(3,"div",84),b(),n(4,"svg",85),u(5,"rect",86)(6,"circle",87)(7,"polyline",88),o(),O(),n(8,"div",89)(9,"strong"),s(10,"Click to upload"),o(),s(11," or drag and drop featured image"),o(),n(12,"div",90),s(13,"JPG, PNG, or WebP \u2022 Max 5MB \u2022 Recommended 1200 \xD7 630 px"),o()()()}}function Se(a,g){if(a&1&&C(0,ye,11,0,"div",79)(1,we,14,0,"div",80),a&2){let t=p();h(t.isUploadingFeaturedImage?0:1)}}function Ee(a,g){if(a&1&&(n(0,"div",23),s(1),o()),a&2){let t=p();d(),x(t.imageUploadError)}}function ke(a,g){if(a&1&&(n(0,"div",29)(1,"span",30),s(2,"Published:"),o(),n(3,"span",91),s(4),S(5,"date"),o()()),a&2){let t=p();d(4),x(T(5,1,t.article==null?null:t.article.published_at,"medium"))}}function Ie(a,g){if(a&1&&(n(0,"div",29)(1,"span",30),s(2,"Last updated:"),o(),n(3,"span",91),s(4),S(5,"date"),o()()),a&2){let t=p();d(4),x(T(5,1,t.article==null?null:t.article.updated_at,"medium"))}}function Te(a,g){if(a&1){let t=y();n(0,"label",38)(1,"input",92),c("change",function(){let e=m(t).$implicit,r=p();return _(r.selectCategory(e))}
1),o(),n(2,"span",93),s(3),o()()}if(a&2){let t=g.$implicit,i=p();d(),f("checked",(i.selectedCategory==null?null:i.selectedCategory.id)===t.id),d(2),x(t.title)}}function Be(a,g){if(a&1){let t=y();n(0,"span",40)(1,"span"),s(2),o(),n(3,"button",94),c("click",function(){let e=m(t).$index,r=p();return _(r.removeTag(e))}),s(4,"\xD7"),o()()}if(a&2){let t=g.$implicit;d(2),x(t)}}var et=(()=>{class a{constructor(){this._blogService=w(ae),this._route=w(Y),this._router=w(Z),this._platformId=w(F),this._isBrowser=X(this._platformId),this._editorInstance=null,this._subscription=new D,this.isEditMode=!1,this.articleId=null,this.article=null,this.title="",this.slug="",this.excerpt="",this.selectedCategory=null,this.tags=[],this.newTagInput="",this.featuredImage=null,this.imageUploadError="",this.isUploadingFeaturedImage=!1,this.seoTitle="",this.seoDescription="",this.seoKeywords="",this.availableCategories=[],this.availableTags=[],this.saveStatus="saved",this.lastSavedAt=null,this.isPublishing=!1,this.isManualSlug=!1,this.isAddCategoryModalVisible=!1,this.isPublishModalVisible=!1,this.publishingState="publishing",this.publishingErrorMessage="",this.isShareModalVisible=!1}ngOnInit(){this._loadCategoriesAndTags(),this._subscription.add(this._route.paramMap.subscribe(t=>{let i=t.get("id");i?(this.isEditMode=!0,this.articleId=i,this._loadArticleData(i)):(this.isEditMode=!1,this.articleId=null)}))}ngAfterViewInit(){this._isBrowser&&this._initEditorJs()}ngOnDestroy(){if(this._subscription.unsubscribe(),this._editorInstance&&typeof this._editorInstance.destroy=="function"){try{this._editorInstance.destroy()}catch(t){}this._editorInstance=null}}_loadCategoriesAndTags(){this._blogService.getCategories().subscribe(t=>{this.availableCategories=t,!this.selectedCategory&&t.length>0&&(this.selectedCategory=t[0])}),this._blogService.getTags().subscribe(t=>{this.availableTags=t})}_loadArticleData(t){this._blogService.getArticleById(t).subscribe(i=>{if(!i){this._router.navigate(["/blog"]);return}this.article=i,this.title=i.title,this.slug=i.slug,this.isManualSlug=!0,this.excerpt=i.excerpt||"",this.selectedCategory=i.category||this.availableCategories[0],this.tags=[...i.tags||[]],this.featuredImage=i.featured_image||null,this.seoTitle=i.seo_title||i.title,this.seoDescription=i.seo_description||i.excerpt||"",this.seoKeywords=Array.isArray(i.seo_keywords)?i.seo_keywords.join(", "):i.seo_keywords||"",this._editorInstance&&this._editorInstance.render&&i.content&&this._editorInstance.render(i.content)})}_initEditorJs(){let t=document.getElementById("villume-editorjs-holder");if(!t||!t.isConnected)return;let i=this.article?.content||{blocks:[]};try{this._editorInstance=new re({holder:t,placeholder:"Write your story... Press Tab to see available block commands",data:i,tools:{header:{class:le,inlineToolbar:["link","bold","italic"],config:{placeholder:"Enter a heading",levels:[2,3,4],defaultLevel:2}},list:{class:se,inlineToolbar:!0},quote:{class:de,inlineToolbar:!0,config:{quotePlaceholder:"Enter a quote",captionPlaceholder:"Quote author/caption"}},delimiter:ce,image:{class:ge,config:{uploader:{uploadByFile:e=>new Promise((r,l)=>{this._blogService.uploadImage(e).subscribe({next:B=>{r({success:1,file:{url:B.url}})},error:B=>{let E=new FileReader;E.onload=()=>{r({success:1,file:{url:E.result}})},E.onerror=()=>l(B),E.readAsDataURL(e)}})}),uploadByUrl:e=>Promise.resolve({success:1,file:{url:e}})}}}},onChange:()=>{this.saveStatus="unsaved"}})}catch(e){}}onTitleChange(t){this.title=t,this.saveStatus="unsaved",this.isManualSlug||(this.slug=this._blogService.generateSlug(t))}onSlugChange(t){this.slug=this._blogService.generateSlug(t),this.isManualSlug=!0,this.saveStatus="unsaved"}onTagInputKeyDown(t){(t.key==="Enter"||t.key===",")&&(t.preventDefault(),this.addTag(this.newTagInput))}addTag(t){let i=t.replace(/,/g,"").trim();i&&!this.tags.includes(i)&&(this.tags.push(i),this.saveStatus="unsaved",this._blogService.createTag(i).subscribe()),this.newTagInput=""}removeTag(t){this.tags.splice(t,1),this.saveStatus="unsaved"}onCategoryCreated(t){this.availableCategories.push(t),this.selectedCategory=t,this.saveStatus="unsaved"}onCategoriesChanged(){this._blogService.getCategories().subscribe(t=>{this.availableCategories=t,this.selectedCategory&&!t.some(i=>i.id===this.selectedCategory?.id)&&(this.selectedCategory=t[0]||null)})}selectCategory(t){this.selectedCategory=t,this.saveStatus="unsaved"}onImageFileSelected(t){let i=t.target;i.files&&i.files.length>0&&this._processImageFile(i.files[0])}onImageDrop(t){t.preventDefault(),t.dataTransfer?.files&&t.dataTransfer.files.length>0&&this._processImageFile(t.dataTransfer.files[0])}onDragOver(t){t.preventDefault()}_processImageFile(t){this.imageUploadError="";let i=this._blogService.validateFeaturedImage(t);if(!i.valid){this.imageUploadError=i.error||"Invalid image file.";return}this.isUploadingFeaturedImage=!0,this._blogService.uploadImage(t).subscribe({next:e=>{this.featuredImage={url:e.url,alt:t.name,size:t.size},this.isUploadingFeaturedImage=!1,this.saveStatus="unsaved"},error:()=>{let e=new FileReader;e.onload=()=>{let r=new Image;r.onload=()=>{this.featuredImage={url:e.result,alt:t.name,size:t.size,width:r.width,height:r.height},this.isUploadingFeaturedImage=!1,this.saveStatus="unsaved"},r.onerror=()=>{this.isUploadingFeaturedImage=!1},r.src=e.result},e.onerror=()=>{this.isUploadingFeaturedImage=!1}
1,e.readAsDataURL(t)}})}removeFeaturedImage(){this.isUploadingFeaturedImage||(this.featuredImage=null,this.saveStatus="unsaved")}_getEditorContent(){return k(this,null,function*(){if(this._editorInstance&&typeof this._editorInstance.save=="function")try{return yield this._editorInstance.save()}catch(t){return{blocks:[]}}return this.article?.content||{blocks:[]}})}saveDraft(){return k(this,null,function*(){this.saveStatus="saving";let t=yield this._getEditorContent(),i={title:this.title.trim()||"Untitled Blog Post",slug:this.slug.trim()||this._blogService.generateSlug(this.title||"untitled-blog-post"),excerpt:this.excerpt.trim(),content:t,category_id:this.selectedCategory?.id,category:this.selectedCategory||this.availableCategories[0],tags:this.tags,cover_image:this.featuredImage?.url||null,featured_image:this.featuredImage,status:"draft",seo_title:this.seoTitle.trim()||this.title,seo_description:this.seoDescription.trim()||this.excerpt,seo_keywords:this.seoKeywords?this.seoKeywords.split(",").map(e=>e.trim()).filter(Boolean):this.tags};this.isEditMode&&this.articleId?this._blogService.updateArticle(this.articleId,i).subscribe({next:e=>{this.article=e,this.saveStatus="saved",this.lastSavedAt=new Date},error:()=>{this.saveStatus="unsaved"}}):this._blogService.createArticle(i).subscribe({next:e=>{this.article=e,this.articleId=e.id,this.isEditMode=!0,this.saveStatus="saved",this.lastSavedAt=new Date,this._router.navigate(["/blog/edit",e.id],{replaceUrl:!0})},error:()=>{this.saveStatus="unsaved"}})})}publishArticle(){return k(this,null,function*(){if(!this.title.trim()){alert("Please enter a title before publishing.");return}this.publishingState="publishing",this.publishingErrorMessage="",this.isPublishModalVisible=!0;let t=yield this._getEditorContent(),i={title:this.title.trim(),slug:this.slug.trim()||this._blogService.generateSlug(this.title),excerpt:this.excerpt.trim(),content:t,category_id:this.selectedCategory?.id,category:this.selectedCategory||this.availableCategories[0],tags:this.tags,cover_image:this.featuredImage?.url||null,featured_image:this.featuredImage,seo_title:this.seoTitle.trim()||this.title,seo_description:this.seoDescription.trim()||this.excerpt,seo_keywords:this.seoKeywords?this.seoKeywords.split(",").map(e=>e.trim()).filter(Boolean):this.tags};if(this.isEditMode&&this.articleId){let e=this.articleId;this._blogService.updateArticle(e,i).subscribe({next:()=>{this._executePublish(e)},error:r=>{this.publishingState="error",this.publishingErrorMessage=r?.message||"Failed to save changes before publishing."}})}else this._blogService.createArticle(i).subscribe({next:e=>{this.article=e,this.articleId=e.id,this.isEditMode=!0,this._executePublish(e.id)},error:e=>{this.publishingState="error",this.publishingErrorMessage=e?.message||"Failed to create article."}})})}_executePublish(t){this._blogService.publishArticle(t).subscribe({next:i=>{i.success&&i.article?(this.article=i.article,this.publishingState="success",this.saveStatus="saved",this.lastSavedAt=new Date):(this.publishingState="error",this.publishingErrorMessage=i.message||"Failed to publish article.")},error:i=>{this.publishingState="error",this.publishingErrorMessage=i?.message||"Network error occurred while publishing."}})}openShareModal(){this.article&&(this.isShareModalVisible=!0)}viewLive(){if(this.article){let t=this._blogService.getPublicArticleUrl(this.article.slug);typeof window<"u"&&window.open(t,"_blank","noopener,noreferrer")}}goBack(){this._router.navigate(["/blog"])}static{this.\u0275fac=function(i){return new(i||a)}}static{this.\u0275cmp=W({type:a,selectors:[["app-blog-editor"]],viewQuery:function(i,e){if(i&1&&R(_e,5),i&2){let r;G(r=H())&&(e.editorHolderRef=r.first)}},decls:94,vars:31,consts:[["imageFileInput",""],[1,"blog-editor-page"],[1,"editor-topbar"],[1,"topbar-left"],["type","button","title","Back to Articles",1,"btn-back",3,"click"],["viewBox","0 0 24 24","fill","none","stroke","currentColor","stroke-width","2","stroke-linecap","round","stroke-linejoin","round"],["x1","19","y1","12","x2","5","y2","12"],["points","12 19 5 12 12 5"],[1,"save-status-indicator"],[1,"status-badge","status-saving"],[1,"status-badge","status-saved"],[1,"status-badge","status-unsaved"],[1,"topbar-actions"],["type","button",1,"btn","btn-secondary",3,"click","disabled"],["type","button",1,"btn","btn-primary","btn-publish",3,"click","disabled"],["points","20 6 9 17 4 12"],[1,"editor-layout"],[1,"editor-main-canvas"],[1,"title-input-container"],["type","text","placeholder","Article Title...",1,"article-title-input",3,"ngModelChange","ngModel"],[1,"featured-image-section"],[1,"section-label"],[1,"featured-image-preview",3,"is-uploading"],[1,"image-error-alert"],[1,"editorjs-wrapper"],["id","villume-editorjs-holder",1,"villume-editorjs-canvas"],[1,"editor-sidebar"],[1,"sidebar-card"],[1,"card-title"],[1,"info-row"],[1,"info-label"],[1,"info-badge"],["type","text","placeholder","article-slug",1,"form-control",3,"ngModelChange","ngModel"],[1,"url-preview"],["rows","3","placeholder","A brief summary for previews and search results...",1,"form-control",3,"ngModelChange","ngModel"],[1,"card-header-flex"],["type","button",1,"btn-link-action",3,"click"],[1,"categories-list"],[1,"category-radio-option"],[1,"tags-chips-container"],[1,"tag-chip"],[1,"tag-input-box"],["type","text","placeholder","Type tag and press Enter or comma...",1,"form-control","tag-input",3,"ngModelChange","keydown","ngModel"],[1,"form-field"],["for","seo-title",1,"field-label"],["id","seo-title","type","text","placeholder","Custom meta title for Google...",1,"form-control",3,"ngModelChange","ngModel"],["for","seo-desc",1,"field-label"],["id","seo-desc","rows","2","placeholder","Custom meta description for search snippets...",1,"form-control",3,"ngModelChange","ngModel"],["for","seo-keywords",1,"field-label"],["id","seo-keywords","type","text","placeholder","e.g. art, virtual gallery, 3d exhibition",1,"form-control",3,"ngModelChange","ngModel"],[3,"visibleChange","categoryCreated","categoriesChanged","visible"],[3,"visibleChange","openShare","retry","visible","state","errorMessage","article"],[3,"visibleChange","visible","article"],["role","status",1,"spinner-border","spinner-border-sm"],["type","button",1,"btn","btn-outline","btn-sm",3,"click"],["d","M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"],["points","15 3 21 3 21 9"],["x1","10","y1","14","x2","21","y2","3"],["cx","18","cy","5","r","3"],["cx","6","cy","12","r","3"],["cx","18","cy","19","r","3"],["x1","8.59","y1","13.51","x2","15.42","y2","17.49"],["x1","15.41","y1","6.51","x2","8.59","y2","10.49"],[1,"featured-image-preview"],[3,"src","alt"],[1,"preview-overlay"],["role","status","aria-live","polite","aria-label","Uploading new image",1,"featured-image-uploading-overlay"],[1,"img-dimensions"],["type","button","title","Remove Image",1,"btn-remove-img",3,"click"],["viewBox","0 0 24 24","fill","none","stroke","currentColor","stroke-width","2"],["points","3 6 5 6 21 6"],["d","M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"],[1,"spinner-center"],["aria-hidden","true",1,"spinner-halo"],["viewBox","0 0 36 36","fill","none","aria-hidden","true",1,"ui-spinner"],["cx","18","cy","18","r","14","stroke-width","3",1,"spinner-track"],["d","M18 4 A14 14 0 0 1 32 18","stroke-width","3","stroke-linecap","round",1,"spinner-head"],[1,"uploading-text-group"],[1,"uploading-heading"],["role","status","aria-live","polite","aria-label","Uploading featured image",1,"featured-image-uploading-card"],["role","button","tabindex","0",1,"image-dropzone"],[1,"uploading-caption"],["role","button","tabindex","0",1,"image-dropzone",3,"dragover","drop","click","keydown.enter"],["type","file","accept","image/jpeg,image/png,image/webp",2,"display","none",3,"change"],[1,"dropzone-content"],["viewBox","0 0 24 24","fill","none","stroke","currentColor","stroke-width","1.5"],["x","3","y","3","width","18","height","18","rx","2","ry","2"],["cx","8.5","cy","8.5","r","1.5"],["points","21 15 16 10 5 21"],[1,"dropzone-text"],[1,"dropzone-hint"],[1,"info-value"],["type","radio","name","articleCategory",3,"change","checked"],[1,"radio-label"],["type","button",1,"tag-remove-btn",3,"click"]],template:function(i,e){i&1&&(n(0,"div",1)(1,"header",2)(2,"div",3)(3,"button",4),c("click",function(){return e.goBack()}),b(),n(4,"svg",5),u(5,"line",6)(6,"polyline",7),o(),O(),n(7,"span"),s(8,"Back to Articles"),o()(),n(9,"div",8),C(10,he,3,0,"span",9)(11,be,5,4,"span",10)(12,fe,2,0,"span",11),o()(),n(13,"div",12),C(14,Me,16,0),n(15,"button",13),c("click",function(){return e.saveDraft()}),s(16,"Save as Draft"),o(),n(17,"button",14),c("click",function(){return e.publishArticle()}),b(),n(18,"svg",5),u(19,"polyline",15),o(),O(),n(20,"span"),s(21),o()()()(),n(22,"div",16)(23,"main",17)(24,"div",18)(25,"input",19),c("ngModelChange",function(l){return e.onTitleChange(l)}),o()(),n(26,"div",20)(27,"div",21),s(28,"Featured Image"),o(),C(29,xe,4,6,"div",22)(30,Se,2,1),C(31,Ee,2,1,"div",23),o(),n(32,"div",24)(33,"div",21),s(34,"Article Body"),o(),u(35,"div",25),o()(),n(36,"aside",26)(37,"div",27)(38,"h3",28),s(39,"Article Info"),o(),n(40,"div",29)(41,"span",30),s(42,"Status:"),o(),n(43,"span",31),s(44),S(45,"uppercase"),o()(),C(46,ke,6,4,"div",29),C(47,Ie,6,4,"div",29),o(),n(48,"div",27)(49,"h3",28),s(50,"URL Slug"),o(),n(51,"input",32),c("ngModelChange",function(l){return e.onSlugChange(l)}),o(),n(52,"div",33)(53,"small"),s(54),o()()(),n(55,"div",27)(56,"h3",28),s(57,"Excerpt / Summary"),o(),n(58,"textarea",34),P("ngModelChange",function(l){return v(e.excerpt,l)||(e.excerpt=l),l}),c("ngModelChange",function(){return e.saveStatus="unsaved"}),o()(),n(59,"div",27)(60,"div",35)(61,"h3",28),s(62,"Category"),o(),n(63,"button",36),c("click",function(){return e.isAddCategoryModalVisible=!0}),s(64,"+ Add New"),o()(),n(65,"div",37),V(66,Te,4,2,"label",38,Ce),o()(),n(68,"div",27)(69,"h3",28),s(70,"Tags"),o(),n(71,"div",39),V(72,Be,5,1,"span",40,L),o(),n(74,"div",41)(75,"input",42),P("ngModelChange",function(l){return v(e.newTagInput,l)||(e.newTagInput=l),l}),c("keydown",function(l){return e.onTagInputKeyDown(l)}),o()()(),n(76,"div",27)(77,"h3",28),s(78,"Search Engine Optimization (SEO)"),o(),n(79,"div",43)(80,"label",44),s(81,"
1SEO Title"),o(),n(82,"input",45),P("ngModelChange",function(l){return v(e.seoTitle,l)||(e.seoTitle=l),l}),c("ngModelChange",function(){return e.saveStatus="unsaved"}),o()(),n(83,"div",43)(84,"label",46),s(85,"SEO Description"),o(),n(86,"textarea",47),P("ngModelChange",function(l){return v(e.seoDescription,l)||(e.seoDescription=l),l}),c("ngModelChange",function(){return e.saveStatus="unsaved"}),o()(),n(87,"div",43)(88,"label",48),s(89,"Keywords (comma separated)"),o(),n(90,"input",49),P("ngModelChange",function(l){return v(e.seoKeywords,l)||(e.seoKeywords=l),l}),c("ngModelChange",function(){return e.saveStatus="unsaved"}),o()()()()()(),n(91,"app-add-category-modal",50),P("visibleChange",function(l){return v(e.isAddCategoryModalVisible,l)||(e.isAddCategoryModalVisible=l),l}),c("categoryCreated",function(l){return e.onCategoryCreated(l)})("categoriesChanged",function(){return e.onCategoriesChanged()}),o(),n(92,"app-publishing-status-modal",51),P("visibleChange",function(l){return v(e.isPublishModalVisible,l)||(e.isPublishModalVisible=l),l}),c("openShare",function(){return e.openShareModal()})("retry",function(){return e.publishArticle()}),o(),n(93,"app-share-blog-modal",52),P("visibleChange",function(l){return v(e.isShareModalVisible,l)||(e.isShareModalVisible=l),l}),o()),i&2&&(d(10),h(e.saveStatus==="saving"?10:e.saveStatus==="saved"?11:12),d(4),h((e.article==null?null:e.article.status)==="published"?14:-1),d(),f("disabled",e.saveStatus==="saving"),d(2),f("disabled",e.saveStatus==="saving"||!e.title.trim()),d(4),x((e.article==null?null:e.article.status)==="published"?"Update & Publish":"Publish Article"),d(4),f("ngModel",e.title),d(4),h(e.featuredImage!=null&&e.featuredImage.url?29:30),d(2),h(e.imageUploadError?31:-1),d(12),A("badge-published",(e.article==null?null:e.article.status)==="published")("badge-draft",(e.article==null?null:e.article.status)==="draft"),d(),I(" ",q(45,29,(e.article==null?null:e.article.status)||"draft")," "),d(2),h(e.article!=null&&e.article.published_at?46:-1),d(),h(e.article!=null&&e.article.updated_at?47:-1),d(4),f("ngModel",e.slug),d(3),I("/blog/",e.slug||"your-slug"),d(4),M("ngModel",e.excerpt),d(8),z(e.availableCategories),d(6),z(e.tags),d(3),M("ngModel",e.newTagInput),d(7),M("ngModel",e.seoTitle),d(4),M("ngModel",e.seoDescription),d(4),M("ngModel",e.seoKeywords),d(),M("visible",e.isAddCategoryModalVisible),d(),M("visible",e.isPublishModalVisible),f("state",e.publishingState)("errorMessage",e.publishingErrorMessage)("article",e.article),d(),M("visible",e.isShareModalVisible),f("article",e.article))},dependencies:[J,oe,te,ne,ie,$,ee,me,pe,ue,Q,N],styles:[".blog-editor-page[_ngcontent-%COMP%]{min-height:100vh;display:flex;flex-direction:column;background:var(--background, #0f172a)}.editor-topbar[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;padding:14px 28px;background:var(--card-bg, #1e293b);border-bottom:1px solid var(--border-color, #334155);position:sticky;top:0;z-index:50}.editor-topbar[_ngcontent-%COMP%]   .topbar-left[_ngcontent-%COMP%]{display:flex;align-items:center;gap:20px}.editor-topbar[_ngcontent-%COMP%]   .topbar-left[_ngcontent-%COMP%]   .btn-back[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:6px;background:transparent;border:none;color:var(--muted-foreground, #94a3b8);font-size:13px;font-weight:500;cursor:pointer;padding:6px 10px;border-radius:6px;transition:all .15s}.editor-topbar[_ngcontent-%COMP%]   .topbar-left[_ngcontent-%COMP%]   .btn-back[_ngcontent-%COMP%]   svg[_ngcontent-%COMP%]{width:16px;height:16px}.editor-topbar[_ngcontent-%COMP%]   .topbar-left[_ngcontent-%COMP%]   .btn-back[_ngcontent-%COMP%]:hover{background:#ffffff0d;color:var(--foreground, #f8fafc)}.editor-topbar[_ngcontent-%COMP%]   .topbar-left[_ngcontent-%COMP%]   .save-status-indicator[_ngcontent-%COMP%]{display:flex;align-items:center}.editor-topbar[_ngcontent-%COMP%]   .topbar-left[_ngcontent-%COMP%]   .save-status-indicator[_ngcontent-%COMP%]   .status-badge[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:6px;font-size:12px;padding:4px 10px;border-radius:20px}
1.editor-topbar[_ngcontent-%COMP%]   .topbar-left[_ngcontent-%COMP%]   .save-status-indicator[_ngcontent-%COMP%]   .status-badge[_ngcontent-%COMP%]   svg[_ngcontent-%COMP%]{width:14px;height:14px}.editor-topbar[_ngcontent-%COMP%]   .topbar-left[_ngcontent-%COMP%]   .save-status-indicator[_ngcontent-%COMP%]   .status-badge.status-saving[_ngcontent-%COMP%]{color:#60a5fa;background:#3b82f61a}.editor-topbar[_ngcontent-%COMP%]   .topbar-left[_ngcontent-%COMP%]   .save-status-indicator[_ngcontent-%COMP%]   .status-badge.status-saved[_ngcontent-%COMP%]{color:#4ade80;background:#22c55e1a}.editor-topbar[_ngcontent-%COMP%]   .topbar-left[_ngcontent-%COMP%]   .save-status-indicator[_ngcontent-%COMP%]   .status-badge.status-unsaved[_ngcontent-%COMP%]{color:#facc15;background:#eab3081a}.editor-topbar[_ngcontent-%COMP%]   .topbar-actions[_ngcontent-%COMP%]{display:flex;align-items:center;gap:10px}.editor-topbar[_ngcontent-%COMP%]   .topbar-actions[_ngcontent-%COMP%]   .btn-publish[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:6px;padding:8px 18px}.editor-topbar[_ngcontent-%COMP%]   .topbar-actions[_ngcontent-%COMP%]   .btn-publish[_ngcontent-%COMP%]   svg[_ngcontent-%COMP%]{width:16px;height:16px}.editor-layout[_ngcontent-%COMP%]{display:flex;flex:1;max-width:1440px;width:100%;margin:0 auto}@media(max-width:992px){.editor-layout[_ngcontent-%COMP%]{flex-direction:column}}.editor-main-canvas[_ngcontent-%COMP%]{flex:1;padding:36px 48px;max-width:880px;margin:0 auto;width:100%}@media(max-width:768px){.editor-main-canvas[_ngcontent-%COMP%]{padding:20px 16px}}.editor-main-canvas[_ngcontent-%COMP%]   .title-input-container[_ngcontent-%COMP%]{margin-bottom:24px}.editor-main-canvas[_ngcontent-%COMP%]   .title-input-container[_ngcontent-%COMP%]   .article-title-input[_ngcontent-%COMP%]{width:100%;background:transparent;border:none;font-size:32px;font-weight:700;color:var(--foreground, #f8fafc);outline:none;padding:4px 0;line-height:1.3}.editor-main-canvas[_ngcontent-%COMP%]   .title-input-container[_ngcontent-%COMP%]   .article-title-input[_ngcontent-%COMP%]::placeholder{color:#94a3b866}.editor-main-canvas[_ngcontent-%COMP%]   .title-input-container[_ngcontent-%COMP%]   .article-title-input[_ngcontent-%COMP%]:focus{border-bottom:1px solid var(--primary, #3b82f6)}.editor-main-canvas[_ngcontent-%COMP%]   .section-label[_ngcontent-%COMP%]{display:block;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--muted-foreground, #94a3b8);margin-bottom:10px}.editor-main-canvas[_ngcontent-%COMP%]   .featured-image-section[_ngcontent-%COMP%]{margin-bottom:32px}.editor-main-canvas[_ngcontent-%COMP%]   .featured-image-section[_ngcontent-%COMP%]   .image-dropzone[_ngcontent-%COMP%]{border:2px dashed var(--border-color, #334155);border-radius:12px;padding:32px 20px;text-align:center;cursor:pointer;background:#1e293b4d;transition:all .2s}.editor-main-canvas[_ngcontent-%COMP%]   .featured-image-section[_ngcontent-%COMP%]   .image-dropzone[_ngcontent-%COMP%]:hover{border-color:var(--primary, #3b82f6);background:#3b82f60d}.editor-main-canvas[_ngcontent-%COMP%]   .featured-image-section[_ngcontent-%COMP%]   .image-dropzone[_ngcontent-%COMP%]   .dropzone-content[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;gap:8px}.editor-main-canvas[_ngcontent-%COMP%]   .featured-image-section[_ngcontent-%COMP%]   .image-dropzone[_ngcontent-%COMP%]   .dropzone-content[_ngcontent-%COMP%]   svg[_ngcontent-%COMP%]{width:36px;height:36px;color:var(--muted-foreground, #94a3b8)}.editor-main-canvas[_ngcontent-%COMP%]   .featured-image-section[_ngcontent-%COMP%]   .image-dropzone[_ngcontent-%COMP%]   .dropzone-content[_ngcontent-%COMP%]   .dropzone-text[_ngcontent-%COMP%]{font-size:14px;color:var(--foreground, #e2e8f0)}.editor-main-canvas[_ngcontent-%COMP%]   .featured-image-section[_ngcontent-%COMP%]   .image-dropzone[_ngcontent-%COMP%]   .dropzone-content[_ngcontent-%COMP%]   .dropzone-text[_ngcontent-%COMP%]   strong[_ngcontent-%COMP%]{color:var(--primary, #3b82f6)}.editor-main-canvas[_ngcontent-%COMP%]   .featured-image-section[_ngcontent-%COMP%]   .image-dropzone[_ngcontent-%COMP%]   .dropzone-content[_ngcontent-%COMP%]   .dropzone-hint[_ngcontent-%COMP%]{font-size:12px;color:var(--muted-foreground, #94a3b8)}
1.editor-main-canvas[_ngcontent-%COMP%]   .featured-image-section[_ngcontent-%COMP%]   .featured-image-uploading-card[_ngcontent-%COMP%]{border:2px dashed color-mix(in oklch,var(--primary, #3b82f6) 40%,var(--border-color, #334155));border-radius:12px;padding:32px 20px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;background:linear-gradient(135deg,#3b82f614,#1e293b59);animation:_ngcontent-%COMP%_fadeInUpload .25s ease-out}.editor-main-canvas[_ngcontent-%COMP%]   .featured-image-section[_ngcontent-%COMP%]   .featured-image-preview[_ngcontent-%COMP%]{position:relative;border-radius:12px;overflow:hidden;border:1px solid var(--border-color, #334155);transition:border-color .2s ease}.editor-main-canvas[_ngcontent-%COMP%]   .featured-image-section[_ngcontent-%COMP%]   .featured-image-preview.is-uploading[_ngcontent-%COMP%]{border-color:var(--primary, #3b82f6)}.editor-main-canvas[_ngcontent-%COMP%]   .featured-image-section[_ngcontent-%COMP%]   .featured-image-preview.is-uploading[_ngcontent-%COMP%]   img[_ngcontent-%COMP%]{filter:brightness(.65) saturate(.85)}.editor-main-canvas[_ngcontent-%COMP%]   .featured-image-section[_ngcontent-%COMP%]   .featured-image-preview[_ngcontent-%COMP%]   img[_ngcontent-%COMP%]{width:100%;max-height:400px;object-fit:cover;display:block;transition:filter .2s ease}.editor-main-canvas[_ngcontent-%COMP%]   .featured-image-section[_ngcontent-%COMP%]   .featured-image-preview[_ngcontent-%COMP%]   .featured-image-uploading-overlay[_ngcontent-%COMP%]{position:absolute;inset:0;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:#0f172ab3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:16px;text-align:center;animation:_ngcontent-%COMP%_fadeInUpload .2s ease-out;z-index:2}.editor-main-canvas[_ngcontent-%COMP%]   .featured-image-section[_ngcontent-%COMP%]   .featured-image-preview[_ngcontent-%COMP%]   .preview-overlay[_ngcontent-%COMP%]{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(0,0,0,.8),transparent);padding:12px 16px;display:flex;justify-content:space-between;align-items:center}.editor-main-canvas[_ngcontent-%COMP%]   .featured-image-section[_ngcontent-%COMP%]   .featured-image-preview[_ngcontent-%COMP%]   .preview-overlay[_ngcontent-%COMP%]   .img-dimensions[_ngcontent-%COMP%]{font-size:12px;color:#cbd5e1}.editor-main-canvas[_ngcontent-%COMP%]   .featured-image-section[_ngcontent-%COMP%]   .featured-image-preview[_ngcontent-%COMP%]   .preview-overlay[_ngcontent-%COMP%]   .btn-remove-img[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:6px;background:#ef4444cc;color:#fff;border:none;padding:6px 12px;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer}.editor-main-canvas[_ngcontent-%COMP%]   .featured-image-section[_ngcontent-%COMP%]   .featured-image-preview[_ngcontent-%COMP%]   .preview-overlay[_ngcontent-%COMP%]   .btn-remove-img[_ngcontent-%COMP%]   svg[_ngcontent-%COMP%]{width:14px;height:14px}.editor-main-canvas[_ngcontent-%COMP%]   .featured-image-section[_ngcontent-%COMP%]   .featured-image-preview[_ngcontent-%COMP%]   .preview-overlay[_ngcontent-%COMP%]   .btn-remove-img[_ngcontent-%COMP%]:hover{background:#ef4444}.editor-main-canvas[_ngcontent-%COMP%]   .featured-image-section[_ngcontent-%COMP%]   .image-error-alert[_ngcontent-%COMP%]{margin-top:8px;padding:8px 12px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#f87171;border-radius:6px;font-size:12px}.editor-main-canvas[_ngcontent-%COMP%]   .featured-image-section[_ngcontent-%COMP%]   .spinner-center[_ngcontent-%COMP%]{position:relative;width:44px;height:44px;display:grid;place-items:center}.editor-main-canvas[_ngcontent-%COMP%]   .featured-image-section[_ngcontent-%COMP%]   .spinner-center[_ngcontent-%COMP%]   .spinner-halo[_ngcontent-%COMP%]{position:absolute;inset:-6px;border-radius:50%;background:radial-gradient(circle,rgba(59,130,246,.3) 0%,transparent 72%);animation:_ngcontent-%COMP%_haloBreathe 2s ease-in-out infinite;pointer-events:none}.editor-main-canvas[_ngcontent-%COMP%]   .featured-image-section[_ngcontent-%COMP%]   .spinner-center[_ngcontent-%COMP%]   .ui-spinner[_ngcontent-%COMP%]{width:36px;height:36px;transform-origin:center;animation:_ngcontent-%COMP%_uiRotate .85s linear infinite}.editor-main-canvas[_ngcontent-%COMP%]   .featured-image-section[_ngcontent-%COMP%]   .spinner-center[_ngcontent-%COMP%]   .ui-spinner[_ngcontent-%COMP%]   .spinner-track[_ngcontent-%COMP%]{stroke:#3b82f633}.editor-main-canvas[_ngcontent-%COMP%]   .featured-image-section[_ngcontent-%COMP%]   .spinner-center[_ngcontent-%COMP%]   .ui-spinner[_ngcontent-%COMP%]   .spinner-head[_ngcontent-%COMP%]{stroke:var(--primary, #3b82f6);filter:drop-shadow(0 1px 4px rgba(59,130,246,.4))}.editor-main-canvas[_ngcontent-%COMP%]   .featured-image-section[_ngcontent-%COMP%]   .uploading-text-group[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;gap:2px}.editor-main-canvas[_ngcontent-%COMP%]   .featured-image-section[_ngcontent-%COMP%]   .uploading-text-group[_ngcontent-%COMP%]   .uploading-heading[_ngcontent-%COMP%]{font-size:13.5px;font-weight:600;color:var(--foreground, #e2e8f0)}.editor-main-canvas[_ngcontent-%COMP%]   .featured-image-section[_ngcontent-%COMP%]   .uploading-text-group[_ngcontent-%COMP%]   .uploading-caption[_ngcontent-%COMP%]{font-size:12px;color:var(--muted-foreground, #94a3b8)}
1@keyframes _ngcontent-%COMP%_uiRotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes _ngcontent-%COMP%_haloBreathe{0%,to{transform:scale(.92);opacity:.35}50%{transform:scale(1.15);opacity:.8}}@keyframes _ngcontent-%COMP%_fadeInUpload{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}@media(prefers-reduced-motion:reduce){.editor-main-canvas[_ngcontent-%COMP%]   .featured-image-section[_ngcontent-%COMP%]   .spinner-center[_ngcontent-%COMP%]   .ui-spinner[_ngcontent-%COMP%]{animation-duration:2.5s}.editor-main-canvas[_ngcontent-%COMP%]   .featured-image-section[_ngcontent-%COMP%]   .spinner-center[_ngcontent-%COMP%]   .spinner-halo[_ngcontent-%COMP%]{animation:none;opacity:.5}.editor-main-canvas[_ngcontent-%COMP%]   .featured-image-section[_ngcontent-%COMP%]   .featured-image-uploading-card[_ngcontent-%COMP%], .editor-main-canvas[_ngcontent-%COMP%]   .featured-image-section[_ngcontent-%COMP%]   .featured-image-preview[_ngcontent-%COMP%]   .featured-image-uploading-overlay[_ngcontent-%COMP%]{animation:none}}.editor-main-canvas[_ngcontent-%COMP%]   .editorjs-wrapper[_ngcontent-%COMP%]{margin-top:24px}.editor-main-canvas[_ngcontent-%COMP%]   .editorjs-wrapper[_ngcontent-%COMP%]   .villume-editorjs-canvas[_ngcontent-%COMP%]{min-height:400px;background:#1e293b33;border:1px solid var(--border-color, #334155);border-radius:12px;padding:24px 32px;color:var(--foreground, #f8fafc);font-size:16px;line-height:1.7}.editor-main-canvas[_ngcontent-%COMP%]   .editorjs-wrapper[_ngcontent-%COMP%]   .villume-editorjs-canvas[_ngcontent-%COMP%]   [_ngcontent-%COMP%]:focus{outline:none}.editor-main-canvas[_ngcontent-%COMP%]   .editorjs-wrapper[_ngcontent-%COMP%]   .villume-editorjs-canvas[_ngcontent-%COMP%]     .ce-block__content{max-width:100%;color:var(--foreground, #f8fafc)}.editor-main-canvas[_ngcontent-%COMP%]   .editorjs-wrapper[_ngcontent-%COMP%]   .villume-editorjs-canvas[_ngcontent-%COMP%]     .ce-block__content .ce-header{color:var(--foreground)}.editor-main-canvas[_ngcontent-%COMP%]   .editorjs-wrapper[_ngcontent-%COMP%]   .villume-editorjs-canvas[_ngcontent-%COMP%]     .ce-block__content .ce-header[data-placeholder]:empty:before, .editor-main-canvas[_ngcontent-%COMP%]   .editorjs-wrapper[_ngcontent-%COMP%]   .villume-editorjs-canvas[_ngcontent-%COMP%]     .ce-block__content .ce-header[data-placeholder][data-empty=true]:before{color:var(--muted-foreground)}.editor-main-canvas[_ngcontent-%COMP%]   .editorjs-wrapper[_ngcontent-%COMP%]   .villume-editorjs-canvas[_ngcontent-%COMP%]     .ce-toolbar__plus, .editor-main-canvas[_ngcontent-%COMP%]   .editorjs-wrapper[_ngcontent-%COMP%]   .villume-editorjs-canvas[_ngcontent-%COMP%]     .ce-toolbar__settings-btn{color:var(--foreground, #f8fafc);background:var(--card-bg, #1e293b)}.editor-main-canvas[_ngcontent-%COMP%]   .editorjs-wrapper[_ngcontent-%COMP%]   .villume-editorjs-canvas[_ngcontent-%COMP%]     .cdx-quote__text{color:#e2e8f0}.editor-main-canvas[_ngcontent-%COMP%]   .editorjs-wrapper[_ngcontent-%COMP%]   .villume-editorjs-canvas[_ngcontent-%COMP%]     .cdx-quote__caption{color:var(--muted-foreground, #94a3b8)}.editor-main-canvas[_ngcontent-%COMP%]   .editorjs-wrapper[_ngcontent-%COMP%]   .villume-editorjs-canvas[_ngcontent-%COMP%]     .image-tool .image-tool__image{border-radius:8px;overflow:hidden}.editor-main-canvas[_ngcontent-%COMP%]   .editorjs-wrapper[_ngcontent-%COMP%]   .villume-editorjs-canvas[_ngcontent-%COMP%]     .image-tool .image-tool__image img{max-width:100%;height:auto;display:block;margin:0 auto}.editor-main-canvas[_ngcontent-%COMP%]   .editorjs-wrapper[_ngcontent-%COMP%]   .villume-editorjs-canvas[_ngcontent-%COMP%]     .image-tool .cdx-input.image-tool__caption{color:var(--muted-foreground, #94a3b8);font-size:13px;text-align:center;margin-top:8px}.editor-main-canvas[_ngcontent-%COMP%]   .editorjs-wrapper[_ngcontent-%COMP%]   .villume-editorjs-canvas[_ngcontent-%COMP%]     .image-tool .cdx-input.image-tool__caption[contentEditable=true][data-placeholder]:empty:before{color:#94a3b866}.editor-main-canvas[_ngcontent-%COMP%]   .editorjs-wrapper[_ngcontent-%COMP%]   .villume-editorjs-canvas[_ngcontent-%COMP%]     .image-tool--withBorder .image-tool__image{border:1px solid var(--border-color, #334155)}.editor-main-canvas[_ngcontent-%COMP%]   .editorjs-wrapper[_ngcontent-%COMP%]   .villume-editorjs-canvas[_ngcontent-%COMP%]     .image-tool--withBackgroun
1d .image-tool__image{background:#0f172a99;padding:16px}.editor-sidebar[_ngcontent-%COMP%]{width:360px;background:var(--card-bg, #1e293b);border-left:1px solid var(--border-color, #334155);padding:24px 20px;display:flex;flex-direction:column;gap:20px}@media(max-width:992px){.editor-sidebar[_ngcontent-%COMP%]{width:100%;border-left:none;border-top:1px solid var(--border-color, #334155)}}.editor-sidebar[_ngcontent-%COMP%]   .sidebar-card[_ngcontent-%COMP%]{background:#0f172a99;border:1px solid var(--border-color, #334155);border-radius:10px;padding:16px}.editor-sidebar[_ngcontent-%COMP%]   .sidebar-card[_ngcontent-%COMP%]   .card-title[_ngcontent-%COMP%]{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--muted-foreground, #94a3b8);margin:0 0 12px}.editor-sidebar[_ngcontent-%COMP%]   .sidebar-card[_ngcontent-%COMP%]   .card-header-flex[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.editor-sidebar[_ngcontent-%COMP%]   .sidebar-card[_ngcontent-%COMP%]   .card-header-flex[_ngcontent-%COMP%]   .card-title[_ngcontent-%COMP%]{margin:0}.editor-sidebar[_ngcontent-%COMP%]   .sidebar-card[_ngcontent-%COMP%]   .card-header-flex[_ngcontent-%COMP%]   .btn-link-action[_ngcontent-%COMP%]{background:transparent;border:none;color:var(--primary, #3b82f6);font-size:12px;font-weight:500;cursor:pointer;padding:0}.editor-sidebar[_ngcontent-%COMP%]   .sidebar-card[_ngcontent-%COMP%]   .card-header-flex[_ngcontent-%COMP%]   .btn-link-action[_ngcontent-%COMP%]:hover{text-decoration:underline}.editor-sidebar[_ngcontent-%COMP%]   .sidebar-card[_ngcontent-%COMP%]   .info-row[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;font-size:13px;margin-bottom:8px}.editor-sidebar[_ngcontent-%COMP%]   .sidebar-card[_ngcontent-%COMP%]   .info-row[_ngcontent-%COMP%]:last-child{margin-bottom:0}.editor-sidebar[_ngcontent-%COMP%]   .sidebar-card[_ngcontent-%COMP%]   .info-row[_ngcontent-%COMP%]   .info-label[_ngcontent-%COMP%]{color:var(--muted-foreground, #94a3b8)}.editor-sidebar[_ngcontent-%COMP%]   .sidebar-card[_ngcontent-%COMP%]   .info-row[_ngcontent-%COMP%]   .info-value[_ngcontent-%COMP%]{color:var(--foreground, #f8fafc)}.editor-sidebar[_ngcontent-%COMP%]   .sidebar-card[_ngcontent-%COMP%]   .info-row[_ngcontent-%COMP%]   .info-badge[_ngcontent-%COMP%]{font-size:11px;font-weight:700;padding:2px 8px;border-radius:12px}.editor-sidebar[_ngcontent-%COMP%]   .sidebar-card[_ngcontent-%COMP%]   .info-row[_ngcontent-%COMP%]   .info-badge.badge-published[_ngcontent-%COMP%]{background:#22c55e26;color:#22c55e}.editor-sidebar[_ngcontent-%COMP%]   .sidebar-card[_ngcontent-%COMP%]   .info-row[_ngcontent-%COMP%]   .info-badge.badge-draft[_ngcontent-%COMP%]{background:#eab30826;color:#eab308}.editor-sidebar[_ngcontent-%COMP%]   .sidebar-card[_ngcontent-%COMP%]   .url-preview[_ngcontent-%COMP%]{margin-top:6px;font-size:11px;color:var(--muted-foreground, #94a3b8);font-family:monospace;word-break:break-all}.editor-sidebar[_ngcontent-%COMP%]   .sidebar-card[_ngcontent-%COMP%]   .categories-list[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:8px;max-height:180px;overflow-y:auto}.editor-sidebar[_ngcontent-%COMP%]   .sidebar-card[_ngcontent-%COMP%]   .categories-list[_ngcontent-%COMP%]   .category-radio-option[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:13px;color:var(--foreground, #e2e8f0)}.editor-sidebar[_ngcontent-%COMP%]   .sidebar-card[_ngcontent-%COMP%]   .categories-list[_ngcontent-%COMP%]   .category-radio-option[_ngcontent-%COMP%]   input[type=radio][_ngcontent-%COMP%]{accent-color:var(--primary, #3b82f6)}.editor-sidebar[_ngcontent-%COMP%]   .sidebar-card[_ngcontent-%COMP%]   .tags-chips-container[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.editor-sidebar[_ngcontent-%COMP%]   .sidebar-card[_ngcontent-%COMP%]   .tags-chips-container[_ngcontent-%COMP%]   .tag-chip[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;background:#3b82f626;color:#60a5fa;border-radius:6px;font-size:12px}.editor-sidebar[_ngcontent-%COMP%]   .sidebar-card[_ngcontent-%COMP%]   .tags-chips-container[_ngcontent-%COMP%]   .tag-chip[_ngcontent-%COMP%]   .tag-remove-btn[_ngcontent-%COMP%]{background:transparent;border:none;color:inherit;font-size:14px;cursor:pointer;line-height:1;padding:0}.editor-sidebar[_ngcontent-%COMP%]   .sidebar-card[_ngcontent-%COMP%]   .tags-chips-container[_ngcontent-%COMP%]   .tag-chip[_ngcontent-%COMP%]   .tag-remove-btn[_ngcontent-%COMP%]:hover{color:#ef4444}.editor-sidebar[_ngcontent-%COMP%]   .sidebar-card[_ngcontent-%COMP%]   .form-field[_ngcontent-%COMP%]{margin-bottom:12px}.editor-sidebar[_ngcontent-%COMP%]   .sidebar-card[_ngcontent-%COMP%]   .form-field[_ngcontent-%COMP%]:last-child{margin-bottom:0}.editor-sidebar[_ngcontent-%COMP%]   .sidebar-card[_ngcontent-%COMP%]   .form-field[_ngcontent-%COMP%]   .field-label[_ngcontent-%COMP%]{display:block;font-size:12px;font-weight:500;color:var(--foreground, #cbd5e1);margin-bottom:4px}.editor-sidebar[_ngcontent-%COMP%]   .sidebar-card[_ngcontent-%COMP%]   .form-control[_ngcontent-%COMP%]{width:100%;padding:8px 12px;background:var(--input-bg, #0f172a);border:1px solid var(--border-color, #334155);border-radius:6px;color:var(--foreground, #f8fafc);font-size:13px;outline:none;transition:border-color .15s}.editor-sidebar[_ngcontent-%COMP%]   .sidebar-card[_ngcontent-%COMP%]   .form-control[_ngcontent-%COMP%]:focus{border-color:var(--primary, #3b82f6)}"]})}}return a})();export{et as BlogEditorComponent};

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.