PageSourceSearch

https://ai.shiftat.sa/chunk-4MYIK67K.js

js shiftat.sa collected 2026-09-24 13:29:57 UTC 13,253 bytes, 1 lines download raw bytes

1import{a as V}from"./chunk-ZZCV6GBK.js";import{a as N}from"./chunk-XOJJEAUH.js";import{c as I,f as W}from"./chunk-CRSGAVRN.js";import"./chunk-5S3SAWKO.js";import"./chunk-NKCE6GN4.js";import"./chunk-PPMQE2JW.js";import"./chunk-5LVN5BSJ.js";import{b as x,c as y}from"./chunk-B2KDXURM.js";import"./chunk-G6KU23WW.js";import{Cb as C,Eb as p,Gb as f,Ia as a,Sb as z,Ta as h,Ub as c,Vb as g,Wb as _,ca as E,ha as m,ia as u,ib as L,kb as w,lb as T,ob as R,pb as A,pc as l,qb as b,rb as i,sb as r,ta as M,tb as d,tc as P,uc as S}from"./chunk-WLTSAKSP.js";import{a as k,b as D}from"./chunk-IFGU66OU.js";function U(s,n){if(s&1){let e=C();i(0,"button",16),p("click",function(){m(e);let o=f();return u(o.closeOffer.emit(o.offer().id))}),c(1),r()}if(s&2){let e=f();a(),g(e.closeLabel())}}function q(s,n){if(s&1){let e=C();i(0,"button",17),p("click",function(){m(e);let o=f();return u(o.reactivate.emit(o.offer().id))}),c(1),r()}if(s&2){let e=f();a(),_(" ",e.reactivateLabel()," ")}}var H={active:{en:"Active",ar:"\u0646\u0634\u0637"},closed:{en:"Closed",ar:"\u0645\u063A\u0644\u0642"},deactivated:{en:"Deactivated",ar:"\u0645\u0639\u0637\u0651\u0644"}},J={active:"success",closed:"neutral",deactivated:"danger"},K={full_time:{en:"Full-time",ar:"\u062F\u0648\u0627\u0645 \u0643\u0627\u0645\u0644"},flexible:{en:"Flexible",ar:"\u0645\u0631\u0646"}},O=class s{offer=S.required();lang=S.required();closeOffer=P();reactivate=P();title=l(()=>this.lang()==="ar"?this.offer().titleAr:this.offer().titleEn);statusLabel=l(()=>H[this.offer().status][this.lang()]);statusTone=l(()=>J[this.offer().status]);contractLabel=l(()=>K[this.offer().contract][this.lang()]);locationLabel=l(()=>{let n=this.offer(),e=this.lang()==="ar"?n.locationsAr:n.locationsEn;if(e.length===0)return this.lang()==="ar"?"\u0639\u0646 \u0628\u064F\u0639\u062F":"Remote";let t=e.length-1;return t>0?`${e[0]} +${t}`:e[0]});salaryLabel=l(()=>{let n=this.offer(),e=v=>v.toLocaleString(this.lang()==="ar"?"ar-EG":"en-US"),t=this.lang()==="ar"?"\u0631\u064A\u0627\u0644 / \u0634\u0647\u0631":"SAR / mo";return`${n.minWage===n.maxWage?e(n.minWage):`${e(n.minWage)} \u2013 ${e(n.maxWage)}`} ${t}`});shortlistedLabel=l(()=>{let n=this.offer().shortlisted;return this.lang()==="ar"?`${n} \u0641\u064A \u0627\u0644\u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0645\u062E\u062A\u0635\u0631\u0629`:`${n} shortlisted`});closeLabel=l(()=>this.lang()==="ar"?"\u0625\u063A\u0644\u0627\u0642 \u0627\u0644\u0639\u0631\u0636":"Close offer");reactivateLabel=l(()=>this.lang()==="ar"?"\u0625\u0639\u0627\u062F\u0629 \u062A\u0641\u0639\u064A\u0644":"Reactivate");static \u0275fac=function(e){return new(e||s)};static \u0275cmp=h({type:s,selectors:[["app-offer-card"]],hostAttrs:[1,"offer-card"],hostVars:6,hostBindings:function(e,t){e&2&&z("offer-card--active",t.offer().status==="active")("offer-card--closed",t.offer().status==="closed")("offer-card--deactivated",t.offer().status==="deactivated")},inputs:{offer:[1,"offer"],lang:[1,"lang"]},outputs:{closeOffer:"closeOffer",reactivate:"reactivate"},decls:20,vars:8,consts:[[1,"oc-header"],[1,"oc-icon"],["fontSet","uicon-rr","fontIcon","fi-rr-briefcase"],[1,"oc-title"],["size","sm",1,"oc-status",3,"label","tone"],[1,"oc-chips"],["tone","neutral","size","sm",3,"label"],[1,"oc-loc-chip"],["fontSet","uicon-rr","fontIcon","fi-rr-marker"],[1,"oc-salary"],[1,"oc-divider"],[1,"oc-footer"],[1,"oc-shortlisted"],["fontSet","uicon-sr","fontIcon","fi-sr-star"],["mat-stroked-button","",1,"oc-action"],["mat-stroked-button","",1,"oc-action","oc-action--reactivate"],["mat-stroked-button","",1,"oc-action",3,"click"],["mat-stroked-button","",1,"oc-action","oc-action--reactivate",3,"click"]],template:function(e,t){if(e&1&&(i(0,"div",0)(1,"div",1),d(2,"mat-icon",2),r(),i(3,"h3",3),c(4),r()(),d(5,"app-status-pill",4),i(6,"div",5),d(7,"app-status-pill",6),i(8,"span",7),d(9,"mat-icon",8),c(10),r()(),i(11,"p",9),c(12),r(),d(13,"hr",10),i(14,"div",11)(15,"span",12),d(16,"mat-icon",13),c(17),r(),w(18,U,2,1,"button",14)(19,q,2,1,"button",15),r()),e&2){let o;a(4),g(t.title()),a(),b("label",t.statusLabel())("tone",t.statusTone()),a(2),b("label",t.contractLabel()),a(3),_(" ",t.locationLabel()," "),a(2),g(t.salaryLabel()),a(5),_(" ",t.shortlistedLabel()," "),a(),T((o=t.offer().status)==="active"?18:o==="closed"?19:-1)}},dependencies:[W,I,y,x,V],styles:['[_nghost-%COMP%]{position:relative;display:flex;flex-direction:column;background:var(--bg);border:1px solid var(--bdr);border-radius:var(--radius);padding:16px;padding-inline-start:24px;overflow:hidden;
1transition:box-shadow .2s ease,border-color .2s ease}[_nghost-%COMP%]:hover{box-shadow:var(--sh2)}[_nghost-%COMP%]:before{content:"";position:absolute;inset-block:0;inset-inline-start:0;inline-size:8px;background:var(--stripe, var(--bdr2))}.offer-card--active[_nghost-%COMP%]{--stripe: var(--success)}.offer-card--closed[_nghost-%COMP%]{--stripe: var(--brand-mid)}.offer-card--deactivated[_nghost-%COMP%]{--stripe: var(--danger)}.offer-card--closed[_nghost-%COMP%], .offer-card--deactivated[_nghost-%COMP%]{background:var(--bg-alt)}.offer-card--closed[_nghost-%COMP%]   .oc-title[_ngcontent-%COMP%], .offer-card--closed[_nghost-%COMP%]   .oc-salary[_ngcontent-%COMP%], .offer-card--deactivated[_nghost-%COMP%]   .oc-title[_ngcontent-%COMP%], .offer-card--deactivated[_nghost-%COMP%]   .oc-salary[_ngcontent-%COMP%]{color:var(--txt2)}.offer-card--closed[_nghost-%COMP%]   .oc-icon[_ngcontent-%COMP%], .offer-card--deactivated[_nghost-%COMP%]   .oc-icon[_ngcontent-%COMP%]{background:var(--brand-07);color:var(--muted)}.oc-header[_ngcontent-%COMP%]{display:flex;align-items:center;gap:10px;margin-block-end:10px}.oc-icon[_ngcontent-%COMP%]{display:flex;flex:0 0 auto;align-items:center;justify-content:center;inline-size:40px;block-size:40px;border-radius:10px;background:var(--brand2-12);color:var(--brand2);font-size:20px}.oc-title[_ngcontent-%COMP%]{min-inline-size:0;margin:0;font-size:var(--fs-body);font-weight:600;line-height:1.3;color:var(--txt)}.oc-status[_ngcontent-%COMP%]{align-self:flex-start;margin-block-end:10px}.oc-chips[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-block-end:10px}.oc-loc-chip[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:4px;padding-block:4px;padding-inline:10px;border-radius:var(--radius-full);background:var(--brand-07);font-size:var(--fs-label);font-weight:500;color:var(--txt2)}.oc-loc-chip[_ngcontent-%COMP%]   mat-icon[_ngcontent-%COMP%]{--uicon-size: 13px;--uicon-box: 13px;color:var(--muted)}.oc-salary[_ngcontent-%COMP%]{margin:0;margin-block-end:12px;font-size:var(--fs-body-sm);font-weight:500;color:var(--txt)}.oc-divider[_ngcontent-%COMP%]{margin:0;border:none;border-block-start:1px solid var(--bdr)}.oc-footer[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-block-start:12px}.oc-shortlisted[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:5px;font-size:var(--fs-caption);font-weight:500;line-height:1;color:var(--txt2)}.oc-shortlisted[_ngcontent-%COMP%]   mat-icon[_ngcontent-%COMP%]{--uicon-size: 14px;--uicon-box: 14px;display:inline-flex;align-items:center;justify-content:center;block-size:14px;line-height:1;color:var(--brand2)}.oc-action[_ngcontent-%COMP%]{flex:0 0 auto}'],changeDetection:0})};var G=(s,n)=>n.id;function Y(s,n){if(s&1){let e=C();i(0,"app-offer-card",10),p("closeOffer",function(o){m(e);let v=f();return u(v.onClose(o))})("reactivate",function(o){m(e);let v=f();return u(v.onReactivate(o))}),r()}if(s&2){let e=n.$implicit,t=f();b("offer",e)("lang",t.lang())}}var Q=[{id:"1",titleEn:"Retail Sales Associate",titleAr:"\u0623\u062E\u0635\u0627\u0626\u064A \u0645\u0628\u064A\u0639\u0627\u062A \u0627\u0644\u062A\u062C\u0632\u0626\u0629",contract:"full_time",minWage:4e3,maxWage:6e3,locationsEn:["Riyadh","Jeddah","Dammam"],locationsAr:["\u0627\u0644\u0631\u064A\u0627\u0636","\u062C\u062F\u0629","\u0627\u0644\u062F\u0645\u0627\u0645"],status:"active",shortlisted:4},{id:"2",titleEn:"Barista",titleAr:"\u0628\u0627\u0631\u064A\u0633\u062A\u0627",contract:"flexible",minWage:3500,maxWage:3500,locationsEn:["Jeddah"],locationsAr:["\u062C\u062F\u0629"],status:"active",shortlisted:1},{id:"3",titleEn:"Warehouse Operations Supervisor",titleAr:"\u0645\u0634\u0631\u0641 \u0639\u0645\u0644\u064A\u0627\u062A \u0627\u0644\u0645\u0633\u062A\u0648\u062F\u0639\u0627\u062A",contract:"full_time",minWage:7e3,maxWage:9500,locationsEn:["Riyadh","Al Khobar"],locationsAr:["\u0627\u0644\u0631\u064A\u0627\u0636","\u0627\u0644\u062E\u0628\u0631"],status:"active",shortlisted:12},{id:"4",titleEn:"Customer Support Specialist",titleAr:"\u0623\u062E\u0635\u0627\u0626\u064A \u062F\u0639\u0645 \u0627\u0644\u0639\u0645\u0644\u0627\u0621",contract:"flexible",minWage:4500,maxWage:5500,locationsEn:[],locationsAr:[],status:"closed",shortlisted:3},{id:"5",titleEn:"Delivery Driver",titleAr:"\u0633\u0627\u0626\u0642 \u062A\u0648\u0635\u064A\u0644",contract:"flexible",minWage:4e3,maxWage:4e3,locationsEn:["Mecca","Medina"],locationsAr:["\u0645\u0643\u0629","\u0627\u0644\u0645\u062F\u064A\u0646\u0629"],status:"closed",shortlisted:0},{id:"6",titleEn:"Store Manager",titleAr:"\u0645\u062F\u064A\u0631 \u0645\u062A\u062C\u0631",contract:"full_time",minWage:9e3,maxWage:12e3,locationsEn:["Riyadh"],locationsAr:["\u0627\u0644\u0631\u064A\u0627\u0636"],status:"deactivated",shortlisted:6}],X={en:{pageTitle:"Role / Offer Cards",pageSubtitle:"Card view of live job posts \u2014 title, contract, salary, locations, status and shortlist count, with a Close / Reactivate action."},ar:{pageTitle:"\u0628\u0637\u0627\u0642\u0627\u062A \u0627\u0644\u0623\u062F\u0648\u0627\u0631 / \u0627\u0644\u0639\u0631\u0648\u0636",pageSubtitle:"\u0639\u0631\u0636 \u0628\u0637\u0627\u0642\u0627\u062A \u0644\u0644\u0648\u0638\u0627\u0626\u0641 \u0627\u0644\u0645\u0646\u0634\u0648\u0631\u0629 \u2014 \u0627\u0644\u0639\u0646\u0648\u0627\u0646 \u0648\u0646\u0648\u0639 \u0627\u0644\u0639\u0642\u062F \u0648\u0627\u0644\u0631\u0627\u062A\u0628 \u0648\u0627\u0644\u0645\u0648\u0627\u0642\u0639 \u0648\u0627\u0644\u062D\u0627\u0644\u0629 \u0648\u0639\u062F\u062F \u0627\u0644\u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0645\u062E\u062A\u0635\u0631\u0629\u
1060C \u0645\u0639 \u0625\u062C\u0631\u0627\u0621 \u0625\u063A\u0644\u0627\u0642 / \u0625\u0639\u0627\u062F\u0629 \u062A\u0641\u0639\u064A\u0644."}},$=class s{themeService=E(N);lang=M("en");offers=M(Q);dir=l(()=>this.lang()==="ar"?"rtl":"ltr");copy=l(()=>X[this.lang()]);toggleLang(){this.lang.update(n=>n==="en"?"ar":"en")}onClose(n){this.setStatus(n,"closed")}onReactivate(n){this.setStatus(n,"active")}setStatus(n,e){this.offers.update(t=>t.map(o=>o.id===n?D(k({},o),{status:e}):o))}static \u0275fac=function(e){return new(e||s)};static \u0275cmp=h({type:s,selectors:[["app-role-offer-card-design"]],hostVars:2,hostBindings:function(e,t){e&2&&L("dir",t.dir())("lang",t.lang())},decls:14,vars:4,consts:[[1,"preview-controls"],[1,"ctl-btn",3,"click"],["aria-label","Toggle theme",1,"ctl-btn","icon",3,"click"],["fontSet","uicon-rr",1,"fi",3,"fontIcon"],[1,"page"],[1,"page-head"],[1,"page-title"],[1,"page-subtitle"],[1,"offer-grid"],[3,"offer","lang"],[3,"closeOffer","reactivate","offer","lang"]],template:function(e,t){e&1&&(i(0,"div",0)(1,"button",1),p("click",function(){return t.toggleLang()}),c(2),r(),i(3,"button",2),p("click",function(){return t.themeService.toggle()}),d(4,"mat-icon",3),r()(),i(5,"main",4)(6,"header",5)(7,"h1",6),c(8),r(),i(9,"p",7),c(10),r()(),i(11,"div",8),R(12,Y,1,2,"app-offer-card",9,G),r()()),e&2&&(a(2),g(t.lang()==="en"?"\u0627\u0644\u0639\u0631\u0628\u064A\u0629":"English"),a(2),b("fontIcon",t.themeService.theme()==="dark"?"fi-rr-sun":"fi-rr-moon"),a(4),g(t.copy().pageTitle),a(2),g(t.copy().pageSubtitle),a(2),A(t.offers()))},dependencies:[y,x,O],styles:["[_nghost-%COMP%]{display:block;min-block-size:100dvh;background:var(--bg-alt)}.preview-controls[_ngcontent-%COMP%]{position:fixed;inset-block-start:0;inset-inline:0;z-index:10;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.5rem;padding:.6rem;background:var(--bg);border-block-end:1px solid var(--bdr);box-shadow:var(--sh)}.ctl-btn[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.35rem;padding-block:.4rem;padding-inline:.85rem;border:1px solid var(--bdr2);border-radius:var(--radius);background:var(--bg);font-family:inherit;font-size:var(--fs-caption);font-weight:600;color:var(--txt);cursor:pointer;transition:background .15s ease}.ctl-btn[_ngcontent-%COMP%]:hover{background:var(--brand-07)}.ctl-btn.icon[_ngcontent-%COMP%]{padding:.4rem}.ctl-btn[_ngcontent-%COMP%]   .fi[_ngcontent-%COMP%]{--uicon-size: 16px;--uicon-box: 18px}.page[_ngcontent-%COMP%]{inline-size:min(100% - 32px,1080px);margin-inline:auto;margin-block:88px 48px}.page-head[_ngcontent-%COMP%]{margin-block-end:24px}.page-title[_ngcontent-%COMP%]{margin:0;font-size:var(--fs-h1);font-weight:700;color:var(--txt)}.page-subtitle[_ngcontent-%COMP%]{margin-block:6px 0;max-inline-size:70ch;font-size:var(--fs-body-sm);line-height:1.5;color:var(--txt2)}.offer-grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}"],changeDetection:0})};export{$ as RoleOfferCardDesignComponent};

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.