PageSourceSearch

https://www.stockezee.com/_next/static/chunks/pages/stock-screener/create-screener-db411f1537ca40dc.js

js stockezee.com collected 2026-10-04 14:21:39 UTC 40,611 bytes, 1 lines download raw bytes

1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[259],{84362:(e,t,s)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/stock-screener/create-screener",function(){return s(10672)}])},22444:(e,t,s)=>{"use strict";s.d(t,{A:()=>l});var r=s(74848),a=s(13368),n=s.n(a);let l=e=>{let{title:t,description:s,keywords:a,robots:l="index, follow",canonical:i,ogType:o="website",ogTitle:c,ogDescription:d,ogUrl:m,ogImage:x,ogImageType:u="image/png",ogImageWidth:p="1200",ogImageHeight:h="630",ogImageAlt:g,ogLocale:f="en_IN",twitterTitle:b,twitterDescription:y,twitterImage:k,dateModified:j,schemas:N=[],children:w}=e,v=c||t,C=d||s,S=x||"https://www.stockezee.com/images/logo.png",E=b||v,R=y||C,A=k||S;return(0,r.jsxs)(n(),{children:[t&&(0,r.jsx)("title",{children:t}),s&&(0,r.jsx)("meta",{name:"description",content:s}),a&&(0,r.jsx)("meta",{name:"keywords",content:a}),(0,r.jsx)("meta",{name:"robots",content:l}),(0,r.jsx)("meta",{name:"author",content:"StockeZee"}),(0,r.jsx)("meta",{name:"geo.region",content:"IN"}),(0,r.jsx)("meta",{name:"geo.placename",content:"India"}),(0,r.jsx)("meta",{name:"language",content:"English"}),i&&(0,r.jsx)("link",{rel:"canonical",href:i}),(0,r.jsx)("meta",{property:"og:type",content:o},"og-type"),v&&(0,r.jsx)("meta",{property:"og:title",content:v}),C&&(0,r.jsx)("meta",{property:"og:description",content:C}),m&&(0,r.jsx)("meta",{property:"og:url",content:m}),S&&(0,r.jsx)("meta",{property:"og:image",content:S}),S&&(0,r.jsx)("meta",{property:"og:image:type",content:u}),S&&(0,r.jsx)("meta",{property:"og:image:width",content:p}),S&&(0,r.jsx)("meta",{property:"og:image:height",content:h}),g&&(0,r.jsx)("meta",{property:"og:image:alt",content:g}),(0,r.jsx)("meta",{property:"og:locale",content:f}),(0,r.jsx)("meta",{name:"twitter:site",content:"@stockezee"},"twitter-site"),E&&(0,r.jsx)("meta",{name:"twitter:title",content:E}),R&&(0,r.jsx)("meta",{name:"twitter:description",content:R}),A&&(0,r.jsx)("meta",{name:"twitter:image",content:A}),j&&(0,r.jsx)("meta",{name:"article:modified_time",content:j}),j&&(0,r.jsx)("meta",{name:"article:publisher",content:"https://www.stockezee.com"}),N.filter(Boolean).map((e,t)=>(0,r.jsx)("script",{type:"application/ld+json",suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:JSON.stringify(e).replace(/</g,"\\u003c")}},"schema-".concat(t))),w]})}},58583:(e,t,s)=>{"use strict";s.d(t,{A:()=>o});var r=s(74848),a=s(86715),n=s(66188),l=s(96540),i=s(83914);let o=e=>{let{setIsSubscribePopup:t,showMessage:s="To access auto-refresh and premium features, please subscribe to our Prime plan."}=e,o=(0,a.useRouter)(),c=(0,l.useRef)(null),[d,m]=(0,l.useState)(!1);return(0,l.useEffect)(()=>{let e=e=>{c.current&&!c.current.contains(e.target)&&(m(!0),setTimeout(()=>m(!1),200))};return document.addEventListener("mousedown",e),()=>{document.removeEventListener("mousedown",e)}},[]),(0,l.useEffect)(()=>(document.body.style.overflow="hidden",()=>{document.body.style.overflow=""}),[]),(0,r.jsx)("div",{className:"fixed inset-0 flex items-center justify-center z-50",style:{backgroundColor:"rgba(0,0,0,0.45)"},children:(0,r.jsxs)("div",{ref:c,style:{boxShadow:"0 20px 60px -12px rgba(0,0,0,0.35)"},className:"relative transition-transform duration-200 animate-fadeIn bg-[var(--surface)] text-[var(--text-base)] border border-[var(--border-custom)] p-6 rounded-[20px] max-w-md w-full\n                 ".concat(d?"scale-[102%]":"scale-100"),children:[(0,r.jsx)("button",{className:"absolute top-2 right-4 text-[var(--text-muted)] hover:text-sk-gold hover:scale-110 transition-transform duration-200",onClick:()=>t(!1),children:(0,r.jsx)(i.g,{icon:n.Qbn,className:"font-bold"})}),(0,r.jsx)("h2",{className:"text-xl font-semibold mb-4",children:"Subscribe to Prime"}),(0,r.jsx)("p",{className:"mb-4 text-[var(--text-muted)]",children:s}),(0,r.jsx)("div",{className:"w-full flex items-center justify-center ",children:(0,r.jsx)("button",{className:"text-sm text-nowrap sm:mt-3 bg-gradient-to-r from-[var(--c-accent)] to-[var(--c-accent-2)] hover:from-[var(--c-accent-hover)] hover:to-[var(--c-accent-2)] h-[34px] w-20 py-[12px] px-[10px] text-primary-foreground font-semibold flex items-center justify-center rounded-[8px] focus:outline-none transition shine duration-300 ease-in-out hover:scale-105",style:{color:"var(--primary-foreground)"},onClick:()=>o.push("/primeplans"),children:"Go Prime"})})]})})}},10672:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>N});var r=s(74848),a=s(60678),n=s(77810),l=s(77528),i=s(96540),o=s(83914),c=s(66188),d=s(13902),m=s(82986),x=s(72806);let u=e=>{let{filterData:t,isLoaded:s,selectedWatchlistFilter:a,onWatchlistFilterChange:n}=e,[l,o]=(0,i.useState)([]),[c,u]=(0,i.useState)([]);(0,i.useEffect)(()=>
1{if(t){let e=(null==t?void 0:t.stocks)||[];if(e.length>0){let t=Object.keys(e[0]),s=t.map(e=>{let t=e.replace(/_/g," ").replace(/\b\w/g,e=>e.toUpperCase());return"market_cap"===e?"".concat(t," (Cr.)"):t});o(s),u(e.map(e=>{let r={};return t.forEach((t,a)=>{var n;r[s[a]]=null!==(n=e[t])&&void 0!==n?n:"-"}),r}))}else u([])}},[t]);let p=(null==t?void 0:t.filtered_count)||0,h=(e=>{if(!e)return"";let t=new Date(e.replace(" ","T"));return isNaN(t.getTime())?e:t.toLocaleString("en-IN",{day:"2-digit",month:"short",year:"numeric",hour:"numeric",minute:"2-digit",hour12:!0})})(null==t?void 0:t.data_date);return(0,r.jsxs)("div",{className:"w-full  text-sk-ink",children:[(0,r.jsxs)("div",{className:"flex flex-col sm:flex-row sm:items-center sm:justify-between px-4 py-2 gap-3",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("h1",{className:"text-sk-ink text-xl sm:text-2xl font-[500]",children:"Stock Screener"}),(0,r.jsx)("p",{className:"pb-0 mb-0 text-sm",children:"Your custom query result to screen stocks based on financial ratios and metrics"})]}),(0,r.jsxs)("div",{className:"flex flex-col sm:items-end gap-1",children:[(0,r.jsxs)("div",{className:"text-sm sm:text-base text-sk-ink-2",children:["Filtered: ",(0,r.jsxs)("span",{className:"text-primary font-semibold",children:[p," result"]})]}),h&&(0,r.jsxs)("div",{className:"text-xs text-sk-muted",children:["Data updated as on: ",(0,r.jsx)("span",{className:"text-sk-ink font-medium",children:h})]})]})]}),s?(null==c?void 0:c.length)>0||(null==l?void 0:l.length)>0?(0,r.jsx)(d.A,{resetPageKey:"".concat(a),columns:l.length>0?l:["Message"],rows:c,onColumnClick:(e,t)=>{"Symbol Name"===e&&window.open("/stocks/".concat(t.toLowerCase()),"_blank")},clickableColumns:["Symbol Name"],stickyColumn:"Symbol Name",sortableColumns:l,imageColumn:"Symbol Name",showWatchlistIcon:!0,showCheckbox:!0,checkboxColumn:"Symbol Name",watchlistColumn:"Symbol Name",showWatchlistFilter:!0,selectedWatchlistFilter:a,onWatchlistFilterChange:n,noDataMessage:a?"No matching stocks found in selected watchlist.":"No Data found"}):(0,r.jsx)(x.A,{message:"No Data found"}):(0,r.jsx)(m.A,{columns:4,rows:11,height:51,width:400})]})};var p=s(86715),h=s(32065),g=s(58583),f=s(29965),b=s.n(f);let y=["+","-","/","*",">","<","AND","OR"],k=e=>{let{FinancialData:t}=e,s=(0,p.useRouter)(),{isPrime:a,isLogin:d,openLoginPopup:m}=(0,h.A)(),[x,f]=(0,i.useState)(""),[k,j]=(0,i.useState)(""),[N,w]=(0,i.useState)([]),[v,C]=(0,i.useState)({top:0,left:0}),[S,E]=(0,i.useState)(-1),R=(0,i.useRef)(null),A=(0,i.useRef)([]),[q,L]=(0,i.useState)(""),[D,I]=(0,i.useState)(!1),[U,_]=(0,i.useState)(),[O,T]=(0,i.useState)(!1),F=(0,i.useRef)(null),M=(0,i.useRef)(null),[Q,P]=(0,i.useState)(!1),[W,z]=(0,i.useState)([]),[B,$]=(0,i.useState)(!0),[Y,H]=(0,i.useState)(null),[J,G]=(0,i.useState)(!1),[K,V]=(0,i.useState)(!1),[X,Z]=(0,i.useState)(!1),ee=(0,i.useRef)(null),[et,es]=(0,i.useState)(!1),[er,ea]=(0,i.useState)(!1),[en,el]=(0,i.useState)(!1),[ei,eo]=(0,i.useState)(!1),[ec,ed]=(0,i.useState)(null);(0,i.useEffect)(()=>{let e=()=>{U&&ee.current&&Z(ee.current.getBoundingClientRect().bottom<0)};return window.addEventListener("scroll",e),()=>window.removeEventListener("scroll",e)},[U]),(0,i.useEffect)(()=>{q&&""!==x.trim()&&L("")},[x]),(0,i.useEffect)(()=>{d&&a||es(!1)},[d,a]);let[em,ex]=(0,i.useState)("");(0,i.useEffect)(()=>{if(s.query.template&&s.query.query&&s.query.displayQuery){let e={title:s.query.template,backend_query:s.query.query,frontend_query:s.query.displayQuery};ex(decodeURIComponent(s.query.template).replace(/\+/g," ")),eo(!1),ej(e)}},[s.query.template,s.query.query,s.query.displayQuery]),(0,i.useEffect)(()=>{U&&x&&!Q&&ew(x)},[ec]);let eu=(0,i.useMemo)(()=>t||[],[t]),ep=e=>{let t=[">=","<=",">","<","=","+","-","*","/","AND","OR"],s=x.trim(),r=k.trim(),a="",n="";if(s){let l=s.toUpperCase(),i=r.toUpperCase(),o=-1,c=0,d=-1,m=0;for(let e of t){let t=l.lastIndexOf(e);t>o&&(o=t,c=e.length)}for(let e of t){let t=i.lastIndexOf(e);t>d&&(d=t,m=e.length)}-1!==o?(a=s.substring(0,o+c)+" "+e.key,n=r.substring(0,d+m)+" "+e.label):(a=e.key,n=e.label)}else a=e.key,n=e.label;f(a),j(n),w([]),E(-1),setTimeout(()=>{if(R.current){R.current.focus();let e=n.length;R.current.setSelectionRange(e,e)}},0)},eh=()=>{let e=R.current;if(!e)return;let{selectionEnd:t}=e,s=e.value.substring(0,t).split("\n");C({top:(s.length-1)*24+30,left:Math.min(9.6*s[s.length-1].length,300)+10}
1)},eg=e=>{0!==N.length&&("ArrowDown"===e.key?(e.preventDefault(),E(e=>{let t=e<N.length-1?e+1:0;return ef(t),t})):"ArrowUp"===e.key?(e.preventDefault(),E(e=>{let t=e>0?e-1:N.length-1;return ef(t),t})):("Enter"===e.key||"Tab"===e.key)&&S>=0?(e.preventDefault(),ep(N[S])):"Escape"===e.key&&(w([]),E(-1)))},ef=e=>{let t=A.current[e];t&&t.scrollIntoView({behavior:"smooth",block:"nearest"})};(0,i.useEffect)(()=>{let e=R.current;return e.addEventListener("keyup",eh),()=>e.removeEventListener("keyup",eh)},[]),(0,i.useEffect)(()=>{let e=e=>{!R.current||R.current.contains(e.target)||e.target.closest(".suggestion-box")||(w([]),E(-1))};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[]);let eb=e=>{let t=[">=","<=",">","<","=","+","-","*","/","AND","OR"],s=x.trim(),r=k.trim(),a="",n="";if(s){let l=s.toUpperCase(),i=r.toUpperCase(),o=-1,c=0,d=-1,m=0;for(let e of t){let t=l.lastIndexOf(e);t>o&&(o=t,c=e.length)}for(let e of t){let t=i.lastIndexOf(e);t>d&&(d=t,m=e.length)}-1!==o?(a=s.substring(0,o+c)+" "+e.key,n=r.substring(0,d+m)+" "+e.label):(a=e.key,n=e.label)}else a=e.key,n=e.label;f(a),j(n),w([]),E(-1),setTimeout(()=>{let e=R.current;if(e){e.focus();let t=n.length;e.setSelectionRange(t,t)}},0)},ey=()=>{if(!d){m();return}if(et){if(!k.trim()){L("Please enter a query first.");return}}else if(!eN())return;let e=[{query:k,rawQuery:x,timestamp:Date.now()},...W.filter(e=>e.query!==k)].slice(0,5);z(e),localStorage.setItem("recentScreenerQueries",JSON.stringify(e)),V(!1),eo(!0),ew(et?k:x)},ek=()=>{if(ee.current){let e=ee.current.getBoundingClientRect().top+window.scrollY;window.scrollTo({top:e+-70,behavior:"smooth"}),setTimeout(()=>{if(R.current){R.current.focus();let e=R.current.value.length;R.current.setSelectionRange(e,e)}},500)}},ej=e=>{j(e.frontend_query),f(e.backend_query),H(e.title),setTimeout(()=>H(null),2e3),setTimeout(()=>{R.current&&R.current.focus(),ew(e.backend_query)},100)};(0,i.useEffect)(()=>{(()=>{let e=localStorage.getItem("recentScreenerQueries");if(e)try{let t=JSON.parse(e);t&&t.length>0&&(el(!0),z(t),setTimeout(()=>{el(!1)},100))}catch(e){console.error("Failed to load recent queries",e)}})()},[]);let eN=()=>{var e,t,s,r,a,n;let l=k.trim();if(!l)return L("Please enter a query first."),!1;let i=l;[...eu].filter(e=>e&&e.label&&e.key).sort((e,t)=>t.label.length-e.label.length).forEach((e,t)=>{let s=RegExp(e.label.replace(/[.*+?^${}()|[\]\\\/]/g,"\\$&"),"gi");i=i.replace(s,"__FIELD_".concat(t,"__"))});let o=i.split(/\s+/),c=eu.map(e=>e&&e.label&&e.key&&e.label.toLowerCase()),d=[">","<","=",">=","<=","+","-","*","/","AND","OR","and","or"],m=!0,u=[];for(let e=0;e<o.length;e++){let t=o[e].replace(/%/g,""),s=t.toUpperCase();if(d.includes(s)){if(m)return L('Unexpected operator "'.concat(t,'" at position ').concat(e+1)),!1;m=!0}else isNaN(t)&&!c.some(t=>t===o[e].toLowerCase())&&u.push(o[e]),m=!1}let p=o[o.length-1].trim().toUpperCase();if(d.includes(p))return L("Query cannot end with an operator."),!1;for(let e=0;e<o.length-1;e++){let t=o[e].trim().toUpperCase(),s=o[e+1].trim().toUpperCase();if(("AND"===t||"OR"===t)&&("AND"===s||"OR"===s))return L("Cannot use consecutive logical operators."),!1;let r=[">","<","=",">=","<=","+","-","*","/"];if(r.includes(t)&&r.includes(s))return L('Invalid sequence: consecutive comparison operators "'.concat(t," ").concat(s,'" found.')),!1}let h=[">","<","=",">=","<=","+","-","*","/"],g=o.some(e=>h.includes(e.trim()));if(o.filter(e=>c.some(t=>t===e.toLowerCase())).length>1&&!g)return L('Unknown term: "'.concat(l,'"')),!1;if(!g)return c.some(e=>e.replace(/\s+/g,"").toLowerCase()===l.replace(/\s+/g,"").toLowerCase())?L('Please use a comparison operator with the metric. Example: "'.concat(l,' > 1000"')):L('Unknown term: "'.concat(l,'"')),!1;L("");for(let s=0;s<o.length;s++){let r=o[s].toUpperCase();if("AND"===r||"OR"===r){let a=(null===(e=o[s-1])||void 0===e?void 0:e.toUpperCase())||"",n=(null===(t=o[s+1])||void 0===t?void 0:t.toUpperCase())||"",l=c.some(e=>e===a.toLowerCase()),i=c.some(e=>e===n.toLowerCase());if(l&&i&&!o.includes(">")&&!o.includes("<")&&!o.includes("="))return L('Missing comparison operator between metrics near "'.concat(r,'"')),!1}}let f=o.some(e=>["+","-","*","/"].includes(e)),b=o.some(e=>["AND","OR"].includes(e.toUpperCase()));if(f&&b){let e=!1;for(let t=0;t<o.length;t++)if(["+","-","*","/"].includes(o[t])){for(let s=t-1;s>=0&&!["AND","OR"].includes(o[s].toUpperCase());s--)if([">","<","=",">
1=","<="].includes(o[s])){e=!0;break}if(!e){for(let s=t+1;s<o.length&&!["AND","OR"].includes(o[s].toUpperCase());s++)if([">","<","=",">=","<="].includes(o[s])){e=!0;break}}if(e)break}if(!e)return L("Invalid query: mixing arithmetic and logical operators without parentheses."),!1}for(let e=0;e<o.length-2;e++){let t=o[e].toUpperCase();o[e+1].toUpperCase();let s=o[e+2].toUpperCase(),r=[">","<",">=","<=","="].includes(t),a=[">","<",">=","<=","="].includes(s),n=!isNaN(o[e+1]);if(r&&n&&a)return L('Invalid chained comparison: "'.concat(o[e]," ").concat(o[e+1]," ").concat(o[e+2],'". Use AND/OR between conditions.')),!1}for(let e=0;e<o.length;e++){let t=o[e];if(isNaN(t))continue;let a=(null===(s=o[e-1])||void 0===s?void 0:s.toUpperCase())||"",n=(null===(r=o[e+1])||void 0===r?void 0:r.toUpperCase())||"",l=[">","<","=",">=","<=","+","-","*","/"].includes(a),i=[">","<","=",">=","<=","+","-","*","/"].includes(n),d=["AND","OR"].includes(n),m=[o[e+1],o[e+2]].filter(Boolean).join(" ").toLowerCase(),x=c.some(t=>{var s,r;return t.toLowerCase()===(null===(s=o[e+1])||void 0===s?void 0:s.toLowerCase())||t.replace(/\s+/g,"")===(null===(r=o[e+1])||void 0===r?void 0:r.toLowerCase())||t.toLowerCase()===m||t.replace(/\s+/g,"")===m.replace(/\s+/g,"")});if(!l&&!i)return L('Invalid query: Missing comparison operator near number "'.concat(t,'". Example: "Market Cap > ').concat(t,'" or "Sales < ').concat(t,'".')),!1;if(x&&!d)return L('Invalid query: Missing logical operator between conditions. Example: "'.concat(o[e-2]||"Metric"," < ").concat(t," AND ").concat(m,' > 5".')),!1}for(let e=0;e<o.length;e++){let t=o[e].toUpperCase();if("AND"===t||"OR"===t){let s=o.slice(e+1),r=s.some(e=>h.includes(e.trim()));if(s.some(e=>c.includes(e.toLowerCase()))&&!r)return L('Invalid condition after "'.concat(t,'". Missing comparison operator.')),!1}}for(let e=0;e<o.length;e++){let t=o[e].toUpperCase();if(c.includes(t.toLowerCase())){let s=(null===(a=o[e+1])||void 0===a?void 0:a.toUpperCase())||"",r=(null===(n=o[e-1])||void 0===n?void 0:n.toUpperCase())||"",l=h.includes(s),i=h.includes(r);if(!l&&!i&&!["+","-","*","/"].includes(s)&&!["+","-","*","/"].includes(r)){let s=o.slice(e).find(e=>["AND","OR"].includes(e.toUpperCase())),r=o.slice(0,e).reverse().find(e=>["AND","OR"].includes(e.toUpperCase()));if(s||r)return L('Invalid condition near "'.concat(t,'". Missing comparison operator.')),!1}}}let y=eu.map(e=>e&&e.label&&e.key&&e.key.toLowerCase()),j=eu.map(e=>e&&e.label&&e.key&&e.label.toLowerCase()),N=x.trim();for(let e of[">=","<=",">","<","=","+","-","*","/","AND","OR"])N=N.replace(RegExp("\\s*".concat(e.replace(/[+*?^${}()|[\]\\]/g,"\\$&"),"\\s*"),"gi"),"|");for(let e of N.split("|").map(e=>e.trim()).filter(e=>e&&isNaN(e))){let t=e.toLowerCase();if(!y.some(e=>e===t||e.replace(/_/g,"")===t.replace(/_/g,""))){k.trim();let s=e;for(let e of eu)if(e.key.toLowerCase()===t){s=e.label;break}let r=k.trim().split(/\s+/).filter(e=>{let t=e.toLowerCase();return!d.includes(t.toUpperCase())&&isNaN(e)&&!j.some(e=>e===t||e.includes(t))});return r.length>0&&(s=r[0]),L('Unknown word: "'.concat(s,'". Please select from available ratios.')),!1}}return!0},ew=async e=>{P(!0),T(!1);try{let t=(0,l._)({user_query:e},ec&&{watchlist_id:ec}),s=et?await (0,n.MC)(t):await (0,n.o1)(t);s.status&&(_(s.data),setTimeout(()=>{if(F.current){let e=F.current.getBoundingClientRect().top+window.scrollY;window.scrollTo({top:e+-100,behavior:"smooth"})}T(!0)},50))}catch(e){console.error("Query failed:",e),L("Failed to execute query. Please try again.")}finally{P(!1)}};return(0,r.jsxs)("div",{className:"px-4 sm:px-6 lg:px-10 pb-6 space-y-6 relative",children:[X&&U&&(0,r.jsxs)("button",{onClick:ek,className:"fixed bottom-6 right-20 z-50 flex items-center gap-2 px-4 py-3 bg-primary text-primary-foreground font-semibold rounded-full shadow-2xl hover:bg-green-400/90 transition-all duration-200 ",style:{animation:"bounce 2s infinite"},children:[(0,r.jsx)(o.g,{icon:c.MjD,className:"w-4 h-4"}),"Edit Query"]}),U&&(0,r.jsxs)("div",{ref:F,className:"bg-black border  rounded-xl ",children:[em&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("div",{className:"px-2 sm:px-4 pt-4 pb-2 flex items-center justify-between gap-3 flex-wrap",children:(0,r.jsxs)("h2",{className:"text-xl sm:text-2xl font-bold text-primary flex items-center gap-2",children:[(0,r.jsx)(o.g,{icon:c.rC2,className:"w-5 h-5"}),em]})}),(0,r.jsxs)("div",{className:"mx-2 sm:mx-4 mb-2 bg-blue-500/10 border border-blue-500/30 rounded-lg p-3 flex items-start gap-3",children:[(0,r.jsx)(o.g,{icon:c.iW_,className:"w-4 h-4 text-blue-500 mt-0.5 flex-shrink-0"}),(0,r.jsxs)("p",{className:"text-xs sm:text-sm text-sk-ink-2",children:["Like this screener? Click ",(0,r.jsx)("span",{className:"font-semibold text-primary",children:'"Save  Screener"'})," to add it to your collection. You can customize the name and make it private or public."]})]})]}),(0,r.jsxs)("div",{className:"flex md:flex-row flex-col items-start gap-3 justify-between p-2 sm:p-4 ",children:[(0,r.jsx)("div",{className:"flex sm:items-center items-start gap-3 flex-1 w-full",children:(0,r.jsxs)("div",{className:"flex-1 w-full",children:[(0,r.jsx)("div",{className:"flex items-center w-full justify-between mb-2",children:(0,r.jsxs)("div",{className:"text-xl sm:text-2xl font-bold text-sk-ink flex items-center gap-2",children:[(0,r.jsx)(o.g,{icon:c.SGM,className:"w-5 h-5 sm:w-6 sm:h-6 text-green-500"}),"Query Results"]})}),(0,r.jsx)("p",{className:"text-xs text-sk-ink-2 border p-2 rounded-lg max-w-md w-full bg-sk-card",children:k.length>80?k.substring(0,80)+"...":k})]})}),(0,r.jsxs)("div",{className:"flex items-center gap-2 flex-wrap",children:[(0,r.jsxs)("button",{onClick:()=>{let e=k.replace(/\n+/g," ").trim(),t=x.replace(/\n+/g," ").trim();s.push({pathname:"/stock-screener/save",query:{frontend_query:e,backend_query:t}})},className:"flex items-center gap-2 px-3 sm:px-4 py-2 bg-primary text-primary-foreground font-semibold rounded-lg hover:shadow-xl hover:shadow-
1primary/30 transition-all duration-300 hover:scale-105 text-xs sm:text-sm",children:[(0,r.jsx)(o.g,{icon:c.hSh,className:"w-3 h-3 sm:w-4 sm:h-4"}),(0,r.jsx)("span",{className:"hidden sm:inline",children:"Save Screener"}),(0,r.jsx)("span",{className:"sm:hidden",children:"Save"})]}),(0,r.jsxs)("button",{onClick:ek,className:"flex items-center gap-2 px-2 sm:px-3 py-2 text-xs sm:text-sm bg-sk-card border  rounded-md text-sk-ink hover:border-primary hover:text-primary transition-all",children:[(0,r.jsx)(o.g,{icon:c.MT7,className:"w-3 h-3 sm:w-4 sm:h-4"}),(0,r.jsx)("span",{className:"",children:"Edit"})]}),(0,r.jsxs)("button",{onClick:()=>V(!K),className:"flex items-center gap-2 px-2 sm:px-3 py-2 text-xs sm:text-sm bg-sk-card border  rounded-md text-sk-ink hover:border-primary transition-all",children:[(0,r.jsx)(o.g,{icon:K?c.Jt$:c.w2A,className:"w-3 h-3 sm:w-4 sm:h-4"}),(0,r.jsx)("span",{className:"hidden sm:inline",children:K?"Show":"Hide"})]})]})]}),(0,r.jsx)("div",{className:"transition-all duration-500 ".concat(K?"max-h-0 overflow-hidden translate-y-50":"translate-y-100 max-h-[5000px]"),children:(0,r.jsx)("div",{className:"bg-sk-card border border-sk-line shadow-sm rounded-xl mt-6",children:(0,r.jsx)(u,{filterData:U,isLoaded:O,selectedWatchlistFilter:ec,onWatchlistFilterChange:ed})})})]}),(0,r.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between flex-wrap gap-3",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("h1",{className:"text-2xl md:text-3xl text-sk-ink font-bold",children:"Custom Stock Screener"}),(0,r.jsx)("p",{className:"text-sm text-sk-ink-2 mt-1",children:"Build powerful queries to find stocks that match your criteria"})]}),(0,r.jsxs)("div",{className:"flex items-center gap-3",children:[(0,r.jsxs)("button",{onClick:()=>s.push("/stock-screener/community"),className:"flex items-center gap-2 px-3 py-2 text-sm bg-black border rounded-md text-sk-ink hover:border-primary transition-all",children:[(0,r.jsx)(o.g,{icon:c.gdJ,className:"w-4 h-4"}),"Community Screener"]}),(0,r.jsxs)("button",{onClick:()=>G(!J),className:"sm:flex hidden items-center gap-2 px-3 py-2 text-sm bg-black border rounded-md text-sk-ink hover:border-primary transition-all",children:[(0,r.jsx)(o.g,{icon:c.Lhe,className:"w-4 h-4"}),"Shortcuts"]})]})]}),J&&(0,r.jsx)("div",{className:"bg-black border  rounded-lg p-2 sm:p-4 text-sm",children:(0,r.jsxs)("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-3 text-sk-ink",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)("kbd",{className:"px-2 py-1 bg-border border  rounded text-xs",children:"↑↓"}),(0,r.jsx)("span",{className:"text-sk-ink-2",children:"Navigate suggestions"})]}),(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)("kbd",{className:"px-2 py-1 bg-border border  rounded text-xs",children:"Enter / Tab"}),(0,r.jsx)("span",{className:"text-sk-ink-2",children:"Select suggestion"})]}),(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)("kbd",{className:"px-2 py-1 bg-border border  rounded text-xs",children:"Esc"}),(0,r.jsx)("span",{className:"text-sk-ink-2",children:"Close suggestions"})]}),(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)("kbd",{className:"px-2 py-1 bg-border border  rounded text-xs",children:"Ctrl + Enter"}),(0,r.jsx)("span",{className:"text-sk-ink-2",children:"Run query"})]})]})})]}),d&&(0,r.jsx)(r.Fragment,{children:en?(0,r.jsx)("div",{className:"bg-black border  rounded-lg p-2 sm:p-4 h-[100px] flex items-center justify-center",children:(0,r.jsx)("div",{className:"loader"})}):W.length>0?(0,r.jsxs)("div",{className:"bg-black border  rounded-lg p-2 sm:p-4",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2 mb-3",children:[(0,r.jsx)(o.g,{icon:c.Int,className:"w-4 h-4 text-primary"}),(0,r.jsx)("h3",{className:"text-sm font-semibold text-sk-ink",children:"Recent Queries"})]}),(0,r.jsx)("div",{className:"flex flex-wrap gap-2",children:W.map((e,t)=>(0,r.jsx)("button",{onClick:()=>{j(e.query),f(e.rawQuery),setTimeout(()=>{R.current&&R.current.focus(),ew(e.rawQuery)},100)},className:"text-xs px-2 sm:px-3 py-2 bg-sk-card border  rounded-md text-sk-ink-2 hover:border-primary hover:text-sk-ink transition-all",children:e.query.length>50?e.query.substring(0,50)+"...":e.query},t))})]}):null}),(0,r.jsxs)("div",{ref:ee,className:"bg-black border  rounded-xl p-3 sm:p-6 scroll-mt-20",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between mb-4 flex-wrap gap-3",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)(o.g,{icon:c.MjD,className:"w-5 h-5 text-primary"}),(0,r.jsx)("h2",{className:"text-lg font-semibold text-sk-ink",children:"Build Your Query"})]}),(0,r.jsxs)("div",{className:"flex items-center gap-3",children:[(0,r.jsx)("button",{onClick:()=>{let e=!D;I(e),e&&setTimeout(()=>{if(M.current){let e=M.current.getBoundingClientRect().top+window.scrollY;window.scrollTo({top:e+-100,behavior:"smooth"})}},100)},className:"text-sm text-nowrap text-sk-ink border-b border-primary pb-1 hover:text-primary transition-all duration-200 flex items-center gap-2",children:D?(0,r.jsxs)(r.Fragment,{children:["Hide Ratios ",(0,r.jsx)(o.g,{icon:c.w2A,className:"w-3 h-3"})]}):(0,r.jsxs)(r.Fragment,{children:["Show All Ratios ",(0,r.jsx)(o.g,{icon:c.Jt$,className:"w-3 h-3"})]})}),(0,r.jsxs)("div",{className:"flex items-center gap-2 bg-sk-card border  rounded-lg px-2 sm:px-3 py-2",children:[(0,r.jsxs)("div",{className:"flex gap-2 items-center",children:[(0,r.jsx)(b(),{src:"/icons/ai_icon.svg",width:100,height:100,className:"w-[23px] h-[23px]",alt:"ai icon"}),(0,r.jsx)("span",{className:"text-[11px] sm:text-xs text-sk-ink-2",children:"AI Mode"})]}),(0,r.jsx)("button",{onClick:()=>
1{if(!et){if(!d){m();return}if(!a){ea(!0);return}}es(!et),w([]),L("")},className:"relative inline-flex h-5 sm:h-6 w-10 sm:w-11 items-center rounded-full transition-colors ".concat(et?"bg-primary":"bg-gray-400/50"),children:(0,r.jsx)("span",{className:"inline-block h-4 w-4 transform rounded-full bg-sk-card-2 dark:bg-white transition-transform ".concat(et?"translate-x-6":"translate-x-1")})})]})]})]}),q&&(0,r.jsxs)("div",{className:"flex items-start gap-3 bg-red-900/20 border border-red-500/50 rounded-lg p-3 mb-4",children:[(0,r.jsx)(o.g,{icon:c.iW_,className:"w-5 h-5 text-red-500 mt-0.5 flex-shrink-0"}),(0,r.jsx)("div",{className:"text-sm text-red-300",children:q})]}),(0,r.jsxs)("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-6 mt-4",children:[(0,r.jsxs)("div",{className:"flex flex-col gap-3 relative",children:[(0,r.jsxs)("label",{className:"text-sk-ink text-base font-medium flex items-center gap-2",children:["Your Query",!et&&(0,r.jsx)("span",{className:"text-xs text-sk-ink-2 font-normal",children:"(Start typing to see suggestions)"}),et&&(0,r.jsx)("span",{className:"text-xs text-yellow font-normal",children:"(Natural language - write freely)"})]}),(0,r.jsxs)("div",{className:"relative",children:[(0,r.jsxs)("div",{className:"relative",children:[(0,r.jsx)("textarea",{ref:R,value:k,onChange:e=>{var t,s;let r=e.target.value;if(r=r.replace(/\n+$/,""),E(-1),et){j(r),f(r);return}let a=(r=(r=r.replace(/\b(and)\b/gi,"AND")).replace(/\b(or)\b/gi,"OR")).trimEnd().split(/\s+/),n=null===(t=a[a.length-1])||void 0===t?void 0:t.toUpperCase();("AND"===n||"OR"===n)&&(r.endsWith("\n")||(r+="\n"),r=r.replace(/\n{2,}/g,"\n")),j(r);let l=r;[...eu].filter(e=>e&&e.label&&e.key).sort((e,t)=>t.label.length-e.label.length).forEach(e=>{let t=RegExp(e.label.replace(/[.*+?^${}()|[\]\\\/]/g,"\\$&"),"gi");l=l.replace(t,e.key)}),f(l);let i=null===(s=a[a.length-1])||void 0===s?void 0:s.toLowerCase(),o=[">","<","=",">=","<=","+","-","*","/","and","or"].includes(i),c=!isNaN(i)&&""!==i.trim();if(i&&i.length>=1&&!o&&!c){let e=eu.filter(e=>{if(!e||!e.label||!e.key)return!1;let t=e.label.toLowerCase(),s=e.key.toLowerCase();return t.includes(i)||s.includes(i)}).sort((e,t)=>{let s=e.label.toLowerCase(),r=t.label.toLowerCase(),a=e.key.toLowerCase(),n=t.key.toLowerCase(),l=s.startsWith(i),o=r.startsWith(i);if(l&&!o)return -1;if(!l&&o)return 1;let c=s.includes(i),d=r.includes(i);if(c&&!d)return -1;if(!c&&d)return 1;let m=a.includes(i),x=n.includes(i);return m&&!x?-1:!m&&x?1:0}).slice(0,10);w(e),E(e.length>0?0:-1),eh()}else w([]),E(-1)},onKeyDown:e=>{eg(e),(e.ctrlKey||e.metaKey)&&"Enter"===e.key&&(e.preventDefault(),ey())},required:!0,placeholder:et?"Example: op margin greater than 20 and roe more than 15":"Example: Market Cap > 500 AND PE (TTM) < 15",rows:8,className:"w-full bg-sk-card placeholder:text-sk-subtle text-sk-ink border-2  rounded-lg p-4 text-sm sm:text-base focus:outline-none focus:border-primary focus:shadow-lg focus:shadow-primary/20 resize-y min-h-[200px] h-[200px] font-mono transition-all"}),(0,r.jsxs)("div",{className:"absolute bottom-3 left-3 flex items-center gap-3 text-xs text-sk-ink-2",children:[(0,r.jsxs)("span",{children:[k.length," characters"]}),k&&!q&&(0,r.jsxs)("span",{className:"flex items-center gap-1 text-green-500",children:[(0,r.jsx)(o.g,{icon:c.SGM,className:"w-3 h-3"}),"Valid syntax"]})]})]}),(0,r.jsx)("button",{onClick:()=>{j(""),f(""),L("")},className:"absolute bottom-3 right-3 text-xs px-3 py-1.5 bg-sk-card border  rounded-md text-sk-ink-2 hover:text-sk-ink hover:border-primary transition-all",children:"Clear"}),!et&&N.length>0&&(0,r.jsxs)("div",{className:"suggestion-box absolute z-50 bg-sk-card border-2 border-primary rounded-lg text-sk-ink text-sm w-full max-w-md 
1shadow-2xl shadow-primary/30 overflow-hidden",style:{top:"".concat(v.top,"px"),left:"".concat(v.left,"px")},children:[(0,r.jsxs)("div",{className:"bg-sk-card px-3 py-2 border-b  flex items-center justify-between",children:[(0,r.jsxs)("span",{className:"text-xs text-sk-ink-2",children:["Suggestions (",N.length,")"]}),(0,r.jsx)("span",{className:"text-xs text-sk-ink-2",children:"↑↓ to navigate, Enter to select"})]}),(0,r.jsx)("div",{className:"max-h-64 overflow-y-auto",children:N.map((e,t)=>(0,r.jsxs)("div",{ref:e=>A.current[t]=e,onClick:()=>ep(e),className:"suggestion-item px-4 py-3 cursor-pointer transition-all duration-150 border-b border-[#222] last:border-b-0 ".concat(S===t?"bg-primary text-primary-foreground":"hover:bg-sk-card"),children:[(0,r.jsxs)("div",{className:"flex items-center justify-between mb-1",children:[(0,r.jsx)("span",{className:"font-semibold",children:e.label}),e.unit&&(0,r.jsx)("span",{className:"text-xs px-2 py-0.5 rounded ".concat(S===t?"bg-[#FFFFFF]/20":"bg-[#222]"),children:e.unit})]}),e.description&&(0,r.jsx)("div",{className:"text-xs mt-1 line-clamp-2 ".concat(S===t?"text-primary-foreground/80":"text-sk-muted"),children:e.description})]},t))})]})]}),(0,r.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-3 ",children:[(0,r.jsxs)("div",{className:"flex items-center gap-4 mb-2",children:[(0,r.jsx)("button",{onClick:ey,disabled:Q||!k.trim(),className:"flex text-sm sm:text-base items-center gap-2 p-2 sm:px-6 sm:py-3 bg-primary text-primary-foreground font-semibold rounded-lg hover:bg-green-600/90 disabled:opacity-50 disabled:cursor-not-allowed transition-all duration-200 shadow-lg shadow-primary/30 hover:shadow-primary/50",children:Q?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(o.g,{icon:c.z1G,className:"w-5 h-5 animate-spin"}),"Running Query..."]}):(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(o.g,{icon:c.fU5,className:"w-5 h-5"}),"Run Query"]})}),!B&&(0,r.jsxs)("button",{onClick:()=>$(!0),className:"flex text-sm sm:text-base items-center gap-2 px-2 sm:px-4 py-3 bg-black border  text-sk-ink rounded-lg hover:border-primary transition-all",children:[(0,r.jsx)(o.g,{icon:c.rC2,className:"w-4 h-4"}),"Show Templates"]})]}),(0,r.jsxs)("div",{className:"sm:block hidden text-xs text-sk-ink-2",children:["Press ",(0,r.jsx)("kbd",{className:"px-2 py-1 bg-[#222] border  rounded",children:"Ctrl + Enter"})," to run"]})]})]}),(0,r.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,r.jsx)("label",{className:"text-sk-ink text-base font-medium",children:"Query Examples & Tips"}),(0,r.jsxs)("div",{className:"bg-sk-card border-2  rounded-lg p-4 sm:p-5",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2 mb-3",children:[(0,r.jsx)(o.g,{icon:c.rC2,className:"w-4 h-4 text-primary"}),(0,r.jsx)("span",{className:"text-sm font-semibold text-sk-ink",children:"Example Query"})]}),et?(0,r.jsxs)("div",{className:"text-sm text-sk-ink space-y-1 bg-gray-200 dark:bg-black p-3 rounded border border-[#333]",children:[(0,r.jsxs)("div",{children:["op margin greater than 20 ",(0,r.jsx)("span",{className:"text-primary",children:"and"})]}),(0,r.jsxs)("div",{children:["pe ratio less than 15 ",(0,r.jsx)("span",{className:"text-primary",children:"and"})]}),(0,r.jsx)("div",{children:"roce more than 22"})]}):(0,r.jsxs)("div",{className:"font-mono text-sm text-sk-ink space-y-1 bg-gray-200 dark:bg-black p-3 rounded border border-[#333]",children:[(0,r.jsxs)("div",{children:["Market Cap > 500 ",(0,r.jsx)("span",{className:"text-primary",children:"AND"})]}),(0,r.jsxs)("div",{children:["PE (TTM) < 15 ",(0,r.jsx)("span",{className:"text-primary",children:"AND"})]}),(0,r.jsx)("div",{children:"ROCE % > 22"})]})]}),(0,r.jsxs)("div",{className:"bg-sk-card border-2  rounded-lg p-4",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2 mb-3",children:[(0,r.jsx)(o.g,{icon:c.iW_,className:"w-4 h-4 text-primary"}),(0,r.jsx)("span",{className:"text-sm font-semibold text-sk-ink",children:"Quick Tips"})]}),et?(0,r.jsxs)("ul",{className:"space-y-2 text-xs text-sk-ink-2",children:[(0,r.jsxs)("li",{className:"flex items-start gap-2",children:[(0,r.jsx)("span",{className:"text-primary mt-0.5",children:"•"}),(0,r.jsx)("span",{children:'Write queries in plain English (e.g., "greater than", "less than", "more than")'})]}),(0,r.jsxs)("li",{className:"flex items-start gap-2",children:[(0,r.jsx)("span",{className:"text-primary mt-0.5",children:"•"}),(0,r.jsx)("span",{children:'Use "and" or "or" to combine conditions'})]}),(0,r.jsxs)("li",{className:"flex items-start gap-2",children:[(0,r.jsx)("span",{className:"text-primary mt-0.5",children:"•"}),(0,r.jsx)("span",{children:"No strict format required - AI will understand your query"})]}),(0,r.jsxs)("li",{className:"flex items-start gap-2",children:[(0,r.jsx)("span",{className:"text-primary mt-0.5",children:"•"}),(0,r.jsx)("span",{children:'Example: "market cap greater than 500 and pe less than 15"'})]})]}):(0,r.jsxs)("ul",{className:"space-y-2 text-xs text-sk-ink-2",children:[(0,r.jsxs)("li",{className:"flex items-start gap-2",children:[(0,r.jsx)("span",{className:"text-primary mt-0.5",children:"•"}),(0,r.jsxs)("span",{children:["Use ",(0,r.jsx)("code",{className:"px-1 py-0.5 bg-black rounded text-primary",children:"AND"})," to combine multiple conditions"]})]}),(0,r.jsxs)("li",{className:"flex items-start gap-2",children:[(0,r.jsx)("span",{className:"text-primary mt-0.5",children:"•"}),(0,r.jsxs)("span",{children:["Use ",(0,r.jsx)("code",{className:"px-1 py-0.5 bg-black rounded text-primary",children:"OR"})," for alternative conditions"]})]}),(0,r.jsxs)("li",{className:"flex items-start gap-2",children:[(0,r.jsx)("span",{className:"text-primary mt-0.5",children:"•"}),(0,r.jsxs)("span",{children:["Operators: ",(0,r.jsx)("code",{className:"px-1 py-0.5 bg-black rounded",children:">"})," ",(0,r.jsx)("code",{className:"px-1 py-0.5 bg-black rounded",children:"<"})," ",(0,r.jsx)("code",{className:"px-1 py-0.5 bg-black rounded",children:"="})," ",(0,r.jsx)("code",{className:"px-1 py-0.5 bg-black rounded",children:"+"})," ",(0,r.jsx)("code",{className:"px-1 py-0.5 bg-black rounded",children:"-"})," ",(0,r.jsx)("code",{className:"px-1 py-0.5 bg-black rounded",children:"*"})," ",(0,r.jsx)("code",{className:"px-1 py-0.5 bg-black rounded",children:"/"})]})]}),(0,r.jsxs)("li",{className:"flex items-start gap-2",children:[(0,r.jsx)("span",{className:"text-primary mt-0.5",children:"•"}),(0,r.jsx)("span",{children:"Start typing a metric name to see autocomplete suggestions"})]})]})]})]})]})]}),(0,r.jsx)("div",{ref:M,className:"transition-all origin-top duration-500 ease-in-out overflow-hidden ".concat(D?"max-h-full scale-y-100 opacity-100":"max-h-0 scale-y-50 opacity-0"),children:(0,r.jsxs)("div",{className:"bg-black border  rounded-xl p-3 sm:p-6",children:[(0,r.jsxs)("div",{className:"flex flex-col gap-4 mb-8",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)("div",{className:"w-1 h-6 bg-primary rounded"}),(0,r.jsx)("h3",{className:"text-lg md:text-xl text-sk-ink font-semibold",children:"Operators"})]}),(0,r.jsx)("div",{className:"flex flex-wrap items-center gap-2",children:y.map(e=>(0,r.jsx)("button",{onClick:()=>{let t=R.current;if(!t)return;let s=t.selectionStart,r=t.selectionEnd,a=x.substring(0,s),n=x.substring(r),l=k.substring(0,s),i=k.substring(r),o=(l.endsWith(" ")?""
1:" ")+e+(i.startsWith(" ")," "),c=l+o+i;f(a+o+n),j(c),setTimeout(()=>{t.focus();let e=(l+o).length;t.setSelectionRange(e,e)},0)},className:"px-4 py-2 bg-sk-card text-sk-ink border-2  rounded-lg text-sm font-semibold cursor-pointer hover:border-primary hover:bg-primary hover:text-primary-foreground transition-all duration-200 shadow-sm hover:shadow-lg",children:e},e))})]}),(0,r.jsxs)("div",{className:"space-y-4",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)("div",{className:"w-1 h-6 bg-primary rounded"}),(0,r.jsx)("h3",{className:"text-lg md:text-xl text-sk-ink font-semibold",children:"Available Ratios"})]}),(0,r.jsxs)("span",{className:"text-sm text-sk-ink-2",children:[eu.length," metrics available"]})]}),(0,r.jsx)("div",{className:"grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-4 gap-3",children:eu.map(e=>(0,r.jsxs)("button",{onClick:()=>eb(e),className:"group p-4 text-left text-sk-ink border-2  rounded-lg bg-sk-card hover:border-primary hover:bg-sk-card cursor-pointer transition-all duration-200 shadow-sm hover:shadow-lg hover:shadow-primary/20",children:[(0,r.jsxs)("div",{className:"flex items-start justify-between mb-2",children:[(0,r.jsx)("span",{className:"text-sm font-semibold group-hover:text-primary transition-colors",children:e.label}),e.unit&&(0,r.jsx)("span",{className:"text-xs px-2 py-0.5 bg-[#222] text-sk-muted rounded ml-2 flex-shrink-0",children:e.unit})]}),e.description&&(0,r.jsx)("div",{className:"text-xs text-sk-muted line-clamp-2 group-hover:text-sk-ink-2 transition-colors",children:e.description})]},e.key))})]})]})}),er&&(0,r.jsx)(g.A,{setIsSubscribePopup:ea,showMessage:"To access Natural Language Query Mode, please subscribe to our Prime plan."})]})};var j=s(22444);s(25395);let N=()=>{let e=(0,p.useRouter)(),[t,s]=(0,i.useState)([]),l=a.y.createScreener,o=e.query.template?decodeURIComponent(e.query.template).replace(/\+/g," "):null,c=o?"".concat(o," - Stock Screener Results | Stockezee"):"Create Stock Screener Free - Build Your Own Filters | Stockezee",d=o?"View ".concat(o," screener results. Filter NSE stocks with real-time data. Save and customize this screener for your investment strategy."):"Build custom stock screeners with 100+ financial metrics. Create advanced filters using P/E ratio, ROE, debt-to-equity, market cap, and more. AI-powered natural language queries supported.",m=o?"".concat(o,", stock screener results, NSE stocks, ").concat(o," stocks, Indian stock market"):"custom stock screener, create stock filter, advanced stock screener, AI stock screener, natural language query, financial metrics, fundamental analysis, technical screener builder";(0,i.useEffect)(()=>{x()},[]);let x=async()=>{let e=await (0,n.X9)();e.status&&e.data&&s(e.data||[])};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(j.A,{title:c,description:d,keywords:m,robots:"index, follow",canonical:l.canonical,ogTitle:c,ogDescription:d,ogUrl:l.ogUrl,ogImage:l.ogImage,ogImageWidth:l.ogImageWidth,ogImageHeight:l.ogImageHeight,ogImageAlt:l.ogImageAlt,ogLocale:l.ogLocale,twitterTitle:c,twitterDescription:d,twitterImage:l.twitterImage,schemas:[{"@context":"https://schema.org","@graph":[{"@type":"WebPage","@id":"https://www.stockezee.com/stock-screener/create-screener#webpage",url:"https://www.stockezee.com/stock-screener/create-screener",name:c,description:d,inLanguage:"en-US",isPartOf:{"@id":"https://www.stockezee.com/#website"}},{"@type":"SoftwareApplication","@id":"https://www.stockezee.com/stock-screener/create-screener#softwareapplication",name:o||"Custom Stock Screener Builder",applicationCategory:"FinanceApplication",operatingSystem:"Web",description:d,offers:{"@type":"Offer",price:"0",priceCurrency:"INR"},featureList:["100+ Financial Metrics","AI-Powered Natural Language Queries","Real-time NSE Data","Save Custom Screeners","Advanced Filter Builder","Technical & Fundamental Analysis"]}]}]}),(0,r.jsx)(k,{FinancialData:t})]})}}},e=>{var t=t=>e(e.s=t);e.O(0,[7897,678,6446,1059,8617,2613,636,6593,8792],()=>t(84362)),_N_E=e.O()}]);

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.