Plugin Directory

Changeset 3790891


Ignore:
Timestamp:
11/08/2026 11:10:57 AM (less than one hour ago)
Author:
mohammaadfarid
Message:

Update to version 4.1.0 from GitHub

Location:
ultimate-store-kit
Files:
28 added
6 deleted
70 edited
1 copied

Legend:

Unmodified
Added
Removed
  • ultimate-store-kit/tags/4.1.0/assets/admin/admin.js

    r3765614 r3790891  
    1 (()=>{"use strict";var e={7208(){const e=window.wp.element,t=window.wp.hooks,s=window.wp.i18n,r=window.ReactJSXRuntime,a=({checked:e,onChange:t,disabled:s})=>{const a={position:"absolute",inset:0,borderRadius:"9999px",background:e?"#00216A":"#cbd5e1",transition:"background 0.25s cubic-bezier(0.4, 0, 0.2, 1)",opacity:s?.45:1,pointerEvents:"none",willChange:"background"},l={position:"absolute",top:"50%",left:3,width:16,height:16,borderRadius:"9999px",background:"#fff",boxShadow:"0 1px 4px rgba(0,0,0,0.25)",transform:e?"translate(18px, -50%)":"translate(0px, -50%)",transition:"transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.2s ease",pointerEvents:"none",zIndex:1,willChange:"transform"},i={position:"relative",display:"inline-flex",alignItems:"center",width:40,height:22,cursor:s?"not-allowed":"pointer",flexShrink:0,userSelect:"none"};return(0,r.jsxs)("label",{style:i,children:[(0,r.jsx)("input",{type:"checkbox",checked:e,disabled:s,onChange:t,style:{position:"absolute",opacity:0,width:0,height:0,margin:0,padding:0,pointerEvents:"none"}}),(0,r.jsx)("span",{style:a}),(0,r.jsx)("span",{style:l})]})},l="inline-flex cursor-pointer items-center gap-1.5 rounded-md border border-transparent px-[18px] py-2 text-[13px] font-semibold leading-snug no-underline transition-all duration-200 disabled:cursor-not-allowed disabled:opacity-60",i=`${l} border-uks-brand bg-uks-brand text-white hover:bg-uks-brand-dark`,o=`${l} bg-gray-100 border-gray-200 text-gray-700 hover:bg-gray-200 hover:text-gray-800`,n=`${l} px-6 py-2.5 text-sm`,d=`${l} px-3 py-2.5 text-xs`,c=`${l} border-indigo-500 bg-indigo-500 text-white hover:opacity-90`,m=`${l} border-pink-500 bg-pink-500 text-white hover:opacity-90`,x=`${l} border-orange-500 bg-orange-500 text-white hover:opacity-90`,h=`${l} border-violet-500 bg-violet-500 text-white hover:opacity-90`,u=`${l} border-teal-500 bg-teal-500 text-white hover:opacity-90`,p="whitespace-nowrap text-xs font-semibold text-slate-600",b="min-w-[140px] cursor-pointer rounded-md border border-slate-200 bg-white px-3 py-1.5 text-[13px] text-slate-700 transition-all duration-200 hover:border-slate-300 focus:border-uks-brand focus:outline-none focus:ring-2 focus:ring-uks-brand",g="flex items-center justify-between border-b border-slate-100 py-2.5 last:border-b-0",f="flex items-center gap-2 text-[13px] font-medium text-slate-700",j="min-w-[120px] w-full block max-w-full rounded-md border border-slate-200 bg-white px-3 py-1.5 text-[13px] text-slate-700 focus:border-uks-brand focus:outline-none focus:ring-2 focus:ring-uks-brand disabled:cursor-not-allowed disabled:opacity-50",k="shrink-0 whitespace-nowrap rounded-md border border-solid border-gray-100 text-uks-brand px-2 py-0.5 text-[10px] font-bold shadow-sm bg-white",w={xmlns:"http://www.w3.org/2000/svg",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"},_=({className:e="block h-10 w-10 sm:h-12 sm:w-12"})=>(0,r.jsxs)("svg",{className:e,version:"1.1",id:"Layer_1",xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",x:"0px",y:"0px",viewBox:"0 0 500 500",style:{enableBackground:"new 0 0 500 500"},xmlSpace:"preserve",children:[(0,r.jsx)("style",{type:"text/css",dangerouslySetInnerHTML:{__html:"\n\t.st0{fill:#E30C1D;enable-background:new    ;}\n\t.st1{fill:#FFFFFF;}\n"}}),(0,r.jsx)("path",{className:"st0",d:"M473.6,496.4h-447c-12.6,0-22.9-10.2-22.9-22.9v-447c0-12.4,10.2-22.9,22.9-22.9h446.8 c12.6,0,22.9,10.2,22.9,22.9v446.8C496.3,486.3,486.2,496.4,473.6,496.4z"}),(0,r.jsxs)("g",{children:[(0,r.jsx)("path",{className:"st1",d:"M374.3,364l-21.1-157.6c-1.9-14.3-14.2-25-28.6-25c0,0-0.1,0-0.1,0l-143.7,0.7c-14.5,0.1-26.8,11-28.5,25.4 l-18.6,156.9c-1,8.2,1.6,16.4,7.1,22.5s13.3,9.7,21.5,9.7h183.5c8.3,0,16.2-3.6,21.7-9.8C372.9,380.6,375.4,372.3,374.3,364z M186.4,217.1l132.8-0.6l6.4,47.6c-34.1,4.4-61,23.4-78.4,55.7c-8.5,15.8-12.9,31.5-15,41.9h-63L186.4,217.1z M268.1,361.7 c1.9-7.3,5-16.3,9.9-25.3c12-22.3,29.2-34.7,52.2-37.6l8.4,62.9H268.1z"}),(0,r.jsx)("path",{className:"st1",d:"M212.4,169.2c8.8,0,16-7.2,16-16c0-13.9,11.3-25.3,25.3-25.3c13.9,0,25.3,11.3,25.3,25.3c0,8.8,7.2,16,16,16 s16-7.2,16-16c0-31.6-25.7-57.3-57.3-57.3c-31.6,0-57.3,25.7-57.3,57.3C196.4,162.1,203.6,169.2,212.4,169.2z"})]})]}),v=({className:e="h-4 w-4"})=>(0,r.jsxs)("svg",{...w,viewBox:"0 0 24 24",className:e,children:[(0,r.jsx)("path",{d:"M18 6 6 18"}),(0,r.jsx)("path",{d:"m6 6 12 12"})]}),y=({className:e="h-4 w-4"})=>(0,r.jsxs)("svg",{...w,viewBox:"0 0 24 24",className:e,children:[(0,r.jsx)("path",{d:"M4 6h16"}),(0,r.jsx)("path",{d:"M4 12h16"}),(0,r.jsx)("path",{d:"M4 18h16"})]}),N=({className:e="h-4 w-4 block"})=>(0,r.jsxs)("svg",{...w,width:24,height:24,viewBox:"0 0 24 24",className:e,children:[(0,r.jsx)("path",{d:"M3 11h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-5Zm0 0a9 9 0 1 1 18 0m0 0v5a2 2 0 0 1-2 2h-1a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h3Z"}),(0,r.jsx)("path",{d:"M21 16v2a4 4 0 0 1-4 4h-5"})]}),M=({className:e="w-5 h-5"})=>(0,r.jsxs)("svg",{...w,width:24,height:24,viewBox:"0 0 24 24",className:e,children:[(0,r.jsx)("path",{d:"M12 2v4"}),(0,r.jsx)("path",{d:"m16.2 7.8 2.9-2.9"}),(0,r.jsx)("path",{d:"M18 12h4"}),(0,r.jsx)("path",{d:"m16.2 16.2 2.9 2.9"}),(0,r.jsx)("path",{d:"M12 18v4"}),(0,r.jsx)("path",{d:"m4.9 19.1 2.9-2.9"}),(0,r.jsx)("path",{d:"M2 12h4"}),(0,r.jsx)("path",{d:"m4.9 4.9 2.9 2.9"})]}),P=({className:e="w-4 h-4 block"})=>(0,r.jsx)("svg",{...w,width:24,height:24,viewBox:"0 0 24 24",className:e,children:(0,r.jsx)("path",{d:"M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z"})}),C=({className:e="w-4 h-4 block"})=>(0,r.jsx)("svg",{className:e,viewBox:"0 0 24 24",fill:"currentColor",children:(0,r.jsx)("path",{d:"M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z"})}),S="h-5 w-5 block color-current",B=({className:e=S})=>(0,r.jsxs)("svg",{...w,width:24,height:24,viewBox:"0 0 24 24",className:e,children:[(0,r.jsx)("rect",{width:7,height:9,x:3,y:3,rx:1}),(0,r.jsx)("rect",{width:7,height:5,x:14,y:3,rx:1}),(0,r.jsx)("rect",{width:7,height:9,x:14,y:12,rx:1}),(0,r.jsx)("rect",{width:7,height:5,x:3,y:16,rx:1})]}),$=({className:e="h-4 w-4 block"})=>(0,r.jsxs)("svg",{...w,width:24,height:24,viewBox:"0 0 24 24",className:e,children:[(0,r.jsx)("path",{d:"m21 21-4.34-4.34"}),(0,r.jsx)("circle",{cx:11,cy:11,r:8})]}),A=({className:e="h-4 w-4"})=>(0,r.jsx)("svg",{...w,viewBox:"0 0 24 24",className:e,children:(0,r.jsx)("path",{d:"M20 6 9 17l-5-5"})}),E=({className:e="h-4 w-4 block"})=>(0,r.jsxs)("svg",{...w,width:24,height:24,viewBox:"0 0 24 24",className:e,children:[(0,r.jsx)("path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0"}),(0,r.jsx)("circle",{cx:12,cy:12,r:3})]}),L=({className:e="h-4 w-4 block"})=>(0,r.jsx)("svg",{...w,width:24,height:24,viewBox:"0 0 24 24",className:e,children:(0,r.jsx)("path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z"})}),z=({className:e="h-4 w-4 block"})=>(0,r.jsxs)("svg",{...w,width:24,height:24,viewBox:"0 0 24 24",className:e,children:[(0,r.jsx)("path",{d:"M6.3 20.3a2.4 2.4 0 0 0 3.4 0L12 18l-6-6-2.3 2.3a2.4 2.4 0 0 0 0 3.4Z"}),(0,r.jsx)("path",{d:"m2 22 3-3"}),(0,r.jsx)("path",{d:"M7.5 13.5 10 11"}),(0,r.jsx)("path",{d:"M10.5 16.5 13 14"}),(0,r.jsx)("path",{d:"m18 3-4 4h6l-4 4"})]}),O=({className:e="h-7 w-7",stroke:t="currentColor"})=>(0,r.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:28,height:28,viewBox:"0 0 24 24",fill:"none",stroke:t,strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round",className:e,children:[(0,r.jsx)("rect",{width:18,height:11,x:3,y:11,rx:2,ry:2}),(0,r.jsx)("path",{d:"M7 11V7a5 5 0 0 1 10 0v4"})]}),F=({className:e="h-5 w-5"})=>(0,r.jsxs)("svg",{...w,className:e,viewBox:"0 0 24 24",children:[(0,r.jsx)("path",{d:"M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2"}),(0,r.jsx)("circle",{cx:"12",cy:"7",r:"4"})]}),D=({className:e="h-5 w-5"})=>(0,r.jsxs)("svg",{...w,className:e,viewBox:"0 0 24 24",children:[(0,r.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,r.jsx)("path",{d:"M2 12h20M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z"})]}),T=({className:e="h-5 w-5"})=>(0,r.jsxs)("svg",{...w,className:e,viewBox:"0 0 24 24",children:[(0,r.jsx)("path",{d:"M4 19.5A2.5 2.5 0 0 1 6.5 17H20"}),(0,r.jsx)("path",{d:"M6.5 2H20v20H6.5A2.5 2.5 0 0 1 4 19.5v-15A2.5 2.5 0 0 1 6.5 2z"})]}),W=({className:e="h-5 w-5"})=>(0,r.jsx)("svg",{...w,className:e,viewBox:"0 0 24 24",children:(0,r.jsx)("path",{d:"M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.38 8.38 0 0 1-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.38 8.38 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8v.5z"})}),V=({className:e="h-5 w-5"})=>(0,r.jsxs)("svg",{...w,className:e,viewBox:"0 0 24 24",children:[(0,r.jsx)("polygon",{points:"23 7 16 12 23 17 23 7"}),(0,r.jsx)("rect",{x:"1",y:"5",width:"15",height:"14",rx:"2",ry:"2"})]}),H=({className:e="h-5 w-5"})=>(0,r.jsxs)("svg",{...w,className:e,viewBox:"0 0 24 24",children:[(0,r.jsx)("path",{d:"M12 20h9"}),(0,r.jsx)("path",{d:"M16.5 3.5a2.1 2.1 0 0 1 3 3L7 19l-4 1 1-4Z"})]}),U=({className:e="h-5 w-5"})=>(0,r.jsx)("svg",{...w,className:e,viewBox:"0 0 24 24",children:(0,r.jsx)("path",{d:"M18 2h-3a5 5 0 0 0-5 5v3H7v4h3v8h4v-8h3l1-4h-4V7a1 1 0 0 1 1-1h3z"})}),I={home:({className:e=S})=>(0,r.jsxs)("svg",{...w,width:24,height:24,viewBox:"0 0 24 24",className:e,children:[(0,r.jsx)("path",{d:"M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8"}),(0,r.jsx)("path",{d:"M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"})]}),grid:B,"currency-switcher":({className:e=S})=>(0,r.jsxs)("svg",{...w,width:24,height:24,viewBox:"0 0 24 24",className:e,children:[(0,r.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,r.jsx)("path",{d:"M16 8h-6a2 2 0 1 0 0 4h4a2 2 0 1 1 0 4H8"}),(0,r.jsx)("path",{d:"M12 18V6"})]}),"variation-swatches":({className:e=S})=>(0,r.jsxs)("svg",{...w,width:24,height:24,viewBox:"0 0 24 24",className:e,children:[(0,r.jsx)("path",{d:"M12 2.69l5.66 5.66a8 8 0 1 1-11.31 0z"}),(0,r.jsx)("circle",{cx:"7.5",cy:"10.5",r:".5",fill:"currentColor",stroke:"none"}),(0,r.jsx)("circle",{cx:"12",cy:"7.5",r:".5",fill:"currentColor",stroke:"none"}),(0,r.jsx)("circle",{cx:"16.5",cy:"10.5",r:".5",fill:"currentColor",stroke:"none"}),(0,r.jsx)("circle",{cx:"9",cy:"15.5",r:".5",fill:"currentColor",stroke:"none"})]}),settings:B,badge:({className:e=S})=>(0,r.jsxs)("svg",{...w,width:24,height:24,viewBox:"0 0 24 24",className:e,children:[(0,r.jsx)("path",{d:"M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z"}),(0,r.jsx)("circle",{cx:"16.5",cy:"7.5",r:".5",fill:"currentColor"})]}),star:P,woocommerce:({className:e=S})=>(0,r.jsxs)("svg",{...w,width:24,height:24,viewBox:"0 0 24 24",className:e,children:[(0,r.jsx)("path",{d:"M15 21v-5a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v5"}),(0,r.jsx)("path",{d:"M17.774 10.31a1.12 1.12 0 0 0-1.549 0 2.5 2.5 0 0 1-3.451 0 1.12 1.12 0 0 0-1.548 0 2.5 2.5 0 0 1-3.452 0 1.12 1.12 0 0 0-1.549 0 2.5 2.5 0 0 1-3.77-3.248l2.889-4.184A2 2 0 0 1 7 2h10a2 2 0 0 1 1.653.873l2.895 4.192a2.5 2.5 0 0 1-3.774 3.244"}),(0,r.jsx)("path",{d:"M4 10.95V19a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8.05"})]}),edd:({className:e=S})=>(0,r.jsxs)("svg",{...w,width:24,height:24,viewBox:"0 0 24 24",className:e,children:[(0,r.jsx)("path",{d:"M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"}),(0,r.jsx)("path",{d:"m7.5 4.21 4.5 2.6 4.5-2.6"}),(0,r.jsx)("path",{d:"M12 17.5V12"})]}),other:B,info:({className:e=S})=>(0,r.jsxs)("svg",{...w,width:24,height:24,viewBox:"0 0 24 24",className:e,children:[(0,r.jsx)("circle",{cx:12,cy:12,r:10}),(0,r.jsx)("path",{d:"M12 16v-4"}),(0,r.jsx)("path",{d:"M12 8h.01"})]}),"live-visitor-count":({className:e="h-5 w-5"})=>(0,r.jsxs)("svg",{...w,className:e,viewBox:"0 0 24 24",children:[(0,r.jsx)("path",{d:"M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"}),(0,r.jsx)("circle",{cx:"9",cy:"7",r:"4"}),(0,r.jsx)("path",{d:"M23 21v-2a4 4 0 0 0-3-3.87"}),(0,r.jsx)("path",{d:"M16 3.13a4 4 0 0 1 0 7.75"})]}),"sales-notification":({className:e="h-5 w-5"})=>(0,r.jsxs)("svg",{...w,className:e,viewBox:"0 0 24 24",children:[(0,r.jsx)("path",{d:"M18 8A6 6 0 0 0 6 8c0 7-3 9-3 9h18s-3-2-3-9"}),(0,r.jsx)("path",{d:"M13.73 21a2 2 0 0 1-3.46 0"})]}),"upsell-cross-sell":()=>(0,r.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round",className:"h-5 w-5 block color-current",children:[(0,r.jsx)("path",{d:"M6 2L3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4z"}),(0,r.jsx)("line",{x1:"3",y1:"6",x2:"21",y2:"6"}),(0,r.jsx)("path",{d:"M16 10a4 4 0 0 1-8 0"})]}),"flash-sale-countdown":({className:e=S})=>(0,r.jsx)("svg",{...w,width:24,height:24,viewBox:"0 0 24 24",className:e,children:(0,r.jsx)("polygon",{points:"13 2 3 14 12 14 11 22 21 10 12 10 13 2"})}),"back-order":({className:e=S})=>(0,r.jsxs)("svg",{...w,width:24,height:24,viewBox:"0 0 24 24",className:e,children:[(0,r.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,r.jsx)("polyline",{points:"12 6 12 12 16 14"})]}),"pre-order":({className:e=S})=>(0,r.jsxs)("svg",{...w,width:24,height:24,viewBox:"0 0 24 24",className:e,children:[(0,r.jsx)("rect",{x:"3",y:"4",width:"18",height:"18",rx:"2",ry:"2"}),(0,r.jsx)("line",{x1:"16",y1:"2",x2:"16",y2:"6"}),(0,r.jsx)("line",{x1:"8",y1:"2",x2:"8",y2:"6"}),(0,r.jsx)("line",{x1:"3",y1:"10",x2:"21",y2:"10"})]}),"multistep-checkout":({className:e=S})=>(0,r.jsxs)("svg",{...w,width:24,height:24,viewBox:"0 0 24 24",className:e,children:[(0,r.jsx)("path",{d:"M9 11l3 3L22 4"}),(0,r.jsx)("path",{d:"M21 12v7a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11"})]}),"vacation-mode":({className:e=S})=>(0,r.jsxs)("svg",{...w,width:24,height:24,viewBox:"0 0 24 24",className:e,children:[(0,r.jsx)("path",{d:"M14.5 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7.5L14.5 2z"}),(0,r.jsx)("polyline",{points:"14 2 14 8 20 8"}),(0,r.jsx)("path",{d:"M8 13h2"}),(0,r.jsx)("path",{d:"M8 17h2"}),(0,r.jsx)("path",{d:"M14 13h2"}),(0,r.jsx)("path",{d:"M14 17h2"})]}),"additional-checkout-fields":({className:e=S})=>(0,r.jsxs)("svg",{...w,width:24,height:24,viewBox:"0 0 24 24",className:e,children:[(0,r.jsx)("path",{d:"M16 6H3"}),(0,r.jsx)("path",{d:"M11 12H3"}),(0,r.jsx)("path",{d:"M16 18H3"}),(0,r.jsx)("path",{d:"M18 9v6"}),(0,r.jsx)("path",{d:"M21 12h-6"})]}),"buy-one-get-one":({className:e=S})=>(0,r.jsxs)("svg",{...w,width:24,height:24,viewBox:"0 0 24 24",className:e,children:[(0,r.jsx)("polyline",{points:"20 12 20 22 4 22 4 12"}),(0,r.jsx)("rect",{x:"2",y:"7",width:"20",height:"5"}),(0,r.jsx)("line",{x1:"12",y1:"22",x2:"12",y2:"7"}),(0,r.jsx)("path",{d:"M12 7H7.5a2.5 2.5 0 0 1 0-5C11 2 12 7 12 7z"}),(0,r.jsx)("path",{d:"M12 7h4.5a2.5 2.5 0 0 0 0-5C13 2 12 7 12 7z"})]})},R=({version:e,isPro:a,onToggleSidebar:l,isSidebarOpen:n,isDesktop:c})=>(0,r.jsx)("div",{className:"rounded-tl-lg rounded-tr-lg border-0 border-b border-solid border-b-gray-100 bg-white px-5 py-5",children:(0,r.jsxs)("div",{className:"flex flex-col gap-3 sm:flex-row sm:items-start sm:justify-between",children:[(0,r.jsxs)("div",{className:"flex min-w-0 items-center gap-3 sm:gap-4",children:[(0,r.jsx)("div",{className:"flex",children:(0,r.jsx)(_,{})}),(0,r.jsxs)("div",{className:"flex min-w-0 flex-col gap-1",children:[(0,r.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,r.jsx)("h1",{className:"m-0 text-lg font-bold leading-tight text-slate-800 sm:text-xl",children:(0,s.__)("Ultimate Store Kit","ultimate-store-kit")}),e?(0,r.jsxs)("span",{className:"rounded-full bg-gray-100 px-2 py-0.5 text-[10px] font-semibold uppercase tracking-wide text-gray-500",children:["v",e]}):null]}),(0,r.jsx)("p",{className:"m-0 max-w-xl text-[13px] leading-snug text-gray-500 sm:text-sm",children:(0,s.__)("Build high-converting WooCommerce stores with Elementor widgets & presets.","ultimate-store-kit")})]})]}),(0,r.jsxs)("div",{className:"flex shrink-0 flex-wrap items-center gap-2",children:[(0,r.jsx)("button",{type:"button",onClick:e=>l?.(e),className:"inline-flex h-9 w-9 cursor-pointer items-center justify-center rounded-md border border-slate-200 bg-white text-slate-700 transition-colors hover:border-uks-brand/40 hover:text-uks-brand",style:{display:c?"none":"inline-flex"},"aria-expanded":n?"true":"false","aria-label":(0,s.__)("Open menu","ultimate-store-kit"),children:n?(0,r.jsx)(v,{className:"h-4 w-4"}):(0,r.jsx)(y,{className:"h-4 w-4"})}),(()=>{const e=(0,t.applyFilters)("usk.admin.pages",{});return a||e.license?null:(0,r.jsxs)("a",{href:"https://storekit.pro/pricing/",target:"_blank",rel:"noopener noreferrer",className:`${d} ${i}`,children:[(0,r.jsx)(P,{className:"w-4 h-4 block"}),(0,s.__)("Get Pro","ultimate-store-kit")]})})(),(()=>{const e=(0,t.applyFilters)("usk.admin.headerExtra",null);return e?(0,r.jsx)(e,{}):null})(),(0,r.jsxs)("a",{href:"https://bdthemes.com/support/",target:"_blank",rel:"noopener noreferrer",className:`${d} ${o} flex items-center gap-2 hover:border-uks-brand/40 hover:bg-white hover:text-uks-brand`,children:[(0,r.jsx)("span",{className:"flex h-4 w-4 items-center justify-center rounded-full border border-current text-inherit","aria-hidden":"true",children:(0,r.jsx)(N,{className:"w-4 h-4 block"})}),(0,s.__)("Help & Support","ultimate-store-kit")]})]})]})}),G=({name:e})=>{const s=(0,t.applyFilters)("usk.admin.iconMap",I),a=s[e]||s.info;return(0,r.jsx)(a,{})},K=(e,t,s)=>{if("pro"===e.widget_type&&!s)return!1;const r=e.dependency;return!!(!r||r.isInstalled&&r.isActive)&&(null!=t?"on"===t:"on"===e.default)},q=[{id:"currency-switcher",label:(0,s.__)("Currency Switcher","ultimate-store-kit"),description:(0,s.__)("Enable to allow currency switching on your store.","ultimate-store-kit"),icon:"currency-switcher",badge:"Pro",proPlaceholder:!0},{id:"variation-swatches",label:(0,s.__)("Variation Swatches","ultimate-store-kit"),description:(0,s.__)("Enable to display product variation swatches on your store.","ultimate-store-kit"),icon:"variation-swatches",badge:"Pro",proPlaceholder:!0},{id:"live-visitor-count",label:(0,s.__)("Live Visitor Count","ultimate-store-kit"),description:(0,s.__)("Display live visitor count on product pages to create urgency.","ultimate-store-kit"),icon:"live-visitor-count",badge:"Pro",proPlaceholder:!0},{id:"sales-notification",label:(0,s.__)("Sales Notification","ultimate-store-kit"),description:(0,s.__)("Show recent purchases as a floating popup to build social proof.","ultimate-store-kit"),icon:"sales-notification",badge:"Pro",proPlaceholder:!0},{id:"upsell-cross-sell",label:(0,s.__)("Upsell & Cross-Sell","ultimate-store-kit"),description:(0,s.__)("Display upsell and cross-sell products on product pages to increase sales.","ultimate-store-kit"),icon:"upsell-cross-sell",badge:"Pro",proPlaceholder:!0},{id:"multistep-checkout",label:(0,s.__)("Multistep Checkout","ultimate-store-kit"),description:(0,s.__)("Split checkout into clear, guided steps to reduce abandoned carts.","ultimate-store-kit"),icon:"multistep-checkout",badge:"Pro",proPlaceholder:!0},{id:"vacation-mode",label:(0,s.__)("Vacation Mode","ultimate-store-kit"),description:(0,s.__)("Pause orders and show a store notice while you are away.","ultimate-store-kit"),icon:"vacation-mode",badge:"Pro",proPlaceholder:!0},{id:"additional-checkout-fields",label:(0,s.__)("Additional Checkout Fields","ultimate-store-kit"),description:(0,s.__)("Add custom fields to the checkout and show them in orders and emails.","ultimate-store-kit"),icon:"additional-checkout-fields",badge:"Pro",proPlaceholder:!0},{id:"buy-one-get-one",label:(0,s.__)("Buy One Get One","ultimate-store-kit"),description:(0,s.__)("Run BOGO deals, free gifts and quantity discounts.","ultimate-store-kit"),icon:"buy-one-get-one",badge:"Pro",proPlaceholder:!0}],X={"flash-sale-countdown":(0,s.__)("Show a countdown timer on products with a scheduled sale to create urgency.","ultimate-store-kit"),"back-order":(0,s.__)("Show backorder status, custom messages and a restock countdown on product pages.","ultimate-store-kit"),"pre-order":(0,s.__)("Take orders for products before they are released, with a release date countdown.","ultimate-store-kit")},Z=()=>(0,t.applyFilters)("usk.admin.placeholderModules",q),Y=[{id:"dashboard",group:(0,s.__)("Dashboard","ultimate-store-kit"),items:[{id:"welcome",label:(0,s.__)("Welcome","ultimate-store-kit"),icon:"home"}]},{id:"widgets",group:(0,s.__)("Widgets","ultimate-store-kit"),items:[{id:"woocommerce-widgets",label:(0,s.__)("WooCommerce","ultimate-store-kit"),icon:"woocommerce"},{id:"edd-widgets",label:(0,s.__)("EDD","ultimate-store-kit"),icon:"edd"},{id:"other-widgets",label:(0,s.__)("Others","ultimate-store-kit"),icon:"other"}]},{id:"modules",group:(0,s.__)("Modules","ultimate-store-kit"),items:[]},{id:"support",group:(0,s.__)("Support","ultimate-store-kit"),items:[{id:"get-pro",label:(0,s.__)("Get Pro","ultimate-store-kit"),icon:"star"},{id:"about",label:(0,s.__)("About & Info","ultimate-store-kit"),icon:"info"}]}],J=e=>{const t=`${(e.id||"").toLowerCase()} ${(e.label||"").toLowerCase()}`;return t.includes("currency")?"currency-switcher":t.includes("swatch")||t.includes("variation")?"variation-swatches":t.includes("visitor")||t.includes("live")?"live-visitor-count":t.includes("sales-notification")||t.includes("notification")?"sales-notification":t.includes("flash-sale")||t.includes("flash sale")?"flash-sale-countdown":t.includes("back-order")||t.includes("back order")||t.includes("backorder")?"back-order":t.includes("pre-order")||t.includes("pre order")||t.includes("preorder")?"pre-order":"grid"},Q=({activePage:e,onNavigate:a,isPro:l,isOpen:i,isDesktop:o,onClose:n,settingsGroups:d=[]})=>{const c=(({isPro:e,settingsGroups:s=[]})=>{const r=(0,t.applyFilters)("usk.admin.navItems",Y),a=Z(),l=a.map(e=>e.id);return r.map(t=>{if("modules"===t.id){const r=s.map(t=>({id:t.id,label:t.label,icon:J(t),...t.proOnly&&!e?{badge:"Pro",proPlaceholder:!0}:{}}));if(e)return{...t,items:[...r,...t.items]};const i=t.items.filter(e=>!l.includes(e.id));return{...t,items:[...r,...a,...i]}}return t})})({isPro:l,settingsGroups:d}),m=(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("nav",{className:"flex flex-col gap-6","aria-label":"Main",children:c.map(t=>(0,r.jsxs)("div",{children:[(0,r.jsx)("p",{className:"m-0 mb-3 px-2 text-xs font-semibold uppercase tracking-widest text-gray-400",children:t.group}),(0,r.jsx)("ul",{className:"m-0 list-none space-y-1 p-0",children:t.items.filter(e=>!(l&&"get-pro"===e.id)).map(t=>{const s=e===t.id;return(0,r.jsx)("li",{children:(0,r.jsxs)("button",{type:"button",onClick:()=>{a(t.id),window.location.hash=`#${t.id}`,n()},className:"flex w-full cursor-pointer items-center gap-3 rounded-lg border-0 px-3 py-3 text-left text-sm font-medium transition-colors "+(s?"bg-uks-brand text-white shadow-sm":"bg-transparent text-slate-700 hover:bg-gray-100 hover:text-slate-900"),children:[(0,r.jsx)(G,{name:t.icon}),(0,r.jsx)("span",{className:"flex-1",children:t.label}),t.badge&&(0,r.jsx)("span",{className:"shrink-0 whitespace-nowrap rounded-md border border-solid px-1.5 py-0.5 text-[9px] font-bold",style:{borderColor:s?"rgba(255,255,255,0.4)":"#e5e7eb",color:s?"#fff":"#6b7280",background:s?"rgba(255,255,255,0.18)":"transparent"},children:t.badge})]})},t.id)})})]},t.group))}),(0,r.jsxs)("div",{className:"mt-6 hidden rounded-xl bg-slate-100 p-4 lg:block lg:mt-8",children:[(0,r.jsxs)("span",{className:"mb-2.5 flex items-center gap-2 text-base font-bold text-slate-800",children:[(0,r.jsx)(M,{className:"w-5 h-5"}),(0,s.__)("Coming soon","ultimate-store-kit")]}),(0,r.jsx)("p",{className:"m-0 text-[12px] leading-relaxed text-slate-600",children:(0,s.__)("New items planned for upcoming updates:","ultimate-store-kit")}),(0,r.jsxs)("ul",{className:"mt-2.5 m-0 space-y-1.5 p-0 text-[12px] text-slate-600",children:[(0,r.jsxs)("li",{className:"flex items-start gap-2",children:[(0,r.jsx)("span",{className:"mt-1 h-1.5 w-1.5 rounded-full bg-uks-brand"}),(0,s.__)("7+ WooCommerce widgets","ultimate-store-kit")]}),(0,r.jsxs)("li",{className:"flex items-start gap-2",children:[(0,r.jsx)("span",{className:"mt-1 h-1.5 w-1.5 rounded-full bg-uks-brand"}),(0,s.__)("Template-based presets","ultimate-store-kit")]}),(0,r.jsxs)("li",{className:"flex items-start gap-2",children:[(0,r.jsx)("span",{className:"mt-1 h-1.5 w-1.5 rounded-full bg-uks-brand"}),(0,s.__)("Performance-focused improvements","ultimate-store-kit")]})]}),(0,r.jsx)("button",{onClick:()=>window.open("https://feedback.bdthemes.com/b/6vr2250l/feature-requests","_blank"),type:"button",className:"mt-3 inline-flex cursor-pointer items-center rounded-lg border border-uks-brand bg-white px-3 py-1.5 text-[12px] font-semibold text-uks-brand transition-colors hover:bg-uks-brand hover:text-white",children:(0,s.__)("See roadmap","ultimate-store-kit")})]})]});if(o)return(0,r.jsx)("div",{style:{display:"flex"},className:"w-64 shrink-0 flex-col justify-between self-stretch rounded-lg border border-solid border-gray-100 bg-white px-4 py-6 lg:sticky lg:top-[7.5rem]",children:m});const x=document.getElementById("wpadminbar")?.offsetHeight||0;return(0,r.jsxs)(r.Fragment,{children:[i&&(0,r.jsx)("div",{style:{display:"block",position:"fixed",top:x,left:0,right:0,bottom:0,zIndex:99998,backgroundColor:"rgba(0,0,0,0.3)"},onClick:n,"aria-hidden":"true"}),(0,r.jsxs)("div",{style:{position:"fixed",left:0,top:x,zIndex:99999,height:`calc(100vh - ${x}px)`,width:"86vw",maxWidth:"320px",display:"flex",flexDirection:"column",backgroundColor:"#fff",padding:"1rem",boxShadow:"4px 0 24px rgba(0,0,0,0.15)",transform:i?"translateX(0)":"translateX(-100%)",transition:"transform 300ms ease-out",pointerEvents:i?"auto":"none",overflowY:"auto"},children:[(0,r.jsxs)("div",{className:"mb-3 flex items-center justify-between",children:[(0,r.jsx)("p",{className:"m-0 text-sm font-bold text-slate-700",children:(0,s.__)("Navigation","ultimate-store-kit")}),(0,r.jsx)("button",{type:"button",onClick:n,className:"inline-flex h-8 w-8 cursor-pointer items-center justify-center rounded-md border border-slate-200 bg-white text-slate-500 hover:text-slate-700","aria-label":(0,s.__)("Close menu","ultimate-store-kit"),children:(0,r.jsx)(v,{className:"h-4 w-4"})})]}),m]})]})},ee=({title:e,data:t,color:a})=>{const l=t.total>0?Math.round(t.active/t.total*100):0;return(0,r.jsxs)("div",{className:"rounded-lg border border-solid border-gray-100 bg-white p-4",children:[(0,r.jsx)("h3",{className:"m-0 mb-3 text-[13px] font-semibold uppercase tracking-wide text-slate-500",children:e}),(0,r.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,r.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,r.jsxs)("div",{className:"flex gap-1.5 text-[13px] text-slate-700",children:[(0,r.jsx)("span",{className:"text-slate-400",children:(0,s.__)("Active:","ultimate-store-kit")}),(0,r.jsx)("strong",{children:t.active})]}),(0,r.jsxs)("div",{className:"flex gap-1.5 text-[13px] text-slate-700",children:[(0,r.jsx)("span",{className:"text-slate-400",children:(0,s.__)("Inactive:","ultimate-store-kit")}),(0,r.jsx)("strong",{children:t.inactive})]}),(0,r.jsxs)("div",{className:"flex gap-1.5 text-[13px] text-slate-700",children:[(0,r.jsx)("span",{className:"text-slate-400",children:(0,s.__)("Total:","ultimate-store-kit")}),(0,r.jsx)("strong",{children:t.total})]})]}),(0,r.jsx)("div",{className:"h-[60px] w-[60px] shrink-0",children:(0,r.jsxs)("svg",{viewBox:"0 0 36 36",className:"h-full w-full",children:[(0,r.jsx)("path",{d:"M18 2.0845 a 15.9155 15.9155 0 0 1 0 31.831 a 15.9155 15.9155 0 0 1 0 -31.831",fill:"none",stroke:"#e2e8f0",strokeWidth:"3"}),(0,r.jsx)("path",{d:"M18 2.0845 a 15.9155 15.9155 0 0 1 0 31.831 a 15.9155 15.9155 0 0 1 0 -31.831",fill:"none",stroke:a,strokeWidth:"3",strokeDasharray:`${l}, 100`}),(0,r.jsxs)("text",{x:"18",y:"20.5",className:"font-bold",textAnchor:"middle",fontSize:"8",fill:"#334155",children:[l,"%"]})]})})]})]})},te=({widgets:a,settings:l,isPro:n=!1})=>{const p=(0,e.useMemo)(()=>{const e=a.ultimate_store_kit_active_modules||[],t=a.ultimate_store_kit_edd_modules||[],s=a.ultimate_store_kit_general_modules||[],r=l.ultimate_store_kit_active_modules||{},i=l.ultimate_store_kit_edd_modules||{},o=l.ultimate_store_kit_general_modules||{},d=(e,t)=>{let s=0,r=0;return e.forEach(e=>{if("checkbox"!==e.type)return;if(!n&&"pro"===e.widget_type)return void r++;const a=t[e.name];K(e,a,n)?s++:r++}),{active:s,inactive:r,total:s+r}},c=d(e,r),m=d(t,i),x=d(s,o);return{all:{active:c.active+m.active+x.active,inactive:c.inactive+m.inactive+x.inactive,total:c.total+m.total+x.total},wc:c,edd:m,other:x}},[a,l,n]);return(0,r.jsxs)("div",{children:[(0,r.jsxs)("div",{className:"mb-4 grid grid-cols-1 gap-4 sm:grid-cols-2 xl:grid-cols-4",children:[(0,r.jsx)(ee,{title:(0,s.__)("All Widgets","ultimate-store-kit"),data:p.all,color:"#f59e0b"}),(0,r.jsx)(ee,{title:(0,s.__)("WooCommerce","ultimate-store-kit"),data:p.wc,color:"#ef4444"}),(0,r.jsx)(ee,{title:(0,s.__)("EDD","ultimate-store-kit"),data:p.edd,color:"#10b981"}),(0,r.jsx)(ee,{title:(0,s.__)("Other","ultimate-store-kit"),data:p.other,color:"#3b82f6"})]}),(()=>{const e=(0,t.applyFilters)("usk.admin.welcomeExtra",null);return e?(0,r.jsx)(e,{}):null})(),(0,r.jsxs)("div",{className:"mb-4 grid grid-cols-1 gap-4 sm:grid-cols-2",children:[(0,r.jsxs)("div",{className:"rounded-lg border border-solid border-gray-100 bg-white p-5",children:[(0,r.jsx)("h3",{className:"m-0 mb-2 text-base font-bold text-slate-800",children:(0,s.__)("Support And Feedback","ultimate-store-kit")}),(0,r.jsxs)("p",{className:"my-2 text-[13px] leading-relaxed text-slate-500",children:[(0,s.__)("Feeling like to consult with an expert? Take live Chat support immediately from","ultimate-store-kit")," ",(0,r.jsx)("a",{href:"https://storekit.pro/",target:"_blank",rel:"noopener noreferrer",className:"font-semibold text-uks-brand hover:underline",children:"UltimateStoreKit"}),"."," ",(0,s.__)("We are always ready to help you 24/7.","ultimate-store-kit")]}),(0,r.jsx)("p",{className:"my-2 text-[13px] leading-relaxed text-slate-500",children:(0,r.jsx)("strong",{children:(0,s.__)("Or if you're facing technical issues with our plugin, then please create a support ticket","ultimate-store-kit")})}),(0,r.jsxs)("div",{className:"mt-3 flex flex-wrap gap-2",children:[(0,r.jsx)("a",{className:i,target:"_blank",rel:"noopener noreferrer",href:"https://bdthemes.com/knowledge-base/ultimate-store-kit/",children:(0,s.__)("Knowledge Base","ultimate-store-kit")}),(0,r.jsx)("a",{className:o,target:"_blank",rel:"noopener noreferrer",href:"https://bdthemes.com/support/",children:(0,s.__)("Get Support","ultimate-store-kit")})]})]}),(0,r.jsxs)("div",{className:"rounded-lg border border-solid border-gray-100 bg-white p-5",children:[(0,r.jsx)("h3",{className:"m-0 mb-2 text-base font-bold text-slate-800",children:(0,s.__)("System Requirement","ultimate-store-kit")}),(0,r.jsx)("p",{className:"mb-3 text-[13px] leading-relaxed text-slate-500",children:(0,s.__)("Make sure your server meets the minimum requirements for optimal performance.","ultimate-store-kit")}),(0,r.jsxs)("div",{children:[(0,r.jsxs)("div",{className:"flex items-center justify-between border-b border-slate-100 py-2 text-[13px] text-slate-700 last:border-b-0",children:[(0,r.jsx)("span",{children:(0,s.__)("PHP Version","ultimate-store-kit")}),(0,r.jsx)("span",{className:"rounded-lg bg-emerald-100 px-2.5 py-0.5 text-[11px] font-semibold text-emerald-800",children:(0,s.__)("OK","ultimate-store-kit")})]}),(0,r.jsxs)("div",{className:"flex items-center justify-between border-b border-slate-100 py-2 text-[13px] text-slate-700 last:border-b-0",children:[(0,r.jsx)("span",{children:(0,s.__)("Memory Limit","ultimate-store-kit")}),(0,r.jsx)("span",{className:"rounded-lg bg-emerald-100 px-2.5 py-0.5 text-[11px] font-semibold text-emerald-800",children:(0,s.__)("OK","ultimate-store-kit")})]}),(0,r.jsxs)("div",{className:"flex items-center justify-between border-b border-slate-100 py-2 text-[13px] text-slate-700 last:border-b-0",children:[(0,r.jsx)("span",{children:(0,s.__)("Max Execution Time","ultimate-store-kit")}),(0,r.jsx)("span",{className:"rounded-lg bg-emerald-100 px-2.5 py-0.5 text-[11px] font-semibold text-emerald-800",children:(0,s.__)("OK","ultimate-store-kit")})]})]})]})]}),(0,r.jsxs)("div",{className:"grid grid-cols-1 gap-4 sm:grid-cols-2",children:[(0,r.jsxs)("div",{className:"rounded-lg border border-solid border-gray-100 bg-white p-5",children:[(0,r.jsx)("h3",{className:"m-0 mb-2 text-base font-bold text-slate-800",children:(0,s.__)("Feedback","ultimate-store-kit")}),(0,r.jsx)("p",{className:"my-2 text-[13px] leading-relaxed text-slate-500",children:(0,s.__)("We are always looking for feedback from our users. If you have any suggestions or feedback, please let us know.","ultimate-store-kit")}),(0,r.jsx)("div",{className:"mt-3 flex flex-wrap gap-2",children:(0,r.jsx)("a",{className:o,target:"_blank",rel:"noopener noreferrer",href:"https://feedback.bdthemes.com/b/6vr2250l/feature-requests/",children:(0,s.__)("Request Feature","ultimate-store-kit")})})]}),(0,r.jsxs)("div",{className:"rounded-lg border border-solid border-gray-100 bg-white p-5",children:[(0,r.jsx)("h3",{className:"m-0 mb-2 text-base font-bold text-slate-800",children:(0,s.__)("Try Our Other Plugins","ultimate-store-kit")}),(0,r.jsx)("p",{className:"my-2 text-[13px] leading-relaxed text-slate-500",children:(0,s.__)("Element Pack, Prime Slider, Ultimate Post Kit, Pixel Gallery & Live Copy Paste addons for Elementor.","ultimate-store-kit")}),(0,r.jsxs)("div",{className:"mt-3 flex flex-wrap gap-2",children:[(0,r.jsx)("a",{className:`${d} ${c}`,target:"_blank",rel:"noopener noreferrer",href:"https://wordpress.org/plugins/bdthemes-element-pack-lite/",children:(0,s.__)("Element Pack","ultimate-store-kit")}),(0,r.jsx)("a",{className:`${d} ${m}`,target:"_blank",rel:"noopener noreferrer",href:"https://wordpress.org/plugins/bdthemes-prime-slider-lite/",children:(0,s.__)("Prime Slider","ultimate-store-kit")}),(0,r.jsx)("a",{className:`${d} ${x}`,target:"_blank",rel:"noopener noreferrer",href:"https://wordpress.org/plugins/ultimate-post-kit/",children:(0,s.__)("Ultimate Post Kit","ultimate-store-kit")}),(0,r.jsx)("a",{className:`${d} ${h}`,target:"_blank",rel:"noopener noreferrer",href:"https://wordpress.org/plugins/pixel-gallery/",children:(0,s.__)("Pixel Gallery","ultimate-store-kit")}),(0,r.jsx)("a",{className:`${d} ${u}`,target:"_blank",rel:"noopener noreferrer",href:"https://wordpress.org/plugins/zoloblocks/",children:(0,s.__)("ZoloBlocks","ultimate-store-kit")})]})]})]})]})},se=({allWidgets:t,allSettings:l,onSave:o,saving:d,isPro:c,widgetType:m="wc"})=>{const[x,h]=(0,e.useState)(""),[u,g]=(0,e.useState)("all"),[f,j]=(0,e.useState)("all"),w={wc:{title:(0,s.__)("WooCommerce Widgets","ultimate-store-kit"),key:"ultimate_store_kit_active_modules"},edd:{title:(0,s.__)("Easy Digital Downloads Widgets","ultimate-store-kit"),key:"ultimate_store_kit_edd_modules"},other:{title:(0,s.__)("Other Widgets","ultimate-store-kit"),key:"ultimate_store_kit_general_modules"}}[m],_=t[w.key]||[],[y,N]=(l[w.key],(0,e.useState)(()=>{const e={};return Object.keys(l).forEach(s=>{const r=l[s]||{};(t[s]||[]).forEach(t=>{"checkbox"===t.type&&(e[t.name]=void 0!==r[t.name]?r[t.name]:t.default||"off")})}),e}));(0,e.useEffect)(()=>{h(""),g("all"),j("all")},[m]);const M=(0,e.useMemo)(()=>{const e=new Set;return _.forEach(t=>{t.content_type&&t.content_type.split(" ").forEach(t=>{t&&"woocommerce"!==t&&"edd"!==t&&"new"!==t&&e.add(t)})}),Array.from(e)},[_]),P=(0,e.useMemo)(()=>_.filter(e=>!("checkbox"!==e.type||x&&!e.label.toLowerCase().includes(x.toLowerCase())||"free"===u&&"free"!==e.widget_type||"pro"===u&&"pro"!==e.widget_type||!("all"===f||e.content_type&&e.content_type.includes(f)))),[_,x,u,f]),C=(0,e.useCallback)(e=>{N(t=>({...t,[e]:"on"===t[e]?"off":"on"}))},[]),S=(0,e.useCallback)(()=>{N(e=>{const t={...e};return P.forEach(e=>{if("pro"===e.widget_type&&!c)return;const s=e.dependency;(!s||s.isInstalled&&s.isActive)&&(t[e.name]="on")}),t})},[P,c]),B=(0,e.useCallback)(()=>{N(e=>{const t={...e};return P.forEach(e=>{("pro"!==e.widget_type||c)&&(t[e.name]="off")}),t})},[P,c]),O=(0,e.useMemo)(()=>_.filter(e=>"checkbox"===e.type&&K(e,y[e.name],c)).length,[_,y,c]),F="h-9 min-h-9 py-0 text-[13px] leading-none",D="inline-flex h-9 min-h-9 shrink-0 cursor-pointer items-center gap-1.5 rounded-md border px-3 py-0 text-[13px] font-semibold leading-none no-underline transition-all duration-200";return(0,r.jsxs)("div",{children:[(0,r.jsxs)("div",{className:"mb-5 flex flex-wrap items-center justify-between gap-2",children:[(0,r.jsx)("h2",{className:"m-0 text-xl font-bold text-slate-800",children:w.title}),(0,r.jsxs)("span",{className:"rounded-2xl border border-slate-200 bg-white px-3 py-1 text-[13px] text-slate-500",children:[O," / ",_.filter(e=>"checkbox"===e.type).length," ",(0,s.__)("Active","ultimate-store-kit")]})]}),(0,r.jsxs)("div",{className:"mb-5 flex flex-wrap items-center justify-between gap-3 rounded-lg border border-solid border-gray-100 bg-white px-4 py-3",children:[(0,r.jsxs)("div",{className:"flex flex-wrap items-center gap-3",children:[(0,r.jsxs)("div",{className:"relative flex items-center",children:[(0,r.jsx)($,{className:"pointer-events-none absolute right-3 inset-y-0 my-auto h-4 w-4 block text-gray-400"}),(0,r.jsx)("input",{type:"text",className:`${F} block w-full rounded-md border border-solid border-gray-200 bg-transparent pr-10 pl-3 text-slate-700 placeholder:text-gray-500 focus:border-uks-brand focus:outline-none focus:ring-2 focus:ring-uks-brand/25 sm:w-48`,placeholder:(0,s.__)("Search widgets...","ultimate-store-kit"),value:x,onChange:e=>h(e.target.value)})]}),(0,r.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,r.jsx)("label",{className:p,children:(0,s.__)("Status:","ultimate-store-kit")}),(0,r.jsxs)("select",{className:`${b} ${F}`,value:u,onChange:e=>g(e.target.value),children:[(0,r.jsx)("option",{value:"all",children:(0,s.__)("All","ultimate-store-kit")}),(0,r.jsx)("option",{value:"free",children:(0,s.__)("Free","ultimate-store-kit")}),(0,r.jsx)("option",{value:"pro",children:(0,s.__)("Pro","ultimate-store-kit")})]})]}),M.length>0&&(0,r.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,r.jsx)("label",{className:p,children:(0,s.__)("Template:","ultimate-store-kit")}),(0,r.jsxs)("select",{className:`${b} ${F}`,value:f,onChange:e=>j(e.target.value),children:[(0,r.jsx)("option",{value:"all",children:(0,s.__)("All Templates","ultimate-store-kit")}),M.map(e=>(0,r.jsx)("option",{value:e,children:e.charAt(0).toUpperCase()+e.slice(1)},e))]})]})]}),(0,r.jsxs)("div",{className:"flex flex-wrap items-center gap-1.5",children:[(0,r.jsxs)("button",{type:"button",className:`${D} ${O>0?"!bg-uks-brand !text-white hover:!bg-uks-brand-dark border-none":"!border !border-uks-brand/25 bg-uks-brand/5 text-uks-brand hover:bg-uks-brand/10 hover:text-uks-brand-dark"} focus:outline-none focus:ring-2 focus:ring-uks-brand focus:ring-offset-2 focus:ring-offset-white`,onClick:S,children:[(0,r.jsx)(A,{className:"h-3.5 w-3.5"}),(0,s.__)("Activate All","ultimate-store-kit")]}),(0,r.jsxs)("button",{type:"button",className:`${D} ${0===O?"!bg-uks-brand !text-white hover:!bg-uks-brand-dark border-none":"!border !border-uks-brand/25 bg-uks-brand/5 text-uks-brand hover:bg-uks-brand/10 hover:text-uks-brand-dark"} focus:outline-none focus:ring-2 focus:ring-uks-brand focus:ring-offset-2 focus:ring-offset-white`,onClick:B,children:[(0,r.jsx)(v,{className:"h-3.5 w-3.5"}),(0,s.__)("Deactivate All","ultimate-store-kit")]})]})]}),(0,r.jsxs)("div",{className:"grid grid-cols-1 gap-3 rounded-lg border border-solid border-gray-100 bg-white p-5 sm:grid-cols-2 lg:grid-cols-3 2xl:grid-cols-4",children:[0===P.length&&(0,r.jsx)("div",{className:"col-span-full py-10 text-center text-sm text-slate-400",children:(0,s.__)("No widgets found.","ultimate-store-kit")}),P.map(e=>{const t="pro"===e.widget_type,l=e.dependency||null,i=l&&(!l.isInstalled||!l.isActive),o=t&&!c||i,n=K(e,y[e.name],c);return(0,r.jsxs)("div",{className:`flex flex-col justify-between gap-3 rounded-lg border border-solid border-gray-200 p-4 ${n?"border-emerald-300":""} ${o?"opacity-60 cursor-not-allowed bg-slate-100":""}`,children:[(0,r.jsxs)("div",{className:"flex items-start justify-between gap-2",children:[(0,r.jsx)("span",{className:"text-base font-semibold leading-snug text-slate-800",children:e.label}),t&&(0,r.jsx)("span",{className:k,children:(0,s.__)("Pro","ultimate-store-kit")})]}),(0,r.jsxs)("div",{className:"flex items-center justify-between",children:[(0,r.jsxs)("div",{className:"flex gap-2 items-center",children:[l?.actionUrl&&(0,r.jsxs)("a",{href:l.actionUrl,target:"install"===l.actionType?"_blank":void 0,rel:"install"===l.actionType?"noopener noreferrer":void 0,title:l.message||l.actionLabel,className:"text-gray-400 transition-colors hover:text-uks-brand flex items-center gap-1 decoration-none",style:{textDecoration:"none"},children:[(0,r.jsx)(z,{className:"w-4 h-4 block"}),(0,s.__)("Install","ultimate-store-kit")]}),e.demo_url&&!e.demo_url.startsWith("#")&&(0,r.jsxs)("a",{href:e.demo_url,target:"_blank",rel:"noopener noreferrer",title:(0,s.__)("Demo","ultimate-store-kit"),className:"text-gray-400 transition-colors hover:text-uks-brand flex items-center gap-1 decoration-none",style:{textDecoration:"none"},children:[(0,r.jsx)(E,{className:"w-4 h-4 block"}),(0,s.__)("Demo","ultimate-store-kit")]}),e.video_url&&(0,r.jsxs)("a",{href:e.video_url,target:"_blank",rel:"noopener noreferrer",title:(0,s.__)("Video","ultimate-store-kit"),className:"text-gray-400 transition-colors hover:text-uks-brand flex items-center gap-1 decoration-none",style:{textDecoration:"none"},children:[(0,r.jsx)(L,{className:"w-4 h-4 block"}),(0,s.__)("Video","ultimate-store-kit")]})]}),(0,r.jsx)(a,{checked:n,disabled:o,onChange:()=>C(e.name)})]}),i&&l?.actionUrl&&(0,r.jsxs)("div",{className:"text-[13px] leading-relaxed text-slate-500",children:[l.message," ",(0,r.jsx)("a",{href:l.actionUrl,className:"font-semibold text-uks-brand hover:underline",target:"install"===l.actionType?"_blank":void 0,rel:"install"===l.actionType?"noopener noreferrer":void 0,children:l.actionLabel})]})]},e.name)})]}),(0,r.jsx)("div",{className:"mt-6 flex justify-end pt-4",children:(0,r.jsx)("button",{type:"button",className:`${n} ${i}`,onClick:()=>{const e={};_.forEach(t=>{"checkbox"===t.type&&void 0!==y[t.name]&&(e[t.name]=y[t.name])}),o(w.key,e)},disabled:d,children:d?(0,s.__)("Saving...","ultimate-store-kit"):(0,s.__)("Save Changes","ultimate-store-kit")})})]})},re=[{group:(0,s.__)("Sales Notifications","ultimate-store-kit"),description:(0,s.__)("Configure flash sale banners, countdown timers, and promotional badges for your store.","ultimate-store-kit"),fields:[{name:"enable_flash_sale",type:"checkbox",label:(0,s.__)("Enable Flash Sale Banner","ultimate-store-kit"),description:(0,s.__)("Display a site-wide flash sale banner on product pages.","ultimate-store-kit")},{name:"flash_sale_text",type:"text",label:(0,s.__)("Flash Sale Text","ultimate-store-kit"),placeholder:(0,s.__)("🔥 Flash Sale — Up to 50% OFF!","ultimate-store-kit")},{name:"sale_badge_style",type:"select",label:(0,s.__)("Sale Badge Style","ultimate-store-kit"),options:{default:(0,s.__)("Default","ultimate-store-kit"),ribbon:(0,s.__)("Ribbon","ultimate-store-kit"),circle:(0,s.__)("Circle","ultimate-store-kit"),starburst:(0,s.__)("Starburst","ultimate-store-kit")}},{name:"sale_badge_color",type:"color",label:(0,s.__)("Sale Badge Color","ultimate-store-kit"),value:"#ef4444"},{name:"enable_countdown_timer",type:"checkbox",label:(0,s.__)("Enable Sale Countdown Timer","ultimate-store-kit"),description:(0,s.__)("Show a countdown timer on products that have a sale end date.","ultimate-store-kit")},{name:"countdown_position",type:"select",label:(0,s.__)("Countdown Position","ultimate-store-kit"),options:{above_price:(0,s.__)("Above Price","ultimate-store-kit"),below_price:(0,s.__)("Below Price","ultimate-store-kit"),above_button:(0,s.__)("Above Add to Cart","ultimate-store-kit")}},{name:"minimum_discount_percent",type:"number",label:(0,s.__)("Minimum Discount % to Show Badge","ultimate-store-kit"),value:"5",description:(0,s.__)("Only show the sale badge when the discount is at least this percentage.","ultimate-store-kit")}]}],ae=()=>(0,r.jsxs)("div",{className:"pointer-events-none relative select-none opacity-70",children:[(0,r.jsxs)("div",{className:"pointer-events-auto mb-4 flex items-center justify-between rounded-usk border border-uks-brand bg-[linear-gradient(313deg,#E62A3F_0%,#00216A_100%)] px-5 py-3.5",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2.5",children:[(0,r.jsx)("span",{className:"rounded-[10px] bg-[linear-gradient(313deg,#E62A3F_0%,#00216A_100%)] px-2.5 py-1 text-[10px] font-bold uppercase tracking-wide text-white",children:(0,s.__)("Pro","ultimate-store-kit")}),(0,r.jsx)("span",{className:"text-sm font-semibold text-white/90",children:(0,s.__)("Unlock these premium settings with Ultimate Store Kit Pro","ultimate-store-kit")})]}),(0,r.jsx)("a",{href:"https://bdthemes.com/ultimate-store-kit/",target:"_blank",rel:"noopener noreferrer",className:`${d} ${i}`,children:(0,s.__)("Get Pro","ultimate-store-kit")})]}),re.map((e,t)=>(0,r.jsx)("div",{className:"relative mb-4 overflow-hidden rounded-usk border border-slate-200 bg-white",children:(0,r.jsxs)("div",{className:"border-l-[3px] border-uks-brand",children:[(0,r.jsxs)("h3",{className:"m-0 flex flex-wrap items-center gap-2 border-b border-slate-200 bg-slate-100 px-5 py-3.5 text-sm font-bold text-slate-800",children:[e.group,(0,r.jsx)("span",{className:k,children:(0,s.__)("Pro","ultimate-store-kit")})]}),e.description&&(0,r.jsx)("p",{className:"m-0 px-5 pt-1 text-[13px] leading-relaxed text-slate-400",children:e.description}),(0,r.jsx)("div",{className:"px-5 py-2 opacity-60",children:e.fields.map(e=>{if("checkbox"===e.type)return(0,r.jsxs)("div",{className:`${g} flex-wrap`,children:[(0,r.jsx)("div",{className:f,children:(0,r.jsx)("span",{children:e.label})}),(0,r.jsx)("div",{className:"h-[22px] w-10 rounded-full bg-slate-200"}),e.description&&(0,r.jsx)("p",{className:"mt-1 w-full text-xs leading-snug text-slate-400",children:e.description})]},e.name);if("select"===e.type){const t=Object.keys(e.options)[0];return(0,r.jsxs)("div",{className:g,children:[(0,r.jsx)("label",{className:f,children:e.label}),(0,r.jsx)("select",{className:`${j} cursor-not-allowed opacity-60`,disabled:!0,defaultValue:t,children:Object.entries(e.options).map(([e,t])=>(0,r.jsx)("option",{value:e,children:t},e))})]},e.name)}return"color"===e.type?(0,r.jsxs)("div",{className:g,children:[(0,r.jsx)("label",{className:f,children:e.label}),(0,r.jsx)("input",{type:"color",disabled:!0,value:e.value||"#000000",readOnly:!0,className:"h-8 w-12 cursor-not-allowed rounded-md border border-slate-200 p-0.5 opacity-60"})]},e.name):"number"===e.type||"text"===e.type?(0,r.jsxs)("div",{className:g,children:[(0,r.jsx)("label",{className:f,children:e.label}),(0,r.jsx)("input",{type:e.type,className:`${j} cursor-not-allowed opacity-60`,disabled:!0,placeholder:e.placeholder||"",defaultValue:e.value||"",readOnly:!0}),e.description&&(0,r.jsx)("p",{className:"mt-1 w-full text-xs leading-snug text-slate-400",children:e.description})]},e.name):null})})]})},t))]}),le=({widgets:l,section:o,settings:d,onSave:c,saving:m,isPro:x,activeGroup:h})=>{const[u,p]=(0,e.useState)(()=>{const e={};return l.forEach(t=>{"start_group"!==t.type&&"end_group"!==t.type&&("checkbox"===t.type?e[t.name]=void 0!==d[t.name]?d[t.name]:t.default||"off":"select"!==t.type&&"number"!==t.type&&"text"!==t.type||(e[t.name]=void 0!==d[t.name]?d[t.name]:t.default||""))}),e}),b=(e,t)=>{p(s=>({...s,[e]:t}))},g=(()=>{const e=[];let t=null;return l.forEach(r=>{"start_group"!==r.type?"end_group"!==r.type?t?t.items.push(r):(e.length&&void 0!==e[e.length-1].items||e.push({label:(0,s.__)("General","ultimate-store-kit"),items:[]}),e[e.length-1].items.push(r)):t&&(e.push(t),t=null):t={label:r.label,items:[]}}),e})(),w=h?g.filter(e=>e.label===h):g;return(0,r.jsxs)("div",{children:[(0,r.jsxs)("div",{className:"grid grid-cols-[repeat(auto-fit,minmax(420px,1fr))] items-start gap-4",children:[w.map((e,t)=>(0,r.jsxs)("div",{className:"w-full overflow-hidden rounded-usk border border-solid border-gray-100 bg-white",children:[(0,r.jsx)("h3",{className:"m-0 border-0 border-b border-solid border-b-gray-200  px-5 py-3.5 text-sm font-bold uppercase tracking-wide text-slate-700",children:e.label}),(0,r.jsx)("div",{className:"space-y-5 p-5",children:e.items.map(e=>{const t="pro"===e.widget_type,l=e.dependency||null,i=l&&(!l.isInstalled||!l.isActive),o=t&&!x||i;if("checkbox"===e.type){const n=!o&&"on"===u[e.name];return(0,r.jsxs)("div",{className:"rounded-lg border border-slate-200 bg-white",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,r.jsxs)("div",{className:`${f} max-w-[70%] flex-wrap`,children:[(0,r.jsxs)("span",{children:[e.label,i&&l?.actionUrl?(0,r.jsxs)(r.Fragment,{children:[" ",(0,r.jsx)("a",{href:l.actionUrl,target:"install"===l.actionType?"_blank":void 0,rel:"install"===l.actionType?"noopener noreferrer":void 0,className:"font-semibold text-uks-brand hover:underline",children:l.actionLabel})]}):null]}),t&&(0,r.jsx)("span",{className:k,children:(0,s.__)("Pro","ultimate-store-kit")})]}),(0,r.jsx)(a,{checked:n,disabled:o,onChange:()=>b(e.name,n?"off":"on")})]}),i&&l?.message&&(0,r.jsx)("div",{className:"mt-2 text-[13px] leading-relaxed text-slate-500",children:l.message})]},e.name)}return"select"===e.type?(0,r.jsxs)("div",{className:"rounded-lg border border-slate-200 bg-white",children:[(0,r.jsxs)("label",{className:f,children:[e.label,t&&(0,r.jsx)("span",{className:`${k} ml-2 align-middle`,children:(0,s.__)("Pro","ultimate-store-kit")})]}),(0,r.jsx)("select",{className:`${j} mt-2 block w-full`,value:u[e.name]||"",onChange:t=>b(e.name,t.target.value),disabled:o,children:e.options&&Object.entries(e.options).map(([e,t])=>(0,r.jsx)("option",{value:e,children:t},e))})]},e.name):"number"===e.type||"text"===e.type?(0,r.jsxs)("div",{className:"rounded-lg border border-slate-200 bg-white",children:[(0,r.jsxs)("label",{className:f,children:[e.label,t&&(0,r.jsx)("span",{className:`${k} ml-2 align-middle`,children:(0,s.__)("Pro","ultimate-store-kit")})]}),(0,r.jsx)("input",{type:e.type,className:`${j} mt-2 block w-full`,value:u[e.name]||"",onChange:t=>b(e.name,t.target.value),disabled:o})]},e.name):null})})]},t)),!x&&!h&&(0,r.jsx)(ae,{}),(()=>{const e=(0,t.applyFilters)("usk.admin.settingsExtra",null);return e?(0,r.jsx)(e,{activeGroup:h}):null})()]}),(0,r.jsx)("div",{className:"mt-6 flex justify-end pt-4",children:(0,r.jsx)("button",{type:"button",className:`${n} ${i}`,onClick:()=>{c(o,u)},disabled:m,children:m?(0,s.__)("Saving...","ultimate-store-kit"):(0,s.__)("Save Changes","ultimate-store-kit")})})]})},ie=[{label:(0,s.__)("Core Widgets","ultimate-store-kit"),free:!0,pro:!0,freeNote:"35+",proNote:"100+"},{label:(0,s.__)("Theme Compatibility","ultimate-store-kit"),free:!0,pro:!0},{label:(0,s.__)("Dynamic Content & Custom Fields","ultimate-store-kit"),free:!0,pro:!0},{label:(0,s.__)("Proper Documentation","ultimate-store-kit"),free:!0,pro:!0},{label:(0,s.__)("Updates & Support","ultimate-store-kit"),free:!0,pro:!0},{label:(0,s.__)("Ready Made Blocks","ultimate-store-kit"),free:!0,pro:!0},{label:(0,s.__)("Ready Made Pages","ultimate-store-kit"),free:!0,pro:!0},{label:(0,s.__)("Rooten Theme Pro Features","ultimate-store-kit"),free:!1,pro:!0},{label:(0,s.__)("Priority Support","ultimate-store-kit"),free:!1,pro:!0}],oe=({d:e,viewBox:t="0 0 24 24",filled:s=!1})=>(0,r.jsx)("svg",{className:"h-4 w-4 shrink-0 text-uks-brand",viewBox:t,fill:s?"currentColor":"none",stroke:s?"none":"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:Array.isArray(e)?e.map((e,t)=>(0,r.jsx)("path",{d:e},t)):(0,r.jsx)("path",{d:e})}),ne=[{text:(0,s.__)("Incredibly Advanced","ultimate-store-kit"),icon:(0,r.jsx)(oe,{d:"M13 2 3 14h9l-1 8 10-12h-9l1-8z"})},{text:(0,s.__)("Refund or Cancel Anytime","ultimate-store-kit"),icon:(0,r.jsx)(oe,{d:["M9 14 4 9l5-5","M4 9h10.5a5.5 5.5 0 0 1 0 11H11"]})},{text:(0,s.__)("Dynamic Content","ultimate-store-kit"),icon:(0,r.jsx)(oe,{d:["M14.5 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7.5L14.5 2z","M14 2v6h6","M8 13h8","M8 17h4"]})},{text:(0,s.__)("Super-Flexible Widgets","ultimate-store-kit"),icon:(0,r.jsx)(oe,{d:["M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"]})},{text:(0,s.__)("24/7 Premium Support","ultimate-store-kit"),icon:(0,r.jsx)(oe,{d:["M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.38 8.38 0 0 1-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.38 8.38 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8v.5z"]})},{text:(0,s.__)("Third Party Plugins","ultimate-store-kit"),icon:(0,r.jsx)(oe,{d:["M6.3 20.3a2.4 2.4 0 0 0 3.4 0L12 18l-6-6-2.3 2.3a2.4 2.4 0 0 0 0 3.4z","m2 22 3-3","M7.5 13.5 10 11","M10.5 16.5 13 14","m18 3-4 4h6l-4 4"]})},{text:(0,s.__)("Special Discount!","ultimate-store-kit"),icon:(0,r.jsx)(oe,{d:["M9 5H2v7l6.29 6.29c.94.94 2.48.94 3.42 0l3.58-3.58c.94-.94.94-2.48 0-3.42L9 5z","M6 9.01V9"]})},{text:(0,s.__)("Custom Field Integration","ultimate-store-kit"),icon:(0,r.jsx)(oe,{d:["M12 20h9","M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4L16.5 3.5z"]})},{text:(0,s.__)("With Live Chat Support","ultimate-store-kit"),icon:(0,r.jsx)(oe,{d:["M8 12h.01","M12 12h.01","M16 12h.01","M21 12c0 4.418-4.03 8-9 8a9.863 9.863 0 0 1-4.255-.949L3 20l1.395-3.72C3.512 15.042 3 13.574 3 12c0-4.418 4.03-8 9-8s9 3.582 9 8z"]})},{text:(0,s.__)("Trusted Payment Methods","ultimate-store-kit"),icon:(0,r.jsx)(oe,{d:["M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"]})},{text:(0,s.__)("Interactive Effects","ultimate-store-kit"),icon:(0,r.jsx)(oe,{d:["M12 2v4","m16.2 7.8 2.9-2.9","M18 12h4","m16.2 16.2 2.9 2.9","M12 18v4","m4.9 19.1 2.9-2.9","M2 12h4","m4.9 4.9 2.9 2.9"]})},{text:(0,s.__)("Video Tutorial","ultimate-store-kit"),icon:(0,r.jsx)(oe,{d:["M22.54 6.42a2.78 2.78 0 0 0-1.95-1.96C18.88 4 12 4 12 4s-6.88 0-8.59.46a2.78 2.78 0 0 0-1.95 1.96A29 29 0 0 0 1 12a29 29 0 0 0 .46 5.58A2.78 2.78 0 0 0 3.41 19.6C5.12 20 12 20 12 20s6.88 0 8.59-.46a2.78 2.78 0 0 0 1.95-1.95A29 29 0 0 0 23 12a29 29 0 0 0-.46-5.58z","M9.75 15.02 15.5 12l-5.75-3.02v6.04z"]})}],de=({isPro:e})=>e?(0,r.jsxs)("div",{className:"rounded-usk border border-slate-200 bg-white p-6 text-center sm:p-10",children:[(0,r.jsx)("div",{className:"mx-auto mb-4 flex h-14 w-14 items-center justify-center rounded-full bg-emerald-100",children:(0,r.jsx)(A,{className:"h-7 w-7 text-emerald-600"})}),(0,r.jsx)("h2",{className:"m-0 mb-2 text-xl font-bold text-slate-800",children:(0,s.__)("You already have Pro!","ultimate-store-kit")}),(0,r.jsx)("p",{className:"m-0 text-sm text-slate-500",children:(0,s.__)("Thank you for being a Pro user. You have access to all features.","ultimate-store-kit")})]}):(0,r.jsxs)("div",{className:"space-y-5",children:[(0,r.jsxs)("div",{className:"overflow-hidden rounded-usk border border-solid border-gray-100 bg-white",children:[(0,r.jsxs)("div",{className:"flex border-b border-gray-100",children:[(0,r.jsx)("div",{className:"flex flex-[2] items-center px-3 py-3 sm:px-5 sm:py-3.5",children:(0,r.jsx)("span",{className:"text-[10px] font-semibold uppercase tracking-wider text-slate-400 sm:text-[11px]",children:(0,s.__)("Features","ultimate-store-kit")})}),(0,r.jsx)("div",{className:"flex w-20 items-center justify-center border-l border-gray-100 bg-slate-50 py-3 sm:w-28 sm:py-3.5 lg:w-36",children:(0,r.jsx)("span",{className:"text-[11px] font-bold text-slate-500 sm:text-[12px]",children:(0,s.__)("Free","ultimate-store-kit")})}),(0,r.jsx)("div",{className:"flex w-20 items-center justify-center border-l border-uks-brand/30 bg-uks-brand py-3 sm:w-28 sm:py-3.5 lg:w-36",children:(0,r.jsxs)("span",{className:"inline-flex items-center gap-1 text-[11px] font-bold text-white sm:gap-1.5 sm:text-[12px]",children:[(0,r.jsx)(C,{className:"h-3 w-3"}),(0,s.__)("Pro","ultimate-store-kit")]})})]}),ie.map((e,t)=>(0,r.jsxs)("div",{className:"flex items-center border-b border-gray-50 last:border-b-0 "+(t%2==1?"bg-slate-50/50":"bg-white"),children:[(0,r.jsxs)("div",{className:"flex min-w-0 flex-[2] items-center gap-2 px-3 py-3 sm:px-5 sm:py-3.5",children:[(0,r.jsx)("span",{className:"text-[12px] font-medium text-slate-700 sm:text-[13px]",children:e.label}),e.freeNote&&e.proNote&&(0,r.jsxs)("span",{className:"hidden shrink-0 rounded-full border border-slate-100 bg-white px-2 py-0.5 text-[10px] font-semibold text-slate-400 sm:inline-block",children:[e.freeNote," → ",e.proNote]})]}),(0,r.jsx)("div",{className:"flex w-20 shrink-0 items-center justify-center border-l py-3 sm:w-28 sm:py-3.5 lg:w-36 "+(t%2==1?"border-gray-100 bg-slate-50/50":"border-gray-50 bg-white"),children:e.free?(0,r.jsx)(A,{className:"mx-auto h-[18px] w-[18px] text-uks-brand"}):(0,r.jsx)(v,{className:"mx-auto h-[18px] w-[18px] text-slate-300"})}),(0,r.jsx)("div",{className:"flex w-20 shrink-0 items-center justify-center border-l border-uks-brand/20 bg-uks-brand/[0.07] py-3 sm:w-28 sm:py-3.5 lg:w-36",children:e.pro?(0,r.jsx)(A,{className:"mx-auto h-[18px] w-[18px] text-uks-brand"}):(0,r.jsx)(v,{className:"mx-auto h-[18px] w-[18px] text-slate-300"})})]},t))]}),(0,r.jsxs)("div",{className:"overflow-hidden rounded-usk border border-solid border-gray-100 bg-white",children:[(0,r.jsxs)("div",{className:"p-4 sm:p-5 lg:p-6",children:[(0,r.jsx)("p",{className:"m-0 mb-3 text-[11px] font-semibold uppercase tracking-wider text-slate-400 sm:mb-4",children:(0,s.__)("What's included with Pro","ultimate-store-kit")}),(0,r.jsx)("div",{className:"grid grid-cols-1 gap-2 xs:grid-cols-2 sm:grid-cols-3 lg:grid-cols-4",children:ne.map((e,t)=>(0,r.jsxs)("div",{className:"flex items-center gap-2 rounded-lg border border-slate-100 bg-slate-50/70 px-3 py-2.5 sm:gap-2.5",children:[(0,r.jsx)("span",{className:"shrink-0","aria-hidden":"true",children:e.icon}),(0,r.jsx)("span",{className:"text-[12px] font-medium leading-snug text-slate-600",children:e.text})]},t))})]}),(0,r.jsxs)("div",{className:"flex flex-col items-center gap-3 border-t border-uks-brand/15 bg-gradient-to-br from-uks-brand/[0.07] to-transparent px-4 py-5 text-center sm:px-6 sm:py-6",children:[(0,r.jsx)("p",{className:"m-0 text-[13px] font-semibold text-slate-700",children:(0,s.__)("Ready to unlock all Pro features?","ultimate-store-kit")}),(0,r.jsxs)("a",{href:"https://storekit.pro/pricing",target:"_blank",rel:"noopener noreferrer",className:`${n} ${i} gap-2`,children:[(0,r.jsx)(C,{className:"h-4 w-4"}),(0,s.__)("Upgrade to Pro — View Pricing","ultimate-store-kit")]}),(0,r.jsxs)("div",{className:"flex flex-wrap items-center justify-center gap-x-4 gap-y-1.5 text-[11px] text-slate-400",children:[(0,r.jsxs)("span",{className:"flex items-center gap-1",children:[(0,r.jsx)(A,{className:"h-3.5 w-3.5 text-emerald-500"}),(0,s.__)("30-day money-back","ultimate-store-kit")]}),(0,r.jsxs)("span",{className:"flex items-center gap-1",children:[(0,r.jsx)(A,{className:"h-3.5 w-3.5 text-emerald-500"}),(0,s.__)("Cancel anytime","ultimate-store-kit")]}),(0,r.jsxs)("span",{className:"flex items-center gap-1",children:[(0,r.jsx)(A,{className:"h-3.5 w-3.5 text-emerald-500"}),(0,s.__)("Instant access","ultimate-store-kit")]})]})]})]})]}),ce=window.ultimateStoreKitAdminData||{},me="font-semibold text-uks-brand no-underline transition hover:underline",xe=({icon:e,label:t,children:s})=>(0,r.jsxs)("div",{className:"group flex items-center gap-4 rounded-lg border border-solid border-gray-200 bg-white p-4",children:[(0,r.jsx)("div",{className:"flex h-11 w-11 shrink-0 items-center justify-center rounded-lg bg-uks-brand/10 text-uks-brand transition group-hover:bg-uks-brand/15","aria-hidden":"true",children:e}),(0,r.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,r.jsx)("h3",{className:"m-0 mb-1 text-[11px] font-semibold uppercase tracking-wider text-slate-400",children:t}),(0,r.jsx)("div",{className:"text-sm font-semibold text-slate-800",children:s})]})]}),he=({icon:e,title:t,desc:s,href:a})=>(0,r.jsxs)("a",{href:a,target:"_blank",rel:"noopener noreferrer",className:"group flex items-center gap-4 rounded-lg border border-solid border-gray-200 bg-white p-4 text-inherit no-underline transition hover:border-uks-brand/25",children:[(0,r.jsx)("div",{className:"flex h-11 w-11 shrink-0 items-center justify-center rounded-lg bg-uks-brand/10 text-uks-brand transition group-hover:bg-uks-brand/15","aria-hidden":"true",children:e}),(0,r.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,r.jsx)("div",{className:"text-sm font-semibold text-slate-800",children:t}),(0,r.jsx)("p",{className:"m-0 mt-0.5 text-[12px] leading-snug text-slate-500",children:s})]})]}),ue=()=>{const e=Boolean(ce.isPro),t=ce.version||"";return(0,r.jsxs)("div",{className:"space-y-6",children:[(0,r.jsxs)("div",{className:"overflow-hidden rounded-usk border border-slate-200 bg-white",children:[(0,r.jsx)("div",{className:"bg-white p-4 sm:p-5 border border-solid border-gray-100",children:(0,r.jsxs)("div",{className:"flex max-w-3xl flex-col items-start gap-4 text-left sm:flex-row",children:[(0,r.jsx)("div",{className:"",children:(0,r.jsx)(_,{className:"w-12 h-12 block"})}),(0,r.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,r.jsxs)("div",{className:"mb-2 flex flex-wrap items-center justify-start gap-2",children:[(0,r.jsx)("h3",{className:"m-0 text-[22px] font-extrabold leading-none text-slate-900",children:(0,s.__)("Ultimate Store Kit","ultimate-store-kit")}),(0,r.jsxs)("span",{className:"inline-flex items-center rounded-full bg-uks-brand px-2.5 py-0.5 text-xs font-semibold text-white",children:["v",t]}),(0,r.jsx)("span",{className:"inline-flex items-center rounded-full px-2.5 py-0.5 text-xs font-semibold "+(e?"bg-emerald-100 text-emerald-800":"bg-slate-200 text-slate-700"),children:e?(0,s.__)("Pro","ultimate-store-kit"):(0,s.__)("Free","ultimate-store-kit")})]}),(0,r.jsx)("p",{className:"mb-4 text-[13px] leading-relaxed text-slate-600",children:(0,s.__)("Build online stores in WordPress with the powerful store builder addon for Elementor. Enjoy a wide range of customizations and easily build product grids, carousels, single product/page elements, checkouts and more.","ultimate-store-kit")}),(0,r.jsxs)("ul",{className:"m-0 flex list-none flex-wrap justify-start gap-3 p-0",children:[(0,r.jsx)("li",{className:"rounded-full py-1 px-2 border border-solid border-slate-200 bg-white/80 text-xs font-medium text-slate-600",children:(0,s.__)("Elementor widgets","ultimate-store-kit")}),(0,r.jsx)("li",{className:"rounded-full py-1 px-2 border border-solid border-slate-200 bg-white/80 text-xs font-medium text-slate-600",children:(0,s.__)("WooCommerce ready","ultimate-store-kit")}),(0,r.jsx)("li",{className:"rounded-full py-1 px-2 border border-solid border-slate-200 bg-white/80 text-xs font-medium text-slate-600",children:(0,s.__)("Store-focused UI","ultimate-store-kit")})]})]})]})}),(0,r.jsxs)("div",{className:"grid grid-cols-1 gap-px border-t border-slate-200 sm:grid-cols-3",children:[(0,r.jsxs)("div",{className:"bg-gray-100 px-4 py-3 text-center sm:text-left",children:[(0,r.jsx)("p",{className:"m-0 mb-0.5 text-[11px] font-semibold uppercase tracking-wide text-slate-400",children:(0,s.__)("Current version","ultimate-store-kit")}),(0,r.jsxs)("p",{className:"m-0 text-sm font-bold text-slate-800",children:["v",t]})]}),(0,r.jsxs)("div",{className:"bg-gray-100 px-4 py-3 text-center sm:text-left",children:[(0,r.jsx)("p",{className:"m-0 mb-0.5 text-[11px] font-semibold uppercase tracking-wide text-slate-400",children:(0,s.__)("License","ultimate-store-kit")}),(0,r.jsx)("p",{className:"m-0 text-sm font-bold text-slate-800",children:e?(0,s.__)("Pro (active)","ultimate-store-kit"):(0,s.__)("Free","ultimate-store-kit")})]}),(0,r.jsxs)("div",{className:"bg-gray-100 px-4 py-3 text-center sm:text-left",children:[(0,r.jsx)("p",{className:"m-0 mb-0.5 text-[11px] font-semibold uppercase tracking-wide text-slate-400",children:(0,s.__)("Built for","ultimate-store-kit")}),(0,r.jsx)("p",{className:"m-0 text-sm font-bold text-slate-800",children:(0,s.__)("WordPress + WooCommerce","ultimate-store-kit")})]})]})]}),(0,r.jsxs)("div",{className:"rounded-usk border border-solid border-gray-100 bg-white p-4 sm:p-5",children:[(0,r.jsx)("h3",{className:"m-0 mb-3 text-base font-bold text-slate-800",children:(0,s.__)("Product & support","ultimate-store-kit")}),(0,r.jsxs)("div",{className:"grid grid-cols-1 gap-3 sm:grid-cols-2 2xl:grid-cols-4",children:[(0,r.jsx)(xe,{label:(0,s.__)("Author","ultimate-store-kit"),icon:(0,r.jsx)(F,{}),children:(0,r.jsx)("a",{href:"https://bdthemes.com/",target:"_blank",rel:"noopener noreferrer",className:me,children:"BdThemes"})}),(0,r.jsx)(xe,{label:(0,s.__)("Website","ultimate-store-kit"),icon:(0,r.jsx)(D,{}),children:(0,r.jsx)("a",{href:"https://storekit.pro/",target:"_blank",rel:"noopener noreferrer",className:me,children:"storekit.pro"})}),(0,r.jsx)(xe,{label:(0,s.__)("Documentation","ultimate-store-kit"),icon:(0,r.jsx)(T,{}),children:(0,r.jsx)("a",{href:"https://bdthemes.com/knowledge-base/ultimate-store-kit/",target:"_blank",rel:"noopener noreferrer",className:me,children:(0,s.__)("Knowledge Base","ultimate-store-kit")})}),(0,r.jsx)(xe,{label:(0,s.__)("Support","ultimate-store-kit"),icon:(0,r.jsx)(W,{}),children:(0,r.jsx)("a",{href:"https://bdthemes.com/support/",target:"_blank",rel:"noopener noreferrer",className:me,children:(0,s.__)("Get Support","ultimate-store-kit")})})]})]}),(0,r.jsxs)("div",{className:"rounded-usk border border-solid border-gray-100 bg-white p-4 sm:p-5",children:[(0,r.jsx)("h3",{className:"m-0 mb-3 text-base font-bold text-slate-800",children:(0,s.__)("Useful links","ultimate-store-kit")}),(0,r.jsx)("ul",{className:"m-0 grid list-none grid-cols-1 gap-3 p-0 sm:grid-cols-2 2xl:grid-cols-4",children:[["https://www.youtube.com/c/bdthemes",(0,s.__)("Video tutorials","ultimate-store-kit"),(0,s.__)("Step-by-step YouTube tutorials for setup, widgets, and customization.","ultimate-store-kit"),(0,r.jsx)(V,{})],["https://feedback.bdthemes.com/b/6vr2250l/feature-requests/",(0,s.__)("Request a feature","ultimate-store-kit"),(0,s.__)("Share ideas and vote on what we build next.","ultimate-store-kit"),(0,r.jsx)(H,{})],["https://wordpress.org/plugins/ultimate-store-kit/",(0,s.__)("Rate us on WordPress.org","ultimate-store-kit"),(0,s.__)("Help others discover the plugin with a review.","ultimate-store-kit"),(0,r.jsx)(P,{className:"h-5 w-5"})],["https://www.facebook.com/groups/358290584725185",(0,s.__)("Facebook community","ultimate-store-kit"),(0,s.__)("Join our Facebook community to connect with other users and the team.","ultimate-store-kit"),(0,r.jsx)(U,{})]].map(([e,t,s,a])=>(0,r.jsx)("li",{children:(0,r.jsx)(he,{href:e,title:t,desc:s,icon:a})},e))})]})]})},pe=()=>(0,r.jsxs)("div",{className:"relative inline-flex shrink-0 cursor-not-allowed select-none",style:{width:40,height:22},role:"presentation","aria-hidden":"true",title:(0,s.__)("Requires Pro license","ultimate-store-kit"),children:[(0,r.jsx)("span",{style:{position:"absolute",inset:0,borderRadius:9999,background:"#cbd5e1",border:"1px solid #94a3b8",boxSizing:"border-box"}}),(0,r.jsx)("span",{style:{position:"absolute",top:"50%",left:3,width:16,height:16,marginTop:-8,borderRadius:9999,background:"#ffffff",boxShadow:"0 1px 4px rgba(0,0,0,0.22)"}})]}),be=({module:e})=>{const t=e?.label||e?.id||"",a=e?.description||"",l=e?.icon||e?.id||"grid",i="rounded-usk border border-solid border-gray-100 bg-white";return(0,r.jsxs)("div",{className:"flex flex-col gap-5",children:[(0,r.jsxs)("div",{className:`flex flex-col gap-4 p-5 sm:flex-row sm:items-center sm:justify-between ${i}`,children:[(0,r.jsxs)("div",{className:"flex min-w-0 items-center gap-3",children:[(0,r.jsx)("div",{className:"flex h-11 w-11 shrink-0 items-center justify-center rounded-xl bg-uks-brand/10 text-uks-brand","aria-hidden":"true",children:(0,r.jsx)(G,{name:l})}),(0,r.jsxs)("div",{className:"min-w-0",children:[(0,r.jsx)("h3",{className:"m-0 text-base font-bold text-slate-800",children:t}),a&&(0,r.jsx)("p",{className:"m-0 mt-1 text-[12px] leading-snug text-slate-500",children:a})]})]}),(0,r.jsx)("div",{className:"flex shrink-0 justify-end sm:pl-2",children:(0,r.jsx)(pe,{})})]}),(0,r.jsx)("div",{className:i,children:(0,r.jsxs)("div",{className:"flex flex-col items-center justify-center px-6 py-16 text-center sm:px-10 sm:py-20",children:[(0,r.jsx)("div",{className:"mx-auto mb-6 flex h-14 w-14 items-center justify-center rounded-xl bg-uks-brand/10 text-uks-brand","aria-hidden":"true",children:(0,r.jsx)(O,{className:"h-7 w-7",stroke:"currentColor"})}),(0,r.jsx)("h4",{className:"m-0 mb-2 text-lg font-bold tracking-tight text-slate-800",children:(0,s.__)("Module is currently disabled","ultimate-store-kit")}),(0,r.jsx)("p",{className:"m-0 mb-6 max-w-md text-[13px] leading-relaxed text-slate-500",children:(0,s.__)("This is a Pro feature. Upgrade to Ultimate Store Kit Pro to unlock this module and configure its settings.","ultimate-store-kit")}),(0,r.jsxs)("a",{href:"https://storekit.pro/pricing/",target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-2 rounded-lg border-0 bg-uks-brand px-5 py-2.5 text-sm font-semibold text-white no-underline transition-opacity hover:opacity-90",children:[(0,r.jsx)(P,{className:"h-4 w-4"}),(0,s.__)("Get Pro","ultimate-store-kit")]})]})})]})},ge=({notification:t,onDismiss:s})=>{if(!t)return null;const a="success"===t.type?"usk-toast--success":"usk-toast--error";return(0,e.createPortal)((0,r.jsx)("div",{className:"usk-toast-wrap",children:(0,r.jsxs)("div",{className:`usk-toast ${a}`,children:[(0,r.jsx)("span",{children:t.message}),(0,r.jsx)("button",{type:"button",className:"usk-toast__close",onClick:s,children:"×"})]})}),document.body)},fe=window.ultimateStoreKitAdminData||{},je=(()=>{const e=fe.widgets?.ultimate_store_kit_other_settings||[],t=[];return e.forEach(e=>{var s;"start_group"===e.type?t.push({id:`settings-${s=e.label,s.toLowerCase().replace(/\s+/g,"-").replace(/[^a-z0-9-]/g,"")}`,label:e.label,proOnly:!1}):e.parent&&"pro"===e.widget_type&&t.length&&(t[t.length-1].proOnly=!0)}),t})(),ke=e=>{const t=je.find(t=>t.id===e&&t.proOnly);if(!t)return null;const s=J(t);return{id:t.id,label:t.label,icon:s,description:X[s]||"",badge:"Pro",proPlaceholder:!0}},we=()=>{const e=window.location.hash.replace("#","").split("?")[0],s=Z().map(e=>e.id),r=(0,t.applyFilters)("usk.admin.pages",{}),a=Object.keys(r),l=["welcome","widgets","woocommerce-widgets","edd-widgets","other-widgets","get-pro","about",...je.map(e=>e.id),...s,...a];return(0,t.applyFilters)("usk.admin.validPages",l).includes(e)?e:"welcome"},_e=()=>{const[a,l]=(0,e.useState)(we()),[i,o]=(0,e.useState)(fe.savedSettings||{}),[n,d]=(0,e.useState)(!!fe.isPro),[c,m]=(0,e.useState)(!1),[x,h]=(0,e.useState)(null),[u,p]=(0,e.useState)(!1),[b,g]=(0,e.useState)(()=>window.innerWidth>1024);(0,e.useEffect)(()=>((0,t.addAction)("usk.admin.notify","usk-core",e=>h(e)),()=>(0,t.removeAction)("usk.admin.notify","usk-core")),[]),(0,e.useEffect)(()=>((0,t.addAction)("usk.admin.licenseChanged","usk-core",e=>{d(e),window.ultimateStoreKitAdminData.isPro=e}),()=>(0,t.removeAction)("usk.admin.licenseChanged","usk-core")),[]),(0,e.useEffect)(()=>{if(x){const e=setTimeout(()=>h(null),3e3);return()=>clearTimeout(e)}},[x]),(0,e.useEffect)(()=>{const e=()=>{l(we())};return window.addEventListener("hashchange",e),()=>window.removeEventListener("hashchange",e)},[]),(0,e.useEffect)(()=>{if("get-pro"===a){const e=(0,t.applyFilters)("usk.admin.pages",{});if(e.license||n){const t=e.license?"license":"welcome";l(t),window.location.hash=`#${t}`}}},[n,a]),(0,e.useEffect)(()=>{p(!1)},[a]),(0,e.useEffect)(()=>(document.body.style.overflow=u?"hidden":"",()=>{document.body.style.overflow=""}),[u]),(0,e.useEffect)(()=>{const e=()=>{const e=window.innerWidth>1024;g(e),e&&p(!1)};return window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[]);const f=(0,e.useCallback)(e=>{e?.preventDefault&&e.preventDefault(),e?.stopPropagation&&e.stopPropagation(),p(e=>!e)},[]),j=(0,e.useCallback)((e,t)=>{m(!0),fetch(fe.restUrl+"settings",{method:"POST",headers:{"Content-Type":"application/json","X-WP-Nonce":fe.restNonce},body:JSON.stringify({section:e,settings:t})}).then(e=>{if(!e.ok)throw e;return e.json()}).then(r=>{o(s=>({...s,[e]:t})),h({type:"success",message:r?.message||(0,s.__)("Settings saved successfully.","ultimate-store-kit")})}).catch(()=>{h({type:"error",message:(0,s.__)("An error occurred while saving.","ultimate-store-kit")})}).finally(()=>{m(!1)})},[]);return(0,r.jsxs)("div",{className:"flex min-h-[calc(100vh-100px)] flex-col m-5 ml-0 mb-0 font-sans",children:[(0,r.jsx)(ge,{notification:x,onDismiss:()=>h(null)}),(0,r.jsx)(R,{version:fe.version,isPro:n,isSidebarOpen:u,isDesktop:b,onToggleSidebar:f}),(0,r.jsx)("div",{className:"bg-slate-50",children:(0,r.jsxs)("div",{className:"flex flex-1 items-stretch p-5 gap-5",children:[(0,r.jsx)(Q,{activePage:a,onNavigate:l,isPro:n,isOpen:u,isDesktop:b,onClose:()=>p(!1),settingsGroups:je}),(0,r.jsx)("div",{className:"min-w-0 flex-1 flex flex-col",children:(0,r.jsx)("div",{className:"flex-1",children:(()=>{const e=fe.widgets||{},s=(0,t.applyFilters)("usk.admin.pages",{});if(s[a]){if(!n){const e=Z().find(e=>e.id===a)||ke(a);if(e)return(0,r.jsx)(be,{module:e})}const e=s[a];return(0,r.jsx)(e,{})}const l=Z().find(e=>e.id===a)||!n&&ke(a);if(l)return(0,r.jsx)(be,{module:l});switch(a){case"welcome":return(0,r.jsx)(te,{widgets:e,settings:i,isPro:n});case"widgets":case"woocommerce-widgets":case"edd-widgets":case"other-widgets":{const t={"woocommerce-widgets":"wc","edd-widgets":"edd","other-widgets":"other",widgets:"wc"};return(0,r.jsx)(se,{allWidgets:e,allSettings:i,onSave:j,saving:c,isPro:n,widgetType:t[a]})}case"get-pro":return n?(0,r.jsx)(te,{widgets:e,settings:i,isPro:n}):(0,r.jsx)(de,{isPro:n});case"about":return(0,r.jsx)(ue,{});default:{const t=je.find(e=>e.id===a);return t?(0,r.jsx)(le,{widgets:e.ultimate_store_kit_other_settings||[],section:"ultimate_store_kit_other_settings",settings:i.ultimate_store_kit_other_settings||{},onSave:j,saving:c,isPro:n,activeGroup:t.label}):(0,r.jsx)(te,{widgets:e,settings:i})}}})()})})]})}),(0,r.jsxs)("footer",{className:"p-5 bg-white py-4 text-center text-sm text-slate-500 rounded-bl-lg rounded-br-lg",children:[(0,s.__)("Ultimate Store Kit Addon made with love by","ultimate-store-kit")," ",(0,r.jsx)("a",{target:"_blank",rel:"noopener noreferrer",href:"https://bdthemes.com",className:"text-uks-brand no-underline hover:underline",children:"BdThemes"}),". ",(0,s.__)("All rights reserved.","ultimate-store-kit")]})]})};document.addEventListener("DOMContentLoaded",()=>{const t=document.querySelector(".ultimate-store-kit-admin-root");t&&(0,e.createRoot)(t).render((0,r.jsx)(_e,{}))})}};const t={};function s(r){const a=t[r];if(void 0!==a)return a.exports;const l=t[r]={exports:{}};return e[r](l,l.exports,s),l.exports}s.m=e,(()=>{const e=[];s.O=(t,r,a,l)=>{if(r){l=l||0;for(var i=e.length;i>0&&e[i-1][2]>l;i--)e[i]=e[i-1];return void(e[i]=[r,a,l])}let o=1/0;for(i=0;i<e.length;i++){let[r,a,l]=e[i],d=!0;for(var n=0;n<r.length;n++)(!1&l||o>=l)&&Object.keys(s.O).every(e=>s.O[e](r[n]))?r.splice(n--,1):(d=!1,l<o&&(o=l));if(d){e.splice(i--,1);const s=a();void 0!==s&&(t=s)}}return t}})(),s.o=(e,t)=>Object.hasOwn(e,t),(()=>{const e={16:0,1524:0};s.O.j=t=>0===e[t];const t=(t,r)=>{let[a,l,i]=r;var o,n,d=0;if(a.some(t=>0!==e[t])){for(o in l)s.o(l,o)&&(s.m[o]=l[o]);if(i)var c=i(s)}for(t&&t(r);d<a.length;d++)n=a[d],s.o(e,n)&&e[n]&&e[n][0](),e[n]=0;return s.O(c)},r=globalThis.webpackChunkultimate_store_kit||=[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))})();let r=s.O(void 0,[1524],()=>s(7208));r=s.O(r)})();
     1(()=>{"use strict";var e={3399(){const e=window.wp.element,t=window.wp.hooks,s=window.wp.i18n,a=window.ReactJSXRuntime,r={xmlns:"http://www.w3.org/2000/svg",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"},l=({className:e="block h-10 w-10 sm:h-12 sm:w-12"})=>(0,a.jsxs)("svg",{className:e,version:"1.1",id:"Layer_1",xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",x:"0px",y:"0px",viewBox:"0 0 500 500",style:{enableBackground:"new 0 0 500 500"},xmlSpace:"preserve",children:[(0,a.jsx)("style",{type:"text/css",dangerouslySetInnerHTML:{__html:"\n\t.st0{fill:#E30C1D;enable-background:new    ;}\n\t.st1{fill:#FFFFFF;}\n"}}),(0,a.jsx)("path",{className:"st0",d:"M473.6,496.4h-447c-12.6,0-22.9-10.2-22.9-22.9v-447c0-12.4,10.2-22.9,22.9-22.9h446.8 c12.6,0,22.9,10.2,22.9,22.9v446.8C496.3,486.3,486.2,496.4,473.6,496.4z"}),(0,a.jsxs)("g",{children:[(0,a.jsx)("path",{className:"st1",d:"M374.3,364l-21.1-157.6c-1.9-14.3-14.2-25-28.6-25c0,0-0.1,0-0.1,0l-143.7,0.7c-14.5,0.1-26.8,11-28.5,25.4 l-18.6,156.9c-1,8.2,1.6,16.4,7.1,22.5s13.3,9.7,21.5,9.7h183.5c8.3,0,16.2-3.6,21.7-9.8C372.9,380.6,375.4,372.3,374.3,364z M186.4,217.1l132.8-0.6l6.4,47.6c-34.1,4.4-61,23.4-78.4,55.7c-8.5,15.8-12.9,31.5-15,41.9h-63L186.4,217.1z M268.1,361.7 c1.9-7.3,5-16.3,9.9-25.3c12-22.3,29.2-34.7,52.2-37.6l8.4,62.9H268.1z"}),(0,a.jsx)("path",{className:"st1",d:"M212.4,169.2c8.8,0,16-7.2,16-16c0-13.9,11.3-25.3,25.3-25.3c13.9,0,25.3,11.3,25.3,25.3c0,8.8,7.2,16,16,16 s16-7.2,16-16c0-31.6-25.7-57.3-57.3-57.3c-31.6,0-57.3,25.7-57.3,57.3C196.4,162.1,203.6,169.2,212.4,169.2z"})]})]}),i=({className:e="h-4 w-4"})=>(0,a.jsxs)("svg",{...r,viewBox:"0 0 24 24",className:e,children:[(0,a.jsx)("path",{d:"M18 6 6 18"}),(0,a.jsx)("path",{d:"m6 6 12 12"})]}),o=({className:e="w-4 h-4 block"})=>(0,a.jsx)("svg",{...r,width:24,height:24,viewBox:"0 0 24 24",className:e,children:(0,a.jsx)("path",{d:"M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z"})}),n=({className:e="w-4 h-4 block"})=>(0,a.jsx)("svg",{className:e,viewBox:"0 0 24 24",fill:"currentColor",children:(0,a.jsx)("path",{d:"M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z"})}),d="h-5 w-5 block color-current",c=({className:e=d})=>(0,a.jsxs)("svg",{...r,width:24,height:24,viewBox:"0 0 24 24",className:e,children:[(0,a.jsx)("rect",{width:7,height:9,x:3,y:3,rx:1}),(0,a.jsx)("rect",{width:7,height:5,x:14,y:3,rx:1}),(0,a.jsx)("rect",{width:7,height:9,x:14,y:12,rx:1}),(0,a.jsx)("rect",{width:7,height:5,x:3,y:16,rx:1})]}),x=({className:e="h-4 w-4"})=>(0,a.jsx)("svg",{...r,viewBox:"0 0 24 24",className:e,children:(0,a.jsx)("path",{d:"M20 6 9 17l-5-5"})}),m=({className:e="h-7 w-7",stroke:t="currentColor"})=>(0,a.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:28,height:28,viewBox:"0 0 24 24",fill:"none",stroke:t,strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round",className:e,children:[(0,a.jsx)("rect",{width:18,height:11,x:3,y:11,rx:2,ry:2}),(0,a.jsx)("path",{d:"M7 11V7a5 5 0 0 1 10 0v4"})]}),p=({className:e="h-5 w-5"})=>(0,a.jsxs)("svg",{...r,className:e,viewBox:"0 0 24 24",children:[(0,a.jsx)("path",{d:"M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2"}),(0,a.jsx)("circle",{cx:"12",cy:"7",r:"4"})]}),u=({className:e="h-5 w-5"})=>(0,a.jsxs)("svg",{...r,className:e,viewBox:"0 0 24 24",children:[(0,a.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,a.jsx)("path",{d:"M2 12h20M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z"})]}),h=({className:e="h-5 w-5"})=>(0,a.jsxs)("svg",{...r,className:e,viewBox:"0 0 24 24",children:[(0,a.jsx)("path",{d:"M4 19.5A2.5 2.5 0 0 1 6.5 17H20"}),(0,a.jsx)("path",{d:"M6.5 2H20v20H6.5A2.5 2.5 0 0 1 4 19.5v-15A2.5 2.5 0 0 1 6.5 2z"})]}),b=({className:e="h-5 w-5"})=>(0,a.jsx)("svg",{...r,className:e,viewBox:"0 0 24 24",children:(0,a.jsx)("path",{d:"M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.38 8.38 0 0 1-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.38 8.38 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8v.5z"})}),g=({className:e="h-5 w-5"})=>(0,a.jsxs)("svg",{...r,className:e,viewBox:"0 0 24 24",children:[(0,a.jsx)("polygon",{points:"23 7 16 12 23 17 23 7"}),(0,a.jsx)("rect",{x:"1",y:"5",width:"15",height:"14",rx:"2",ry:"2"})]}),f=({className:e="h-5 w-5"})=>(0,a.jsxs)("svg",{...r,className:e,viewBox:"0 0 24 24",children:[(0,a.jsx)("path",{d:"M12 20h9"}),(0,a.jsx)("path",{d:"M16.5 3.5a2.1 2.1 0 0 1 3 3L7 19l-4 1 1-4Z"})]}),j=({className:e="h-5 w-5"})=>(0,a.jsx)("svg",{...r,className:e,viewBox:"0 0 24 24",children:(0,a.jsx)("path",{d:"M18 2h-3a5 5 0 0 0-5 5v3H7v4h3v8h4v-8h3l1-4h-4V7a1 1 0 0 1 1-1h3z"})}),_={home:({className:e=d})=>(0,a.jsxs)("svg",{...r,width:24,height:24,viewBox:"0 0 24 24",className:e,children:[(0,a.jsx)("path",{d:"M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8"}),(0,a.jsx)("path",{d:"M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"})]}),grid:c,"currency-switcher":({className:e=d})=>(0,a.jsxs)("svg",{...r,width:24,height:24,viewBox:"0 0 24 24",className:e,children:[(0,a.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,a.jsx)("path",{d:"M16 8h-6a2 2 0 1 0 0 4h4a2 2 0 1 1 0 4H8"}),(0,a.jsx)("path",{d:"M12 18V6"})]}),"variation-swatches":({className:e=d})=>(0,a.jsxs)("svg",{...r,width:24,height:24,viewBox:"0 0 24 24",className:e,children:[(0,a.jsx)("path",{d:"M12 2.69l5.66 5.66a8 8 0 1 1-11.31 0z"}),(0,a.jsx)("circle",{cx:"7.5",cy:"10.5",r:".5",fill:"currentColor",stroke:"none"}),(0,a.jsx)("circle",{cx:"12",cy:"7.5",r:".5",fill:"currentColor",stroke:"none"}),(0,a.jsx)("circle",{cx:"16.5",cy:"10.5",r:".5",fill:"currentColor",stroke:"none"}),(0,a.jsx)("circle",{cx:"9",cy:"15.5",r:".5",fill:"currentColor",stroke:"none"})]}),settings:c,badge:({className:e=d})=>(0,a.jsxs)("svg",{...r,width:24,height:24,viewBox:"0 0 24 24",className:e,children:[(0,a.jsx)("path",{d:"M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z"}),(0,a.jsx)("circle",{cx:"16.5",cy:"7.5",r:".5",fill:"currentColor"})]}),star:o,woocommerce:({className:e=d})=>(0,a.jsxs)("svg",{...r,width:24,height:24,viewBox:"0 0 24 24",className:e,children:[(0,a.jsx)("path",{d:"M15 21v-5a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v5"}),(0,a.jsx)("path",{d:"M17.774 10.31a1.12 1.12 0 0 0-1.549 0 2.5 2.5 0 0 1-3.451 0 1.12 1.12 0 0 0-1.548 0 2.5 2.5 0 0 1-3.452 0 1.12 1.12 0 0 0-1.549 0 2.5 2.5 0 0 1-3.77-3.248l2.889-4.184A2 2 0 0 1 7 2h10a2 2 0 0 1 1.653.873l2.895 4.192a2.5 2.5 0 0 1-3.774 3.244"}),(0,a.jsx)("path",{d:"M4 10.95V19a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8.05"})]}),edd:({className:e=d})=>(0,a.jsxs)("svg",{...r,width:24,height:24,viewBox:"0 0 24 24",className:e,children:[(0,a.jsx)("path",{d:"M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"}),(0,a.jsx)("path",{d:"m7.5 4.21 4.5 2.6 4.5-2.6"}),(0,a.jsx)("path",{d:"M12 17.5V12"})]}),other:c,info:({className:e=d})=>(0,a.jsxs)("svg",{...r,width:24,height:24,viewBox:"0 0 24 24",className:e,children:[(0,a.jsx)("circle",{cx:12,cy:12,r:10}),(0,a.jsx)("path",{d:"M12 16v-4"}),(0,a.jsx)("path",{d:"M12 8h.01"})]}),"live-visitor-count":({className:e="h-5 w-5"})=>(0,a.jsxs)("svg",{...r,className:e,viewBox:"0 0 24 24",children:[(0,a.jsx)("path",{d:"M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"}),(0,a.jsx)("circle",{cx:"9",cy:"7",r:"4"}),(0,a.jsx)("path",{d:"M23 21v-2a4 4 0 0 0-3-3.87"}),(0,a.jsx)("path",{d:"M16 3.13a4 4 0 0 1 0 7.75"})]}),"sales-notification":({className:e="h-5 w-5"})=>(0,a.jsxs)("svg",{...r,className:e,viewBox:"0 0 24 24",children:[(0,a.jsx)("path",{d:"M18 8A6 6 0 0 0 6 8c0 7-3 9-3 9h18s-3-2-3-9"}),(0,a.jsx)("path",{d:"M13.73 21a2 2 0 0 1-3.46 0"})]}),"upsell-cross-sell":()=>(0,a.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round",className:"h-5 w-5 block color-current",children:[(0,a.jsx)("path",{d:"M6 2L3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4z"}),(0,a.jsx)("line",{x1:"3",y1:"6",x2:"21",y2:"6"}),(0,a.jsx)("path",{d:"M16 10a4 4 0 0 1-8 0"})]}),"flash-sale-countdown":({className:e=d})=>(0,a.jsx)("svg",{...r,width:24,height:24,viewBox:"0 0 24 24",className:e,children:(0,a.jsx)("polygon",{points:"13 2 3 14 12 14 11 22 21 10 12 10 13 2"})}),"back-order":({className:e=d})=>(0,a.jsxs)("svg",{...r,width:24,height:24,viewBox:"0 0 24 24",className:e,children:[(0,a.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,a.jsx)("polyline",{points:"12 6 12 12 16 14"})]}),"pre-order":({className:e=d})=>(0,a.jsxs)("svg",{...r,width:24,height:24,viewBox:"0 0 24 24",className:e,children:[(0,a.jsx)("rect",{x:"3",y:"4",width:"18",height:"18",rx:"2",ry:"2"}),(0,a.jsx)("line",{x1:"16",y1:"2",x2:"16",y2:"6"}),(0,a.jsx)("line",{x1:"8",y1:"2",x2:"8",y2:"6"}),(0,a.jsx)("line",{x1:"3",y1:"10",x2:"21",y2:"10"})]}),"multistep-checkout":({className:e=d})=>(0,a.jsxs)("svg",{...r,width:24,height:24,viewBox:"0 0 24 24",className:e,children:[(0,a.jsx)("path",{d:"M9 11l3 3L22 4"}),(0,a.jsx)("path",{d:"M21 12v7a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11"})]}),"vacation-mode":({className:e=d})=>(0,a.jsxs)("svg",{...r,width:24,height:24,viewBox:"0 0 24 24",className:e,children:[(0,a.jsx)("path",{d:"M14.5 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7.5L14.5 2z"}),(0,a.jsx)("polyline",{points:"14 2 14 8 20 8"}),(0,a.jsx)("path",{d:"M8 13h2"}),(0,a.jsx)("path",{d:"M8 17h2"}),(0,a.jsx)("path",{d:"M14 13h2"}),(0,a.jsx)("path",{d:"M14 17h2"})]}),"additional-checkout-fields":({className:e=d})=>(0,a.jsxs)("svg",{...r,width:24,height:24,viewBox:"0 0 24 24",className:e,children:[(0,a.jsx)("path",{d:"M16 6H3"}),(0,a.jsx)("path",{d:"M11 12H3"}),(0,a.jsx)("path",{d:"M16 18H3"}),(0,a.jsx)("path",{d:"M18 9v6"}),(0,a.jsx)("path",{d:"M21 12h-6"})]}),"buy-one-get-one":({className:e=d})=>(0,a.jsxs)("svg",{...r,width:24,height:24,viewBox:"0 0 24 24",className:e,children:[(0,a.jsx)("polyline",{points:"20 12 20 22 4 22 4 12"}),(0,a.jsx)("rect",{x:"2",y:"7",width:"20",height:"5"}),(0,a.jsx)("line",{x1:"12",y1:"22",x2:"12",y2:"7"}),(0,a.jsx)("path",{d:"M12 7H7.5a2.5 2.5 0 0 1 0-5C11 2 12 7 12 7z"}),(0,a.jsx)("path",{d:"M12 7h4.5a2.5 2.5 0 0 0 0-5C13 2 12 7 12 7z"})]})},k=({size:e=18,className:t="",children:s,strokeWidth:r=2})=>(0,a.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:e,height:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:r,strokeLinecap:"round",strokeLinejoin:"round",className:`block shrink-0 ${t}`,"aria-hidden":"true",focusable:"false",children:s}),w=e=>(0,a.jsxs)(k,{...e,children:[(0,a.jsx)("rect",{x:"3",y:"3",width:"7",height:"9",rx:"1"}),(0,a.jsx)("rect",{x:"14",y:"3",width:"7",height:"5",rx:"1"}),(0,a.jsx)("rect",{x:"14",y:"12",width:"7",height:"9",rx:"1"}),(0,a.jsx)("rect",{x:"3",y:"16",width:"7",height:"5",rx:"1"})]}),v=e=>(0,a.jsxs)(k,{...e,children:[(0,a.jsx)("rect",{x:"3",y:"3",width:"7",height:"7",rx:"1"}),(0,a.jsx)("rect",{x:"14",y:"3",width:"7",height:"7",rx:"1"}),(0,a.jsx)("rect",{x:"3",y:"14",width:"7",height:"7",rx:"1"}),(0,a.jsx)("rect",{x:"14",y:"14",width:"7",height:"7",rx:"1"})]}),y=e=>(0,a.jsx)(k,{...e,children:(0,a.jsx)("path",{d:"M15.39 4.39a1 1 0 0 0 1.68-.474 2.5 2.5 0 1 1 3.014 3.015 1 1 0 0 0-.474 1.68l1.683 1.682a2.414 2.414 0 0 1 0 3.414L19.61 15.39a1 1 0 0 1-1.68-.474 2.5 2.5 0 1 0-3.014 3.015 1 1 0 0 1 .474 1.68l-1.683 1.682a2.414 2.414 0 0 1-3.414 0L8.61 19.61a1 1 0 0 0-1.68.474 2.5 2.5 0 1 1-3.014-3.015 1 1 0 0 0 .474-1.68l-1.683-1.682a2.414 2.414 0 0 1 0-3.414L4.39 8.61a1 1 0 0 1 1.68.474 2.5 2.5 0 1 0 3.014-3.015 1 1 0 0 1-.474-1.68l1.683-1.682a2.414 2.414 0 0 1 3.414 0z"})}),N=e=>(0,a.jsxs)(k,{...e,children:[(0,a.jsx)("rect",{x:"3",y:"3",width:"18",height:"18",rx:"2"}),(0,a.jsx)("path",{d:"M3 9h18"}),(0,a.jsx)("path",{d:"M9 21V9"})]}),S=e=>(0,a.jsxs)(k,{...e,children:[(0,a.jsx)("path",{d:"m15.5 7.5 2.3 2.3a1 1 0 0 0 1.4 0l2.1-2.1a1 1 0 0 0 0-1.4L19 4"}),(0,a.jsx)("path",{d:"m21 2-9.6 9.6"}),(0,a.jsx)("circle",{cx:"7.5",cy:"15.5",r:"5.5"})]}),M=e=>(0,a.jsx)(k,{...e,children:(0,a.jsx)("path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z"})}),C=e=>(0,a.jsxs)(k,{...e,children:[(0,a.jsx)("circle",{cx:"12",cy:"12",r:"1"}),(0,a.jsx)("circle",{cx:"19",cy:"12",r:"1"}),(0,a.jsx)("circle",{cx:"5",cy:"12",r:"1"})]}),P=e=>(0,a.jsxs)(k,{...e,children:[(0,a.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,a.jsx)("path",{d:"M12 16v-4"}),(0,a.jsx)("path",{d:"M12 8h.01"})]}),z=e=>(0,a.jsx)(k,{...e,children:(0,a.jsx)("path",{d:"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20"})}),A=e=>(0,a.jsxs)(k,{...e,children:[(0,a.jsx)("circle",{cx:"11",cy:"11",r:"8"}),(0,a.jsx)("path",{d:"m21 21-4.3-4.3"})]}),L=e=>(0,a.jsx)(k,{...e,children:(0,a.jsx)("path",{d:"M3 14h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-7a9 9 0 0 1 18 0v7a2 2 0 0 1-2 2h-1a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h3"})}),E=e=>(0,a.jsx)(k,{...e,children:(0,a.jsx)("path",{d:"M9.94 15.5A2 2 0 0 0 8.5 14.06l-6.14-1.58a.5.5 0 0 1 0-.96L8.5 9.94A2 2 0 0 0 9.94 8.5l1.58-6.14a.5.5 0 0 1 .96 0L14.06 8.5A2 2 0 0 0 15.5 9.94l6.14 1.58a.5.5 0 0 1 0 .96L15.5 14.06a2 2 0 0 0-1.44 1.44l-1.58 6.14a.5.5 0 0 1-.96 0z"})}),B=e=>(0,a.jsxs)(k,{...e,children:[(0,a.jsx)("path",{d:"M5 12h14"}),(0,a.jsx)("path",{d:"m12 5 7 7-7 7"})]}),$=e=>(0,a.jsxs)(k,{...e,children:[(0,a.jsx)("path",{d:"m12 19-7-7 7-7"}),(0,a.jsx)("path",{d:"M19 12H5"})]}),D=e=>(0,a.jsx)(k,{...e,children:(0,a.jsx)("path",{d:"m9 18 6-6-6-6"})}),O=e=>(0,a.jsxs)(k,{...e,children:[(0,a.jsx)("path",{d:"M15 3h6v6"}),(0,a.jsx)("path",{d:"M10 14 21 3"}),(0,a.jsx)("path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"})]}),T=e=>(0,a.jsx)(k,{...e,children:(0,a.jsx)("path",{d:"M20 6 9 17l-5-5"})}),F=e=>(0,a.jsxs)(k,{...e,children:[(0,a.jsx)("path",{d:"M18 6 6 18"}),(0,a.jsx)("path",{d:"m6 6 12 12"})]}),R=e=>(0,a.jsxs)(k,{...e,children:[(0,a.jsx)("path",{d:"M2.06 12.35a1 1 0 0 1 0-.7 10.75 10.75 0 0 1 19.88 0 1 1 0 0 1 0 .7 10.75 10.75 0 0 1-19.88 0"}),(0,a.jsx)("circle",{cx:"12",cy:"12",r:"3"})]}),W=e=>(0,a.jsxs)(k,{...e,children:[(0,a.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,a.jsx)("path",{d:"m10 8 6 4-6 4Z"})]}),U=e=>(0,a.jsxs)(k,{...e,children:[(0,a.jsx)("path",{d:"M12 22v-5"}),(0,a.jsx)("path",{d:"M9 8V2"}),(0,a.jsx)("path",{d:"M15 8V2"}),(0,a.jsx)("path",{d:"M18 8v5a4 4 0 0 1-4 4h-4a4 4 0 0 1-4-4V8Z"})]}),I=e=>(0,a.jsx)(k,{...e,children:(0,a.jsx)("path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2"})}),H=e=>(0,a.jsxs)(k,{...e,children:[(0,a.jsx)("path",{d:"m12 14 4-4"}),(0,a.jsx)("path",{d:"M3.34 19a10 10 0 1 1 17.32 0"})]}),V=e=>(0,a.jsxs)(k,{...e,children:[(0,a.jsx)("circle",{cx:"8",cy:"21",r:"1"}),(0,a.jsx)("circle",{cx:"19",cy:"21",r:"1"}),(0,a.jsx)("path",{d:"M2.05 2.05h2l2.66 12.42a2 2 0 0 0 2 1.58h9.78a2 2 0 0 0 1.95-1.57l1.65-7.43H5.12"})]}),K=e=>(0,a.jsxs)(k,{...e,children:[(0,a.jsx)("path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"}),(0,a.jsx)("path",{d:"m7 10 5 5 5-5"}),(0,a.jsx)("path",{d:"M12 15V3"})]}),G=e=>(0,a.jsxs)(k,{...e,children:[(0,a.jsx)("path",{d:"m12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83Z"}),(0,a.jsx)("path",{d:"m22 17.65-9.17 4.16a2 2 0 0 1-1.66 0L2 17.65"}),(0,a.jsx)("path",{d:"m22 12.65-9.17 4.16a2 2 0 0 1-1.66 0L2 12.65"})]}),J=e=>(0,a.jsx)(k,{...e,children:(0,a.jsx)("path",{d:"M7.9 20A9 9 0 1 0 4 16.1L2 22Z"})}),q={blue:{tile:"bg-[#eef3ff] text-[#2f5bea]",bar:"#2f5bea"},navy:{tile:"bg-[#e8edf8] text-[#00216A]",bar:"#00216A"},green:{tile:"bg-[#ecfdf3] text-[#16a34a]",bar:"#16a34a"},violet:{tile:"bg-[#f3efff] text-[#7c3aed]",bar:"#8b5cf6"},amber:{tile:"bg-[#fff7ed] text-[#d97706]",bar:"#f59e0b"},rose:{tile:"bg-[#fff1f2] text-[#e11d48]",bar:"#e11d48"},teal:{tile:"bg-[#ecfeff] text-[#0e9488]",bar:"#14b8a6"},slate:{tile:"bg-[#f4f4f5] text-[#52525b]",bar:"#71717a"}},X={sm:"w-8 h-8 rounded-[9px]",md:"w-[34px] h-[34px] rounded-[10px]",lg:"w-10 h-10 rounded-tile",xl:"w-11 h-11 rounded-tile"},Z=({icon:e,glyph:t,accent:s="blue",size:r="lg",iconSize:l=18})=>(0,a.jsx)("span",{className:`grid shrink-0 place-items-center ${X[r]||X.lg} ${(q[s]||q.blue).tile}`,"aria-hidden":"true",children:t?(0,a.jsx)("i",{className:`${t} text-[18px] leading-none`}):e?(0,a.jsx)(e,{size:l}):null}),Y=({percent:e=0,color:t="#2f5bea",height:s=6,className:r=""})=>(0,a.jsx)("div",{className:`w-full overflow-hidden rounded-full bg-[#eef0f3] ${r}`,style:{height:s},role:"progressbar","aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":Math.round(e),children:(0,a.jsx)("div",{className:"h-full rounded-full transition-[width] duration-500",style:{width:`${Math.max(0,Math.min(100,e))}%`,background:t}})}),Q=({title:e,action:t,children:s,className:r="",bodyClassName:l="p-[18px]"})=>(0,a.jsxs)("section",{className:`rounded-card border border-solid border-[#e9e9ed] bg-white ${r}`,children:[e?(0,a.jsxs)("header",{className:"flex items-center justify-between gap-3 px-[18px] pt-[18px]",children:[(0,a.jsx)("h2",{className:"m-0 text-[16px] font-bold tracking-[-.01em] text-[#0f1115]",children:e}),t]}):null,(0,a.jsx)("div",{className:l,children:s})]}),ee={green:"text-[#15803d] bg-[#ecfdf3]",blue:"text-[#2f5bea] bg-[#eef3ff]",amber:"text-[#b45309] bg-[#fff7ed]",rose:"text-[#be123c] bg-[#fff1f2]",neutral:"text-[#6d6d74] bg-[#f4f4f5]"},te=({tone:e="neutral",children:t,className:s=""})=>(0,a.jsx)("span",{className:`inline-flex items-center whitespace-nowrap rounded-full px-2 py-[3px] text-[11px] font-bold leading-none ${ee[e]||ee.neutral} ${s}`,children:t}),se=()=>(0,a.jsx)("span",{className:"inline-flex items-center rounded-full bg-gradient-brand px-[7px] py-[3px] text-[9.5px] font-extrabold leading-none tracking-[.06em] text-white",children:"PRO"}),ae=({isPro:e,isProPluginActive:t})=>t&&e?(0,a.jsxs)("span",{className:"flex items-center gap-[7px] rounded-full border border-solid border-[#c6f0d4] bg-[#ecfdf3] px-[15px] py-[9px] text-[13px] font-bold text-[#15803d] max-lg:hidden",children:[(0,a.jsx)("span",{className:"h-2 w-2 rounded-full bg-[#22c55e] shadow-[0_0_0_3px_rgba(34,197,94,.2)]"}),(0,s.__)("License active","ultimate-store-kit")]}):t?(0,a.jsxs)("span",{className:"flex items-center gap-[7px] rounded-full border border-solid border-[#fde2b8] bg-[#fff7ed] px-[15px] py-[9px] text-[13px] font-bold text-[#b45309] max-lg:hidden",children:[(0,a.jsx)("span",{className:"h-2 w-2 rounded-full bg-[#f59e0b]"}),(0,s.__)("License inactive","ultimate-store-kit")]}):(0,a.jsxs)("span",{className:"flex items-center gap-[7px] rounded-full border border-solid border-[#e6e6ea] bg-[#f4f5f7] px-[15px] py-[9px] text-[13px] font-bold text-[#52525b] max-lg:hidden",children:[(0,a.jsx)("span",{className:"h-2 w-2 rounded-full bg-[#a1a1aa]"}),(0,s.__)("Free version","ultimate-store-kit")]}),re=({items:t,onClose:r,onSelect:l})=>{const[i,o]=(0,e.useState)(""),[n,d]=(0,e.useState)(0),c=(0,e.useRef)(null),x=(0,e.useMemo)(()=>{const e=i.trim().toLowerCase();return(e?t.filter(t=>`${t.label} ${t.group}`.toLowerCase().includes(e)):t.filter(e=>e.group!==(0,s.__)("Widgets","ultimate-store-kit"))).slice(0,12)},[t,i]);return(0,e.useEffect)(()=>{c.current?.focus()},[]),(0,e.useEffect)(()=>{d(0)},[i]),(0,a.jsx)("div",{className:"fixed inset-0 z-[100000] flex items-start justify-center bg-[rgba(15,17,21,.45)] px-4 pt-[12vh]",onMouseDown:e=>e.target===e.currentTarget&&r(),children:(0,a.jsxs)("div",{role:"dialog","aria-modal":"true","aria-label":(0,s.__)("Search","ultimate-store-kit"),className:"w-full max-w-[560px] animate-usk-pop overflow-hidden rounded-card border border-solid border-[#e6e6ea] bg-white shadow-pop",children:[(0,a.jsxs)("div",{className:"flex items-center gap-3 border-0 border-b border-solid border-[#eef0f3] px-[18px] py-[14px] text-[#6c6c75]",children:[(0,a.jsx)(A,{size:18}),(0,a.jsx)("input",{ref:c,type:"text",value:i,onChange:e=>o(e.target.value),onKeyDown:e=>{"Escape"===e.key?(e.preventDefault(),r()):"ArrowDown"===e.key?(e.preventDefault(),d(e=>Math.min(e+1,x.length-1))):"ArrowUp"===e.key?(e.preventDefault(),d(e=>Math.max(e-1,0))):"Enter"===e.key&&x[n]&&(e.preventDefault(),l(x[n]))},placeholder:(0,s.__)("Search widgets, modules and pages…","ultimate-store-kit"),className:"!m-0 w-full !border-0 !bg-transparent !p-0 text-[15px] text-[#0f1115] !shadow-none !outline-none",role:"combobox","aria-expanded":"true","aria-controls":"usk-search-results","aria-activedescendant":x[n]?`usk-search-${n}`:void 0}),(0,a.jsx)("kbd",{className:"rounded-md border border-solid border-[#e6e6ea] px-1.5 py-0.5 text-[11px] font-semibold text-[#6c6c75]",children:"esc"})]}),(0,a.jsx)("ul",{id:"usk-search-results",role:"listbox",className:"m-0 max-h-[360px] list-none overflow-y-auto p-2",children:0===x.length?(0,a.jsx)("li",{className:"px-3 py-6 text-center text-[13px] text-[#6c6c75]",children:(0,s.__)("Nothing found.","ultimate-store-kit")}):x.map((e,t)=>(0,a.jsxs)("li",{id:`usk-search-${t}`,role:"option","aria-selected":t===n,onMouseEnter:()=>d(t),onMouseDown:t=>{t.preventDefault(),l(e)},className:"m-0 flex cursor-pointer items-center justify-between gap-3 rounded-[10px] px-3 py-[10px] text-[13.5px] font-semibold "+(t===n?"bg-[#fff1f2] text-[#e30c1d]":"text-[#27272a]"),children:[(0,a.jsx)("span",{children:e.label}),(0,a.jsxs)("span",{className:"flex items-center gap-2 text-[11.5px] font-medium text-[#8a8a93]",children:[e.group,(0,a.jsx)(B,{size:13})]})]},`${e.group}-${e.id}`))})]})})},le=({version:r,isPro:i,isProPluginActive:o,templateBuilderUrl:n,searchItems:d=[],onSearchSelect:c})=>{const[x,m]=(0,e.useState)(!1),p="undefined"!=typeof navigator&&/Mac|iPhone|iPad/.test(navigator.platform||"");(0,e.useEffect)(()=>{const e=e=>{(e.metaKey||e.ctrlKey)&&"k"===(e.key||"").toLowerCase()&&(e.preventDefault(),e.stopImmediatePropagation(),m(e=>!e))};return window.addEventListener("keydown",e,!0),()=>window.removeEventListener("keydown",e,!0)},[]);const u=(0,t.applyFilters)("usk.admin.headerExtra",null),h=(0,t.applyFilters)("usk.admin.pages",{}),b=!i&&!h.license,g="inline-flex items-center gap-[7px] rounded-full bg-gradient-brand px-[22px] py-[11px] text-[13.5px] font-extrabold text-white no-underline shadow-glow transition-all duration-200 hover:-translate-y-px hover:text-white hover:shadow-glow-lg max-[640px]:px-[15px]";return(0,a.jsxs)("div",{className:"flex min-h-[80px] flex-wrap items-center justify-between gap-5 px-[26px] py-[18px] max-[900px]:gap-3 max-[900px]:px-[15px] max-[900px]:py-[13px]",children:[(0,a.jsxs)("div",{className:"flex min-w-0 items-center gap-3",children:[(0,a.jsx)(l,{className:"block h-9 w-9"}),(0,a.jsx)("span",{className:"whitespace-nowrap text-[19px] font-extrabold tracking-[-.02em] text-[#0f1115] max-[480px]:text-[16px]",children:(0,s.__)("Ultimate Store Kit","ultimate-store-kit")}),i?(0,a.jsx)(se,{}):null,r?(0,a.jsxs)("span",{className:"text-[12.5px] font-bold text-[#6c6c75]",children:["v",r]}):null]}),(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-[10px]",children:[(0,a.jsx)(ae,{isPro:i,isProPluginActive:o}),(0,a.jsxs)("button",{type:"button",onClick:()=>m(!0),className:"flex cursor-pointer items-center gap-2 rounded-full border border-solid border-[#e6e6ea] bg-[#f4f5f7] py-[9px] pl-[14px] pr-[9px] text-[13px] font-semibold text-[#6c6c75] transition-colors hover:border-[#e30c1d] hover:text-[#e30c1d] max-md:hidden","aria-label":(0,s.__)("Search","ultimate-store-kit"),children:[(0,a.jsx)(A,{size:15}),(0,s.__)("Search","ultimate-store-kit"),(0,a.jsxs)("span",{className:"flex gap-1",children:[(0,a.jsx)("kbd",{className:"rounded-md border border-solid border-[#e2e2e6] bg-white px-[6px] text-[11px] font-semibold",children:p?"⌘":"Ctrl"}),(0,a.jsx)("kbd",{className:"rounded-md border border-solid border-[#e2e2e6] bg-white px-[6px] text-[11px] font-semibold",children:"K"})]})]}),u?(0,a.jsx)(u,{}):null,(0,a.jsxs)("a",{href:"https://bdthemes.com/knowledge-base/ultimate-store-kit/",target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-[6px] rounded-full border-[1.5px] border-solid border-[#e2e2e6] bg-white px-[17px] py-[10px] text-[13.5px] font-bold text-[#27272a] no-underline transition-colors hover:border-[#e30c1d] hover:text-[#e30c1d] max-[640px]:hidden",children:[(0,a.jsx)(z,{size:14}),(0,s.__)("Docs","ultimate-store-kit")]}),b?(0,a.jsxs)("a",{href:"https://storekit.pro/pricing/",target:"_blank",rel:"noopener noreferrer",className:g,children:[(0,a.jsx)(M,{size:14}),(0,s.__)("Get Pro","ultimate-store-kit")]}):(0,a.jsxs)("a",{href:n,className:g,children:[(0,a.jsx)(N,{size:14}),(0,s.__)("Template Builder","ultimate-store-kit")]})]}),x?(0,a.jsx)(re,{items:d,onClose:()=>m(!1),onSelect:e=>{m(!1),c?.(e)}}):null]})},ie=({tab:e,onClick:t,expanded:s,controls:r,buttonRef:l,tabIndex:i})=>{const o=e.icon,n="flex shrink-0 cursor-pointer items-center gap-[7px] whitespace-nowrap rounded-full border-0 px-4 py-[11px] text-sm font-bold no-underline transition-all duration-200 "+(e.active?"bg-gradient-brand text-white shadow-glow hover:text-white":"bg-transparent text-[#52525b] hover:bg-[#f3f5f8] hover:text-[#18181b]"),d=(0,a.jsxs)(a.Fragment,{children:[o?(0,a.jsx)(o,{size:17}):null,e.label]});return e.href?(0,a.jsx)("a",{href:e.href,className:n,tabIndex:i,children:d}):(0,a.jsx)("button",{ref:l,type:"button",onClick:t,className:n,tabIndex:i,"aria-current":e.active?"page":void 0,"aria-expanded":s,"aria-haspopup":void 0===s?void 0:"menu","aria-controls":r,children:d})},oe=({tabs:t,moreItems:r=[],onNavigate:l})=>{const[i,o]=(0,e.useState)(!1),n=(0,e.useRef)(null),d=(0,e.useRef)(null),[c,x]=(0,e.useState)(16),m=(0,e.useRef)(null),p=(0,e.useRef)(null),u=(0,e.useRef)([]),h=(0,e.useRef)(0),[b,g]=(0,e.useState)(t.length),f=(0,e.useCallback)(()=>{const e=m.current,t=u.current;if(!e||!t.length)return;const s=window.getComputedStyle(e),a=e.clientWidth-parseFloat(s.paddingLeft)-parseFloat(s.paddingRight);let l=0;if(t.forEach((e,t)=>{l+=e+(t>0?4:0)}),l<=a&&0===r.length)return void g(e=>e===t.length?e:t.length);const i=a-h.current-4;let o=0,n=0;for(let e=0;e<t.length;e++){const s=t[e]+(n>0?4:0);if(o+s>i)break;o+=s,n+=1}g(e=>e===n?e:n)},[r.length]);(0,e.useLayoutEffect)(()=>{const e=p.current;if(!e)return;const t=Array.from(e.children),s=t.pop();u.current=t.map(e=>e.getBoundingClientRect().width),h.current=s?s.getBoundingClientRect().width:0,f()}),(0,e.useEffect)(()=>{const e=m.current;if(!e||void 0===window.ResizeObserver)return window.addEventListener("resize",f),()=>window.removeEventListener("resize",f);const t=new window.ResizeObserver(()=>f());return t.observe(e),()=>t.disconnect()},[f]);const j=t.slice(0,b),_=[...t.slice(b),...r];(0,e.useEffect)(()=>{if(!i)return;const e=e=>{n.current&&!n.current.contains(e.target)&&o(!1)},t=e=>{"Escape"===e.key&&(o(!1),d.current?.focus())};return document.addEventListener("mousedown",e),document.addEventListener("keydown",t),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("keydown",t)}},[i]),(0,e.useEffect)(()=>{0===_.length&&o(!1)},[_.length]);const k=e=>{o(!1),e.href?window.location.href=e.href:l(e.key)},w=i||_.some(e=>e.active),v={key:"more",label:(0,s.__)("More","ultimate-store-kit"),icon:C,active:w};return(0,a.jsxs)("div",{ref:n,className:"relative rounded-b-card border-0 border-t border-solid border-[#eef0f3] bg-[#fafbfc]",children:[(0,a.jsx)("div",{"aria-hidden":"true",className:"pointer-events-none absolute inset-x-0 top-0 overflow-hidden",children:(0,a.jsxs)("div",{ref:p,className:"invisible flex w-max gap-1 px-4 py-2",children:[t.map(e=>(0,a.jsx)(ie,{tab:{...e,active:!1,href:void 0},onClick:()=>{},tabIndex:-1},e.key)),(0,a.jsx)(ie,{tab:{...v,active:!1},onClick:()=>{},tabIndex:-1})]})}),(0,a.jsxs)("nav",{ref:m,className:"flex flex-nowrap items-center gap-1 overflow-hidden px-4 py-2","aria-label":(0,s.__)("Ultimate Store Kit","ultimate-store-kit"),children:[j.map(e=>(0,a.jsx)(ie,{tab:e,onClick:()=>k(e)},e.key)),_.length>0?(0,a.jsx)(ie,{buttonRef:d,tab:v,expanded:i,controls:"usk-more-menu",onClick:()=>{if(!i&&d.current&&n.current){const e=d.current.getBoundingClientRect(),t=n.current.getBoundingClientRect();x(Math.max(8,Math.min(e.left-t.left,t.width-236)))}o(e=>!e)}}):null]}),i&&_.length?(0,a.jsx)("div",{id:"usk-more-menu",role:"menu",style:{left:c},className:"absolute top-full z-50 mt-1 min-w-[228px] animate-usk-pop overflow-hidden rounded-panel border border-solid border-[#e6e6ea] bg-white py-1.5 shadow-pop",children:_.map(e=>{const t=e.icon;return(0,a.jsxs)("button",{type:"button",role:"menuitem",onClick:()=>k(e),"aria-current":e.active?"page":void 0,className:"box-border flex w-full cursor-pointer items-center gap-[10px] border-0 px-[14px] py-[10px] text-left text-[13.5px] font-bold transition-colors "+(e.active?"bg-[#fff1f2] text-[#e30c1d]":"bg-transparent text-[#3f3f46] hover:bg-[#f3f5f8]"),children:[(0,a.jsx)("span",{className:e.active?"text-[#e30c1d]":"text-[#6c6c75]",children:t?(0,a.jsx)(t,{size:16}):null}),(0,a.jsx)("span",{className:"flex-1",children:e.label}),e.badge?(0,a.jsx)("span",{className:"rounded-full bg-[#f4f4f5] px-1.5 py-0.5 text-[10px] font-bold text-[#6d6d74]",children:e.badge}):null]},e.key)})}):null]})},ne=(e,t,s)=>{if("pro"===e.widget_type&&!s)return!1;const a=e.dependency;return!!(!a||a.isInstalled&&a.isActive)&&(null!=t?"on"===t:"on"===e.default)},de=[{id:"currency-switcher",label:(0,s.__)("Currency Switcher","ultimate-store-kit"),description:(0,s.__)("Enable to allow currency switching on your store.","ultimate-store-kit"),icon:"currency-switcher",badge:"Pro",proPlaceholder:!0},{id:"variation-swatches",label:(0,s.__)("Variation Swatches","ultimate-store-kit"),description:(0,s.__)("Enable to display product variation swatches on your store.","ultimate-store-kit"),icon:"variation-swatches",badge:"Pro",proPlaceholder:!0},{id:"live-visitor-count",label:(0,s.__)("Live Visitor Count","ultimate-store-kit"),description:(0,s.__)("Display live visitor count on product pages to create urgency.","ultimate-store-kit"),icon:"live-visitor-count",badge:"Pro",proPlaceholder:!0},{id:"sales-notification",label:(0,s.__)("Sales Notification","ultimate-store-kit"),description:(0,s.__)("Show recent purchases as a floating popup to build social proof.","ultimate-store-kit"),icon:"sales-notification",badge:"Pro",proPlaceholder:!0},{id:"upsell-cross-sell",label:(0,s.__)("Upsell & Cross-Sell","ultimate-store-kit"),description:(0,s.__)("Display upsell and cross-sell products on product pages to increase sales.","ultimate-store-kit"),icon:"upsell-cross-sell",badge:"Pro",proPlaceholder:!0},{id:"multistep-checkout",label:(0,s.__)("Multistep Checkout","ultimate-store-kit"),description:(0,s.__)("Split checkout into clear, guided steps to reduce abandoned carts.","ultimate-store-kit"),icon:"multistep-checkout",badge:"Pro",proPlaceholder:!0},{id:"vacation-mode",label:(0,s.__)("Vacation Mode","ultimate-store-kit"),description:(0,s.__)("Pause orders and show a store notice while you are away.","ultimate-store-kit"),icon:"vacation-mode",badge:"Pro",proPlaceholder:!0},{id:"additional-checkout-fields",label:(0,s.__)("Additional Checkout Fields","ultimate-store-kit"),description:(0,s.__)("Add custom fields to the checkout and show them in orders and emails.","ultimate-store-kit"),icon:"additional-checkout-fields",badge:"Pro",proPlaceholder:!0},{id:"buy-one-get-one",label:(0,s.__)("Buy One Get One","ultimate-store-kit"),description:(0,s.__)("Run BOGO deals, free gifts and quantity discounts.","ultimate-store-kit"),icon:"buy-one-get-one",badge:"Pro",proPlaceholder:!0}],ce={"flash-sale-countdown":(0,s.__)("Show a countdown timer on products with a scheduled sale to create urgency.","ultimate-store-kit"),"back-order":(0,s.__)("Show backorder status, custom messages and a restock countdown on product pages.","ultimate-store-kit"),"pre-order":(0,s.__)("Take orders for products before they are released, with a release date countdown.","ultimate-store-kit")},xe=()=>(0,t.applyFilters)("usk.admin.placeholderModules",de),me=[{id:"dashboard",group:(0,s.__)("Dashboard","ultimate-store-kit"),items:[{id:"welcome",label:(0,s.__)("Welcome","ultimate-store-kit"),icon:"home"}]},{id:"widgets",group:(0,s.__)("Widgets","ultimate-store-kit"),items:[{id:"woocommerce-widgets",label:(0,s.__)("WooCommerce","ultimate-store-kit"),icon:"woocommerce"},{id:"edd-widgets",label:(0,s.__)("EDD","ultimate-store-kit"),icon:"edd"},{id:"other-widgets",label:(0,s.__)("Others","ultimate-store-kit"),icon:"other"}]},{id:"modules",group:(0,s.__)("Modules","ultimate-store-kit"),items:[]},{id:"support",group:(0,s.__)("Support","ultimate-store-kit"),items:[{id:"get-pro",label:(0,s.__)("Get Pro","ultimate-store-kit"),icon:"star"},{id:"about",label:(0,s.__)("About & Info","ultimate-store-kit"),icon:"info"}]}],pe=e=>{const t=`${(e.id||"").toLowerCase()} ${(e.label||"").toLowerCase()}`;return t.includes("currency")?"currency-switcher":t.includes("swatch")||t.includes("variation")?"variation-swatches":t.includes("visitor")||t.includes("live")?"live-visitor-count":t.includes("sales-notification")||t.includes("notification")?"sales-notification":t.includes("flash-sale")||t.includes("flash sale")?"flash-sale-countdown":t.includes("back-order")||t.includes("back order")||t.includes("backorder")?"back-order":t.includes("pre-order")||t.includes("pre order")||t.includes("preorder")?"pre-order":"grid"},ue=(e,t)=>{const s=xe().find(t=>t.id===e.id),a=((window.ultimateStoreKitProData||{}).pages||{})[e.id],r=e.id.startsWith("settings-")?e.id.slice(9):e.id,l=t&&t.ultimate_store_kit_other_settings||{},i="on"===l[r]||"yes"===l[r]?"on":"off";return{description:a&&a.description||s&&s.description||ce[e.icon]||"",status:i}},he=window.ultimateStoreKitAdminData||{},be="ultimate_store_kit_active_modules",ge="ultimate_store_kit_edd_modules",fe="ultimate_store_kit_general_modules",je=(e,t,s)=>{let a=0,r=0;return(e||[]).forEach(e=>{"checkbox"===e.type&&(r++,ne(e,(t||{})[e.name],s)&&a++)}),{active:a,total:r,percent:r?Math.round(a/r*100):0}},_e=({icon:e,accent:t,value:s,label:r,pill:l,pillTone:i})=>(0,a.jsxs)("div",{className:"rounded-card border border-solid border-[#e9e9ed] bg-white p-[18px] transition-all duration-200 hover:-translate-y-[3px] hover:shadow-lift",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[(0,a.jsx)(Z,{icon:e,accent:t,size:"lg",iconSize:20}),l?(0,a.jsx)(te,{tone:i,children:l}):null]}),(0,a.jsx)("div",{className:"mt-[14px] text-[34px] font-black leading-none tracking-[-.03em] text-[#0f1115]",children:s}),(0,a.jsx)("div",{className:"mt-2 text-[12.5px] font-medium text-[#6c6c75]",children:r})]}),ke=({icon:e,accent:t,metric:r,label:l})=>(0,a.jsxs)("div",{className:"rounded-panel border border-solid border-[#e9e9ed] bg-white px-[18px] py-4",children:[(0,a.jsxs)("div",{className:"flex items-center gap-[10px]",children:[(0,a.jsx)(Z,{icon:e,accent:t,size:"md",iconSize:16}),(0,a.jsxs)("div",{children:[(0,a.jsxs)("div",{className:"text-[22px] font-black leading-none tracking-[-.02em] text-[#0f1115]",children:[r.percent,"%"]}),(0,a.jsx)("div",{className:"mt-[3px] text-xs font-semibold text-[#52525b]",children:l})]})]}),(0,a.jsx)(Y,{percent:r.percent,className:"mt-[13px]",color:{green:"#16a34a",violet:"#8b5cf6",amber:"#f59e0b",blue:"#2f5bea"}[t]}),(0,a.jsx)("div",{className:"mt-[7px] text-[11px] text-[#6d6d74]",children:(0,s.sprintf)(/* translators: 1: enabled widgets, 2: all widgets. */ /* translators: 1: enabled widgets, 2: all widgets. */
     2(0,s.__)("%1$d of %2$d enabled","ultimate-store-kit"),r.active,r.total)})]}),we=({icon:e,accent:t,title:s,sub:r,onClick:l,href:i,external:o})=>{const n="group flex cursor-pointer flex-col gap-[10px] rounded-panel border border-solid border-[#ececf0] bg-white p-4 text-left no-underline transition-all duration-200 hover:-translate-y-[2px] hover:border-[#fbc8cd] hover:shadow-lift",d=(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(Z,{icon:e,accent:t,size:"md",iconSize:16}),(0,a.jsxs)("span",{children:[(0,a.jsx)("span",{className:"block text-[14px] font-bold text-[#0f1115]",children:s}),(0,a.jsx)("span",{className:"mt-0.5 block text-[12px] text-[#8a8a93]",children:r})]})]});return i?(0,a.jsx)("a",{href:i,className:n,target:o?"_blank":void 0,rel:o?"noopener noreferrer":void 0,children:d}):(0,a.jsx)("button",{type:"button",onClick:l,className:n,children:d})},ve={ok:"bg-[#22c55e]",warn:"bg-[#f59e0b]",bad:"bg-[#ef4444]"},ye={ok:"text-[#15803d]",warn:"text-[#b45309]",bad:"text-[#b91c1c]"},Ne=({release:e,current:t,color:r})=>(0,a.jsxs)("li",{className:"relative m-0 border-0 pb-4 pl-5 last:pb-0",children:[(0,a.jsx)("span",{className:"absolute left-0 top-[6px] h-2 w-2 rounded-full",style:{background:r}}),(0,a.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,a.jsxs)("span",{className:"flex items-center gap-2 text-[14px] font-bold text-[#0f1115]",children:["v",e.version,t?(0,a.jsx)("span",{className:"rounded-full bg-gradient-brand px-2 py-[3px] text-[10px] font-extrabold uppercase tracking-[.06em] text-white",children:(0,s.__)("Current","ultimate-store-kit")}):null]}),e.date?(0,a.jsx)("span",{className:"text-[12px] text-[#8a8a93]",children:e.date}):null]}),e.summary?(0,a.jsx)("p",{className:"m-0 mt-1 line-clamp-2 text-[12.5px] leading-relaxed text-[#52525b]",children:e.summary}):null,(0,a.jsxs)("div",{className:"mt-2 flex flex-wrap gap-1.5",children:[e.counts?.added?(0,a.jsx)(te,{tone:"green",children:(0,s.sprintf)(/* translators: %d: count. */ /* translators: %d: count. */(0,s.__)("%d added","ultimate-store-kit"),e.counts.added)}):null,e.counts?.fixed?(0,a.jsx)(te,{tone:"blue",children:(0,s.sprintf)(/* translators: %d: count. */ /* translators: %d: count. */(0,s.__)("%d fixed","ultimate-store-kit"),e.counts.fixed)}):null,e.counts?.updated?(0,a.jsx)(te,{tone:"amber",children:(0,s.sprintf)(/* translators: %d: count. */ /* translators: %d: count. */(0,s.__)("%d updated","ultimate-store-kit"),e.counts.updated)}):null]})]}),Se=["#22c55e","#2f5bea","#8b5cf6","#f59e0b","#14b8a6"],Me=({widgets:r,settings:l,isPro:i=!1,moduleItems:o=[],onNavigate:n})=>{const d=(0,e.useMemo)(()=>{const e=je(r[be],l[be],i),t=je(r[ge],l[ge],i),s=je(r[fe],l[fe],i),a=o.filter(e=>"on"===ue(e,l).status).length;return{wc:e,edd:t,other:s,total:e.total+t.total+s.total,active:e.active+t.active+s.active,modulesActive:a}},[r,l,i,o]),c=[];"on"===((l.ultimate_store_kit_other_settings||{})["asset-manager"]||"off")||c.push({key:"performance",icon:H,accent:"green",title:(0,s.__)("Optimize asset loading","ultimate-store-kit"),text:(0,s.__)("Turn on Asset Optimization so pages only load the CSS/JS they use.","ultimate-store-kit"),link:(0,s.__)("Open performance","ultimate-store-kit"),page:"performance"}),Number(he.templatesActive)||c.push({key:"templates",icon:N,accent:"amber",title:(0,s.__)("Design your shop pages","ultimate-store-kit"),text:(0,s.__)("Build shop, product, cart and checkout templates with Elementor.","ultimate-store-kit"),link:(0,s.__)("Open Template Builder","ultimate-store-kit"),href:he.templateBuilderUrl}),o.length&&!d.modulesActive&&c.push({key:"modules",icon:y,accent:"violet",title:(0,s.__)("Switch on a store module","ultimate-store-kit"),text:(0,s.__)("Size charts, badges, free shipping bar, quick checkout and more.","ultimate-store-kit"),link:(0,s.__)("Browse modules","ultimate-store-kit"),page:"modules"});const x=(0,t.applyFilters)("usk.admin.welcomeExtra",null),m=!!(0,t.applyFilters)("usk.admin.pages",{}).license,p=he.releases||[],u=he.system||[],h=e=>n&&n(e);return(0,a.jsxs)("div",{children:[(0,a.jsxs)("div",{className:"mb-[22px]",children:[(0,a.jsx)("h1",{className:"m-0 text-[28px] font-extrabold tracking-[-.02em] text-[#0f1115]",children:he.userName?(0,s.sprintf)(/* translators: %s: user display name. */ /* translators: %s: user display name. */
     3(0,s.__)("Welcome back, %s","ultimate-store-kit"),he.userName):(0,s.__)("Welcome back","ultimate-store-kit")}),(0,a.jsx)("p",{className:"m-0 mt-1.5 text-[13.5px] text-[#6c6c75]",children:(0,s.__)("Here's what's happening across your store.","ultimate-store-kit")})]}),(0,a.jsxs)("div",{className:"grid grid-cols-4 gap-[14px] max-[1024px]:grid-cols-2 max-[560px]:grid-cols-1",children:[(0,a.jsx)(_e,{icon:v,accent:"blue",value:d.total,label:(0,s.__)("Total widgets","ultimate-store-kit")}),(0,a.jsx)(_e,{icon:M,accent:"green",value:d.active,label:(0,s.__)("Widgets enabled","ultimate-store-kit"),pill:(0,s.__)("live","ultimate-store-kit"),pillTone:"blue"}),(0,a.jsx)(_e,{icon:y,accent:"violet",value:d.modulesActive,label:(0,s.__)("Modules active","ultimate-store-kit"),pill:(0,s.sprintf)(/* translators: %d: number of modules. */ /* translators: %d: number of modules. */(0,s.__)("of %d","ultimate-store-kit"),o.length)}),(0,a.jsx)(_e,{icon:N,accent:"amber",value:he.templatesCount||0,label:(0,s.__)("Builder templates","ultimate-store-kit"),pill:Number(he.templatesActive)>0?(0,s.sprintf)(/* translators: %d: active templates. */ /* translators: %d: active templates. */(0,s.__)("%d active","ultimate-store-kit"),Number(he.templatesActive)):null,pillTone:"green"})]}),(0,a.jsxs)("div",{className:"mt-[14px] grid grid-cols-3 gap-[14px] max-[1024px]:grid-cols-2 max-[640px]:grid-cols-1",children:[(0,a.jsx)(ke,{icon:V,accent:"green",metric:d.wc,label:(0,s.__)("WooCommerce widgets","ultimate-store-kit")}),(0,a.jsx)(ke,{icon:K,accent:"violet",metric:d.edd,label:(0,s.__)("EDD widgets","ultimate-store-kit")}),(0,a.jsx)(ke,{icon:G,accent:"amber",metric:d.other,label:(0,s.__)("Other widgets","ultimate-store-kit")})]}),(0,a.jsxs)("div",{className:"mt-[14px] grid grid-cols-[minmax(0,1fr)_400px] items-start gap-[14px] max-[1180px]:grid-cols-1",children:[(0,a.jsxs)("div",{className:"flex min-w-0 flex-col gap-[14px]",children:[(0,a.jsx)(Q,{title:(0,s.__)("Quick actions","ultimate-store-kit"),children:(0,a.jsxs)("div",{className:"grid grid-cols-3 gap-[10px] max-[720px]:grid-cols-2 max-[440px]:grid-cols-1",children:[(0,a.jsx)(we,{icon:v,accent:"blue",title:(0,s.__)("Widgets","ultimate-store-kit"),sub:(0,s.sprintf)(/* translators: %d: number of widgets. */ /* translators: %d: number of widgets. */(0,s.__)("Toggle %d elements","ultimate-store-kit"),d.total),onClick:()=>h("woocommerce-widgets")}),(0,a.jsx)(we,{icon:y,accent:"violet",title:(0,s.__)("Modules","ultimate-store-kit"),sub:(0,s.sprintf)(/* translators: %d: number of modules. */ /* translators: %d: number of modules. */(0,s.__)("%d store features","ultimate-store-kit"),o.length),onClick:()=>h("modules")}),(0,a.jsx)(we,{icon:N,accent:"amber",title:(0,s.__)("Template Builder","ultimate-store-kit"),sub:(0,s.__)("Shop, product & cart pages","ultimate-store-kit"),href:he.templateBuilderUrl}),m?(0,a.jsx)(we,{icon:S,accent:"green",title:(0,s.__)("License","ultimate-store-kit"),sub:i?(0,s.__)("Pro is active","ultimate-store-kit"):(0,s.__)("Activate Pro","ultimate-store-kit"),onClick:()=>h("license")}):(0,a.jsx)(we,{icon:M,accent:"rose",title:(0,s.__)("Get Pro","ultimate-store-kit"),sub:(0,s.__)("Unlock every module","ultimate-store-kit"),onClick:()=>h("get-pro")}),(0,a.jsx)(we,{icon:z,accent:"teal",title:(0,s.__)("Documentation","ultimate-store-kit"),sub:(0,s.__)("Guides & tutorials","ultimate-store-kit"),href:"https://bdthemes.com/knowledge-base/ultimate-store-kit/",external:!0}),(0,a.jsx)(we,{icon:L,accent:"slate",title:(0,s.__)("Support","ultimate-store-kit"),sub:(0,s.__)("Get help from the team","ultimate-store-kit"),href:"https://bdthemes.com/support/",external:!0})]})}),x?(0,a.jsx)(x,{}):null,p.length?(0,a.jsx)(Q,{title:(0,s.__)("Recent activity","ultimate-store-kit"),action:(0,a.jsx)("a",{href:"https://wordpress.org/plugins/ultimate-store-kit/#developers",target:"_blank",rel:"noopener noreferrer",className:"text-[13px] font-bold text-[#e30c1d] no-underline hover:underline",children:(0,s.__)("View all","ultimate-store-kit")}),children:(0,a.jsx)("ul",{className:"m-0 list-none p-0",children:p.map((e,t)=>(0,a.jsx)(Ne,{release:e,current:e.version===he.version,color:Se[t%Se.length]},e.version))})}):null]}),(0,a.jsxs)("div",{className:"flex min-w-0 flex-col gap-[14px]",children:[c.length?(0,a.jsx)(Q,{title:(0,s.__)("Suggestions","ultimate-store-kit"),action:(0,a.jsx)(te,{tone:"blue",children:(0,s.sprintf)(/* translators: %d: number of suggestions. */ /* translators: %d: number of suggestions. */(0,s.__)("%d new","ultimate-store-kit"),c.length)}),children:(0,a.jsx)("div",{className:"flex flex-col gap-2",children:c.map(e=>{const t=(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(Z,{icon:e.icon,accent:e.accent,size:"md",iconSize:16}),(0,a.jsxs)("span",{className:"min-w-0 flex-1",children:[(0,a.jsx)("span",{className:"block text-[13.5px] font-bold text-[#0f1115]",children:e.title}),(0,a.jsx)("span",{className:"mt-0.5 block text-[12px] leading-relaxed text-[#6c6c75]",children:e.text}),(0,a.jsxs)("span",{className:"mt-1.5 inline-flex items-center gap-1 text-[12.5px] font-bold text-[#e30c1d]",children:[e.link,(0,a.jsx)(B,{size:13})]})]})]}),s="box-border flex w-full cursor-pointer gap-3 rounded-panel border border-solid border-[#ececf0] bg-white p-3 text-left no-underline transition-colors hover:border-[#fbc8cd]";return e.href?(0,a.jsx)("a",{href:e.href,className:s,children:t},e.key):(0,a.jsx)("button",{type:"button",onClick:()=>h(e.page),className:s,children:t},e.key)})})}):null,i?(0,a.jsxs)("div",{className:"relative overflow-hidden rounded-card bg-[linear-gradient(135deg,#3a0a10,#8f0b16_55%,#e30c1d)] p-[22px] text-white",children:[(0,a.jsx)("span",{className:"absolute -right-10 -top-10 h-40 w-40 rounded-full bg-white/10","aria-hidden":"true"}),(0,a.jsxs)("span",{className:"inline-flex items-center gap-1.5 rounded-full bg-white/15 px-2.5 py-1 text-[11px] font-bold uppercase tracking-[.06em]",children:[(0,a.jsx)(E,{size:12}),(0,s.__)("What's new","ultimate-store-kit")]}),(0,a.jsx)("h3",{className:"m-0 mt-3 text-[20px] font-extrabold text-white",children:(0,s.sprintf)(/* translators: %s: version. */ /* translators: %s: version. */(0,s.__)("Ultimate Store Kit %s","ultimate-store-kit"),he.version)}),(0,a.jsx)("p",{className:"m-0 mt-1.5 line-clamp-3 text-[13px] leading-relaxed text-white/80",children:p[0]?.summary||(0,s.__)("See everything added, fixed and improved in this update.","ultimate-store-kit")}),(0,a.jsxs)("button",{type:"button",onClick:()=>h("modules"),className:"mt-4 inline-flex cursor-pointer items-center gap-1.5 rounded-full border-0 bg-white px-4 py-2 text-[13px] font-bold text-[#e30c1d]",children:[(0,s.__)("Explore modules","ultimate-store-kit"),(0,a.jsx)(D,{size:14})]})]}):(0,a.jsxs)("div",{className:"relative overflow-hidden rounded-card bg-[linear-gradient(135deg,#3a0a10,#8f0b16_55%,#e30c1d)] p-[22px] text-white",children:[(0,a.jsx)("span",{className:"absolute -right-10 -top-10 h-40 w-40 rounded-full bg-white/10","aria-hidden":"true"}),(0,a.jsxs)("span",{className:"inline-flex items-center gap-1.5 rounded-full bg-white/15 px-2.5 py-1 text-[11px] font-bold uppercase tracking-[.06em]",children:[(0,a.jsx)(M,{size:12}),(0,s.__)("Go Pro","ultimate-store-kit")]}),(0,a.jsx)("h3",{className:"m-0 mt-3 text-[20px] font-extrabold text-white",children:(0,s.__)("Sell more with Pro modules","ultimate-store-kit")}),(0,a.jsx)("p",{className:"m-0 mt-1.5 text-[13px] leading-relaxed text-white/80",children:(0,s.__)("Partial payments, cart recovery, size charts, badges, upsells, currency switcher and every Pro widget.","ultimate-store-kit")}),(0,a.jsxs)("a",{href:"https://storekit.pro/pricing/",target:"_blank",rel:"noopener noreferrer",className:"mt-4 inline-flex items-center gap-1.5 rounded-full bg-white px-4 py-2 text-[13px] font-bold text-[#e30c1d] no-underline",children:[(0,s.__)("Get Pro","ultimate-store-kit"),(0,a.jsx)(D,{size:14})]})]}),u.length?(0,a.jsx)(Q,{title:(0,s.__)("System status","ultimate-store-kit"),action:(0,a.jsx)("button",{type:"button",onClick:()=>h("about"),className:"cursor-pointer border-0 bg-transparent p-0 text-[13px] font-bold text-[#e30c1d] hover:underline",children:(0,s.__)("Details","ultimate-store-kit")}),children:(0,a.jsx)("ul",{className:"m-0 list-none p-0",children:u.map(e=>(0,a.jsxs)("li",{className:"m-0 flex items-center justify-between gap-3 border-0 border-b border-solid border-[#f0f0f3] py-[9px] text-[13px] last:border-b-0",children:[(0,a.jsx)("span",{className:"text-[#3f3f46]",children:e.label}),(0,a.jsxs)("span",{className:`flex items-center gap-1.5 font-bold ${ye[e.status]||ye.ok}`,children:[(0,a.jsx)("span",{className:`h-[7px] w-[7px] rounded-full ${ve[e.status]||ve.ok}`}),e.value]})]},e.label))})}):null,(0,a.jsx)(Q,{title:(0,s.__)("Resources & help","ultimate-store-kit"),children:(0,a.jsx)("div",{className:"flex flex-col gap-2",children:[{icon:z,accent:"blue",title:(0,s.__)("Documentation","ultimate-store-kit"),sub:(0,s.__)("Guides & tutorials","ultimate-store-kit"),href:"https://bdthemes.com/knowledge-base/ultimate-store-kit/"},{icon:I,accent:"rose",title:(0,s.__)("What's new","ultimate-store-kit"),sub:(0,s.__)("Release notes","ultimate-store-kit"),href:"https://wordpress.org/plugins/ultimate-store-kit/#developers"},{icon:L,accent:"violet",title:(0,s.__)("Support","ultimate-store-kit"),sub:(0,s.__)("Get help from the team","ultimate-store-kit"),href:"https://bdthemes.com/support/"},{icon:J,accent:"green",title:(0,s.__)("Request a feature","ultimate-store-kit"),sub:(0,s.__)("Tell us what to build next","ultimate-store-kit"),href:"https://feedback.bdthemes.com/b/6vr2250l/feature-requests/"}].map(e=>(0,a.jsxs)("a",{href:e.href,target:"_blank",rel:"noopener noreferrer",className:"flex items-center gap-3 rounded-panel border border-solid border-[#ececf0] px-3 py-[10px] no-underline transition-colors hover:border-[#fbc8cd]",children:[(0,a.jsx)(Z,{icon:e.icon,accent:e.accent,size:"md",iconSize:16}),(0,a.jsxs)("span",{className:"flex-1",children:[(0,a.jsx)("span",{className:"block text-[13.5px] font-bold text-[#0f1115]",children:e.title}),(0,a.jsx)("span",{className:"block text-[12px] text-[#8a8a93]",children:e.sub})]}),(0,a.jsx)("span",{className:"text-[#a1a1aa]",children:(0,a.jsx)(O,{size:14})})]},e.title))})})]})]})]})},Ce=({name:e})=>{const s=(0,t.applyFilters)("usk.admin.iconMap",_),r=s[e]||s.info;return(0,a.jsx)(r,{})},Pe=({items:t,settings:r,isPro:l,onNavigate:i})=>{const[o,n]=(0,e.useState)(""),[d,c]=(0,e.useState)("all"),x=(0,e.useMemo)(()=>t.map(e=>({...e,...ue(e,r)})),[t,r]),m=(0,e.useMemo)(()=>({all:x.length,active:x.filter(e=>"on"===e.status).length,off:x.filter(e=>"on"!==e.status).length}),[x]),p=x.filter(e=>{if("active"===d&&"on"!==e.status)return!1;if("off"===d&&"on"===e.status)return!1;const t=o.trim().toLowerCase();return!t||`${e.label} ${e.description}`.toLowerCase().includes(t)}),u=[{key:"all",label:(0,s.__)("All","ultimate-store-kit")},{key:"active",label:(0,s.__)("Active","ultimate-store-kit")},{key:"off",label:(0,s.__)("Off","ultimate-store-kit")}];return(0,a.jsxs)("div",{children:[(0,a.jsxs)("div",{className:"mb-[18px] flex flex-wrap items-end justify-between gap-3",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("h1",{className:"m-0 text-[26px] font-extrabold tracking-[-.02em] text-[#0f1115]",children:(0,s.__)("Modules","ultimate-store-kit")}),(0,a.jsx)("p",{className:"m-0 mt-1.5 text-[13.5px] text-[#6c6c75]",children:(0,s.sprintf)(/* translators: 1: active modules, 2: all modules. */ /* translators: 1: active modules, 2: all modules. */
     4(0,s.__)("%1$d of %2$d active - store features that work across your whole shop.","ultimate-store-kit"),m.active,m.all)})]}),(0,a.jsxs)("span",{className:"inline-flex items-center gap-[7px] rounded-full border border-solid border-[#c6f0d4] bg-[#ecfdf3] px-3 py-[7px] text-[12.5px] font-bold text-[#15803d]",children:[(0,a.jsx)("span",{className:"h-2 w-2 rounded-full bg-[#22c55e]"}),(0,s.sprintf)(/* translators: %d: number of active modules. */ /* translators: %d: number of active modules. */
     5(0,s.__)("%d active","ultimate-store-kit"),m.active)]})]}),(0,a.jsxs)("div",{className:"mb-[14px] flex flex-wrap items-center justify-between gap-3 rounded-card border border-solid border-[#e9e9ed] bg-white px-[14px] py-3",children:[(0,a.jsxs)("label",{className:"relative flex w-full max-w-[320px] items-center",children:[(0,a.jsx)("span",{className:"sr-only",children:(0,s.__)("Search modules","ultimate-store-kit")}),(0,a.jsx)("span",{className:"pointer-events-none absolute left-3 text-[#8a8a93]",children:(0,a.jsx)(A,{size:15})}),(0,a.jsx)("input",{type:"search",value:o,onChange:e=>n(e.target.value),placeholder:(0,s.__)("Search modules…","ultimate-store-kit"),className:"!m-0 box-border w-full !rounded-full !border !border-solid !border-[#e6e6ea] !bg-[#fafbfc] !py-2 !pl-9 !pr-3 text-[13.5px] !shadow-none focus:!border-[#e30c1d]"})]}),(0,a.jsx)("div",{className:"flex items-center gap-1 rounded-full bg-[#f4f5f7] p-1",role:"group","aria-label":(0,s.__)("Filter modules","ultimate-store-kit"),children:u.map(e=>(0,a.jsxs)("button",{type:"button",onClick:()=>c(e.key),"aria-pressed":d===e.key,className:"cursor-pointer rounded-full border-0 px-3 py-1.5 text-[12.5px] font-bold transition-colors "+(d===e.key?"bg-gradient-brand text-white shadow-glow":"bg-transparent text-[#52525b] hover:text-[#18181b]"),children:[e.label," ",(0,a.jsx)("span",{className:d===e.key?"opacity-80":"text-[#8a8a93]",children:m[e.key]})]},e.key))})]}),0===p.length?(0,a.jsx)("div",{className:"rounded-card border border-solid border-[#e9e9ed] bg-white px-6 py-14 text-center text-[13.5px] text-[#6c6c75]",children:(0,s.__)("No modules match your search.","ultimate-store-kit")}):(0,a.jsx)("div",{className:"grid grid-cols-3 gap-[14px] max-[1180px]:grid-cols-2 max-[700px]:grid-cols-1",children:p.map(e=>{const t=e.proPlaceholder&&!l;return(0,a.jsxs)("button",{type:"button",onClick:()=>i(e.id),className:"group flex cursor-pointer flex-col gap-3 rounded-card border border-solid border-[#e9e9ed] bg-white p-[18px] text-left transition-all duration-200 hover:-translate-y-[2px] hover:border-[#fbc8cd] hover:shadow-lift",children:[(0,a.jsxs)("span",{className:"flex w-full items-start justify-between gap-3",children:[(0,a.jsx)("span",{className:"grid h-11 w-11 shrink-0 place-items-center rounded-tile bg-[#fff1f2] text-[#e30c1d] [&_svg]:h-5 [&_svg]:w-5","aria-hidden":"true",children:(0,a.jsx)(Ce,{name:e.icon})}),(0,a.jsxs)("span",{className:"flex items-center gap-1.5",children:[t||"Pro"===e.badge?(0,a.jsx)(se,{}):null,"on"===e.status?(0,a.jsx)(te,{tone:"green",children:(0,s.__)("Active","ultimate-store-kit")}):"off"===e.status?(0,a.jsx)(te,{children:(0,s.__)("Off","ultimate-store-kit")}):null]})]}),(0,a.jsxs)("span",{className:"block",children:[(0,a.jsx)("span",{className:"block text-[15px] font-bold text-[#0f1115]",children:e.label}),e.description?(0,a.jsx)("span",{className:"mt-1 line-clamp-2 block text-[12.5px] leading-relaxed text-[#6c6c75]",children:e.description}):null]}),(0,a.jsxs)("span",{className:"mt-auto flex items-center gap-1 text-[12.5px] font-bold text-[#e30c1d]",children:[t?(0,s.__)("See what it does","ultimate-store-kit"):(0,s.__)("Configure","ultimate-store-kit"),(0,a.jsx)("span",{className:"transition-transform group-hover:translate-x-0.5",children:(0,a.jsx)(D,{size:14})})]})]},e.id)})})]})},ze=({checked:e,onChange:t,disabled:s})=>{const r={position:"absolute",inset:0,borderRadius:"9999px",background:e?"#E30C1D":"#cbd5e1",transition:"background 0.25s cubic-bezier(0.4, 0, 0.2, 1)",opacity:s?.45:1,pointerEvents:"none",willChange:"background"},l={position:"absolute",top:"50%",left:3,width:16,height:16,borderRadius:"9999px",background:"#fff",boxShadow:"0 1px 4px rgba(0,0,0,0.25)",transform:e?"translate(18px, -50%)":"translate(0px, -50%)",transition:"transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.2s ease",pointerEvents:"none",zIndex:1,willChange:"transform"},i={position:"relative",display:"inline-flex",alignItems:"center",width:40,height:22,cursor:s?"not-allowed":"pointer",flexShrink:0,userSelect:"none"};return(0,a.jsxs)("label",{style:i,children:[(0,a.jsx)("input",{type:"checkbox",checked:e,disabled:s,onChange:t,style:{position:"absolute",opacity:0,width:0,height:0,margin:0,padding:0,pointerEvents:"none"}}),(0,a.jsx)("span",{style:r}),(0,a.jsx)("span",{style:l})]})},Ae="inline-flex cursor-pointer items-center gap-1.5 rounded-md border border-transparent px-[18px] py-2 text-[13px] font-semibold leading-snug no-underline transition-all duration-200 disabled:cursor-not-allowed disabled:opacity-60",Le=`${Ae} border-uks-brand bg-uks-brand text-white hover:bg-uks-brand-dark`,Ee=`${Ae} px-6 py-2.5 text-sm`,Be=`${Ae} px-3 py-2.5 text-xs`,$e="flex items-center justify-between border-b border-slate-100 py-2.5 last:border-b-0",De="flex items-center gap-2 text-[13px] font-medium text-slate-700",Oe="min-w-[120px] w-full block max-w-full rounded-md border border-slate-200 bg-white px-3 py-1.5 text-[13px] text-slate-700 focus:border-uks-brand focus:outline-none focus:ring-2 focus:ring-uks-brand disabled:cursor-not-allowed disabled:opacity-50",Te="shrink-0 whitespace-nowrap rounded-md border border-solid border-gray-100 text-uks-brand px-2 py-0.5 text-[10px] font-bold shadow-sm bg-white",Fe=window.ultimateStoreKitAdminData||{},Re="ultimate_store_kit_other_settings",We="asset-manager",Ue=({settings:t,onSave:r,saving:l})=>{const i="on"===(t&&t[Re]||{})[We],[o,n]=(0,e.useState)(Fe.assetStats||null),[d,c]=(0,e.useState)(!1),[x,m]=(0,e.useState)(""),p=o?(o.css||0)+(o.js||0):0,u="px-5 py-4 max-[760px]:border-0 max-[760px]:border-t max-[760px]:border-solid max-[760px]:border-[#eef0f3]",h="m-0 text-[11px] font-bold uppercase tracking-[.08em] text-[#8a8a93]";return(0,a.jsxs)("div",{children:[(0,a.jsxs)("div",{className:"mb-[18px]",children:[(0,a.jsx)("h1",{className:"m-0 text-[28px] font-extrabold tracking-[-.02em] text-[#0f1115]",children:(0,s.__)("Asset Optimization","ultimate-store-kit")}),(0,a.jsx)("p",{className:"m-0 mt-1.5 text-[13.5px] text-[#6c6c75]",children:(0,s.__)("Load Ultimate Store Kit files only where they are used, and combine widget CSS and JS into files stored in your uploads folder.","ultimate-store-kit")})]}),(0,a.jsxs)("section",{className:"overflow-hidden rounded-card border border-solid border-[#e9e9ed] bg-white",children:[(0,a.jsxs)("div",{className:"flex items-center gap-4 px-5 py-5",children:[(0,a.jsx)(Z,{icon:H,accent:i?"green":"teal",size:"xl",iconSize:20}),(0,a.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,a.jsx)("h2",{className:"m-0 text-[16px] font-bold text-[#0f1115]",children:(0,s.__)("Asset Manager","ultimate-store-kit")}),(0,a.jsx)("p",{className:"m-0 mt-1 max-w-[560px] text-[13px] leading-relaxed text-[#6c6c75]",children:(0,s.__)("Joins the CSS and JS of the widgets each page uses into combined files, and skips the store-wide files on pages without an Ultimate Store Kit widget.","ultimate-store-kit")})]}),(0,a.jsx)("span",{title:l?(0,s.__)("Saving…","ultimate-store-kit"):void 0,children:(0,a.jsx)(ze,{checked:i,disabled:l,onChange:()=>{const e=t&&t[Re]||{};r(Re,{...Array.isArray(e)?{}:e,[We]:i?"off":"on"})}})})]}),(0,a.jsxs)("div",{className:"grid grid-cols-3 border-0 border-t border-solid border-[#eef0f3] bg-[#fafbfc] max-[760px]:grid-cols-1",children:[(0,a.jsxs)("div",{className:u,children:[(0,a.jsx)("p",{className:h,children:(0,s.__)("Status","ultimate-store-kit")}),(0,a.jsxs)("p",{className:"m-0 mt-1.5 flex items-center gap-2 text-[13.5px] font-bold text-[#0f1115]",children:[(0,a.jsx)("span",{className:"h-2 w-2 rounded-full "+(i?"bg-[#22c55e]":"bg-[#a1a1aa]")}),i?(0,s.__)("Enabled","ultimate-store-kit"):(0,s.__)("Disabled","ultimate-store-kit")]})]}),(0,a.jsxs)("div",{className:`${u} border-0 border-l border-solid border-[#eef0f3] max-[760px]:border-l-0`,children:[(0,a.jsx)("p",{className:h,children:(0,s.__)("Combined files","ultimate-store-kit")}),(0,a.jsx)("p",{className:"m-0 mt-1.5 text-[13.5px] font-bold text-[#0f1115]",children:p?(0,s.sprintf)(/* translators: 1: CSS files, 2: JS files, 3: total size. */ /* translators: 1: CSS files, 2: JS files, 3: total size. */
     6(0,s.__)("%1$d CSS · %2$d JS · %3$s","ultimate-store-kit"),o.css||0,o.js||0,(b=o.bytes,b?b>=1048576?`${(b/1048576).toFixed(1)} MB`:`${Math.max(1,Math.round(b/1024))} KB`:"0 KB")):"—"}),o&&o.version?(0,a.jsx)("p",{className:"m-0 mt-0.5 text-[11.5px] text-[#8a8a93]",children:(0,s.sprintf)(/* translators: %s: short fingerprint of the current file set. */ /* translators: %s: short fingerprint of the current file set. */(0,s.__)("Set %s","ultimate-store-kit"),o.version)}):null]}),(0,a.jsxs)("div",{className:`${u} border-0 border-l border-solid border-[#eef0f3] max-[760px]:border-l-0`,children:[(0,a.jsx)("p",{className:h,children:(0,s.__)("Auto-regenerate","ultimate-store-kit")}),(0,a.jsx)("p",{className:"m-0 mt-1.5 text-[12.5px] leading-relaxed text-[#52525b]",children:(0,s.__)("Combined files rebuild by themselves after a plugin update or when Elementor's files are cleared.","ultimate-store-kit")}),(0,a.jsx)("button",{type:"button",onClick:()=>{c(!0),m(""),fetch((Fe.restUrl||"")+"optimization/regenerate",{method:"POST",headers:{"Content-Type":"application/json","X-WP-Nonce":Fe.restNonce||""}}).then(e=>{if(!e.ok)throw e;return e.json()}).then(e=>{const t=e?.data||e||{};t.stats&&n(t.stats),m(t.message||(0,s.__)("Combined files cleared.","ultimate-store-kit"))}).catch(()=>m((0,s.__)("The combined files could not be cleared.","ultimate-store-kit"))).finally(()=>c(!1))},disabled:d,className:"mt-2 cursor-pointer rounded-full border border-solid border-[#e2e2e6] bg-white px-3 py-1.5 text-[12.5px] font-bold text-[#27272a] transition-colors hover:border-[#e30c1d] hover:text-[#e30c1d] disabled:cursor-wait disabled:opacity-60",children:d?(0,s.__)("Clearing…","ultimate-store-kit"):(0,s.__)("Regenerate files","ultimate-store-kit")}),x?(0,a.jsx)("p",{className:"m-0 mt-2 text-[12px] text-[#15803d]",role:"status",children:x}):null]})]})]}),(0,a.jsx)(Q,{title:(0,s.__)("What changes when it is on","ultimate-store-kit"),className:"mt-[14px]",children:(0,a.jsx)("ul",{className:"m-0 grid list-none grid-cols-3 gap-[10px] p-0 max-[900px]:grid-cols-1",children:[{icon:M,accent:"green",title:(0,s.__)("Store-wide files only where needed","ultimate-store-kit"),text:(0,s.__)("The site stylesheet and script, the quick-view modal and the slide-in panel load only on pages with an Ultimate Store Kit widget.","ultimate-store-kit")},{icon:G,accent:"violet",title:(0,s.__)("Fewer files per page","ultimate-store-kit"),text:(0,s.__)("The CSS and JS of the widgets on a page are joined into one stylesheet and one script, shared by every page with the same widgets.","ultimate-store-kit")},{icon:T,accent:"blue",title:(0,s.__)("Editor unchanged","ultimate-store-kit"),text:(0,s.__)("The Elementor editor and preview keep loading the separate files, so editing works as before. Switch it off at any time to go back.","ultimate-store-kit")}].map(e=>(0,a.jsxs)("li",{className:"m-0 flex gap-3 rounded-panel border border-solid border-[#ececf0] p-4",children:[(0,a.jsx)(Z,{icon:e.icon,accent:e.accent,size:"md",iconSize:16}),(0,a.jsxs)("span",{children:[(0,a.jsx)("span",{className:"block text-[13.5px] font-bold text-[#0f1115]",children:e.title}),(0,a.jsx)("span",{className:"mt-1 block text-[12.5px] leading-relaxed text-[#6c6c75]",children:e.text})]})]},e.title))})})]});var b},Ie=window.ultimateStoreKitAdminData||{},He=e=>{try{const t=new window.URL(String(e||""),window.location.href);return"https:"===t.protocol||"http:"===t.protocol?t.href:""}catch(e){return""}},Ve=async(e,t={})=>{const a=await window.fetch((Ie.restUrl||"")+e,{credentials:"same-origin",...t,headers:{"Content-Type":"application/json","X-WP-Nonce":Ie.restNonce||"",...t.headers||{}}});let r=null;try{r=await a.json()}catch(e){r=null}if(!a.ok)throw new Error(r&&r.message||(0,s.__)("Something went wrong. Reload the page and try again.","ultimate-store-kit"));return r||{}},Ke=({icon:t})=>{const[s,r]=(0,e.useState)(!1),l=He(t);return l&&!s?(0,a.jsx)("img",{src:l,alt:"",width:"48",height:"48",onError:()=>r(!0),className:"h-12 w-12 flex-none rounded-tile object-cover"}):(0,a.jsx)("span",{className:"grid h-12 w-12 flex-none place-items-center rounded-tile bg-[#fff1f2] text-[#e30c1d]","aria-hidden":"true",children:(0,a.jsx)(U,{size:22})})},Ge={active:{tone:"green",label:(0,s.__)("Active","ultimate-store-kit")},installed:{tone:"blue",label:(0,s.__)("Installed","ultimate-store-kit")},not_installed:{tone:"neutral",label:(0,s.__)("Not installed","ultimate-store-kit")}},Je=({onNotify:t})=>{const[r,l]=(0,e.useState)(null),[i,o]=(0,e.useState)(!1),[n,d]=(0,e.useState)(""),[c,x]=(0,e.useState)({slug:"",action:""}),m=(e,s="success")=>t&&t({type:s,message:e}),p=(0,e.useCallback)(async()=>{d("");try{const e=await Ve("other-plugins");l(e.plugins||[]),o(!!e.canInstall)}catch(e){d(e.message),l(e=>e||[])}},[]);(0,e.useEffect)(()=>{p()},[p]);const u="inline-flex cursor-pointer items-center gap-1.5 rounded-full px-3.5 py-1.5 text-[12.5px] font-bold transition-all disabled:cursor-wait disabled:opacity-60";return(0,a.jsxs)("div",{children:[(0,a.jsxs)("div",{className:"mb-[18px]",children:[(0,a.jsx)("h1",{className:"m-0 text-[28px] font-extrabold tracking-[-.02em] text-[#0f1115]",children:(0,s.__)("Other Plugins","ultimate-store-kit")}),(0,a.jsx)("p",{className:"m-0 mt-1.5 text-[13.5px] text-[#6c6c75]",children:(0,s.__)("Install companion plugins from BdThemes to extend your store.","ultimate-store-kit")})]}),n?(0,a.jsxs)("div",{className:"mb-[14px] flex items-center justify-between gap-3 rounded-panel border border-solid border-[#fecaca] bg-[#fef2f2] px-4 py-3 text-[13px] font-semibold text-[#991b1b]",role:"alert",children:[(0,a.jsx)("span",{children:n}),(0,a.jsx)("button",{type:"button",onClick:p,className:"cursor-pointer rounded-full border border-solid border-[#fecaca] bg-white px-3 py-1 text-[12.5px] font-bold text-[#991b1b]",children:(0,s.__)("Retry","ultimate-store-kit")})]}):null,null===r?(0,a.jsx)("div",{className:"grid grid-cols-3 gap-[14px] max-[1180px]:grid-cols-2 max-[700px]:grid-cols-1","aria-busy":"true","aria-label":(0,s.__)("Loading plugins…","ultimate-store-kit"),children:Array.from({length:6}).map((e,t)=>(0,a.jsx)("div",{className:"h-[190px] animate-pulse rounded-card border border-solid border-[#e9e9ed] bg-white"},t))}):(0,a.jsx)("div",{className:"grid grid-cols-3 gap-[14px] max-[1180px]:grid-cols-2 max-[700px]:grid-cols-1",children:r.map(e=>{const t=Ge[e.status]||Ge.not_installed,r=He(e.url),l=c.slug===e.slug;return(0,a.jsxs)("section",{className:"group flex flex-col gap-3 rounded-card border border-solid border-[#e9e9ed] bg-white p-5 transition-all duration-200 hover:-translate-y-[2px] hover:border-[#fbc8cd] hover:shadow-lift",children:[(0,a.jsxs)("div",{className:"flex items-center gap-3",children:[(0,a.jsx)(Ke,{icon:e.icon}),(0,a.jsxs)("div",{className:"min-w-0",children:[(0,a.jsx)("h2",{className:"m-0 truncate text-[15px] font-extrabold tracking-[-.01em] text-[#0f1115]",children:(n=e.name,String(n||"").split(/\s[–—-]\s|:\s/)[0].trim()||String(n||""))}),(0,a.jsx)("span",{className:"text-[12px] font-semibold text-[#8a8a93]",children:[e.version?`v${e.version}`:"",(o=e.activeInstalls,o?o>=1e6?(0,s.sprintf)(/* translators: %s: number of millions. */ /* translators: %s: number of millions. */(0,s.__)("%s M+ installs","ultimate-store-kit"),Math.floor(o/1e6)):o>=1e3?(0,s.sprintf)(/* translators: %s: number of thousands. */ /* translators: %s: number of thousands. */(0,s.__)("%s K+ installs","ultimate-store-kit"),Math.floor(o/1e3)):(0,s.sprintf)(/* translators: %d: number of installs. */ /* translators: %d: number of installs. */(0,s.__)("%d+ installs","ultimate-store-kit"),o):"")].filter(Boolean).join(" · ")})]})]}),e.description?(0,a.jsx)("p",{className:"m-0 line-clamp-3 flex-1 text-[13px] leading-relaxed text-[#6c6c75]",children:e.description}):(0,a.jsx)("span",{className:"flex-1"}),(0,a.jsxs)("div",{className:"mt-auto flex flex-wrap items-center gap-2 border-0 border-t border-solid border-[#f3f3f6] pt-3",children:[(0,a.jsx)(te,{tone:t.tone,children:t.label}),(0,a.jsxs)("span",{className:"ml-auto flex items-center gap-2",children:["not_installed"===e.status&&i?(0,a.jsx)("button",{type:"button",disabled:!!c.slug,onClick:()=>(async e=>{x({slug:e.slug,action:"install"});try{const t=await Ve("other-plugins/install",{method:"POST",body:JSON.stringify({slug:e.slug})});m(t.message||(0,s.__)("Plugin installed.","ultimate-store-kit")),await p()}catch(e){m(e.message,"error")}finally{x({slug:"",action:""})}})(e),className:`${u} border-0 bg-gradient-brand text-white shadow-glow`,children:l&&"install"===c.action?(0,s.__)("Installing…","ultimate-store-kit"):(0,s.__)("Install","ultimate-store-kit")}):null,"installed"===e.status&&e.activateUrl?(0,a.jsx)("button",{type:"button",disabled:!!c.slug,onClick:()=>(async e=>{const t=He(e.activateUrl);if(t){x({slug:e.slug,action:"activate"});try{if(!(await window.fetch(t,{credentials:"same-origin"})).ok)throw new Error((0,s.__)("The plugin could not be activated.","ultimate-store-kit"));m((0,s.__)("Plugin activated.","ultimate-store-kit")),await p()}catch(e){m(e.message,"error")}finally{x({slug:"",action:""})}}})(e),className:`${u} border border-solid border-[#e2e2e6] bg-white text-[#27272a] hover:border-[#e30c1d] hover:text-[#e30c1d]`,children:l&&"activate"===c.action?(0,s.__)("Activating…","ultimate-store-kit"):(0,s.__)("Activate","ultimate-store-kit")}):null,r?(0,a.jsxs)("a",{href:r,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-1 text-[13px] font-bold text-[#e30c1d] no-underline hover:underline",children:[(0,s.__)("Details","ultimate-store-kit"),(0,a.jsx)(O,{size:13})]}):null]})]})]},e.slug);var o,n})})]})},qe={wc:"ultimate_store_kit_active_modules",edd:"ultimate_store_kit_edd_modules",other:"ultimate_store_kit_general_modules"},Xe={wc:"woocommerce-widgets",edd:"edd-widgets",other:"other-widgets"},Ze=()=>{const e=window.location.hash.split("?")[1]||"";try{return new URLSearchParams(e).get("search")||""}catch(e){return""}},Ye=(e,t)=>{const s={};return Object.values(qe).forEach(a=>{const r=t[a]||{};(e[a]||[]).forEach(e=>{"checkbox"===e.type&&(s[e.name]=void 0!==r[e.name]?r[e.name]:e.default||"off")})}),s},Qe="inline-flex items-center gap-1 text-[11.5px] font-semibold text-[#8a8a93] no-underline transition-colors hover:text-[#e30c1d]",et=({allWidgets:t,allSettings:r,onSave:l,saving:i,isPro:o,widgetType:n="wc",onNavigate:d})=>{const[c,x]=(0,e.useState)(Ze),[m,p]=(0,e.useState)("all"),[u,h]=(0,e.useState)("all"),[b,g]=(0,e.useState)(()=>Ye(t,r)),f=qe[n]||qe.wc,j=(0,e.useMemo)(()=>(t[f]||[]).filter(e=>"checkbox"===e.type),[t,f]),_=(0,e.useMemo)(()=>Ye(t,r),[t,r]);(0,e.useEffect)(()=>{x(Ze()),p("all"),h("all")},[n]),(0,e.useEffect)(()=>{const e=()=>x(Ze());return window.addEventListener("hashchange",e),()=>window.removeEventListener("hashchange",e)},[]);const k=(0,e.useCallback)(e=>{const t=e.dependency;return"pro"===e.widget_type&&!o||t&&(!t.isInstalled||!t.isActive)},[o]),w=(0,e.useMemo)(()=>{const e=new Set;return j.forEach(t=>{(t.content_type||"").split(" ").forEach(t=>{t&&!["woocommerce","edd","new","others"].includes(t)&&e.add(t)})}),Array.from(e)},[j]),y=e=>(e.content_type||"").split(" ").includes("new"),N=(0,e.useMemo)(()=>({all:j.length,free:j.filter(e=>"pro"!==e.widget_type).length,pro:j.filter(e=>"pro"===e.widget_type).length,new:j.filter(y).length}),[j]),S=(0,e.useMemo)(()=>j.filter(e=>!(c&&!e.label.toLowerCase().includes(c.toLowerCase())||"free"===m&&"pro"===e.widget_type||"pro"===m&&"pro"!==e.widget_type||"new"===m&&!y(e)||"all"!==u&&!(e.content_type||"").split(" ").includes(u))),[j,c,m,u]),M=j.filter(e=>ne(e,b[e.name],o)).length,C=j.filter(e=>b[e.name]!==_[e.name]).map(e=>e.name),P=e=>{g(t=>{const s={...t};return S.forEach(t=>{k(t)||(s[t.name]=e)}),s})},z=[{type:"wc",label:(0,s.__)("WooCommerce","ultimate-store-kit")},{type:"edd",label:(0,s.__)("EDD","ultimate-store-kit")},{type:"other",label:(0,s.__)("Others","ultimate-store-kit")}],L=[{key:"all",label:(0,s.__)("All","ultimate-store-kit")},{key:"new",label:(0,s.__)("New","ultimate-store-kit")},{key:"free",label:(0,s.__)("Free","ultimate-store-kit")},{key:"pro",label:(0,s.__)("Pro","ultimate-store-kit")}],E="inline-flex cursor-pointer items-center gap-1.5 rounded-full border border-solid border-[#e2e2e6] bg-white px-4 py-2 text-[13px] font-bold text-[#27272a] transition-colors hover:border-[#e30c1d] hover:text-[#e30c1d]";return(0,a.jsxs)("div",{className:C.length?"pb-20":"",children:[(0,a.jsxs)("div",{className:"mb-[18px] flex flex-wrap items-end justify-between gap-3",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("h1",{className:"m-0 text-[26px] font-extrabold tracking-[-.02em] text-[#0f1115]",children:(0,s.__)("Widgets","ultimate-store-kit")}),(0,a.jsx)("p",{className:"m-0 mt-1.5 text-[13.5px] text-[#6c6c75]",children:(0,s.sprintf)(/* translators: 1: enabled widgets, 2: all widgets in this category. */ /* translators: 1: enabled widgets, 2: all widgets in this category. */
     7(0,s.__)("%1$d of %2$d enabled - disable unused widgets for faster pages.","ultimate-store-kit"),M,j.length)})]}),(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,a.jsxs)("span",{className:"inline-flex items-center gap-[7px] rounded-full border border-solid border-[#c6f0d4] bg-[#ecfdf3] px-3 py-[7px] text-[12.5px] font-bold text-[#15803d]",children:[(0,a.jsx)("span",{className:"h-2 w-2 rounded-full bg-[#22c55e]"}),(0,s.sprintf)(/* translators: 1: enabled, 2: total. */ /* translators: 1: enabled, 2: total. */
     8(0,s.__)("%1$d of %2$d active","ultimate-store-kit"),M,j.length)]}),(0,a.jsxs)("button",{type:"button",className:E,onClick:()=>P("on"),children:[(0,a.jsx)(T,{size:14}),(0,s.__)("Enable all","ultimate-store-kit")]}),(0,a.jsxs)("button",{type:"button",className:E,onClick:()=>P("off"),children:[(0,a.jsx)(F,{size:14}),(0,s.__)("Disable all","ultimate-store-kit")]})]})]}),(0,a.jsxs)("div",{className:"mb-[14px] flex flex-wrap items-center justify-between gap-3 rounded-card border border-solid border-[#e9e9ed] bg-white px-[14px] py-3",children:[(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-3",children:[(0,a.jsxs)("label",{className:"relative flex w-[260px] max-w-full items-center",children:[(0,a.jsx)("span",{className:"sr-only",children:(0,s.__)("Search widgets","ultimate-store-kit")}),(0,a.jsx)("span",{className:"pointer-events-none absolute left-3 text-[#8a8a93]",children:(0,a.jsx)(A,{size:15})}),(0,a.jsx)("input",{type:"search",value:c,onChange:e=>x(e.target.value),placeholder:(0,s.__)("Search widgets…","ultimate-store-kit"),className:"!m-0 box-border w-full !rounded-full !border !border-solid !border-[#e6e6ea] !bg-[#fafbfc] !py-2 !pl-9 !pr-3 text-[13.5px] !shadow-none focus:!border-[#e30c1d]"})]}),(0,a.jsx)("div",{className:"flex items-center gap-1 rounded-full bg-[#f4f5f7] p-1",role:"group","aria-label":(0,s.__)("Widget category","ultimate-store-kit"),children:z.map(e=>{const s=(t[qe[e.type]]||[]).filter(e=>"checkbox"===e.type).length,r=e.type===n;return(0,a.jsxs)("button",{type:"button","aria-pressed":r,onClick:()=>d&&d(Xe[e.type]),className:"cursor-pointer rounded-full border-0 px-3 py-1.5 text-[12.5px] font-bold transition-colors "+(r?"bg-white text-[#0f1115] shadow-[0_1px_3px_rgba(0,0,0,.12)]":"bg-transparent text-[#52525b] hover:text-[#18181b]"),children:[e.label," ",(0,a.jsx)("span",{className:"text-[#8a8a93]",children:s})]},e.type)})}),w.length>0?(0,a.jsxs)("select",{value:u,onChange:e=>h(e.target.value),className:"!m-0 !rounded-full !border !border-solid !border-[#e6e6ea] !bg-white !py-1.5 !pl-3 !pr-8 text-[12.5px] font-semibold !text-[#3f3f46] !shadow-none","aria-label":(0,s.__)("Template type","ultimate-store-kit"),children:[(0,a.jsx)("option",{value:"all",children:(0,s.__)("All templates","ultimate-store-kit")}),w.map(e=>(0,a.jsx)("option",{value:e,children:e.charAt(0).toUpperCase()+e.slice(1)},e))]}):null]}),(0,a.jsx)("div",{className:"flex items-center gap-1 rounded-full bg-[#f4f5f7] p-1",role:"group","aria-label":(0,s.__)("Filter widgets","ultimate-store-kit"),children:L.map(e=>(0,a.jsxs)("button",{type:"button",onClick:()=>p(e.key),"aria-pressed":m===e.key,className:"cursor-pointer rounded-full border-0 px-3 py-1.5 text-[12.5px] font-bold transition-colors "+(m===e.key?"bg-gradient-brand text-white shadow-glow":"bg-transparent text-[#52525b] hover:text-[#18181b]"),children:[e.label," ",(0,a.jsx)("span",{className:m===e.key?"opacity-80":"text-[#8a8a93]",children:N[e.key]})]},e.key))})]}),0===S.length?(0,a.jsx)("div",{className:"rounded-card border border-solid border-[#e9e9ed] bg-white px-6 py-14 text-center text-[13.5px] text-[#6c6c75]",children:(0,s.__)("No widgets found.","ultimate-store-kit")}):(0,a.jsx)("div",{className:"grid grid-cols-3 gap-[10px] max-[1180px]:grid-cols-2 max-[700px]:grid-cols-1",children:S.map(e=>{const t=e.dependency||null,r=t&&(!t.isInstalled||!t.isActive),l=k(e),i=ne(e,b[e.name],o),n=b[e.name]!==_[e.name];return(0,a.jsxs)("div",{className:"flex items-center gap-3 rounded-panel border border-solid bg-white px-[14px] py-3 transition-colors "+(n?"border-[#fbc8cd] bg-[#fffbfb]":"border-[#e9e9ed] hover:border-[#d4d4dc]"),children:[(0,a.jsx)("span",{className:"grid h-10 w-10 shrink-0 place-items-center rounded-tile "+(i?"bg-[#fff1f2] text-[#e30c1d]":"bg-[#f4f4f5] text-[#8a8a93]"),"aria-hidden":"true",children:(0,a.jsx)("i",{className:`usk-icon-${e.name} text-[18px] leading-none`})}),(0,a.jsxs)("span",{className:"min-w-0 flex-1",children:[(0,a.jsx)("span",{className:"block truncate text-[13.5px] font-bold "+(l?"text-[#8a8a93]":"text-[#0f1115]"),children:e.label}),(0,a.jsxs)("span",{className:"mt-1 flex flex-wrap items-center gap-x-2.5 gap-y-1",children:[r&&t?.actionUrl?(0,a.jsxs)("a",{href:t.actionUrl,target:"install"===t.actionType?"_blank":void 0,rel:"install"===t.actionType?"noopener noreferrer":void 0,title:t.message,className:`${Qe} !text-[#b45309]`,children:[(0,a.jsx)(U,{size:12}),t.actionLabel||(0,s.__)("Install","ultimate-store-kit")]}):null,e.demo_url&&!e.demo_url.startsWith("#")?(0,a.jsxs)("a",{href:e.demo_url,target:"_blank",rel:"noopener noreferrer",className:Qe,children:[(0,a.jsx)(R,{size:12}),(0,s.__)("Demo","ultimate-store-kit")]}):null,e.video_url?(0,a.jsxs)("a",{href:e.video_url,target:"_blank",rel:"noopener noreferrer",className:Qe,children:[(0,a.jsx)(W,{size:12}),(0,s.__)("Video","ultimate-store-kit")]}):null]})]}),(0,a.jsxs)("span",{className:"flex shrink-0 items-center gap-2",children:[y(e)?(0,a.jsx)(te,{tone:"rose",children:(0,s.__)("NEW","ultimate-store-kit")}):null,"pro"===e.widget_type?(0,a.jsx)(se,{}):null,(0,a.jsx)("span",{title:l?r?t?.message:(0,s.__)("Available in Pro","ultimate-store-kit"):void 0,children:(0,a.jsx)(ze,{checked:i,disabled:l,onChange:()=>g(t=>({...t,[e.name]:"on"===t[e.name]?"off":"on"}))})})]})]},e.name)})}),C.length?(0,a.jsxs)("div",{className:"fixed bottom-5 left-1/2 z-[9990] box-border flex w-[min(640px,calc(100vw-32px))] -translate-x-1/2 animate-usk-pop items-center justify-between gap-3 rounded-full border border-solid border-[#e6e6ea] bg-white py-2 pl-5 pr-2 shadow-pop",children:[(0,a.jsxs)("span",{className:"flex items-center gap-2 text-[13.5px] font-bold text-[#0f1115]",children:[(0,a.jsx)("span",{className:"text-[#e30c1d]",children:(0,a.jsx)(v,{size:16})}),(0,s.sprintf)(/* translators: %d: number of changed widgets. */ /* translators: %d: number of changed widgets. */
     9(0,s.__)("%d unsaved change(s)","ultimate-store-kit"),C.length)]}),(0,a.jsxs)("span",{className:"flex items-center gap-2",children:[(0,a.jsx)("button",{type:"button",onClick:()=>{g(e=>{const t={...e};return j.forEach(e=>{t[e.name]=_[e.name]}),t})},className:"cursor-pointer rounded-full border-0 bg-transparent px-4 py-2 text-[13px] font-bold text-[#52525b] hover:text-[#0f1115]",children:(0,s.__)("Discard","ultimate-store-kit")}),(0,a.jsx)("button",{type:"button",onClick:()=>{const e={};j.forEach(t=>{void 0!==b[t.name]&&(e[t.name]=b[t.name])}),l(f,e)},disabled:i,className:"cursor-pointer rounded-full border-0 bg-gradient-brand px-5 py-2.5 text-[13px] font-extrabold text-white shadow-glow disabled:cursor-wait disabled:opacity-70",children:i?(0,s.__)("Saving…","ultimate-store-kit"):(0,s.__)("Save changes","ultimate-store-kit")})]})]}):null]})},tt=[{group:(0,s.__)("Sales Notifications","ultimate-store-kit"),description:(0,s.__)("Configure flash sale banners, countdown timers, and promotional badges for your store.","ultimate-store-kit"),fields:[{name:"enable_flash_sale",type:"checkbox",label:(0,s.__)("Enable Flash Sale Banner","ultimate-store-kit"),description:(0,s.__)("Display a site-wide flash sale banner on product pages.","ultimate-store-kit")},{name:"flash_sale_text",type:"text",label:(0,s.__)("Flash Sale Text","ultimate-store-kit"),placeholder:(0,s.__)("🔥 Flash Sale — Up to 50% OFF!","ultimate-store-kit")},{name:"sale_badge_style",type:"select",label:(0,s.__)("Sale Badge Style","ultimate-store-kit"),options:{default:(0,s.__)("Default","ultimate-store-kit"),ribbon:(0,s.__)("Ribbon","ultimate-store-kit"),circle:(0,s.__)("Circle","ultimate-store-kit"),starburst:(0,s.__)("Starburst","ultimate-store-kit")}},{name:"sale_badge_color",type:"color",label:(0,s.__)("Sale Badge Color","ultimate-store-kit"),value:"#ef4444"},{name:"enable_countdown_timer",type:"checkbox",label:(0,s.__)("Enable Sale Countdown Timer","ultimate-store-kit"),description:(0,s.__)("Show a countdown timer on products that have a sale end date.","ultimate-store-kit")},{name:"countdown_position",type:"select",label:(0,s.__)("Countdown Position","ultimate-store-kit"),options:{above_price:(0,s.__)("Above Price","ultimate-store-kit"),below_price:(0,s.__)("Below Price","ultimate-store-kit"),above_button:(0,s.__)("Above Add to Cart","ultimate-store-kit")}},{name:"minimum_discount_percent",type:"number",label:(0,s.__)("Minimum Discount % to Show Badge","ultimate-store-kit"),value:"5",description:(0,s.__)("Only show the sale badge when the discount is at least this percentage.","ultimate-store-kit")}]}],st=()=>(0,a.jsxs)("div",{className:"pointer-events-none relative select-none opacity-70",children:[(0,a.jsxs)("div",{className:"pointer-events-auto mb-4 flex items-center justify-between rounded-usk border border-uks-brand bg-[linear-gradient(313deg,#E62A3F_0%,#00216A_100%)] px-5 py-3.5",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2.5",children:[(0,a.jsx)("span",{className:"rounded-[10px] bg-[linear-gradient(313deg,#E62A3F_0%,#00216A_100%)] px-2.5 py-1 text-[10px] font-bold uppercase tracking-wide text-white",children:(0,s.__)("Pro","ultimate-store-kit")}),(0,a.jsx)("span",{className:"text-sm font-semibold text-white/90",children:(0,s.__)("Unlock these premium settings with Ultimate Store Kit Pro","ultimate-store-kit")})]}),(0,a.jsx)("a",{href:"https://bdthemes.com/ultimate-store-kit/",target:"_blank",rel:"noopener noreferrer",className:`${Be} ${Le}`,children:(0,s.__)("Get Pro","ultimate-store-kit")})]}),tt.map((e,t)=>(0,a.jsx)("div",{className:"relative mb-4 overflow-hidden rounded-usk border border-slate-200 bg-white",children:(0,a.jsxs)("div",{className:"border-l-[3px] border-uks-brand",children:[(0,a.jsxs)("h3",{className:"m-0 flex flex-wrap items-center gap-2 border-b border-slate-200 bg-slate-100 px-5 py-3.5 text-sm font-bold text-slate-800",children:[e.group,(0,a.jsx)("span",{className:Te,children:(0,s.__)("Pro","ultimate-store-kit")})]}),e.description&&(0,a.jsx)("p",{className:"m-0 px-5 pt-1 text-[13px] leading-relaxed text-slate-400",children:e.description}),(0,a.jsx)("div",{className:"px-5 py-2 opacity-60",children:e.fields.map(e=>{if("checkbox"===e.type)return(0,a.jsxs)("div",{className:`${$e} flex-wrap`,children:[(0,a.jsx)("div",{className:De,children:(0,a.jsx)("span",{children:e.label})}),(0,a.jsx)("div",{className:"h-[22px] w-10 rounded-full bg-slate-200"}),e.description&&(0,a.jsx)("p",{className:"mt-1 w-full text-xs leading-snug text-slate-400",children:e.description})]},e.name);if("select"===e.type){const t=Object.keys(e.options)[0];return(0,a.jsxs)("div",{className:$e,children:[(0,a.jsx)("label",{className:De,children:e.label}),(0,a.jsx)("select",{className:`${Oe} cursor-not-allowed opacity-60`,disabled:!0,defaultValue:t,children:Object.entries(e.options).map(([e,t])=>(0,a.jsx)("option",{value:e,children:t},e))})]},e.name)}return"color"===e.type?(0,a.jsxs)("div",{className:$e,children:[(0,a.jsx)("label",{className:De,children:e.label}),(0,a.jsx)("input",{type:"color",disabled:!0,value:e.value||"#000000",readOnly:!0,className:"h-8 w-12 cursor-not-allowed rounded-md border border-slate-200 p-0.5 opacity-60"})]},e.name):"number"===e.type||"text"===e.type?(0,a.jsxs)("div",{className:$e,children:[(0,a.jsx)("label",{className:De,children:e.label}),(0,a.jsx)("input",{type:e.type,className:`${Oe} cursor-not-allowed opacity-60`,disabled:!0,placeholder:e.placeholder||"",defaultValue:e.value||"",readOnly:!0}),e.description&&(0,a.jsx)("p",{className:"mt-1 w-full text-xs leading-snug text-slate-400",children:e.description})]},e.name):null})})]})},t))]}),at=({widgets:r,section:l,settings:i,onSave:o,saving:n,isPro:d,activeGroup:c})=>{const[x,m]=(0,e.useState)(()=>{const e={};return r.forEach(t=>{"start_group"!==t.type&&"end_group"!==t.type&&("checkbox"===t.type?e[t.name]=void 0!==i[t.name]?i[t.name]:t.default||"off":"select"!==t.type&&"number"!==t.type&&"text"!==t.type||(e[t.name]=void 0!==i[t.name]?i[t.name]:t.default||""))}),e}),p=(e,t)=>{m(s=>({...s,[e]:t}))},u=(()=>{const e=[];let t=null;return r.forEach(a=>{"start_group"!==a.type?"end_group"!==a.type?t?t.items.push(a):(e.length&&void 0!==e[e.length-1].items||e.push({label:(0,s.__)("General","ultimate-store-kit"),items:[]}),e[e.length-1].items.push(a)):t&&(e.push(t),t=null):t={label:a.label,items:[]}}),e})(),h=c?u.filter(e=>e.label===c):u;return(0,a.jsxs)("div",{children:[(0,a.jsxs)("div",{className:"grid grid-cols-[repeat(auto-fit,minmax(420px,1fr))] items-start gap-4",children:[h.map((e,t)=>(0,a.jsxs)("div",{className:"w-full overflow-hidden rounded-usk border border-solid border-gray-100 bg-white",children:[(0,a.jsx)("h3",{className:"m-0 border-0 border-b border-solid border-b-gray-200  px-5 py-3.5 text-sm font-bold uppercase tracking-wide text-slate-700",children:e.label}),(0,a.jsx)("div",{className:"space-y-5 p-5",children:e.items.map(e=>{const t="pro"===e.widget_type,r=e.dependency||null,l=r&&(!r.isInstalled||!r.isActive),i=t&&!d||l;if("checkbox"===e.type){const o=!i&&"on"===x[e.name];return(0,a.jsxs)("div",{className:"rounded-lg border border-slate-200 bg-white",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,a.jsxs)("div",{className:`${De} max-w-[70%] flex-wrap`,children:[(0,a.jsxs)("span",{children:[e.label,l&&r?.actionUrl?(0,a.jsxs)(a.Fragment,{children:[" ",(0,a.jsx)("a",{href:r.actionUrl,target:"install"===r.actionType?"_blank":void 0,rel:"install"===r.actionType?"noopener noreferrer":void 0,className:"font-semibold text-uks-brand hover:underline",children:r.actionLabel})]}):null]}),t&&(0,a.jsx)("span",{className:Te,children:(0,s.__)("Pro","ultimate-store-kit")})]}),(0,a.jsx)(ze,{checked:o,disabled:i,onChange:()=>p(e.name,o?"off":"on")})]}),l&&r?.message&&(0,a.jsx)("div",{className:"mt-2 text-[13px] leading-relaxed text-slate-500",children:r.message})]},e.name)}return"select"===e.type?(0,a.jsxs)("div",{className:"rounded-lg border border-slate-200 bg-white",children:[(0,a.jsxs)("label",{className:De,children:[e.label,t&&(0,a.jsx)("span",{className:`${Te} ml-2 align-middle`,children:(0,s.__)("Pro","ultimate-store-kit")})]}),(0,a.jsx)("select",{className:`${Oe} mt-2 block w-full`,value:x[e.name]||"",onChange:t=>p(e.name,t.target.value),disabled:i,children:e.options&&Object.entries(e.options).map(([e,t])=>(0,a.jsx)("option",{value:e,children:t},e))})]},e.name):"number"===e.type||"text"===e.type?(0,a.jsxs)("div",{className:"rounded-lg border border-slate-200 bg-white",children:[(0,a.jsxs)("label",{className:De,children:[e.label,t&&(0,a.jsx)("span",{className:`${Te} ml-2 align-middle`,children:(0,s.__)("Pro","ultimate-store-kit")})]}),(0,a.jsx)("input",{type:e.type,className:`${Oe} mt-2 block w-full`,value:x[e.name]||"",onChange:t=>p(e.name,t.target.value),disabled:i})]},e.name):null})})]},t)),!d&&!c&&(0,a.jsx)(st,{}),(()=>{const e=(0,t.applyFilters)("usk.admin.settingsExtra",null);return e?(0,a.jsx)(e,{activeGroup:c}):null})()]}),(0,a.jsx)("div",{className:"mt-6 flex justify-end pt-4",children:(0,a.jsx)("button",{type:"button",className:`${Ee} ${Le}`,onClick:()=>{o(l,x)},disabled:n,children:n?(0,s.__)("Saving...","ultimate-store-kit"):(0,s.__)("Save Changes","ultimate-store-kit")})})]})},rt=[{label:(0,s.__)("Core Widgets","ultimate-store-kit"),free:!0,pro:!0,freeNote:"35+",proNote:"100+"},{label:(0,s.__)("Theme Compatibility","ultimate-store-kit"),free:!0,pro:!0},{label:(0,s.__)("Dynamic Content & Custom Fields","ultimate-store-kit"),free:!0,pro:!0},{label:(0,s.__)("Proper Documentation","ultimate-store-kit"),free:!0,pro:!0},{label:(0,s.__)("Updates & Support","ultimate-store-kit"),free:!0,pro:!0},{label:(0,s.__)("Ready Made Blocks","ultimate-store-kit"),free:!0,pro:!0},{label:(0,s.__)("Ready Made Pages","ultimate-store-kit"),free:!0,pro:!0},{label:(0,s.__)("Rooten Theme Pro Features","ultimate-store-kit"),free:!1,pro:!0},{label:(0,s.__)("Priority Support","ultimate-store-kit"),free:!1,pro:!0}],lt=({d:e,viewBox:t="0 0 24 24",filled:s=!1})=>(0,a.jsx)("svg",{className:"h-4 w-4 shrink-0 text-uks-brand",viewBox:t,fill:s?"currentColor":"none",stroke:s?"none":"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:Array.isArray(e)?e.map((e,t)=>(0,a.jsx)("path",{d:e},t)):(0,a.jsx)("path",{d:e})}),it=[{text:(0,s.__)("Incredibly Advanced","ultimate-store-kit"),icon:(0,a.jsx)(lt,{d:"M13 2 3 14h9l-1 8 10-12h-9l1-8z"})},{text:(0,s.__)("Refund or Cancel Anytime","ultimate-store-kit"),icon:(0,a.jsx)(lt,{d:["M9 14 4 9l5-5","M4 9h10.5a5.5 5.5 0 0 1 0 11H11"]})},{text:(0,s.__)("Dynamic Content","ultimate-store-kit"),icon:(0,a.jsx)(lt,{d:["M14.5 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7.5L14.5 2z","M14 2v6h6","M8 13h8","M8 17h4"]})},{text:(0,s.__)("Super-Flexible Widgets","ultimate-store-kit"),icon:(0,a.jsx)(lt,{d:["M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"]})},{text:(0,s.__)("24/7 Premium Support","ultimate-store-kit"),icon:(0,a.jsx)(lt,{d:["M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.38 8.38 0 0 1-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.38 8.38 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8v.5z"]})},{text:(0,s.__)("Third Party Plugins","ultimate-store-kit"),icon:(0,a.jsx)(lt,{d:["M6.3 20.3a2.4 2.4 0 0 0 3.4 0L12 18l-6-6-2.3 2.3a2.4 2.4 0 0 0 0 3.4z","m2 22 3-3","M7.5 13.5 10 11","M10.5 16.5 13 14","m18 3-4 4h6l-4 4"]})},{text:(0,s.__)("Special Discount!","ultimate-store-kit"),icon:(0,a.jsx)(lt,{d:["M9 5H2v7l6.29 6.29c.94.94 2.48.94 3.42 0l3.58-3.58c.94-.94.94-2.48 0-3.42L9 5z","M6 9.01V9"]})},{text:(0,s.__)("Custom Field Integration","ultimate-store-kit"),icon:(0,a.jsx)(lt,{d:["M12 20h9","M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4L16.5 3.5z"]})},{text:(0,s.__)("With Live Chat Support","ultimate-store-kit"),icon:(0,a.jsx)(lt,{d:["M8 12h.01","M12 12h.01","M16 12h.01","M21 12c0 4.418-4.03 8-9 8a9.863 9.863 0 0 1-4.255-.949L3 20l1.395-3.72C3.512 15.042 3 13.574 3 12c0-4.418 4.03-8 9-8s9 3.582 9 8z"]})},{text:(0,s.__)("Trusted Payment Methods","ultimate-store-kit"),icon:(0,a.jsx)(lt,{d:["M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"]})},{text:(0,s.__)("Interactive Effects","ultimate-store-kit"),icon:(0,a.jsx)(lt,{d:["M12 2v4","m16.2 7.8 2.9-2.9","M18 12h4","m16.2 16.2 2.9 2.9","M12 18v4","m4.9 19.1 2.9-2.9","M2 12h4","m4.9 4.9 2.9 2.9"]})},{text:(0,s.__)("Video Tutorial","ultimate-store-kit"),icon:(0,a.jsx)(lt,{d:["M22.54 6.42a2.78 2.78 0 0 0-1.95-1.96C18.88 4 12 4 12 4s-6.88 0-8.59.46a2.78 2.78 0 0 0-1.95 1.96A29 29 0 0 0 1 12a29 29 0 0 0 .46 5.58A2.78 2.78 0 0 0 3.41 19.6C5.12 20 12 20 12 20s6.88 0 8.59-.46a2.78 2.78 0 0 0 1.95-1.95A29 29 0 0 0 23 12a29 29 0 0 0-.46-5.58z","M9.75 15.02 15.5 12l-5.75-3.02v6.04z"]})}],ot=({isPro:e})=>e?(0,a.jsxs)("div",{className:"rounded-usk border border-slate-200 bg-white p-6 text-center sm:p-10",children:[(0,a.jsx)("div",{className:"mx-auto mb-4 flex h-14 w-14 items-center justify-center rounded-full bg-emerald-100",children:(0,a.jsx)(x,{className:"h-7 w-7 text-emerald-600"})}),(0,a.jsx)("h2",{className:"m-0 mb-2 text-xl font-bold text-slate-800",children:(0,s.__)("You already have Pro!","ultimate-store-kit")}),(0,a.jsx)("p",{className:"m-0 text-sm text-slate-500",children:(0,s.__)("Thank you for being a Pro user. You have access to all features.","ultimate-store-kit")})]}):(0,a.jsxs)("div",{className:"space-y-5",children:[(0,a.jsxs)("div",{className:"overflow-hidden rounded-usk border border-solid border-gray-100 bg-white",children:[(0,a.jsxs)("div",{className:"flex border-b border-gray-100",children:[(0,a.jsx)("div",{className:"flex flex-[2] items-center px-3 py-3 sm:px-5 sm:py-3.5",children:(0,a.jsx)("span",{className:"text-[10px] font-semibold uppercase tracking-wider text-slate-400 sm:text-[11px]",children:(0,s.__)("Features","ultimate-store-kit")})}),(0,a.jsx)("div",{className:"flex w-20 items-center justify-center border-l border-gray-100 bg-slate-50 py-3 sm:w-28 sm:py-3.5 lg:w-36",children:(0,a.jsx)("span",{className:"text-[11px] font-bold text-slate-500 sm:text-[12px]",children:(0,s.__)("Free","ultimate-store-kit")})}),(0,a.jsx)("div",{className:"flex w-20 items-center justify-center border-l border-uks-brand/30 bg-uks-brand py-3 sm:w-28 sm:py-3.5 lg:w-36",children:(0,a.jsxs)("span",{className:"inline-flex items-center gap-1 text-[11px] font-bold text-white sm:gap-1.5 sm:text-[12px]",children:[(0,a.jsx)(n,{className:"h-3 w-3"}),(0,s.__)("Pro","ultimate-store-kit")]})})]}),rt.map((e,t)=>(0,a.jsxs)("div",{className:"flex items-center border-b border-gray-50 last:border-b-0 "+(t%2==1?"bg-slate-50/50":"bg-white"),children:[(0,a.jsxs)("div",{className:"flex min-w-0 flex-[2] items-center gap-2 px-3 py-3 sm:px-5 sm:py-3.5",children:[(0,a.jsx)("span",{className:"text-[12px] font-medium text-slate-700 sm:text-[13px]",children:e.label}),e.freeNote&&e.proNote&&(0,a.jsxs)("span",{className:"hidden shrink-0 rounded-full border border-slate-100 bg-white px-2 py-0.5 text-[10px] font-semibold text-slate-400 sm:inline-block",children:[e.freeNote," → ",e.proNote]})]}),(0,a.jsx)("div",{className:"flex w-20 shrink-0 items-center justify-center border-l py-3 sm:w-28 sm:py-3.5 lg:w-36 "+(t%2==1?"border-gray-100 bg-slate-50/50":"border-gray-50 bg-white"),children:e.free?(0,a.jsx)(x,{className:"mx-auto h-[18px] w-[18px] text-uks-brand"}):(0,a.jsx)(i,{className:"mx-auto h-[18px] w-[18px] text-slate-300"})}),(0,a.jsx)("div",{className:"flex w-20 shrink-0 items-center justify-center border-l border-uks-brand/20 bg-uks-brand/[0.07] py-3 sm:w-28 sm:py-3.5 lg:w-36",children:e.pro?(0,a.jsx)(x,{className:"mx-auto h-[18px] w-[18px] text-uks-brand"}):(0,a.jsx)(i,{className:"mx-auto h-[18px] w-[18px] text-slate-300"})})]},t))]}),(0,a.jsxs)("div",{className:"overflow-hidden rounded-usk border border-solid border-gray-100 bg-white",children:[(0,a.jsxs)("div",{className:"p-4 sm:p-5 lg:p-6",children:[(0,a.jsx)("p",{className:"m-0 mb-3 text-[11px] font-semibold uppercase tracking-wider text-slate-400 sm:mb-4",children:(0,s.__)("What's included with Pro","ultimate-store-kit")}),(0,a.jsx)("div",{className:"grid grid-cols-1 gap-2 xs:grid-cols-2 sm:grid-cols-3 lg:grid-cols-4",children:it.map((e,t)=>(0,a.jsxs)("div",{className:"flex items-center gap-2 rounded-lg border border-slate-100 bg-slate-50/70 px-3 py-2.5 sm:gap-2.5",children:[(0,a.jsx)("span",{className:"shrink-0","aria-hidden":"true",children:e.icon}),(0,a.jsx)("span",{className:"text-[12px] font-medium leading-snug text-slate-600",children:e.text})]},t))})]}),(0,a.jsxs)("div",{className:"flex flex-col items-center gap-3 border-t border-uks-brand/15 bg-gradient-to-br from-uks-brand/[0.07] to-transparent px-4 py-5 text-center sm:px-6 sm:py-6",children:[(0,a.jsx)("p",{className:"m-0 text-[13px] font-semibold text-slate-700",children:(0,s.__)("Ready to unlock all Pro features?","ultimate-store-kit")}),(0,a.jsxs)("a",{href:"https://storekit.pro/pricing",target:"_blank",rel:"noopener noreferrer",className:`${Ee} ${Le} gap-2`,children:[(0,a.jsx)(n,{className:"h-4 w-4"}),(0,s.__)("Upgrade to Pro — View Pricing","ultimate-store-kit")]}),(0,a.jsxs)("div",{className:"flex flex-wrap items-center justify-center gap-x-4 gap-y-1.5 text-[11px] text-slate-400",children:[(0,a.jsxs)("span",{className:"flex items-center gap-1",children:[(0,a.jsx)(x,{className:"h-3.5 w-3.5 text-emerald-500"}),(0,s.__)("30-day money-back","ultimate-store-kit")]}),(0,a.jsxs)("span",{className:"flex items-center gap-1",children:[(0,a.jsx)(x,{className:"h-3.5 w-3.5 text-emerald-500"}),(0,s.__)("Cancel anytime","ultimate-store-kit")]}),(0,a.jsxs)("span",{className:"flex items-center gap-1",children:[(0,a.jsx)(x,{className:"h-3.5 w-3.5 text-emerald-500"}),(0,s.__)("Instant access","ultimate-store-kit")]})]})]})]})]}),nt=window.ultimateStoreKitAdminData||{},dt="font-semibold text-uks-brand no-underline transition hover:underline",ct=({icon:e,label:t,children:s})=>(0,a.jsxs)("div",{className:"group flex items-center gap-4 rounded-lg border border-solid border-gray-200 bg-white p-4",children:[(0,a.jsx)("div",{className:"flex h-11 w-11 shrink-0 items-center justify-center rounded-lg bg-uks-brand/10 text-uks-brand transition group-hover:bg-uks-brand/15","aria-hidden":"true",children:e}),(0,a.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,a.jsx)("h3",{className:"m-0 mb-1 text-[11px] font-semibold uppercase tracking-wider text-slate-400",children:t}),(0,a.jsx)("div",{className:"text-sm font-semibold text-slate-800",children:s})]})]}),xt=({icon:e,title:t,desc:s,href:r})=>(0,a.jsxs)("a",{href:r,target:"_blank",rel:"noopener noreferrer",className:"group flex items-center gap-4 rounded-lg border border-solid border-gray-200 bg-white p-4 text-inherit no-underline transition hover:border-uks-brand/25",children:[(0,a.jsx)("div",{className:"flex h-11 w-11 shrink-0 items-center justify-center rounded-lg bg-uks-brand/10 text-uks-brand transition group-hover:bg-uks-brand/15","aria-hidden":"true",children:e}),(0,a.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,a.jsx)("div",{className:"text-sm font-semibold text-slate-800",children:t}),(0,a.jsx)("p",{className:"m-0 mt-0.5 text-[12px] leading-snug text-slate-500",children:s})]})]}),mt=()=>{const e=Boolean(nt.isPro),t=nt.version||"";return(0,a.jsxs)("div",{className:"space-y-6",children:[(0,a.jsxs)("div",{className:"overflow-hidden rounded-usk border border-slate-200 bg-white",children:[(0,a.jsx)("div",{className:"bg-white p-4 sm:p-5 border border-solid border-gray-100",children:(0,a.jsxs)("div",{className:"flex max-w-3xl flex-col items-start gap-4 text-left sm:flex-row",children:[(0,a.jsx)("div",{className:"",children:(0,a.jsx)(l,{className:"w-12 h-12 block"})}),(0,a.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,a.jsxs)("div",{className:"mb-2 flex flex-wrap items-center justify-start gap-2",children:[(0,a.jsx)("h3",{className:"m-0 text-[22px] font-extrabold leading-none text-slate-900",children:(0,s.__)("Ultimate Store Kit","ultimate-store-kit")}),(0,a.jsxs)("span",{className:"inline-flex items-center rounded-full bg-uks-brand px-2.5 py-0.5 text-xs font-semibold text-white",children:["v",t]}),(0,a.jsx)("span",{className:"inline-flex items-center rounded-full px-2.5 py-0.5 text-xs font-semibold "+(e?"bg-emerald-100 text-emerald-800":"bg-slate-200 text-slate-700"),children:e?(0,s.__)("Pro","ultimate-store-kit"):(0,s.__)("Free","ultimate-store-kit")})]}),(0,a.jsx)("p",{className:"mb-4 text-[13px] leading-relaxed text-slate-600",children:(0,s.__)("Build online stores in WordPress with the powerful store builder addon for Elementor. Enjoy a wide range of customizations and easily build product grids, carousels, single product/page elements, checkouts and more.","ultimate-store-kit")}),(0,a.jsxs)("ul",{className:"m-0 flex list-none flex-wrap justify-start gap-3 p-0",children:[(0,a.jsx)("li",{className:"rounded-full py-1 px-2 border border-solid border-slate-200 bg-white/80 text-xs font-medium text-slate-600",children:(0,s.__)("Elementor widgets","ultimate-store-kit")}),(0,a.jsx)("li",{className:"rounded-full py-1 px-2 border border-solid border-slate-200 bg-white/80 text-xs font-medium text-slate-600",children:(0,s.__)("WooCommerce ready","ultimate-store-kit")}),(0,a.jsx)("li",{className:"rounded-full py-1 px-2 border border-solid border-slate-200 bg-white/80 text-xs font-medium text-slate-600",children:(0,s.__)("Store-focused UI","ultimate-store-kit")})]})]})]})}),(0,a.jsxs)("div",{className:"grid grid-cols-1 gap-px border-t border-slate-200 sm:grid-cols-3",children:[(0,a.jsxs)("div",{className:"bg-gray-100 px-4 py-3 text-center sm:text-left",children:[(0,a.jsx)("p",{className:"m-0 mb-0.5 text-[11px] font-semibold uppercase tracking-wide text-slate-400",children:(0,s.__)("Current version","ultimate-store-kit")}),(0,a.jsxs)("p",{className:"m-0 text-sm font-bold text-slate-800",children:["v",t]})]}),(0,a.jsxs)("div",{className:"bg-gray-100 px-4 py-3 text-center sm:text-left",children:[(0,a.jsx)("p",{className:"m-0 mb-0.5 text-[11px] font-semibold uppercase tracking-wide text-slate-400",children:(0,s.__)("License","ultimate-store-kit")}),(0,a.jsx)("p",{className:"m-0 text-sm font-bold text-slate-800",children:e?(0,s.__)("Pro (active)","ultimate-store-kit"):(0,s.__)("Free","ultimate-store-kit")})]}),(0,a.jsxs)("div",{className:"bg-gray-100 px-4 py-3 text-center sm:text-left",children:[(0,a.jsx)("p",{className:"m-0 mb-0.5 text-[11px] font-semibold uppercase tracking-wide text-slate-400",children:(0,s.__)("Built for","ultimate-store-kit")}),(0,a.jsx)("p",{className:"m-0 text-sm font-bold text-slate-800",children:(0,s.__)("WordPress + WooCommerce","ultimate-store-kit")})]})]})]}),(0,a.jsxs)("div",{className:"rounded-usk border border-solid border-gray-100 bg-white p-4 sm:p-5",children:[(0,a.jsx)("h3",{className:"m-0 mb-3 text-base font-bold text-slate-800",children:(0,s.__)("Product & support","ultimate-store-kit")}),(0,a.jsxs)("div",{className:"grid grid-cols-1 gap-3 sm:grid-cols-2 2xl:grid-cols-4",children:[(0,a.jsx)(ct,{label:(0,s.__)("Author","ultimate-store-kit"),icon:(0,a.jsx)(p,{}),children:(0,a.jsx)("a",{href:"https://bdthemes.com/",target:"_blank",rel:"noopener noreferrer",className:dt,children:"BdThemes"})}),(0,a.jsx)(ct,{label:(0,s.__)("Website","ultimate-store-kit"),icon:(0,a.jsx)(u,{}),children:(0,a.jsx)("a",{href:"https://storekit.pro/",target:"_blank",rel:"noopener noreferrer",className:dt,children:"storekit.pro"})}),(0,a.jsx)(ct,{label:(0,s.__)("Documentation","ultimate-store-kit"),icon:(0,a.jsx)(h,{}),children:(0,a.jsx)("a",{href:"https://bdthemes.com/knowledge-base/ultimate-store-kit/",target:"_blank",rel:"noopener noreferrer",className:dt,children:(0,s.__)("Knowledge Base","ultimate-store-kit")})}),(0,a.jsx)(ct,{label:(0,s.__)("Support","ultimate-store-kit"),icon:(0,a.jsx)(b,{}),children:(0,a.jsx)("a",{href:"https://bdthemes.com/support/",target:"_blank",rel:"noopener noreferrer",className:dt,children:(0,s.__)("Get Support","ultimate-store-kit")})})]})]}),(0,a.jsxs)("div",{className:"rounded-usk border border-solid border-gray-100 bg-white p-4 sm:p-5",children:[(0,a.jsx)("h3",{className:"m-0 mb-3 text-base font-bold text-slate-800",children:(0,s.__)("Useful links","ultimate-store-kit")}),(0,a.jsx)("ul",{className:"m-0 grid list-none grid-cols-1 gap-3 p-0 sm:grid-cols-2 2xl:grid-cols-4",children:[["https://www.youtube.com/c/bdthemes",(0,s.__)("Video tutorials","ultimate-store-kit"),(0,s.__)("Step-by-step YouTube tutorials for setup, widgets, and customization.","ultimate-store-kit"),(0,a.jsx)(g,{})],["https://feedback.bdthemes.com/b/6vr2250l/feature-requests/",(0,s.__)("Request a feature","ultimate-store-kit"),(0,s.__)("Share ideas and vote on what we build next.","ultimate-store-kit"),(0,a.jsx)(f,{})],["https://wordpress.org/plugins/ultimate-store-kit/",(0,s.__)("Rate us on WordPress.org","ultimate-store-kit"),(0,s.__)("Help others discover the plugin with a review.","ultimate-store-kit"),(0,a.jsx)(o,{className:"h-5 w-5"})],["https://www.facebook.com/groups/358290584725185",(0,s.__)("Facebook community","ultimate-store-kit"),(0,s.__)("Join our Facebook community to connect with other users and the team.","ultimate-store-kit"),(0,a.jsx)(j,{})]].map(([e,t,s,r])=>(0,a.jsx)("li",{children:(0,a.jsx)(xt,{href:e,title:t,desc:s,icon:r})},e))})]})]})},pt=()=>(0,a.jsxs)("div",{className:"relative inline-flex shrink-0 cursor-not-allowed select-none",style:{width:40,height:22},role:"presentation","aria-hidden":"true",title:(0,s.__)("Requires Pro license","ultimate-store-kit"),children:[(0,a.jsx)("span",{style:{position:"absolute",inset:0,borderRadius:9999,background:"#cbd5e1",border:"1px solid #94a3b8",boxSizing:"border-box"}}),(0,a.jsx)("span",{style:{position:"absolute",top:"50%",left:3,width:16,height:16,marginTop:-8,borderRadius:9999,background:"#ffffff",boxShadow:"0 1px 4px rgba(0,0,0,0.22)"}})]}),ut=({module:e})=>{const t=e?.label||e?.id||"",r=e?.description||"",l=e?.icon||e?.id||"grid",i="rounded-usk border border-solid border-gray-100 bg-white";return(0,a.jsxs)("div",{className:"flex flex-col gap-5",children:[(0,a.jsxs)("div",{className:`flex flex-col gap-4 p-5 sm:flex-row sm:items-center sm:justify-between ${i}`,children:[(0,a.jsxs)("div",{className:"flex min-w-0 items-center gap-3",children:[(0,a.jsx)("div",{className:"flex h-11 w-11 shrink-0 items-center justify-center rounded-xl bg-uks-brand/10 text-uks-brand","aria-hidden":"true",children:(0,a.jsx)(Ce,{name:l})}),(0,a.jsxs)("div",{className:"min-w-0",children:[(0,a.jsx)("h3",{className:"m-0 text-base font-bold text-slate-800",children:t}),r&&(0,a.jsx)("p",{className:"m-0 mt-1 text-[12px] leading-snug text-slate-500",children:r})]})]}),(0,a.jsx)("div",{className:"flex shrink-0 justify-end sm:pl-2",children:(0,a.jsx)(pt,{})})]}),(0,a.jsx)("div",{className:i,children:(0,a.jsxs)("div",{className:"flex flex-col items-center justify-center px-6 py-16 text-center sm:px-10 sm:py-20",children:[(0,a.jsx)("div",{className:"mx-auto mb-6 flex h-14 w-14 items-center justify-center rounded-xl bg-uks-brand/10 text-uks-brand","aria-hidden":"true",children:(0,a.jsx)(m,{className:"h-7 w-7",stroke:"currentColor"})}),(0,a.jsx)("h4",{className:"m-0 mb-2 text-lg font-bold tracking-tight text-slate-800",children:(0,s.__)("Module is currently disabled","ultimate-store-kit")}),(0,a.jsx)("p",{className:"m-0 mb-6 max-w-md text-[13px] leading-relaxed text-slate-500",children:(0,s.__)("This is a Pro feature. Upgrade to Ultimate Store Kit Pro to unlock this module and configure its settings.","ultimate-store-kit")}),(0,a.jsxs)("a",{href:"https://storekit.pro/pricing/",target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-2 rounded-lg border-0 bg-uks-brand px-5 py-2.5 text-sm font-semibold text-white no-underline transition-opacity hover:opacity-90",children:[(0,a.jsx)(o,{className:"h-4 w-4"}),(0,s.__)("Get Pro","ultimate-store-kit")]})]})})]})},ht=({notification:t,onDismiss:s})=>{if(!t)return null;const r="success"===t.type?"usk-toast--success":"usk-toast--error";return(0,e.createPortal)((0,a.jsx)("div",{className:"usk-toast-wrap",children:(0,a.jsxs)("div",{className:`usk-toast ${r}`,children:[(0,a.jsx)("span",{children:t.message}),(0,a.jsx)("button",{type:"button",className:"usk-toast__close",onClick:s,children:"×"})]})}),document.body)},bt=window.ultimateStoreKitAdminData||{},gt=(()=>{const e=bt.widgets?.ultimate_store_kit_other_settings||[],t=[];return e.forEach(e=>{var s;"start_group"===e.type?t.push({id:`settings-${s=e.label,s.toLowerCase().replace(/\s+/g,"-").replace(/[^a-z0-9-]/g,"")}`,label:e.label,proOnly:!1}):e.parent&&"pro"===e.widget_type&&t.length&&(t[t.length-1].proOnly=!0)}),t})(),ft=e=>{const t=gt.find(t=>t.id===e&&t.proOnly);if(!t)return null;const s=pe(t);return{id:t.id,label:t.label,icon:s,description:ce[s]||"",badge:"Pro",proPlaceholder:!0}},jt=()=>{const e=window.location.hash.replace("#","").split("?")[0],s=xe().map(e=>e.id),a=(0,t.applyFilters)("usk.admin.pages",{}),r=Object.keys(a),l=["welcome","widgets","woocommerce-widgets","edd-widgets","other-widgets","modules","performance","other-plugins","get-pro","about",...gt.map(e=>e.id),...s,...r];return(0,t.applyFilters)("usk.admin.validPages",l).includes(e)?e:"welcome"},_t=()=>{const[r,l]=(0,e.useState)(jt()),[i,o]=(0,e.useState)(()=>(bt.savedSettings=bt.savedSettings||{},Object.keys(bt.savedSettings).forEach(e=>{Array.isArray(bt.savedSettings[e])&&(bt.savedSettings[e]={})}),{...bt.savedSettings})),[n,d]=(0,e.useState)(!!bt.isPro),[c,x]=(0,e.useState)(!1),[m,p]=(0,e.useState)(null);(0,e.useEffect)(()=>((0,t.addAction)("usk.admin.notify","usk-core",e=>p(e)),()=>(0,t.removeAction)("usk.admin.notify","usk-core")),[]),(0,e.useEffect)(()=>((0,t.addAction)("usk.admin.licenseChanged","usk-core",e=>{d(e),window.ultimateStoreKitAdminData.isPro=e}),()=>(0,t.removeAction)("usk.admin.licenseChanged","usk-core")),[]),(0,e.useEffect)(()=>{if(m){const e=setTimeout(()=>p(null),3e3);return()=>clearTimeout(e)}},[m]),(0,e.useEffect)(()=>{const e=()=>{l(jt()),o({...bt.savedSettings})};return window.addEventListener("hashchange",e),()=>window.removeEventListener("hashchange",e)},[]),(0,e.useEffect)(()=>{if("get-pro"===r){const e=(0,t.applyFilters)("usk.admin.pages",{});if(e.license||n){const t=e.license?"license":"welcome";l(t),window.location.hash=`#${t}`}}},[n,r]);const u=(0,e.useCallback)((e,t)=>{x(!0),fetch(bt.restUrl+"settings",{method:"POST",headers:{"Content-Type":"application/json","X-WP-Nonce":bt.restNonce},body:JSON.stringify({section:e,settings:t})}).then(e=>{if(!e.ok)throw e;return e.json()}).then(a=>{bt.savedSettings[e]&&!Array.isArray(bt.savedSettings[e])||(bt.savedSettings[e]={}),Object.assign(bt.savedSettings[e],t),o({...bt.savedSettings}),p({type:"success",message:a?.message||(0,s.__)("Settings saved successfully.","ultimate-store-kit")})}).catch(()=>{p({type:"error",message:(0,s.__)("An error occurred while saving.","ultimate-store-kit")})}).finally(()=>{x(!1)})},[]),h=(0,e.useCallback)(e=>{l(e),window.location.hash!==`#${e}`&&(window.location.hash=`#${e}`),window.scrollTo({top:0,behavior:"smooth"})},[]),b=(({isPro:e,settingsGroups:s=[]})=>{const a=(0,t.applyFilters)("usk.admin.navItems",me),r=xe(),l=r.map(e=>e.id);return a.map(t=>{if("modules"===t.id){const a=s.map(t=>({id:t.id,label:t.label,icon:pe(t),...t.proOnly&&!e?{badge:"Pro",proPlaceholder:!0}:{}}));if(e)return{...t,items:[...a,...t.items]};const i=t.items.filter(e=>!l.includes(e.id));return{...t,items:[...a,...r,...i]}}return t})})({isPro:n,settingsGroups:gt}),g=(b.find(e=>"modules"===e.id)||{items:[]}).items,f=(b.find(e=>"support"===e.id)||{items:[]}).items,j=g.map(e=>e.id),_=!!(0,t.applyFilters)("usk.admin.pages",{}).license,k=[{key:"welcome",label:(0,s.__)("Dashboard","ultimate-store-kit"),icon:w,active:"welcome"===r},{key:"woocommerce-widgets",label:(0,s.__)("Widgets","ultimate-store-kit"),icon:v,active:["widgets","woocommerce-widgets","edd-widgets","other-widgets"].includes(r)},{key:"modules",label:(0,s.__)("Modules","ultimate-store-kit"),icon:y,active:"modules"===r||j.includes(r)},{key:"performance",label:(0,s.__)("Performance","ultimate-store-kit"),icon:H,active:"performance"===r},{key:"template-builder",label:(0,s.__)("Template Builder","ultimate-store-kit"),icon:N,href:bt.templateBuilderUrl}];_?k.push({key:"license",label:(0,s.__)("License","ultimate-store-kit"),icon:S,active:"license"===r}):n||k.push({key:"get-pro",label:(0,s.__)("Get Pro","ultimate-store-kit"),icon:M,active:"get-pro"===r}),k.push({key:"about",label:(0,s.__)("About & Info","ultimate-store-kit"),icon:P,active:"about"===r}),k.push({key:"other-plugins",label:(0,s.__)("Other Plugins","ultimate-store-kit"),icon:U,active:"other-plugins"===r});const C=k.map(e=>e.key),z=f.filter(e=>!(C.includes(e.id)||"get-pro"===e.id&&(n||_))).map(e=>({key:e.id,label:e.label,icon:"license"===e.id?S:"get-pro"===e.id?M:P,active:r===e.id})),A=[{id:"welcome",label:(0,s.__)("Dashboard","ultimate-store-kit"),group:(0,s.__)("Pages","ultimate-store-kit")},{id:"woocommerce-widgets",label:(0,s.__)("WooCommerce widgets","ultimate-store-kit"),group:(0,s.__)("Pages","ultimate-store-kit")},{id:"edd-widgets",label:(0,s.__)("EDD widgets","ultimate-store-kit"),group:(0,s.__)("Pages","ultimate-store-kit")},{id:"other-widgets",label:(0,s.__)("Other widgets","ultimate-store-kit"),group:(0,s.__)("Pages","ultimate-store-kit")},{id:"modules",label:(0,s.__)("All modules","ultimate-store-kit"),group:(0,s.__)("Pages","ultimate-store-kit")},{id:"template-builder",label:(0,s.__)("Template Builder","ultimate-store-kit"),group:(0,s.__)("Pages","ultimate-store-kit"),href:bt.templateBuilderUrl},{id:"performance",label:(0,s.__)("Performance","ultimate-store-kit"),group:(0,s.__)("Pages","ultimate-store-kit")},{id:"about",label:(0,s.__)("About & Info","ultimate-store-kit"),group:(0,s.__)("Pages","ultimate-store-kit")},{id:"other-plugins",label:(0,s.__)("Other Plugins","ultimate-store-kit"),group:(0,s.__)("Pages","ultimate-store-kit")},..._?[{id:"license",label:(0,s.__)("License","ultimate-store-kit"),group:(0,s.__)("Pages","ultimate-store-kit")}]:[],...z.map(e=>({id:e.key,label:e.label,group:(0,s.__)("Pages","ultimate-store-kit")})),...g.map(e=>({id:e.id,label:e.label,group:(0,s.__)("Modules","ultimate-store-kit")})),...[["ultimate_store_kit_active_modules","woocommerce-widgets"],["ultimate_store_kit_edd_modules","edd-widgets"],["ultimate_store_kit_general_modules","other-widgets"]].flatMap(([e,t])=>(bt.widgets?.[e]||[]).filter(e=>"checkbox"===e.type).map(e=>({id:`${t}?search=${encodeURIComponent(e.label)}`,label:e.label,group:(0,s.__)("Widgets","ultimate-store-kit")})))],L=g.find(e=>e.id===r);return(0,a.jsxs)("div",{className:"usk-app min-h-[calc(100vh-32px)] bg-[#f0f0f1] text-sm text-[#1d2327]",children:[(0,a.jsx)(ht,{notification:m,onDismiss:()=>p(null)}),(0,a.jsxs)("div",{className:"mx-auto box-border w-full max-w-[1400px] px-12 pb-[60px] pt-[30px] max-[1024px]:px-7 max-[1024px]:pt-6 max-[640px]:px-0 max-[640px]:pt-4",children:[(0,a.jsxs)("div",{className:"rounded-card border border-solid border-[#e6e6ea] bg-white",children:[(0,a.jsx)(le,{version:bt.version,isPro:n,isProPluginActive:!!bt.isProPluginActive,templateBuilderUrl:bt.templateBuilderUrl,searchItems:A,onSearchSelect:e=>{e.href?window.location.href=e.href:(window.location.hash=`#${e.id}`,window.scrollTo({top:0,behavior:"smooth"}))}}),(0,a.jsx)(oe,{tabs:k,moreItems:z,onNavigate:h})]}),(0,a.jsxs)("main",{className:"mt-[26px]",children:[L?(0,a.jsxs)("div",{className:"mb-4 flex flex-wrap items-center gap-2 text-[13px] font-semibold text-[#6c6c75]",children:[(0,a.jsxs)("button",{type:"button",onClick:()=>h("modules"),className:"inline-flex cursor-pointer items-center gap-1.5 rounded-full border border-solid border-[#e6e6ea] bg-white px-3 py-1.5 text-[13px] font-bold text-[#3f3f46] transition-colors hover:border-[#e30c1d] hover:text-[#e30c1d]",children:[(0,a.jsx)($,{size:14}),(0,s.__)("All modules","ultimate-store-kit")]}),(0,a.jsx)("span",{"aria-hidden":"true",children:"/"}),(0,a.jsx)("span",{className:"text-[#0f1115]",children:L.label}),L.badge&&!n?(0,a.jsx)(se,{}):null]}):null,(()=>{const e=bt.widgets||{},s=(0,t.applyFilters)("usk.admin.pages",{});if(s[r]){if(!n){const e=xe().find(e=>e.id===r)||ft(r);if(e)return(0,a.jsx)(ut,{module:e})}const e=s[r];return(0,a.jsx)(e,{})}const l=xe().find(e=>e.id===r)||!n&&ft(r);if(l)return(0,a.jsx)(ut,{module:l});switch(r){case"welcome":return(0,a.jsx)(Me,{widgets:e,settings:i,isPro:n,moduleItems:g,onNavigate:h});case"other-plugins":return(0,a.jsx)(Je,{onNotify:p});case"performance":return(0,a.jsx)(Ue,{settings:i,onSave:u,saving:c});case"modules":return(0,a.jsx)(Pe,{items:g,settings:i,isPro:n,onNavigate:h});case"widgets":case"woocommerce-widgets":case"edd-widgets":case"other-widgets":{const t={"woocommerce-widgets":"wc","edd-widgets":"edd","other-widgets":"other",widgets:"wc"};return(0,a.jsx)(et,{allWidgets:e,allSettings:i,onSave:u,saving:c,isPro:n,widgetType:t[r],onNavigate:h})}case"get-pro":return n?(0,a.jsx)(Me,{widgets:e,settings:i,isPro:n,moduleItems:g,onNavigate:h}):(0,a.jsx)(ot,{isPro:n});case"about":return(0,a.jsx)(mt,{});default:{const t=gt.find(e=>e.id===r);return t?(0,a.jsx)(at,{widgets:e.ultimate_store_kit_other_settings||[],section:"ultimate_store_kit_other_settings",settings:i.ultimate_store_kit_other_settings||{},onSave:u,saving:c,isPro:n,activeGroup:t.label}):(0,a.jsx)(Me,{widgets:e,settings:i,isPro:n,moduleItems:g,onNavigate:h})}}})()]}),(0,a.jsxs)("footer",{className:"mt-10 text-center text-[12.5px] text-[#8a8a93]",children:[(0,s.__)("Ultimate Store Kit Addon made with love by","ultimate-store-kit")," ",(0,a.jsx)("a",{target:"_blank",rel:"noopener noreferrer",href:"https://bdthemes.com",className:"font-semibold text-[#e30c1d] no-underline hover:underline",children:"BdThemes"}),". ",(0,s.__)("All rights reserved.","ultimate-store-kit")]})]})]})};document.addEventListener("DOMContentLoaded",()=>{const t=document.querySelector(".ultimate-store-kit-admin-root");t&&(0,e.createRoot)(t).render((0,a.jsx)(_t,{}))})}};const t={};function s(a){const r=t[a];if(void 0!==r)return r.exports;const l=t[a]={exports:{}};return e[a](l,l.exports,s),l.exports}s.m=e,(()=>{const e=[];s.O=(t,a,r,l)=>{if(a){l=l||0;for(var i=e.length;i>0&&e[i-1][2]>l;i--)e[i]=e[i-1];return void(e[i]=[a,r,l])}let o=1/0;for(i=0;i<e.length;i++){let[a,r,l]=e[i],d=!0;for(var n=0;n<a.length;n++)(!1&l||o>=l)&&Object.keys(s.O).every(e=>s.O[e](a[n]))?a.splice(n--,1):(d=!1,l<o&&(o=l));if(d){e.splice(i--,1);const s=r();void 0!==s&&(t=s)}}return t}})(),s.o=(e,t)=>Object.hasOwn(e,t),(()=>{const e={16:0,1524:0};s.O.j=t=>0===e[t];const t=(t,a)=>{let[r,l,i]=a;var o,n,d=0;if(r.some(t=>0!==e[t])){for(o in l)s.o(l,o)&&(s.m[o]=l[o]);if(i)var c=i(s)}for(t&&t(a);d<r.length;d++)n=r[d],s.o(e,n)&&e[n]&&e[n][0](),e[n]=0;return s.O(c)},a=globalThis.webpackChunkultimate_store_kit||=[];a.forEach(t.bind(null,0)),a.push=t.bind(null,a.push.bind(a))})();let a=s.O(void 0,[1524],()=>s(3399));a=s.O(a)})();
  • ultimate-store-kit/tags/4.1.0/assets/admin/others/css/ultimate-builder-rtl.css

    r3504294 r3790891  
    1 body.post-type-usk-template-builder .row-actions span.view,body.post-type-usk-template-builder .row-actions span.inline{display:none !important}.usk-modal-overlay{position:fixed;height:100%;width:100%;bottom:0;right:0;background-color:rgba(0,0,0,.746);z-index:9999}#ultimate-builder-kit-builder-modal-wrapper{background-color:#fff;position:absolute;width:85%;top:50%;right:50%;transform:translate(50%, -50%);z-index:1111;max-width:1024px}.usk-template-modal-header{display:flex;align-items:center;background-color:#fff;box-shadow:0 5px 15px rgba(0,0,0,.08);padding:15px}.usk-modal-logo-wrap{display:flex;align-items:center;cursor:pointer}.usk-modal-logo-wrap .usk-modal-logo{width:30px}.usk-modal-logo-wrap .usk-logo-text{font-size:15px;color:#495157;text-transform:uppercase;font-weight:700;padding-right:12px}.usk-modal-close-button{margin-right:auto;border-right:1px solid #e8e2e2;padding-right:10px}.usk-modal-close-button a{text-decoration:none}.usk-modal-close-button .usk-icon-close{font-size:22px;color:#8d99ae}.usk-template-modal-main-wrap{padding:30px;display:flex;flex-direction:column;align-items:center;grid-gap:40px}.usk-template-modal-main-wrap .usk-modal-content-wrap{width:100%}.usk-modal-content-wrap .usk-modal-title{font-size:20px;color:#556068;line-height:1.4;text-transform:capitalize;margin:0;margin-bottom:30px}.usk-modal-content-wrap .usk-modal-title span{font-weight:700;display:inline-table}.usk-modal-content-wrap .usk-modal-desc{color:#6d7882;font-size:12px;line-height:1.5}.usk-template-modal-main-wrap .usk-modal-form-wrap{width:100%;background-color:#fff;box-shadow:0 5px 15px rgba(0,0,0,.08);padding:20px}.usk-template-modal-main-wrap .usk-modal-form-wrap .usk-modal-form{display:flex;flex-direction:column;grid-row-gap:10px}.usk-modal-form .usk-form-title{font-size:18px;font-weight:700;margin-bottom:6px;line-height:1.3;color:#2b2d42;text-transform:capitalize}.usk-modal-form label{font-size:12px;text-transform:capitalize;color:#6d7882}.usk-modal-form select,.usk-modal-form input{height:35px;border:1px solid #cecece;color:#6d7882;text-transform:capitalize;font-size:12px;border-radius:3px;outline:none;margin-bottom:10px}.usk-modal-form select:focus{border:1px solid #8d99ae;border-color:none;color:none;box-shadow:none}.usk-modal-form input[type=text]{border:1px solid #cecece;outline:none}.usk-modal-form input[type=text]:focus{border:1px solid #8d99ae;border-color:none;color:none;box-shadow:none}.usk-modal-form .usk-modal-submit-btn{margin:0;background:#ef233c;border:0;color:#fff;text-transform:uppercase;font-size:11px;transition:all .3s ease;cursor:pointer}.usk-modal-form .usk-modal-submit-btn:hover{background:#d90429}.usk-template-status-switcher-wrap{display:flex;align-items:center;gap:12px;margin-bottom:10px}.usk-template-status-switcher-wrap .usk-switcher-status-text{font-size:12px;color:#6d7882;font-weight:500}.usk-template-status-switcher{position:relative;display:inline-flex;align-items:center;width:52px;height:28px;background:#cecece;border-radius:28px;cursor:pointer;transition:background .3s ease}.usk-template-status-switcher.usk-active{background:#ef233c}.usk-template-status-switcher .usk-switcher-slider{position:absolute;width:22px;height:22px;background:#fff;border-radius:50%;right:3px;top:3px;transition:transform .3s ease;box-shadow:0 2px 4px rgba(0,0,0,.2)}.usk-template-status-switcher.usk-active .usk-switcher-slider{transform:translateX(-24px)}@media(min-width: 768px){.usk-template-status-switcher-wrap{margin-bottom:12px}#ultimate-builder-kit-builder-modal-wrapper{width:82%}.usk-template-modal-main-wrap{padding:40px;flex-direction:row}.usk-modal-content-wrap .usk-modal-title{font-size:24px}.usk-modal-content-wrap .usk-modal-desc{font-size:14px}.usk-template-modal-main-wrap .usk-modal-form-wrap{padding:30px}.usk-modal-form .usk-form-title{font-size:20px;margin-bottom:15px}.usk-modal-form label{font-size:12px}.usk-modal-form select,.usk-modal-form input{height:40px;font-size:12px;margin-bottom:12px}.usk-modal-form .usk-modal-submit-btn{font-size:12px}}@media(min-width: 1024px){.usk-template-status-switcher-wrap{margin-bottom:20px}#ultimate-builder-kit-builder-modal-wrapper{width:79%}.usk-template-modal-main-wrap{padding:50px}.usk-modal-content-wrap .usk-modal-title{font-size:30px}.usk-modal-content-wrap .usk-modal-desc{font-size:16px}.usk-template-modal-main-wrap .usk-modal-form-wrap{padding:40px}.usk-modal-form .usk-form-title{font-size:22px;margin-bottom:30px}.usk-modal-form label{font-size:14px}.usk-modal-form select,.usk-modal-form input{height:50px;font-size:14px;margin-bottom:20px}.usk-modal-form .usk-modal-submit-btn{font-size:14px}}@media(min-width: 1440px){#ultimate-builder-kit-builder-modal-wrapper{width:54%}.usk-template-modal-main-wrap{padding:100px}}
     1body.post-type-usk-template-builder .row-actions span.view,body.post-type-usk-template-builder .row-actions span.inline{display:none !important}.usk-modal-overlay{position:fixed;height:100%;width:100%;bottom:0;right:0;background-color:rgba(0,0,0,.746);z-index:9999}#ultimate-builder-kit-builder-modal-wrapper{background-color:#fff;position:absolute;width:85%;top:50%;right:50%;transform:translate(50%, -50%);z-index:1111;max-width:1024px}.usk-template-modal-header{display:flex;align-items:center;background-color:#fff;box-shadow:0 5px 15px rgba(0,0,0,.08);padding:15px}.usk-modal-logo-wrap{display:flex;align-items:center;cursor:pointer}.usk-modal-logo-wrap .usk-modal-logo{width:30px}.usk-modal-logo-wrap .usk-logo-text{font-size:15px;color:#495157;text-transform:uppercase;font-weight:700;padding-right:12px}.usk-modal-close-button{margin-right:auto;border-right:1px solid #e8e2e2;padding-right:10px}.usk-modal-close-button a{text-decoration:none}.usk-modal-close-button .usk-icon-close{font-size:22px;color:#8d99ae}.usk-template-modal-main-wrap{padding:30px;display:flex;flex-direction:column;align-items:center;grid-gap:40px}.usk-template-modal-main-wrap .usk-modal-content-wrap{width:100%}.usk-modal-content-wrap .usk-modal-title{font-size:20px;color:#556068;line-height:1.4;text-transform:capitalize;margin:0;margin-bottom:30px}.usk-modal-content-wrap .usk-modal-title span{font-weight:700;display:inline-table}.usk-modal-content-wrap .usk-modal-desc{color:#6d7882;font-size:12px;line-height:1.5}.usk-template-modal-main-wrap .usk-modal-form-wrap{width:100%;background-color:#fff;box-shadow:0 5px 15px rgba(0,0,0,.08);padding:20px}.usk-template-modal-main-wrap .usk-modal-form-wrap .usk-modal-form{display:flex;flex-direction:column;grid-row-gap:10px}.usk-modal-form .usk-form-title{font-size:18px;font-weight:700;margin-bottom:6px;line-height:1.3;color:#2b2d42;text-transform:capitalize}.usk-modal-form label{font-size:12px;text-transform:capitalize;color:#6d7882}.usk-modal-form select,.usk-modal-form input{height:35px;border:1px solid #cecece;color:#6d7882;text-transform:capitalize;font-size:12px;border-radius:3px;outline:none;margin-bottom:10px}.usk-modal-form select:focus{border:1px solid #8d99ae;border-color:none;color:none;box-shadow:none}.usk-modal-form input[type=text]{border:1px solid #cecece;outline:none}.usk-modal-form input[type=text]:focus{border:1px solid #8d99ae;border-color:none;color:none;box-shadow:none}.usk-modal-form .usk-modal-submit-btn{margin:0;background:#ef233c;border:0;color:#fff;text-transform:uppercase;font-size:11px;transition:all .3s ease;cursor:pointer}.usk-modal-form .usk-modal-submit-btn:hover{background:#d90429}.usk-template-status-switcher-wrap{display:flex;align-items:center;gap:12px;margin-bottom:10px}.usk-template-status-switcher-wrap .usk-switcher-status-text{font-size:12px;color:#6d7882;font-weight:500}.usk-template-status-switcher{position:relative;display:inline-flex;align-items:center;width:52px;height:28px;background:#cecece;border-radius:28px;cursor:pointer;transition:background .3s ease}.usk-template-status-switcher.usk-active{background:#ef233c}.usk-template-status-switcher .usk-switcher-slider{position:absolute;width:22px;height:22px;background:#fff;border-radius:50%;right:3px;top:3px;transition:transform .3s ease;box-shadow:0 2px 4px rgba(0,0,0,.2)}.usk-template-status-switcher.usk-active .usk-switcher-slider{transform:translateX(-24px)}@media(min-width: 768px){.usk-template-status-switcher-wrap{margin-bottom:12px}#ultimate-builder-kit-builder-modal-wrapper{width:82%}.usk-template-modal-main-wrap{padding:40px;flex-direction:row}.usk-modal-content-wrap .usk-modal-title{font-size:24px}.usk-modal-content-wrap .usk-modal-desc{font-size:14px}.usk-template-modal-main-wrap .usk-modal-form-wrap{padding:30px}.usk-modal-form .usk-form-title{font-size:20px;margin-bottom:15px}.usk-modal-form label{font-size:12px}.usk-modal-form select,.usk-modal-form input{height:40px;font-size:12px;margin-bottom:12px}.usk-modal-form .usk-modal-submit-btn{font-size:12px}}@media(min-width: 1024px){.usk-template-status-switcher-wrap{margin-bottom:20px}#ultimate-builder-kit-builder-modal-wrapper{width:79%}.usk-template-modal-main-wrap{padding:50px}.usk-modal-content-wrap .usk-modal-title{font-size:30px}.usk-modal-content-wrap .usk-modal-desc{font-size:16px}.usk-template-modal-main-wrap .usk-modal-form-wrap{padding:40px}.usk-modal-form .usk-form-title{font-size:22px;margin-bottom:30px}.usk-modal-form label{font-size:14px}.usk-modal-form select,.usk-modal-form input{height:50px;font-size:14px;margin-bottom:20px}.usk-modal-form .usk-modal-submit-btn{font-size:14px}}@media(min-width: 1440px){#ultimate-builder-kit-builder-modal-wrapper{width:54%}.usk-template-modal-main-wrap{padding:100px}}#ultimate-builder-kit-builder-modal-wrapper{max-height:90vh;overflow-y:auto}.usk-modal-form .usk-template-conditions{display:flex;flex-direction:column;grid-row-gap:10px;padding:12px 0 4px;border-top:1px solid #eee}.usk-modal-form .usk-template-conditions .usk-form-title{font-size:15px;margin-bottom:0}.usk-modal-form .usk-template-conditions-desc{margin:0;font-size:12px;color:#6d7882}.usk-modal-form .usk-template-condition{display:flex;flex-direction:column;grid-row-gap:6px}.usk-modal-form .usk-template-condition .select2-container{margin-bottom:4px}.usk-modal-form .usk-template-condition .select2-search__field{height:auto;margin:5px 0 0;border:0;text-transform:none}body.post-type-usk-template-builder .select2-container--open{z-index:100000}
  • ultimate-store-kit/tags/4.1.0/assets/admin/others/css/ultimate-builder.css

    r3504294 r3790891  
    1 body.post-type-usk-template-builder .row-actions span.view,body.post-type-usk-template-builder .row-actions span.inline{display:none !important}.usk-modal-overlay{position:fixed;height:100%;width:100%;bottom:0;left:0;background-color:rgba(0,0,0,.746);z-index:9999}#ultimate-builder-kit-builder-modal-wrapper{background-color:#fff;position:absolute;width:85%;top:50%;left:50%;transform:translate(-50%, -50%);z-index:1111;max-width:1024px}.usk-template-modal-header{display:flex;align-items:center;background-color:#fff;box-shadow:0 5px 15px rgba(0,0,0,.08);padding:15px}.usk-modal-logo-wrap{display:flex;align-items:center;cursor:pointer}.usk-modal-logo-wrap .usk-modal-logo{width:30px}.usk-modal-logo-wrap .usk-logo-text{font-size:15px;color:#495157;text-transform:uppercase;font-weight:700;padding-left:12px}.usk-modal-close-button{margin-left:auto;border-left:1px solid #e8e2e2;padding-left:10px}.usk-modal-close-button a{text-decoration:none}.usk-modal-close-button .usk-icon-close{font-size:22px;color:#8d99ae}.usk-template-modal-main-wrap{padding:30px;display:flex;flex-direction:column;align-items:center;grid-gap:40px}.usk-template-modal-main-wrap .usk-modal-content-wrap{width:100%}.usk-modal-content-wrap .usk-modal-title{font-size:20px;color:#556068;line-height:1.4;text-transform:capitalize;margin:0;margin-bottom:30px}.usk-modal-content-wrap .usk-modal-title span{font-weight:700;display:inline-table}.usk-modal-content-wrap .usk-modal-desc{color:#6d7882;font-size:12px;line-height:1.5}.usk-template-modal-main-wrap .usk-modal-form-wrap{width:100%;background-color:#fff;box-shadow:0 5px 15px rgba(0,0,0,.08);padding:20px}.usk-template-modal-main-wrap .usk-modal-form-wrap .usk-modal-form{display:flex;flex-direction:column;grid-row-gap:10px}.usk-modal-form .usk-form-title{font-size:18px;font-weight:700;margin-bottom:6px;line-height:1.3;color:#2b2d42;text-transform:capitalize}.usk-modal-form label{font-size:12px;text-transform:capitalize;color:#6d7882}.usk-modal-form select,.usk-modal-form input{height:35px;border:1px solid #cecece;color:#6d7882;text-transform:capitalize;font-size:12px;border-radius:3px;outline:none;margin-bottom:10px}.usk-modal-form select:focus{border:1px solid #8d99ae;border-color:none;color:none;box-shadow:none}.usk-modal-form input[type=text]{border:1px solid #cecece;outline:none}.usk-modal-form input[type=text]:focus{border:1px solid #8d99ae;border-color:none;color:none;box-shadow:none}.usk-modal-form .usk-modal-submit-btn{margin:0;background:#ef233c;border:0;color:#fff;text-transform:uppercase;font-size:11px;transition:all .3s ease;cursor:pointer}.usk-modal-form .usk-modal-submit-btn:hover{background:#d90429}.usk-template-status-switcher-wrap{display:flex;align-items:center;gap:12px;margin-bottom:10px}.usk-template-status-switcher-wrap .usk-switcher-status-text{font-size:12px;color:#6d7882;font-weight:500}.usk-template-status-switcher{position:relative;display:inline-flex;align-items:center;width:52px;height:28px;background:#cecece;border-radius:28px;cursor:pointer;transition:background .3s ease}.usk-template-status-switcher.usk-active{background:#ef233c}.usk-template-status-switcher .usk-switcher-slider{position:absolute;width:22px;height:22px;background:#fff;border-radius:50%;left:3px;top:3px;transition:transform .3s ease;box-shadow:0 2px 4px rgba(0,0,0,.2)}.usk-template-status-switcher.usk-active .usk-switcher-slider{transform:translateX(24px)}@media(min-width: 768px){.usk-template-status-switcher-wrap{margin-bottom:12px}#ultimate-builder-kit-builder-modal-wrapper{width:82%}.usk-template-modal-main-wrap{padding:40px;flex-direction:row}.usk-modal-content-wrap .usk-modal-title{font-size:24px}.usk-modal-content-wrap .usk-modal-desc{font-size:14px}.usk-template-modal-main-wrap .usk-modal-form-wrap{padding:30px}.usk-modal-form .usk-form-title{font-size:20px;margin-bottom:15px}.usk-modal-form label{font-size:12px}.usk-modal-form select,.usk-modal-form input{height:40px;font-size:12px;margin-bottom:12px}.usk-modal-form .usk-modal-submit-btn{font-size:12px}}@media(min-width: 1024px){.usk-template-status-switcher-wrap{margin-bottom:20px}#ultimate-builder-kit-builder-modal-wrapper{width:79%}.usk-template-modal-main-wrap{padding:50px}.usk-modal-content-wrap .usk-modal-title{font-size:30px}.usk-modal-content-wrap .usk-modal-desc{font-size:16px}.usk-template-modal-main-wrap .usk-modal-form-wrap{padding:40px}.usk-modal-form .usk-form-title{font-size:22px;margin-bottom:30px}.usk-modal-form label{font-size:14px}.usk-modal-form select,.usk-modal-form input{height:50px;font-size:14px;margin-bottom:20px}.usk-modal-form .usk-modal-submit-btn{font-size:14px}}@media(min-width: 1440px){#ultimate-builder-kit-builder-modal-wrapper{width:54%}.usk-template-modal-main-wrap{padding:100px}}
     1body.post-type-usk-template-builder .row-actions span.view,body.post-type-usk-template-builder .row-actions span.inline{display:none !important}.usk-modal-overlay{position:fixed;height:100%;width:100%;bottom:0;left:0;background-color:rgba(0,0,0,.746);z-index:9999}#ultimate-builder-kit-builder-modal-wrapper{background-color:#fff;position:absolute;width:85%;top:50%;left:50%;transform:translate(-50%, -50%);z-index:1111;max-width:1024px}.usk-template-modal-header{display:flex;align-items:center;background-color:#fff;box-shadow:0 5px 15px rgba(0,0,0,.08);padding:15px}.usk-modal-logo-wrap{display:flex;align-items:center;cursor:pointer}.usk-modal-logo-wrap .usk-modal-logo{width:30px}.usk-modal-logo-wrap .usk-logo-text{font-size:15px;color:#495157;text-transform:uppercase;font-weight:700;padding-left:12px}.usk-modal-close-button{margin-left:auto;border-left:1px solid #e8e2e2;padding-left:10px}.usk-modal-close-button a{text-decoration:none}.usk-modal-close-button .usk-icon-close{font-size:22px;color:#8d99ae}.usk-template-modal-main-wrap{padding:30px;display:flex;flex-direction:column;align-items:center;grid-gap:40px}.usk-template-modal-main-wrap .usk-modal-content-wrap{width:100%}.usk-modal-content-wrap .usk-modal-title{font-size:20px;color:#556068;line-height:1.4;text-transform:capitalize;margin:0;margin-bottom:30px}.usk-modal-content-wrap .usk-modal-title span{font-weight:700;display:inline-table}.usk-modal-content-wrap .usk-modal-desc{color:#6d7882;font-size:12px;line-height:1.5}.usk-template-modal-main-wrap .usk-modal-form-wrap{width:100%;background-color:#fff;box-shadow:0 5px 15px rgba(0,0,0,.08);padding:20px}.usk-template-modal-main-wrap .usk-modal-form-wrap .usk-modal-form{display:flex;flex-direction:column;grid-row-gap:10px}.usk-modal-form .usk-form-title{font-size:18px;font-weight:700;margin-bottom:6px;line-height:1.3;color:#2b2d42;text-transform:capitalize}.usk-modal-form label{font-size:12px;text-transform:capitalize;color:#6d7882}.usk-modal-form select,.usk-modal-form input{height:35px;border:1px solid #cecece;color:#6d7882;text-transform:capitalize;font-size:12px;border-radius:3px;outline:none;margin-bottom:10px}.usk-modal-form select:focus{border:1px solid #8d99ae;border-color:none;color:none;box-shadow:none}.usk-modal-form input[type=text]{border:1px solid #cecece;outline:none}.usk-modal-form input[type=text]:focus{border:1px solid #8d99ae;border-color:none;color:none;box-shadow:none}.usk-modal-form .usk-modal-submit-btn{margin:0;background:#ef233c;border:0;color:#fff;text-transform:uppercase;font-size:11px;transition:all .3s ease;cursor:pointer}.usk-modal-form .usk-modal-submit-btn:hover{background:#d90429}.usk-template-status-switcher-wrap{display:flex;align-items:center;gap:12px;margin-bottom:10px}.usk-template-status-switcher-wrap .usk-switcher-status-text{font-size:12px;color:#6d7882;font-weight:500}.usk-template-status-switcher{position:relative;display:inline-flex;align-items:center;width:52px;height:28px;background:#cecece;border-radius:28px;cursor:pointer;transition:background .3s ease}.usk-template-status-switcher.usk-active{background:#ef233c}.usk-template-status-switcher .usk-switcher-slider{position:absolute;width:22px;height:22px;background:#fff;border-radius:50%;left:3px;top:3px;transition:transform .3s ease;box-shadow:0 2px 4px rgba(0,0,0,.2)}.usk-template-status-switcher.usk-active .usk-switcher-slider{transform:translateX(24px)}@media(min-width: 768px){.usk-template-status-switcher-wrap{margin-bottom:12px}#ultimate-builder-kit-builder-modal-wrapper{width:82%}.usk-template-modal-main-wrap{padding:40px;flex-direction:row}.usk-modal-content-wrap .usk-modal-title{font-size:24px}.usk-modal-content-wrap .usk-modal-desc{font-size:14px}.usk-template-modal-main-wrap .usk-modal-form-wrap{padding:30px}.usk-modal-form .usk-form-title{font-size:20px;margin-bottom:15px}.usk-modal-form label{font-size:12px}.usk-modal-form select,.usk-modal-form input{height:40px;font-size:12px;margin-bottom:12px}.usk-modal-form .usk-modal-submit-btn{font-size:12px}}@media(min-width: 1024px){.usk-template-status-switcher-wrap{margin-bottom:20px}#ultimate-builder-kit-builder-modal-wrapper{width:79%}.usk-template-modal-main-wrap{padding:50px}.usk-modal-content-wrap .usk-modal-title{font-size:30px}.usk-modal-content-wrap .usk-modal-desc{font-size:16px}.usk-template-modal-main-wrap .usk-modal-form-wrap{padding:40px}.usk-modal-form .usk-form-title{font-size:22px;margin-bottom:30px}.usk-modal-form label{font-size:14px}.usk-modal-form select,.usk-modal-form input{height:50px;font-size:14px;margin-bottom:20px}.usk-modal-form .usk-modal-submit-btn{font-size:14px}}@media(min-width: 1440px){#ultimate-builder-kit-builder-modal-wrapper{width:54%}.usk-template-modal-main-wrap{padding:100px}}#ultimate-builder-kit-builder-modal-wrapper{max-height:90vh;overflow-y:auto}.usk-modal-form .usk-template-conditions{display:flex;flex-direction:column;grid-row-gap:10px;padding:12px 0 4px;border-top:1px solid #eee}.usk-modal-form .usk-template-conditions .usk-form-title{font-size:15px;margin-bottom:0}.usk-modal-form .usk-template-conditions-desc{margin:0;font-size:12px;color:#6d7882}.usk-modal-form .usk-template-condition{display:flex;flex-direction:column;grid-row-gap:6px}.usk-modal-form .usk-template-condition .select2-container{margin-bottom:4px}.usk-modal-form .usk-template-condition .select2-search__field{height:auto;margin:5px 0 0;border:0;text-transform:none}body.post-type-usk-template-builder .select2-container--open{z-index:100000}
  • ultimate-store-kit/tags/4.1.0/assets/admin/others/js/ultimate-builder.js

    r3700275 r3790891  
    1 !function(t){"use strict";var __=wp.i18n.__;function e(){t("#ultimate-builder-kit-builder-modal").show()}function a(){t("#ultimate-builder-kit-builder-modal form")[0].reset(),t("#ultimate-builder-kit-builder-modal form .template_id").val(""),l(1)}function i(e){t("#ultimate-builder-kit-builder-modal form .usk-modal-submit-btn").val(e)}function u(e){t(".input-error").removeClass("input-error")}function l(e){var a="1"===String(e),i=t("#ultimate-builder-kit-builder-modal"),u=i.find("#usk_template_status_switcher");i.find("#usk_template_status").val(a?"1":"0"),a?u.addClass("usk-active"):u.removeClass("usk-active"),u.attr("aria-checked",a?"true":"false");var l=__("Active","ultimate-store-kit"),r=__("Inactive","ultimate-store-kit");i.find(".usk-switcher-status-text").text(a?l:r)}t(document).on("click","#ultimate-builder-kit-builder-modal .usk-modal-close-button",function(e){t("#ultimate-builder-kit-builder-modal").hide()}),t(document).on("click","body.post-type-usk-template-builder a.page-title-action",function(t){t.preventDefault(),a(),i(__("Create Template","ultimate-store-kit")),e()}),t(document).on("submit","#ultimate-builder-kit-builder-modal form",function(e){e.preventDefault();var a=t(this).serialize();u(),t.ajax({url:ajaxurl,dataType:"json",method:"post",cache:!1,data:{action:"ultimate_store_kit_builder_create_template",data:a},success:function(t){window.location.href=t.data.redirect},error:function(e){422==e.status&&t.each(e.responseJSON.data.errors_arr,function(e,a){t("#ultimate-builder-kit-builder-modal #"+e).addClass("input-error")})}})}),t(document).on("click","body.post-type-usk-template-builder .row-actions .usk-edit-action a",function(r){r.preventDefault(),u(),a(),i(__("Update Template","ultimate-store-kit")),t.ajax({url:ajaxurl,dataType:"json",method:"post",data:{action:"ultimate_store_kit_builder_get_edit_template",template_id:t(this).data("id"),nonce:UltimateStoreKitConfigBuilder.nonce},success:function(a){a.success&&(t("#ultimate-builder-kit-builder-modal form .template_id").val(a.data.id).change(),t("#ultimate-builder-kit-builder-modal form #template_name").val(a.data.name).change(),t("#ultimate-builder-kit-builder-modal form #template_type").val(a.data.type).change(),l(a.data.status)),e()},error:function(t){console.log(t),422!=t.status&&403!=t.status||alert(__("Permission denied or invalid request","ultimate-store-kit"))}})}),t(document).ready(function(){t("#ultimate-builder-kit-builder-modal").on("click","#usk_template_status_switcher",function(){l("1"===t("#usk_template_status").val()?0:1)}).on("keydown","#usk_template_status_switcher",function(e){" "!==e.key&&"Enter"!==e.key||(e.preventDefault(),l("1"===t("#usk_template_status").val()?0:1))})})}(jQuery);
     1!function(t){"use strict";var __=wp.i18n.__;function e(){t("#ultimate-builder-kit-builder-modal").show()}function i(){t("#ultimate-builder-kit-builder-modal form")[0].reset(),t("#ultimate-builder-kit-builder-modal form .template_id").val(""),r(1),u({},{}),a()}function a(){var e=t("#ultimate-builder-kit-builder-modal .usk-template-conditions"),i=(e.data("condition-types")||{})[String(t("#ultimate-builder-kit-builder-modal #template_type").val()||"").toLowerCase()]||[];e.toggle(i.length>0),e.find(".usk-template-condition").each(function(){var e=t(this),a=-1!==i.indexOf(e.data("condition"));e.toggle(a),e.find("select").prop("disabled",!a)})}function u(e,i){var a=t("#ultimate-builder-kit-builder-modal"),u=a.find("#usk_condition_products");u.empty(),t.each(i||{},function(t,e){u.append(new Option(e,t,!0,!0))}),u.trigger("change"),t.each(["product_cat","product_tag"],function(t,i){var u=e&&e[i]||[];a.find("#usk_condition_"+i).val(u.map(String)).trigger("change")})}function l(e){t("#ultimate-builder-kit-builder-modal form .usk-modal-submit-btn").val(e)}function o(e){t(".input-error").removeClass("input-error")}function r(e){var i="1"===String(e),a=t("#ultimate-builder-kit-builder-modal"),u=a.find("#usk_template_status_switcher");a.find("#usk_template_status").val(i?"1":"0"),i?u.addClass("usk-active"):u.removeClass("usk-active"),u.attr("aria-checked",i?"true":"false");var l=__("Active","ultimate-store-kit"),o=__("Inactive","ultimate-store-kit");a.find(".usk-switcher-status-text").text(i?l:o)}t(document).on("change","#ultimate-builder-kit-builder-modal #template_type",a),t(document).on("click","#ultimate-builder-kit-builder-modal .usk-modal-close-button",function(e){t("#ultimate-builder-kit-builder-modal").hide()}),t(document).on("click","body.post-type-usk-template-builder a.page-title-action",function(t){t.preventDefault(),i(),l(__("Create Template","ultimate-store-kit")),e()}),t(document).on("submit","#ultimate-builder-kit-builder-modal form",function(e){e.preventDefault();var i=t(this).serialize();o(),t.ajax({url:ajaxurl,dataType:"json",method:"post",cache:!1,data:{action:"ultimate_store_kit_builder_create_template",data:i},success:function(t){window.location.href=t.data.redirect},error:function(e){422==e.status&&t.each(e.responseJSON.data.errors_arr,function(e,i){t("#ultimate-builder-kit-builder-modal #"+e).addClass("input-error")})}})}),t(document).on("click","body.post-type-usk-template-builder .row-actions .usk-edit-action a",function(n){n.preventDefault(),o(),i(),l(__("Update Template","ultimate-store-kit")),t.ajax({url:ajaxurl,dataType:"json",method:"post",data:{action:"ultimate_store_kit_builder_get_edit_template",template_id:t(this).data("id"),nonce:UltimateStoreKitConfigBuilder.nonce},success:function(i){i.success&&(t("#ultimate-builder-kit-builder-modal form .template_id").val(i.data.id).change(),t("#ultimate-builder-kit-builder-modal form #template_name").val(i.data.name).change(),t("#ultimate-builder-kit-builder-modal form #template_type").val(i.data.type).change(),r(i.data.status),u(i.data.conditions,i.data.products),a()),e()},error:function(t){console.log(t),422!=t.status&&403!=t.status||alert(__("Permission denied or invalid request","ultimate-store-kit"))}})}),t(document).ready(function(){t("#ultimate-builder-kit-builder-modal").on("click","#usk_template_status_switcher",function(){r("1"===t("#usk_template_status").val()?0:1)}).on("keydown","#usk_template_status_switcher",function(e){" "!==e.key&&"Enter"!==e.key||(e.preventDefault(),r("1"===t("#usk_template_status").val()?0:1))})})}(jQuery);
  • ultimate-store-kit/tags/4.1.0/assets/admin/style-admin-rtl.css

    r3757742 r3790891  
    1 .container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.ultimate-store-kit-admin-root .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}.ultimate-store-kit-admin-root .pointer-events-none{pointer-events:none}.ultimate-store-kit-admin-root .pointer-events-auto{pointer-events:auto}.ultimate-store-kit-admin-root .fixed{position:fixed}.ultimate-store-kit-admin-root .absolute{position:absolute}.ultimate-store-kit-admin-root .relative{position:relative}.ultimate-store-kit-admin-root .inset-0{inset:0px}.ultimate-store-kit-admin-root .inset-y-0{top:0px;bottom:0px}.ultimate-store-kit-admin-root .bottom-\[3px\]{bottom:3px}.ultimate-store-kit-admin-root .left-\[3px\]{right:3px}.ultimate-store-kit-admin-root .right-3{left:0.75rem}.ultimate-store-kit-admin-root .z-\[159000\]{z-index:159000}.ultimate-store-kit-admin-root .z-\[1\]{z-index:1}.ultimate-store-kit-admin-root .col-span-full{grid-column:1 / -1}.ultimate-store-kit-admin-root .m-0{margin:0px}.ultimate-store-kit-admin-root .m-5{margin:1.25rem}.ultimate-store-kit-admin-root .mx-auto{margin-right:auto;margin-left:auto}.ultimate-store-kit-admin-root .my-2{margin-top:0.5rem;margin-bottom:0.5rem}.ultimate-store-kit-admin-root .my-auto{margin-top:auto;margin-bottom:auto}.ultimate-store-kit-admin-root .mb-0{margin-bottom:0px}.ultimate-store-kit-admin-root .mb-0\.5{margin-bottom:0.125rem}.ultimate-store-kit-admin-root .mb-1{margin-bottom:0.25rem}.ultimate-store-kit-admin-root .mb-2{margin-bottom:0.5rem}.ultimate-store-kit-admin-root .mb-2\.5{margin-bottom:0.625rem}.ultimate-store-kit-admin-root .mb-3{margin-bottom:0.75rem}.ultimate-store-kit-admin-root .mb-4{margin-bottom:1rem}.ultimate-store-kit-admin-root .mb-5{margin-bottom:1.25rem}.ultimate-store-kit-admin-root .mb-6{margin-bottom:1.5rem}.ultimate-store-kit-admin-root .ml-0{margin-right:0px}.ultimate-store-kit-admin-root .ml-2{margin-right:0.5rem}.ultimate-store-kit-admin-root .mt-0{margin-top:0px}.ultimate-store-kit-admin-root .mt-0\.5{margin-top:0.125rem}.ultimate-store-kit-admin-root .mt-1{margin-top:0.25rem}.ultimate-store-kit-admin-root .mt-2{margin-top:0.5rem}.ultimate-store-kit-admin-root .mt-2\.5{margin-top:0.625rem}.ultimate-store-kit-admin-root .mt-3{margin-top:0.75rem}.ultimate-store-kit-admin-root .mt-4{margin-top:1rem}.ultimate-store-kit-admin-root .mt-6{margin-top:1.5rem}.ultimate-store-kit-admin-root .block{display:block}.ultimate-store-kit-admin-root .inline-block{display:inline-block}.ultimate-store-kit-admin-root .inline{display:inline}.ultimate-store-kit-admin-root .flex{display:flex}.ultimate-store-kit-admin-root .inline-flex{display:inline-flex}.ultimate-store-kit-admin-root .grid{display:grid}.ultimate-store-kit-admin-root .contents{display:contents}.ultimate-store-kit-admin-root .hidden{display:none}.ultimate-store-kit-admin-root .h-1\.5{height:0.375rem}.ultimate-store-kit-admin-root .h-10{height:2.5rem}.ultimate-store-kit-admin-root .h-11{height:2.75rem}.ultimate-store-kit-admin-root .h-12{height:3rem}.ultimate-store-kit-admin-root .h-14{height:3.5rem}.ultimate-store-kit-admin-root .h-3{height:0.75rem}.ultimate-store-kit-admin-root .h-3\.5{height:0.875rem}.ultimate-store-kit-admin-root .h-4{height:1rem}.ultimate-store-kit-admin-root .h-5{height:1.25rem}.ultimate-store-kit-admin-root .h-7{height:1.75rem}.ultimate-store-kit-admin-root .h-8{height:2rem}.ultimate-store-kit-admin-root .h-9{height:2.25rem}.ultimate-store-kit-admin-root .h-\[14px\]{height:14px}.ultimate-store-kit-admin-root .h-\[18px\]{height:18px}.ultimate-store-kit-admin-root .h-\[22px\]{height:22px}.ultimate-store-kit-admin-root .h-\[60px\]{height:60px}.ultimate-store-kit-admin-root .h-full{height:100%}.ultimate-store-kit-admin-root .min-h-9{min-height:2.25rem}.ultimate-store-kit-admin-root .min-h-\[calc\(100vh-100px\)\]{min-height:calc(100vh - 100px)}.ultimate-store-kit-admin-root .w-1\.5{width:0.375rem}.ultimate-store-kit-admin-root .w-10{width:2.5rem}.ultimate-store-kit-admin-root .w-11{width:2.75rem}.ultimate-store-kit-admin-root .w-12{width:3rem}.ultimate-store-kit-admin-root .w-14{width:3.5rem}.ultimate-store-kit-admin-root .w-20{width:5rem}.ultimate-store-kit-admin-root .w-3{width:0.75rem}.ultimate-store-kit-admin-root .w-3\.5{width:0.875rem}.ultimate-store-kit-admin-root .w-4{width:1rem}.ultimate-store-kit-admin-root .w-5{width:1.25rem}.ultimate-store-kit-admin-root .w-64{width:16rem}.ultimate-store-kit-admin-root .w-7{width:1.75rem}.ultimate-store-kit-admin-root .w-8{width:2rem}.ultimate-store-kit-admin-root .w-9{width:2.25rem}.ultimate-store-kit-admin-root .w-\[14px\]{width:14px}.ultimate-store-kit-admin-root .w-\[18px\]{width:18px}.ultimate-store-kit-admin-root .w-\[400px\]{width:400px}.ultimate-store-kit-admin-root .w-\[60px\]{width:60px}.ultimate-store-kit-admin-root .w-\[min\(1200px\2c 100vw\)\]{width:min(1200px, 100vw)}.ultimate-store-kit-admin-root .w-fit{width:-moz-fit-content;width:fit-content}.ultimate-store-kit-admin-root .w-full{width:100%}.ultimate-store-kit-admin-root .min-w-0{min-width:0px}.ultimate-store-kit-admin-root .min-w-\[120px\]{min-width:120px}.ultimate-store-kit-admin-root .min-w-\[140px\]{min-width:140px}.ultimate-store-kit-admin-root .min-w-\[400px\]{min-width:400px}.ultimate-store-kit-admin-root .max-w-3xl{max-width:48rem}.ultimate-store-kit-admin-root .max-w-\[400px\]{max-width:400px}.ultimate-store-kit-admin-root .max-w-\[70\%\]{max-width:70%}.ultimate-store-kit-admin-root .max-w-\[min\(1200px\2c 100vw\)\]{max-width:min(1200px, 100vw)}.ultimate-store-kit-admin-root .max-w-full{max-width:100%}.ultimate-store-kit-admin-root .max-w-md{max-width:28rem}.ultimate-store-kit-admin-root .max-w-xl{max-width:36rem}.ultimate-store-kit-admin-root .flex-1{flex:1 1 0%}.ultimate-store-kit-admin-root .flex-\[2\]{flex:2}.ultimate-store-kit-admin-root .shrink-0{flex-shrink:0}.ultimate-store-kit-admin-root .transform{transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes uskSlideIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.ultimate-store-kit-admin-root .animate-usk-slide-in{animation:uskSlideIn 0.3s ease}.ultimate-store-kit-admin-root .cursor-not-allowed{cursor:not-allowed}.ultimate-store-kit-admin-root .cursor-pointer{cursor:pointer}.ultimate-store-kit-admin-root .select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.ultimate-store-kit-admin-root .resize{resize:both}.ultimate-store-kit-admin-root .list-none{list-style-type:none}.ultimate-store-kit-admin-root .grid-cols-1{grid-template-columns:repeat(1, minmax(0, 1fr))}.ultimate-store-kit-admin-root .grid-cols-\[repeat\(auto-fit\2c minmax\(420px\2c 1fr\)\)\]{grid-template-columns:repeat(auto-fit,minmax(420px,1fr))}.ultimate-store-kit-admin-root .flex-col{flex-direction:column}.ultimate-store-kit-admin-root .flex-wrap{flex-wrap:wrap}.ultimate-store-kit-admin-root .items-start{align-items:flex-start}.ultimate-store-kit-admin-root .items-center{align-items:center}.ultimate-store-kit-admin-root .items-stretch{align-items:stretch}.ultimate-store-kit-admin-root .justify-start{justify-content:flex-start}.ultimate-store-kit-admin-root .justify-end{justify-content:flex-end}.ultimate-store-kit-admin-root .justify-center{justify-content:center}.ultimate-store-kit-admin-root .justify-between{justify-content:space-between}.ultimate-store-kit-admin-root .gap-1{gap:0.25rem}.ultimate-store-kit-admin-root .gap-1\.5{gap:0.375rem}.ultimate-store-kit-admin-root .gap-2{gap:0.5rem}.ultimate-store-kit-admin-root .gap-2\.5{gap:0.625rem}.ultimate-store-kit-admin-root .gap-3{gap:0.75rem}.ultimate-store-kit-admin-root .gap-4{gap:1rem}.ultimate-store-kit-admin-root .gap-5{gap:1.25rem}.ultimate-store-kit-admin-root .gap-6{gap:1.5rem}.ultimate-store-kit-admin-root .gap-px{gap:1px}.ultimate-store-kit-admin-root .gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.ultimate-store-kit-admin-root .gap-y-1\.5{row-gap:0.375rem}.ultimate-store-kit-admin-root :is(.space-y-1 > :not([hidden]) ~ :not([hidden])){--tw-space-y-reverse:0;margin-top:calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.25rem * var(--tw-space-y-reverse))}.ultimate-store-kit-admin-root :is(.space-y-1\.5 > :not([hidden]) ~ :not([hidden])){--tw-space-y-reverse:0;margin-top:calc(0.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.375rem * var(--tw-space-y-reverse))}.ultimate-store-kit-admin-root :is(.space-y-5 > :not([hidden]) ~ :not([hidden])){--tw-space-y-reverse:0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.ultimate-store-kit-admin-root :is(.space-y-6 > :not([hidden]) ~ :not([hidden])){--tw-space-y-reverse:0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.ultimate-store-kit-admin-root .self-start{align-self:flex-start}.ultimate-store-kit-admin-root .self-stretch{align-self:stretch}.ultimate-store-kit-admin-root .overflow-hidden{overflow:hidden}.ultimate-store-kit-admin-root .whitespace-nowrap{white-space:nowrap}.ultimate-store-kit-admin-root .rounded-2xl{border-radius:1rem}.ultimate-store-kit-admin-root .rounded-\[10px\]{border-radius:10px}.ultimate-store-kit-admin-root .rounded-full{border-radius:9999px}.ultimate-store-kit-admin-root .rounded-lg{border-radius:0.5rem}.ultimate-store-kit-admin-root .rounded-md{border-radius:0.375rem}.ultimate-store-kit-admin-root .rounded-usk{border-radius:10px}.ultimate-store-kit-admin-root .rounded-xl{border-radius:0.75rem}.ultimate-store-kit-admin-root .rounded-bl-lg{border-bottom-right-radius:0.5rem}.ultimate-store-kit-admin-root .rounded-br-lg{border-bottom-left-radius:0.5rem}.ultimate-store-kit-admin-root .rounded-tl-lg{border-top-right-radius:0.5rem}.ultimate-store-kit-admin-root .rounded-tr-lg{border-top-left-radius:0.5rem}.ultimate-store-kit-admin-root .\!border{border-width:1px !important}.ultimate-store-kit-admin-root .border{border-width:1px}.ultimate-store-kit-admin-root .border-0{border-width:0px}.ultimate-store-kit-admin-root .border-b{border-bottom-width:1px}.ultimate-store-kit-admin-root .border-l{border-right-width:1px}.ultimate-store-kit-admin-root .border-l-\[3px\]{border-right-width:3px}.ultimate-store-kit-admin-root .border-t{border-top-width:1px}.ultimate-store-kit-admin-root .border-solid{border-style:solid}.ultimate-store-kit-admin-root .border-none{border-style:none}.ultimate-store-kit-admin-root .\!border-uks-brand\/25{border-color:rgb(0 33 106 / 0.25) !important}.ultimate-store-kit-admin-root .border-current{border-color:currentColor}.ultimate-store-kit-admin-root .border-emerald-200{--tw-border-opacity:1;border-color:rgb(167 243 208 / var(--tw-border-opacity, 1))}.ultimate-store-kit-admin-root .border-emerald-300{--tw-border-opacity:1;border-color:rgb(110 231 183 / var(--tw-border-opacity, 1))}.ultimate-store-kit-admin-root .border-gray-100{--tw-border-opacity:1;border-color:rgb(243 244 246 / var(--tw-border-opacity, 1))}.ultimate-store-kit-admin-root .border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}.ultimate-store-kit-admin-root .border-gray-50{--tw-border-opacity:1;border-color:rgb(249 250 251 / var(--tw-border-opacity, 1))}.ultimate-store-kit-admin-root .border-indigo-500{--tw-border-opacity:1;border-color:rgb(99 102 241 / var(--tw-border-opacity, 1))}.ultimate-store-kit-admin-root .border-orange-500{--tw-border-opacity:1;border-color:rgb(249 115 22 / var(--tw-border-opacity, 1))}.ultimate-store-kit-admin-root .border-pink-500{--tw-border-opacity:1;border-color:rgb(236 72 153 / var(--tw-border-opacity, 1))}.ultimate-store-kit-admin-root .border-red-200{--tw-border-opacity:1;border-color:rgb(254 202 202 / var(--tw-border-opacity, 1))}.ultimate-store-kit-admin-root .border-red-500{--tw-border-opacity:1;border-color:rgb(239 68 68 / var(--tw-border-opacity, 1))}.ultimate-store-kit-admin-root .border-slate-100{--tw-border-opacity:1;border-color:rgb(241 245 249 / var(--tw-border-opacity, 1))}.ultimate-store-kit-admin-root .border-slate-200{--tw-border-opacity:1;border-color:rgb(226 232 240 / var(--tw-border-opacity, 1))}.ultimate-store-kit-admin-root .border-slate-300{--tw-border-opacity:1;border-color:rgb(203 213 225 / var(--tw-border-opacity, 1))}.ultimate-store-kit-admin-root .border-teal-500{--tw-border-opacity:1;border-color:rgb(20 184 166 / var(--tw-border-opacity, 1))}.ultimate-store-kit-admin-root .border-transparent{border-color:transparent}.ultimate-store-kit-admin-root .border-uks-brand{--tw-border-opacity:1;border-color:rgb(0 33 106 / var(--tw-border-opacity, 1))}.ultimate-store-kit-admin-root .border-uks-brand\/15{border-color:rgb(0 33 106 / 0.15)}.ultimate-store-kit-admin-root .border-uks-brand\/20{border-color:rgb(0 33 106 / 0.2)}.ultimate-store-kit-admin-root .border-uks-brand\/30{border-color:rgb(0 33 106 / 0.3)}.ultimate-store-kit-admin-root .border-violet-500{--tw-border-opacity:1;border-color:rgb(139 92 246 / var(--tw-border-opacity, 1))}.ultimate-store-kit-admin-root .border-b-gray-100{--tw-border-opacity:1;border-bottom-color:rgb(243 244 246 / var(--tw-border-opacity, 1))}.ultimate-store-kit-admin-root .border-b-gray-200{--tw-border-opacity:1;border-bottom-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}.ultimate-store-kit-admin-root .\!bg-uks-brand{--tw-bg-opacity:1 !important;background-color:rgb(0 33 106 / var(--tw-bg-opacity, 1)) !important}.ultimate-store-kit-admin-root .bg-emerald-100{--tw-bg-opacity:1;background-color:rgb(209 250 229 / var(--tw-bg-opacity, 1))}.ultimate-store-kit-admin-root .bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.ultimate-store-kit-admin-root .bg-indigo-500{--tw-bg-opacity:1;background-color:rgb(99 102 241 / var(--tw-bg-opacity, 1))}.ultimate-store-kit-admin-root .bg-orange-500{--tw-bg-opacity:1;background-color:rgb(249 115 22 / var(--tw-bg-opacity, 1))}.ultimate-store-kit-admin-root .bg-pink-500{--tw-bg-opacity:1;background-color:rgb(236 72 153 / var(--tw-bg-opacity, 1))}.ultimate-store-kit-admin-root .bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226 / var(--tw-bg-opacity, 1))}.ultimate-store-kit-admin-root .bg-slate-100{--tw-bg-opacity:1;background-color:rgb(241 245 249 / var(--tw-bg-opacity, 1))}.ultimate-store-kit-admin-root .bg-slate-200{--tw-bg-opacity:1;background-color:rgb(226 232 240 / var(--tw-bg-opacity, 1))}.ultimate-store-kit-admin-root .bg-slate-300{--tw-bg-opacity:1;background-color:rgb(203 213 225 / var(--tw-bg-opacity, 1))}.ultimate-store-kit-admin-root .bg-slate-50{--tw-bg-opacity:1;background-color:rgb(248 250 252 / var(--tw-bg-opacity, 1))}.ultimate-store-kit-admin-root .bg-slate-50\/50{background-color:rgb(248 250 252 / 0.5)}.ultimate-store-kit-admin-root .bg-slate-50\/70{background-color:rgb(248 250 252 / 0.7)}.ultimate-store-kit-admin-root .bg-teal-500{--tw-bg-opacity:1;background-color:rgb(20 184 166 / var(--tw-bg-opacity, 1))}.ultimate-store-kit-admin-root .bg-transparent{background-color:transparent}.ultimate-store-kit-admin-root .bg-uks-brand{--tw-bg-opacity:1;background-color:rgb(0 33 106 / var(--tw-bg-opacity, 1))}.ultimate-store-kit-admin-root .bg-uks-brand\/10{background-color:rgb(0 33 106 / 0.1)}.ultimate-store-kit-admin-root .bg-uks-brand\/5{background-color:rgb(0 33 106 / 0.05)}.ultimate-store-kit-admin-root .bg-uks-brand\/\[0\.07\]{background-color:rgb(0 33 106 / 0.07)}.ultimate-store-kit-admin-root .bg-violet-500{--tw-bg-opacity:1;background-color:rgb(139 92 246 / var(--tw-bg-opacity, 1))}.ultimate-store-kit-admin-root .bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.ultimate-store-kit-admin-root .bg-white\/80{background-color:rgb(255 255 255 / 0.8)}.ultimate-store-kit-admin-root .bg-\[linear-gradient\(313deg\2c \#E62A3F_0\%\2c \#00216A_100\%\)\]{background-image:linear-gradient(-313deg,#E62A3F 0%,#00216A 100%)}.ultimate-store-kit-admin-root .bg-gradient-to-br{background-image:linear-gradient(to bottom left, var(--tw-gradient-stops))}.ultimate-store-kit-admin-root .from-uks-brand\/\[0\.07\]{--tw-gradient-from:rgb(0 33 106 / 0.07) var(--tw-gradient-from-position);--tw-gradient-to:rgb(0 33 106 / 0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.ultimate-store-kit-admin-root .to-transparent{--tw-gradient-to:transparent var(--tw-gradient-to-position)}.ultimate-store-kit-admin-root .p-0{padding:0px}.ultimate-store-kit-admin-root .p-0\.5{padding:0.125rem}.ultimate-store-kit-admin-root .p-4{padding:1rem}.ultimate-store-kit-admin-root .p-5{padding:1.25rem}.ultimate-store-kit-admin-root .p-6{padding:1.5rem}.ultimate-store-kit-admin-root .p-8{padding:2rem}.ultimate-store-kit-admin-root .px-1{padding-right:0.25rem;padding-left:0.25rem}.ultimate-store-kit-admin-root .px-1\.5{padding-right:0.375rem;padding-left:0.375rem}.ultimate-store-kit-admin-root .px-2{padding-right:0.5rem;padding-left:0.5rem}.ultimate-store-kit-admin-root .px-2\.5{padding-right:0.625rem;padding-left:0.625rem}.ultimate-store-kit-admin-root .px-3{padding-right:0.75rem;padding-left:0.75rem}.ultimate-store-kit-admin-root .px-3\.5{padding-right:0.875rem;padding-left:0.875rem}.ultimate-store-kit-admin-root .px-4{padding-right:1rem;padding-left:1rem}.ultimate-store-kit-admin-root .px-5{padding-right:1.25rem;padding-left:1.25rem}.ultimate-store-kit-admin-root .px-6{padding-right:1.5rem;padding-left:1.5rem}.ultimate-store-kit-admin-root .px-\[18px\]{padding-right:18px;padding-left:18px}.ultimate-store-kit-admin-root .py-0{padding-top:0px;padding-bottom:0px}.ultimate-store-kit-admin-root .py-0\.5{padding-top:0.125rem;padding-bottom:0.125rem}.ultimate-store-kit-admin-root .py-1{padding-top:0.25rem;padding-bottom:0.25rem}.ultimate-store-kit-admin-root .py-1\.5{padding-top:0.375rem;padding-bottom:0.375rem}.ultimate-store-kit-admin-root .py-10{padding-top:2.5rem;padding-bottom:2.5rem}.ultimate-store-kit-admin-root .py-16{padding-top:4rem;padding-bottom:4rem}.ultimate-store-kit-admin-root .py-2{padding-top:0.5rem;padding-bottom:0.5rem}.ultimate-store-kit-admin-root .py-2\.5{padding-top:0.625rem;padding-bottom:0.625rem}.ultimate-store-kit-admin-root .py-3{padding-top:0.75rem;padding-bottom:0.75rem}.ultimate-store-kit-admin-root .py-3\.5{padding-top:0.875rem;padding-bottom:0.875rem}.ultimate-store-kit-admin-root .py-4{padding-top:1rem;padding-bottom:1rem}.ultimate-store-kit-admin-root .py-5{padding-top:1.25rem;padding-bottom:1.25rem}.ultimate-store-kit-admin-root .py-6{padding-top:1.5rem;padding-bottom:1.5rem}.ultimate-store-kit-admin-root .pb-4{padding-bottom:1rem}.ultimate-store-kit-admin-root .pl-3{padding-right:0.75rem}.ultimate-store-kit-admin-root .pr-10{padding-left:2.5rem}.ultimate-store-kit-admin-root .pt-1{padding-top:0.25rem}.ultimate-store-kit-admin-root .pt-4{padding-top:1rem}.ultimate-store-kit-admin-root .text-left{text-align:right}.ultimate-store-kit-admin-root .text-center{text-align:center}.ultimate-store-kit-admin-root .align-middle{vertical-align:middle}.ultimate-store-kit-admin-root .font-mono{font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace}.ultimate-store-kit-admin-root .font-sans{font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, sans-serif}.ultimate-store-kit-admin-root .text-\[10px\]{font-size:10px}.ultimate-store-kit-admin-root .text-\[11px\]{font-size:11px}.ultimate-store-kit-admin-root .text-\[12px\]{font-size:12px}.ultimate-store-kit-admin-root .text-\[13px\]{font-size:13px}.ultimate-store-kit-admin-root .text-\[14px\]{font-size:14px}.ultimate-store-kit-admin-root .text-\[22px\]{font-size:22px}.ultimate-store-kit-admin-root .text-\[9px\]{font-size:9px}.ultimate-store-kit-admin-root .text-base{font-size:1rem;line-height:1.5rem}.ultimate-store-kit-admin-root .text-lg{font-size:1.125rem;line-height:1.75rem}.ultimate-store-kit-admin-root .text-sm{font-size:0.875rem;line-height:1.25rem}.ultimate-store-kit-admin-root .text-xl{font-size:1.25rem;line-height:1.75rem}.ultimate-store-kit-admin-root .text-xs{font-size:0.75rem;line-height:1rem}.ultimate-store-kit-admin-root .font-bold{font-weight:700}.ultimate-store-kit-admin-root .font-extrabold{font-weight:800}.ultimate-store-kit-admin-root .font-medium{font-weight:500}.ultimate-store-kit-admin-root .font-semibold{font-weight:600}.ultimate-store-kit-admin-root .uppercase{text-transform:uppercase}.ultimate-store-kit-admin-root .leading-none{line-height:1}.ultimate-store-kit-admin-root .leading-relaxed{line-height:1.625}.ultimate-store-kit-admin-root .leading-snug{line-height:1.375}.ultimate-store-kit-admin-root .leading-tight{line-height:1.25}.ultimate-store-kit-admin-root .tracking-tight{letter-spacing:-0.025em}.ultimate-store-kit-admin-root .tracking-wide{letter-spacing:0.025em}.ultimate-store-kit-admin-root .tracking-wider{letter-spacing:0.05em}.ultimate-store-kit-admin-root .tracking-widest{letter-spacing:0.1em}.ultimate-store-kit-admin-root .\!text-white{--tw-text-opacity:1 !important;color:rgb(255 255 255 / var(--tw-text-opacity, 1)) !important}.ultimate-store-kit-admin-root .text-emerald-500{--tw-text-opacity:1;color:rgb(16 185 129 / var(--tw-text-opacity, 1))}.ultimate-store-kit-admin-root .text-emerald-600{--tw-text-opacity:1;color:rgb(5 150 105 / var(--tw-text-opacity, 1))}.ultimate-store-kit-admin-root .text-emerald-800{--tw-text-opacity:1;color:rgb(6 95 70 / var(--tw-text-opacity, 1))}.ultimate-store-kit-admin-root .text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.ultimate-store-kit-admin-root .text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.ultimate-store-kit-admin-root .text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.ultimate-store-kit-admin-root .text-inherit{color:inherit}.ultimate-store-kit-admin-root .text-red-500{--tw-text-opacity:1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.ultimate-store-kit-admin-root .text-red-900{--tw-text-opacity:1;color:rgb(127 29 29 / var(--tw-text-opacity, 1))}.ultimate-store-kit-admin-root .text-slate-300{--tw-text-opacity:1;color:rgb(203 213 225 / var(--tw-text-opacity, 1))}.ultimate-store-kit-admin-root .text-slate-400{--tw-text-opacity:1;color:rgb(148 163 184 / var(--tw-text-opacity, 1))}.ultimate-store-kit-admin-root .text-slate-500{--tw-text-opacity:1;color:rgb(100 116 139 / var(--tw-text-opacity, 1))}.ultimate-store-kit-admin-root .text-slate-600{--tw-text-opacity:1;color:rgb(71 85 105 / var(--tw-text-opacity, 1))}.ultimate-store-kit-admin-root .text-slate-700{--tw-text-opacity:1;color:rgb(51 65 85 / var(--tw-text-opacity, 1))}.ultimate-store-kit-admin-root .text-slate-800{--tw-text-opacity:1;color:rgb(30 41 59 / var(--tw-text-opacity, 1))}.ultimate-store-kit-admin-root .text-slate-900{--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity, 1))}.ultimate-store-kit-admin-root .text-uks-brand{--tw-text-opacity:1;color:rgb(0 33 106 / var(--tw-text-opacity, 1))}.ultimate-store-kit-admin-root .text-white{--tw-text-opacity:1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.ultimate-store-kit-admin-root .text-white\/90{color:rgb(255 255 255 / 0.9)}.ultimate-store-kit-admin-root .no-underline{text-decoration-line:none}.ultimate-store-kit-admin-root .opacity-60{opacity:0.6}.ultimate-store-kit-admin-root .opacity-70{opacity:0.7}.ultimate-store-kit-admin-root .shadow-sm{--tw-shadow:0 1px 2px 0 rgb(0 0 0 / 0.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.ultimate-store-kit-admin-root .filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.ultimate-store-kit-admin-root .transition{transition-property:color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.ultimate-store-kit-admin-root .transition-all{transition-property:all;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.ultimate-store-kit-admin-root .transition-colors{transition-property:color, background-color, border-color, text-decoration-color, fill, stroke;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.ultimate-store-kit-admin-root .transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.ultimate-store-kit-admin-root .transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.ultimate-store-kit-admin-root .duration-200{transition-duration:200ms}.ultimate-store-kit-admin-root .ease-in-out{transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1)}.ultimate-store-kit-admin-root .ease-out{transition-timing-function:cubic-bezier(0, 0, 0.2, 1)}.usk-toast-wrap{position:fixed;top:40px;right:50%;transform:translateX(50%);z-index:99999;pointer-events:none;display:flex;justify-content:center;width:auto;max-width:480px}.usk-toast{pointer-events:auto;display:flex;align-items:center;gap:10px;padding:10px 18px;border-radius:10px;font-size:13px;font-weight:600;box-shadow:0 8px 24px rgba(0,0,0,.12);animation:usk-toast-in .35s cubic-bezier(0.21, 1.02, 0.73, 1) forwards;white-space:nowrap}.usk-toast--success{background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0}.usk-toast--error{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}.usk-toast__close{cursor:pointer;border:0;background:rgba(0,0,0,0);color:inherit;font-size:16px;line-height:1;padding:0 6px 0 0;opacity:.6;transition:opacity .15s}.usk-toast__close:hover{opacity:1}@keyframes usk-toast-in{0%{opacity:0;transform:translateY(-14px) scale(0.96)}100%{opacity:1;transform:translateY(0) scale(1)}}.ultimate-store-kit-admin-root .placeholder\:text-gray-500::-moz-placeholder{--tw-text-opacity:1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.ultimate-store-kit-admin-root .placeholder\:text-gray-500::placeholder{--tw-text-opacity:1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.ultimate-store-kit-admin-root .placeholder\:text-slate-400::-moz-placeholder{--tw-text-opacity:1;color:rgb(148 163 184 / var(--tw-text-opacity, 1))}.ultimate-store-kit-admin-root .placeholder\:text-slate-400::placeholder{--tw-text-opacity:1;color:rgb(148 163 184 / var(--tw-text-opacity, 1))}.ultimate-store-kit-admin-root .last\:border-b-0:last-child{border-bottom-width:0px}.ultimate-store-kit-admin-root .hover\:border-slate-300:hover{--tw-border-opacity:1;border-color:rgb(203 213 225 / var(--tw-border-opacity, 1))}.ultimate-store-kit-admin-root .hover\:border-uks-brand\/25:hover{border-color:rgb(0 33 106 / 0.25)}.ultimate-store-kit-admin-root .hover\:border-uks-brand\/40:hover{border-color:rgb(0 33 106 / 0.4)}.ultimate-store-kit-admin-root .hover\:\!bg-uks-brand-dark:hover{--tw-bg-opacity:1 !important;background-color:rgb(0 33 106 / var(--tw-bg-opacity, 1)) !important}.ultimate-store-kit-admin-root .hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.ultimate-store-kit-admin-root .hover\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.ultimate-store-kit-admin-root .hover\:bg-red-500:hover{--tw-bg-opacity:1;background-color:rgb(239 68 68 / var(--tw-bg-opacity, 1))}.ultimate-store-kit-admin-root .hover\:bg-slate-50:hover{--tw-bg-opacity:1;background-color:rgb(248 250 252 / var(--tw-bg-opacity, 1))}.ultimate-store-kit-admin-root .hover\:bg-uks-brand:hover{--tw-bg-opacity:1;background-color:rgb(0 33 106 / var(--tw-bg-opacity, 1))}.ultimate-store-kit-admin-root .hover\:bg-uks-brand-dark:hover{--tw-bg-opacity:1;background-color:rgb(0 33 106 / var(--tw-bg-opacity, 1))}.ultimate-store-kit-admin-root .hover\:bg-uks-brand\/10:hover{background-color:rgb(0 33 106 / 0.1)}.ultimate-store-kit-admin-root .hover\:bg-white:hover{--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.ultimate-store-kit-admin-root .hover\:text-gray-800:hover{--tw-text-opacity:1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.ultimate-store-kit-admin-root .hover\:text-slate-700:hover{--tw-text-opacity:1;color:rgb(51 65 85 / var(--tw-text-opacity, 1))}.ultimate-store-kit-admin-root .hover\:text-slate-900:hover{--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity, 1))}.ultimate-store-kit-admin-root .hover\:text-uks-brand:hover{--tw-text-opacity:1;color:rgb(0 33 106 / var(--tw-text-opacity, 1))}.ultimate-store-kit-admin-root .hover\:text-uks-brand-dark:hover{--tw-text-opacity:1;color:rgb(0 33 106 / var(--tw-text-opacity, 1))}.ultimate-store-kit-admin-root .hover\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.ultimate-store-kit-admin-root .hover\:underline:hover{text-decoration-line:underline}.ultimate-store-kit-admin-root .hover\:opacity-90:hover{opacity:0.9}.ultimate-store-kit-admin-root .focus\:border-uks-brand:focus{--tw-border-opacity:1;border-color:rgb(0 33 106 / var(--tw-border-opacity, 1))}.ultimate-store-kit-admin-root .focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.ultimate-store-kit-admin-root .focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.ultimate-store-kit-admin-root .focus\:ring-uks-brand:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(0 33 106 / var(--tw-ring-opacity, 1))}.ultimate-store-kit-admin-root .focus\:ring-uks-brand\/25:focus{--tw-ring-color:rgb(0 33 106 / 0.25)}.ultimate-store-kit-admin-root .focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.ultimate-store-kit-admin-root .focus\:ring-offset-white:focus{--tw-ring-offset-color:#fff}.ultimate-store-kit-admin-root .disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.ultimate-store-kit-admin-root .disabled\:opacity-50:disabled{opacity:0.5}.ultimate-store-kit-admin-root .disabled\:opacity-60:disabled{opacity:0.6}.ultimate-store-kit-admin-root :is(.group:hover .group-hover\:bg-uks-brand\/15){background-color:rgb(0 33 106 / 0.15)}.ultimate-store-kit-admin-root :is(.peer:checked ~ .peer-checked\:translate-x-\[18px\]){--tw-translate-x:18px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.ultimate-store-kit-admin-root :is(.peer:checked ~ .peer-checked\:bg-uks-brand){--tw-bg-opacity:1;background-color:rgb(0 33 106 / var(--tw-bg-opacity, 1))}.ultimate-store-kit-admin-root :is(.peer:disabled ~ .peer-disabled\:opacity-50){opacity:0.5}@media (min-width: 640px){.ultimate-store-kit-admin-root .sm\:mb-4{margin-bottom:1rem}.ultimate-store-kit-admin-root .sm\:inline-block{display:inline-block}.ultimate-store-kit-admin-root .sm\:h-12{height:3rem}.ultimate-store-kit-admin-root .sm\:w-12{width:3rem}.ultimate-store-kit-admin-root .sm\:w-28{width:7rem}.ultimate-store-kit-admin-root .sm\:w-48{width:12rem}.ultimate-store-kit-admin-root .sm\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}.ultimate-store-kit-admin-root .sm\:grid-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr))}.ultimate-store-kit-admin-root .sm\:flex-row{flex-direction:row}.ultimate-store-kit-admin-root .sm\:items-start{align-items:flex-start}.ultimate-store-kit-admin-root .sm\:items-center{align-items:center}.ultimate-store-kit-admin-root .sm\:justify-between{justify-content:space-between}.ultimate-store-kit-admin-root .sm\:gap-1\.5{gap:0.375rem}.ultimate-store-kit-admin-root .sm\:gap-2\.5{gap:0.625rem}.ultimate-store-kit-admin-root .sm\:gap-4{gap:1rem}.ultimate-store-kit-admin-root .sm\:p-10{padding:2.5rem}.ultimate-store-kit-admin-root .sm\:p-5{padding:1.25rem}.ultimate-store-kit-admin-root .sm\:px-10{padding-right:2.5rem;padding-left:2.5rem}.ultimate-store-kit-admin-root .sm\:px-5{padding-right:1.25rem;padding-left:1.25rem}.ultimate-store-kit-admin-root .sm\:px-6{padding-right:1.5rem;padding-left:1.5rem}.ultimate-store-kit-admin-root .sm\:py-20{padding-top:5rem;padding-bottom:5rem}.ultimate-store-kit-admin-root .sm\:py-3\.5{padding-top:0.875rem;padding-bottom:0.875rem}.ultimate-store-kit-admin-root .sm\:py-6{padding-top:1.5rem;padding-bottom:1.5rem}.ultimate-store-kit-admin-root .sm\:pl-2{padding-right:0.5rem}.ultimate-store-kit-admin-root .sm\:text-left{text-align:right}.ultimate-store-kit-admin-root .sm\:text-\[11px\]{font-size:11px}.ultimate-store-kit-admin-root .sm\:text-\[12px\]{font-size:12px}.ultimate-store-kit-admin-root .sm\:text-\[13px\]{font-size:13px}.ultimate-store-kit-admin-root .sm\:text-sm{font-size:0.875rem;line-height:1.25rem}.ultimate-store-kit-admin-root .sm\:text-xl{font-size:1.25rem;line-height:1.75rem}}@media (min-width: 1024px){.ultimate-store-kit-admin-root .lg\:sticky{position:sticky}.ultimate-store-kit-admin-root .lg\:top-\[7\.5rem\]{top:7.5rem}.ultimate-store-kit-admin-root .lg\:mt-8{margin-top:2rem}.ultimate-store-kit-admin-root .lg\:block{display:block}.ultimate-store-kit-admin-root .lg\:w-36{width:9rem}.ultimate-store-kit-admin-root .lg\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}.ultimate-store-kit-admin-root .lg\:grid-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr))}.ultimate-store-kit-admin-root .lg\:grid-cols-4{grid-template-columns:repeat(4, minmax(0, 1fr))}.ultimate-store-kit-admin-root .lg\:p-6{padding:1.5rem}}@media (min-width: 1280px){.ultimate-store-kit-admin-root .xl\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}.ultimate-store-kit-admin-root .xl\:grid-cols-4{grid-template-columns:repeat(4, minmax(0, 1fr))}}@media (min-width: 1536px){.ultimate-store-kit-admin-root .\32xl\:grid-cols-4{grid-template-columns:repeat(4, minmax(0, 1fr))}}
     1.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}#wpbody-content .ultimate-store-kit-admin-root .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}#wpbody-content .ultimate-store-kit-admin-root .pointer-events-none{pointer-events:none}#wpbody-content .ultimate-store-kit-admin-root .pointer-events-auto{pointer-events:auto}#wpbody-content .ultimate-store-kit-admin-root .visible{visibility:visible}#wpbody-content .ultimate-store-kit-admin-root .invisible{visibility:hidden}#wpbody-content .ultimate-store-kit-admin-root .fixed{position:fixed}#wpbody-content .ultimate-store-kit-admin-root .absolute{position:absolute}#wpbody-content .ultimate-store-kit-admin-root .relative{position:relative}#wpbody-content .ultimate-store-kit-admin-root .sticky{position:sticky}#wpbody-content .ultimate-store-kit-admin-root .inset-0{inset:0px}#wpbody-content .ultimate-store-kit-admin-root .inset-x-0{right:0px;left:0px}#wpbody-content .ultimate-store-kit-admin-root .-right-10{left:-2.5rem}#wpbody-content .ultimate-store-kit-admin-root .-top-10{top:-2.5rem}#wpbody-content .ultimate-store-kit-admin-root .bottom-5{bottom:1.25rem}#wpbody-content .ultimate-store-kit-admin-root .bottom-\[3px\]{bottom:3px}#wpbody-content .ultimate-store-kit-admin-root .left-0{right:0px}#wpbody-content .ultimate-store-kit-admin-root .left-1\/2{right:50%}#wpbody-content .ultimate-store-kit-admin-root .left-3{right:0.75rem}#wpbody-content .ultimate-store-kit-admin-root .left-\[3px\]{right:3px}#wpbody-content .ultimate-store-kit-admin-root .top-0{top:0px}#wpbody-content .ultimate-store-kit-admin-root .top-\[6px\]{top:6px}#wpbody-content .ultimate-store-kit-admin-root .top-full{top:100%}#wpbody-content .ultimate-store-kit-admin-root .z-50{z-index:50}#wpbody-content .ultimate-store-kit-admin-root .z-\[100000\]{z-index:100000}#wpbody-content .ultimate-store-kit-admin-root .z-\[159000\]{z-index:159000}#wpbody-content .ultimate-store-kit-admin-root .z-\[1\]{z-index:1}#wpbody-content .ultimate-store-kit-admin-root .z-\[9990\]{z-index:9990}#wpbody-content .ultimate-store-kit-admin-root .\!m-0{margin:0px !important}#wpbody-content .ultimate-store-kit-admin-root .m-0{margin:0px}#wpbody-content .ultimate-store-kit-admin-root .m-5{margin:1.25rem}#wpbody-content .ultimate-store-kit-admin-root .mx-auto{margin-right:auto;margin-left:auto}#wpbody-content .ultimate-store-kit-admin-root .mb-0{margin-bottom:0px}#wpbody-content .ultimate-store-kit-admin-root .mb-0\.5{margin-bottom:0.125rem}#wpbody-content .ultimate-store-kit-admin-root .mb-1{margin-bottom:0.25rem}#wpbody-content .ultimate-store-kit-admin-root .mb-2{margin-bottom:0.5rem}#wpbody-content .ultimate-store-kit-admin-root .mb-3{margin-bottom:0.75rem}#wpbody-content .ultimate-store-kit-admin-root .mb-4{margin-bottom:1rem}#wpbody-content .ultimate-store-kit-admin-root .mb-5{margin-bottom:1.25rem}#wpbody-content .ultimate-store-kit-admin-root .mb-6{margin-bottom:1.5rem}#wpbody-content .ultimate-store-kit-admin-root .mb-\[14px\]{margin-bottom:14px}#wpbody-content .ultimate-store-kit-admin-root .mb-\[18px\]{margin-bottom:18px}#wpbody-content .ultimate-store-kit-admin-root .mb-\[22px\]{margin-bottom:22px}#wpbody-content .ultimate-store-kit-admin-root .ml-0{margin-right:0px}#wpbody-content .ultimate-store-kit-admin-root .ml-2{margin-right:0.5rem}#wpbody-content .ultimate-store-kit-admin-root .ml-auto{margin-right:auto}#wpbody-content .ultimate-store-kit-admin-root .mt-0{margin-top:0px}#wpbody-content .ultimate-store-kit-admin-root .mt-0\.5{margin-top:0.125rem}#wpbody-content .ultimate-store-kit-admin-root .mt-1{margin-top:0.25rem}#wpbody-content .ultimate-store-kit-admin-root .mt-1\.5{margin-top:0.375rem}#wpbody-content .ultimate-store-kit-admin-root .mt-10{margin-top:2.5rem}#wpbody-content .ultimate-store-kit-admin-root .mt-2{margin-top:0.5rem}#wpbody-content .ultimate-store-kit-admin-root .mt-3{margin-top:0.75rem}#wpbody-content .ultimate-store-kit-admin-root .mt-4{margin-top:1rem}#wpbody-content .ultimate-store-kit-admin-root .mt-6{margin-top:1.5rem}#wpbody-content .ultimate-store-kit-admin-root .mt-\[13px\]{margin-top:13px}#wpbody-content .ultimate-store-kit-admin-root .mt-\[14px\]{margin-top:14px}#wpbody-content .ultimate-store-kit-admin-root .mt-\[26px\]{margin-top:26px}#wpbody-content .ultimate-store-kit-admin-root .mt-\[3px\]{margin-top:3px}#wpbody-content .ultimate-store-kit-admin-root .mt-\[7px\]{margin-top:7px}#wpbody-content .ultimate-store-kit-admin-root .mt-auto{margin-top:auto}#wpbody-content .ultimate-store-kit-admin-root .box-border{box-sizing:border-box}#wpbody-content .ultimate-store-kit-admin-root .line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}#wpbody-content .ultimate-store-kit-admin-root .line-clamp-3{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3}#wpbody-content .ultimate-store-kit-admin-root .block{display:block}#wpbody-content .ultimate-store-kit-admin-root .inline-block{display:inline-block}#wpbody-content .ultimate-store-kit-admin-root .inline{display:inline}#wpbody-content .ultimate-store-kit-admin-root .flex{display:flex}#wpbody-content .ultimate-store-kit-admin-root .inline-flex{display:inline-flex}#wpbody-content .ultimate-store-kit-admin-root .grid{display:grid}#wpbody-content .ultimate-store-kit-admin-root .contents{display:contents}#wpbody-content .ultimate-store-kit-admin-root .hidden{display:none}#wpbody-content .ultimate-store-kit-admin-root .h-10{height:2.5rem}#wpbody-content .ultimate-store-kit-admin-root .h-11{height:2.75rem}#wpbody-content .ultimate-store-kit-admin-root .h-12{height:3rem}#wpbody-content .ultimate-store-kit-admin-root .h-14{height:3.5rem}#wpbody-content .ultimate-store-kit-admin-root .h-2{height:0.5rem}#wpbody-content .ultimate-store-kit-admin-root .h-3{height:0.75rem}#wpbody-content .ultimate-store-kit-admin-root .h-3\.5{height:0.875rem}#wpbody-content .ultimate-store-kit-admin-root .h-4{height:1rem}#wpbody-content .ultimate-store-kit-admin-root .h-40{height:10rem}#wpbody-content .ultimate-store-kit-admin-root .h-5{height:1.25rem}#wpbody-content .ultimate-store-kit-admin-root .h-7{height:1.75rem}#wpbody-content .ultimate-store-kit-admin-root .h-8{height:2rem}#wpbody-content .ultimate-store-kit-admin-root .h-9{height:2.25rem}#wpbody-content .ultimate-store-kit-admin-root .h-\[14px\]{height:14px}#wpbody-content .ultimate-store-kit-admin-root .h-\[18px\]{height:18px}#wpbody-content .ultimate-store-kit-admin-root .h-\[190px\]{height:190px}#wpbody-content .ultimate-store-kit-admin-root .h-\[22px\]{height:22px}#wpbody-content .ultimate-store-kit-admin-root .h-\[34px\]{height:34px}#wpbody-content .ultimate-store-kit-admin-root .h-\[7px\]{height:7px}#wpbody-content .ultimate-store-kit-admin-root .h-full{height:100%}#wpbody-content .ultimate-store-kit-admin-root .max-h-\[360px\]{max-height:360px}#wpbody-content .ultimate-store-kit-admin-root .min-h-\[80px\]{min-height:80px}#wpbody-content .ultimate-store-kit-admin-root .min-h-\[calc\(100vh-100px\)\]{min-height:calc(100vh - 100px)}#wpbody-content .ultimate-store-kit-admin-root .min-h-\[calc\(100vh-32px\)\]{min-height:calc(100vh - 32px)}#wpbody-content .ultimate-store-kit-admin-root .w-10{width:2.5rem}#wpbody-content .ultimate-store-kit-admin-root .w-11{width:2.75rem}#wpbody-content .ultimate-store-kit-admin-root .w-12{width:3rem}#wpbody-content .ultimate-store-kit-admin-root .w-14{width:3.5rem}#wpbody-content .ultimate-store-kit-admin-root .w-2{width:0.5rem}#wpbody-content .ultimate-store-kit-admin-root .w-20{width:5rem}#wpbody-content .ultimate-store-kit-admin-root .w-3{width:0.75rem}#wpbody-content .ultimate-store-kit-admin-root .w-3\.5{width:0.875rem}#wpbody-content .ultimate-store-kit-admin-root .w-4{width:1rem}#wpbody-content .ultimate-store-kit-admin-root .w-40{width:10rem}#wpbody-content .ultimate-store-kit-admin-root .w-5{width:1.25rem}#wpbody-content .ultimate-store-kit-admin-root .w-7{width:1.75rem}#wpbody-content .ultimate-store-kit-admin-root .w-8{width:2rem}#wpbody-content .ultimate-store-kit-admin-root .w-9{width:2.25rem}#wpbody-content .ultimate-store-kit-admin-root .w-\[14px\]{width:14px}#wpbody-content .ultimate-store-kit-admin-root .w-\[18px\]{width:18px}#wpbody-content .ultimate-store-kit-admin-root .w-\[260px\]{width:260px}#wpbody-content .ultimate-store-kit-admin-root .w-\[34px\]{width:34px}#wpbody-content .ultimate-store-kit-admin-root .w-\[400px\]{width:400px}#wpbody-content .ultimate-store-kit-admin-root .w-\[7px\]{width:7px}#wpbody-content .ultimate-store-kit-admin-root .w-\[min\(1200px\2c 100vw\)\]{width:min(1200px, 100vw)}#wpbody-content .ultimate-store-kit-admin-root .w-\[min\(640px\2c calc\(100vw-32px\)\)\]{width:min(640px, calc(100vw - 32px))}#wpbody-content .ultimate-store-kit-admin-root .w-fit{width:-moz-fit-content;width:fit-content}#wpbody-content .ultimate-store-kit-admin-root .w-full{width:100%}#wpbody-content .ultimate-store-kit-admin-root .w-max{width:-moz-max-content;width:max-content}#wpbody-content .ultimate-store-kit-admin-root .min-w-0{min-width:0px}#wpbody-content .ultimate-store-kit-admin-root .min-w-\[120px\]{min-width:120px}#wpbody-content .ultimate-store-kit-admin-root .min-w-\[140px\]{min-width:140px}#wpbody-content .ultimate-store-kit-admin-root .min-w-\[228px\]{min-width:228px}#wpbody-content .ultimate-store-kit-admin-root .min-w-\[400px\]{min-width:400px}#wpbody-content .ultimate-store-kit-admin-root .max-w-3xl{max-width:48rem}#wpbody-content .ultimate-store-kit-admin-root .max-w-\[1400px\]{max-width:1400px}#wpbody-content .ultimate-store-kit-admin-root .max-w-\[320px\]{max-width:320px}#wpbody-content .ultimate-store-kit-admin-root .max-w-\[400px\]{max-width:400px}#wpbody-content .ultimate-store-kit-admin-root .max-w-\[560px\]{max-width:560px}#wpbody-content .ultimate-store-kit-admin-root .max-w-\[70\%\]{max-width:70%}#wpbody-content .ultimate-store-kit-admin-root .max-w-\[min\(1200px\2c 100vw\)\]{max-width:min(1200px, 100vw)}#wpbody-content .ultimate-store-kit-admin-root .max-w-full{max-width:100%}#wpbody-content .ultimate-store-kit-admin-root .max-w-md{max-width:28rem}#wpbody-content .ultimate-store-kit-admin-root .flex-1{flex:1 1 0%}#wpbody-content .ultimate-store-kit-admin-root .flex-\[2\]{flex:2}#wpbody-content .ultimate-store-kit-admin-root .flex-none{flex:none}#wpbody-content .ultimate-store-kit-admin-root .shrink-0{flex-shrink:0}#wpbody-content .ultimate-store-kit-admin-root .-translate-x-1\/2{--tw-translate-x:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}#wpbody-content .ultimate-store-kit-admin-root .transform{transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}#wpbody-content .ultimate-store-kit-admin-root .animate-pulse{animation:pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite}@keyframes uskPop{from{opacity:0;transform:translateY(6px) scale(.98)}to{opacity:1;transform:none}}#wpbody-content .ultimate-store-kit-admin-root .animate-usk-pop{animation:uskPop .25s cubic-bezier(.16,1,.3,1) both}@keyframes uskSlideIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}#wpbody-content .ultimate-store-kit-admin-root .animate-usk-slide-in{animation:uskSlideIn 0.3s ease}#wpbody-content .ultimate-store-kit-admin-root .cursor-not-allowed{cursor:not-allowed}#wpbody-content .ultimate-store-kit-admin-root .cursor-pointer{cursor:pointer}#wpbody-content .ultimate-store-kit-admin-root .select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}#wpbody-content .ultimate-store-kit-admin-root .resize{resize:both}#wpbody-content .ultimate-store-kit-admin-root .list-none{list-style-type:none}#wpbody-content .ultimate-store-kit-admin-root .grid-cols-1{grid-template-columns:repeat(1, minmax(0, 1fr))}#wpbody-content .ultimate-store-kit-admin-root .grid-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr))}#wpbody-content .ultimate-store-kit-admin-root .grid-cols-4{grid-template-columns:repeat(4, minmax(0, 1fr))}#wpbody-content .ultimate-store-kit-admin-root .grid-cols-\[minmax\(0\2c 1fr\)_400px\]{grid-template-columns:minmax(0,1fr) 400px}#wpbody-content .ultimate-store-kit-admin-root .grid-cols-\[repeat\(auto-fit\2c minmax\(420px\2c 1fr\)\)\]{grid-template-columns:repeat(auto-fit,minmax(420px,1fr))}#wpbody-content .ultimate-store-kit-admin-root .flex-col{flex-direction:column}#wpbody-content .ultimate-store-kit-admin-root .flex-wrap{flex-wrap:wrap}#wpbody-content .ultimate-store-kit-admin-root .flex-nowrap{flex-wrap:nowrap}#wpbody-content .ultimate-store-kit-admin-root .place-items-center{place-items:center}#wpbody-content .ultimate-store-kit-admin-root .items-start{align-items:flex-start}#wpbody-content .ultimate-store-kit-admin-root .items-end{align-items:flex-end}#wpbody-content .ultimate-store-kit-admin-root .items-center{align-items:center}#wpbody-content .ultimate-store-kit-admin-root .items-stretch{align-items:stretch}#wpbody-content .ultimate-store-kit-admin-root .justify-start{justify-content:flex-start}#wpbody-content .ultimate-store-kit-admin-root .justify-end{justify-content:flex-end}#wpbody-content .ultimate-store-kit-admin-root .justify-center{justify-content:center}#wpbody-content .ultimate-store-kit-admin-root .justify-between{justify-content:space-between}#wpbody-content .ultimate-store-kit-admin-root .gap-1{gap:0.25rem}#wpbody-content .ultimate-store-kit-admin-root .gap-1\.5{gap:0.375rem}#wpbody-content .ultimate-store-kit-admin-root .gap-2{gap:0.5rem}#wpbody-content .ultimate-store-kit-admin-root .gap-2\.5{gap:0.625rem}#wpbody-content .ultimate-store-kit-admin-root .gap-3{gap:0.75rem}#wpbody-content .ultimate-store-kit-admin-root .gap-4{gap:1rem}#wpbody-content .ultimate-store-kit-admin-root .gap-5{gap:1.25rem}#wpbody-content .ultimate-store-kit-admin-root .gap-\[10px\]{gap:10px}#wpbody-content .ultimate-store-kit-admin-root .gap-\[14px\]{gap:14px}#wpbody-content .ultimate-store-kit-admin-root .gap-\[6px\]{gap:6px}#wpbody-content .ultimate-store-kit-admin-root .gap-\[7px\]{gap:7px}#wpbody-content .ultimate-store-kit-admin-root .gap-px{gap:1px}#wpbody-content .ultimate-store-kit-admin-root .gap-x-2\.5{-moz-column-gap:0.625rem;column-gap:0.625rem}#wpbody-content .ultimate-store-kit-admin-root .gap-x-4{-moz-column-gap:1rem;column-gap:1rem}#wpbody-content .ultimate-store-kit-admin-root .gap-y-1{row-gap:0.25rem}#wpbody-content .ultimate-store-kit-admin-root .gap-y-1\.5{row-gap:0.375rem}#wpbody-content .ultimate-store-kit-admin-root :is(.space-y-5 > :not([hidden]) ~ :not([hidden])){--tw-space-y-reverse:0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}#wpbody-content .ultimate-store-kit-admin-root :is(.space-y-6 > :not([hidden]) ~ :not([hidden])){--tw-space-y-reverse:0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}#wpbody-content .ultimate-store-kit-admin-root .self-start{align-self:flex-start}#wpbody-content .ultimate-store-kit-admin-root .overflow-hidden{overflow:hidden}#wpbody-content .ultimate-store-kit-admin-root .overflow-y-auto{overflow-y:auto}#wpbody-content .ultimate-store-kit-admin-root .truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#wpbody-content .ultimate-store-kit-admin-root .whitespace-nowrap{white-space:nowrap}#wpbody-content .ultimate-store-kit-admin-root .\!rounded-full{border-radius:9999px !important}#wpbody-content .ultimate-store-kit-admin-root .rounded-\[10px\]{border-radius:10px}#wpbody-content .ultimate-store-kit-admin-root .rounded-\[9px\]{border-radius:9px}#wpbody-content .ultimate-store-kit-admin-root .rounded-card{border-radius:18px}#wpbody-content .ultimate-store-kit-admin-root .rounded-full{border-radius:9999px}#wpbody-content .ultimate-store-kit-admin-root .rounded-lg{border-radius:0.5rem}#wpbody-content .ultimate-store-kit-admin-root .rounded-md{border-radius:0.375rem}#wpbody-content .ultimate-store-kit-admin-root .rounded-panel{border-radius:16px}#wpbody-content .ultimate-store-kit-admin-root .rounded-tile{border-radius:11px}#wpbody-content .ultimate-store-kit-admin-root .rounded-usk{border-radius:10px}#wpbody-content .ultimate-store-kit-admin-root .rounded-xl{border-radius:0.75rem}#wpbody-content .ultimate-store-kit-admin-root .rounded-b-card{border-bottom-left-radius:18px;border-bottom-right-radius:18px}#wpbody-content .ultimate-store-kit-admin-root .\!border{border-width:1px !important}#wpbody-content .ultimate-store-kit-admin-root .\!border-0{border-width:0px !important}#wpbody-content .ultimate-store-kit-admin-root .border{border-width:1px}#wpbody-content .ultimate-store-kit-admin-root .border-0{border-width:0px}#wpbody-content .ultimate-store-kit-admin-root .border-\[1\.5px\]{border-width:1.5px}#wpbody-content .ultimate-store-kit-admin-root .border-b{border-bottom-width:1px}#wpbody-content .ultimate-store-kit-admin-root .border-l{border-right-width:1px}#wpbody-content .ultimate-store-kit-admin-root .border-l-\[3px\]{border-right-width:3px}#wpbody-content .ultimate-store-kit-admin-root .border-t{border-top-width:1px}#wpbody-content .ultimate-store-kit-admin-root .\!border-solid{border-style:solid !important}#wpbody-content .ultimate-store-kit-admin-root .border-solid{border-style:solid}#wpbody-content .ultimate-store-kit-admin-root .\!border-\[\#e6e6ea\]{--tw-border-opacity:1 !important;border-color:rgb(230 230 234 / var(--tw-border-opacity, 1)) !important}#wpbody-content .ultimate-store-kit-admin-root .border-\[\#c6f0d4\]{--tw-border-opacity:1;border-color:rgb(198 240 212 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .border-\[\#e2e2e6\]{--tw-border-opacity:1;border-color:rgb(226 226 230 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .border-\[\#e6e6ea\]{--tw-border-opacity:1;border-color:rgb(230 230 234 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .border-\[\#e9e9ed\]{--tw-border-opacity:1;border-color:rgb(233 233 237 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .border-\[\#ececf0\]{--tw-border-opacity:1;border-color:rgb(236 236 240 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .border-\[\#eef0f3\]{--tw-border-opacity:1;border-color:rgb(238 240 243 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .border-\[\#f0f0f3\]{--tw-border-opacity:1;border-color:rgb(240 240 243 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .border-\[\#f3f3f6\]{--tw-border-opacity:1;border-color:rgb(243 243 246 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .border-\[\#fbc8cd\]{--tw-border-opacity:1;border-color:rgb(251 200 205 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .border-\[\#fde2b8\]{--tw-border-opacity:1;border-color:rgb(253 226 184 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .border-\[\#fecaca\]{--tw-border-opacity:1;border-color:rgb(254 202 202 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .border-emerald-200{--tw-border-opacity:1;border-color:rgb(167 243 208 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .border-gray-100{--tw-border-opacity:1;border-color:rgb(243 244 246 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .border-gray-50{--tw-border-opacity:1;border-color:rgb(249 250 251 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .border-indigo-500{--tw-border-opacity:1;border-color:rgb(99 102 241 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .border-orange-500{--tw-border-opacity:1;border-color:rgb(249 115 22 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .border-pink-500{--tw-border-opacity:1;border-color:rgb(236 72 153 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .border-red-200{--tw-border-opacity:1;border-color:rgb(254 202 202 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .border-red-500{--tw-border-opacity:1;border-color:rgb(239 68 68 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .border-slate-100{--tw-border-opacity:1;border-color:rgb(241 245 249 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .border-slate-200{--tw-border-opacity:1;border-color:rgb(226 232 240 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .border-slate-300{--tw-border-opacity:1;border-color:rgb(203 213 225 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .border-teal-500{--tw-border-opacity:1;border-color:rgb(20 184 166 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .border-transparent{border-color:transparent}#wpbody-content .ultimate-store-kit-admin-root .border-uks-brand{--tw-border-opacity:1;border-color:rgb(227 12 29 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .border-uks-brand\/15{border-color:rgb(227 12 29 / 0.15)}#wpbody-content .ultimate-store-kit-admin-root .border-uks-brand\/20{border-color:rgb(227 12 29 / 0.2)}#wpbody-content .ultimate-store-kit-admin-root .border-uks-brand\/30{border-color:rgb(227 12 29 / 0.3)}#wpbody-content .ultimate-store-kit-admin-root .border-violet-500{--tw-border-opacity:1;border-color:rgb(139 92 246 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .border-b-gray-100{--tw-border-opacity:1;border-bottom-color:rgb(243 244 246 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .border-b-gray-200{--tw-border-opacity:1;border-bottom-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .\!bg-\[\#fafbfc\]{--tw-bg-opacity:1 !important;background-color:rgb(250 251 252 / var(--tw-bg-opacity, 1)) !important}#wpbody-content .ultimate-store-kit-admin-root .\!bg-transparent{background-color:transparent !important}#wpbody-content .ultimate-store-kit-admin-root .\!bg-white{--tw-bg-opacity:1 !important;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1)) !important}#wpbody-content .ultimate-store-kit-admin-root .bg-\[\#22c55e\]{--tw-bg-opacity:1;background-color:rgb(34 197 94 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-\[\#a1a1aa\]{--tw-bg-opacity:1;background-color:rgb(161 161 170 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-\[\#e8edf8\]{--tw-bg-opacity:1;background-color:rgb(232 237 248 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-\[\#ecfdf3\]{--tw-bg-opacity:1;background-color:rgb(236 253 243 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-\[\#ecfeff\]{--tw-bg-opacity:1;background-color:rgb(236 254 255 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-\[\#eef0f3\]{--tw-bg-opacity:1;background-color:rgb(238 240 243 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-\[\#eef3ff\]{--tw-bg-opacity:1;background-color:rgb(238 243 255 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-\[\#ef4444\]{--tw-bg-opacity:1;background-color:rgb(239 68 68 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-\[\#f0f0f1\]{--tw-bg-opacity:1;background-color:rgb(240 240 241 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-\[\#f3efff\]{--tw-bg-opacity:1;background-color:rgb(243 239 255 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-\[\#f4f4f5\]{--tw-bg-opacity:1;background-color:rgb(244 244 245 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-\[\#f4f5f7\]{--tw-bg-opacity:1;background-color:rgb(244 245 247 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-\[\#f59e0b\]{--tw-bg-opacity:1;background-color:rgb(245 158 11 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-\[\#fafbfc\]{--tw-bg-opacity:1;background-color:rgb(250 251 252 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-\[\#fef2f2\]{--tw-bg-opacity:1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-\[\#fff1f2\]{--tw-bg-opacity:1;background-color:rgb(255 241 242 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-\[\#fff7ed\]{--tw-bg-opacity:1;background-color:rgb(255 247 237 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-\[\#fffbfb\]{--tw-bg-opacity:1;background-color:rgb(255 251 251 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-\[rgba\(15\2c 17\2c 21\2c \.45\)\]{background-color:rgba(15,17,21,.45)}#wpbody-content .ultimate-store-kit-admin-root .bg-emerald-100{--tw-bg-opacity:1;background-color:rgb(209 250 229 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-indigo-500{--tw-bg-opacity:1;background-color:rgb(99 102 241 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-orange-500{--tw-bg-opacity:1;background-color:rgb(249 115 22 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-pink-500{--tw-bg-opacity:1;background-color:rgb(236 72 153 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-slate-100{--tw-bg-opacity:1;background-color:rgb(241 245 249 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-slate-200{--tw-bg-opacity:1;background-color:rgb(226 232 240 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-slate-300{--tw-bg-opacity:1;background-color:rgb(203 213 225 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-slate-50{--tw-bg-opacity:1;background-color:rgb(248 250 252 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-slate-50\/50{background-color:rgb(248 250 252 / 0.5)}#wpbody-content .ultimate-store-kit-admin-root .bg-slate-50\/70{background-color:rgb(248 250 252 / 0.7)}#wpbody-content .ultimate-store-kit-admin-root .bg-teal-500{--tw-bg-opacity:1;background-color:rgb(20 184 166 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-transparent{background-color:transparent}#wpbody-content .ultimate-store-kit-admin-root .bg-uks-brand{--tw-bg-opacity:1;background-color:rgb(227 12 29 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-uks-brand\/10{background-color:rgb(227 12 29 / 0.1)}#wpbody-content .ultimate-store-kit-admin-root .bg-uks-brand\/\[0\.07\]{background-color:rgb(227 12 29 / 0.07)}#wpbody-content .ultimate-store-kit-admin-root .bg-violet-500{--tw-bg-opacity:1;background-color:rgb(139 92 246 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-white\/10{background-color:rgb(255 255 255 / 0.1)}#wpbody-content .ultimate-store-kit-admin-root .bg-white\/15{background-color:rgb(255 255 255 / 0.15)}#wpbody-content .ultimate-store-kit-admin-root .bg-white\/80{background-color:rgb(255 255 255 / 0.8)}#wpbody-content .ultimate-store-kit-admin-root .bg-\[linear-gradient\(135deg\2c \#3a0a10\2c \#8f0b16_55\%\2c \#e30c1d\)\]{background-image:linear-gradient(-135deg,#3a0a10,#8f0b16 55%,#e30c1d)}#wpbody-content .ultimate-store-kit-admin-root .bg-\[linear-gradient\(313deg\2c \#E62A3F_0\%\2c \#00216A_100\%\)\]{background-image:linear-gradient(-313deg,#E62A3F 0%,#00216A 100%)}#wpbody-content .ultimate-store-kit-admin-root .bg-gradient-brand{background-image:linear-gradient(-135deg, #ff4f57, #E30C1D)}#wpbody-content .ultimate-store-kit-admin-root .bg-gradient-to-br{background-image:linear-gradient(to bottom left, var(--tw-gradient-stops))}#wpbody-content .ultimate-store-kit-admin-root .from-uks-brand\/\[0\.07\]{--tw-gradient-from:rgb(227 12 29 / 0.07) var(--tw-gradient-from-position);--tw-gradient-to:rgb(227 12 29 / 0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}#wpbody-content .ultimate-store-kit-admin-root .to-transparent{--tw-gradient-to:transparent var(--tw-gradient-to-position)}#wpbody-content .ultimate-store-kit-admin-root .object-cover{-o-object-fit:cover;object-fit:cover}#wpbody-content .ultimate-store-kit-admin-root .\!p-0{padding:0px !important}#wpbody-content .ultimate-store-kit-admin-root .p-0{padding:0px}#wpbody-content .ultimate-store-kit-admin-root .p-0\.5{padding:0.125rem}#wpbody-content .ultimate-store-kit-admin-root .p-1{padding:0.25rem}#wpbody-content .ultimate-store-kit-admin-root .p-2{padding:0.5rem}#wpbody-content .ultimate-store-kit-admin-root .p-3{padding:0.75rem}#wpbody-content .ultimate-store-kit-admin-root .p-4{padding:1rem}#wpbody-content .ultimate-store-kit-admin-root .p-5{padding:1.25rem}#wpbody-content .ultimate-store-kit-admin-root .p-6{padding:1.5rem}#wpbody-content .ultimate-store-kit-admin-root .p-8{padding:2rem}#wpbody-content .ultimate-store-kit-admin-root .p-\[18px\]{padding:18px}#wpbody-content .ultimate-store-kit-admin-root .p-\[22px\]{padding:22px}#wpbody-content .ultimate-store-kit-admin-root .\!py-1\.5{padding-top:0.375rem !important;padding-bottom:0.375rem !important}#wpbody-content .ultimate-store-kit-admin-root .\!py-2{padding-top:0.5rem !important;padding-bottom:0.5rem !important}#wpbody-content .ultimate-store-kit-admin-root .px-1{padding-right:0.25rem;padding-left:0.25rem}#wpbody-content .ultimate-store-kit-admin-root .px-1\.5{padding-right:0.375rem;padding-left:0.375rem}#wpbody-content .ultimate-store-kit-admin-root .px-12{padding-right:3rem;padding-left:3rem}#wpbody-content .ultimate-store-kit-admin-root .px-2{padding-right:0.5rem;padding-left:0.5rem}#wpbody-content .ultimate-store-kit-admin-root .px-2\.5{padding-right:0.625rem;padding-left:0.625rem}#wpbody-content .ultimate-store-kit-admin-root .px-3{padding-right:0.75rem;padding-left:0.75rem}#wpbody-content .ultimate-store-kit-admin-root .px-3\.5{padding-right:0.875rem;padding-left:0.875rem}#wpbody-content .ultimate-store-kit-admin-root .px-4{padding-right:1rem;padding-left:1rem}#wpbody-content .ultimate-store-kit-admin-root .px-5{padding-right:1.25rem;padding-left:1.25rem}#wpbody-content .ultimate-store-kit-admin-root .px-6{padding-right:1.5rem;padding-left:1.5rem}#wpbody-content .ultimate-store-kit-admin-root .px-\[14px\]{padding-right:14px;padding-left:14px}#wpbody-content .ultimate-store-kit-admin-root .px-\[15px\]{padding-right:15px;padding-left:15px}#wpbody-content .ultimate-store-kit-admin-root .px-\[17px\]{padding-right:17px;padding-left:17px}#wpbody-content .ultimate-store-kit-admin-root .px-\[18px\]{padding-right:18px;padding-left:18px}#wpbody-content .ultimate-store-kit-admin-root .px-\[22px\]{padding-right:22px;padding-left:22px}#wpbody-content .ultimate-store-kit-admin-root .px-\[26px\]{padding-right:26px;padding-left:26px}#wpbody-content .ultimate-store-kit-admin-root .px-\[6px\]{padding-right:6px;padding-left:6px}#wpbody-content .ultimate-store-kit-admin-root .px-\[7px\]{padding-right:7px;padding-left:7px}#wpbody-content .ultimate-store-kit-admin-root .py-0\.5{padding-top:0.125rem;padding-bottom:0.125rem}#wpbody-content .ultimate-store-kit-admin-root .py-1{padding-top:0.25rem;padding-bottom:0.25rem}#wpbody-content .ultimate-store-kit-admin-root .py-1\.5{padding-top:0.375rem;padding-bottom:0.375rem}#wpbody-content .ultimate-store-kit-admin-root .py-14{padding-top:3.5rem;padding-bottom:3.5rem}#wpbody-content .ultimate-store-kit-admin-root .py-16{padding-top:4rem;padding-bottom:4rem}#wpbody-content .ultimate-store-kit-admin-root .py-2{padding-top:0.5rem;padding-bottom:0.5rem}#wpbody-content .ultimate-store-kit-admin-root .py-2\.5{padding-top:0.625rem;padding-bottom:0.625rem}#wpbody-content .ultimate-store-kit-admin-root .py-3{padding-top:0.75rem;padding-bottom:0.75rem}#wpbody-content .ultimate-store-kit-admin-root .py-3\.5{padding-top:0.875rem;padding-bottom:0.875rem}#wpbody-content .ultimate-store-kit-admin-root .py-4{padding-top:1rem;padding-bottom:1rem}#wpbody-content .ultimate-store-kit-admin-root .py-5{padding-top:1.25rem;padding-bottom:1.25rem}#wpbody-content .ultimate-store-kit-admin-root .py-6{padding-top:1.5rem;padding-bottom:1.5rem}#wpbody-content .ultimate-store-kit-admin-root .py-\[10px\]{padding-top:10px;padding-bottom:10px}#wpbody-content .ultimate-store-kit-admin-root .py-\[11px\]{padding-top:11px;padding-bottom:11px}#wpbody-content .ultimate-store-kit-admin-root .py-\[14px\]{padding-top:14px;padding-bottom:14px}#wpbody-content .ultimate-store-kit-admin-root .py-\[18px\]{padding-top:18px;padding-bottom:18px}#wpbody-content .ultimate-store-kit-admin-root .py-\[3px\]{padding-top:3px;padding-bottom:3px}#wpbody-content .ultimate-store-kit-admin-root .py-\[7px\]{padding-top:7px;padding-bottom:7px}#wpbody-content .ultimate-store-kit-admin-root .py-\[9px\]{padding-top:9px;padding-bottom:9px}#wpbody-content .ultimate-store-kit-admin-root .\!pl-3{padding-right:0.75rem !important}#wpbody-content .ultimate-store-kit-admin-root .\!pl-9{padding-right:2.25rem !important}#wpbody-content .ultimate-store-kit-admin-root .\!pr-3{padding-left:0.75rem !important}#wpbody-content .ultimate-store-kit-admin-root .\!pr-8{padding-left:2rem !important}#wpbody-content .ultimate-store-kit-admin-root .pb-20{padding-bottom:5rem}#wpbody-content .ultimate-store-kit-admin-root .pb-4{padding-bottom:1rem}#wpbody-content .ultimate-store-kit-admin-root .pb-\[60px\]{padding-bottom:60px}#wpbody-content .ultimate-store-kit-admin-root .pl-5{padding-right:1.25rem}#wpbody-content .ultimate-store-kit-admin-root .pl-\[14px\]{padding-right:14px}#wpbody-content .ultimate-store-kit-admin-root .pr-2{padding-left:0.5rem}#wpbody-content .ultimate-store-kit-admin-root .pr-\[9px\]{padding-left:9px}#wpbody-content .ultimate-store-kit-admin-root .pt-1{padding-top:0.25rem}#wpbody-content .ultimate-store-kit-admin-root .pt-3{padding-top:0.75rem}#wpbody-content .ultimate-store-kit-admin-root .pt-4{padding-top:1rem}#wpbody-content .ultimate-store-kit-admin-root .pt-\[12vh\]{padding-top:12vh}#wpbody-content .ultimate-store-kit-admin-root .pt-\[18px\]{padding-top:18px}#wpbody-content .ultimate-store-kit-admin-root .pt-\[30px\]{padding-top:30px}#wpbody-content .ultimate-store-kit-admin-root .text-left{text-align:right}#wpbody-content .ultimate-store-kit-admin-root .text-center{text-align:center}#wpbody-content .ultimate-store-kit-admin-root .align-middle{vertical-align:middle}#wpbody-content .ultimate-store-kit-admin-root .font-mono{font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace}#wpbody-content .ultimate-store-kit-admin-root .font-sans{font-family:"IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, sans-serif}#wpbody-content .ultimate-store-kit-admin-root .text-\[10px\]{font-size:10px}#wpbody-content .ultimate-store-kit-admin-root .text-\[11\.5px\]{font-size:11.5px}#wpbody-content .ultimate-store-kit-admin-root .text-\[11px\]{font-size:11px}#wpbody-content .ultimate-store-kit-admin-root .text-\[12\.5px\]{font-size:12.5px}#wpbody-content .ultimate-store-kit-admin-root .text-\[12px\]{font-size:12px}#wpbody-content .ultimate-store-kit-admin-root .text-\[13\.5px\]{font-size:13.5px}#wpbody-content .ultimate-store-kit-admin-root .text-\[13px\]{font-size:13px}#wpbody-content .ultimate-store-kit-admin-root .text-\[14px\]{font-size:14px}#wpbody-content .ultimate-store-kit-admin-root .text-\[15px\]{font-size:15px}#wpbody-content .ultimate-store-kit-admin-root .text-\[16px\]{font-size:16px}#wpbody-content .ultimate-store-kit-admin-root .text-\[18px\]{font-size:18px}#wpbody-content .ultimate-store-kit-admin-root .text-\[19px\]{font-size:19px}#wpbody-content .ultimate-store-kit-admin-root .text-\[20px\]{font-size:20px}#wpbody-content .ultimate-store-kit-admin-root .text-\[22px\]{font-size:22px}#wpbody-content .ultimate-store-kit-admin-root .text-\[26px\]{font-size:26px}#wpbody-content .ultimate-store-kit-admin-root .text-\[28px\]{font-size:28px}#wpbody-content .ultimate-store-kit-admin-root .text-\[34px\]{font-size:34px}#wpbody-content .ultimate-store-kit-admin-root .text-\[9\.5px\]{font-size:9.5px}#wpbody-content .ultimate-store-kit-admin-root .text-base{font-size:1rem;line-height:1.5rem}#wpbody-content .ultimate-store-kit-admin-root .text-lg{font-size:1.125rem;line-height:1.75rem}#wpbody-content .ultimate-store-kit-admin-root .text-sm{font-size:0.875rem;line-height:1.25rem}#wpbody-content .ultimate-store-kit-admin-root .text-xl{font-size:1.25rem;line-height:1.75rem}#wpbody-content .ultimate-store-kit-admin-root .text-xs{font-size:0.75rem;line-height:1rem}#wpbody-content .ultimate-store-kit-admin-root .font-black{font-weight:900}#wpbody-content .ultimate-store-kit-admin-root .font-bold{font-weight:700}#wpbody-content .ultimate-store-kit-admin-root .font-extrabold{font-weight:800}#wpbody-content .ultimate-store-kit-admin-root .font-medium{font-weight:500}#wpbody-content .ultimate-store-kit-admin-root .font-semibold{font-weight:600}#wpbody-content .ultimate-store-kit-admin-root .uppercase{text-transform:uppercase}#wpbody-content .ultimate-store-kit-admin-root .leading-none{line-height:1}#wpbody-content .ultimate-store-kit-admin-root .leading-relaxed{line-height:1.625}#wpbody-content .ultimate-store-kit-admin-root .leading-snug{line-height:1.375}#wpbody-content .ultimate-store-kit-admin-root .tracking-\[-\.01em\]{letter-spacing:-.01em}#wpbody-content .ultimate-store-kit-admin-root .tracking-\[-\.02em\]{letter-spacing:-.02em}#wpbody-content .ultimate-store-kit-admin-root .tracking-\[-\.03em\]{letter-spacing:-.03em}#wpbody-content .ultimate-store-kit-admin-root .tracking-\[\.06em\]{letter-spacing:.06em}#wpbody-content .ultimate-store-kit-admin-root .tracking-\[\.08em\]{letter-spacing:.08em}#wpbody-content .ultimate-store-kit-admin-root .tracking-tight{letter-spacing:-0.025em}#wpbody-content .ultimate-store-kit-admin-root .tracking-wide{letter-spacing:0.025em}#wpbody-content .ultimate-store-kit-admin-root .tracking-wider{letter-spacing:0.05em}#wpbody-content .ultimate-store-kit-admin-root .tracking-widest{letter-spacing:0.1em}#wpbody-content .ultimate-store-kit-admin-root .\!text-\[\#3f3f46\]{--tw-text-opacity:1 !important;color:rgb(63 63 70 / var(--tw-text-opacity, 1)) !important}#wpbody-content .ultimate-store-kit-admin-root .\!text-\[\#b45309\]{--tw-text-opacity:1 !important;color:rgb(180 83 9 / var(--tw-text-opacity, 1)) !important}#wpbody-content .ultimate-store-kit-admin-root .text-\[\#00216A\]{--tw-text-opacity:1;color:rgb(0 33 106 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-\[\#0e9488\]{--tw-text-opacity:1;color:rgb(14 148 136 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-\[\#0f1115\]{--tw-text-opacity:1;color:rgb(15 17 21 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-\[\#15803d\]{--tw-text-opacity:1;color:rgb(21 128 61 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-\[\#16a34a\]{--tw-text-opacity:1;color:rgb(22 163 74 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-\[\#1d2327\]{--tw-text-opacity:1;color:rgb(29 35 39 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-\[\#27272a\]{--tw-text-opacity:1;color:rgb(39 39 42 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-\[\#2f5bea\]{--tw-text-opacity:1;color:rgb(47 91 234 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-\[\#3f3f46\]{--tw-text-opacity:1;color:rgb(63 63 70 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-\[\#52525b\]{--tw-text-opacity:1;color:rgb(82 82 91 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-\[\#6c6c75\]{--tw-text-opacity:1;color:rgb(108 108 117 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-\[\#6d6d74\]{--tw-text-opacity:1;color:rgb(109 109 116 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-\[\#7c3aed\]{--tw-text-opacity:1;color:rgb(124 58 237 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-\[\#8a8a93\]{--tw-text-opacity:1;color:rgb(138 138 147 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-\[\#991b1b\]{--tw-text-opacity:1;color:rgb(153 27 27 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-\[\#a1a1aa\]{--tw-text-opacity:1;color:rgb(161 161 170 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-\[\#b45309\]{--tw-text-opacity:1;color:rgb(180 83 9 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-\[\#b91c1c\]{--tw-text-opacity:1;color:rgb(185 28 28 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-\[\#be123c\]{--tw-text-opacity:1;color:rgb(190 18 60 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-\[\#d97706\]{--tw-text-opacity:1;color:rgb(217 119 6 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-\[\#e11d48\]{--tw-text-opacity:1;color:rgb(225 29 72 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-\[\#e30c1d\]{--tw-text-opacity:1;color:rgb(227 12 29 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-emerald-500{--tw-text-opacity:1;color:rgb(16 185 129 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-emerald-600{--tw-text-opacity:1;color:rgb(5 150 105 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-emerald-800{--tw-text-opacity:1;color:rgb(6 95 70 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-inherit{color:inherit}#wpbody-content .ultimate-store-kit-admin-root .text-red-500{--tw-text-opacity:1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-red-900{--tw-text-opacity:1;color:rgb(127 29 29 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-slate-300{--tw-text-opacity:1;color:rgb(203 213 225 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-slate-400{--tw-text-opacity:1;color:rgb(148 163 184 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-slate-500{--tw-text-opacity:1;color:rgb(100 116 139 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-slate-600{--tw-text-opacity:1;color:rgb(71 85 105 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-slate-700{--tw-text-opacity:1;color:rgb(51 65 85 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-slate-800{--tw-text-opacity:1;color:rgb(30 41 59 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-slate-900{--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-uks-brand{--tw-text-opacity:1;color:rgb(227 12 29 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-white{--tw-text-opacity:1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-white\/80{color:rgb(255 255 255 / 0.8)}#wpbody-content .ultimate-store-kit-admin-root .text-white\/90{color:rgb(255 255 255 / 0.9)}#wpbody-content .ultimate-store-kit-admin-root .no-underline{text-decoration-line:none}#wpbody-content .ultimate-store-kit-admin-root .opacity-60{opacity:0.6}#wpbody-content .ultimate-store-kit-admin-root .opacity-70{opacity:0.7}#wpbody-content .ultimate-store-kit-admin-root .opacity-80{opacity:0.8}#wpbody-content .ultimate-store-kit-admin-root .\!shadow-none{--tw-shadow:0 0 #0000 !important;--tw-shadow-colored:0 0 #0000 !important;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) !important}#wpbody-content .ultimate-store-kit-admin-root .shadow-\[0_0_0_3px_rgba\(34\2c 197\2c 94\2c \.2\)\]{--tw-shadow:0 0 0 3px rgba(34,197,94,.2);--tw-shadow-colored:0 0 0 3px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}#wpbody-content .ultimate-store-kit-admin-root .shadow-\[0_1px_3px_rgba\(0\2c 0\2c 0\2c \.12\)\]{--tw-shadow:0 1px 3px rgba(0,0,0,.12);--tw-shadow-colored:0 1px 3px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}#wpbody-content .ultimate-store-kit-admin-root .shadow-glow{--tw-shadow:0 6px 18px rgba(227, 12, 29, 0.28);--tw-shadow-colored:0 6px 18px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}#wpbody-content .ultimate-store-kit-admin-root .shadow-pop{--tw-shadow:0 24px 60px -16px rgba(0, 0, 0, 0.32);--tw-shadow-colored:0 24px 60px -16px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}#wpbody-content .ultimate-store-kit-admin-root .shadow-sm{--tw-shadow:0 1px 2px 0 rgb(0 0 0 / 0.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}#wpbody-content .ultimate-store-kit-admin-root .\!outline-none{outline:2px solid transparent !important;outline-offset:2px !important}#wpbody-content .ultimate-store-kit-admin-root .filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}#wpbody-content .ultimate-store-kit-admin-root .transition{transition-property:color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}#wpbody-content .ultimate-store-kit-admin-root .transition-\[width\]{transition-property:width;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}#wpbody-content .ultimate-store-kit-admin-root .transition-all{transition-property:all;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}#wpbody-content .ultimate-store-kit-admin-root .transition-colors{transition-property:color, background-color, border-color, text-decoration-color, fill, stroke;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}#wpbody-content .ultimate-store-kit-admin-root .transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}#wpbody-content .ultimate-store-kit-admin-root .transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}#wpbody-content .ultimate-store-kit-admin-root .duration-200{transition-duration:200ms}#wpbody-content .ultimate-store-kit-admin-root .duration-500{transition-duration:500ms}#wpbody-content .ultimate-store-kit-admin-root .ease-in-out{transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1)}@font-face{font-family:"IBM Plex Sans";src:url("../../includes/Admin/assets/fonts/IBMPlexSans-Variable.woff2") format("woff2-variations"),url("../../includes/Admin/assets/fonts/IBMPlexSans-Variable.woff2") format("woff2");font-weight:100 700;font-style:normal;font-display:swap}.ultimate-store-kit-admin-root .usk-app{font-family:"IBM Plex Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,sans-serif;-webkit-font-smoothing:antialiased}.ultimate-store-kit-admin-root .usk-app :is(h1,h2,h3,h4,button,input,select,textarea){font-family:inherit}.ultimate-store-kit-admin-root a:focus,.ultimate-store-kit-admin-root button:focus{box-shadow:none}.ultimate-store-kit-admin-root a:focus-visible,.ultimate-store-kit-admin-root button:focus-visible{outline:2px solid #e30c1d;outline-offset:2px}.usk-tabstrip-scroll{scrollbar-width:none}.usk-tabstrip-scroll::-webkit-scrollbar{display:none}.usk-toast-wrap{position:fixed;top:40px;right:50%;transform:translateX(50%);z-index:99999;pointer-events:none;display:flex;justify-content:center;width:auto;max-width:480px}.usk-toast{pointer-events:auto;display:flex;align-items:center;gap:10px;padding:10px 18px;border-radius:10px;font-size:13px;font-weight:600;box-shadow:0 8px 24px rgba(0,0,0,.12);animation:usk-toast-in .35s cubic-bezier(0.21, 1.02, 0.73, 1) forwards;white-space:nowrap}.usk-toast--success{background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0}.usk-toast--error{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}.usk-toast__close{cursor:pointer;border:0;background:rgba(0,0,0,0);color:inherit;font-size:16px;line-height:1;padding:0 6px 0 0;opacity:.6;transition:opacity .15s}.usk-toast__close:hover{opacity:1}@keyframes usk-toast-in{0%{opacity:0;transform:translateY(-14px) scale(0.96)}100%{opacity:1;transform:translateY(0) scale(1)}}#wpbody-content .ultimate-store-kit-admin-root .placeholder\:text-slate-400::-moz-placeholder{--tw-text-opacity:1;color:rgb(148 163 184 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .placeholder\:text-slate-400::placeholder{--tw-text-opacity:1;color:rgb(148 163 184 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .last\:border-b-0:last-child{border-bottom-width:0px}#wpbody-content .ultimate-store-kit-admin-root .last\:pb-0:last-child{padding-bottom:0px}#wpbody-content .ultimate-store-kit-admin-root .hover\:-translate-y-\[2px\]:hover{--tw-translate-y:-2px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}#wpbody-content .ultimate-store-kit-admin-root .hover\:-translate-y-\[3px\]:hover{--tw-translate-y:-3px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}#wpbody-content .ultimate-store-kit-admin-root .hover\:-translate-y-px:hover{--tw-translate-y:-1px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}#wpbody-content .ultimate-store-kit-admin-root .hover\:border-\[\#d4d4dc\]:hover{--tw-border-opacity:1;border-color:rgb(212 212 220 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .hover\:border-\[\#e30c1d\]:hover{--tw-border-opacity:1;border-color:rgb(227 12 29 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .hover\:border-\[\#fbc8cd\]:hover{--tw-border-opacity:1;border-color:rgb(251 200 205 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .hover\:border-slate-300:hover{--tw-border-opacity:1;border-color:rgb(203 213 225 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .hover\:border-uks-brand\/25:hover{border-color:rgb(227 12 29 / 0.25)}#wpbody-content .ultimate-store-kit-admin-root .hover\:bg-\[\#f3f5f8\]:hover{--tw-bg-opacity:1;background-color:rgb(243 245 248 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .hover\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .hover\:bg-red-500:hover{--tw-bg-opacity:1;background-color:rgb(239 68 68 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .hover\:bg-slate-50:hover{--tw-bg-opacity:1;background-color:rgb(248 250 252 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .hover\:bg-uks-brand:hover{--tw-bg-opacity:1;background-color:rgb(227 12 29 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .hover\:bg-uks-brand-dark:hover{--tw-bg-opacity:1;background-color:rgb(184 10 23 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .hover\:text-\[\#0f1115\]:hover{--tw-text-opacity:1;color:rgb(15 17 21 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .hover\:text-\[\#18181b\]:hover{--tw-text-opacity:1;color:rgb(24 24 27 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .hover\:text-\[\#e30c1d\]:hover{--tw-text-opacity:1;color:rgb(227 12 29 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .hover\:text-gray-800:hover{--tw-text-opacity:1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .hover\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .hover\:underline:hover{text-decoration-line:underline}#wpbody-content .ultimate-store-kit-admin-root .hover\:opacity-90:hover{opacity:0.9}#wpbody-content .ultimate-store-kit-admin-root .hover\:shadow-glow-lg:hover{--tw-shadow:0 8px 24px rgba(227, 12, 29, 0.38);--tw-shadow-colored:0 8px 24px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}#wpbody-content .ultimate-store-kit-admin-root .hover\:shadow-lift:hover{--tw-shadow:0 12px 26px -14px rgba(0, 0, 0, 0.22);--tw-shadow-colored:0 12px 26px -14px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}#wpbody-content .ultimate-store-kit-admin-root .focus\:\!border-\[\#e30c1d\]:focus{--tw-border-opacity:1 !important;border-color:rgb(227 12 29 / var(--tw-border-opacity, 1)) !important}#wpbody-content .ultimate-store-kit-admin-root .focus\:border-uks-brand:focus{--tw-border-opacity:1;border-color:rgb(227 12 29 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}#wpbody-content .ultimate-store-kit-admin-root .focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}#wpbody-content .ultimate-store-kit-admin-root .focus\:ring-uks-brand:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(227 12 29 / var(--tw-ring-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .disabled\:cursor-not-allowed:disabled{cursor:not-allowed}#wpbody-content .ultimate-store-kit-admin-root .disabled\:cursor-wait:disabled{cursor:wait}#wpbody-content .ultimate-store-kit-admin-root .disabled\:opacity-50:disabled{opacity:0.5}#wpbody-content .ultimate-store-kit-admin-root .disabled\:opacity-60:disabled{opacity:0.6}#wpbody-content .ultimate-store-kit-admin-root .disabled\:opacity-70:disabled{opacity:0.7}#wpbody-content .ultimate-store-kit-admin-root :is(.group:hover .group-hover\:translate-x-0\.5){--tw-translate-x:0.125rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}#wpbody-content .ultimate-store-kit-admin-root :is(.group:hover .group-hover\:bg-uks-brand\/15){background-color:rgb(227 12 29 / 0.15)}#wpbody-content .ultimate-store-kit-admin-root :is(.peer:checked ~ .peer-checked\:translate-x-\[18px\]){--tw-translate-x:18px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}#wpbody-content .ultimate-store-kit-admin-root :is(.peer:checked ~ .peer-checked\:bg-uks-brand){--tw-bg-opacity:1;background-color:rgb(227 12 29 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root :is(.peer:disabled ~ .peer-disabled\:opacity-50){opacity:0.5}@media (max-width: 1180px){#wpbody-content .ultimate-store-kit-admin-root .max-\[1180px\]\:grid-cols-1{grid-template-columns:repeat(1, minmax(0, 1fr))}#wpbody-content .ultimate-store-kit-admin-root .max-\[1180px\]\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}}@media not all and (min-width: 1024px){#wpbody-content .ultimate-store-kit-admin-root .max-lg\:hidden{display:none}}@media (max-width: 1024px){#wpbody-content .ultimate-store-kit-admin-root .max-\[1024px\]\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}#wpbody-content .ultimate-store-kit-admin-root .max-\[1024px\]\:px-7{padding-right:1.75rem;padding-left:1.75rem}#wpbody-content .ultimate-store-kit-admin-root .max-\[1024px\]\:pt-6{padding-top:1.5rem}}@media (max-width: 900px){#wpbody-content .ultimate-store-kit-admin-root .max-\[900px\]\:grid-cols-1{grid-template-columns:repeat(1, minmax(0, 1fr))}#wpbody-content .ultimate-store-kit-admin-root .max-\[900px\]\:gap-3{gap:0.75rem}#wpbody-content .ultimate-store-kit-admin-root .max-\[900px\]\:px-\[15px\]{padding-right:15px;padding-left:15px}#wpbody-content .ultimate-store-kit-admin-root .max-\[900px\]\:py-\[13px\]{padding-top:13px;padding-bottom:13px}}@media not all and (min-width: 768px){#wpbody-content .ultimate-store-kit-admin-root .max-md\:hidden{display:none}}@media (max-width: 760px){#wpbody-content .ultimate-store-kit-admin-root .max-\[760px\]\:grid-cols-1{grid-template-columns:repeat(1, minmax(0, 1fr))}#wpbody-content .ultimate-store-kit-admin-root .max-\[760px\]\:border-0{border-width:0px}#wpbody-content .ultimate-store-kit-admin-root .max-\[760px\]\:border-l-0{border-right-width:0px}#wpbody-content .ultimate-store-kit-admin-root .max-\[760px\]\:border-t{border-top-width:1px}#wpbody-content .ultimate-store-kit-admin-root .max-\[760px\]\:border-solid{border-style:solid}#wpbody-content .ultimate-store-kit-admin-root .max-\[760px\]\:border-\[\#eef0f3\]{--tw-border-opacity:1;border-color:rgb(238 240 243 / var(--tw-border-opacity, 1))}}@media (max-width: 720px){#wpbody-content .ultimate-store-kit-admin-root .max-\[720px\]\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}}@media (max-width: 700px){#wpbody-content .ultimate-store-kit-admin-root .max-\[700px\]\:grid-cols-1{grid-template-columns:repeat(1, minmax(0, 1fr))}}@media (max-width: 640px){#wpbody-content .ultimate-store-kit-admin-root .max-\[640px\]\:hidden{display:none}#wpbody-content .ultimate-store-kit-admin-root .max-\[640px\]\:grid-cols-1{grid-template-columns:repeat(1, minmax(0, 1fr))}#wpbody-content .ultimate-store-kit-admin-root .max-\[640px\]\:px-0{padding-right:0px;padding-left:0px}#wpbody-content .ultimate-store-kit-admin-root .max-\[640px\]\:px-\[15px\]{padding-right:15px;padding-left:15px}#wpbody-content .ultimate-store-kit-admin-root .max-\[640px\]\:pt-4{padding-top:1rem}}@media (max-width: 560px){#wpbody-content .ultimate-store-kit-admin-root .max-\[560px\]\:grid-cols-1{grid-template-columns:repeat(1, minmax(0, 1fr))}}@media (max-width: 480px){#wpbody-content .ultimate-store-kit-admin-root .max-\[480px\]\:text-\[16px\]{font-size:16px}}@media (max-width: 440px){#wpbody-content .ultimate-store-kit-admin-root .max-\[440px\]\:grid-cols-1{grid-template-columns:repeat(1, minmax(0, 1fr))}}@media (min-width: 640px){#wpbody-content .ultimate-store-kit-admin-root .sm\:mb-4{margin-bottom:1rem}#wpbody-content .ultimate-store-kit-admin-root .sm\:inline-block{display:inline-block}#wpbody-content .ultimate-store-kit-admin-root .sm\:h-12{height:3rem}#wpbody-content .ultimate-store-kit-admin-root .sm\:w-12{width:3rem}#wpbody-content .ultimate-store-kit-admin-root .sm\:w-28{width:7rem}#wpbody-content .ultimate-store-kit-admin-root .sm\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}#wpbody-content .ultimate-store-kit-admin-root .sm\:grid-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr))}#wpbody-content .ultimate-store-kit-admin-root .sm\:flex-row{flex-direction:row}#wpbody-content .ultimate-store-kit-admin-root .sm\:items-center{align-items:center}#wpbody-content .ultimate-store-kit-admin-root .sm\:justify-between{justify-content:space-between}#wpbody-content .ultimate-store-kit-admin-root .sm\:gap-1\.5{gap:0.375rem}#wpbody-content .ultimate-store-kit-admin-root .sm\:gap-2\.5{gap:0.625rem}#wpbody-content .ultimate-store-kit-admin-root .sm\:p-10{padding:2.5rem}#wpbody-content .ultimate-store-kit-admin-root .sm\:p-5{padding:1.25rem}#wpbody-content .ultimate-store-kit-admin-root .sm\:px-10{padding-right:2.5rem;padding-left:2.5rem}#wpbody-content .ultimate-store-kit-admin-root .sm\:px-5{padding-right:1.25rem;padding-left:1.25rem}#wpbody-content .ultimate-store-kit-admin-root .sm\:px-6{padding-right:1.5rem;padding-left:1.5rem}#wpbody-content .ultimate-store-kit-admin-root .sm\:py-20{padding-top:5rem;padding-bottom:5rem}#wpbody-content .ultimate-store-kit-admin-root .sm\:py-3\.5{padding-top:0.875rem;padding-bottom:0.875rem}#wpbody-content .ultimate-store-kit-admin-root .sm\:py-6{padding-top:1.5rem;padding-bottom:1.5rem}#wpbody-content .ultimate-store-kit-admin-root .sm\:pl-2{padding-right:0.5rem}#wpbody-content .ultimate-store-kit-admin-root .sm\:text-left{text-align:right}#wpbody-content .ultimate-store-kit-admin-root .sm\:text-\[11px\]{font-size:11px}#wpbody-content .ultimate-store-kit-admin-root .sm\:text-\[12px\]{font-size:12px}#wpbody-content .ultimate-store-kit-admin-root .sm\:text-\[13px\]{font-size:13px}}@media (min-width: 1024px){#wpbody-content .ultimate-store-kit-admin-root .lg\:w-36{width:9rem}#wpbody-content .ultimate-store-kit-admin-root .lg\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}#wpbody-content .ultimate-store-kit-admin-root .lg\:grid-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr))}#wpbody-content .ultimate-store-kit-admin-root .lg\:grid-cols-4{grid-template-columns:repeat(4, minmax(0, 1fr))}#wpbody-content .ultimate-store-kit-admin-root .lg\:p-6{padding:1.5rem}}@media (min-width: 1280px){#wpbody-content .ultimate-store-kit-admin-root .xl\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}#wpbody-content .ultimate-store-kit-admin-root .xl\:grid-cols-4{grid-template-columns:repeat(4, minmax(0, 1fr))}}@media (min-width: 1536px){#wpbody-content .ultimate-store-kit-admin-root .\32xl\:grid-cols-4{grid-template-columns:repeat(4, minmax(0, 1fr))}}#wpbody-content .ultimate-store-kit-admin-root :is(.\[\&_svg\]\:h-5 svg){height:1.25rem}#wpbody-content .ultimate-store-kit-admin-root :is(.\[\&_svg\]\:w-5 svg){width:1.25rem}
  • ultimate-store-kit/tags/4.1.0/assets/admin/style-admin.css

    r3757742 r3790891  
    1 .container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.ultimate-store-kit-admin-root .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}.ultimate-store-kit-admin-root .pointer-events-none{pointer-events:none}.ultimate-store-kit-admin-root .pointer-events-auto{pointer-events:auto}.ultimate-store-kit-admin-root .fixed{position:fixed}.ultimate-store-kit-admin-root .absolute{position:absolute}.ultimate-store-kit-admin-root .relative{position:relative}.ultimate-store-kit-admin-root .inset-0{inset:0px}.ultimate-store-kit-admin-root .inset-y-0{top:0px;bottom:0px}.ultimate-store-kit-admin-root .bottom-\[3px\]{bottom:3px}.ultimate-store-kit-admin-root .left-\[3px\]{left:3px}.ultimate-store-kit-admin-root .right-3{right:0.75rem}.ultimate-store-kit-admin-root .z-\[159000\]{z-index:159000}.ultimate-store-kit-admin-root .z-\[1\]{z-index:1}.ultimate-store-kit-admin-root .col-span-full{grid-column:1 / -1}.ultimate-store-kit-admin-root .m-0{margin:0px}.ultimate-store-kit-admin-root .m-5{margin:1.25rem}.ultimate-store-kit-admin-root .mx-auto{margin-left:auto;margin-right:auto}.ultimate-store-kit-admin-root .my-2{margin-top:0.5rem;margin-bottom:0.5rem}.ultimate-store-kit-admin-root .my-auto{margin-top:auto;margin-bottom:auto}.ultimate-store-kit-admin-root .mb-0{margin-bottom:0px}.ultimate-store-kit-admin-root .mb-0\.5{margin-bottom:0.125rem}.ultimate-store-kit-admin-root .mb-1{margin-bottom:0.25rem}.ultimate-store-kit-admin-root .mb-2{margin-bottom:0.5rem}.ultimate-store-kit-admin-root .mb-2\.5{margin-bottom:0.625rem}.ultimate-store-kit-admin-root .mb-3{margin-bottom:0.75rem}.ultimate-store-kit-admin-root .mb-4{margin-bottom:1rem}.ultimate-store-kit-admin-root .mb-5{margin-bottom:1.25rem}.ultimate-store-kit-admin-root .mb-6{margin-bottom:1.5rem}.ultimate-store-kit-admin-root .ml-0{margin-left:0px}.ultimate-store-kit-admin-root .ml-2{margin-left:0.5rem}.ultimate-store-kit-admin-root .mt-0{margin-top:0px}.ultimate-store-kit-admin-root .mt-0\.5{margin-top:0.125rem}.ultimate-store-kit-admin-root .mt-1{margin-top:0.25rem}.ultimate-store-kit-admin-root .mt-2{margin-top:0.5rem}.ultimate-store-kit-admin-root .mt-2\.5{margin-top:0.625rem}.ultimate-store-kit-admin-root .mt-3{margin-top:0.75rem}.ultimate-store-kit-admin-root .mt-4{margin-top:1rem}.ultimate-store-kit-admin-root .mt-6{margin-top:1.5rem}.ultimate-store-kit-admin-root .block{display:block}.ultimate-store-kit-admin-root .inline-block{display:inline-block}.ultimate-store-kit-admin-root .inline{display:inline}.ultimate-store-kit-admin-root .flex{display:flex}.ultimate-store-kit-admin-root .inline-flex{display:inline-flex}.ultimate-store-kit-admin-root .grid{display:grid}.ultimate-store-kit-admin-root .contents{display:contents}.ultimate-store-kit-admin-root .hidden{display:none}.ultimate-store-kit-admin-root .h-1\.5{height:0.375rem}.ultimate-store-kit-admin-root .h-10{height:2.5rem}.ultimate-store-kit-admin-root .h-11{height:2.75rem}.ultimate-store-kit-admin-root .h-12{height:3rem}.ultimate-store-kit-admin-root .h-14{height:3.5rem}.ultimate-store-kit-admin-root .h-3{height:0.75rem}.ultimate-store-kit-admin-root .h-3\.5{height:0.875rem}.ultimate-store-kit-admin-root .h-4{height:1rem}.ultimate-store-kit-admin-root .h-5{height:1.25rem}.ultimate-store-kit-admin-root .h-7{height:1.75rem}.ultimate-store-kit-admin-root .h-8{height:2rem}.ultimate-store-kit-admin-root .h-9{height:2.25rem}.ultimate-store-kit-admin-root .h-\[14px\]{height:14px}.ultimate-store-kit-admin-root .h-\[18px\]{height:18px}.ultimate-store-kit-admin-root .h-\[22px\]{height:22px}.ultimate-store-kit-admin-root .h-\[60px\]{height:60px}.ultimate-store-kit-admin-root .h-full{height:100%}.ultimate-store-kit-admin-root .min-h-9{min-height:2.25rem}.ultimate-store-kit-admin-root .min-h-\[calc\(100vh-100px\)\]{min-height:calc(100vh - 100px)}.ultimate-store-kit-admin-root .w-1\.5{width:0.375rem}.ultimate-store-kit-admin-root .w-10{width:2.5rem}.ultimate-store-kit-admin-root .w-11{width:2.75rem}.ultimate-store-kit-admin-root .w-12{width:3rem}.ultimate-store-kit-admin-root .w-14{width:3.5rem}.ultimate-store-kit-admin-root .w-20{width:5rem}.ultimate-store-kit-admin-root .w-3{width:0.75rem}.ultimate-store-kit-admin-root .w-3\.5{width:0.875rem}.ultimate-store-kit-admin-root .w-4{width:1rem}.ultimate-store-kit-admin-root .w-5{width:1.25rem}.ultimate-store-kit-admin-root .w-64{width:16rem}.ultimate-store-kit-admin-root .w-7{width:1.75rem}.ultimate-store-kit-admin-root .w-8{width:2rem}.ultimate-store-kit-admin-root .w-9{width:2.25rem}.ultimate-store-kit-admin-root .w-\[14px\]{width:14px}.ultimate-store-kit-admin-root .w-\[18px\]{width:18px}.ultimate-store-kit-admin-root .w-\[400px\]{width:400px}.ultimate-store-kit-admin-root .w-\[60px\]{width:60px}.ultimate-store-kit-admin-root .w-\[min\(1200px\2c 100vw\)\]{width:min(1200px, 100vw)}.ultimate-store-kit-admin-root .w-fit{width:-moz-fit-content;width:fit-content}.ultimate-store-kit-admin-root .w-full{width:100%}.ultimate-store-kit-admin-root .min-w-0{min-width:0px}.ultimate-store-kit-admin-root .min-w-\[120px\]{min-width:120px}.ultimate-store-kit-admin-root .min-w-\[140px\]{min-width:140px}.ultimate-store-kit-admin-root .min-w-\[400px\]{min-width:400px}.ultimate-store-kit-admin-root .max-w-3xl{max-width:48rem}.ultimate-store-kit-admin-root .max-w-\[400px\]{max-width:400px}.ultimate-store-kit-admin-root .max-w-\[70\%\]{max-width:70%}.ultimate-store-kit-admin-root .max-w-\[min\(1200px\2c 100vw\)\]{max-width:min(1200px, 100vw)}.ultimate-store-kit-admin-root .max-w-full{max-width:100%}.ultimate-store-kit-admin-root .max-w-md{max-width:28rem}.ultimate-store-kit-admin-root .max-w-xl{max-width:36rem}.ultimate-store-kit-admin-root .flex-1{flex:1 1 0%}.ultimate-store-kit-admin-root .flex-\[2\]{flex:2}.ultimate-store-kit-admin-root .shrink-0{flex-shrink:0}.ultimate-store-kit-admin-root .transform{transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes uskSlideIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.ultimate-store-kit-admin-root .animate-usk-slide-in{animation:uskSlideIn 0.3s ease}.ultimate-store-kit-admin-root .cursor-not-allowed{cursor:not-allowed}.ultimate-store-kit-admin-root .cursor-pointer{cursor:pointer}.ultimate-store-kit-admin-root .select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.ultimate-store-kit-admin-root .resize{resize:both}.ultimate-store-kit-admin-root .list-none{list-style-type:none}.ultimate-store-kit-admin-root .grid-cols-1{grid-template-columns:repeat(1, minmax(0, 1fr))}.ultimate-store-kit-admin-root .grid-cols-\[repeat\(auto-fit\2c minmax\(420px\2c 1fr\)\)\]{grid-template-columns:repeat(auto-fit,minmax(420px,1fr))}.ultimate-store-kit-admin-root .flex-col{flex-direction:column}.ultimate-store-kit-admin-root .flex-wrap{flex-wrap:wrap}.ultimate-store-kit-admin-root .items-start{align-items:flex-start}.ultimate-store-kit-admin-root .items-center{align-items:center}.ultimate-store-kit-admin-root .items-stretch{align-items:stretch}.ultimate-store-kit-admin-root .justify-start{justify-content:flex-start}.ultimate-store-kit-admin-root .justify-end{justify-content:flex-end}.ultimate-store-kit-admin-root .justify-center{justify-content:center}.ultimate-store-kit-admin-root .justify-between{justify-content:space-between}.ultimate-store-kit-admin-root .gap-1{gap:0.25rem}.ultimate-store-kit-admin-root .gap-1\.5{gap:0.375rem}.ultimate-store-kit-admin-root .gap-2{gap:0.5rem}.ultimate-store-kit-admin-root .gap-2\.5{gap:0.625rem}.ultimate-store-kit-admin-root .gap-3{gap:0.75rem}.ultimate-store-kit-admin-root .gap-4{gap:1rem}.ultimate-store-kit-admin-root .gap-5{gap:1.25rem}.ultimate-store-kit-admin-root .gap-6{gap:1.5rem}.ultimate-store-kit-admin-root .gap-px{gap:1px}.ultimate-store-kit-admin-root .gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.ultimate-store-kit-admin-root .gap-y-1\.5{row-gap:0.375rem}.ultimate-store-kit-admin-root :is(.space-y-1 > :not([hidden]) ~ :not([hidden])){--tw-space-y-reverse:0;margin-top:calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.25rem * var(--tw-space-y-reverse))}.ultimate-store-kit-admin-root :is(.space-y-1\.5 > :not([hidden]) ~ :not([hidden])){--tw-space-y-reverse:0;margin-top:calc(0.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.375rem * var(--tw-space-y-reverse))}.ultimate-store-kit-admin-root :is(.space-y-5 > :not([hidden]) ~ :not([hidden])){--tw-space-y-reverse:0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.ultimate-store-kit-admin-root :is(.space-y-6 > :not([hidden]) ~ :not([hidden])){--tw-space-y-reverse:0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.ultimate-store-kit-admin-root .self-start{align-self:flex-start}.ultimate-store-kit-admin-root .self-stretch{align-self:stretch}.ultimate-store-kit-admin-root .overflow-hidden{overflow:hidden}.ultimate-store-kit-admin-root .whitespace-nowrap{white-space:nowrap}.ultimate-store-kit-admin-root .rounded-2xl{border-radius:1rem}.ultimate-store-kit-admin-root .rounded-\[10px\]{border-radius:10px}.ultimate-store-kit-admin-root .rounded-full{border-radius:9999px}.ultimate-store-kit-admin-root .rounded-lg{border-radius:0.5rem}.ultimate-store-kit-admin-root .rounded-md{border-radius:0.375rem}.ultimate-store-kit-admin-root .rounded-usk{border-radius:10px}.ultimate-store-kit-admin-root .rounded-xl{border-radius:0.75rem}.ultimate-store-kit-admin-root .rounded-bl-lg{border-bottom-left-radius:0.5rem}.ultimate-store-kit-admin-root .rounded-br-lg{border-bottom-right-radius:0.5rem}.ultimate-store-kit-admin-root .rounded-tl-lg{border-top-left-radius:0.5rem}.ultimate-store-kit-admin-root .rounded-tr-lg{border-top-right-radius:0.5rem}.ultimate-store-kit-admin-root .\!border{border-width:1px !important}.ultimate-store-kit-admin-root .border{border-width:1px}.ultimate-store-kit-admin-root .border-0{border-width:0px}.ultimate-store-kit-admin-root .border-b{border-bottom-width:1px}.ultimate-store-kit-admin-root .border-l{border-left-width:1px}.ultimate-store-kit-admin-root .border-l-\[3px\]{border-left-width:3px}.ultimate-store-kit-admin-root .border-t{border-top-width:1px}.ultimate-store-kit-admin-root .border-solid{border-style:solid}.ultimate-store-kit-admin-root .border-none{border-style:none}.ultimate-store-kit-admin-root .\!border-uks-brand\/25{border-color:rgb(0 33 106 / 0.25) !important}.ultimate-store-kit-admin-root .border-current{border-color:currentColor}.ultimate-store-kit-admin-root .border-emerald-200{--tw-border-opacity:1;border-color:rgb(167 243 208 / var(--tw-border-opacity, 1))}.ultimate-store-kit-admin-root .border-emerald-300{--tw-border-opacity:1;border-color:rgb(110 231 183 / var(--tw-border-opacity, 1))}.ultimate-store-kit-admin-root .border-gray-100{--tw-border-opacity:1;border-color:rgb(243 244 246 / var(--tw-border-opacity, 1))}.ultimate-store-kit-admin-root .border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}.ultimate-store-kit-admin-root .border-gray-50{--tw-border-opacity:1;border-color:rgb(249 250 251 / var(--tw-border-opacity, 1))}.ultimate-store-kit-admin-root .border-indigo-500{--tw-border-opacity:1;border-color:rgb(99 102 241 / var(--tw-border-opacity, 1))}.ultimate-store-kit-admin-root .border-orange-500{--tw-border-opacity:1;border-color:rgb(249 115 22 / var(--tw-border-opacity, 1))}.ultimate-store-kit-admin-root .border-pink-500{--tw-border-opacity:1;border-color:rgb(236 72 153 / var(--tw-border-opacity, 1))}.ultimate-store-kit-admin-root .border-red-200{--tw-border-opacity:1;border-color:rgb(254 202 202 / var(--tw-border-opacity, 1))}.ultimate-store-kit-admin-root .border-red-500{--tw-border-opacity:1;border-color:rgb(239 68 68 / var(--tw-border-opacity, 1))}.ultimate-store-kit-admin-root .border-slate-100{--tw-border-opacity:1;border-color:rgb(241 245 249 / var(--tw-border-opacity, 1))}.ultimate-store-kit-admin-root .border-slate-200{--tw-border-opacity:1;border-color:rgb(226 232 240 / var(--tw-border-opacity, 1))}.ultimate-store-kit-admin-root .border-slate-300{--tw-border-opacity:1;border-color:rgb(203 213 225 / var(--tw-border-opacity, 1))}.ultimate-store-kit-admin-root .border-teal-500{--tw-border-opacity:1;border-color:rgb(20 184 166 / var(--tw-border-opacity, 1))}.ultimate-store-kit-admin-root .border-transparent{border-color:transparent}.ultimate-store-kit-admin-root .border-uks-brand{--tw-border-opacity:1;border-color:rgb(0 33 106 / var(--tw-border-opacity, 1))}.ultimate-store-kit-admin-root .border-uks-brand\/15{border-color:rgb(0 33 106 / 0.15)}.ultimate-store-kit-admin-root .border-uks-brand\/20{border-color:rgb(0 33 106 / 0.2)}.ultimate-store-kit-admin-root .border-uks-brand\/30{border-color:rgb(0 33 106 / 0.3)}.ultimate-store-kit-admin-root .border-violet-500{--tw-border-opacity:1;border-color:rgb(139 92 246 / var(--tw-border-opacity, 1))}.ultimate-store-kit-admin-root .border-b-gray-100{--tw-border-opacity:1;border-bottom-color:rgb(243 244 246 / var(--tw-border-opacity, 1))}.ultimate-store-kit-admin-root .border-b-gray-200{--tw-border-opacity:1;border-bottom-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}.ultimate-store-kit-admin-root .\!bg-uks-brand{--tw-bg-opacity:1 !important;background-color:rgb(0 33 106 / var(--tw-bg-opacity, 1)) !important}.ultimate-store-kit-admin-root .bg-emerald-100{--tw-bg-opacity:1;background-color:rgb(209 250 229 / var(--tw-bg-opacity, 1))}.ultimate-store-kit-admin-root .bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.ultimate-store-kit-admin-root .bg-indigo-500{--tw-bg-opacity:1;background-color:rgb(99 102 241 / var(--tw-bg-opacity, 1))}.ultimate-store-kit-admin-root .bg-orange-500{--tw-bg-opacity:1;background-color:rgb(249 115 22 / var(--tw-bg-opacity, 1))}.ultimate-store-kit-admin-root .bg-pink-500{--tw-bg-opacity:1;background-color:rgb(236 72 153 / var(--tw-bg-opacity, 1))}.ultimate-store-kit-admin-root .bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226 / var(--tw-bg-opacity, 1))}.ultimate-store-kit-admin-root .bg-slate-100{--tw-bg-opacity:1;background-color:rgb(241 245 249 / var(--tw-bg-opacity, 1))}.ultimate-store-kit-admin-root .bg-slate-200{--tw-bg-opacity:1;background-color:rgb(226 232 240 / var(--tw-bg-opacity, 1))}.ultimate-store-kit-admin-root .bg-slate-300{--tw-bg-opacity:1;background-color:rgb(203 213 225 / var(--tw-bg-opacity, 1))}.ultimate-store-kit-admin-root .bg-slate-50{--tw-bg-opacity:1;background-color:rgb(248 250 252 / var(--tw-bg-opacity, 1))}.ultimate-store-kit-admin-root .bg-slate-50\/50{background-color:rgb(248 250 252 / 0.5)}.ultimate-store-kit-admin-root .bg-slate-50\/70{background-color:rgb(248 250 252 / 0.7)}.ultimate-store-kit-admin-root .bg-teal-500{--tw-bg-opacity:1;background-color:rgb(20 184 166 / var(--tw-bg-opacity, 1))}.ultimate-store-kit-admin-root .bg-transparent{background-color:transparent}.ultimate-store-kit-admin-root .bg-uks-brand{--tw-bg-opacity:1;background-color:rgb(0 33 106 / var(--tw-bg-opacity, 1))}.ultimate-store-kit-admin-root .bg-uks-brand\/10{background-color:rgb(0 33 106 / 0.1)}.ultimate-store-kit-admin-root .bg-uks-brand\/5{background-color:rgb(0 33 106 / 0.05)}.ultimate-store-kit-admin-root .bg-uks-brand\/\[0\.07\]{background-color:rgb(0 33 106 / 0.07)}.ultimate-store-kit-admin-root .bg-violet-500{--tw-bg-opacity:1;background-color:rgb(139 92 246 / var(--tw-bg-opacity, 1))}.ultimate-store-kit-admin-root .bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.ultimate-store-kit-admin-root .bg-white\/80{background-color:rgb(255 255 255 / 0.8)}.ultimate-store-kit-admin-root .bg-\[linear-gradient\(313deg\2c \#E62A3F_0\%\2c \#00216A_100\%\)\]{background-image:linear-gradient(313deg,#E62A3F 0%,#00216A 100%)}.ultimate-store-kit-admin-root .bg-gradient-to-br{background-image:linear-gradient(to bottom right, var(--tw-gradient-stops))}.ultimate-store-kit-admin-root .from-uks-brand\/\[0\.07\]{--tw-gradient-from:rgb(0 33 106 / 0.07) var(--tw-gradient-from-position);--tw-gradient-to:rgb(0 33 106 / 0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.ultimate-store-kit-admin-root .to-transparent{--tw-gradient-to:transparent var(--tw-gradient-to-position)}.ultimate-store-kit-admin-root .p-0{padding:0px}.ultimate-store-kit-admin-root .p-0\.5{padding:0.125rem}.ultimate-store-kit-admin-root .p-4{padding:1rem}.ultimate-store-kit-admin-root .p-5{padding:1.25rem}.ultimate-store-kit-admin-root .p-6{padding:1.5rem}.ultimate-store-kit-admin-root .p-8{padding:2rem}.ultimate-store-kit-admin-root .px-1{padding-left:0.25rem;padding-right:0.25rem}.ultimate-store-kit-admin-root .px-1\.5{padding-left:0.375rem;padding-right:0.375rem}.ultimate-store-kit-admin-root .px-2{padding-left:0.5rem;padding-right:0.5rem}.ultimate-store-kit-admin-root .px-2\.5{padding-left:0.625rem;padding-right:0.625rem}.ultimate-store-kit-admin-root .px-3{padding-left:0.75rem;padding-right:0.75rem}.ultimate-store-kit-admin-root .px-3\.5{padding-left:0.875rem;padding-right:0.875rem}.ultimate-store-kit-admin-root .px-4{padding-left:1rem;padding-right:1rem}.ultimate-store-kit-admin-root .px-5{padding-left:1.25rem;padding-right:1.25rem}.ultimate-store-kit-admin-root .px-6{padding-left:1.5rem;padding-right:1.5rem}.ultimate-store-kit-admin-root .px-\[18px\]{padding-left:18px;padding-right:18px}.ultimate-store-kit-admin-root .py-0{padding-top:0px;padding-bottom:0px}.ultimate-store-kit-admin-root .py-0\.5{padding-top:0.125rem;padding-bottom:0.125rem}.ultimate-store-kit-admin-root .py-1{padding-top:0.25rem;padding-bottom:0.25rem}.ultimate-store-kit-admin-root .py-1\.5{padding-top:0.375rem;padding-bottom:0.375rem}.ultimate-store-kit-admin-root .py-10{padding-top:2.5rem;padding-bottom:2.5rem}.ultimate-store-kit-admin-root .py-16{padding-top:4rem;padding-bottom:4rem}.ultimate-store-kit-admin-root .py-2{padding-top:0.5rem;padding-bottom:0.5rem}.ultimate-store-kit-admin-root .py-2\.5{padding-top:0.625rem;padding-bottom:0.625rem}.ultimate-store-kit-admin-root .py-3{padding-top:0.75rem;padding-bottom:0.75rem}.ultimate-store-kit-admin-root .py-3\.5{padding-top:0.875rem;padding-bottom:0.875rem}.ultimate-store-kit-admin-root .py-4{padding-top:1rem;padding-bottom:1rem}.ultimate-store-kit-admin-root .py-5{padding-top:1.25rem;padding-bottom:1.25rem}.ultimate-store-kit-admin-root .py-6{padding-top:1.5rem;padding-bottom:1.5rem}.ultimate-store-kit-admin-root .pb-4{padding-bottom:1rem}.ultimate-store-kit-admin-root .pl-3{padding-left:0.75rem}.ultimate-store-kit-admin-root .pr-10{padding-right:2.5rem}.ultimate-store-kit-admin-root .pt-1{padding-top:0.25rem}.ultimate-store-kit-admin-root .pt-4{padding-top:1rem}.ultimate-store-kit-admin-root .text-left{text-align:left}.ultimate-store-kit-admin-root .text-center{text-align:center}.ultimate-store-kit-admin-root .align-middle{vertical-align:middle}.ultimate-store-kit-admin-root .font-mono{font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace}.ultimate-store-kit-admin-root .font-sans{font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, sans-serif}.ultimate-store-kit-admin-root .text-\[10px\]{font-size:10px}.ultimate-store-kit-admin-root .text-\[11px\]{font-size:11px}.ultimate-store-kit-admin-root .text-\[12px\]{font-size:12px}.ultimate-store-kit-admin-root .text-\[13px\]{font-size:13px}.ultimate-store-kit-admin-root .text-\[14px\]{font-size:14px}.ultimate-store-kit-admin-root .text-\[22px\]{font-size:22px}.ultimate-store-kit-admin-root .text-\[9px\]{font-size:9px}.ultimate-store-kit-admin-root .text-base{font-size:1rem;line-height:1.5rem}.ultimate-store-kit-admin-root .text-lg{font-size:1.125rem;line-height:1.75rem}.ultimate-store-kit-admin-root .text-sm{font-size:0.875rem;line-height:1.25rem}.ultimate-store-kit-admin-root .text-xl{font-size:1.25rem;line-height:1.75rem}.ultimate-store-kit-admin-root .text-xs{font-size:0.75rem;line-height:1rem}.ultimate-store-kit-admin-root .font-bold{font-weight:700}.ultimate-store-kit-admin-root .font-extrabold{font-weight:800}.ultimate-store-kit-admin-root .font-medium{font-weight:500}.ultimate-store-kit-admin-root .font-semibold{font-weight:600}.ultimate-store-kit-admin-root .uppercase{text-transform:uppercase}.ultimate-store-kit-admin-root .leading-none{line-height:1}.ultimate-store-kit-admin-root .leading-relaxed{line-height:1.625}.ultimate-store-kit-admin-root .leading-snug{line-height:1.375}.ultimate-store-kit-admin-root .leading-tight{line-height:1.25}.ultimate-store-kit-admin-root .tracking-tight{letter-spacing:-0.025em}.ultimate-store-kit-admin-root .tracking-wide{letter-spacing:0.025em}.ultimate-store-kit-admin-root .tracking-wider{letter-spacing:0.05em}.ultimate-store-kit-admin-root .tracking-widest{letter-spacing:0.1em}.ultimate-store-kit-admin-root .\!text-white{--tw-text-opacity:1 !important;color:rgb(255 255 255 / var(--tw-text-opacity, 1)) !important}.ultimate-store-kit-admin-root .text-emerald-500{--tw-text-opacity:1;color:rgb(16 185 129 / var(--tw-text-opacity, 1))}.ultimate-store-kit-admin-root .text-emerald-600{--tw-text-opacity:1;color:rgb(5 150 105 / var(--tw-text-opacity, 1))}.ultimate-store-kit-admin-root .text-emerald-800{--tw-text-opacity:1;color:rgb(6 95 70 / var(--tw-text-opacity, 1))}.ultimate-store-kit-admin-root .text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.ultimate-store-kit-admin-root .text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.ultimate-store-kit-admin-root .text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.ultimate-store-kit-admin-root .text-inherit{color:inherit}.ultimate-store-kit-admin-root .text-red-500{--tw-text-opacity:1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.ultimate-store-kit-admin-root .text-red-900{--tw-text-opacity:1;color:rgb(127 29 29 / var(--tw-text-opacity, 1))}.ultimate-store-kit-admin-root .text-slate-300{--tw-text-opacity:1;color:rgb(203 213 225 / var(--tw-text-opacity, 1))}.ultimate-store-kit-admin-root .text-slate-400{--tw-text-opacity:1;color:rgb(148 163 184 / var(--tw-text-opacity, 1))}.ultimate-store-kit-admin-root .text-slate-500{--tw-text-opacity:1;color:rgb(100 116 139 / var(--tw-text-opacity, 1))}.ultimate-store-kit-admin-root .text-slate-600{--tw-text-opacity:1;color:rgb(71 85 105 / var(--tw-text-opacity, 1))}.ultimate-store-kit-admin-root .text-slate-700{--tw-text-opacity:1;color:rgb(51 65 85 / var(--tw-text-opacity, 1))}.ultimate-store-kit-admin-root .text-slate-800{--tw-text-opacity:1;color:rgb(30 41 59 / var(--tw-text-opacity, 1))}.ultimate-store-kit-admin-root .text-slate-900{--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity, 1))}.ultimate-store-kit-admin-root .text-uks-brand{--tw-text-opacity:1;color:rgb(0 33 106 / var(--tw-text-opacity, 1))}.ultimate-store-kit-admin-root .text-white{--tw-text-opacity:1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.ultimate-store-kit-admin-root .text-white\/90{color:rgb(255 255 255 / 0.9)}.ultimate-store-kit-admin-root .no-underline{text-decoration-line:none}.ultimate-store-kit-admin-root .opacity-60{opacity:0.6}.ultimate-store-kit-admin-root .opacity-70{opacity:0.7}.ultimate-store-kit-admin-root .shadow-sm{--tw-shadow:0 1px 2px 0 rgb(0 0 0 / 0.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.ultimate-store-kit-admin-root .filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.ultimate-store-kit-admin-root .transition{transition-property:color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.ultimate-store-kit-admin-root .transition-all{transition-property:all;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.ultimate-store-kit-admin-root .transition-colors{transition-property:color, background-color, border-color, text-decoration-color, fill, stroke;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.ultimate-store-kit-admin-root .transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.ultimate-store-kit-admin-root .transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.ultimate-store-kit-admin-root .duration-200{transition-duration:200ms}.ultimate-store-kit-admin-root .ease-in-out{transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1)}.ultimate-store-kit-admin-root .ease-out{transition-timing-function:cubic-bezier(0, 0, 0.2, 1)}.usk-toast-wrap{position:fixed;top:40px;left:50%;transform:translateX(-50%);z-index:99999;pointer-events:none;display:flex;justify-content:center;width:auto;max-width:480px}.usk-toast{pointer-events:auto;display:flex;align-items:center;gap:10px;padding:10px 18px;border-radius:10px;font-size:13px;font-weight:600;box-shadow:0 8px 24px rgba(0,0,0,.12);animation:usk-toast-in .35s cubic-bezier(0.21, 1.02, 0.73, 1) forwards;white-space:nowrap}.usk-toast--success{background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0}.usk-toast--error{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}.usk-toast__close{cursor:pointer;border:0;background:rgba(0,0,0,0);color:inherit;font-size:16px;line-height:1;padding:0 0 0 6px;opacity:.6;transition:opacity .15s}.usk-toast__close:hover{opacity:1}@keyframes usk-toast-in{0%{opacity:0;transform:translateY(-14px) scale(0.96)}100%{opacity:1;transform:translateY(0) scale(1)}}.ultimate-store-kit-admin-root .placeholder\:text-gray-500::-moz-placeholder{--tw-text-opacity:1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.ultimate-store-kit-admin-root .placeholder\:text-gray-500::placeholder{--tw-text-opacity:1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.ultimate-store-kit-admin-root .placeholder\:text-slate-400::-moz-placeholder{--tw-text-opacity:1;color:rgb(148 163 184 / var(--tw-text-opacity, 1))}.ultimate-store-kit-admin-root .placeholder\:text-slate-400::placeholder{--tw-text-opacity:1;color:rgb(148 163 184 / var(--tw-text-opacity, 1))}.ultimate-store-kit-admin-root .last\:border-b-0:last-child{border-bottom-width:0px}.ultimate-store-kit-admin-root .hover\:border-slate-300:hover{--tw-border-opacity:1;border-color:rgb(203 213 225 / var(--tw-border-opacity, 1))}.ultimate-store-kit-admin-root .hover\:border-uks-brand\/25:hover{border-color:rgb(0 33 106 / 0.25)}.ultimate-store-kit-admin-root .hover\:border-uks-brand\/40:hover{border-color:rgb(0 33 106 / 0.4)}.ultimate-store-kit-admin-root .hover\:\!bg-uks-brand-dark:hover{--tw-bg-opacity:1 !important;background-color:rgb(0 33 106 / var(--tw-bg-opacity, 1)) !important}.ultimate-store-kit-admin-root .hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.ultimate-store-kit-admin-root .hover\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.ultimate-store-kit-admin-root .hover\:bg-red-500:hover{--tw-bg-opacity:1;background-color:rgb(239 68 68 / var(--tw-bg-opacity, 1))}.ultimate-store-kit-admin-root .hover\:bg-slate-50:hover{--tw-bg-opacity:1;background-color:rgb(248 250 252 / var(--tw-bg-opacity, 1))}.ultimate-store-kit-admin-root .hover\:bg-uks-brand:hover{--tw-bg-opacity:1;background-color:rgb(0 33 106 / var(--tw-bg-opacity, 1))}.ultimate-store-kit-admin-root .hover\:bg-uks-brand-dark:hover{--tw-bg-opacity:1;background-color:rgb(0 33 106 / var(--tw-bg-opacity, 1))}.ultimate-store-kit-admin-root .hover\:bg-uks-brand\/10:hover{background-color:rgb(0 33 106 / 0.1)}.ultimate-store-kit-admin-root .hover\:bg-white:hover{--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.ultimate-store-kit-admin-root .hover\:text-gray-800:hover{--tw-text-opacity:1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.ultimate-store-kit-admin-root .hover\:text-slate-700:hover{--tw-text-opacity:1;color:rgb(51 65 85 / var(--tw-text-opacity, 1))}.ultimate-store-kit-admin-root .hover\:text-slate-900:hover{--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity, 1))}.ultimate-store-kit-admin-root .hover\:text-uks-brand:hover{--tw-text-opacity:1;color:rgb(0 33 106 / var(--tw-text-opacity, 1))}.ultimate-store-kit-admin-root .hover\:text-uks-brand-dark:hover{--tw-text-opacity:1;color:rgb(0 33 106 / var(--tw-text-opacity, 1))}.ultimate-store-kit-admin-root .hover\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.ultimate-store-kit-admin-root .hover\:underline:hover{text-decoration-line:underline}.ultimate-store-kit-admin-root .hover\:opacity-90:hover{opacity:0.9}.ultimate-store-kit-admin-root .focus\:border-uks-brand:focus{--tw-border-opacity:1;border-color:rgb(0 33 106 / var(--tw-border-opacity, 1))}.ultimate-store-kit-admin-root .focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.ultimate-store-kit-admin-root .focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.ultimate-store-kit-admin-root .focus\:ring-uks-brand:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(0 33 106 / var(--tw-ring-opacity, 1))}.ultimate-store-kit-admin-root .focus\:ring-uks-brand\/25:focus{--tw-ring-color:rgb(0 33 106 / 0.25)}.ultimate-store-kit-admin-root .focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.ultimate-store-kit-admin-root .focus\:ring-offset-white:focus{--tw-ring-offset-color:#fff}.ultimate-store-kit-admin-root .disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.ultimate-store-kit-admin-root .disabled\:opacity-50:disabled{opacity:0.5}.ultimate-store-kit-admin-root .disabled\:opacity-60:disabled{opacity:0.6}.ultimate-store-kit-admin-root :is(.group:hover .group-hover\:bg-uks-brand\/15){background-color:rgb(0 33 106 / 0.15)}.ultimate-store-kit-admin-root :is(.peer:checked ~ .peer-checked\:translate-x-\[18px\]){--tw-translate-x:18px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.ultimate-store-kit-admin-root :is(.peer:checked ~ .peer-checked\:bg-uks-brand){--tw-bg-opacity:1;background-color:rgb(0 33 106 / var(--tw-bg-opacity, 1))}.ultimate-store-kit-admin-root :is(.peer:disabled ~ .peer-disabled\:opacity-50){opacity:0.5}@media (min-width: 640px){.ultimate-store-kit-admin-root .sm\:mb-4{margin-bottom:1rem}.ultimate-store-kit-admin-root .sm\:inline-block{display:inline-block}.ultimate-store-kit-admin-root .sm\:h-12{height:3rem}.ultimate-store-kit-admin-root .sm\:w-12{width:3rem}.ultimate-store-kit-admin-root .sm\:w-28{width:7rem}.ultimate-store-kit-admin-root .sm\:w-48{width:12rem}.ultimate-store-kit-admin-root .sm\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}.ultimate-store-kit-admin-root .sm\:grid-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr))}.ultimate-store-kit-admin-root .sm\:flex-row{flex-direction:row}.ultimate-store-kit-admin-root .sm\:items-start{align-items:flex-start}.ultimate-store-kit-admin-root .sm\:items-center{align-items:center}.ultimate-store-kit-admin-root .sm\:justify-between{justify-content:space-between}.ultimate-store-kit-admin-root .sm\:gap-1\.5{gap:0.375rem}.ultimate-store-kit-admin-root .sm\:gap-2\.5{gap:0.625rem}.ultimate-store-kit-admin-root .sm\:gap-4{gap:1rem}.ultimate-store-kit-admin-root .sm\:p-10{padding:2.5rem}.ultimate-store-kit-admin-root .sm\:p-5{padding:1.25rem}.ultimate-store-kit-admin-root .sm\:px-10{padding-left:2.5rem;padding-right:2.5rem}.ultimate-store-kit-admin-root .sm\:px-5{padding-left:1.25rem;padding-right:1.25rem}.ultimate-store-kit-admin-root .sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.ultimate-store-kit-admin-root .sm\:py-20{padding-top:5rem;padding-bottom:5rem}.ultimate-store-kit-admin-root .sm\:py-3\.5{padding-top:0.875rem;padding-bottom:0.875rem}.ultimate-store-kit-admin-root .sm\:py-6{padding-top:1.5rem;padding-bottom:1.5rem}.ultimate-store-kit-admin-root .sm\:pl-2{padding-left:0.5rem}.ultimate-store-kit-admin-root .sm\:text-left{text-align:left}.ultimate-store-kit-admin-root .sm\:text-\[11px\]{font-size:11px}.ultimate-store-kit-admin-root .sm\:text-\[12px\]{font-size:12px}.ultimate-store-kit-admin-root .sm\:text-\[13px\]{font-size:13px}.ultimate-store-kit-admin-root .sm\:text-sm{font-size:0.875rem;line-height:1.25rem}.ultimate-store-kit-admin-root .sm\:text-xl{font-size:1.25rem;line-height:1.75rem}}@media (min-width: 1024px){.ultimate-store-kit-admin-root .lg\:sticky{position:sticky}.ultimate-store-kit-admin-root .lg\:top-\[7\.5rem\]{top:7.5rem}.ultimate-store-kit-admin-root .lg\:mt-8{margin-top:2rem}.ultimate-store-kit-admin-root .lg\:block{display:block}.ultimate-store-kit-admin-root .lg\:w-36{width:9rem}.ultimate-store-kit-admin-root .lg\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}.ultimate-store-kit-admin-root .lg\:grid-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr))}.ultimate-store-kit-admin-root .lg\:grid-cols-4{grid-template-columns:repeat(4, minmax(0, 1fr))}.ultimate-store-kit-admin-root .lg\:p-6{padding:1.5rem}}@media (min-width: 1280px){.ultimate-store-kit-admin-root .xl\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}.ultimate-store-kit-admin-root .xl\:grid-cols-4{grid-template-columns:repeat(4, minmax(0, 1fr))}}@media (min-width: 1536px){.ultimate-store-kit-admin-root .\32xl\:grid-cols-4{grid-template-columns:repeat(4, minmax(0, 1fr))}}
     1.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}#wpbody-content .ultimate-store-kit-admin-root .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}#wpbody-content .ultimate-store-kit-admin-root .pointer-events-none{pointer-events:none}#wpbody-content .ultimate-store-kit-admin-root .pointer-events-auto{pointer-events:auto}#wpbody-content .ultimate-store-kit-admin-root .visible{visibility:visible}#wpbody-content .ultimate-store-kit-admin-root .invisible{visibility:hidden}#wpbody-content .ultimate-store-kit-admin-root .fixed{position:fixed}#wpbody-content .ultimate-store-kit-admin-root .absolute{position:absolute}#wpbody-content .ultimate-store-kit-admin-root .relative{position:relative}#wpbody-content .ultimate-store-kit-admin-root .sticky{position:sticky}#wpbody-content .ultimate-store-kit-admin-root .inset-0{inset:0px}#wpbody-content .ultimate-store-kit-admin-root .inset-x-0{left:0px;right:0px}#wpbody-content .ultimate-store-kit-admin-root .-right-10{right:-2.5rem}#wpbody-content .ultimate-store-kit-admin-root .-top-10{top:-2.5rem}#wpbody-content .ultimate-store-kit-admin-root .bottom-5{bottom:1.25rem}#wpbody-content .ultimate-store-kit-admin-root .bottom-\[3px\]{bottom:3px}#wpbody-content .ultimate-store-kit-admin-root .left-0{left:0px}#wpbody-content .ultimate-store-kit-admin-root .left-1\/2{left:50%}#wpbody-content .ultimate-store-kit-admin-root .left-3{left:0.75rem}#wpbody-content .ultimate-store-kit-admin-root .left-\[3px\]{left:3px}#wpbody-content .ultimate-store-kit-admin-root .top-0{top:0px}#wpbody-content .ultimate-store-kit-admin-root .top-\[6px\]{top:6px}#wpbody-content .ultimate-store-kit-admin-root .top-full{top:100%}#wpbody-content .ultimate-store-kit-admin-root .z-50{z-index:50}#wpbody-content .ultimate-store-kit-admin-root .z-\[100000\]{z-index:100000}#wpbody-content .ultimate-store-kit-admin-root .z-\[159000\]{z-index:159000}#wpbody-content .ultimate-store-kit-admin-root .z-\[1\]{z-index:1}#wpbody-content .ultimate-store-kit-admin-root .z-\[9990\]{z-index:9990}#wpbody-content .ultimate-store-kit-admin-root .\!m-0{margin:0px !important}#wpbody-content .ultimate-store-kit-admin-root .m-0{margin:0px}#wpbody-content .ultimate-store-kit-admin-root .m-5{margin:1.25rem}#wpbody-content .ultimate-store-kit-admin-root .mx-auto{margin-left:auto;margin-right:auto}#wpbody-content .ultimate-store-kit-admin-root .mb-0{margin-bottom:0px}#wpbody-content .ultimate-store-kit-admin-root .mb-0\.5{margin-bottom:0.125rem}#wpbody-content .ultimate-store-kit-admin-root .mb-1{margin-bottom:0.25rem}#wpbody-content .ultimate-store-kit-admin-root .mb-2{margin-bottom:0.5rem}#wpbody-content .ultimate-store-kit-admin-root .mb-3{margin-bottom:0.75rem}#wpbody-content .ultimate-store-kit-admin-root .mb-4{margin-bottom:1rem}#wpbody-content .ultimate-store-kit-admin-root .mb-5{margin-bottom:1.25rem}#wpbody-content .ultimate-store-kit-admin-root .mb-6{margin-bottom:1.5rem}#wpbody-content .ultimate-store-kit-admin-root .mb-\[14px\]{margin-bottom:14px}#wpbody-content .ultimate-store-kit-admin-root .mb-\[18px\]{margin-bottom:18px}#wpbody-content .ultimate-store-kit-admin-root .mb-\[22px\]{margin-bottom:22px}#wpbody-content .ultimate-store-kit-admin-root .ml-0{margin-left:0px}#wpbody-content .ultimate-store-kit-admin-root .ml-2{margin-left:0.5rem}#wpbody-content .ultimate-store-kit-admin-root .ml-auto{margin-left:auto}#wpbody-content .ultimate-store-kit-admin-root .mt-0{margin-top:0px}#wpbody-content .ultimate-store-kit-admin-root .mt-0\.5{margin-top:0.125rem}#wpbody-content .ultimate-store-kit-admin-root .mt-1{margin-top:0.25rem}#wpbody-content .ultimate-store-kit-admin-root .mt-1\.5{margin-top:0.375rem}#wpbody-content .ultimate-store-kit-admin-root .mt-10{margin-top:2.5rem}#wpbody-content .ultimate-store-kit-admin-root .mt-2{margin-top:0.5rem}#wpbody-content .ultimate-store-kit-admin-root .mt-3{margin-top:0.75rem}#wpbody-content .ultimate-store-kit-admin-root .mt-4{margin-top:1rem}#wpbody-content .ultimate-store-kit-admin-root .mt-6{margin-top:1.5rem}#wpbody-content .ultimate-store-kit-admin-root .mt-\[13px\]{margin-top:13px}#wpbody-content .ultimate-store-kit-admin-root .mt-\[14px\]{margin-top:14px}#wpbody-content .ultimate-store-kit-admin-root .mt-\[26px\]{margin-top:26px}#wpbody-content .ultimate-store-kit-admin-root .mt-\[3px\]{margin-top:3px}#wpbody-content .ultimate-store-kit-admin-root .mt-\[7px\]{margin-top:7px}#wpbody-content .ultimate-store-kit-admin-root .mt-auto{margin-top:auto}#wpbody-content .ultimate-store-kit-admin-root .box-border{box-sizing:border-box}#wpbody-content .ultimate-store-kit-admin-root .line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}#wpbody-content .ultimate-store-kit-admin-root .line-clamp-3{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3}#wpbody-content .ultimate-store-kit-admin-root .block{display:block}#wpbody-content .ultimate-store-kit-admin-root .inline-block{display:inline-block}#wpbody-content .ultimate-store-kit-admin-root .inline{display:inline}#wpbody-content .ultimate-store-kit-admin-root .flex{display:flex}#wpbody-content .ultimate-store-kit-admin-root .inline-flex{display:inline-flex}#wpbody-content .ultimate-store-kit-admin-root .grid{display:grid}#wpbody-content .ultimate-store-kit-admin-root .contents{display:contents}#wpbody-content .ultimate-store-kit-admin-root .hidden{display:none}#wpbody-content .ultimate-store-kit-admin-root .h-10{height:2.5rem}#wpbody-content .ultimate-store-kit-admin-root .h-11{height:2.75rem}#wpbody-content .ultimate-store-kit-admin-root .h-12{height:3rem}#wpbody-content .ultimate-store-kit-admin-root .h-14{height:3.5rem}#wpbody-content .ultimate-store-kit-admin-root .h-2{height:0.5rem}#wpbody-content .ultimate-store-kit-admin-root .h-3{height:0.75rem}#wpbody-content .ultimate-store-kit-admin-root .h-3\.5{height:0.875rem}#wpbody-content .ultimate-store-kit-admin-root .h-4{height:1rem}#wpbody-content .ultimate-store-kit-admin-root .h-40{height:10rem}#wpbody-content .ultimate-store-kit-admin-root .h-5{height:1.25rem}#wpbody-content .ultimate-store-kit-admin-root .h-7{height:1.75rem}#wpbody-content .ultimate-store-kit-admin-root .h-8{height:2rem}#wpbody-content .ultimate-store-kit-admin-root .h-9{height:2.25rem}#wpbody-content .ultimate-store-kit-admin-root .h-\[14px\]{height:14px}#wpbody-content .ultimate-store-kit-admin-root .h-\[18px\]{height:18px}#wpbody-content .ultimate-store-kit-admin-root .h-\[190px\]{height:190px}#wpbody-content .ultimate-store-kit-admin-root .h-\[22px\]{height:22px}#wpbody-content .ultimate-store-kit-admin-root .h-\[34px\]{height:34px}#wpbody-content .ultimate-store-kit-admin-root .h-\[7px\]{height:7px}#wpbody-content .ultimate-store-kit-admin-root .h-full{height:100%}#wpbody-content .ultimate-store-kit-admin-root .max-h-\[360px\]{max-height:360px}#wpbody-content .ultimate-store-kit-admin-root .min-h-\[80px\]{min-height:80px}#wpbody-content .ultimate-store-kit-admin-root .min-h-\[calc\(100vh-100px\)\]{min-height:calc(100vh - 100px)}#wpbody-content .ultimate-store-kit-admin-root .min-h-\[calc\(100vh-32px\)\]{min-height:calc(100vh - 32px)}#wpbody-content .ultimate-store-kit-admin-root .w-10{width:2.5rem}#wpbody-content .ultimate-store-kit-admin-root .w-11{width:2.75rem}#wpbody-content .ultimate-store-kit-admin-root .w-12{width:3rem}#wpbody-content .ultimate-store-kit-admin-root .w-14{width:3.5rem}#wpbody-content .ultimate-store-kit-admin-root .w-2{width:0.5rem}#wpbody-content .ultimate-store-kit-admin-root .w-20{width:5rem}#wpbody-content .ultimate-store-kit-admin-root .w-3{width:0.75rem}#wpbody-content .ultimate-store-kit-admin-root .w-3\.5{width:0.875rem}#wpbody-content .ultimate-store-kit-admin-root .w-4{width:1rem}#wpbody-content .ultimate-store-kit-admin-root .w-40{width:10rem}#wpbody-content .ultimate-store-kit-admin-root .w-5{width:1.25rem}#wpbody-content .ultimate-store-kit-admin-root .w-7{width:1.75rem}#wpbody-content .ultimate-store-kit-admin-root .w-8{width:2rem}#wpbody-content .ultimate-store-kit-admin-root .w-9{width:2.25rem}#wpbody-content .ultimate-store-kit-admin-root .w-\[14px\]{width:14px}#wpbody-content .ultimate-store-kit-admin-root .w-\[18px\]{width:18px}#wpbody-content .ultimate-store-kit-admin-root .w-\[260px\]{width:260px}#wpbody-content .ultimate-store-kit-admin-root .w-\[34px\]{width:34px}#wpbody-content .ultimate-store-kit-admin-root .w-\[400px\]{width:400px}#wpbody-content .ultimate-store-kit-admin-root .w-\[7px\]{width:7px}#wpbody-content .ultimate-store-kit-admin-root .w-\[min\(1200px\2c 100vw\)\]{width:min(1200px, 100vw)}#wpbody-content .ultimate-store-kit-admin-root .w-\[min\(640px\2c calc\(100vw-32px\)\)\]{width:min(640px, calc(100vw - 32px))}#wpbody-content .ultimate-store-kit-admin-root .w-fit{width:-moz-fit-content;width:fit-content}#wpbody-content .ultimate-store-kit-admin-root .w-full{width:100%}#wpbody-content .ultimate-store-kit-admin-root .w-max{width:-moz-max-content;width:max-content}#wpbody-content .ultimate-store-kit-admin-root .min-w-0{min-width:0px}#wpbody-content .ultimate-store-kit-admin-root .min-w-\[120px\]{min-width:120px}#wpbody-content .ultimate-store-kit-admin-root .min-w-\[140px\]{min-width:140px}#wpbody-content .ultimate-store-kit-admin-root .min-w-\[228px\]{min-width:228px}#wpbody-content .ultimate-store-kit-admin-root .min-w-\[400px\]{min-width:400px}#wpbody-content .ultimate-store-kit-admin-root .max-w-3xl{max-width:48rem}#wpbody-content .ultimate-store-kit-admin-root .max-w-\[1400px\]{max-width:1400px}#wpbody-content .ultimate-store-kit-admin-root .max-w-\[320px\]{max-width:320px}#wpbody-content .ultimate-store-kit-admin-root .max-w-\[400px\]{max-width:400px}#wpbody-content .ultimate-store-kit-admin-root .max-w-\[560px\]{max-width:560px}#wpbody-content .ultimate-store-kit-admin-root .max-w-\[70\%\]{max-width:70%}#wpbody-content .ultimate-store-kit-admin-root .max-w-\[min\(1200px\2c 100vw\)\]{max-width:min(1200px, 100vw)}#wpbody-content .ultimate-store-kit-admin-root .max-w-full{max-width:100%}#wpbody-content .ultimate-store-kit-admin-root .max-w-md{max-width:28rem}#wpbody-content .ultimate-store-kit-admin-root .flex-1{flex:1 1 0%}#wpbody-content .ultimate-store-kit-admin-root .flex-\[2\]{flex:2}#wpbody-content .ultimate-store-kit-admin-root .flex-none{flex:none}#wpbody-content .ultimate-store-kit-admin-root .shrink-0{flex-shrink:0}#wpbody-content .ultimate-store-kit-admin-root .-translate-x-1\/2{--tw-translate-x:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}#wpbody-content .ultimate-store-kit-admin-root .transform{transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}#wpbody-content .ultimate-store-kit-admin-root .animate-pulse{animation:pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite}@keyframes uskPop{from{opacity:0;transform:translateY(6px) scale(.98)}to{opacity:1;transform:none}}#wpbody-content .ultimate-store-kit-admin-root .animate-usk-pop{animation:uskPop .25s cubic-bezier(.16,1,.3,1) both}@keyframes uskSlideIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}#wpbody-content .ultimate-store-kit-admin-root .animate-usk-slide-in{animation:uskSlideIn 0.3s ease}#wpbody-content .ultimate-store-kit-admin-root .cursor-not-allowed{cursor:not-allowed}#wpbody-content .ultimate-store-kit-admin-root .cursor-pointer{cursor:pointer}#wpbody-content .ultimate-store-kit-admin-root .select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}#wpbody-content .ultimate-store-kit-admin-root .resize{resize:both}#wpbody-content .ultimate-store-kit-admin-root .list-none{list-style-type:none}#wpbody-content .ultimate-store-kit-admin-root .grid-cols-1{grid-template-columns:repeat(1, minmax(0, 1fr))}#wpbody-content .ultimate-store-kit-admin-root .grid-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr))}#wpbody-content .ultimate-store-kit-admin-root .grid-cols-4{grid-template-columns:repeat(4, minmax(0, 1fr))}#wpbody-content .ultimate-store-kit-admin-root .grid-cols-\[minmax\(0\2c 1fr\)_400px\]{grid-template-columns:minmax(0,1fr) 400px}#wpbody-content .ultimate-store-kit-admin-root .grid-cols-\[repeat\(auto-fit\2c minmax\(420px\2c 1fr\)\)\]{grid-template-columns:repeat(auto-fit,minmax(420px,1fr))}#wpbody-content .ultimate-store-kit-admin-root .flex-col{flex-direction:column}#wpbody-content .ultimate-store-kit-admin-root .flex-wrap{flex-wrap:wrap}#wpbody-content .ultimate-store-kit-admin-root .flex-nowrap{flex-wrap:nowrap}#wpbody-content .ultimate-store-kit-admin-root .place-items-center{place-items:center}#wpbody-content .ultimate-store-kit-admin-root .items-start{align-items:flex-start}#wpbody-content .ultimate-store-kit-admin-root .items-end{align-items:flex-end}#wpbody-content .ultimate-store-kit-admin-root .items-center{align-items:center}#wpbody-content .ultimate-store-kit-admin-root .items-stretch{align-items:stretch}#wpbody-content .ultimate-store-kit-admin-root .justify-start{justify-content:flex-start}#wpbody-content .ultimate-store-kit-admin-root .justify-end{justify-content:flex-end}#wpbody-content .ultimate-store-kit-admin-root .justify-center{justify-content:center}#wpbody-content .ultimate-store-kit-admin-root .justify-between{justify-content:space-between}#wpbody-content .ultimate-store-kit-admin-root .gap-1{gap:0.25rem}#wpbody-content .ultimate-store-kit-admin-root .gap-1\.5{gap:0.375rem}#wpbody-content .ultimate-store-kit-admin-root .gap-2{gap:0.5rem}#wpbody-content .ultimate-store-kit-admin-root .gap-2\.5{gap:0.625rem}#wpbody-content .ultimate-store-kit-admin-root .gap-3{gap:0.75rem}#wpbody-content .ultimate-store-kit-admin-root .gap-4{gap:1rem}#wpbody-content .ultimate-store-kit-admin-root .gap-5{gap:1.25rem}#wpbody-content .ultimate-store-kit-admin-root .gap-\[10px\]{gap:10px}#wpbody-content .ultimate-store-kit-admin-root .gap-\[14px\]{gap:14px}#wpbody-content .ultimate-store-kit-admin-root .gap-\[6px\]{gap:6px}#wpbody-content .ultimate-store-kit-admin-root .gap-\[7px\]{gap:7px}#wpbody-content .ultimate-store-kit-admin-root .gap-px{gap:1px}#wpbody-content .ultimate-store-kit-admin-root .gap-x-2\.5{-moz-column-gap:0.625rem;column-gap:0.625rem}#wpbody-content .ultimate-store-kit-admin-root .gap-x-4{-moz-column-gap:1rem;column-gap:1rem}#wpbody-content .ultimate-store-kit-admin-root .gap-y-1{row-gap:0.25rem}#wpbody-content .ultimate-store-kit-admin-root .gap-y-1\.5{row-gap:0.375rem}#wpbody-content .ultimate-store-kit-admin-root :is(.space-y-5 > :not([hidden]) ~ :not([hidden])){--tw-space-y-reverse:0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}#wpbody-content .ultimate-store-kit-admin-root :is(.space-y-6 > :not([hidden]) ~ :not([hidden])){--tw-space-y-reverse:0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}#wpbody-content .ultimate-store-kit-admin-root .self-start{align-self:flex-start}#wpbody-content .ultimate-store-kit-admin-root .overflow-hidden{overflow:hidden}#wpbody-content .ultimate-store-kit-admin-root .overflow-y-auto{overflow-y:auto}#wpbody-content .ultimate-store-kit-admin-root .truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#wpbody-content .ultimate-store-kit-admin-root .whitespace-nowrap{white-space:nowrap}#wpbody-content .ultimate-store-kit-admin-root .\!rounded-full{border-radius:9999px !important}#wpbody-content .ultimate-store-kit-admin-root .rounded-\[10px\]{border-radius:10px}#wpbody-content .ultimate-store-kit-admin-root .rounded-\[9px\]{border-radius:9px}#wpbody-content .ultimate-store-kit-admin-root .rounded-card{border-radius:18px}#wpbody-content .ultimate-store-kit-admin-root .rounded-full{border-radius:9999px}#wpbody-content .ultimate-store-kit-admin-root .rounded-lg{border-radius:0.5rem}#wpbody-content .ultimate-store-kit-admin-root .rounded-md{border-radius:0.375rem}#wpbody-content .ultimate-store-kit-admin-root .rounded-panel{border-radius:16px}#wpbody-content .ultimate-store-kit-admin-root .rounded-tile{border-radius:11px}#wpbody-content .ultimate-store-kit-admin-root .rounded-usk{border-radius:10px}#wpbody-content .ultimate-store-kit-admin-root .rounded-xl{border-radius:0.75rem}#wpbody-content .ultimate-store-kit-admin-root .rounded-b-card{border-bottom-right-radius:18px;border-bottom-left-radius:18px}#wpbody-content .ultimate-store-kit-admin-root .\!border{border-width:1px !important}#wpbody-content .ultimate-store-kit-admin-root .\!border-0{border-width:0px !important}#wpbody-content .ultimate-store-kit-admin-root .border{border-width:1px}#wpbody-content .ultimate-store-kit-admin-root .border-0{border-width:0px}#wpbody-content .ultimate-store-kit-admin-root .border-\[1\.5px\]{border-width:1.5px}#wpbody-content .ultimate-store-kit-admin-root .border-b{border-bottom-width:1px}#wpbody-content .ultimate-store-kit-admin-root .border-l{border-left-width:1px}#wpbody-content .ultimate-store-kit-admin-root .border-l-\[3px\]{border-left-width:3px}#wpbody-content .ultimate-store-kit-admin-root .border-t{border-top-width:1px}#wpbody-content .ultimate-store-kit-admin-root .\!border-solid{border-style:solid !important}#wpbody-content .ultimate-store-kit-admin-root .border-solid{border-style:solid}#wpbody-content .ultimate-store-kit-admin-root .\!border-\[\#e6e6ea\]{--tw-border-opacity:1 !important;border-color:rgb(230 230 234 / var(--tw-border-opacity, 1)) !important}#wpbody-content .ultimate-store-kit-admin-root .border-\[\#c6f0d4\]{--tw-border-opacity:1;border-color:rgb(198 240 212 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .border-\[\#e2e2e6\]{--tw-border-opacity:1;border-color:rgb(226 226 230 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .border-\[\#e6e6ea\]{--tw-border-opacity:1;border-color:rgb(230 230 234 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .border-\[\#e9e9ed\]{--tw-border-opacity:1;border-color:rgb(233 233 237 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .border-\[\#ececf0\]{--tw-border-opacity:1;border-color:rgb(236 236 240 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .border-\[\#eef0f3\]{--tw-border-opacity:1;border-color:rgb(238 240 243 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .border-\[\#f0f0f3\]{--tw-border-opacity:1;border-color:rgb(240 240 243 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .border-\[\#f3f3f6\]{--tw-border-opacity:1;border-color:rgb(243 243 246 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .border-\[\#fbc8cd\]{--tw-border-opacity:1;border-color:rgb(251 200 205 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .border-\[\#fde2b8\]{--tw-border-opacity:1;border-color:rgb(253 226 184 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .border-\[\#fecaca\]{--tw-border-opacity:1;border-color:rgb(254 202 202 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .border-emerald-200{--tw-border-opacity:1;border-color:rgb(167 243 208 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .border-gray-100{--tw-border-opacity:1;border-color:rgb(243 244 246 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .border-gray-50{--tw-border-opacity:1;border-color:rgb(249 250 251 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .border-indigo-500{--tw-border-opacity:1;border-color:rgb(99 102 241 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .border-orange-500{--tw-border-opacity:1;border-color:rgb(249 115 22 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .border-pink-500{--tw-border-opacity:1;border-color:rgb(236 72 153 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .border-red-200{--tw-border-opacity:1;border-color:rgb(254 202 202 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .border-red-500{--tw-border-opacity:1;border-color:rgb(239 68 68 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .border-slate-100{--tw-border-opacity:1;border-color:rgb(241 245 249 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .border-slate-200{--tw-border-opacity:1;border-color:rgb(226 232 240 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .border-slate-300{--tw-border-opacity:1;border-color:rgb(203 213 225 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .border-teal-500{--tw-border-opacity:1;border-color:rgb(20 184 166 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .border-transparent{border-color:transparent}#wpbody-content .ultimate-store-kit-admin-root .border-uks-brand{--tw-border-opacity:1;border-color:rgb(227 12 29 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .border-uks-brand\/15{border-color:rgb(227 12 29 / 0.15)}#wpbody-content .ultimate-store-kit-admin-root .border-uks-brand\/20{border-color:rgb(227 12 29 / 0.2)}#wpbody-content .ultimate-store-kit-admin-root .border-uks-brand\/30{border-color:rgb(227 12 29 / 0.3)}#wpbody-content .ultimate-store-kit-admin-root .border-violet-500{--tw-border-opacity:1;border-color:rgb(139 92 246 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .border-b-gray-100{--tw-border-opacity:1;border-bottom-color:rgb(243 244 246 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .border-b-gray-200{--tw-border-opacity:1;border-bottom-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .\!bg-\[\#fafbfc\]{--tw-bg-opacity:1 !important;background-color:rgb(250 251 252 / var(--tw-bg-opacity, 1)) !important}#wpbody-content .ultimate-store-kit-admin-root .\!bg-transparent{background-color:transparent !important}#wpbody-content .ultimate-store-kit-admin-root .\!bg-white{--tw-bg-opacity:1 !important;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1)) !important}#wpbody-content .ultimate-store-kit-admin-root .bg-\[\#22c55e\]{--tw-bg-opacity:1;background-color:rgb(34 197 94 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-\[\#a1a1aa\]{--tw-bg-opacity:1;background-color:rgb(161 161 170 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-\[\#e8edf8\]{--tw-bg-opacity:1;background-color:rgb(232 237 248 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-\[\#ecfdf3\]{--tw-bg-opacity:1;background-color:rgb(236 253 243 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-\[\#ecfeff\]{--tw-bg-opacity:1;background-color:rgb(236 254 255 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-\[\#eef0f3\]{--tw-bg-opacity:1;background-color:rgb(238 240 243 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-\[\#eef3ff\]{--tw-bg-opacity:1;background-color:rgb(238 243 255 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-\[\#ef4444\]{--tw-bg-opacity:1;background-color:rgb(239 68 68 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-\[\#f0f0f1\]{--tw-bg-opacity:1;background-color:rgb(240 240 241 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-\[\#f3efff\]{--tw-bg-opacity:1;background-color:rgb(243 239 255 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-\[\#f4f4f5\]{--tw-bg-opacity:1;background-color:rgb(244 244 245 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-\[\#f4f5f7\]{--tw-bg-opacity:1;background-color:rgb(244 245 247 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-\[\#f59e0b\]{--tw-bg-opacity:1;background-color:rgb(245 158 11 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-\[\#fafbfc\]{--tw-bg-opacity:1;background-color:rgb(250 251 252 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-\[\#fef2f2\]{--tw-bg-opacity:1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-\[\#fff1f2\]{--tw-bg-opacity:1;background-color:rgb(255 241 242 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-\[\#fff7ed\]{--tw-bg-opacity:1;background-color:rgb(255 247 237 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-\[\#fffbfb\]{--tw-bg-opacity:1;background-color:rgb(255 251 251 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-\[rgba\(15\2c 17\2c 21\2c \.45\)\]{background-color:rgba(15,17,21,.45)}#wpbody-content .ultimate-store-kit-admin-root .bg-emerald-100{--tw-bg-opacity:1;background-color:rgb(209 250 229 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-indigo-500{--tw-bg-opacity:1;background-color:rgb(99 102 241 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-orange-500{--tw-bg-opacity:1;background-color:rgb(249 115 22 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-pink-500{--tw-bg-opacity:1;background-color:rgb(236 72 153 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-slate-100{--tw-bg-opacity:1;background-color:rgb(241 245 249 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-slate-200{--tw-bg-opacity:1;background-color:rgb(226 232 240 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-slate-300{--tw-bg-opacity:1;background-color:rgb(203 213 225 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-slate-50{--tw-bg-opacity:1;background-color:rgb(248 250 252 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-slate-50\/50{background-color:rgb(248 250 252 / 0.5)}#wpbody-content .ultimate-store-kit-admin-root .bg-slate-50\/70{background-color:rgb(248 250 252 / 0.7)}#wpbody-content .ultimate-store-kit-admin-root .bg-teal-500{--tw-bg-opacity:1;background-color:rgb(20 184 166 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-transparent{background-color:transparent}#wpbody-content .ultimate-store-kit-admin-root .bg-uks-brand{--tw-bg-opacity:1;background-color:rgb(227 12 29 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-uks-brand\/10{background-color:rgb(227 12 29 / 0.1)}#wpbody-content .ultimate-store-kit-admin-root .bg-uks-brand\/\[0\.07\]{background-color:rgb(227 12 29 / 0.07)}#wpbody-content .ultimate-store-kit-admin-root .bg-violet-500{--tw-bg-opacity:1;background-color:rgb(139 92 246 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-white\/10{background-color:rgb(255 255 255 / 0.1)}#wpbody-content .ultimate-store-kit-admin-root .bg-white\/15{background-color:rgb(255 255 255 / 0.15)}#wpbody-content .ultimate-store-kit-admin-root .bg-white\/80{background-color:rgb(255 255 255 / 0.8)}#wpbody-content .ultimate-store-kit-admin-root .bg-\[linear-gradient\(135deg\2c \#3a0a10\2c \#8f0b16_55\%\2c \#e30c1d\)\]{background-image:linear-gradient(135deg,#3a0a10,#8f0b16 55%,#e30c1d)}#wpbody-content .ultimate-store-kit-admin-root .bg-\[linear-gradient\(313deg\2c \#E62A3F_0\%\2c \#00216A_100\%\)\]{background-image:linear-gradient(313deg,#E62A3F 0%,#00216A 100%)}#wpbody-content .ultimate-store-kit-admin-root .bg-gradient-brand{background-image:linear-gradient(135deg, #ff4f57, #E30C1D)}#wpbody-content .ultimate-store-kit-admin-root .bg-gradient-to-br{background-image:linear-gradient(to bottom right, var(--tw-gradient-stops))}#wpbody-content .ultimate-store-kit-admin-root .from-uks-brand\/\[0\.07\]{--tw-gradient-from:rgb(227 12 29 / 0.07) var(--tw-gradient-from-position);--tw-gradient-to:rgb(227 12 29 / 0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}#wpbody-content .ultimate-store-kit-admin-root .to-transparent{--tw-gradient-to:transparent var(--tw-gradient-to-position)}#wpbody-content .ultimate-store-kit-admin-root .object-cover{-o-object-fit:cover;object-fit:cover}#wpbody-content .ultimate-store-kit-admin-root .\!p-0{padding:0px !important}#wpbody-content .ultimate-store-kit-admin-root .p-0{padding:0px}#wpbody-content .ultimate-store-kit-admin-root .p-0\.5{padding:0.125rem}#wpbody-content .ultimate-store-kit-admin-root .p-1{padding:0.25rem}#wpbody-content .ultimate-store-kit-admin-root .p-2{padding:0.5rem}#wpbody-content .ultimate-store-kit-admin-root .p-3{padding:0.75rem}#wpbody-content .ultimate-store-kit-admin-root .p-4{padding:1rem}#wpbody-content .ultimate-store-kit-admin-root .p-5{padding:1.25rem}#wpbody-content .ultimate-store-kit-admin-root .p-6{padding:1.5rem}#wpbody-content .ultimate-store-kit-admin-root .p-8{padding:2rem}#wpbody-content .ultimate-store-kit-admin-root .p-\[18px\]{padding:18px}#wpbody-content .ultimate-store-kit-admin-root .p-\[22px\]{padding:22px}#wpbody-content .ultimate-store-kit-admin-root .\!py-1\.5{padding-top:0.375rem !important;padding-bottom:0.375rem !important}#wpbody-content .ultimate-store-kit-admin-root .\!py-2{padding-top:0.5rem !important;padding-bottom:0.5rem !important}#wpbody-content .ultimate-store-kit-admin-root .px-1{padding-left:0.25rem;padding-right:0.25rem}#wpbody-content .ultimate-store-kit-admin-root .px-1\.5{padding-left:0.375rem;padding-right:0.375rem}#wpbody-content .ultimate-store-kit-admin-root .px-12{padding-left:3rem;padding-right:3rem}#wpbody-content .ultimate-store-kit-admin-root .px-2{padding-left:0.5rem;padding-right:0.5rem}#wpbody-content .ultimate-store-kit-admin-root .px-2\.5{padding-left:0.625rem;padding-right:0.625rem}#wpbody-content .ultimate-store-kit-admin-root .px-3{padding-left:0.75rem;padding-right:0.75rem}#wpbody-content .ultimate-store-kit-admin-root .px-3\.5{padding-left:0.875rem;padding-right:0.875rem}#wpbody-content .ultimate-store-kit-admin-root .px-4{padding-left:1rem;padding-right:1rem}#wpbody-content .ultimate-store-kit-admin-root .px-5{padding-left:1.25rem;padding-right:1.25rem}#wpbody-content .ultimate-store-kit-admin-root .px-6{padding-left:1.5rem;padding-right:1.5rem}#wpbody-content .ultimate-store-kit-admin-root .px-\[14px\]{padding-left:14px;padding-right:14px}#wpbody-content .ultimate-store-kit-admin-root .px-\[15px\]{padding-left:15px;padding-right:15px}#wpbody-content .ultimate-store-kit-admin-root .px-\[17px\]{padding-left:17px;padding-right:17px}#wpbody-content .ultimate-store-kit-admin-root .px-\[18px\]{padding-left:18px;padding-right:18px}#wpbody-content .ultimate-store-kit-admin-root .px-\[22px\]{padding-left:22px;padding-right:22px}#wpbody-content .ultimate-store-kit-admin-root .px-\[26px\]{padding-left:26px;padding-right:26px}#wpbody-content .ultimate-store-kit-admin-root .px-\[6px\]{padding-left:6px;padding-right:6px}#wpbody-content .ultimate-store-kit-admin-root .px-\[7px\]{padding-left:7px;padding-right:7px}#wpbody-content .ultimate-store-kit-admin-root .py-0\.5{padding-top:0.125rem;padding-bottom:0.125rem}#wpbody-content .ultimate-store-kit-admin-root .py-1{padding-top:0.25rem;padding-bottom:0.25rem}#wpbody-content .ultimate-store-kit-admin-root .py-1\.5{padding-top:0.375rem;padding-bottom:0.375rem}#wpbody-content .ultimate-store-kit-admin-root .py-14{padding-top:3.5rem;padding-bottom:3.5rem}#wpbody-content .ultimate-store-kit-admin-root .py-16{padding-top:4rem;padding-bottom:4rem}#wpbody-content .ultimate-store-kit-admin-root .py-2{padding-top:0.5rem;padding-bottom:0.5rem}#wpbody-content .ultimate-store-kit-admin-root .py-2\.5{padding-top:0.625rem;padding-bottom:0.625rem}#wpbody-content .ultimate-store-kit-admin-root .py-3{padding-top:0.75rem;padding-bottom:0.75rem}#wpbody-content .ultimate-store-kit-admin-root .py-3\.5{padding-top:0.875rem;padding-bottom:0.875rem}#wpbody-content .ultimate-store-kit-admin-root .py-4{padding-top:1rem;padding-bottom:1rem}#wpbody-content .ultimate-store-kit-admin-root .py-5{padding-top:1.25rem;padding-bottom:1.25rem}#wpbody-content .ultimate-store-kit-admin-root .py-6{padding-top:1.5rem;padding-bottom:1.5rem}#wpbody-content .ultimate-store-kit-admin-root .py-\[10px\]{padding-top:10px;padding-bottom:10px}#wpbody-content .ultimate-store-kit-admin-root .py-\[11px\]{padding-top:11px;padding-bottom:11px}#wpbody-content .ultimate-store-kit-admin-root .py-\[14px\]{padding-top:14px;padding-bottom:14px}#wpbody-content .ultimate-store-kit-admin-root .py-\[18px\]{padding-top:18px;padding-bottom:18px}#wpbody-content .ultimate-store-kit-admin-root .py-\[3px\]{padding-top:3px;padding-bottom:3px}#wpbody-content .ultimate-store-kit-admin-root .py-\[7px\]{padding-top:7px;padding-bottom:7px}#wpbody-content .ultimate-store-kit-admin-root .py-\[9px\]{padding-top:9px;padding-bottom:9px}#wpbody-content .ultimate-store-kit-admin-root .\!pl-3{padding-left:0.75rem !important}#wpbody-content .ultimate-store-kit-admin-root .\!pl-9{padding-left:2.25rem !important}#wpbody-content .ultimate-store-kit-admin-root .\!pr-3{padding-right:0.75rem !important}#wpbody-content .ultimate-store-kit-admin-root .\!pr-8{padding-right:2rem !important}#wpbody-content .ultimate-store-kit-admin-root .pb-20{padding-bottom:5rem}#wpbody-content .ultimate-store-kit-admin-root .pb-4{padding-bottom:1rem}#wpbody-content .ultimate-store-kit-admin-root .pb-\[60px\]{padding-bottom:60px}#wpbody-content .ultimate-store-kit-admin-root .pl-5{padding-left:1.25rem}#wpbody-content .ultimate-store-kit-admin-root .pl-\[14px\]{padding-left:14px}#wpbody-content .ultimate-store-kit-admin-root .pr-2{padding-right:0.5rem}#wpbody-content .ultimate-store-kit-admin-root .pr-\[9px\]{padding-right:9px}#wpbody-content .ultimate-store-kit-admin-root .pt-1{padding-top:0.25rem}#wpbody-content .ultimate-store-kit-admin-root .pt-3{padding-top:0.75rem}#wpbody-content .ultimate-store-kit-admin-root .pt-4{padding-top:1rem}#wpbody-content .ultimate-store-kit-admin-root .pt-\[12vh\]{padding-top:12vh}#wpbody-content .ultimate-store-kit-admin-root .pt-\[18px\]{padding-top:18px}#wpbody-content .ultimate-store-kit-admin-root .pt-\[30px\]{padding-top:30px}#wpbody-content .ultimate-store-kit-admin-root .text-left{text-align:left}#wpbody-content .ultimate-store-kit-admin-root .text-center{text-align:center}#wpbody-content .ultimate-store-kit-admin-root .align-middle{vertical-align:middle}#wpbody-content .ultimate-store-kit-admin-root .font-mono{font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace}#wpbody-content .ultimate-store-kit-admin-root .font-sans{font-family:"IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, sans-serif}#wpbody-content .ultimate-store-kit-admin-root .text-\[10px\]{font-size:10px}#wpbody-content .ultimate-store-kit-admin-root .text-\[11\.5px\]{font-size:11.5px}#wpbody-content .ultimate-store-kit-admin-root .text-\[11px\]{font-size:11px}#wpbody-content .ultimate-store-kit-admin-root .text-\[12\.5px\]{font-size:12.5px}#wpbody-content .ultimate-store-kit-admin-root .text-\[12px\]{font-size:12px}#wpbody-content .ultimate-store-kit-admin-root .text-\[13\.5px\]{font-size:13.5px}#wpbody-content .ultimate-store-kit-admin-root .text-\[13px\]{font-size:13px}#wpbody-content .ultimate-store-kit-admin-root .text-\[14px\]{font-size:14px}#wpbody-content .ultimate-store-kit-admin-root .text-\[15px\]{font-size:15px}#wpbody-content .ultimate-store-kit-admin-root .text-\[16px\]{font-size:16px}#wpbody-content .ultimate-store-kit-admin-root .text-\[18px\]{font-size:18px}#wpbody-content .ultimate-store-kit-admin-root .text-\[19px\]{font-size:19px}#wpbody-content .ultimate-store-kit-admin-root .text-\[20px\]{font-size:20px}#wpbody-content .ultimate-store-kit-admin-root .text-\[22px\]{font-size:22px}#wpbody-content .ultimate-store-kit-admin-root .text-\[26px\]{font-size:26px}#wpbody-content .ultimate-store-kit-admin-root .text-\[28px\]{font-size:28px}#wpbody-content .ultimate-store-kit-admin-root .text-\[34px\]{font-size:34px}#wpbody-content .ultimate-store-kit-admin-root .text-\[9\.5px\]{font-size:9.5px}#wpbody-content .ultimate-store-kit-admin-root .text-base{font-size:1rem;line-height:1.5rem}#wpbody-content .ultimate-store-kit-admin-root .text-lg{font-size:1.125rem;line-height:1.75rem}#wpbody-content .ultimate-store-kit-admin-root .text-sm{font-size:0.875rem;line-height:1.25rem}#wpbody-content .ultimate-store-kit-admin-root .text-xl{font-size:1.25rem;line-height:1.75rem}#wpbody-content .ultimate-store-kit-admin-root .text-xs{font-size:0.75rem;line-height:1rem}#wpbody-content .ultimate-store-kit-admin-root .font-black{font-weight:900}#wpbody-content .ultimate-store-kit-admin-root .font-bold{font-weight:700}#wpbody-content .ultimate-store-kit-admin-root .font-extrabold{font-weight:800}#wpbody-content .ultimate-store-kit-admin-root .font-medium{font-weight:500}#wpbody-content .ultimate-store-kit-admin-root .font-semibold{font-weight:600}#wpbody-content .ultimate-store-kit-admin-root .uppercase{text-transform:uppercase}#wpbody-content .ultimate-store-kit-admin-root .leading-none{line-height:1}#wpbody-content .ultimate-store-kit-admin-root .leading-relaxed{line-height:1.625}#wpbody-content .ultimate-store-kit-admin-root .leading-snug{line-height:1.375}#wpbody-content .ultimate-store-kit-admin-root .tracking-\[-\.01em\]{letter-spacing:-.01em}#wpbody-content .ultimate-store-kit-admin-root .tracking-\[-\.02em\]{letter-spacing:-.02em}#wpbody-content .ultimate-store-kit-admin-root .tracking-\[-\.03em\]{letter-spacing:-.03em}#wpbody-content .ultimate-store-kit-admin-root .tracking-\[\.06em\]{letter-spacing:.06em}#wpbody-content .ultimate-store-kit-admin-root .tracking-\[\.08em\]{letter-spacing:.08em}#wpbody-content .ultimate-store-kit-admin-root .tracking-tight{letter-spacing:-0.025em}#wpbody-content .ultimate-store-kit-admin-root .tracking-wide{letter-spacing:0.025em}#wpbody-content .ultimate-store-kit-admin-root .tracking-wider{letter-spacing:0.05em}#wpbody-content .ultimate-store-kit-admin-root .tracking-widest{letter-spacing:0.1em}#wpbody-content .ultimate-store-kit-admin-root .\!text-\[\#3f3f46\]{--tw-text-opacity:1 !important;color:rgb(63 63 70 / var(--tw-text-opacity, 1)) !important}#wpbody-content .ultimate-store-kit-admin-root .\!text-\[\#b45309\]{--tw-text-opacity:1 !important;color:rgb(180 83 9 / var(--tw-text-opacity, 1)) !important}#wpbody-content .ultimate-store-kit-admin-root .text-\[\#00216A\]{--tw-text-opacity:1;color:rgb(0 33 106 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-\[\#0e9488\]{--tw-text-opacity:1;color:rgb(14 148 136 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-\[\#0f1115\]{--tw-text-opacity:1;color:rgb(15 17 21 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-\[\#15803d\]{--tw-text-opacity:1;color:rgb(21 128 61 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-\[\#16a34a\]{--tw-text-opacity:1;color:rgb(22 163 74 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-\[\#1d2327\]{--tw-text-opacity:1;color:rgb(29 35 39 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-\[\#27272a\]{--tw-text-opacity:1;color:rgb(39 39 42 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-\[\#2f5bea\]{--tw-text-opacity:1;color:rgb(47 91 234 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-\[\#3f3f46\]{--tw-text-opacity:1;color:rgb(63 63 70 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-\[\#52525b\]{--tw-text-opacity:1;color:rgb(82 82 91 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-\[\#6c6c75\]{--tw-text-opacity:1;color:rgb(108 108 117 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-\[\#6d6d74\]{--tw-text-opacity:1;color:rgb(109 109 116 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-\[\#7c3aed\]{--tw-text-opacity:1;color:rgb(124 58 237 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-\[\#8a8a93\]{--tw-text-opacity:1;color:rgb(138 138 147 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-\[\#991b1b\]{--tw-text-opacity:1;color:rgb(153 27 27 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-\[\#a1a1aa\]{--tw-text-opacity:1;color:rgb(161 161 170 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-\[\#b45309\]{--tw-text-opacity:1;color:rgb(180 83 9 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-\[\#b91c1c\]{--tw-text-opacity:1;color:rgb(185 28 28 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-\[\#be123c\]{--tw-text-opacity:1;color:rgb(190 18 60 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-\[\#d97706\]{--tw-text-opacity:1;color:rgb(217 119 6 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-\[\#e11d48\]{--tw-text-opacity:1;color:rgb(225 29 72 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-\[\#e30c1d\]{--tw-text-opacity:1;color:rgb(227 12 29 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-emerald-500{--tw-text-opacity:1;color:rgb(16 185 129 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-emerald-600{--tw-text-opacity:1;color:rgb(5 150 105 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-emerald-800{--tw-text-opacity:1;color:rgb(6 95 70 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-inherit{color:inherit}#wpbody-content .ultimate-store-kit-admin-root .text-red-500{--tw-text-opacity:1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-red-900{--tw-text-opacity:1;color:rgb(127 29 29 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-slate-300{--tw-text-opacity:1;color:rgb(203 213 225 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-slate-400{--tw-text-opacity:1;color:rgb(148 163 184 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-slate-500{--tw-text-opacity:1;color:rgb(100 116 139 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-slate-600{--tw-text-opacity:1;color:rgb(71 85 105 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-slate-700{--tw-text-opacity:1;color:rgb(51 65 85 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-slate-800{--tw-text-opacity:1;color:rgb(30 41 59 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-slate-900{--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-uks-brand{--tw-text-opacity:1;color:rgb(227 12 29 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-white{--tw-text-opacity:1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-white\/80{color:rgb(255 255 255 / 0.8)}#wpbody-content .ultimate-store-kit-admin-root .text-white\/90{color:rgb(255 255 255 / 0.9)}#wpbody-content .ultimate-store-kit-admin-root .no-underline{text-decoration-line:none}#wpbody-content .ultimate-store-kit-admin-root .opacity-60{opacity:0.6}#wpbody-content .ultimate-store-kit-admin-root .opacity-70{opacity:0.7}#wpbody-content .ultimate-store-kit-admin-root .opacity-80{opacity:0.8}#wpbody-content .ultimate-store-kit-admin-root .\!shadow-none{--tw-shadow:0 0 #0000 !important;--tw-shadow-colored:0 0 #0000 !important;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) !important}#wpbody-content .ultimate-store-kit-admin-root .shadow-\[0_0_0_3px_rgba\(34\2c 197\2c 94\2c \.2\)\]{--tw-shadow:0 0 0 3px rgba(34,197,94,.2);--tw-shadow-colored:0 0 0 3px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}#wpbody-content .ultimate-store-kit-admin-root .shadow-\[0_1px_3px_rgba\(0\2c 0\2c 0\2c \.12\)\]{--tw-shadow:0 1px 3px rgba(0,0,0,.12);--tw-shadow-colored:0 1px 3px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}#wpbody-content .ultimate-store-kit-admin-root .shadow-glow{--tw-shadow:0 6px 18px rgba(227, 12, 29, 0.28);--tw-shadow-colored:0 6px 18px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}#wpbody-content .ultimate-store-kit-admin-root .shadow-pop{--tw-shadow:0 24px 60px -16px rgba(0, 0, 0, 0.32);--tw-shadow-colored:0 24px 60px -16px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}#wpbody-content .ultimate-store-kit-admin-root .shadow-sm{--tw-shadow:0 1px 2px 0 rgb(0 0 0 / 0.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}#wpbody-content .ultimate-store-kit-admin-root .\!outline-none{outline:2px solid transparent !important;outline-offset:2px !important}#wpbody-content .ultimate-store-kit-admin-root .filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}#wpbody-content .ultimate-store-kit-admin-root .transition{transition-property:color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}#wpbody-content .ultimate-store-kit-admin-root .transition-\[width\]{transition-property:width;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}#wpbody-content .ultimate-store-kit-admin-root .transition-all{transition-property:all;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}#wpbody-content .ultimate-store-kit-admin-root .transition-colors{transition-property:color, background-color, border-color, text-decoration-color, fill, stroke;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}#wpbody-content .ultimate-store-kit-admin-root .transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}#wpbody-content .ultimate-store-kit-admin-root .transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}#wpbody-content .ultimate-store-kit-admin-root .duration-200{transition-duration:200ms}#wpbody-content .ultimate-store-kit-admin-root .duration-500{transition-duration:500ms}#wpbody-content .ultimate-store-kit-admin-root .ease-in-out{transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1)}@font-face{font-family:"IBM Plex Sans";src:url("../../includes/Admin/assets/fonts/IBMPlexSans-Variable.woff2") format("woff2-variations"),url("../../includes/Admin/assets/fonts/IBMPlexSans-Variable.woff2") format("woff2");font-weight:100 700;font-style:normal;font-display:swap}.ultimate-store-kit-admin-root .usk-app{font-family:"IBM Plex Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,sans-serif;-webkit-font-smoothing:antialiased}.ultimate-store-kit-admin-root .usk-app :is(h1,h2,h3,h4,button,input,select,textarea){font-family:inherit}.ultimate-store-kit-admin-root a:focus,.ultimate-store-kit-admin-root button:focus{box-shadow:none}.ultimate-store-kit-admin-root a:focus-visible,.ultimate-store-kit-admin-root button:focus-visible{outline:2px solid #e30c1d;outline-offset:2px}.usk-tabstrip-scroll{scrollbar-width:none}.usk-tabstrip-scroll::-webkit-scrollbar{display:none}.usk-toast-wrap{position:fixed;top:40px;left:50%;transform:translateX(-50%);z-index:99999;pointer-events:none;display:flex;justify-content:center;width:auto;max-width:480px}.usk-toast{pointer-events:auto;display:flex;align-items:center;gap:10px;padding:10px 18px;border-radius:10px;font-size:13px;font-weight:600;box-shadow:0 8px 24px rgba(0,0,0,.12);animation:usk-toast-in .35s cubic-bezier(0.21, 1.02, 0.73, 1) forwards;white-space:nowrap}.usk-toast--success{background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0}.usk-toast--error{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}.usk-toast__close{cursor:pointer;border:0;background:rgba(0,0,0,0);color:inherit;font-size:16px;line-height:1;padding:0 0 0 6px;opacity:.6;transition:opacity .15s}.usk-toast__close:hover{opacity:1}@keyframes usk-toast-in{0%{opacity:0;transform:translateY(-14px) scale(0.96)}100%{opacity:1;transform:translateY(0) scale(1)}}#wpbody-content .ultimate-store-kit-admin-root .placeholder\:text-slate-400::-moz-placeholder{--tw-text-opacity:1;color:rgb(148 163 184 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .placeholder\:text-slate-400::placeholder{--tw-text-opacity:1;color:rgb(148 163 184 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .last\:border-b-0:last-child{border-bottom-width:0px}#wpbody-content .ultimate-store-kit-admin-root .last\:pb-0:last-child{padding-bottom:0px}#wpbody-content .ultimate-store-kit-admin-root .hover\:-translate-y-\[2px\]:hover{--tw-translate-y:-2px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}#wpbody-content .ultimate-store-kit-admin-root .hover\:-translate-y-\[3px\]:hover{--tw-translate-y:-3px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}#wpbody-content .ultimate-store-kit-admin-root .hover\:-translate-y-px:hover{--tw-translate-y:-1px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}#wpbody-content .ultimate-store-kit-admin-root .hover\:border-\[\#d4d4dc\]:hover{--tw-border-opacity:1;border-color:rgb(212 212 220 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .hover\:border-\[\#e30c1d\]:hover{--tw-border-opacity:1;border-color:rgb(227 12 29 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .hover\:border-\[\#fbc8cd\]:hover{--tw-border-opacity:1;border-color:rgb(251 200 205 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .hover\:border-slate-300:hover{--tw-border-opacity:1;border-color:rgb(203 213 225 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .hover\:border-uks-brand\/25:hover{border-color:rgb(227 12 29 / 0.25)}#wpbody-content .ultimate-store-kit-admin-root .hover\:bg-\[\#f3f5f8\]:hover{--tw-bg-opacity:1;background-color:rgb(243 245 248 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .hover\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .hover\:bg-red-500:hover{--tw-bg-opacity:1;background-color:rgb(239 68 68 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .hover\:bg-slate-50:hover{--tw-bg-opacity:1;background-color:rgb(248 250 252 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .hover\:bg-uks-brand:hover{--tw-bg-opacity:1;background-color:rgb(227 12 29 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .hover\:bg-uks-brand-dark:hover{--tw-bg-opacity:1;background-color:rgb(184 10 23 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .hover\:text-\[\#0f1115\]:hover{--tw-text-opacity:1;color:rgb(15 17 21 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .hover\:text-\[\#18181b\]:hover{--tw-text-opacity:1;color:rgb(24 24 27 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .hover\:text-\[\#e30c1d\]:hover{--tw-text-opacity:1;color:rgb(227 12 29 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .hover\:text-gray-800:hover{--tw-text-opacity:1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .hover\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .hover\:underline:hover{text-decoration-line:underline}#wpbody-content .ultimate-store-kit-admin-root .hover\:opacity-90:hover{opacity:0.9}#wpbody-content .ultimate-store-kit-admin-root .hover\:shadow-glow-lg:hover{--tw-shadow:0 8px 24px rgba(227, 12, 29, 0.38);--tw-shadow-colored:0 8px 24px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}#wpbody-content .ultimate-store-kit-admin-root .hover\:shadow-lift:hover{--tw-shadow:0 12px 26px -14px rgba(0, 0, 0, 0.22);--tw-shadow-colored:0 12px 26px -14px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}#wpbody-content .ultimate-store-kit-admin-root .focus\:\!border-\[\#e30c1d\]:focus{--tw-border-opacity:1 !important;border-color:rgb(227 12 29 / var(--tw-border-opacity, 1)) !important}#wpbody-content .ultimate-store-kit-admin-root .focus\:border-uks-brand:focus{--tw-border-opacity:1;border-color:rgb(227 12 29 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}#wpbody-content .ultimate-store-kit-admin-root .focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}#wpbody-content .ultimate-store-kit-admin-root .focus\:ring-uks-brand:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(227 12 29 / var(--tw-ring-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .disabled\:cursor-not-allowed:disabled{cursor:not-allowed}#wpbody-content .ultimate-store-kit-admin-root .disabled\:cursor-wait:disabled{cursor:wait}#wpbody-content .ultimate-store-kit-admin-root .disabled\:opacity-50:disabled{opacity:0.5}#wpbody-content .ultimate-store-kit-admin-root .disabled\:opacity-60:disabled{opacity:0.6}#wpbody-content .ultimate-store-kit-admin-root .disabled\:opacity-70:disabled{opacity:0.7}#wpbody-content .ultimate-store-kit-admin-root :is(.group:hover .group-hover\:translate-x-0\.5){--tw-translate-x:0.125rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}#wpbody-content .ultimate-store-kit-admin-root :is(.group:hover .group-hover\:bg-uks-brand\/15){background-color:rgb(227 12 29 / 0.15)}#wpbody-content .ultimate-store-kit-admin-root :is(.peer:checked ~ .peer-checked\:translate-x-\[18px\]){--tw-translate-x:18px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}#wpbody-content .ultimate-store-kit-admin-root :is(.peer:checked ~ .peer-checked\:bg-uks-brand){--tw-bg-opacity:1;background-color:rgb(227 12 29 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root :is(.peer:disabled ~ .peer-disabled\:opacity-50){opacity:0.5}@media (max-width: 1180px){#wpbody-content .ultimate-store-kit-admin-root .max-\[1180px\]\:grid-cols-1{grid-template-columns:repeat(1, minmax(0, 1fr))}#wpbody-content .ultimate-store-kit-admin-root .max-\[1180px\]\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}}@media not all and (min-width: 1024px){#wpbody-content .ultimate-store-kit-admin-root .max-lg\:hidden{display:none}}@media (max-width: 1024px){#wpbody-content .ultimate-store-kit-admin-root .max-\[1024px\]\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}#wpbody-content .ultimate-store-kit-admin-root .max-\[1024px\]\:px-7{padding-left:1.75rem;padding-right:1.75rem}#wpbody-content .ultimate-store-kit-admin-root .max-\[1024px\]\:pt-6{padding-top:1.5rem}}@media (max-width: 900px){#wpbody-content .ultimate-store-kit-admin-root .max-\[900px\]\:grid-cols-1{grid-template-columns:repeat(1, minmax(0, 1fr))}#wpbody-content .ultimate-store-kit-admin-root .max-\[900px\]\:gap-3{gap:0.75rem}#wpbody-content .ultimate-store-kit-admin-root .max-\[900px\]\:px-\[15px\]{padding-left:15px;padding-right:15px}#wpbody-content .ultimate-store-kit-admin-root .max-\[900px\]\:py-\[13px\]{padding-top:13px;padding-bottom:13px}}@media not all and (min-width: 768px){#wpbody-content .ultimate-store-kit-admin-root .max-md\:hidden{display:none}}@media (max-width: 760px){#wpbody-content .ultimate-store-kit-admin-root .max-\[760px\]\:grid-cols-1{grid-template-columns:repeat(1, minmax(0, 1fr))}#wpbody-content .ultimate-store-kit-admin-root .max-\[760px\]\:border-0{border-width:0px}#wpbody-content .ultimate-store-kit-admin-root .max-\[760px\]\:border-l-0{border-left-width:0px}#wpbody-content .ultimate-store-kit-admin-root .max-\[760px\]\:border-t{border-top-width:1px}#wpbody-content .ultimate-store-kit-admin-root .max-\[760px\]\:border-solid{border-style:solid}#wpbody-content .ultimate-store-kit-admin-root .max-\[760px\]\:border-\[\#eef0f3\]{--tw-border-opacity:1;border-color:rgb(238 240 243 / var(--tw-border-opacity, 1))}}@media (max-width: 720px){#wpbody-content .ultimate-store-kit-admin-root .max-\[720px\]\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}}@media (max-width: 700px){#wpbody-content .ultimate-store-kit-admin-root .max-\[700px\]\:grid-cols-1{grid-template-columns:repeat(1, minmax(0, 1fr))}}@media (max-width: 640px){#wpbody-content .ultimate-store-kit-admin-root .max-\[640px\]\:hidden{display:none}#wpbody-content .ultimate-store-kit-admin-root .max-\[640px\]\:grid-cols-1{grid-template-columns:repeat(1, minmax(0, 1fr))}#wpbody-content .ultimate-store-kit-admin-root .max-\[640px\]\:px-0{padding-left:0px;padding-right:0px}#wpbody-content .ultimate-store-kit-admin-root .max-\[640px\]\:px-\[15px\]{padding-left:15px;padding-right:15px}#wpbody-content .ultimate-store-kit-admin-root .max-\[640px\]\:pt-4{padding-top:1rem}}@media (max-width: 560px){#wpbody-content .ultimate-store-kit-admin-root .max-\[560px\]\:grid-cols-1{grid-template-columns:repeat(1, minmax(0, 1fr))}}@media (max-width: 480px){#wpbody-content .ultimate-store-kit-admin-root .max-\[480px\]\:text-\[16px\]{font-size:16px}}@media (max-width: 440px){#wpbody-content .ultimate-store-kit-admin-root .max-\[440px\]\:grid-cols-1{grid-template-columns:repeat(1, minmax(0, 1fr))}}@media (min-width: 640px){#wpbody-content .ultimate-store-kit-admin-root .sm\:mb-4{margin-bottom:1rem}#wpbody-content .ultimate-store-kit-admin-root .sm\:inline-block{display:inline-block}#wpbody-content .ultimate-store-kit-admin-root .sm\:h-12{height:3rem}#wpbody-content .ultimate-store-kit-admin-root .sm\:w-12{width:3rem}#wpbody-content .ultimate-store-kit-admin-root .sm\:w-28{width:7rem}#wpbody-content .ultimate-store-kit-admin-root .sm\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}#wpbody-content .ultimate-store-kit-admin-root .sm\:grid-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr))}#wpbody-content .ultimate-store-kit-admin-root .sm\:flex-row{flex-direction:row}#wpbody-content .ultimate-store-kit-admin-root .sm\:items-center{align-items:center}#wpbody-content .ultimate-store-kit-admin-root .sm\:justify-between{justify-content:space-between}#wpbody-content .ultimate-store-kit-admin-root .sm\:gap-1\.5{gap:0.375rem}#wpbody-content .ultimate-store-kit-admin-root .sm\:gap-2\.5{gap:0.625rem}#wpbody-content .ultimate-store-kit-admin-root .sm\:p-10{padding:2.5rem}#wpbody-content .ultimate-store-kit-admin-root .sm\:p-5{padding:1.25rem}#wpbody-content .ultimate-store-kit-admin-root .sm\:px-10{padding-left:2.5rem;padding-right:2.5rem}#wpbody-content .ultimate-store-kit-admin-root .sm\:px-5{padding-left:1.25rem;padding-right:1.25rem}#wpbody-content .ultimate-store-kit-admin-root .sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}#wpbody-content .ultimate-store-kit-admin-root .sm\:py-20{padding-top:5rem;padding-bottom:5rem}#wpbody-content .ultimate-store-kit-admin-root .sm\:py-3\.5{padding-top:0.875rem;padding-bottom:0.875rem}#wpbody-content .ultimate-store-kit-admin-root .sm\:py-6{padding-top:1.5rem;padding-bottom:1.5rem}#wpbody-content .ultimate-store-kit-admin-root .sm\:pl-2{padding-left:0.5rem}#wpbody-content .ultimate-store-kit-admin-root .sm\:text-left{text-align:left}#wpbody-content .ultimate-store-kit-admin-root .sm\:text-\[11px\]{font-size:11px}#wpbody-content .ultimate-store-kit-admin-root .sm\:text-\[12px\]{font-size:12px}#wpbody-content .ultimate-store-kit-admin-root .sm\:text-\[13px\]{font-size:13px}}@media (min-width: 1024px){#wpbody-content .ultimate-store-kit-admin-root .lg\:w-36{width:9rem}#wpbody-content .ultimate-store-kit-admin-root .lg\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}#wpbody-content .ultimate-store-kit-admin-root .lg\:grid-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr))}#wpbody-content .ultimate-store-kit-admin-root .lg\:grid-cols-4{grid-template-columns:repeat(4, minmax(0, 1fr))}#wpbody-content .ultimate-store-kit-admin-root .lg\:p-6{padding:1.5rem}}@media (min-width: 1280px){#wpbody-content .ultimate-store-kit-admin-root .xl\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}#wpbody-content .ultimate-store-kit-admin-root .xl\:grid-cols-4{grid-template-columns:repeat(4, minmax(0, 1fr))}}@media (min-width: 1536px){#wpbody-content .ultimate-store-kit-admin-root .\32xl\:grid-cols-4{grid-template-columns:repeat(4, minmax(0, 1fr))}}#wpbody-content .ultimate-store-kit-admin-root :is(.\[\&_svg\]\:h-5 svg){height:1.25rem}#wpbody-content .ultimate-store-kit-admin-root :is(.\[\&_svg\]\:w-5 svg){width:1.25rem}
  • ultimate-store-kit/tags/4.1.0/includes/API/Settings.php

    r3504294 r3790891  
    3838                'callback' => [$this, 'save_settings'],
    3939            ],
     40            [
     41                'path'     => '/optimization/regenerate',
     42                'methods'  => 'POST',
     43                'callback' => [$this, 'regenerate_combined_assets'],
     44            ],
    4045        ];
    4146    }
    … …  
    6065
    6166        $sanitized = $this->sanitize_settings($settings);
     67
     68        // ultimate_store_kit_other_settings is shared: every module page keeps its
     69        // switch there, and Pro switches modules through its own route. A page
     70        // posts only what it knows, so merge instead of replacing, or saving one
     71        // page would switch off modules turned on elsewhere since it loaded.
     72        if ('ultimate_store_kit_other_settings' === $section) {
     73            $stored    = get_option($section, []);
     74            $sanitized = array_merge(is_array($stored) ? $stored : [], $sanitized);
     75        }
     76
    6277        update_option($section, $sanitized);
    6378
    6479        return $this->success(['message' => __('Settings saved successfully.', 'ultimate-store-kit')]);
    6580    }
     81
     82    /**
     83     * Delete the combined asset files; pages rebuild them on their next view.
     84     */
     85    public function regenerate_combined_assets(\WP_REST_Request $request) {
     86        if (class_exists('\UltimateStoreKit\Includes\Asset_Combiner')) {
     87            \UltimateStoreKit\Includes\Asset_Combiner::flush();
     88        }
     89
     90        return $this->success([
     91            'message' => __('Combined files cleared. Pages rebuild them on their next visit.', 'ultimate-store-kit'),
     92            'stats'   => class_exists('\UltimateStoreKit\Includes\Asset_Combiner') ? \UltimateStoreKit\Includes\Asset_Combiner::stats() : null,
     93        ]);
     94    }
    6695}
  • ultimate-store-kit/tags/4.1.0/includes/Admin/Dashboard.php

    r3757742 r3790891  
    177177                'adminUrl' => admin_url(),
    178178                'licenseData' => apply_filters('ultimate_store_kit_license_data', []),
     179                'userName' => wp_get_current_user()->display_name,
     180                'templateBuilderUrl' => admin_url('edit.php?post_type=usk-template-builder'),
     181                'templatesCount' => $this->count_builder_templates(),
     182                'templatesActive' => $this->count_active_builder_templates(),
     183                'system' => $this->get_system_status(),
     184                'releases' => $this->get_recent_releases(),
     185                'assetStats' => class_exists('\UltimateStoreKit\Includes\Asset_Combiner') ? \UltimateStoreKit\Includes\Asset_Combiner::stats() : null,
    179186            ]
    180187        );
     188
     189        // Widget glyphs (usk-icon-*) for the widget cards.
     190        wp_enqueue_style('usk-admin-font', BDTUSK_ASSETS_URL . 'css/font' . (is_rtl() ? '-rtl' : '') . '.css', [], BDTUSK_VER);
    181191
    182192        wp_enqueue_style(
    … …  
    281291    }
    282292
     293    /**
     294     * Published Template Builder templates.
     295     *
     296     * @return int
     297     */
     298    private function count_builder_templates() {
     299        $counts = wp_count_posts('usk-template-builder');
     300
     301        return isset($counts->publish) ? (int) $counts->publish : 0;
     302    }
     303
     304    /**
     305     * Templates in use: one per assigned template type, plus switched-on
     306     * conditional templates.
     307     *
     308     * @return int
     309     */
     310    private function count_active_builder_templates() {
     311        global $wpdb;
     312
     313        // phpcs:disable WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching -- One cheap count for the dashboard.
     314        $assigned = (int) $wpdb->get_var($wpdb->prepare(
     315            "SELECT COUNT(*) FROM {$wpdb->options} WHERE option_name LIKE %s AND option_value <> ''",
     316            $wpdb->esc_like('ultimate_store_kit_template_') . '%'
     317        ));
     318
     319        $conditional = (int) $wpdb->get_var($wpdb->prepare(
     320            "SELECT COUNT(*) FROM {$wpdb->postmeta} pm INNER JOIN {$wpdb->posts} p ON p.ID = pm.post_id WHERE pm.meta_key = %s AND pm.meta_value = '1' AND p.post_status = 'publish'",
     321            '_ultimate_store_kit_template_conditional_active'
     322        ));
     323        // phpcs:enable WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching
     324
     325        return $assigned + $conditional;
     326    }
     327
     328    /**
     329     * Server and plugin checks for the dashboard's System status card.
     330     *
     331     * @return array[] Rows of label, value and status (ok|warn|bad).
     332     */
     333    private function get_system_status() {
     334        $memory      = wp_convert_hr_to_bytes((string) ini_get('memory_limit'));
     335        $max_exec    = (int) ini_get('max_execution_time');
     336        $php_version = PHP_VERSION;
     337
     338        $rows = [
     339            [
     340                'label'  => __('PHP version', 'ultimate-store-kit'),
     341                'value'  => $php_version,
     342                'status' => version_compare($php_version, '7.4', '>=') ? 'ok' : 'bad',
     343            ],
     344            [
     345                'label'  => __('Memory limit', 'ultimate-store-kit'),
     346                'value'  => $memory < 0 ? __('Unlimited', 'ultimate-store-kit') : (string) ini_get('memory_limit'),
     347                'status' => ($memory < 0 || $memory >= 256 * MB_IN_BYTES) ? 'ok' : 'warn',
     348            ],
     349            [
     350                'label'  => __('Max execution time', 'ultimate-store-kit'),
     351                'value'  => 0 === $max_exec ? __('Unlimited', 'ultimate-store-kit') : (string) $max_exec,
     352                'status' => (0 === $max_exec || $max_exec >= 90) ? 'ok' : 'warn',
     353            ],
     354            [
     355                'label'  => __('WooCommerce', 'ultimate-store-kit'),
     356                'value'  => defined('WC_VERSION') ? WC_VERSION : __('Not active', 'ultimate-store-kit'),
     357                'status' => defined('WC_VERSION') ? 'ok' : 'warn',
     358            ],
     359            [
     360                'label'  => __('Elementor', 'ultimate-store-kit'),
     361                'value'  => defined('ELEMENTOR_VERSION') ? ELEMENTOR_VERSION : __('Not active', 'ultimate-store-kit'),
     362                'status' => defined('ELEMENTOR_VERSION') ? 'ok' : 'bad',
     363            ],
     364        ];
     365
     366        return $rows;
     367    }
     368
     369    /**
     370     * The latest releases from readme.txt's changelog, for Recent activity.
     371     *
     372     * @param int $limit Number of releases.
     373     * @return array[] version, date, summary (first entry) and counts of added/fixed/updated entries.
     374     */
     375    private function get_recent_releases($limit = 5) {
     376        $readme = BDTUSK_PATH . 'readme.txt';
     377
     378        if (!is_readable($readme)) {
     379            return [];
     380        }
     381
     382        // phpcs:ignore WordPress.WP.AlternativeFunctions.file_get_contents_file_get_contents -- Local plugin file.
     383        $contents = (string) file_get_contents($readme);
     384        $start    = strpos($contents, '== Changelog ==');
     385
     386        if (false === $start) {
     387            return [];
     388        }
     389
     390        $releases = [];
     391        $current  = null;
     392
     393        foreach (preg_split('/\R/', substr($contents, $start)) as $line) {
     394            $line = trim($line);
     395
     396            if (preg_match('/^=\s*([0-9][0-9.]*)\s*(?:\[([^\]]*)\]|[-–]\s*(.*?))?\s*=$/u', $line, $m)) {
     397                if ($current) {
     398                    $releases[] = $current;
     399                    if (count($releases) >= $limit) {
     400                        $current = null;
     401                        break;
     402                    }
     403                }
     404                $current = [
     405                    'version' => $m[1],
     406                    'date'    => trim(!empty($m[2]) ? $m[2] : (isset($m[3]) ? $m[3] : '')),
     407                    'summary' => '',
     408                    'counts'  => ['added' => 0, 'fixed' => 0, 'updated' => 0],
     409                ];
     410                continue;
     411            }
     412
     413            if ($current && preg_match('/^\*\s*(Added|Fixed|Updated|Tweaked|Improved|Security)\s*:\s*(.+)$/i', $line, $m)) {
     414                $type = strtolower($m[1]);
     415                $type = in_array($type, ['added', 'fixed'], true) ? $type : 'updated';
     416                $current['counts'][$type]++;
     417
     418                if ('' === $current['summary']) {
     419                    $current['summary'] = wp_strip_all_tags($m[2]);
     420                }
     421            }
     422        }
     423
     424        if ($current) {
     425            $releases[] = $current;
     426        }
     427
     428        return array_slice($releases, 0, $limit);
     429    }
     430
    283431    public function get_saved_settings() {
    284432        return [
  • ultimate-store-kit/tags/4.1.0/includes/Admin/ModuleService.php

    r3757742 r3790891  
    538538                ],
    539539                [
     540                    'name'         => 'ajax-search',
     541                    'label'        => esc_html__('Ajax Product Search', 'ultimate-store-kit'),
     542                    'type'         => 'checkbox',
     543                    'default'      => "on",
     544                    'widget_type'  => 'pro',
     545                    'plugin_name'  => 'woocommerce',
     546                    'plugin_path'  => 'woocommerce/woocommerce.php',
     547                    'content_type' => 'woocommerce others new',
     548                    'demo_url'     => '',
     549                    'video_url'    => '',
     550                ],
     551                [
    540552                    'name'         => 'product-image',
    541553                    'label'        => esc_html__('Product Image (Single)', 'ultimate-store-kit'),
    … …  
    824836                    'plugin_path'  => 'woocommerce/woocommerce.php',
    825837                    'content_type' => 'woocommerce others',
    826                     'demo_url'     => 'https://storekit.pro/demo/wishlist-products/',
     838                    'demo_url'     => 'https://storekit.pro/demo/wishlist-product/',
    827839                    'video_url'    => '',
    828840                ],
    … …  
    10441056                    'widget_type'  => 'free',
    10451057                    'content_type' => 'others new',
    1046                     'demo_url'     => 'https://storekit.pro/demo/mobile-menu/',
     1058                    'demo_url'     => '',
    10471059                    'video_url'    => '',
    10481060                ]
    … …  
    11241136                    'plugin_path'  => 'woocommerce/woocommerce.php',
    11251137                    'content_type' => 'woocommerce product',
    1126                     'demo_url'     => 'https://storekit.pro/demo/back-order/',
     1138                    'demo_url'     => '',
    11271139                    'video_url'    => '',
    11281140                    'parent'       => true,
    … …  
    11491161                    'plugin_path'  => 'woocommerce/woocommerce.php',
    11501162                    'content_type' => 'woocommerce product',
    1151                     'demo_url'     => 'https://storekit.pro/demo/pre-order/',
     1163                    'demo_url'     => '',
    11521164                    'video_url'    => '',
    11531165                    'parent'       => true,
  • ultimate-store-kit/tags/4.1.0/includes/builder/builder-cpt.php

    r3757742 r3790891  
    8080                }
    8181
    82                 if ($template = get_post_meta($postId, Meta::TEMPLATE_TYPE, true)) {
     82                // Only release the type's default when it is this template; trashing
     83                // another (or a conditional) template of the type must not unassign it.
     84                if (($template = get_post_meta($postId, Meta::TEMPLATE_TYPE, true)) && (int) Meta::get_template_option($template) === (int) $postId) {
    8385                        Meta::delete_template_option($template);
    8486                }
    … …  
    171173                                break;
    172174                        case 'is_enabled':
     175                                if (Template_Conditions::has_conditions($post_id)) {
     176                                        echo Template_Conditions::is_active($post_id)
     177                                                ? esc_html__('Active', 'ultimate-store-kit')
     178                                                : esc_html__('Inactive', 'ultimate-store-kit');
     179                                        echo '<br><small>' . esc_html(Template_Conditions::describe($post_id)) . '</small>';
     180                                        break;
     181                                }
     182
    173183                                echo Builder_Template_Helper::getTemplateId($templateType) == $post_id
    174184                                        ? esc_html__('Active', 'ultimate-store-kit')
    … …  
    344354                $post_id = wp_insert_post($page_data);
    345355
    346                 if ($isEnabled == 1) {
     356                // A template with display conditions is not the type's default: it is
     357                // switched on and off through its own meta (see Template_Conditions).
     358                $conditions     = isset($data['usk_conditions']) && is_array($data['usk_conditions']) ? $data['usk_conditions'] : [];
     359                $is_conditional = $post_id && ! is_wp_error($post_id) && Template_Conditions::save($post_id, $type, $conditions, 1 == $isEnabled);
     360
     361                if ($is_conditional) {
     362                        // Handled above.
     363                } elseif ($isEnabled == 1) {
    347364                        Meta::update_template_option($type, $post_id);
    348365                } else {
    … …  
    403420                                $templateType    = isset($meta[Meta::TEMPLATE_TYPE][0]) ? $meta[Meta::TEMPLATE_TYPE][0] : '';
    404421                                $enabledTemplate = Meta::get_template_option($templateType);
     422                                $conditions      = Template_Conditions::get($templateData->ID);
     423                                $is_enabled      = $conditions
     424                                        ? Template_Conditions::is_active($templateData->ID)
     425                                        : (int) $enabledTemplate === (int) $templateData->ID;
    405426
    406427                                wp_send_json_success([
    407                                         'id'     => $templateData->ID,
    408                                         'name'   => $templateData->post_title,
    409                                         'type'   => $templateType,
    410                                         'status' => is_numeric($enabledTemplate) ? 1 : 0,
     428                                        'id'         => $templateData->ID,
     429                                        'name'       => $templateData->post_title,
     430                                        'type'       => $templateType,
     431                                        'status'     => $is_enabled ? 1 : 0,
     432                                        'conditions' => (object) $conditions,
     433                                        'products'   => (object) Template_Conditions::selected_products($templateData->ID),
    411434                                ]);
    412435                        }
    … …  
    427450                                wp_enqueue_style('ultimate-store-kit-builder', BDTUSK_ASSETS_URL . 'admin/others/css/ultimate-builder.css', [], BDTUSK_VER);
    428451                                wp_enqueue_script('ultimate-store-kit-builder', BDTUSK_ASSETS_URL . 'admin/others/js/ultimate-builder.js', ['jquery', 'wp-i18n'], BDTUSK_VER, true);
     452
     453                                // Display-condition pickers use WooCommerce's enhanced selects,
     454                                // which WooCommerce registers later on this same hook.
     455                                add_action('admin_enqueue_scripts', function () {
     456                                        if (wp_script_is('wc-enhanced-select', 'registered')) {
     457                                                wp_enqueue_script('wc-enhanced-select');
     458                                                wp_enqueue_style('woocommerce_admin_styles');
     459                                        }
     460                                }, 20);
    429461                                wp_set_script_translations('ultimate-store-kit-builder', 'ultimate-store-kit');
    430462
  • ultimate-store-kit/tags/4.1.0/includes/builder/builder-integration.php

    r3777913 r3790891  
    1818use UltimateStoreKit\Base\Singleton;
    1919use UltimateStoreKit\Includes\Builder\Meta;
     20use UltimateStoreKit\Includes\Builder\Template_Conditions;
    2021use UltimateStoreKit\Includes\Controls\SelectInput\Dynamic_Select;
    2122
    … …  
    7273                $template_url = '';
    7374
     75                // Conditional templates preview on something they apply to.
     76                $conditions = Template_Conditions::get($post_id);
     77
    7478                // Check for product category first
    75                 if ($template_slug === 'product-category') {
    76                         $product_cats = get_terms([
     79                if ($template_slug === 'product-category' || ($template_slug === 'category' && $post_type === 'product')) {
     80                        $product_cats = !empty($conditions['product_cat']) ? [get_term($conditions['product_cat'][0], 'product_cat')] : get_terms([
    7781                                'taxonomy'   => 'product_cat',
    7882                                'hide_empty' => true,
    … …  
    8084                        ]);
    8185
    82                         if (!empty($product_cats) && !is_wp_error($product_cats)) {
    83                                 $template_url = get_term_link($product_cats[0]);
     86                        // get_terms() does not always return a zero-indexed list.
     87                        $preview_term = is_array($product_cats) ? reset($product_cats) : null;
     88
     89                        if ($preview_term && !is_wp_error($preview_term)) {
     90                                $template_url = get_term_link($preview_term);
    8491                        }
    8592                }
    8693
    8794                // Check for product tag
    88                 elseif ($template_slug === 'product-tag') {
    89                         $product_tags = get_terms([
     95                elseif ($template_slug === 'product-tag' || ($template_slug === 'tag' && $post_type === 'product')) {
     96                        $product_tags = !empty($conditions['product_tag']) ? [get_term($conditions['product_tag'][0], 'product_tag')] : get_terms([
    9097                                'taxonomy'   => 'product_tag',
    9198                                'hide_empty' => true,
    … …  
    93100                        ]);
    94101
    95                         if (!empty($product_tags) && !is_wp_error($product_tags)) {
    96                                 $template_url = get_term_link($product_tags[0]);
     102                        // get_terms() does not always return a zero-indexed list.
     103                        $preview_term = is_array($product_tags) ? reset($product_tags) : null;
     104
     105                        if ($preview_term && !is_wp_error($preview_term)) {
     106                                $template_url = get_term_link($preview_term);
    97107                        }
    98108                } elseif ($template_slug === 'shop' || $template_slug === 'archive') {
    … …  
    103113                        $sample_product = $page_settings_model->get_settings('usk_builder_sample_post_id');
    104114
     115                        if (empty($sample_product)) {
     116                                $sample_product = Template_Conditions::sample_product($post_id);
     117                        }
     118
    105119                        $template_url = !empty($sample_product) ?
    106120                                get_permalink($sample_product) :
    107121                                $this->get_default_product_url();
    108                 } elseif ($template_slug === 'cart') {
     122                } elseif ($template_slug === 'cart' || $template_slug === 'empty-cart') {
    109123                        $template_url = wc_get_cart_url();
    110124                } elseif ($template_slug === 'checkout') {
    … …  
    426440
    427441        /**
     442         * The builder template this request previews, once its nonce is verified.
     443         *
     444         * The nonce is bound to the specific template and to the user who
     445         * generated it, and the capability check makes sure a leaked preview URL
     446         * cannot be replayed by someone who may not edit the template.
     447         *
     448         * @return array{id: int, type: string}|null
     449         */
     450        protected function get_verified_preview_template() {
     451                // phpcs:disable WordPress.Security.NonceVerification.Recommended -- The nonce is verified right below.
     452                if (empty($_GET['preview']) || empty($_GET['ultimate_store_kit_template_id']) || empty($_GET['ultimate_store_kit_preview_nonce'])) {
     453                        return null;
     454                }
     455
     456                $usk_template_id = absint(wp_unslash($_GET['ultimate_store_kit_template_id']));
     457                $nonce           = sanitize_text_field(wp_unslash($_GET['ultimate_store_kit_preview_nonce']));
     458                // phpcs:enable WordPress.Security.NonceVerification.Recommended
     459
     460                $nonce_verified = $usk_template_id
     461                        && wp_verify_nonce($nonce, 'ultimate_store_kit_template_preview_' . $usk_template_id)
     462                        && current_user_can('edit_post', $usk_template_id);
     463
     464                if (! $nonce_verified || get_post_type($usk_template_id) !== Meta::POST_TYPE) {
     465                        return null;
     466                }
     467
     468                $template_type = get_post_meta($usk_template_id, Meta::TEMPLATE_TYPE, true);
     469
     470                return empty($template_type) ? null : ['id' => $usk_template_id, 'type' => (string) $template_type];
     471        }
     472
     473        /**
    428474         * Get Template Path ID
    429475         *
    … …  
    440486
    441487                // Handle template preview from URL parameters.
    442                 if (!empty($_GET['preview']) && !empty($_GET['ultimate_store_kit_template_id']) && !empty($_GET['ultimate_store_kit_preview_nonce'])) {
    443                         $usk_template_id = absint(wp_unslash($_GET['ultimate_store_kit_template_id']));
    444                         $nonce = sanitize_text_field(wp_unslash($_GET['ultimate_store_kit_preview_nonce']));
    445 
    446                         // The nonce is bound to the specific template and to the user who
    447                         // generated it, and the capability check makes sure a leaked preview
    448                         // URL cannot be replayed by someone who may not edit the template.
    449                         $nonce_verified = $usk_template_id
    450                                 && wp_verify_nonce($nonce, 'ultimate_store_kit_template_preview_' . $usk_template_id)
    451                                 && current_user_can('edit_post', $usk_template_id);
    452 
    453                         if ($nonce_verified && get_post_type($usk_template_id) === Meta::POST_TYPE) {
    454                                 $template_type = get_post_meta($usk_template_id, Meta::TEMPLATE_TYPE, true);
    455                                 if (!empty($template_type)) {
    456                                         $template_data = explode(Builder_Template_Helper::separator(), $template_type);
    457                                         if (count($template_data) >= 2 && $template_data[1] === $slug && ($postType === false || $template_data[0] === $postType)) {
    458                                                 $this->current_template_id = $usk_template_id;
    459                                                 $this->is_template_preview = true;
    460                                                 return $this->current_template_id;
    461                                         }
    462                                 }
    463                         }
    464                 }
    465 
    466                 // Regular template retrieval
    467                 $templateId = Builder_Template_Helper::getTemplate($slug, $postType);
     488                $preview = $this->get_verified_preview_template();
     489
     490                if ($preview) {
     491                        $template_data = explode(Builder_Template_Helper::separator(), $preview['type']);
     492                        if (count($template_data) >= 2 && $template_data[1] === $slug && ($postType === false || $template_data[0] === $postType)) {
     493                                $this->current_template_id = $preview['id'];
     494                                $this->is_template_preview = true;
     495                                return $this->current_template_id;
     496                        }
     497                }
     498
     499                // Regular template retrieval: a conditional template that matches this
     500                // product or term wins over the type's default template.
     501                $templateId = Template_Conditions::match($slug, $postType ? $postType : get_post_type());
     502
     503                if (! $templateId) {
     504                        $templateId = Builder_Template_Helper::getTemplate($slug, $postType);
     505                }
    468506                $this->current_template_id = apply_filters('ultimate-store-kit-builder/custom-shop-template', $templateId);
    469507
    … …  
    505543                }
    506544
    507                 $custom_template = $this->get_template_id( 'cart', 'product' );
     545                $custom_template = 0;
     546
     547                // An empty cart gets the Empty Cart template when one is assigned; its
     548                // editor preview shows it whatever the previewing user's cart holds.
     549                $preview        = $this->get_verified_preview_template();
     550                $previews_empty = $preview && 'product' . Builder_Template_Helper::separator() . 'empty-cart' === $preview['type'];
     551                $previews_cart  = $preview && 'product' . Builder_Template_Helper::separator() . 'cart' === $preview['type'];
     552
     553                if ( ! $previews_cart && ( $previews_empty || ( WC()->cart && WC()->cart->is_empty() ) ) ) {
     554                        $custom_template = $this->get_template_id( 'empty-cart', 'product' );
     555                } elseif ( ! $preview && Builder_Template_Helper::getTemplate( 'empty-cart', 'product' ) ) {
     556                        // WooCommerce's cart script swaps in its own empty-cart notice when the
     557                        // last item is removed without a page load; reload to show the template.
     558                        add_action( 'wp_enqueue_scripts', [ $this, 'reload_when_cart_emptied' ] );
     559                }
     560
     561                if ( ! $custom_template ) {
     562                        $this->current_template_id = null;
     563                        $custom_template           = $this->get_template_id( 'cart', 'product' );
     564                }
    508565
    509566                // Only take over the cart page when a Theme Builder cart template has
    … …  
    520577
    521578        /**
     579         * Reload the cart page once WooCommerce reports that it emptied the cart.
     580         *
     581         * The classic cart fires wc_cart_emptied; the Cart block has no event, so
     582         * its store is watched for the item count dropping to zero.
     583         */
     584        public function reload_when_cart_emptied() {
     585                wp_enqueue_script( 'jquery' );
     586                wp_add_inline_script(
     587                        'jquery',
     588                        'jQuery(function($){$(document.body).on("wc_cart_emptied",function(){window.location.reload();});});'
     589                        . 'window.addEventListener("load",function(){var d=window.wp&&window.wp.data;if(!d||!d.select("wc/store/cart")){return;}var had=false;d.subscribe(function(){var c=d.select("wc/store/cart").getCartData(),n=c&&c.items?c.items.length:0;if(had&&n===0){had=false;window.location.reload();return;}if(n>0){had=true;}});});'
     590                );
     591        }
     592
     593        /**
    522594         * Get default product URL with proper error checking
    523595         *
  • ultimate-store-kit/tags/4.1.0/includes/builder/builder-template-helper.php

    r3684617 r3790891  
    3232                        'tag'            => 'Tag Page',
    3333                        'cart'           => 'Cart Page',
     34                        'empty-cart'     => 'Empty Cart Page',
    3435                        'checkout'       => 'Checkout',
    3536                        'order-received' => 'Order Received (Thank You Page)',
  • ultimate-store-kit/tags/4.1.0/includes/builder/loading-builder.php

    r3650790 r3790891  
    55}
    66require_once 'meta.php';
     7require_once 'template-conditions.php';
    78require_once 'builder-cpt.php';
    89require_once 'cart-render.php';
  • ultimate-store-kit/tags/4.1.0/includes/builder/modal/modal.php

    r3650790 r3790891  
    8484                                        <label for="fname"><?php esc_html_e( 'Name your template', 'ultimate-store-kit' ); ?></label>
    8585                                        <input type="text" name="template_name" id="template_name" placeholder="<?php echo esc_attr__( 'Enter template name', 'ultimate-store-kit' ); ?>">
     86                                        <?php
     87                                        $usk_condition_types = \UltimateStoreKit\Includes\Builder\Template_Conditions::supported_types();
     88                                        ?>
     89                                        <div class="usk-template-conditions" data-condition-types="<?php echo esc_attr( wp_json_encode( $usk_condition_types ) ); ?>" style="display: none">
     90                                                <div class="usk-form-title"><?php esc_html_e( 'Display Conditions (optional)', 'ultimate-store-kit' ); ?></div>
     91                                                <p class="usk-template-conditions-desc"><?php esc_html_e( 'Leave empty to use this template everywhere. Choose products, categories or tags to use it only there; it then takes priority over the default template of this type.', 'ultimate-store-kit' ); ?></p>
     92                                                <div class="usk-template-condition" data-condition="products">
     93                                                        <label for="usk_condition_products"><?php esc_html_e( 'Products', 'ultimate-store-kit' ); ?></label>
     94                                                        <select id="usk_condition_products" name="usk_conditions[products][]" class="wc-product-search" multiple="multiple" style="width: 100%" data-action="woocommerce_json_search_products" data-placeholder="<?php echo esc_attr__( 'Search for a product…', 'ultimate-store-kit' ); ?>"></select>
     95                                                </div>
     96                                                <?php
     97                                                foreach ( [
     98                                                        'product_cat' => __( 'Product Categories', 'ultimate-store-kit' ),
     99                                                        'product_tag' => __( 'Product Tags', 'ultimate-store-kit' ),
     100                                                ] as $usk_taxonomy => $usk_taxonomy_label ) :
     101                                                        $usk_terms = taxonomy_exists( $usk_taxonomy ) ? get_terms( [
     102                                                                'taxonomy'   => $usk_taxonomy,
     103                                                                'hide_empty' => false,
     104                                                                'number'     => 1000,
     105                                                                'orderby'    => 'name',
     106                                                        ] ) : [];
     107                                                        ?>
     108                                                        <div class="usk-template-condition" data-condition="<?php echo esc_attr( $usk_taxonomy ); ?>">
     109                                                                <label for="usk_condition_<?php echo esc_attr( $usk_taxonomy ); ?>"><?php echo esc_html( $usk_taxonomy_label ); ?></label>
     110                                                                <select id="usk_condition_<?php echo esc_attr( $usk_taxonomy ); ?>" name="usk_conditions[<?php echo esc_attr( $usk_taxonomy ); ?>][]" class="wc-enhanced-select" multiple="multiple" style="width: 100%" data-placeholder="<?php echo esc_attr__( 'Any', 'ultimate-store-kit' ); ?>">
     111                                                                        <?php if ( ! is_wp_error( $usk_terms ) ) : ?>
     112                                                                                <?php foreach ( $usk_terms as $usk_term ) : ?>
     113                                                                                        <option value="<?php echo esc_attr( $usk_term->term_id ); ?>"><?php echo esc_html( \UltimateStoreKit\Includes\Builder\Template_Conditions::term_label( $usk_term ) ); ?></option>
     114                                                                                <?php endforeach; ?>
     115                                                                        <?php endif; ?>
     116                                                                </select>
     117                                                        </div>
     118                                                <?php endforeach; ?>
     119                                        </div>
    86120                                        <div class="usk-template-status-switcher-wrap">
    87121                                                <input type="hidden" name="template_status" id="usk_template_status" value="1">
  • ultimate-store-kit/tags/4.1.0/includes/modules-manager.php

    r3504294 r3790891  
    5454
    5555
    56         $direction = is_rtl() ? '.rtl' : '';
     56        // Widget stylesheets are built as <module>-rtl.css.
     57        $direction = is_rtl() ? '-rtl' : '';
    5758
    5859
    … …  
    6667            // register widgets css
    6768            if (ModuleService::has_module_style($module_id)) {
    68                 wp_register_style('usk-' . $module_id, BDTUSK_URL . 'assets/css/widgets/' . $module_id . $direction . '.css', [], BDTUSK_VER);
     69                wp_register_style('usk-' . $module_id, BDTUSK_URL . 'assets/css/widgets/' . $module_id . $direction . '.css', ultimate_store_kit_module_asset_depends('css', $module_id), BDTUSK_VER);
    6970            }
    7071            // register widget JS
    7172            if (ModuleService::has_module_script($module_id)) {
    72                 wp_register_script('usk-' . $module_id, BDTUSK_URL . 'assets/js/widgets/' . $module_id . '.js', ['jquery'], BDTUSK_VER, true);
     73                wp_register_script('usk-' . $module_id, BDTUSK_URL . 'assets/js/widgets/' . $module_id . '.js', ultimate_store_kit_module_asset_depends('js', $module_id), BDTUSK_VER, true);
    7374            }
    7475        }
  • ultimate-store-kit/tags/4.1.0/includes/ultimate-store-kit-filters.php

    r2999889 r3790891  
    6262
    6363if (!function_exists('ultimate_store_kit_is_asset_optimization_enabled')) {
     64    /**
     65     * Whether Asset Optimization (Store Kit > Performance) is switched on.
     66     *
     67     * With it on, the site stylesheet and script load only on pages that show an
     68     * Ultimate Store Kit widget, and the widget CSS and JS files a page loads are
     69     * joined into combined files; see UltimateStoreKit\Includes\Asset_Combiner.
     70     *
     71     * @return bool
     72     */
    6473    function ultimate_store_kit_is_asset_optimization_enabled() {
    65         $asset_manager = ultimate_store_kit_option('asset-manager', 'ultimate_store_kit_other_settings', 'off');
    66         if ($asset_manager == 'on') {
    67             return apply_filters("ultimatestorekit/optimization/asset_manager", true);
    68         }
     74        $enabled = ('on' === ultimate_store_kit_option('asset-manager', 'ultimate_store_kit_other_settings', 'off'));
     75
     76        // phpcs:ignore WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedHooknameFound -- Established public hook name.
     77        return (bool) apply_filters('ultimatestorekit/optimization/asset_manager', $enabled);
    6978    }
    7079}
     80
     81if (!function_exists('ultimate_store_kit_module_asset_depends')) {
     82    /**
     83     * The shared handles every widget stylesheet or script depends on.
     84     *
     85     * The site stylesheet (`usk-site`) and script (`usk-core`, which carries
     86     * ultimate_store_kit_ajax_config) are what widget files build on. Every
     87     * `usk-<module>` handle depends on them, so a page that loads a widget gets
     88     * them in the right order; with Asset Optimization on, that is also the only
     89     * way they load. Ultimate Store Kit Pro registers its widgets the same way.
     90     *
     91     * @param string $type      'css' or 'js'.
     92     * @param string $module_id Module slug.
     93     * @return string[]
     94     */
     95    function ultimate_store_kit_module_asset_depends($type, $module_id = '') {
     96        $depends = 'js' === $type ? ['jquery', 'usk-core'] : ['usk-site'];
     97
     98        /**
     99         * Filters the handles an Ultimate Store Kit widget stylesheet or script depends on.
     100         *
     101         * @param string[] $depends   Handles the module file depends on.
     102         * @param string   $type      'css' or 'js'.
     103         * @param string   $module_id Module slug.
     104         */
     105        return (array) apply_filters('ultimate_store_kit/module/asset_depends', $depends, $type, $module_id);
     106    }
     107}
  • ultimate-store-kit/tags/4.1.0/languages/ultimate-store-kit.pot

    r3777913 r3790891  
    33msgid ""
    44msgstr ""
    5 "Project-Id-Version: Ultimate Store Kit 4.0.2\n"
     5"Project-Id-Version: Ultimate Store Kit 4.1.0\n"
    66"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/ultimate-store-kit\n"
    77"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
    … …  
    1010"Content-Type: text/plain; charset=UTF-8\n"
    1111"Content-Transfer-Encoding: 8bit\n"
    12 "POT-Creation-Date: 2026-11-01T11:20:01+00:00\n"
     12"POT-Creation-Date: 2026-11-08T11:09:44+00:00\n"
    1313"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
    1414"X-Generator: WP-CLI 2.12.0\n"
    … …  
    2121#: includes/Admin/Dashboard.php:79
    2222#: assets/admin/admin.js:1
     23#: assets/admin/admin.js:9
    2324msgid "Ultimate Store Kit"
    2425msgstr ""
    … …  
    3132#. Description of the plugin
    3233#: ultimate-store-kit.php
    33 #: assets/admin/admin.js:1
     34#: assets/admin/admin.js:9
    3435msgid "Build online stores in WordPress with the powerful store builder addon for Elementor. Enjoy a wide range of customizations and easily build product grids, carousels, single product/page elements, checkouts and more."
    3536msgstr ""
    … …  
    6263msgstr ""
    6364
    64 #: includes/Admin/Dashboard.php:255
     65#: includes/Admin/Dashboard.php:265
    6566msgid "Install Plugin"
    6667msgstr ""
    6768
    68 #: includes/Admin/Dashboard.php:256
     69#: includes/Admin/Dashboard.php:266
    6970msgid "Install the required plugin first, then you can activate this feature."
    7071msgstr ""
    7172
    72 #: includes/Admin/Dashboard.php:260
     73#: includes/Admin/Dashboard.php:270
    7374msgid "Download Plugin"
    7475msgstr ""
    7576
    76 #: includes/Admin/Dashboard.php:266
     77#: includes/Admin/Dashboard.php:276
    7778msgid "Activate Plugin"
    7879msgstr ""
    7980
    80 #: includes/Admin/Dashboard.php:267
     81#: includes/Admin/Dashboard.php:277
    8182msgid "Activate the required plugin first, then you can activate this feature."
    8283msgstr ""
    8384
    84 #: includes/Admin/Dashboard.php:294
     85#: includes/Admin/Dashboard.php:340
     86msgid "PHP version"
     87msgstr ""
     88
     89#: includes/Admin/Dashboard.php:345
     90msgid "Memory limit"
     91msgstr ""
     92
     93#: includes/Admin/Dashboard.php:346
     94#: includes/Admin/Dashboard.php:351
     95msgid "Unlimited"
     96msgstr ""
     97
     98#: includes/Admin/Dashboard.php:350
     99msgid "Max execution time"
     100msgstr ""
     101
     102#: includes/Admin/Dashboard.php:355
     103#: assets/admin/admin.js:1
     104#: assets/admin/admin.js:6
     105msgid "WooCommerce"
     106msgstr ""
     107
     108#: includes/Admin/Dashboard.php:356
     109#: includes/Admin/Dashboard.php:361
     110msgid "Not active"
     111msgstr ""
     112
     113#: includes/Admin/Dashboard.php:360
     114msgid "Elementor"
     115msgstr ""
     116
     117#: includes/Admin/Dashboard.php:442
    85118#: modules/mini-cart/widgets/mini-cart.php:84
    86119#: modules/sub-category/widgets/sub-category.php:671
    … …  
    104137#: traits/global-widget-controls.php:2744
    105138#: traits/global-widget-template.php:253
     139#: assets/admin/admin.js:6
    106140msgid "New"
    107141msgstr ""
    … …  
    312346
    313347#: includes/Admin/ModuleService.php:541
     348msgid "Ajax Product Search"
     349msgstr ""
     350
     351#: includes/Admin/ModuleService.php:553
    314352msgid "Product Image (Single)"
    315353msgstr ""
    316354
    317 #: includes/Admin/ModuleService.php:553
     355#: includes/Admin/ModuleService.php:565
    318356#: modules/product-image-accordion/module.info.php:5
    319357#: modules/product-image-accordion/widgets/product-image-accordion.php:37
    … …  
    321359msgstr ""
    322360
    323 #: includes/Admin/ModuleService.php:565
     361#: includes/Admin/ModuleService.php:577
    324362#: modules/mini-cart/widgets/mini-cart.php:455
    325363#: modules/product-list/module.info.php:8
    … …  
    328366msgstr ""
    329367
    330 #: includes/Admin/ModuleService.php:577
     368#: includes/Admin/ModuleService.php:589
    331369msgid "Product Meta (Single)"
    332370msgstr ""
    333371
    334 #: includes/Admin/ModuleService.php:589
     372#: includes/Admin/ModuleService.php:601
    335373msgid "Product Price (Single)"
    336374msgstr ""
    337375
    338 #: includes/Admin/ModuleService.php:601
     376#: includes/Admin/ModuleService.php:613
    339377msgid "Product Rating (Single)"
    340378msgstr ""
    341379
    342 #: includes/Admin/ModuleService.php:613
     380#: includes/Admin/ModuleService.php:625
    343381msgid "Product Related (Single)"
    344382msgstr ""
    345383
    346 #: includes/Admin/ModuleService.php:625
     384#: includes/Admin/ModuleService.php:637
    347385#: modules/product-reviews/module.info.php:8
    348386#: modules/product-reviews/widgets/product-reviews.php:36
    … …  
    350388msgstr ""
    351389
    352 #: includes/Admin/ModuleService.php:637
     390#: includes/Admin/ModuleService.php:649
    353391#: modules/product-review-carousel/module.info.php:8
    354392#: modules/product-review-carousel/widgets/product-review-carousel.php:34
    … …  
    356394msgstr ""
    357395
    358 #: includes/Admin/ModuleService.php:649
     396#: includes/Admin/ModuleService.php:661
    359397msgid "Product Stock (Single)"
    360398msgstr ""
    361399
    362 #: includes/Admin/ModuleService.php:661
     400#: includes/Admin/ModuleService.php:673
    363401#: modules/product-table/module.info.php:8
    364402#: modules/product-table/widgets/product-table.php:40
    … …  
    366404msgstr ""
    367405
    368 #: includes/Admin/ModuleService.php:673
     406#: includes/Admin/ModuleService.php:685
    369407msgid "Product Tabs (Single)"
    370408msgstr ""
    371409
    372 #: includes/Admin/ModuleService.php:685
     410#: includes/Admin/ModuleService.php:697
    373411msgid "Product Title (Single)"
    374412msgstr ""
    375413
    376 #: includes/Admin/ModuleService.php:697
     414#: includes/Admin/ModuleService.php:709
    377415#: modules/shiny-grid/module.info.php:8
    378416#: modules/shiny-grid/widgets/shiny-grid.php:33
    … …  
    380418msgstr ""
    381419
    382 #: includes/Admin/ModuleService.php:709
     420#: includes/Admin/ModuleService.php:721
    383421#: modules/florence-carousel/module.info.php:8
    384422#: modules/shiny-carousel/module.info.php:8
    … …  
    387425msgstr ""
    388426
    389 #: includes/Admin/ModuleService.php:721
     427#: includes/Admin/ModuleService.php:733
    390428#: modules/showcase-slider/module.info.php:8
    391429#: modules/showcase-slider/widgets/showcase-slider.php:41
    … …  
    393431msgstr ""
    394432
    395 #: includes/Admin/ModuleService.php:734
     433#: includes/Admin/ModuleService.php:746
    396434#: modules/sub-category-carousel/widgets/sub-category-carousel.php:687
    397435#: modules/sub-category/module.info.php:8
    … …  
    401439msgstr ""
    402440
    403 #: includes/Admin/ModuleService.php:746
     441#: includes/Admin/ModuleService.php:758
    404442#: modules/sub-category-carousel/module.info.php:8
    405443#: modules/sub-category-carousel/widgets/sub-category-carousel.php:36
    … …  
    407445msgstr ""
    408446
    409 #: includes/Admin/ModuleService.php:759
     447#: includes/Admin/ModuleService.php:771
    410448msgid "Thank You Order"
    411449msgstr ""
    412450
    413 #: includes/Admin/ModuleService.php:771
     451#: includes/Admin/ModuleService.php:783
    414452msgid "Thank You Order Details"
    415453msgstr ""
    416454
    417 #: includes/Admin/ModuleService.php:783
     455#: includes/Admin/ModuleService.php:795
    418456msgid "Thank You Order Customer Address"
    419457msgstr ""
    420458
    421 #: includes/Admin/ModuleService.php:795
     459#: includes/Admin/ModuleService.php:807
    422460msgid "Thank You Order Confirmation"
    423461msgstr ""
    424462
    425 #: includes/Admin/ModuleService.php:807
     463#: includes/Admin/ModuleService.php:819
    426464msgid "Wishlist Button"
    427465msgstr ""
    428466
    429 #: includes/Admin/ModuleService.php:819
     467#: includes/Admin/ModuleService.php:831
    430468msgid "Wishlist Products"
    431469msgstr ""
    432470
    433 #: includes/Admin/ModuleService.php:831
     471#: includes/Admin/ModuleService.php:843
    434472#: modules/up-sells/module.info.php:5
    435473#: modules/up-sells/widgets/up-sells.php:26
    … …  
    438476msgstr ""
    439477
    440 #: includes/Admin/ModuleService.php:845
     478#: includes/Admin/ModuleService.php:857
    441479#: modules/edd-category-grid/module.info.php:5
    442480#: modules/edd-category-grid/widgets/edd-category-grid.php:31
    … …  
    444482msgstr ""
    445483
    446 #: includes/Admin/ModuleService.php:857
     484#: includes/Admin/ModuleService.php:869
    447485#: modules/edd-category-carousel/module.info.php:5
    448486#: modules/edd-category-carousel/widgets/edd-category-carousel.php:33
    … …  
    450488msgstr ""
    451489
    452 #: includes/Admin/ModuleService.php:869
     490#: includes/Admin/ModuleService.php:881
    453491#: modules/edd-beauty-grid/module.info.php:8
    454492#: modules/edd-beauty-grid/widgets/edd-beauty-grid.php:32
    … …  
    456494msgstr ""
    457495
    458 #: includes/Admin/ModuleService.php:881
     496#: includes/Admin/ModuleService.php:893
    459497#: modules/edd-beauty-carousel/module.info.php:8
    460498#: modules/edd-beauty-carousel/widgets/edd-beauty-carousel.php:33
    … …  
    462500msgstr ""
    463501
    464 #: includes/Admin/ModuleService.php:893
     502#: includes/Admin/ModuleService.php:905
    465503#: modules/edd-classic-grid/module.info.php:8
    466504#: modules/edd-classic-grid/widgets/edd-classic-grid.php:33
    … …  
    468506msgstr ""
    469507
    470 #: includes/Admin/ModuleService.php:905
     508#: includes/Admin/ModuleService.php:917
    471509#: modules/edd-classic-carousel/module.info.php:8
    472510#: modules/edd-classic-carousel/widgets/edd-classic-carousel.php:33
    … …  
    474512msgstr ""
    475513
    476 #: includes/Admin/ModuleService.php:917
     514#: includes/Admin/ModuleService.php:929
    477515msgid "EDD Product Review"
    478516msgstr ""
    479517
    480 #: includes/Admin/ModuleService.php:929
     518#: includes/Admin/ModuleService.php:941
    481519msgid "EDD Product Review Carousel"
    482520msgstr ""
    483521
    484 #: includes/Admin/ModuleService.php:941
     522#: includes/Admin/ModuleService.php:953
    485523#: modules/edd-standard-grid/module.info.php:8
    486524#: modules/edd-standard-grid/widgets/edd-standard-grid.php:31
    … …  
    488526msgstr ""
    489527
    490 #: includes/Admin/ModuleService.php:953
     528#: includes/Admin/ModuleService.php:965
    491529#: modules/edd-standard-carousel/module.info.php:8
    492530#: modules/edd-standard-carousel/widgets/edd-standard-carousel.php:33
    … …  
    494532msgstr ""
    495533
    496 #: includes/Admin/ModuleService.php:965
     534#: includes/Admin/ModuleService.php:977
    497535#: modules/edd-trendy-grid/module.info.php:8
    498536#: modules/edd-trendy-grid/widgets/edd-trendy-grid.php:31
    … …  
    500538msgstr ""
    501539
    502 #: includes/Admin/ModuleService.php:977
     540#: includes/Admin/ModuleService.php:989
    503541#: modules/edd-trendy-carousel/module.info.php:8
    504542#: modules/edd-trendy-carousel/widgets/edd-trendy-carousel.php:33
    … …  
    506544msgstr ""
    507545
    508 #: includes/Admin/ModuleService.php:991
     546#: includes/Admin/ModuleService.php:1003
    509547#: modules/brand-grid/module.info.php:5
    510548#: modules/brand-grid/widgets/brand-grid.php:28
    … …  
    512550msgstr ""
    513551
    514 #: includes/Admin/ModuleService.php:1001
     552#: includes/Admin/ModuleService.php:1013
    515553#: modules/brand-carousel/module.info.php:5
    516554#: modules/brand-carousel/widgets/brand-carousel.php:35
    … …  
    518556msgstr ""
    519557
    520 #: includes/Admin/ModuleService.php:1011
     558#: includes/Admin/ModuleService.php:1023
    521559#: modules/featured-box/module.info.php:5
    522560#: modules/featured-box/widgets/featured-box.php:27
    … …  
    525563msgstr ""
    526564
    527 #: includes/Admin/ModuleService.php:1021
     565#: includes/Admin/ModuleService.php:1033
    528566#: modules/qr-code/module.info.php:8
    529567#: modules/qr-code/widgets/qr-code.php:26
    530 #: modules/qr-code/widgets/qr-code.php:66
     568#: modules/qr-code/widgets/qr-code.php:67
    531569msgid "QR Code"
    532570msgstr ""
    533571
    534 #: includes/Admin/ModuleService.php:1031
     572#: includes/Admin/ModuleService.php:1043
    535573msgid "Marquee"
    536574msgstr ""
    537575
    538 #: includes/Admin/ModuleService.php:1041
     576#: includes/Admin/ModuleService.php:1053
    539577#: modules/mobile-menu/module.info.php:5
    540578#: modules/mobile-menu/widgets/mobile-menu.php:34
    … …  
    542580msgstr ""
    543581
    544 #: includes/Admin/ModuleService.php:1054
     582#: includes/Admin/ModuleService.php:1066
    545583msgid "Flash Sale Countdown"
    546584msgstr ""
    547585
    548 #: includes/Admin/ModuleService.php:1060
    549 #: includes/Admin/ModuleService.php:1119
    550 #: includes/Admin/ModuleService.php:1144
     586#: includes/Admin/ModuleService.php:1072
     587#: includes/Admin/ModuleService.php:1131
     588#: includes/Admin/ModuleService.php:1156
    551589msgid "Enable"
    552590msgstr ""
    553591
    554 #: includes/Admin/ModuleService.php:1073
     592#: includes/Admin/ModuleService.php:1085
    555593msgid "Single Product Position"
    556594msgstr ""
    557595
    558 #: includes/Admin/ModuleService.php:1077
    559 #: includes/Admin/ModuleService.php:1099
     596#: includes/Admin/ModuleService.php:1089
     597#: includes/Admin/ModuleService.php:1111
    560598msgid "Before Price"
    561599msgstr ""
    562600
    563 #: includes/Admin/ModuleService.php:1078
    564 #: includes/Admin/ModuleService.php:1100
     601#: includes/Admin/ModuleService.php:1090
     602#: includes/Admin/ModuleService.php:1112
    565603msgid "After Price"
    566604msgstr ""
    567605
    568 #: includes/Admin/ModuleService.php:1079
     606#: includes/Admin/ModuleService.php:1091
     607#: includes/Admin/ModuleService.php:1113
     608msgid "Before Add to Cart"
     609msgstr ""
     610
     611#: includes/Admin/ModuleService.php:1092
     612#: includes/Admin/ModuleService.php:1114
     613msgid "After Add to Cart"
     614msgstr ""
     615
     616#: includes/Admin/ModuleService.php:1097
     617msgid "Show on Shop / Archive"
     618msgstr ""
     619
    569620#: includes/Admin/ModuleService.php:1101
    570 msgid "Before Add to Cart"
    571 msgstr ""
    572 
    573 #: includes/Admin/ModuleService.php:1080
    574 #: includes/Admin/ModuleService.php:1102
    575 msgid "After Add to Cart"
    576 msgstr ""
    577 
    578 #: includes/Admin/ModuleService.php:1085
    579 msgid "Show on Shop / Archive"
    580 msgstr ""
    581 
    582 #: includes/Admin/ModuleService.php:1089
    583621#: includes/modal/modal-controls.php:158
    584622#: modules/mentor-slider/widgets/mentor-slider.php:261
    … …  
    595633msgstr ""
    596634
    597 #: includes/Admin/ModuleService.php:1090
     635#: includes/Admin/ModuleService.php:1102
    598636#: includes/modal/modal-controls.php:159
    599637#: modules/mentor-slider/widgets/mentor-slider.php:262
    … …  
    610648msgstr ""
    611649
    612 #: includes/Admin/ModuleService.php:1095
     650#: includes/Admin/ModuleService.php:1107
    613651msgid "Archive Position"
    614652msgstr ""
    615653
    616 #: includes/Admin/ModuleService.php:1113
     654#: includes/Admin/ModuleService.php:1125
    617655msgid "Back Order"
    618656msgstr ""
    619657
    620 #: includes/Admin/ModuleService.php:1138
     658#: includes/Admin/ModuleService.php:1150
    621659msgid "Pre-Order"
    622660msgstr ""
    623661
    624 #: includes/API/Settings.php:64
    625 #: assets/admin/admin.js:1
     662#: includes/API/OtherPlugins.php:116
     663msgid "This plugin cannot be installed from here."
     664msgstr ""
     665
     666#: includes/API/OtherPlugins.php:120
     667msgid "The plugin is already installed."
     668msgstr ""
     669
     670#: includes/API/OtherPlugins.php:147
     671msgid "The plugin could not be installed. Check that WordPress can write to the plugins folder."
     672msgstr ""
     673
     674#. translators: %s: plugin name.
     675#: includes/API/OtherPlugins.php:155
     676#, php-format
     677msgid "%s installed."
     678msgstr ""
     679
     680#: includes/API/Settings.php:79
     681#: assets/admin/admin.js:9
    626682msgid "Settings saved successfully."
     683msgstr ""
     684
     685#: includes/API/Settings.php:91
     686msgid "Combined files cleared. Pages rebuild them on their next visit."
    627687msgstr ""
    628688
    … …  
    651711msgstr ""
    652712
    653 #: includes/builder/builder-cpt.php:103
     713#: includes/builder/builder-cpt.php:105
    654714msgid "Edit with Gutenberg"
    655715msgstr ""
    656716
    657 #: includes/builder/builder-cpt.php:118
    658 #: includes/builder/builder-cpt.php:132
     717#: includes/builder/builder-cpt.php:120
     718#: includes/builder/builder-cpt.php:134
    659719msgid "Edit with Elementor"
    660720msgstr ""
    661721
    662 #: includes/builder/builder-cpt.php:140
     722#: includes/builder/builder-cpt.php:142
    663723msgid "Edit"
    664724msgstr ""
    665725
    666 #: includes/builder/builder-cpt.php:152
     726#: includes/builder/builder-cpt.php:154
    667727#: traits/global-terms-query-controls.php:22
    668728msgid "Type"
    669729msgstr ""
    670730
    671 #: includes/builder/builder-cpt.php:153
     731#: includes/builder/builder-cpt.php:155
    672732#: modules/product-review-carousel/widgets/product-review-carousel.php:202
    673733#: modules/product-reviews/widgets/product-reviews.php:188
     734#: assets/admin/admin.js:5
    674735msgid "Status"
    675736msgstr ""
    676737
    677 #: includes/builder/builder-cpt.php:174
    678 #: includes/builder/modal/modal.php:91
     738#: includes/builder/builder-cpt.php:177
     739#: includes/builder/builder-cpt.php:184
     740#: includes/builder/modal/modal.php:125
    679741#: includes/modal/modal-controls.php:400
    680742#: modules/heaven-slider/widgets/heaven-slider.php:1024
    … …  
    694756#: traits/global-widget-controls.php:2383
    695757#: traits/global-widget-controls.php:4525
    696 #: assets/admin/admin.js:1
     758#: assets/admin/admin.js:3
     759#: assets/admin/admin.js:5
     760#: assets/admin/admin.js:6
    697761#: assets/admin/others/js/ultimate-builder.js:1
    698762msgid "Active"
    699763msgstr ""
    700764
    701 #: includes/builder/builder-cpt.php:175
     765#: includes/builder/builder-cpt.php:178
     766#: includes/builder/builder-cpt.php:185
    702767#: assets/admin/others/js/ultimate-builder.js:1
    703768msgid "Inactive"
    704769msgstr ""
    705770
    706 #: includes/builder/builder-cpt.php:193
     771#: includes/builder/builder-cpt.php:203
    707772msgid "Template Type "
    708773msgstr ""
    709774
    710 #: includes/builder/builder-cpt.php:444
    711 #: includes/builder/builder-cpt.php:445
     775#: includes/builder/builder-cpt.php:476
     776#: includes/builder/builder-cpt.php:477
     777#: assets/admin/admin.js:1
     778#: assets/admin/admin.js:3
     779#: assets/admin/admin.js:9
    712780msgid "Template Builder"
    713781msgstr ""
    714782
    715 #: includes/builder/builder-cpt.php:453
     783#: includes/builder/builder-cpt.php:485
    716784msgctxt "post type general name"
    717785msgid "Template Items"
    718786msgstr ""
    719787
    720 #: includes/builder/builder-cpt.php:454
     788#: includes/builder/builder-cpt.php:486
    721789msgctxt "post type singular name"
    722790msgid "Template Item"
    723791msgstr ""
    724792
    725 #: includes/builder/builder-cpt.php:455
     793#: includes/builder/builder-cpt.php:487
    726794msgctxt "admin menu"
    727795msgid "Template Manager"
    728796msgstr ""
    729797
    730 #: includes/builder/builder-cpt.php:456
     798#: includes/builder/builder-cpt.php:488
    731799msgctxt "add new on admin bar"
    732800msgid "Template Manager"
    733801msgstr ""
    734802
    735 #: includes/builder/builder-cpt.php:457
     803#: includes/builder/builder-cpt.php:489
    736804msgctxt "template_manager"
    737805msgid "Add New"
    738806msgstr ""
    739807
    740 #: includes/builder/builder-cpt.php:458
     808#: includes/builder/builder-cpt.php:490
    741809msgid "Add New Template"
    742810msgstr ""
    743811
    744 #: includes/builder/builder-cpt.php:459
     812#: includes/builder/builder-cpt.php:491
    745813#: includes/builder/modal/modal.php:8
    746814msgid "New Template"
    747815msgstr ""
    748816
    749 #: includes/builder/builder-cpt.php:460
     817#: includes/builder/builder-cpt.php:492
    750818#: includes/helper.php:476
    751819msgid "Edit Template"
    752820msgstr ""
    753821
    754 #: includes/builder/builder-cpt.php:461
     822#: includes/builder/builder-cpt.php:493
    755823msgid "View Template"
    756824msgstr ""
    757825
    758 #: includes/builder/builder-cpt.php:462
    759 #: assets/admin/admin.js:1
     826#: includes/builder/builder-cpt.php:494
    760827msgid "All Templates"
    761828msgstr ""
    762829
    763 #: includes/builder/builder-cpt.php:463
     830#: includes/builder/builder-cpt.php:495
    764831msgid "Search Templates"
    765832msgstr ""
    766833
    767 #: includes/builder/builder-cpt.php:464
     834#: includes/builder/builder-cpt.php:496
    768835msgid "Parent Template:"
    769836msgstr ""
    770837
    771 #: includes/builder/builder-cpt.php:465
     838#: includes/builder/builder-cpt.php:497
    772839msgid "No Template found."
    773840msgstr ""
    774841
    775 #: includes/builder/builder-cpt.php:466
     842#: includes/builder/builder-cpt.php:498
    776843msgid "No Template found in Trash."
    777844msgstr ""
    778845
    779 #: includes/builder/builder-cpt.php:471
     846#: includes/builder/builder-cpt.php:503
    780847msgid "Description."
    781848msgstr ""
    782849
    783 #: includes/builder/builder-integration.php:200
     850#: includes/builder/builder-integration.php:214
    784851msgid "Builder Settings"
    785852msgstr ""
    786853
    787 #: includes/builder/builder-integration.php:208
     854#: includes/builder/builder-integration.php:222
    788855msgid "Builder Post"
    789856msgstr ""
    790857
    791 #: includes/builder/builder-integration.php:222
    792 #: includes/builder/builder-integration.php:225
     858#: includes/builder/builder-integration.php:236
     859#: includes/builder/builder-integration.php:239
    793860msgid "Apply & Preview"
    794861msgstr ""
    … …  
    824891msgstr ""
    825892
     893#: includes/builder/modal/modal.php:90
     894msgid "Display Conditions (optional)"
     895msgstr ""
     896
     897#: includes/builder/modal/modal.php:91
     898msgid "Leave empty to use this template everywhere. Choose products, categories or tags to use it only there; it then takes priority over the default template of this type."
     899msgstr ""
     900
    826901#: includes/builder/modal/modal.php:93
     902#: modules/product-category-carousel/widgets/product-category-carousel.php:1059
     903#: modules/product-category/widgets/product-category.php:1089
     904msgid "Products"
     905msgstr ""
     906
     907#: includes/builder/modal/modal.php:94
     908msgid "Search for a product…"
     909msgstr ""
     910
     911#: includes/builder/modal/modal.php:98
     912msgid "Product Categories"
     913msgstr ""
     914
     915#: includes/builder/modal/modal.php:99
     916msgid "Product Tags"
     917msgstr ""
     918
     919#: includes/builder/modal/modal.php:110
     920msgid "Any"
     921msgstr ""
     922
     923#: includes/builder/modal/modal.php:127
    827924#: assets/admin/others/js/ultimate-builder.js:1
    828925msgid "Create Template"
     926msgstr ""
     927
     928#. translators: %s: Comma-separated product names.
     929#: includes/builder/template-conditions.php:345
     930#, php-format
     931msgid "Products: %s"
     932msgstr ""
     933
     934#: includes/builder/template-conditions.php:350
     935#, php-format
     936msgid "Categories: %s"
     937msgstr ""
     938
     939#: includes/builder/template-conditions.php:350
     940#, php-format
     941msgid "Tags: %s"
    829942msgstr ""
    830943
    … …  
    9711084#: modules/product-reviews/widgets/product-reviews.php:194
    9721085#: traits/global-terms-query-controls.php:26
    973 #: assets/admin/admin.js:1
     1086#: assets/admin/admin.js:3
     1087#: assets/admin/admin.js:6
    9741088msgid "All"
    9751089msgstr ""
    … …  
    10431157#: modules/mobile-menu/widgets/mobile-menu.php:309
    10441158#: modules/product-table/widgets/product-table.php:203
    1045 #: assets/admin/admin.js:1
     1159#: assets/admin/admin.js:9
    10461160msgid "Default"
    10471161msgstr ""
    … …  
    11791293#: modules/product-reviews/widgets/product-reviews.php:226
    11801294#: modules/product-reviews/widgets/product-reviews.php:512
    1181 #: assets/admin/admin.js:1
     1295#: assets/admin/admin.js:9
    11821296msgid "Author"
    11831297msgstr ""
    … …  
    17391853#: modules/product-table/widgets/product-table.php:96
    17401854#: modules/product-table/widgets/product-table.php:121
    1741 #: modules/qr-code/widgets/qr-code.php:120
     1855#: modules/qr-code/widgets/qr-code.php:121
    17421856#: modules/sub-category-carousel/widgets/sub-category-carousel.php:187
    17431857#: modules/sub-category-carousel/widgets/sub-category-carousel.php:580
    … …  
    38743988#: modules/product-table/widgets/product-table.php:92
    38753989#: modules/product-table/widgets/product-table.php:117
    3876 #: modules/qr-code/widgets/qr-code.php:116
     3990#: modules/qr-code/widgets/qr-code.php:117
    38773991#: modules/sub-category-carousel/widgets/sub-category-carousel.php:183
    38783992#: modules/sub-category-carousel/widgets/sub-category-carousel.php:576
    … …  
    39094023#: modules/product-table/widgets/product-table.php:100
    39104024#: modules/product-table/widgets/product-table.php:125
    3911 #: modules/qr-code/widgets/qr-code.php:124
     4025#: modules/qr-code/widgets/qr-code.php:125
    39124026#: modules/sub-category-carousel/widgets/sub-category-carousel.php:191
    39134027#: modules/sub-category-carousel/widgets/sub-category-carousel.php:584
    … …  
    43074421#: traits/global-widget-controls.php:2805
    43084422#: traits/global-widget-controls.php:2965
    4309 #: assets/admin/admin.js:1
    43104423msgid "Navigation"
    43114424msgstr ""
    … …  
    52925405#: modules/product-table/widgets/product-table.php:1520
    52935406#: modules/product-table/widgets/product-table.php:2061
    5294 #: modules/qr-code/widgets/qr-code.php:96
     5407#: modules/qr-code/widgets/qr-code.php:97
    52955408msgid "Quantity"
    52965409msgstr ""
    … …  
    56035716
    56045717#: modules/page-order/widgets/page-order.php:1166
    5605 #: assets/admin/admin.js:1
    56065718msgid "Total:"
    56075719msgstr ""
    … …  
    57595871#: modules/product-category/widgets/product-category.php:834
    57605872msgid "Count / Icon"
    5761 msgstr ""
    5762 
    5763 #: modules/product-category-carousel/widgets/product-category-carousel.php:1059
    5764 #: modules/product-category/widgets/product-category.php:1089
    5765 msgid "Products"
    57665873msgstr ""
    57675874
    … …  
    58845991
    58855992#: modules/product-table/widgets/product-table.php:138
     5993#: assets/admin/admin.js:1
    58865994msgid "Search"
    58875995msgstr ""
    … …  
    60486156msgstr ""
    60496157
    6050 #: modules/qr-code/widgets/qr-code.php:74
     6158#: modules/qr-code/widgets/qr-code.php:75
    60516159msgid "Dimension Size"
    60526160msgstr ""
    60536161
    6054 #: modules/qr-code/widgets/qr-code.php:86
     6162#: modules/qr-code/widgets/qr-code.php:87
    60556163msgid "Enable Add to Cart URL"
    60566164msgstr ""
    60576165
    6058 #: modules/qr-code/widgets/qr-code.php:112
     6166#: modules/qr-code/widgets/qr-code.php:113
    60596167msgid "Alignement"
    60606168msgstr ""
    … …  
    65346642msgstr ""
    65356643
    6536 #: traits/global-widget-template.php:516
     6644#: traits/global-widget-template.php:526
    65376645msgid "% off"
    65386646msgstr ""
    … …  
    65716679
    65726680#: assets/admin/admin.js:1
    6573 msgid "Build high-converting WooCommerce stores with Elementor widgets & presets."
     6681msgid "License active"
    65746682msgstr ""
    65756683
    65766684#: assets/admin/admin.js:1
    6577 msgid "Open menu"
     6685msgid "License inactive"
    65786686msgstr ""
    65796687
    65806688#: assets/admin/admin.js:1
     6689msgid "Free version"
     6690msgstr ""
     6691
     6692#: assets/admin/admin.js:1
     6693#: assets/admin/admin.js:3
     6694#: assets/admin/admin.js:6
     6695#: assets/admin/admin.js:9
     6696msgid "Widgets"
     6697msgstr ""
     6698
     6699#: assets/admin/admin.js:1
     6700msgid "Search widgets, modules and pages…"
     6701msgstr ""
     6702
     6703#: assets/admin/admin.js:1
     6704msgid "Nothing found."
     6705msgstr ""
     6706
     6707#: assets/admin/admin.js:1
     6708msgid "Docs"
     6709msgstr ""
     6710
     6711#: assets/admin/admin.js:1
     6712#: assets/admin/admin.js:3
     6713#: assets/admin/admin.js:9
    65816714msgid "Get Pro"
    65826715msgstr ""
    65836716
    65846717#: assets/admin/admin.js:1
    6585 msgid "Help & Support"
     6718msgid "More"
    65866719msgstr ""
    65876720
    … …  
    66676800
    66686801#: assets/admin/admin.js:1
     6802#: assets/admin/admin.js:9
    66696803msgid "Dashboard"
    66706804msgstr ""
    66716805
    66726806#: assets/admin/admin.js:1
    6673 msgid "Widgets"
     6807#: assets/admin/admin.js:6
     6808msgid "EDD"
    66746809msgstr ""
    66756810
    66766811#: assets/admin/admin.js:1
    6677 msgid "WooCommerce"
     6812#: assets/admin/admin.js:6
     6813msgid "Others"
    66786814msgstr ""
    66796815
    66806816#: assets/admin/admin.js:1
    6681 msgid "EDD"
     6817#: assets/admin/admin.js:3
     6818#: assets/admin/admin.js:9
     6819msgid "Modules"
    66826820msgstr ""
    66836821
    66846822#: assets/admin/admin.js:1
    6685 msgid "Others"
     6823#: assets/admin/admin.js:3
     6824#: assets/admin/admin.js:9
     6825msgid "Support"
    66866826msgstr ""
    66876827
    66886828#: assets/admin/admin.js:1
    6689 msgid "Modules"
    6690 msgstr ""
    6691 
    6692 #: assets/admin/admin.js:1
    6693 msgid "Support"
    6694 msgstr ""
    6695 
    6696 #: assets/admin/admin.js:1
     6829#: assets/admin/admin.js:9
    66976830msgid "About & Info"
    66986831msgstr ""
    66996832
    6700 #: assets/admin/admin.js:1
    6701 msgid "Coming soon"
    6702 msgstr ""
    6703 
    6704 #: assets/admin/admin.js:1
    6705 msgid "New items planned for upcoming updates:"
    6706 msgstr ""
    6707 
    6708 #: assets/admin/admin.js:1
    6709 msgid "7+ WooCommerce widgets"
    6710 msgstr ""
    6711 
    6712 #: assets/admin/admin.js:1
    6713 msgid "Template-based presets"
    6714 msgstr ""
    6715 
    6716 #: assets/admin/admin.js:1
    6717 msgid "Performance-focused improvements"
    6718 msgstr ""
    6719 
    6720 #: assets/admin/admin.js:1
    6721 msgid "See roadmap"
    6722 msgstr ""
    6723 
    6724 #: assets/admin/admin.js:1
    6725 msgid "Close menu"
    6726 msgstr ""
    6727 
    6728 #: assets/admin/admin.js:1
    6729 msgid "Active:"
    6730 msgstr ""
    6731 
    6732 #: assets/admin/admin.js:1
    6733 msgid "Inactive:"
    6734 msgstr ""
    6735 
    6736 #: assets/admin/admin.js:1
    6737 msgid "All Widgets"
    6738 msgstr ""
    6739 
    6740 #: assets/admin/admin.js:1
    6741 msgid "Other"
    6742 msgstr ""
    6743 
    6744 #: assets/admin/admin.js:1
    6745 msgid "Support And Feedback"
    6746 msgstr ""
    6747 
    6748 #: assets/admin/admin.js:1
    6749 msgid "Feeling like to consult with an expert? Take live Chat support immediately from"
    6750 msgstr ""
    6751 
    6752 #: assets/admin/admin.js:1
    6753 msgid "We are always ready to help you 24/7."
    6754 msgstr ""
    6755 
    6756 #: assets/admin/admin.js:1
    6757 msgid "Or if you're facing technical issues with our plugin, then please create a support ticket"
    6758 msgstr ""
    6759 
    6760 #: assets/admin/admin.js:1
     6833#. translators: 1: enabled widgets, 2: all widgets.
     6834#: assets/admin/admin.js:2
     6835#, js-format
     6836msgid "%1$d of %2$d enabled"
     6837msgstr ""
     6838
     6839#: assets/admin/admin.js:2
     6840msgid "Current"
     6841msgstr ""
     6842
     6843#. translators: %d: count.
     6844#: assets/admin/admin.js:2
     6845#, js-format
     6846msgid "%d added"
     6847msgstr ""
     6848
     6849#. translators: %d: count.
     6850#: assets/admin/admin.js:2
     6851#, js-format
     6852msgid "%d fixed"
     6853msgstr ""
     6854
     6855#. translators: %d: count.
     6856#: assets/admin/admin.js:2
     6857#, js-format
     6858msgid "%d updated"
     6859msgstr ""
     6860
     6861#: assets/admin/admin.js:2
     6862msgid "Optimize asset loading"
     6863msgstr ""
     6864
     6865#: assets/admin/admin.js:2
     6866msgid "Turn on Asset Optimization so pages only load the CSS/JS they use."
     6867msgstr ""
     6868
     6869#: assets/admin/admin.js:2
     6870msgid "Open performance"
     6871msgstr ""
     6872
     6873#: assets/admin/admin.js:2
     6874msgid "Design your shop pages"
     6875msgstr ""
     6876
     6877#: assets/admin/admin.js:2
     6878msgid "Build shop, product, cart and checkout templates with Elementor."
     6879msgstr ""
     6880
     6881#: assets/admin/admin.js:2
     6882msgid "Open Template Builder"
     6883msgstr ""
     6884
     6885#: assets/admin/admin.js:2
     6886msgid "Switch on a store module"
     6887msgstr ""
     6888
     6889#: assets/admin/admin.js:2
     6890msgid "Size charts, badges, free shipping bar, quick checkout and more."
     6891msgstr ""
     6892
     6893#: assets/admin/admin.js:2
     6894msgid "Browse modules"
     6895msgstr ""
     6896
     6897#. translators: %s: user display name.
     6898#: assets/admin/admin.js:3
     6899#, js-format
     6900msgid "Welcome back, %s"
     6901msgstr ""
     6902
     6903#: assets/admin/admin.js:3
     6904msgid "Welcome back"
     6905msgstr ""
     6906
     6907#: assets/admin/admin.js:3
     6908msgid "Here's what's happening across your store."
     6909msgstr ""
     6910
     6911#: assets/admin/admin.js:3
     6912msgid "Total widgets"
     6913msgstr ""
     6914
     6915#: assets/admin/admin.js:3
     6916msgid "Widgets enabled"
     6917msgstr ""
     6918
     6919#: assets/admin/admin.js:3
     6920msgid "live"
     6921msgstr ""
     6922
     6923#: assets/admin/admin.js:3
     6924msgid "Modules active"
     6925msgstr ""
     6926
     6927#. translators: %d: number of modules.
     6928#: assets/admin/admin.js:3
     6929#, js-format
     6930msgid "of %d"
     6931msgstr ""
     6932
     6933#: assets/admin/admin.js:3
     6934msgid "Builder templates"
     6935msgstr ""
     6936
     6937#. translators: %d: active templates.
     6938#. translators: %d: number of active modules.
     6939#: assets/admin/admin.js:3
     6940#: assets/admin/admin.js:5
     6941#, js-format
     6942msgid "%d active"
     6943msgstr ""
     6944
     6945#: assets/admin/admin.js:3
     6946#: assets/admin/admin.js:9
     6947msgid "WooCommerce widgets"
     6948msgstr ""
     6949
     6950#: assets/admin/admin.js:3
     6951#: assets/admin/admin.js:9
     6952msgid "EDD widgets"
     6953msgstr ""
     6954
     6955#: assets/admin/admin.js:3
     6956#: assets/admin/admin.js:9
     6957msgid "Other widgets"
     6958msgstr ""
     6959
     6960#: assets/admin/admin.js:3
     6961msgid "Quick actions"
     6962msgstr ""
     6963
     6964#. translators: %d: number of widgets.
     6965#: assets/admin/admin.js:3
     6966#, js-format
     6967msgid "Toggle %d elements"
     6968msgstr ""
     6969
     6970#. translators: %d: number of modules.
     6971#: assets/admin/admin.js:3
     6972#, js-format
     6973msgid "%d store features"
     6974msgstr ""
     6975
     6976#: assets/admin/admin.js:3
     6977msgid "Shop, product & cart pages"
     6978msgstr ""
     6979
     6980#: assets/admin/admin.js:3
     6981#: assets/admin/admin.js:9
     6982msgid "License"
     6983msgstr ""
     6984
     6985#: assets/admin/admin.js:3
     6986msgid "Pro is active"
     6987msgstr ""
     6988
     6989#: assets/admin/admin.js:3
     6990msgid "Activate Pro"
     6991msgstr ""
     6992
     6993#: assets/admin/admin.js:3
     6994msgid "Unlock every module"
     6995msgstr ""
     6996
     6997#: assets/admin/admin.js:3
     6998#: assets/admin/admin.js:9
     6999msgid "Documentation"
     7000msgstr ""
     7001
     7002#: assets/admin/admin.js:3
     7003msgid "Guides & tutorials"
     7004msgstr ""
     7005
     7006#: assets/admin/admin.js:3
     7007msgid "Get help from the team"
     7008msgstr ""
     7009
     7010#: assets/admin/admin.js:3
     7011msgid "Recent activity"
     7012msgstr ""
     7013
     7014#: assets/admin/admin.js:3
     7015msgid "View all"
     7016msgstr ""
     7017
     7018#: assets/admin/admin.js:3
     7019msgid "Suggestions"
     7020msgstr ""
     7021
     7022#. translators: %d: number of suggestions.
     7023#: assets/admin/admin.js:3
     7024#, js-format
     7025msgid "%d new"
     7026msgstr ""
     7027
     7028#: assets/admin/admin.js:3
     7029msgid "What's new"
     7030msgstr ""
     7031
     7032#. translators: %s: version.
     7033#: assets/admin/admin.js:3
     7034#, js-format
     7035msgid "Ultimate Store Kit %s"
     7036msgstr ""
     7037
     7038#: assets/admin/admin.js:3
     7039msgid "See everything added, fixed and improved in this update."
     7040msgstr ""
     7041
     7042#: assets/admin/admin.js:3
     7043msgid "Explore modules"
     7044msgstr ""
     7045
     7046#: assets/admin/admin.js:3
     7047msgid "Go Pro"
     7048msgstr ""
     7049
     7050#: assets/admin/admin.js:3
     7051msgid "Sell more with Pro modules"
     7052msgstr ""
     7053
     7054#: assets/admin/admin.js:3
     7055msgid "Partial payments, cart recovery, size charts, badges, upsells, currency switcher and every Pro widget."
     7056msgstr ""
     7057
     7058#: assets/admin/admin.js:3
     7059msgid "System status"
     7060msgstr ""
     7061
     7062#: assets/admin/admin.js:3
     7063#: assets/admin/admin.js:6
     7064msgid "Details"
     7065msgstr ""
     7066
     7067#: assets/admin/admin.js:3
     7068msgid "Resources & help"
     7069msgstr ""
     7070
     7071#: assets/admin/admin.js:3
     7072msgid "Release notes"
     7073msgstr ""
     7074
     7075#: assets/admin/admin.js:3
     7076#: assets/admin/admin.js:9
     7077msgid "Request a feature"
     7078msgstr ""
     7079
     7080#: assets/admin/admin.js:3
     7081msgid "Tell us what to build next"
     7082msgstr ""
     7083
     7084#: assets/admin/admin.js:3
     7085#: assets/admin/admin.js:5
     7086msgid "Off"
     7087msgstr ""
     7088
     7089#. translators: 1: active modules, 2: all modules.
     7090#: assets/admin/admin.js:4
     7091#, js-format
     7092msgid "%1$d of %2$d active - store features that work across your whole shop."
     7093msgstr ""
     7094
     7095#: assets/admin/admin.js:5
     7096msgid "Search modules"
     7097msgstr ""
     7098
     7099#: assets/admin/admin.js:5
     7100msgid "Search modules…"
     7101msgstr ""
     7102
     7103#: assets/admin/admin.js:5
     7104msgid "Filter modules"
     7105msgstr ""
     7106
     7107#: assets/admin/admin.js:5
     7108msgid "No modules match your search."
     7109msgstr ""
     7110
     7111#: assets/admin/admin.js:5
     7112msgid "See what it does"
     7113msgstr ""
     7114
     7115#: assets/admin/admin.js:5
     7116msgid "Configure"
     7117msgstr ""
     7118
     7119#: assets/admin/admin.js:5
     7120msgid "Asset Optimization"
     7121msgstr ""
     7122
     7123#: assets/admin/admin.js:5
     7124msgid "Load Ultimate Store Kit files only where they are used, and combine widget CSS and JS into files stored in your uploads folder."
     7125msgstr ""
     7126
     7127#: assets/admin/admin.js:5
     7128msgid "Asset Manager"
     7129msgstr ""
     7130
     7131#: assets/admin/admin.js:5
     7132msgid "Joins the CSS and JS of the widgets each page uses into combined files, and skips the store-wide files on pages without an Ultimate Store Kit widget."
     7133msgstr ""
     7134
     7135#: assets/admin/admin.js:5
     7136#: assets/admin/admin.js:9
     7137msgid "Saving…"
     7138msgstr ""
     7139
     7140#: assets/admin/admin.js:5
     7141msgid "Enabled"
     7142msgstr ""
     7143
     7144#: assets/admin/admin.js:5
     7145msgid "Disabled"
     7146msgstr ""
     7147
     7148#: assets/admin/admin.js:5
     7149msgid "Combined files"
     7150msgstr ""
     7151
     7152#. translators: 1: CSS files, 2: JS files, 3: total size.
     7153#: assets/admin/admin.js:6
     7154#, js-format
     7155msgid "%1$d CSS · %2$d JS · %3$s"
     7156msgstr ""
     7157
     7158#. translators: %s: short fingerprint of the current file set.
     7159#: assets/admin/admin.js:6
     7160#, js-format
     7161msgid "Set %s"
     7162msgstr ""
     7163
     7164#: assets/admin/admin.js:6
     7165msgid "Auto-regenerate"
     7166msgstr ""
     7167
     7168#: assets/admin/admin.js:6
     7169msgid "Combined files rebuild by themselves after a plugin update or when Elementor's files are cleared."
     7170msgstr ""
     7171
     7172#: assets/admin/admin.js:6
     7173msgid "Combined files cleared."
     7174msgstr ""
     7175
     7176#: assets/admin/admin.js:6
     7177msgid "The combined files could not be cleared."
     7178msgstr ""
     7179
     7180#: assets/admin/admin.js:6
     7181msgid "Clearing…"
     7182msgstr ""
     7183
     7184#: assets/admin/admin.js:6
     7185msgid "Regenerate files"
     7186msgstr ""
     7187
     7188#: assets/admin/admin.js:6
     7189msgid "What changes when it is on"
     7190msgstr ""
     7191
     7192#: assets/admin/admin.js:6
     7193msgid "Store-wide files only where needed"
     7194msgstr ""
     7195
     7196#: assets/admin/admin.js:6
     7197msgid "The site stylesheet and script, the quick-view modal and the slide-in panel load only on pages with an Ultimate Store Kit widget."
     7198msgstr ""
     7199
     7200#: assets/admin/admin.js:6
     7201msgid "Fewer files per page"
     7202msgstr ""
     7203
     7204#: assets/admin/admin.js:6
     7205msgid "The CSS and JS of the widgets on a page are joined into one stylesheet and one script, shared by every page with the same widgets."
     7206msgstr ""
     7207
     7208#: assets/admin/admin.js:6
     7209msgid "Editor unchanged"
     7210msgstr ""
     7211
     7212#: assets/admin/admin.js:6
     7213msgid "The Elementor editor and preview keep loading the separate files, so editing works as before. Switch it off at any time to go back."
     7214msgstr ""
     7215
     7216#: assets/admin/admin.js:6
     7217msgid "Something went wrong. Reload the page and try again."
     7218msgstr ""
     7219
     7220#: assets/admin/admin.js:6
     7221msgid "Installed"
     7222msgstr ""
     7223
     7224#: assets/admin/admin.js:6
     7225msgid "Not installed"
     7226msgstr ""
     7227
     7228#: assets/admin/admin.js:6
     7229#: assets/admin/admin.js:9
     7230msgid "Other Plugins"
     7231msgstr ""
     7232
     7233#: assets/admin/admin.js:6
     7234msgid "Install companion plugins from BdThemes to extend your store."
     7235msgstr ""
     7236
     7237#: assets/admin/admin.js:6
     7238msgid "Retry"
     7239msgstr ""
     7240
     7241#: assets/admin/admin.js:6
     7242msgid "Loading plugins…"
     7243msgstr ""
     7244
     7245#. translators: %s: number of millions.
     7246#: assets/admin/admin.js:6
     7247#, js-format
     7248msgid "%s M+ installs"
     7249msgstr ""
     7250
     7251#. translators: %s: number of thousands.
     7252#: assets/admin/admin.js:6
     7253#, js-format
     7254msgid "%s K+ installs"
     7255msgstr ""
     7256
     7257#. translators: %d: number of installs.
     7258#: assets/admin/admin.js:6
     7259#, js-format
     7260msgid "%d+ installs"
     7261msgstr ""
     7262
     7263#: assets/admin/admin.js:6
     7264msgid "Plugin installed."
     7265msgstr ""
     7266
     7267#: assets/admin/admin.js:6
     7268msgid "Installing…"
     7269msgstr ""
     7270
     7271#: assets/admin/admin.js:6
     7272#: assets/admin/admin.js:8
     7273msgid "Install"
     7274msgstr ""
     7275
     7276#: assets/admin/admin.js:6
     7277msgid "The plugin could not be activated."
     7278msgstr ""
     7279
     7280#: assets/admin/admin.js:6
     7281msgid "Plugin activated."
     7282msgstr ""
     7283
     7284#: assets/admin/admin.js:6
     7285msgid "Activating…"
     7286msgstr ""
     7287
     7288#: assets/admin/admin.js:6
     7289msgid "Activate"
     7290msgstr ""
     7291
     7292#: assets/admin/admin.js:6
     7293#: assets/admin/admin.js:9
     7294msgid "Free"
     7295msgstr ""
     7296
     7297#: assets/admin/admin.js:6
     7298#: assets/admin/admin.js:9
     7299msgid "Pro"
     7300msgstr ""
     7301
     7302#. translators: 1: enabled widgets, 2: all widgets in this category.
     7303#: assets/admin/admin.js:7
     7304#, js-format
     7305msgid "%1$d of %2$d enabled - disable unused widgets for faster pages."
     7306msgstr ""
     7307
     7308#. translators: 1: enabled, 2: total.
     7309#: assets/admin/admin.js:8
     7310#, js-format
     7311msgid "%1$d of %2$d active"
     7312msgstr ""
     7313
     7314#: assets/admin/admin.js:8
     7315msgid "Enable all"
     7316msgstr ""
     7317
     7318#: assets/admin/admin.js:8
     7319msgid "Disable all"
     7320msgstr ""
     7321
     7322#: assets/admin/admin.js:8
     7323msgid "Search widgets"
     7324msgstr ""
     7325
     7326#: assets/admin/admin.js:8
     7327msgid "Search widgets…"
     7328msgstr ""
     7329
     7330#: assets/admin/admin.js:8
     7331msgid "Widget category"
     7332msgstr ""
     7333
     7334#: assets/admin/admin.js:8
     7335msgid "Template type"
     7336msgstr ""
     7337
     7338#: assets/admin/admin.js:8
     7339msgid "All templates"
     7340msgstr ""
     7341
     7342#: assets/admin/admin.js:8
     7343msgid "Filter widgets"
     7344msgstr ""
     7345
     7346#: assets/admin/admin.js:8
     7347msgid "No widgets found."
     7348msgstr ""
     7349
     7350#: assets/admin/admin.js:8
     7351msgid "Demo"
     7352msgstr ""
     7353
     7354#: assets/admin/admin.js:8
     7355msgid "Video"
     7356msgstr ""
     7357
     7358#: assets/admin/admin.js:8
     7359msgid "NEW"
     7360msgstr ""
     7361
     7362#: assets/admin/admin.js:8
     7363msgid "Available in Pro"
     7364msgstr ""
     7365
     7366#. translators: %d: number of changed widgets.
     7367#: assets/admin/admin.js:9
     7368#, js-format
     7369msgid "%d unsaved change(s)"
     7370msgstr ""
     7371
     7372#: assets/admin/admin.js:9
     7373msgid "Discard"
     7374msgstr ""
     7375
     7376#: assets/admin/admin.js:9
     7377msgid "Save changes"
     7378msgstr ""
     7379
     7380#: assets/admin/admin.js:9
     7381msgid "Sales Notifications"
     7382msgstr ""
     7383
     7384#: assets/admin/admin.js:9
     7385msgid "Configure flash sale banners, countdown timers, and promotional badges for your store."
     7386msgstr ""
     7387
     7388#: assets/admin/admin.js:9
     7389msgid "Enable Flash Sale Banner"
     7390msgstr ""
     7391
     7392#: assets/admin/admin.js:9
     7393msgid "Display a site-wide flash sale banner on product pages."
     7394msgstr ""
     7395
     7396#: assets/admin/admin.js:9
     7397msgid "Flash Sale Text"
     7398msgstr ""
     7399
     7400#: assets/admin/admin.js:9
     7401msgid "🔥 Flash Sale — Up to 50% OFF!"
     7402msgstr ""
     7403
     7404#: assets/admin/admin.js:9
     7405msgid "Sale Badge Style"
     7406msgstr ""
     7407
     7408#: assets/admin/admin.js:9
     7409msgid "Ribbon"
     7410msgstr ""
     7411
     7412#: assets/admin/admin.js:9
     7413msgid "Circle"
     7414msgstr ""
     7415
     7416#: assets/admin/admin.js:9
     7417msgid "Starburst"
     7418msgstr ""
     7419
     7420#: assets/admin/admin.js:9
     7421msgid "Sale Badge Color"
     7422msgstr ""
     7423
     7424#: assets/admin/admin.js:9
     7425msgid "Enable Sale Countdown Timer"
     7426msgstr ""
     7427
     7428#: assets/admin/admin.js:9
     7429msgid "Show a countdown timer on products that have a sale end date."
     7430msgstr ""
     7431
     7432#: assets/admin/admin.js:9
     7433msgid "Countdown Position"
     7434msgstr ""
     7435
     7436#: assets/admin/admin.js:9
     7437msgid "Above Price"
     7438msgstr ""
     7439
     7440#: assets/admin/admin.js:9
     7441msgid "Below Price"
     7442msgstr ""
     7443
     7444#: assets/admin/admin.js:9
     7445msgid "Above Add to Cart"
     7446msgstr ""
     7447
     7448#: assets/admin/admin.js:9
     7449msgid "Minimum Discount % to Show Badge"
     7450msgstr ""
     7451
     7452#: assets/admin/admin.js:9
     7453msgid "Only show the sale badge when the discount is at least this percentage."
     7454msgstr ""
     7455
     7456#: assets/admin/admin.js:9
     7457msgid "Unlock these premium settings with Ultimate Store Kit Pro"
     7458msgstr ""
     7459
     7460#: assets/admin/admin.js:9
     7461msgid "General"
     7462msgstr ""
     7463
     7464#: assets/admin/admin.js:9
     7465msgid "Saving..."
     7466msgstr ""
     7467
     7468#: assets/admin/admin.js:9
     7469msgid "Save Changes"
     7470msgstr ""
     7471
     7472#: assets/admin/admin.js:9
     7473msgid "Core Widgets"
     7474msgstr ""
     7475
     7476#: assets/admin/admin.js:9
     7477msgid "Theme Compatibility"
     7478msgstr ""
     7479
     7480#: assets/admin/admin.js:9
     7481msgid "Dynamic Content & Custom Fields"
     7482msgstr ""
     7483
     7484#: assets/admin/admin.js:9
     7485msgid "Proper Documentation"
     7486msgstr ""
     7487
     7488#: assets/admin/admin.js:9
     7489msgid "Updates & Support"
     7490msgstr ""
     7491
     7492#: assets/admin/admin.js:9
     7493msgid "Ready Made Blocks"
     7494msgstr ""
     7495
     7496#: assets/admin/admin.js:9
     7497msgid "Ready Made Pages"
     7498msgstr ""
     7499
     7500#: assets/admin/admin.js:9
     7501msgid "Rooten Theme Pro Features"
     7502msgstr ""
     7503
     7504#: assets/admin/admin.js:9
     7505msgid "Priority Support"
     7506msgstr ""
     7507
     7508#: assets/admin/admin.js:9
     7509msgid "Incredibly Advanced"
     7510msgstr ""
     7511
     7512#: assets/admin/admin.js:9
     7513msgid "Refund or Cancel Anytime"
     7514msgstr ""
     7515
     7516#: assets/admin/admin.js:9
     7517msgid "Dynamic Content"
     7518msgstr ""
     7519
     7520#: assets/admin/admin.js:9
     7521msgid "Super-Flexible Widgets"
     7522msgstr ""
     7523
     7524#: assets/admin/admin.js:9
     7525msgid "24/7 Premium Support"
     7526msgstr ""
     7527
     7528#: assets/admin/admin.js:9
     7529msgid "Third Party Plugins"
     7530msgstr ""
     7531
     7532#: assets/admin/admin.js:9
     7533msgid "Special Discount!"
     7534msgstr ""
     7535
     7536#: assets/admin/admin.js:9
     7537msgid "Custom Field Integration"
     7538msgstr ""
     7539
     7540#: assets/admin/admin.js:9
     7541msgid "With Live Chat Support"
     7542msgstr ""
     7543
     7544#: assets/admin/admin.js:9
     7545msgid "Trusted Payment Methods"
     7546msgstr ""
     7547
     7548#: assets/admin/admin.js:9
     7549msgid "Interactive Effects"
     7550msgstr ""
     7551
     7552#: assets/admin/admin.js:9
     7553msgid "Video Tutorial"
     7554msgstr ""
     7555
     7556#: assets/admin/admin.js:9
     7557msgid "You already have Pro!"
     7558msgstr ""
     7559
     7560#: assets/admin/admin.js:9
     7561msgid "Thank you for being a Pro user. You have access to all features."
     7562msgstr ""
     7563
     7564#: assets/admin/admin.js:9
     7565msgid "Features"
     7566msgstr ""
     7567
     7568#: assets/admin/admin.js:9
     7569msgid "What's included with Pro"
     7570msgstr ""
     7571
     7572#: assets/admin/admin.js:9
     7573msgid "Ready to unlock all Pro features?"
     7574msgstr ""
     7575
     7576#: assets/admin/admin.js:9
     7577msgid "Upgrade to Pro — View Pricing"
     7578msgstr ""
     7579
     7580#: assets/admin/admin.js:9
     7581msgid "30-day money-back"
     7582msgstr ""
     7583
     7584#: assets/admin/admin.js:9
     7585msgid "Cancel anytime"
     7586msgstr ""
     7587
     7588#: assets/admin/admin.js:9
     7589msgid "Instant access"
     7590msgstr ""
     7591
     7592#: assets/admin/admin.js:9
     7593msgid "Elementor widgets"
     7594msgstr ""
     7595
     7596#: assets/admin/admin.js:9
     7597msgid "WooCommerce ready"
     7598msgstr ""
     7599
     7600#: assets/admin/admin.js:9
     7601msgid "Store-focused UI"
     7602msgstr ""
     7603
     7604#: assets/admin/admin.js:9
     7605msgid "Current version"
     7606msgstr ""
     7607
     7608#: assets/admin/admin.js:9
     7609msgid "Pro (active)"
     7610msgstr ""
     7611
     7612#: assets/admin/admin.js:9
     7613msgid "Built for"
     7614msgstr ""
     7615
     7616#: assets/admin/admin.js:9
     7617msgid "WordPress + WooCommerce"
     7618msgstr ""
     7619
     7620#: assets/admin/admin.js:9
     7621msgid "Product & support"
     7622msgstr ""
     7623
     7624#: assets/admin/admin.js:9
     7625msgid "Website"
     7626msgstr ""
     7627
     7628#: assets/admin/admin.js:9
    67617629msgid "Knowledge Base"
    67627630msgstr ""
    67637631
    6764 #: assets/admin/admin.js:1
     7632#: assets/admin/admin.js:9
    67657633msgid "Get Support"
    67667634msgstr ""
    67677635
    6768 #: assets/admin/admin.js:1
    6769 msgid "System Requirement"
    6770 msgstr ""
    6771 
    6772 #: assets/admin/admin.js:1
    6773 msgid "Make sure your server meets the minimum requirements for optimal performance."
    6774 msgstr ""
    6775 
    6776 #: assets/admin/admin.js:1
    6777 msgid "PHP Version"
    6778 msgstr ""
    6779 
    6780 #: assets/admin/admin.js:1
    6781 msgid "OK"
    6782 msgstr ""
    6783 
    6784 #: assets/admin/admin.js:1
    6785 msgid "Memory Limit"
    6786 msgstr ""
    6787 
    6788 #: assets/admin/admin.js:1
    6789 msgid "Max Execution Time"
    6790 msgstr ""
    6791 
    6792 #: assets/admin/admin.js:1
    6793 msgid "Feedback"
    6794 msgstr ""
    6795 
    6796 #: assets/admin/admin.js:1
    6797 msgid "We are always looking for feedback from our users. If you have any suggestions or feedback, please let us know."
    6798 msgstr ""
    6799 
    6800 #: assets/admin/admin.js:1
    6801 msgid "Request Feature"
    6802 msgstr ""
    6803 
    6804 #: assets/admin/admin.js:1
    6805 msgid "Try Our Other Plugins"
    6806 msgstr ""
    6807 
    6808 #: assets/admin/admin.js:1
    6809 msgid "Element Pack, Prime Slider, Ultimate Post Kit, Pixel Gallery & Live Copy Paste addons for Elementor."
    6810 msgstr ""
    6811 
    6812 #: assets/admin/admin.js:1
    6813 msgid "Element Pack"
    6814 msgstr ""
    6815 
    6816 #: assets/admin/admin.js:1
    6817 msgid "Prime Slider"
    6818 msgstr ""
    6819 
    6820 #: assets/admin/admin.js:1
    6821 msgid "Ultimate Post Kit"
    6822 msgstr ""
    6823 
    6824 #: assets/admin/admin.js:1
    6825 msgid "Pixel Gallery"
    6826 msgstr ""
    6827 
    6828 #: assets/admin/admin.js:1
    6829 msgid "ZoloBlocks"
    6830 msgstr ""
    6831 
    6832 #: assets/admin/admin.js:1
    6833 msgid "WooCommerce Widgets"
    6834 msgstr ""
    6835 
    6836 #: assets/admin/admin.js:1
    6837 msgid "Easy Digital Downloads Widgets"
    6838 msgstr ""
    6839 
    6840 #: assets/admin/admin.js:1
    6841 msgid "Other Widgets"
    6842 msgstr ""
    6843 
    6844 #: assets/admin/admin.js:1
    6845 msgid "Search widgets..."
    6846 msgstr ""
    6847 
    6848 #: assets/admin/admin.js:1
    6849 msgid "Status:"
    6850 msgstr ""
    6851 
    6852 #: assets/admin/admin.js:1
    6853 msgid "Free"
    6854 msgstr ""
    6855 
    6856 #: assets/admin/admin.js:1
    6857 msgid "Pro"
    6858 msgstr ""
    6859 
    6860 #: assets/admin/admin.js:1
    6861 msgid "Template:"
    6862 msgstr ""
    6863 
    6864 #: assets/admin/admin.js:1
    6865 msgid "Activate All"
    6866 msgstr ""
    6867 
    6868 #: assets/admin/admin.js:1
    6869 msgid "Deactivate All"
    6870 msgstr ""
    6871 
    6872 #: assets/admin/admin.js:1
    6873 msgid "No widgets found."
    6874 msgstr ""
    6875 
    6876 #: assets/admin/admin.js:1
    6877 msgid "Install"
    6878 msgstr ""
    6879 
    6880 #: assets/admin/admin.js:1
    6881 msgid "Demo"
    6882 msgstr ""
    6883 
    6884 #: assets/admin/admin.js:1
    6885 msgid "Video"
    6886 msgstr ""
    6887 
    6888 #: assets/admin/admin.js:1
    6889 msgid "Saving..."
    6890 msgstr ""
    6891 
    6892 #: assets/admin/admin.js:1
    6893 msgid "Save Changes"
    6894 msgstr ""
    6895 
    6896 #: assets/admin/admin.js:1
    6897 msgid "Sales Notifications"
    6898 msgstr ""
    6899 
    6900 #: assets/admin/admin.js:1
    6901 msgid "Configure flash sale banners, countdown timers, and promotional badges for your store."
    6902 msgstr ""
    6903 
    6904 #: assets/admin/admin.js:1
    6905 msgid "Enable Flash Sale Banner"
    6906 msgstr ""
    6907 
    6908 #: assets/admin/admin.js:1
    6909 msgid "Display a site-wide flash sale banner on product pages."
    6910 msgstr ""
    6911 
    6912 #: assets/admin/admin.js:1
    6913 msgid "Flash Sale Text"
    6914 msgstr ""
    6915 
    6916 #: assets/admin/admin.js:1
    6917 msgid "🔥 Flash Sale — Up to 50% OFF!"
    6918 msgstr ""
    6919 
    6920 #: assets/admin/admin.js:1
    6921 msgid "Sale Badge Style"
    6922 msgstr ""
    6923 
    6924 #: assets/admin/admin.js:1
    6925 msgid "Ribbon"
    6926 msgstr ""
    6927 
    6928 #: assets/admin/admin.js:1
    6929 msgid "Circle"
    6930 msgstr ""
    6931 
    6932 #: assets/admin/admin.js:1
    6933 msgid "Starburst"
    6934 msgstr ""
    6935 
    6936 #: assets/admin/admin.js:1
    6937 msgid "Sale Badge Color"
    6938 msgstr ""
    6939 
    6940 #: assets/admin/admin.js:1
    6941 msgid "Enable Sale Countdown Timer"
    6942 msgstr ""
    6943 
    6944 #: assets/admin/admin.js:1
    6945 msgid "Show a countdown timer on products that have a sale end date."
    6946 msgstr ""
    6947 
    6948 #: assets/admin/admin.js:1
    6949 msgid "Countdown Position"
    6950 msgstr ""
    6951 
    6952 #: assets/admin/admin.js:1
    6953 msgid "Above Price"
    6954 msgstr ""
    6955 
    6956 #: assets/admin/admin.js:1
    6957 msgid "Below Price"
    6958 msgstr ""
    6959 
    6960 #: assets/admin/admin.js:1
    6961 msgid "Above Add to Cart"
    6962 msgstr ""
    6963 
    6964 #: assets/admin/admin.js:1
    6965 msgid "Minimum Discount % to Show Badge"
    6966 msgstr ""
    6967 
    6968 #: assets/admin/admin.js:1
    6969 msgid "Only show the sale badge when the discount is at least this percentage."
    6970 msgstr ""
    6971 
    6972 #: assets/admin/admin.js:1
    6973 msgid "Unlock these premium settings with Ultimate Store Kit Pro"
    6974 msgstr ""
    6975 
    6976 #: assets/admin/admin.js:1
    6977 msgid "General"
    6978 msgstr ""
    6979 
    6980 #: assets/admin/admin.js:1
    6981 msgid "Core Widgets"
    6982 msgstr ""
    6983 
    6984 #: assets/admin/admin.js:1
    6985 msgid "Theme Compatibility"
    6986 msgstr ""
    6987 
    6988 #: assets/admin/admin.js:1
    6989 msgid "Dynamic Content & Custom Fields"
    6990 msgstr ""
    6991 
    6992 #: assets/admin/admin.js:1
    6993 msgid "Proper Documentation"
    6994 msgstr ""
    6995 
    6996 #: assets/admin/admin.js:1
    6997 msgid "Updates & Support"
    6998 msgstr ""
    6999 
    7000 #: assets/admin/admin.js:1
    7001 msgid "Ready Made Blocks"
    7002 msgstr ""
    7003 
    7004 #: assets/admin/admin.js:1
    7005 msgid "Ready Made Pages"
    7006 msgstr ""
    7007 
    7008 #: assets/admin/admin.js:1
    7009 msgid "Rooten Theme Pro Features"
    7010 msgstr ""
    7011 
    7012 #: assets/admin/admin.js:1
    7013 msgid "Priority Support"
    7014 msgstr ""
    7015 
    7016 #: assets/admin/admin.js:1
    7017 msgid "Incredibly Advanced"
    7018 msgstr ""
    7019 
    7020 #: assets/admin/admin.js:1
    7021 msgid "Refund or Cancel Anytime"
    7022 msgstr ""
    7023 
    7024 #: assets/admin/admin.js:1
    7025 msgid "Dynamic Content"
    7026 msgstr ""
    7027 
    7028 #: assets/admin/admin.js:1
    7029 msgid "Super-Flexible Widgets"
    7030 msgstr ""
    7031 
    7032 #: assets/admin/admin.js:1
    7033 msgid "24/7 Premium Support"
    7034 msgstr ""
    7035 
    7036 #: assets/admin/admin.js:1
    7037 msgid "Third Party Plugins"
    7038 msgstr ""
    7039 
    7040 #: assets/admin/admin.js:1
    7041 msgid "Special Discount!"
    7042 msgstr ""
    7043 
    7044 #: assets/admin/admin.js:1
    7045 msgid "Custom Field Integration"
    7046 msgstr ""
    7047 
    7048 #: assets/admin/admin.js:1
    7049 msgid "With Live Chat Support"
    7050 msgstr ""
    7051 
    7052 #: assets/admin/admin.js:1
    7053 msgid "Trusted Payment Methods"
    7054 msgstr ""
    7055 
    7056 #: assets/admin/admin.js:1
    7057 msgid "Interactive Effects"
    7058 msgstr ""
    7059 
    7060 #: assets/admin/admin.js:1
    7061 msgid "Video Tutorial"
    7062 msgstr ""
    7063 
    7064 #: assets/admin/admin.js:1
    7065 msgid "You already have Pro!"
    7066 msgstr ""
    7067 
    7068 #: assets/admin/admin.js:1
    7069 msgid "Thank you for being a Pro user. You have access to all features."
    7070 msgstr ""
    7071 
    7072 #: assets/admin/admin.js:1
    7073 msgid "Features"
    7074 msgstr ""
    7075 
    7076 #: assets/admin/admin.js:1
    7077 msgid "What's included with Pro"
    7078 msgstr ""
    7079 
    7080 #: assets/admin/admin.js:1
    7081 msgid "Ready to unlock all Pro features?"
    7082 msgstr ""
    7083 
    7084 #: assets/admin/admin.js:1
    7085 msgid "Upgrade to Pro — View Pricing"
    7086 msgstr ""
    7087 
    7088 #: assets/admin/admin.js:1
    7089 msgid "30-day money-back"
    7090 msgstr ""
    7091 
    7092 #: assets/admin/admin.js:1
    7093 msgid "Cancel anytime"
    7094 msgstr ""
    7095 
    7096 #: assets/admin/admin.js:1
    7097 msgid "Instant access"
    7098 msgstr ""
    7099 
    7100 #: assets/admin/admin.js:1
    7101 msgid "Elementor widgets"
    7102 msgstr ""
    7103 
    7104 #: assets/admin/admin.js:1
    7105 msgid "WooCommerce ready"
    7106 msgstr ""
    7107 
    7108 #: assets/admin/admin.js:1
    7109 msgid "Store-focused UI"
    7110 msgstr ""
    7111 
    7112 #: assets/admin/admin.js:1
    7113 msgid "Current version"
    7114 msgstr ""
    7115 
    7116 #: assets/admin/admin.js:1
    7117 msgid "License"
    7118 msgstr ""
    7119 
    7120 #: assets/admin/admin.js:1
    7121 msgid "Pro (active)"
    7122 msgstr ""
    7123 
    7124 #: assets/admin/admin.js:1
    7125 msgid "Built for"
    7126 msgstr ""
    7127 
    7128 #: assets/admin/admin.js:1
    7129 msgid "WordPress + WooCommerce"
    7130 msgstr ""
    7131 
    7132 #: assets/admin/admin.js:1
    7133 msgid "Product & support"
    7134 msgstr ""
    7135 
    7136 #: assets/admin/admin.js:1
    7137 msgid "Website"
    7138 msgstr ""
    7139 
    7140 #: assets/admin/admin.js:1
    7141 msgid "Documentation"
    7142 msgstr ""
    7143 
    7144 #: assets/admin/admin.js:1
     7636#: assets/admin/admin.js:9
    71457637msgid "Useful links"
    71467638msgstr ""
    71477639
    7148 #: assets/admin/admin.js:1
     7640#: assets/admin/admin.js:9
    71497641msgid "Video tutorials"
    71507642msgstr ""
    71517643
    7152 #: assets/admin/admin.js:1
     7644#: assets/admin/admin.js:9
    71537645msgid "Step-by-step YouTube tutorials for setup, widgets, and customization."
    71547646msgstr ""
    71557647
    7156 #: assets/admin/admin.js:1
    7157 msgid "Request a feature"
    7158 msgstr ""
    7159 
    7160 #: assets/admin/admin.js:1
     7648#: assets/admin/admin.js:9
    71617649msgid "Share ideas and vote on what we build next."
    71627650msgstr ""
    71637651
    7164 #: assets/admin/admin.js:1
     7652#: assets/admin/admin.js:9
    71657653msgid "Rate us on WordPress.org"
    71667654msgstr ""
    71677655
    7168 #: assets/admin/admin.js:1
     7656#: assets/admin/admin.js:9
    71697657msgid "Help others discover the plugin with a review."
    71707658msgstr ""
    71717659
    7172 #: assets/admin/admin.js:1
     7660#: assets/admin/admin.js:9
    71737661msgid "Facebook community"
    71747662msgstr ""
    71757663
    7176 #: assets/admin/admin.js:1
     7664#: assets/admin/admin.js:9
    71777665msgid "Join our Facebook community to connect with other users and the team."
    71787666msgstr ""
    71797667
    7180 #: assets/admin/admin.js:1
     7668#: assets/admin/admin.js:9
    71817669msgid "Requires Pro license"
    71827670msgstr ""
    71837671
    7184 #: assets/admin/admin.js:1
     7672#: assets/admin/admin.js:9
    71857673msgid "Module is currently disabled"
    71867674msgstr ""
    71877675
    7188 #: assets/admin/admin.js:1
     7676#: assets/admin/admin.js:9
    71897677msgid "This is a Pro feature. Upgrade to Ultimate Store Kit Pro to unlock this module and configure its settings."
    71907678msgstr ""
    71917679
    7192 #: assets/admin/admin.js:1
     7680#: assets/admin/admin.js:9
    71937681msgid "An error occurred while saving."
    71947682msgstr ""
    71957683
    7196 #: assets/admin/admin.js:1
     7684#: assets/admin/admin.js:9
     7685msgid "Performance"
     7686msgstr ""
     7687
     7688#: assets/admin/admin.js:9
     7689msgid "Pages"
     7690msgstr ""
     7691
     7692#: assets/admin/admin.js:9
     7693msgid "All modules"
     7694msgstr ""
     7695
     7696#: assets/admin/admin.js:9
    71977697msgid "Ultimate Store Kit Addon made with love by"
    71987698msgstr ""
    71997699
    7200 #: assets/admin/admin.js:1
     7700#: assets/admin/admin.js:9
    72017701msgid "All rights reserved."
    72027702msgstr ""
  • ultimate-store-kit/tags/4.1.0/loader.php

    r3684617 r3790891  
    142142                        require_once BDTUSK_PATH . 'includes/builder/loading-builder.php';
    143143                }
     144
     145                // Asset Optimization: per-page combined widget CSS/JS files.
     146                require_once BDTUSK_INC_PATH . 'class-asset-combiner.php';
     147                Includes\Asset_Combiner::init();
    144148        }
    145149
    … …  
    200204
    201205        public function register_site_styles() {
    202                 $direction_suffix = is_rtl() ? '.rtl' : '';
     206                // The stylesheets are built as <name>-rtl.css.
     207                $direction_suffix = is_rtl() ? '-rtl' : '';
    203208                wp_register_style('usk-all-styles', BDTUSK_URL . 'assets/css/all-styles' . $direction_suffix . '.css', [], BDTUSK_VER);
    204209                wp_register_style('usk-font', BDTUSK_URL . 'assets/css/font' . $direction_suffix . '.css', [], BDTUSK_VER);
    … …  
    215220        public function enqueue_site_styles() {
    216221
    217                 $direction_suffix = is_rtl() ? '.rtl' : '';
    218 
    219                 wp_register_style('usk-site', BDTUSK_ASSETS_URL . 'css/site' . $direction_suffix . '.css', [], BDTUSK_VER);
     222                $direction_suffix = is_rtl() ? '-rtl' : '';
     223
     224                // With Asset Optimization on, the modal and slide-panel libraries come in
     225                // with the site stylesheet, so a widget brings all three through its own
     226                // dependency on `usk-site`, as they always loaded together.
     227                $site_style_deps = ultimate_store_kit_is_asset_optimization_enabled() ? ['ultimate-store-kit-slick-modal', 'ultimate-store-kit-toolslide'] : [];
     228                wp_register_style('usk-site', BDTUSK_ASSETS_URL . 'css/site' . $direction_suffix . '.css', $site_style_deps, BDTUSK_VER);
    220229                // The Product Table widget lists this as a style dependency and the file has
    221230                // always shipped, but it was never registered: the widget was silently
    … …  
    225234                wp_register_style('ultimate-store-kit-toolslide', BDTUSK_ASSETS_URL . 'vendor/css/toolslide.css', [], BDTUSK_VER);
    226235
    227                 wp_enqueue_style('usk-site');
    228                 wp_enqueue_style('ultimate-store-kit-slick-modal');
    229                 wp_enqueue_style('ultimate-store-kit-toolslide');
     236                if ($this->needs_site_assets()) {
     237                        wp_enqueue_style('usk-site');
     238                        wp_enqueue_style('ultimate-store-kit-slick-modal');
     239                        wp_enqueue_style('ultimate-store-kit-toolslide');
     240                }
     241        }
     242
     243        /**
     244         * Whether this request loads the site stylesheet and script (and the modal and
     245         * slide-panel libraries the widgets share) up front.
     246         *
     247         * Without Asset Optimization every page does, as always. With it on, widget
     248         * files depend on `usk-site` / `usk-core`, which bring the libraries with them,
     249         * so a page loads them exactly when it shows an Ultimate Store Kit widget. Only
     250         * the Elementor editor and preview still load them up front, and so does a site
     251         * running an Ultimate Store Kit Pro older than 4.1.0, whose widgets do not
     252         * declare those dependencies yet.
     253         *
     254         * @return bool
     255         */
     256        private function needs_site_assets() {
     257                static $needed = null;
     258
     259                if (null !== $needed) {
     260                        return $needed;
     261                }
     262
     263                if (!ultimate_store_kit_is_asset_optimization_enabled() || is_admin()) {
     264                        $needed = true;
     265                } elseif (ultimate_store_kit_is_preview() || ultimate_store_kit_is_edit() || isset($_GET['elementor-preview'])) { // phpcs:ignore WordPress.Security.NonceVerification.Recommended -- Only decides which assets load.
     266                        $needed = true;
     267                } elseif (defined('BDTUSK_PRO_VER') && version_compare(BDTUSK_PRO_VER, '4.1.0', '<')) {
     268                        $needed = true;
     269                } else {
     270                        $needed = false;
     271                }
     272
     273                /**
     274                 * Filters whether the Ultimate Store Kit site stylesheet and script are
     275                 * enqueued on this request regardless of the widgets on the page.
     276                 *
     277                 * @param bool $needed Whether to enqueue them.
     278                 */
     279                $needed = (bool) apply_filters('ultimate_store_kit/frontend/enqueue_site_assets', $needed);
     280
     281                return $needed;
    230282        }
    231283
    … …  
    237289        public function enqueue_site_scripts() {
    238290
    239                 wp_register_script('usk-core', BDTUSK_ASSETS_URL . 'js/core.js', ['jquery'], BDTUSK_VER, true); // tooltip file should be separate
     291                $core_deps = ultimate_store_kit_is_asset_optimization_enabled() ? ['jquery', 'ultimate-store-kit-slick-modal', 'ultimate-store-kit-toolslide'] : ['jquery'];
     292                wp_register_script('usk-core', BDTUSK_ASSETS_URL . 'js/core.js', $core_deps, BDTUSK_VER, true); // tooltip file should be separate
    240293                wp_register_script('usk-site', BDTUSK_ASSETS_URL . 'js/site.js', ['jquery'], BDTUSK_VER, true); // tooltip file should be separate
    241294                wp_register_script('ultimate-store-kit-slick-modal', BDTUSK_ASSETS_URL . 'vendor/js/jquery.slickmodal.js', ['jquery'], BDTUSK_VER, true); // tooltip file should be separate
    242295                wp_register_script('ultimate-store-kit-toolslide', BDTUSK_ASSETS_URL . 'vendor/js/toolslide.js', [], BDTUSK_VER, true); // tooltip file should be separate
    243296
    244                 wp_enqueue_script('usk-core');
    245                 // wp_enqueue_script('usk-site');
    246                 wp_enqueue_script('ultimate-store-kit-slick-modal');
    247                 wp_enqueue_script('ultimate-store-kit-toolslide');
     297                if ($this->needs_site_assets()) {
     298                        wp_enqueue_script('usk-core');
     299                        wp_enqueue_script('ultimate-store-kit-slick-modal');
     300                        wp_enqueue_script('ultimate-store-kit-toolslide');
     301                }
    248302
    249303                wp_localize_script('usk-core', 'ultimate_store_kit_ajax_config', array(
    … …  
    400454                // Register REST API routes unconditionally (outside is_admin)
    401455                \UltimateStoreKit\API\Settings::get_instance();
     456                \UltimateStoreKit\API\OtherPlugins::get_instance();
    402457
    403458                add_action('init', [$this, 'init']);
  • ultimate-store-kit/tags/4.1.0/modules/qr-code/widgets/qr-code.php

    r3650790 r3790891  
    4747            return ['usk-all-styles'];
    4848        } else {
    49             return ['usk-font', 'usk-qr-code'];
     49            // No stylesheet of its own: the site stylesheet carries its styles.
     50            return ['usk-font', 'usk-site'];
    5051        }
    5152    }
  • ultimate-store-kit/tags/4.1.0/package.json

    r3777913 r3790891  
    11{
    22  "name": "ultimate-store-kit",
    3   "version": "4.0.2",
     3  "version": "4.1.0",
    44  "main": "index.php",
    55  "files": [
  • ultimate-store-kit/tags/4.1.0/readme.txt

    r3777913 r3790891  
    33Donate link: https://bdthemes.com/
    44Tags: elementor addons, woocommerce builder, woocommerce store builder, edd store builder, woocommerce widget
    5 Stable tag: 4.0.2
     5Stable tag: 4.1.0
    66Requires PHP: 7.4
    77Requires at least: 6.8
    … …  
    1010License URI: https://www.gnu.org/licenses/gpl-3.0.html
    1111Elementor requires at least: 4.0.0
    12 Elementor tested up to: 4.3.5
     12Elementor tested up to: 4.3.6
    1313
    1414WooCommerce store builder and EDD store builder for Elementor with product grids, widgets, cart, checkout, account pages, filters and sliders.
    … …  
    386386== Changelog ==
    387387
     388= 4.1.0 [8th November 2026] =
     389
     390* Added: Template Builder display conditions - Single Product templates can be limited to specific products, categories (including sub-categories) or tags, and Category / Tag templates to specific categories or tags; a matching conditional template takes priority over the default template of its type
     391* Added: Empty Cart Page template type, shown on the cart page while the cart is empty
     392* Added: Asset Optimization (Store Kit > Performance) - store-wide CSS/JS load only on pages with an Ultimate Store Kit widget, and the widget CSS/JS of a page is combined into cached files
     393* Added: Redesigned admin dashboard with stats, quick actions, suggestions, a Modules page, Performance page and ⌘K search
     394* Added: Other Plugins page in the dashboard to install and activate BdThemes plugins
     395* Added: Dashboard tabs that don't fit the screen move into a "More" menu
     396* Added: Ajax Product Search widget (Pro)
     397* Added: Size Chart, Free Shipping Bar, Sticky Add to Cart, Direct Checkout (Buy Now), Product Badges, Product Video, Partial Payment and Cart Recovery modules (Pro)
     398* Fixed: Moving a template to the Trash no longer unassigns a different active template of the same type
     399* Fixed: Editor preview of Category and Tag templates now opens a product category or tag page
     400* Fixed: Right-to-left sites loaded widget, site and icon stylesheets from file names that did not exist
     401
    388402= 4.0.2 [1st November 2026] =
    389403
  • ultimate-store-kit/tags/4.1.0/src/admin/App.js

    r3757742 r3790891  
    22import { applyFilters, addAction, removeAction } from '@wordpress/hooks';
    33import { __ } from '@wordpress/i18n';
    4 import Header from './components/Header';
    5 import Sidebar from './components/Sidebar';
     4import AppBar from './components/shell/AppBar';
     5import TabStrip from './components/shell/TabStrip';
    66import Welcome from './pages/Welcome';
     7import ModulesPage from './pages/ModulesPage';
     8import PerformancePage from './pages/PerformancePage';
     9import OtherPluginsPage from './pages/OtherPluginsPage';
    710import WidgetsPage from './pages/WidgetsPage';
    811import OtherSettings from './pages/OtherSettings';
    … …  
    1013import AboutInfo from './pages/AboutInfo';
    1114import ProModulePlaceholder from './pages/ProModulePlaceholder';
    12 import { appShell, bodyRow, mainContent } from './tw';
    1315import Toast from './components/Toast';
    14 import { getPlaceholderModules, getModuleSidebarIcon, proGroupDescriptions } from './utils';
     16import { getPlaceholderModules, getModuleSidebarIcon, proGroupDescriptions, buildSidebarSections } from './utils';
     17import { DashboardIcon, WidgetsIcon, ModulesIcon, TemplateIcon, KeyIcon, ZapIcon, InfoIcon, ArrowLeftIcon, GaugeIcon, PlugIcon } from './components/ui/Icons';
     18import { ProTag } from './components/ui/Primitives';
    1519
    1620const adminData = window.ultimateStoreKitAdminData || {};
    … …  
    6266                'edd-widgets',
    6367                'other-widgets',
     68                'modules',
     69                'performance',
     70                'other-plugins',
    6471                'get-pro',
    6572                'about',
    … …  
    7582const App = () => {
    7683        const [activePage, setActivePage] = useState(getPageFromHash());
    77         const [settings, setSettings] = useState(adminData.savedSettings || {});
     84        // One settings object for the whole dashboard: Pro module pages switch modules
     85        // by writing into adminData.savedSettings directly (see Pro's moduleState.js),
     86        // so the state wraps that same object instead of a copy. An empty option
     87        // arrives from PHP as [], which is turned into an object to write into.
     88        const [settings, setSettings] = useState(() => {
     89                adminData.savedSettings = adminData.savedSettings || {};
     90                Object.keys(adminData.savedSettings).forEach((key) => {
     91                        if (Array.isArray(adminData.savedSettings[key])) {
     92                                adminData.savedSettings[key] = {};
     93                        }
     94                });
     95                return { ...adminData.savedSettings };
     96        });
    7897        const [isProActive, setIsProActive] = useState(!!adminData.isPro);
    7998        const [saving, setSaving] = useState(false);
    8099        const [notification, setNotification] = useState(null);
    81         const [isSidebarOpen, setIsSidebarOpen] = useState(false);
    82         const [isDesktop, setIsDesktop] = useState(() => window.innerWidth > 1024);
    83100
    84101        // Allow pro (or any extension) to trigger toasts via doAction('usk.admin.notify', {...})
    … …  
    109126                const handleHashChange = () => {
    110127                        setActivePage(getPageFromHash());
     128                        // Pick up module switches made on the page just left.
     129                        setSettings({ ...adminData.savedSettings });
    111130                };
    112131
    … …  
    128147        }, [isProActive, activePage]);
    129148
    130         useEffect(() => {
    131                 setIsSidebarOpen(false);
    132         }, [activePage]);
    133 
    134         useEffect(() => {
    135                 document.body.style.overflow = isSidebarOpen ? 'hidden' : '';
    136                 return () => {
    137                         document.body.style.overflow = '';
    138                 };
    139         }, [isSidebarOpen]);
    140 
    141         useEffect(() => {
    142                 const handleResize = () => {
    143                         const desktop = window.innerWidth > 1024;
    144                         setIsDesktop(desktop);
    145                         if (desktop) {
    146                                 setIsSidebarOpen(false);
    147                         }
    148                 };
    149                 window.addEventListener('resize', handleResize);
    150                 return () => window.removeEventListener('resize', handleResize);
    151         }, []);
    152 
    153         const handleToggleSidebar = useCallback((event) => {
    154                 if (event?.preventDefault) event.preventDefault();
    155                 if (event?.stopPropagation) event.stopPropagation();
    156                 setIsSidebarOpen((prev) => !prev);
    157         }, []);
    158149
    159150        const saveSettings = useCallback(
    … …  
    174165                                })
    175166                                .then((data) => {
    176                                         setSettings((prev) => ({
    177                                                 ...prev,
    178                                                 [section]: sectionSettings,
    179                                         }));
     167                                        // Update the shared section object in place (other code holds it).
     168                                        if (!adminData.savedSettings[section] || Array.isArray(adminData.savedSettings[section])) {
     169                                                adminData.savedSettings[section] = {};
     170                                        }
     171                                        Object.assign(adminData.savedSettings[section], sectionSettings);
     172                                        setSettings({ ...adminData.savedSettings });
    180173                                        setNotification({
    181174                                                type: 'success',
    … …  
    201194        );
    202195
     196        const navigate = useCallback((pageId) => {
     197                setActivePage(pageId);
     198                if (window.location.hash !== `#${pageId}`) {
     199                        window.location.hash = `#${pageId}`;
     200                }
     201                window.scrollTo({ top: 0, behavior: 'smooth' });
     202        }, []);
     203
     204        // The Modules section of the old sidebar (core settings groups, Pro
     205        // modules and their placeholders) is now the Modules page.
     206        const sidebarSections = buildSidebarSections({ isPro: isProActive, settingsGroups });
     207        const moduleItems = (sidebarSections.find((section) => section.id === 'modules') || { items: [] }).items;
     208        const supportItems = (sidebarSections.find((section) => section.id === 'support') || { items: [] }).items;
     209        const moduleIds = moduleItems.map((item) => item.id);
     210        const proPagesForNav = applyFilters('usk.admin.pages', {});
     211        const hasLicensePage = !!proPagesForNav.license;
     212        const widgetPageIds = ['widgets', 'woocommerce-widgets', 'edd-widgets', 'other-widgets'];
     213
     214        const tabs = [
     215                { key: 'welcome', label: __('Dashboard', 'ultimate-store-kit'), icon: DashboardIcon, active: activePage === 'welcome' },
     216                { key: 'woocommerce-widgets', label: __('Widgets', 'ultimate-store-kit'), icon: WidgetsIcon, active: widgetPageIds.includes(activePage) },
     217                { key: 'modules', label: __('Modules', 'ultimate-store-kit'), icon: ModulesIcon, active: activePage === 'modules' || moduleIds.includes(activePage) },
     218                { key: 'performance', label: __('Performance', 'ultimate-store-kit'), icon: GaugeIcon, active: activePage === 'performance' },
     219                { key: 'template-builder', label: __('Template Builder', 'ultimate-store-kit'), icon: TemplateIcon, href: adminData.templateBuilderUrl },
     220        ];
     221
     222        if (hasLicensePage) {
     223                tabs.push({ key: 'license', label: __('License', 'ultimate-store-kit'), icon: KeyIcon, active: activePage === 'license' });
     224        } else if (!isProActive) {
     225                tabs.push({ key: 'get-pro', label: __('Get Pro', 'ultimate-store-kit'), icon: ZapIcon, active: activePage === 'get-pro' });
     226        }
     227
     228        tabs.push({ key: 'about', label: __('About & Info', 'ultimate-store-kit'), icon: InfoIcon, active: activePage === 'about' });
     229        tabs.push({ key: 'other-plugins', label: __('Other Plugins', 'ultimate-store-kit'), icon: PlugIcon, active: activePage === 'other-plugins' });
     230
     231        // Anything else an add-on puts in the old sidebar's Support group goes to "More".
     232        const shownTabKeys = tabs.map((tab) => tab.key);
     233        const moreItems = supportItems
     234                .filter((item) => !shownTabKeys.includes(item.id) && !(item.id === 'get-pro' && (isProActive || hasLicensePage)))
     235                .map((item) => ({
     236                        key: item.id,
     237                        label: item.label,
     238                        icon: item.id === 'license' ? KeyIcon : item.id === 'get-pro' ? ZapIcon : InfoIcon,
     239                        active: activePage === item.id,
     240                }));
     241
     242        const searchItems = [
     243                { id: 'welcome', label: __('Dashboard', 'ultimate-store-kit'), group: __('Pages', 'ultimate-store-kit') },
     244                { id: 'woocommerce-widgets', label: __('WooCommerce widgets', 'ultimate-store-kit'), group: __('Pages', 'ultimate-store-kit') },
     245                { id: 'edd-widgets', label: __('EDD widgets', 'ultimate-store-kit'), group: __('Pages', 'ultimate-store-kit') },
     246                { id: 'other-widgets', label: __('Other widgets', 'ultimate-store-kit'), group: __('Pages', 'ultimate-store-kit') },
     247                { id: 'modules', label: __('All modules', 'ultimate-store-kit'), group: __('Pages', 'ultimate-store-kit') },
     248                { id: 'template-builder', label: __('Template Builder', 'ultimate-store-kit'), group: __('Pages', 'ultimate-store-kit'), href: adminData.templateBuilderUrl },
     249                { id: 'performance', label: __('Performance', 'ultimate-store-kit'), group: __('Pages', 'ultimate-store-kit') },
     250                { id: 'about', label: __('About & Info', 'ultimate-store-kit'), group: __('Pages', 'ultimate-store-kit') },
     251                { id: 'other-plugins', label: __('Other Plugins', 'ultimate-store-kit'), group: __('Pages', 'ultimate-store-kit') },
     252                ...(hasLicensePage ? [{ id: 'license', label: __('License', 'ultimate-store-kit'), group: __('Pages', 'ultimate-store-kit') }] : []),
     253                ...moreItems.map((item) => ({ id: item.key, label: item.label, group: __('Pages', 'ultimate-store-kit') })),
     254                ...moduleItems.map((item) => ({ id: item.id, label: item.label, group: __('Modules', 'ultimate-store-kit') })),
     255                ...[
     256                        ['ultimate_store_kit_active_modules', 'woocommerce-widgets'],
     257                        ['ultimate_store_kit_edd_modules', 'edd-widgets'],
     258                        ['ultimate_store_kit_general_modules', 'other-widgets'],
     259                ].flatMap(([key, page]) =>
     260                        (adminData.widgets?.[key] || [])
     261                                .filter((w) => w.type === 'checkbox')
     262                                .map((w) => ({ id: `${page}?search=${encodeURIComponent(w.label)}`, label: w.label, group: __('Widgets', 'ultimate-store-kit') }))
     263                ),
     264        ];
     265
     266        const onSearchSelect = (item) => {
     267                if (item.href) {
     268                        window.location.href = item.href;
     269                        return;
     270                }
     271                window.location.hash = `#${item.id}`;
     272                window.scrollTo({ top: 0, behavior: 'smooth' });
     273        };
     274
     275        const activeModule = moduleItems.find((item) => item.id === activePage);
     276
    203277        const renderPage = () => {
    204278                const widgets = adminData.widgets || {};
    … …  
    233307                                                settings={settings}
    234308                                                isPro={isProActive}
     309                                                moduleItems={moduleItems}
     310                                                onNavigate={navigate}
     311                                        />
     312                                );
     313                        case 'other-plugins':
     314                                return <OtherPluginsPage onNotify={setNotification} />;
     315                        case 'performance':
     316                                return <PerformancePage settings={settings} onSave={saveSettings} saving={saving} />;
     317                        case 'modules':
     318                                return (
     319                                        <ModulesPage
     320                                                items={moduleItems}
     321                                                settings={settings}
     322                                                isPro={isProActive}
     323                                                onNavigate={navigate}
    235324                                        />
    236325                                );
    … …  
    253342                                                isPro={isProActive}
    254343                                                widgetType={widgetTypeMap[activePage]}
     344                                                onNavigate={navigate}
    255345                                        />
    256346                                );
    … …  
    262352                                                settings={settings}
    263353                                                isPro={isProActive}
     354                                                moduleItems={moduleItems}
     355                                                onNavigate={navigate}
    264356                                        />
    265357                                ) : (
    … …  
    283375                                        );
    284376                                }
    285                                 return <Welcome widgets={widgets} settings={settings} />;
     377                                return <Welcome widgets={widgets} settings={settings} isPro={isProActive} moduleItems={moduleItems} onNavigate={navigate} />;
    286378                        }
    287379                }
    … …  
    289381
    290382        return (
    291                 <div className={appShell}>
     383                <div className="usk-app min-h-[calc(100vh-32px)] bg-[#f0f0f1] text-sm text-[#1d2327]">
    292384                        <Toast notification={notification} onDismiss={() => setNotification(null)} />
    293                         <Header
    294                                 version={adminData.version}
    295                                 isPro={isProActive}
    296                                 isSidebarOpen={isSidebarOpen}
    297                                 isDesktop={isDesktop}
    298                                 onToggleSidebar={handleToggleSidebar}
    299                         />
    300                         <div className="bg-slate-50">
    301                         <div className={`${bodyRow}`}>
    302                                 <Sidebar
    303                                         activePage={activePage}
    304                                         onNavigate={setActivePage}
    305                                         isPro={isProActive}
    306                                         isOpen={isSidebarOpen}
    307                                         isDesktop={isDesktop}
    308                                         onClose={() => setIsSidebarOpen(false)}
    309                                         settingsGroups={settingsGroups}
    310                                 />
    311                                 <div className={`${mainContent} flex flex-col`}>
    312                                         <div className="flex-1">{renderPage()}</div>
     385                        <div className="mx-auto box-border w-full max-w-[1400px] px-12 pb-[60px] pt-[30px] max-[1024px]:px-7 max-[1024px]:pt-6 max-[640px]:px-0 max-[640px]:pt-4">
     386                                <div className="rounded-card border border-solid border-[#e6e6ea] bg-white">
     387                                        <AppBar
     388                                                version={adminData.version}
     389                                                isPro={isProActive}
     390                                                isProPluginActive={!!adminData.isProPluginActive}
     391                                                templateBuilderUrl={adminData.templateBuilderUrl}
     392                                                searchItems={searchItems}
     393                                                onSearchSelect={onSearchSelect}
     394                                        />
     395                                        <TabStrip tabs={tabs} moreItems={moreItems} onNavigate={navigate} />
    313396                                </div>
     397
     398                                <main className="mt-[26px]">
     399                                        {activeModule ? (
     400                                                <div className="mb-4 flex flex-wrap items-center gap-2 text-[13px] font-semibold text-[#6c6c75]">
     401                                                        <button
     402                                                                type="button"
     403                                                                onClick={() => navigate('modules')}
     404                                                                className="inline-flex cursor-pointer items-center gap-1.5 rounded-full border border-solid border-[#e6e6ea] bg-white px-3 py-1.5 text-[13px] font-bold text-[#3f3f46] transition-colors hover:border-[#e30c1d] hover:text-[#e30c1d]"
     405                                                        >
     406                                                                <ArrowLeftIcon size={14} />
     407                                                                {__('All modules', 'ultimate-store-kit')}
     408                                                        </button>
     409                                                        <span aria-hidden="true">/</span>
     410                                                        <span className="text-[#0f1115]">{activeModule.label}</span>
     411                                                        {activeModule.badge && !isProActive ? <ProTag /> : null}
     412                                                </div>
     413                                        ) : null}
     414                                        {renderPage()}
     415                                </main>
     416
     417                                <footer className="mt-10 text-center text-[12.5px] text-[#8a8a93]">
     418                                        {__('Ultimate Store Kit Addon made with love by', 'ultimate-store-kit')}{' '}
     419                                        <a target="_blank" rel="noopener noreferrer" href="https://bdthemes.com" className="font-semibold text-[#e30c1d] no-underline hover:underline">
     420                                                BdThemes
     421                                        </a>
     422                                        . {__('All rights reserved.', 'ultimate-store-kit')}
     423                                </footer>
    314424                        </div>
    315                         </div>
    316                         <footer className="p-5 bg-white py-4 text-center text-sm text-slate-500 rounded-bl-lg rounded-br-lg">
    317                                 {__(
    318                                         'Ultimate Store Kit Addon made with love by',
    319                                         'ultimate-store-kit'
    320                                 )}{' '}
    321                                 <a
    322                                         target="_blank"
    323                                         rel="noopener noreferrer"
    324                                         href="https://bdthemes.com"
    325                                         className="text-uks-brand no-underline hover:underline"
    326                                 >
    327                                         BdThemes
    328                                 </a>
    329                                 . {__('All rights reserved.', 'ultimate-store-kit')}
    330                         </footer>
    331425                </div>
    332426        );
  • ultimate-store-kit/tags/4.1.0/src/admin/components/Toggle.js

    r3650790 r3790891  
    44 * override transform/transition via stylesheet specificity.
    55 */
    6 const BRAND = '#00216A';
     6const BRAND = '#E30C1D';
    77const OFF_BG = '#cbd5e1';
    88
  • ultimate-store-kit/tags/4.1.0/src/admin/others/js/ultimate-builder.js

    r3700275 r3790891  
    1515        $("#ultimate-builder-kit-builder-modal form .template_id").val('');
    1616        setTemplateStatusSwitcher(1);
     17        setConditions({}, {});
     18        toggleConditions();
    1719    }
     20
     21    // Display conditions: only some template types have them, and each type
     22    // only some of the pickers (see Template_Conditions::supported_types()).
     23    function toggleConditions() {
     24        var $wrap = $('#ultimate-builder-kit-builder-modal .usk-template-conditions');
     25        var types = $wrap.data('condition-types') || {};
     26        var type = String($('#ultimate-builder-kit-builder-modal #template_type').val() || '').toLowerCase();
     27        var allowed = types[type] || [];
     28
     29        $wrap.toggle(allowed.length > 0);
     30        $wrap.find('.usk-template-condition').each(function () {
     31            var $field = $(this);
     32            var isAllowed = allowed.indexOf($field.data('condition')) !== -1;
     33
     34            $field.toggle(isAllowed);
     35            // Hidden pickers must not submit values for a type that ignores them.
     36            $field.find('select').prop('disabled', !isAllowed);
     37        });
     38    }
     39
     40    function setConditions(conditions, products) {
     41        var $modal = $('#ultimate-builder-kit-builder-modal');
     42        var $products = $modal.find('#usk_condition_products');
     43
     44        $products.empty();
     45        $.each(products || {}, function (id, name) {
     46            $products.append(new Option(name, id, true, true));
     47        });
     48        $products.trigger('change');
     49
     50        $.each(['product_cat', 'product_tag'], function (i, taxonomy) {
     51            var ids = (conditions && conditions[taxonomy]) || [];
     52            $modal.find('#usk_condition_' + taxonomy).val(ids.map(String)).trigger('change');
     53        });
     54    }
     55
     56    $(document).on('change', '#ultimate-builder-kit-builder-modal #template_type', toggleConditions);
    1857
    1958    function setSubmitBtn(string){
    … …  
    112151                    $("#ultimate-builder-kit-builder-modal form #template_type").val(response.data.type).change();
    113152                    setTemplateStatusSwitcher(response.data.status);
     153                    setConditions(response.data.conditions, response.data.products);
     154                    toggleConditions();
    114155                }
    115156                showModal();
  • ultimate-store-kit/tags/4.1.0/src/admin/others/scss/ultimate-builder.scss

    r3650790 r3790891  
    281281    }
    282282}
     283/** Display conditions */
     284#ultimate-builder-kit-builder-modal-wrapper {
     285    max-height: 90vh;
     286    overflow-y: auto;
     287}
     288.usk-modal-form .usk-template-conditions {
     289    display: flex;
     290    flex-direction: column;
     291    grid-row-gap: 10px;
     292    padding: 12px 0 4px;
     293    border-top: 1px solid #eee;
     294}
     295.usk-modal-form .usk-template-conditions .usk-form-title {
     296    font-size: 15px;
     297    margin-bottom: 0;
     298}
     299.usk-modal-form .usk-template-conditions-desc {
     300    margin: 0;
     301    font-size: 12px;
     302    color: #6d7882;
     303}
     304.usk-modal-form .usk-template-condition {
     305    display: flex;
     306    flex-direction: column;
     307    grid-row-gap: 6px;
     308}
     309.usk-modal-form .usk-template-condition .select2-container {
     310    margin-bottom: 4px;
     311}
     312.usk-modal-form .usk-template-condition .select2-search__field {
     313    height: auto;
     314    margin: 5px 0 0;
     315    border: 0;
     316    text-transform: none;
     317}
     318body.post-type-usk-template-builder .select2-container--open {
     319    z-index: 100000;
     320}
  • ultimate-store-kit/tags/4.1.0/src/admin/pages/Welcome.js

    r3650790 r3790891  
     1/**
     2 * Dashboard, laid out like Element Pack's: welcome line, stat cards, a
     3 * widget-health strip, then quick actions, Pro extras and recent releases on
     4 * the left with a promo, system status and resources on the right.
     5 */
    16import { useMemo } from '@wordpress/element';
    2 import { __ } from '@wordpress/i18n';
     7import { __, sprintf } from '@wordpress/i18n';
    38import { applyFilters } from '@wordpress/hooks';
    4 import WelcomeStatCard from '../components/WelcomeStatCard';
    5 import { isWidgetEffectivelyOn } from '../utils';
     9import { isWidgetEffectivelyOn, getModuleInfo } from '../utils';
    610import {
    7         btnEp,
    8         btnPg,
    9         btnPrimary,
    10         btnPs,
    11         btnSecondary,
    12         btnSm,
    13         btnUpk,
    14         btnZb,
    15 } from '../tw';
    16 
    17 const linkInline = 'font-semibold text-uks-brand hover:underline';
    18 
    19 const Welcome = ({ widgets, settings, isPro = false }) => {
     11        WidgetsIcon,
     12        ModulesIcon,
     13        TemplateIcon,
     14        KeyIcon,
     15        ZapIcon,
     16        BookIcon,
     17        HeadsetIcon,
     18        ActivityIcon,
     19        CartIcon,
     20        DownloadIcon,
     21        LayersIcon,
     22        ExternalIcon,
     23        ChevronRightIcon,
     24        MessageIcon,
     25        SparkIcon,
     26        GaugeIcon,
     27        ArrowRightIcon,
     28} from '../components/ui/Icons';
     29import { Card, IconTile, ProgressBar, Pill } from '../components/ui/Primitives';
     30
     31const adminData = window.ultimateStoreKitAdminData || {};
     32
     33const SECTIONS = {
     34        wc: 'ultimate_store_kit_active_modules',
     35        edd: 'ultimate_store_kit_edd_modules',
     36        other: 'ultimate_store_kit_general_modules',
     37};
     38
     39const countWidgets = (widgets, settings, isPro) => {
     40        let active = 0;
     41        let total = 0;
     42        (widgets || []).forEach((w) => {
     43                if (w.type !== 'checkbox') return;
     44                total++;
     45                if (isWidgetEffectivelyOn(w, (settings || {})[w.name], isPro)) {
     46                        active++;
     47                }
     48        });
     49        return { active, total, percent: total ? Math.round((active / total) * 100) : 0 };
     50};
     51
     52const StatCard = ({ icon, accent, value, label, pill, pillTone }) => (
     53        <div className="rounded-card border border-solid border-[#e9e9ed] bg-white p-[18px] transition-all duration-200 hover:-translate-y-[3px] hover:shadow-lift">
     54                <div className="flex items-center justify-between">
     55                        <IconTile icon={icon} accent={accent} size="lg" iconSize={20} />
     56                        {pill ? <Pill tone={pillTone}>{pill}</Pill> : null}
     57                </div>
     58                <div className="mt-[14px] text-[34px] font-black leading-none tracking-[-.03em] text-[#0f1115]">{value}</div>
     59                <div className="mt-2 text-[12.5px] font-medium text-[#6c6c75]">{label}</div>
     60        </div>
     61);
     62
     63const HealthCard = ({ icon, accent, metric, label }) => (
     64        <div className="rounded-panel border border-solid border-[#e9e9ed] bg-white px-[18px] py-4">
     65                <div className="flex items-center gap-[10px]">
     66                        <IconTile icon={icon} accent={accent} size="md" iconSize={16} />
     67                        <div>
     68                                <div className="text-[22px] font-black leading-none tracking-[-.02em] text-[#0f1115]">{metric.percent}%</div>
     69                                <div className="mt-[3px] text-xs font-semibold text-[#52525b]">{label}</div>
     70                        </div>
     71                </div>
     72                <ProgressBar percent={metric.percent} className="mt-[13px]" color={{ green: '#16a34a', violet: '#8b5cf6', amber: '#f59e0b', blue: '#2f5bea' }[accent]} />
     73                <div className="mt-[7px] text-[11px] text-[#6d6d74]">
     74                        {sprintf(
     75                                /* translators: 1: enabled widgets, 2: all widgets. */
     76                                __('%1$d of %2$d enabled', 'ultimate-store-kit'),
     77                                metric.active,
     78                                metric.total
     79                        )}
     80                </div>
     81        </div>
     82);
     83
     84const ActionTile = ({ icon, accent, title, sub, onClick, href, external }) => {
     85        const className =
     86                'group flex cursor-pointer flex-col gap-[10px] rounded-panel border border-solid border-[#ececf0] bg-white p-4 text-left no-underline transition-all duration-200 hover:-translate-y-[2px] hover:border-[#fbc8cd] hover:shadow-lift';
     87        const inner = (
     88                <>
     89                        <IconTile icon={icon} accent={accent} size="md" iconSize={16} />
     90                        <span>
     91                                <span className="block text-[14px] font-bold text-[#0f1115]">{title}</span>
     92                                <span className="mt-0.5 block text-[12px] text-[#8a8a93]">{sub}</span>
     93                        </span>
     94                </>
     95        );
     96        return href ? (
     97                <a href={href} className={className} target={external ? '_blank' : undefined} rel={external ? 'noopener noreferrer' : undefined}>
     98                        {inner}
     99                </a>
     100        ) : (
     101                <button type="button" onClick={onClick} className={className}>
     102                        {inner}
     103                </button>
     104        );
     105};
     106
     107const STATUS_DOT = {
     108        ok: 'bg-[#22c55e]',
     109        warn: 'bg-[#f59e0b]',
     110        bad: 'bg-[#ef4444]',
     111};
     112
     113const STATUS_TEXT = {
     114        ok: 'text-[#15803d]',
     115        warn: 'text-[#b45309]',
     116        bad: 'text-[#b91c1c]',
     117};
     118
     119const ReleaseRow = ({ release, current, color }) => (
     120        <li className="relative m-0 border-0 pb-4 pl-5 last:pb-0">
     121                <span className="absolute left-0 top-[6px] h-2 w-2 rounded-full" style={{ background: color }} />
     122                <div className="flex items-center justify-between gap-3">
     123                        <span className="flex items-center gap-2 text-[14px] font-bold text-[#0f1115]">
     124                                v{release.version}
     125                                {current ? (
     126                                        <span className="rounded-full bg-gradient-brand px-2 py-[3px] text-[10px] font-extrabold uppercase tracking-[.06em] text-white">
     127                                                {__('Current', 'ultimate-store-kit')}
     128                                        </span>
     129                                ) : null}
     130                        </span>
     131                        {release.date ? <span className="text-[12px] text-[#8a8a93]">{release.date}</span> : null}
     132                </div>
     133                {release.summary ? <p className="m-0 mt-1 line-clamp-2 text-[12.5px] leading-relaxed text-[#52525b]">{release.summary}</p> : null}
     134                <div className="mt-2 flex flex-wrap gap-1.5">
     135                        {release.counts?.added ? <Pill tone="green">{sprintf(/* translators: %d: count. */ __('%d added', 'ultimate-store-kit'), release.counts.added)}</Pill> : null}
     136                        {release.counts?.fixed ? <Pill tone="blue">{sprintf(/* translators: %d: count. */ __('%d fixed', 'ultimate-store-kit'), release.counts.fixed)}</Pill> : null}
     137                        {release.counts?.updated ? <Pill tone="amber">{sprintf(/* translators: %d: count. */ __('%d updated', 'ultimate-store-kit'), release.counts.updated)}</Pill> : null}
     138                </div>
     139        </li>
     140);
     141
     142const RELEASE_COLORS = ['#22c55e', '#2f5bea', '#8b5cf6', '#f59e0b', '#14b8a6'];
     143
     144const Welcome = ({ widgets, settings, isPro = false, moduleItems = [], onNavigate }) => {
    20145        const stats = useMemo(() => {
    21                 const wcWidgets = widgets.ultimate_store_kit_active_modules || [];
    22                 const eddWidgets = widgets.ultimate_store_kit_edd_modules || [];
    23                 const otherWidgets = widgets.ultimate_store_kit_general_modules || [];
    24 
    25                 const wcSettings = settings.ultimate_store_kit_active_modules || {};
    26                 const eddSettings = settings.ultimate_store_kit_edd_modules || {};
    27                 const otherSettings = settings.ultimate_store_kit_general_modules || {};
    28 
    29                 const countActive = (widgetList, savedSettings) => {
    30                         let active = 0;
    31                         let inactive = 0;
    32                         widgetList.forEach((w) => {
    33                                 if (w.type !== 'checkbox') return;
    34                                 if (!isPro && w.widget_type === 'pro') {
    35                                         inactive++;
    36                                         return;
    37                                 }
    38                                 const val = savedSettings[w.name];
    39                                 if (isWidgetEffectivelyOn(w, val, isPro)) {
    40                                         active++;
    41                                 } else {
    42                                         inactive++;
    43                                 }
    44                         });
    45                         return { active, inactive, total: active + inactive };
     146                const wc = countWidgets(widgets[SECTIONS.wc], settings[SECTIONS.wc], isPro);
     147                const edd = countWidgets(widgets[SECTIONS.edd], settings[SECTIONS.edd], isPro);
     148                const other = countWidgets(widgets[SECTIONS.other], settings[SECTIONS.other], isPro);
     149                const modulesActive = moduleItems.filter((item) => getModuleInfo(item, settings).status === 'on').length;
     150                return {
     151                        wc,
     152                        edd,
     153                        other,
     154                        total: wc.total + edd.total + other.total,
     155                        active: wc.active + edd.active + other.active,
     156                        modulesActive,
    46157                };
    47 
    48                 const wc = countActive(wcWidgets, wcSettings);
    49                 const edd = countActive(eddWidgets, eddSettings);
    50                 const other = countActive(otherWidgets, otherSettings);
    51 
    52                 const all = {
    53                         active: wc.active + edd.active + other.active,
    54                         inactive: wc.inactive + edd.inactive + other.inactive,
    55                         total: wc.total + edd.total + other.total,
    56                 };
    57 
    58                 return { all, wc, edd, other };
    59         }, [widgets, settings, isPro]);
     158        }, [widgets, settings, isPro, moduleItems]);
     159
     160        const optimizationOn = ((settings.ultimate_store_kit_other_settings || {})['asset-manager'] || 'off') === 'on';
     161        const suggestions = [];
     162
     163        if (!optimizationOn) {
     164                suggestions.push({
     165                        key: 'performance',
     166                        icon: GaugeIcon,
     167                        accent: 'green',
     168                        title: __('Optimize asset loading', 'ultimate-store-kit'),
     169                        text: __('Turn on Asset Optimization so pages only load the CSS/JS they use.', 'ultimate-store-kit'),
     170                        link: __('Open performance', 'ultimate-store-kit'),
     171                        page: 'performance',
     172                });
     173        }
     174
     175        if (!Number(adminData.templatesActive)) {
     176                suggestions.push({
     177                        key: 'templates',
     178                        icon: TemplateIcon,
     179                        accent: 'amber',
     180                        title: __('Design your shop pages', 'ultimate-store-kit'),
     181                        text: __('Build shop, product, cart and checkout templates with Elementor.', 'ultimate-store-kit'),
     182                        link: __('Open Template Builder', 'ultimate-store-kit'),
     183                        href: adminData.templateBuilderUrl,
     184                });
     185        }
     186
     187        if (moduleItems.length && !stats.modulesActive) {
     188                suggestions.push({
     189                        key: 'modules',
     190                        icon: ModulesIcon,
     191                        accent: 'violet',
     192                        title: __('Switch on a store module', 'ultimate-store-kit'),
     193                        text: __('Size charts, badges, free shipping bar, quick checkout and more.', 'ultimate-store-kit'),
     194                        link: __('Browse modules', 'ultimate-store-kit'),
     195                        page: 'modules',
     196                });
     197        }
     198
     199        const WelcomeExtra = applyFilters('usk.admin.welcomeExtra', null);
     200        const hasLicensePage = !!applyFilters('usk.admin.pages', {}).license;
     201        const releases = adminData.releases || [];
     202        const system = adminData.system || [];
     203        const go = (page) => onNavigate && onNavigate(page);
    60204
    61205        return (
    62206                <div>
    63                         <div className="mb-4 grid grid-cols-1 gap-4 sm:grid-cols-2 xl:grid-cols-4">
    64                                 <WelcomeStatCard
    65                                         title={__('All Widgets', 'ultimate-store-kit')}
    66                                         data={stats.all}
    67                                         color="#f59e0b"
     207                        <div className="mb-[22px]">
     208                                <h1 className="m-0 text-[28px] font-extrabold tracking-[-.02em] text-[#0f1115]">
     209                                        {adminData.userName
     210                                                ? sprintf(
     211                                                                /* translators: %s: user display name. */
     212                                                                __('Welcome back, %s', 'ultimate-store-kit'),
     213                                                                adminData.userName
     214                                                  )
     215                                                : __('Welcome back', 'ultimate-store-kit')}
     216                                </h1>
     217                                <p className="m-0 mt-1.5 text-[13.5px] text-[#6c6c75]">
     218                                        {__("Here's what's happening across your store.", 'ultimate-store-kit')}
     219                                </p>
     220                        </div>
     221
     222                        <div className="grid grid-cols-4 gap-[14px] max-[1024px]:grid-cols-2 max-[560px]:grid-cols-1">
     223                                <StatCard icon={WidgetsIcon} accent="blue" value={stats.total} label={__('Total widgets', 'ultimate-store-kit')} />
     224                                <StatCard icon={ZapIcon} accent="green" value={stats.active} label={__('Widgets enabled', 'ultimate-store-kit')} pill={__('live', 'ultimate-store-kit')} pillTone="blue" />
     225                                <StatCard
     226                                        icon={ModulesIcon}
     227                                        accent="violet"
     228                                        value={stats.modulesActive}
     229                                        label={__('Modules active', 'ultimate-store-kit')}
     230                                        pill={sprintf(/* translators: %d: number of modules. */ __('of %d', 'ultimate-store-kit'), moduleItems.length)}
    68231                                />
    69                                 <WelcomeStatCard
    70                                         title={__('WooCommerce', 'ultimate-store-kit')}
    71                                         data={stats.wc}
    72                                         color="#ef4444"
    73                                 />
    74                                 <WelcomeStatCard
    75                                         title={__('EDD', 'ultimate-store-kit')}
    76                                         data={stats.edd}
    77                                         color="#10b981"
    78                                 />
    79                                 <WelcomeStatCard
    80                                         title={__('Other', 'ultimate-store-kit')}
    81                                         data={stats.other}
    82                                         color="#3b82f6"
     232                                <StatCard
     233                                        icon={TemplateIcon}
     234                                        accent="amber"
     235                                        value={adminData.templatesCount || 0}
     236                                        label={__('Builder templates', 'ultimate-store-kit')}
     237                                        pill={Number(adminData.templatesActive) > 0 ? sprintf(/* translators: %d: active templates. */ __('%d active', 'ultimate-store-kit'), Number(adminData.templatesActive)) : null}
     238                                        pillTone="green"
    83239                                />
    84240                        </div>
    85241
    86                         {(() => {
    87                                 const WelcomeExtra = applyFilters('usk.admin.welcomeExtra', null);
    88                                 return WelcomeExtra ? <WelcomeExtra /> : null;
    89                         })()}
    90 
    91                         <div className="mb-4 grid grid-cols-1 gap-4 sm:grid-cols-2">
    92                                 <div className="rounded-lg border border-solid border-gray-100 bg-white p-5">
    93                                         <h3 className="m-0 mb-2 text-base font-bold text-slate-800">
    94                                                 {__('Support And Feedback', 'ultimate-store-kit')}
    95                                         </h3>
    96                                         <p className="my-2 text-[13px] leading-relaxed text-slate-500">
    97                                                 {__(
    98                                                         'Feeling like to consult with an expert? Take live Chat support immediately from',
    99                                                         'ultimate-store-kit'
    100                                                 )}{' '}
    101                                                 <a
    102                                                         href="https://storekit.pro/"
    103                                                         target="_blank"
    104                                                         rel="noopener noreferrer"
    105                                                         className={linkInline}
     242                        <div className="mt-[14px] grid grid-cols-3 gap-[14px] max-[1024px]:grid-cols-2 max-[640px]:grid-cols-1">
     243                                <HealthCard icon={CartIcon} accent="green" metric={stats.wc} label={__('WooCommerce widgets', 'ultimate-store-kit')} />
     244                                <HealthCard icon={DownloadIcon} accent="violet" metric={stats.edd} label={__('EDD widgets', 'ultimate-store-kit')} />
     245                                <HealthCard icon={LayersIcon} accent="amber" metric={stats.other} label={__('Other widgets', 'ultimate-store-kit')} />
     246                        </div>
     247
     248                        <div className="mt-[14px] grid grid-cols-[minmax(0,1fr)_400px] items-start gap-[14px] max-[1180px]:grid-cols-1">
     249                                <div className="flex min-w-0 flex-col gap-[14px]">
     250                                        <Card title={__('Quick actions', 'ultimate-store-kit')}>
     251                                                <div className="grid grid-cols-3 gap-[10px] max-[720px]:grid-cols-2 max-[440px]:grid-cols-1">
     252                                                        <ActionTile
     253                                                                icon={WidgetsIcon}
     254                                                                accent="blue"
     255                                                                title={__('Widgets', 'ultimate-store-kit')}
     256                                                                sub={sprintf(/* translators: %d: number of widgets. */ __('Toggle %d elements', 'ultimate-store-kit'), stats.total)}
     257                                                                onClick={() => go('woocommerce-widgets')}
     258                                                        />
     259                                                        <ActionTile
     260                                                                icon={ModulesIcon}
     261                                                                accent="violet"
     262                                                                title={__('Modules', 'ultimate-store-kit')}
     263                                                                sub={sprintf(/* translators: %d: number of modules. */ __('%d store features', 'ultimate-store-kit'), moduleItems.length)}
     264                                                                onClick={() => go('modules')}
     265                                                        />
     266                                                        <ActionTile
     267                                                                icon={TemplateIcon}
     268                                                                accent="amber"
     269                                                                title={__('Template Builder', 'ultimate-store-kit')}
     270                                                                sub={__('Shop, product & cart pages', 'ultimate-store-kit')}
     271                                                                href={adminData.templateBuilderUrl}
     272                                                        />
     273                                                        {hasLicensePage ? (
     274                                                                <ActionTile icon={KeyIcon} accent="green" title={__('License', 'ultimate-store-kit')} sub={isPro ? __('Pro is active', 'ultimate-store-kit') : __('Activate Pro', 'ultimate-store-kit')} onClick={() => go('license')} />
     275                                                        ) : (
     276                                                                <ActionTile icon={ZapIcon} accent="rose" title={__('Get Pro', 'ultimate-store-kit')} sub={__('Unlock every module', 'ultimate-store-kit')} onClick={() => go('get-pro')} />
     277                                                        )}
     278                                                        <ActionTile icon={BookIcon} accent="teal" title={__('Documentation', 'ultimate-store-kit')} sub={__('Guides & tutorials', 'ultimate-store-kit')} href="https://bdthemes.com/knowledge-base/ultimate-store-kit/" external />
     279                                                        <ActionTile icon={HeadsetIcon} accent="slate" title={__('Support', 'ultimate-store-kit')} sub={__('Get help from the team', 'ultimate-store-kit')} href="https://bdthemes.com/support/" external />
     280                                                </div>
     281                                        </Card>
     282
     283                                        {WelcomeExtra ? <WelcomeExtra /> : null}
     284
     285                                        {releases.length ? (
     286                                                <Card
     287                                                        title={__('Recent activity', 'ultimate-store-kit')}
     288                                                        action={
     289                                                                <a href="https://wordpress.org/plugins/ultimate-store-kit/#developers" target="_blank" rel="noopener noreferrer" className="text-[13px] font-bold text-[#e30c1d] no-underline hover:underline">
     290                                                                        {__('View all', 'ultimate-store-kit')}
     291                                                                </a>
     292                                                        }
    106293                                                >
    107                                                         UltimateStoreKit
    108                                                 </a>
    109                                                 .{' '}
    110                                                 {__(
    111                                                         'We are always ready to help you 24/7.',
    112                                                         'ultimate-store-kit'
    113                                                 )}
    114                                         </p>
    115                                         <p className="my-2 text-[13px] leading-relaxed text-slate-500">
    116                                                 <strong>
    117                                                         {__(
    118                                                                 "Or if you're facing technical issues with our plugin, then please create a support ticket",
    119                                                                 'ultimate-store-kit'
    120                                                         )}
    121                                                 </strong>
    122                                         </p>
    123                                         <div className="mt-3 flex flex-wrap gap-2">
    124                                                 <a
    125                                                         className={btnPrimary}
    126                                                         target="_blank"
    127                                                         rel="noopener noreferrer"
    128                                                         href="https://bdthemes.com/knowledge-base/ultimate-store-kit/"
     294                                                        <ul className="m-0 list-none p-0">
     295                                                                {releases.map((release, index) => (
     296                                                                        <ReleaseRow key={release.version} release={release} current={release.version === adminData.version} color={RELEASE_COLORS[index % RELEASE_COLORS.length]} />
     297                                                                ))}
     298                                                        </ul>
     299                                                </Card>
     300                                        ) : null}
     301                                </div>
     302
     303                                <div className="flex min-w-0 flex-col gap-[14px]">
     304                                        {suggestions.length ? (
     305                                                <Card
     306                                                        title={__('Suggestions', 'ultimate-store-kit')}
     307                                                        action={<Pill tone="blue">{sprintf(/* translators: %d: number of suggestions. */ __('%d new', 'ultimate-store-kit'), suggestions.length)}</Pill>}
    129308                                                >
    130                                                         {__('Knowledge Base', 'ultimate-store-kit')}
    131                                                 </a>
    132                                                 <a
    133                                                         className={btnSecondary}
    134                                                         target="_blank"
    135                                                         rel="noopener noreferrer"
    136                                                         href="https://bdthemes.com/support/"
     309                                                        <div className="flex flex-col gap-2">
     310                                                                {suggestions.map((item) => {
     311                                                                        const inner = (
     312                                                                                <>
     313                                                                                        <IconTile icon={item.icon} accent={item.accent} size="md" iconSize={16} />
     314                                                                                        <span className="min-w-0 flex-1">
     315                                                                                                <span className="block text-[13.5px] font-bold text-[#0f1115]">{item.title}</span>
     316                                                                                                <span className="mt-0.5 block text-[12px] leading-relaxed text-[#6c6c75]">{item.text}</span>
     317                                                                                                <span className="mt-1.5 inline-flex items-center gap-1 text-[12.5px] font-bold text-[#e30c1d]">
     318                                                                                                        {item.link}
     319                                                                                                        <ArrowRightIcon size={13} />
     320                                                                                                </span>
     321                                                                                        </span>
     322                                                                                </>
     323                                                                        );
     324                                                                        const rowClass =
     325                                                                                'box-border flex w-full cursor-pointer gap-3 rounded-panel border border-solid border-[#ececf0] bg-white p-3 text-left no-underline transition-colors hover:border-[#fbc8cd]';
     326                                                                        return item.href ? (
     327                                                                                <a key={item.key} href={item.href} className={rowClass}>
     328                                                                                        {inner}
     329                                                                                </a>
     330                                                                        ) : (
     331                                                                                <button key={item.key} type="button" onClick={() => go(item.page)} className={rowClass}>
     332                                                                                        {inner}
     333                                                                                </button>
     334                                                                        );
     335                                                                })}
     336                                                        </div>
     337                                                </Card>
     338                                        ) : null}
     339
     340                                        {isPro ? (
     341                                                <div className="relative overflow-hidden rounded-card bg-[linear-gradient(135deg,#3a0a10,#8f0b16_55%,#e30c1d)] p-[22px] text-white">
     342                                                        <span className="absolute -right-10 -top-10 h-40 w-40 rounded-full bg-white/10" aria-hidden="true" />
     343                                                        <span className="inline-flex items-center gap-1.5 rounded-full bg-white/15 px-2.5 py-1 text-[11px] font-bold uppercase tracking-[.06em]">
     344                                                                <SparkIcon size={12} />
     345                                                                {__("What's new", 'ultimate-store-kit')}
     346                                                        </span>
     347                                                        <h3 className="m-0 mt-3 text-[20px] font-extrabold text-white">
     348                                                                {sprintf(/* translators: %s: version. */ __('Ultimate Store Kit %s', 'ultimate-store-kit'), adminData.version)}
     349                                                        </h3>
     350                                                        <p className="m-0 mt-1.5 line-clamp-3 text-[13px] leading-relaxed text-white/80">
     351                                                                {releases[0]?.summary || __('See everything added, fixed and improved in this update.', 'ultimate-store-kit')}
     352                                                        </p>
     353                                                        <button type="button" onClick={() => go('modules')} className="mt-4 inline-flex cursor-pointer items-center gap-1.5 rounded-full border-0 bg-white px-4 py-2 text-[13px] font-bold text-[#e30c1d]">
     354                                                                {__('Explore modules', 'ultimate-store-kit')}
     355                                                                <ChevronRightIcon size={14} />
     356                                                        </button>
     357                                                </div>
     358                                        ) : (
     359                                                <div className="relative overflow-hidden rounded-card bg-[linear-gradient(135deg,#3a0a10,#8f0b16_55%,#e30c1d)] p-[22px] text-white">
     360                                                        <span className="absolute -right-10 -top-10 h-40 w-40 rounded-full bg-white/10" aria-hidden="true" />
     361                                                        <span className="inline-flex items-center gap-1.5 rounded-full bg-white/15 px-2.5 py-1 text-[11px] font-bold uppercase tracking-[.06em]">
     362                                                                <ZapIcon size={12} />
     363                                                                {__('Go Pro', 'ultimate-store-kit')}
     364                                                        </span>
     365                                                        <h3 className="m-0 mt-3 text-[20px] font-extrabold text-white">{__('Sell more with Pro modules', 'ultimate-store-kit')}</h3>
     366                                                        <p className="m-0 mt-1.5 text-[13px] leading-relaxed text-white/80">
     367                                                                {__('Partial payments, cart recovery, size charts, badges, upsells, currency switcher and every Pro widget.', 'ultimate-store-kit')}
     368                                                        </p>
     369                                                        <a href="https://storekit.pro/pricing/" target="_blank" rel="noopener noreferrer" className="mt-4 inline-flex items-center gap-1.5 rounded-full bg-white px-4 py-2 text-[13px] font-bold text-[#e30c1d] no-underline">
     370                                                                {__('Get Pro', 'ultimate-store-kit')}
     371                                                                <ChevronRightIcon size={14} />
     372                                                        </a>
     373                                                </div>
     374                                        )}
     375
     376                                        {system.length ? (
     377                                                <Card
     378                                                        title={__('System status', 'ultimate-store-kit')}
     379                                                        action={
     380                                                                <button type="button" onClick={() => go('about')} className="cursor-pointer border-0 bg-transparent p-0 text-[13px] font-bold text-[#e30c1d] hover:underline">
     381                                                                        {__('Details', 'ultimate-store-kit')}
     382                                                                </button>
     383                                                        }
    137384                                                >
    138                                                         {__('Get Support', 'ultimate-store-kit')}
    139                                                 </a>
    140                                         </div>
    141                                 </div>
    142 
    143                                 <div className="rounded-lg border border-solid border-gray-100 bg-white p-5">
    144                                         <h3 className="m-0 mb-2 text-base font-bold text-slate-800">
    145                                                 {__('System Requirement', 'ultimate-store-kit')}
    146                                         </h3>
    147                                         <p className="mb-3 text-[13px] leading-relaxed text-slate-500">
    148                                                 {__(
    149                                                         'Make sure your server meets the minimum requirements for optimal performance.',
    150                                                         'ultimate-store-kit'
    151                                                 )}
    152                                         </p>
    153                                         <div>
    154                                                 <div className="flex items-center justify-between border-b border-slate-100 py-2 text-[13px] text-slate-700 last:border-b-0">
    155                                                         <span>{__('PHP Version', 'ultimate-store-kit')}</span>
    156                                                         <span className="rounded-lg bg-emerald-100 px-2.5 py-0.5 text-[11px] font-semibold text-emerald-800">
    157                                                                 {__('OK', 'ultimate-store-kit')}
    158                                                         </span>
     385                                                        <ul className="m-0 list-none p-0">
     386                                                                {system.map((row) => (
     387                                                                        <li key={row.label} className="m-0 flex items-center justify-between gap-3 border-0 border-b border-solid border-[#f0f0f3] py-[9px] text-[13px] last:border-b-0">
     388                                                                                <span className="text-[#3f3f46]">{row.label}</span>
     389                                                                                <span className={`flex items-center gap-1.5 font-bold ${STATUS_TEXT[row.status] || STATUS_TEXT.ok}`}>
     390                                                                                        <span className={`h-[7px] w-[7px] rounded-full ${STATUS_DOT[row.status] || STATUS_DOT.ok}`} />
     391                                                                                        {row.value}
     392                                                                                </span>
     393                                                                        </li>
     394                                                                ))}
     395                                                        </ul>
     396                                                </Card>
     397                                        ) : null}
     398
     399                                        <Card title={__('Resources & help', 'ultimate-store-kit')}>
     400                                                <div className="flex flex-col gap-2">
     401                                                        {[
     402                                                                { icon: BookIcon, accent: 'blue', title: __('Documentation', 'ultimate-store-kit'), sub: __('Guides & tutorials', 'ultimate-store-kit'), href: 'https://bdthemes.com/knowledge-base/ultimate-store-kit/' },
     403                                                                { icon: ActivityIcon, accent: 'rose', title: __("What's new", 'ultimate-store-kit'), sub: __('Release notes', 'ultimate-store-kit'), href: 'https://wordpress.org/plugins/ultimate-store-kit/#developers' },
     404                                                                { icon: HeadsetIcon, accent: 'violet', title: __('Support', 'ultimate-store-kit'), sub: __('Get help from the team', 'ultimate-store-kit'), href: 'https://bdthemes.com/support/' },
     405                                                                { icon: MessageIcon, accent: 'green', title: __('Request a feature', 'ultimate-store-kit'), sub: __('Tell us what to build next', 'ultimate-store-kit'), href: 'https://feedback.bdthemes.com/b/6vr2250l/feature-requests/' },
     406                                                        ].map((link) => (
     407                                                                <a
     408                                                                        key={link.title}
     409                                                                        href={link.href}
     410                                                                        target="_blank"
     411                                                                        rel="noopener noreferrer"
     412                                                                        className="flex items-center gap-3 rounded-panel border border-solid border-[#ececf0] px-3 py-[10px] no-underline transition-colors hover:border-[#fbc8cd]"
     413                                                                >
     414                                                                        <IconTile icon={link.icon} accent={link.accent} size="md" iconSize={16} />
     415                                                                        <span className="flex-1">
     416                                                                                <span className="block text-[13.5px] font-bold text-[#0f1115]">{link.title}</span>
     417                                                                                <span className="block text-[12px] text-[#8a8a93]">{link.sub}</span>
     418                                                                        </span>
     419                                                                        <span className="text-[#a1a1aa]">
     420                                                                                <ExternalIcon size={14} />
     421                                                                        </span>
     422                                                                </a>
     423                                                        ))}
    159424                                                </div>
    160                                                 <div className="flex items-center justify-between border-b border-slate-100 py-2 text-[13px] text-slate-700 last:border-b-0">
    161                                                         <span>{__('Memory Limit', 'ultimate-store-kit')}</span>
    162                                                         <span className="rounded-lg bg-emerald-100 px-2.5 py-0.5 text-[11px] font-semibold text-emerald-800">
    163                                                                 {__('OK', 'ultimate-store-kit')}
    164                                                         </span>
    165                                                 </div>
    166                                                 <div className="flex items-center justify-between border-b border-slate-100 py-2 text-[13px] text-slate-700 last:border-b-0">
    167                                                         <span>{__('Max Execution Time', 'ultimate-store-kit')}</span>
    168                                                         <span className="rounded-lg bg-emerald-100 px-2.5 py-0.5 text-[11px] font-semibold text-emerald-800">
    169                                                                 {__('OK', 'ultimate-store-kit')}
    170                                                         </span>
    171                                                 </div>
    172                                         </div>
     425                                        </Card>
    173426                                </div>
    174427                        </div>
    175 
    176                         <div className="grid grid-cols-1 gap-4 sm:grid-cols-2">
    177                                 <div className="rounded-lg border border-solid border-gray-100 bg-white p-5">
    178                                         <h3 className="m-0 mb-2 text-base font-bold text-slate-800">
    179                                                 {__('Feedback', 'ultimate-store-kit')}
    180                                         </h3>
    181                                         <p className="my-2 text-[13px] leading-relaxed text-slate-500">
    182                                                 {__(
    183                                                         'We are always looking for feedback from our users. If you have any suggestions or feedback, please let us know.',
    184                                                         'ultimate-store-kit'
    185                                                 )}
    186                                         </p>
    187                                         <div className="mt-3 flex flex-wrap gap-2">
    188                                                 <a
    189                                                         className={btnSecondary}
    190                                                         target="_blank"
    191                                                         rel="noopener noreferrer"
    192                                                         href="https://feedback.bdthemes.com/b/6vr2250l/feature-requests/"
    193                                                 >
    194                                                         {__('Request Feature', 'ultimate-store-kit')}
    195                                                 </a>
    196                                         </div>
    197                                 </div>
    198 
    199                                 <div className="rounded-lg border border-solid border-gray-100 bg-white p-5">
    200                                         <h3 className="m-0 mb-2 text-base font-bold text-slate-800">
    201                                                 {__('Try Our Other Plugins', 'ultimate-store-kit')}
    202                                         </h3>
    203                                         <p className="my-2 text-[13px] leading-relaxed text-slate-500">
    204                                                 {__(
    205                                                         'Element Pack, Prime Slider, Ultimate Post Kit, Pixel Gallery & Live Copy Paste addons for Elementor.',
    206                                                         'ultimate-store-kit'
    207                                                 )}
    208                                         </p>
    209                                         <div className="mt-3 flex flex-wrap gap-2">
    210                                                 <a
    211                                                         className={`${btnSm} ${btnEp}`}
    212                                                         target="_blank"
    213                                                         rel="noopener noreferrer"
    214                                                         href="https://wordpress.org/plugins/bdthemes-element-pack-lite/"
    215                                                 >
    216                                                         {__('Element Pack', 'ultimate-store-kit')}
    217                                                 </a>
    218                                                 <a
    219                                                         className={`${btnSm} ${btnPs}`}
    220                                                         target="_blank"
    221                                                         rel="noopener noreferrer"
    222                                                         href="https://wordpress.org/plugins/bdthemes-prime-slider-lite/"
    223                                                 >
    224                                                         {__('Prime Slider', 'ultimate-store-kit')}
    225                                                 </a>
    226                                                 <a
    227                                                         className={`${btnSm} ${btnUpk}`}
    228                                                         target="_blank"
    229                                                         rel="noopener noreferrer"
    230                                                         href="https://wordpress.org/plugins/ultimate-post-kit/"
    231                                                 >
    232                                                         {__('Ultimate Post Kit', 'ultimate-store-kit')}
    233                                                 </a>
    234                                                 <a
    235                                                         className={`${btnSm} ${btnPg}`}
    236                                                         target="_blank"
    237                                                         rel="noopener noreferrer"
    238                                                         href="https://wordpress.org/plugins/pixel-gallery/"
    239                                                 >
    240                                                         {__('Pixel Gallery', 'ultimate-store-kit')}
    241                                                 </a>
    242                                                 <a
    243                                                         className={`${btnSm} ${btnZb}`}
    244                                                         target="_blank"
    245                                                         rel="noopener noreferrer"
    246                                                         href="https://wordpress.org/plugins/zoloblocks/"
    247                                                 >
    248                                                         {__('ZoloBlocks', 'ultimate-store-kit')}
    249                                                 </a>
    250                                         </div>
    251                                 </div>
    252                         </div>
    253428                </div>
    254429        );
  • ultimate-store-kit/tags/4.1.0/src/admin/pages/WidgetsPage.js

    r3757742 r3790891  
     1/**
     2 * Widgets, laid out like Element Pack's: heading with bulk actions, a toolbar
     3 * (search, WooCommerce/EDD/Others switch, Free/Pro/New chips), a three-column
     4 * card grid and a sticky save bar while there are unsaved changes.
     5 */
    16import { useState, useMemo, useCallback, useEffect } from '@wordpress/element';
    2 import { __ } from '@wordpress/i18n';
    3 import {
    4         CheckIcon,
    5         CloseIcon,
    6         EyeIcon,
    7         LinkPluginIcon,
    8         PlayIcon,
    9         SearchIcon,
    10 } from '../icons';
    11 import {
    12         btnLg,
    13         btnPrimary,
    14         proBadge,
    15         selectInput,
    16         selectLabel,
    17         Toggle,
    18 } from '../tw';
     7import { __, sprintf } from '@wordpress/i18n';
     8import { Toggle } from '../tw';
    199import { isWidgetEffectivelyOn } from '../utils';
    20 
    21 const WidgetsPage = ({
    22         allWidgets,
    23         allSettings,
    24         onSave,
    25         saving,
    26         isPro,
    27         widgetType = 'wc',
    28 }) => {
    29         const [search, setSearch] = useState('');
     10import { SearchIcon, EyeIcon, PlayIcon, PlugIcon, CheckIcon, XIcon, WidgetsIcon } from '../components/ui/Icons';
     11import { ProTag, Pill } from '../components/ui/Primitives';
     12
     13const SECTION_KEYS = {
     14        wc: 'ultimate_store_kit_active_modules',
     15        edd: 'ultimate_store_kit_edd_modules',
     16        other: 'ultimate_store_kit_general_modules',
     17};
     18
     19const PAGE_FOR_TYPE = {
     20        wc: 'woocommerce-widgets',
     21        edd: 'edd-widgets',
     22        other: 'other-widgets',
     23};
     24
     25const searchFromHash = () => {
     26        const query = window.location.hash.split('?')[1] || '';
     27        try {
     28                return new URLSearchParams(query).get('search') || '';
     29        } catch (e) {
     30                return '';
     31        }
     32};
     33
     34const initialValues = (allWidgets, allSettings) => {
     35        const initial = {};
     36        Object.values(SECTION_KEYS).forEach((sectionKey) => {
     37                const sectionSettings = allSettings[sectionKey] || {};
     38                (allWidgets[sectionKey] || []).forEach((w) => {
     39                        if (w.type !== 'checkbox') return;
     40                        initial[w.name] = sectionSettings[w.name] !== undefined ? sectionSettings[w.name] : w.default || 'off';
     41                });
     42        });
     43        return initial;
     44};
     45
     46const linkClass =
     47        'inline-flex items-center gap-1 text-[11.5px] font-semibold text-[#8a8a93] no-underline transition-colors hover:text-[#e30c1d]';
     48
     49const WidgetsPage = ({ allWidgets, allSettings, onSave, saving, isPro, widgetType = 'wc', onNavigate }) => {
     50        const [search, setSearch] = useState(searchFromHash);
    3051        const [filter, setFilter] = useState('all');
    3152        const [contentTypeFilter, setContentTypeFilter] = useState('all');
    32 
    33         const widgetTypeConfig = {
    34                 wc: {
    35                         title: __('WooCommerce Widgets', 'ultimate-store-kit'),
    36                         key: 'ultimate_store_kit_active_modules',
    37                 },
    38                 edd: {
    39                         title: __('Easy Digital Downloads Widgets', 'ultimate-store-kit'),
    40                         key: 'ultimate_store_kit_edd_modules',
    41                 },
    42                 other: {
    43                         title: __('Other Widgets', 'ultimate-store-kit'),
    44                         key: 'ultimate_store_kit_general_modules',
    45                 },
    46         };
    47 
    48         const currentConfig = widgetTypeConfig[widgetType];
    49         const widgets = allWidgets[currentConfig.key] || [];
    50         const settings = allSettings[currentConfig.key] || {};
    51 
    52         const [localSettings, setLocalSettings] = useState(() => {
    53                 const initial = {};
    54                 Object.keys(allSettings).forEach((sectionKey) => {
    55                         const sectionSettings = allSettings[sectionKey] || {};
    56                         const sectionWidgets = allWidgets[sectionKey] || [];
    57                         sectionWidgets.forEach((w) => {
    58                                 if (w.type !== 'checkbox') return;
    59                                 initial[w.name] =
    60                                         sectionSettings[w.name] !== undefined
    61                                                 ? sectionSettings[w.name]
    62                                                 : w.default || 'off';
    63                         });
    64                 });
    65                 return initial;
    66         });
     53        const [localSettings, setLocalSettings] = useState(() => initialValues(allWidgets, allSettings));
     54
     55        const sectionKey = SECTION_KEYS[widgetType] || SECTION_KEYS.wc;
     56        const widgets = useMemo(() => (allWidgets[sectionKey] || []).filter((w) => w.type === 'checkbox'), [allWidgets, sectionKey]);
     57
     58        // Saved values (re-read after a save) to tell what changed.
     59        const savedValues = useMemo(() => initialValues(allWidgets, allSettings), [allWidgets, allSettings]);
    6760
    6861        useEffect(() => {
    69                 setSearch('');
     62                setSearch(searchFromHash());
    7063                setFilter('all');
    7164                setContentTypeFilter('all');
    7265        }, [widgetType]);
    7366
     67        useEffect(() => {
     68                const onHash = () => setSearch(searchFromHash());
     69                window.addEventListener('hashchange', onHash);
     70                return () => window.removeEventListener('hashchange', onHash);
     71        }, []);
     72
     73        const isLocked = useCallback(
     74                (w) => {
     75                        const dep = w.dependency;
     76                        return (w.widget_type === 'pro' && !isPro) || (dep && (!dep.isInstalled || !dep.isActive));
     77                },
     78                [isPro]
     79        );
     80
    7481        const contentTypes = useMemo(() => {
    7582                const types = new Set();
    7683                widgets.forEach((w) => {
    77                         if (w.content_type) {
    78                                 w.content_type.split(' ').forEach((t) => {
    79                                         if (
    80                                                 t &&
    81                                                 t !== 'woocommerce' &&
    82                                                 t !== 'edd' &&
    83                                                 t !== 'new'
    84                                         ) {
    85                                                 types.add(t);
    86                                         }
    87                                 });
    88                         }
     84                        (w.content_type || '').split(' ').forEach((t) => {
     85                                if (t && !['woocommerce', 'edd', 'new', 'others'].includes(t)) {
     86                                        types.add(t);
     87                                }
     88                        });
    8989                });
    9090                return Array.from(types);
    9191        }, [widgets]);
    9292
    93         const filteredWidgets = useMemo(() => {
    94                 return widgets.filter((w) => {
    95                         if (w.type !== 'checkbox') return false;
    96 
    97                         if (search && !w.label.toLowerCase().includes(search.toLowerCase()))
    98                                 return false;
    99 
    100                         if (filter === 'free' && w.widget_type !== 'free') return false;
    101                         if (filter === 'pro' && w.widget_type !== 'pro') return false;
    102 
    103                         if (
    104                                 contentTypeFilter !== 'all' &&
    105                                 (!w.content_type || !w.content_type.includes(contentTypeFilter))
    106                         )
    107                                 return false;
    108 
    109                         return true;
    110                 });
    111         }, [widgets, search, filter, contentTypeFilter]);
    112 
    113         const handleToggle = useCallback(
    114                 (name) => {
    115                         setLocalSettings((prev) => ({
    116                                 ...prev,
    117                                 [name]: prev[name] === 'on' ? 'off' : 'on',
    118                         }));
    119                 },
    120                 []
     93        const isNew = (w) => (w.content_type || '').split(' ').includes('new');
     94
     95        const counts = useMemo(
     96                () => ({
     97                        all: widgets.length,
     98                        free: widgets.filter((w) => w.widget_type !== 'pro').length,
     99                        pro: widgets.filter((w) => w.widget_type === 'pro').length,
     100                        new: widgets.filter(isNew).length,
     101                }),
     102                [widgets]
    121103        );
    122104
    123         const handleActivateAll = useCallback(() => {
     105        const filteredWidgets = useMemo(
     106                () =>
     107                        widgets.filter((w) => {
     108                                if (search && !w.label.toLowerCase().includes(search.toLowerCase())) return false;
     109                                if (filter === 'free' && w.widget_type === 'pro') return false;
     110                                if (filter === 'pro' && w.widget_type !== 'pro') return false;
     111                                if (filter === 'new' && !isNew(w)) return false;
     112                                if (contentTypeFilter !== 'all' && !(w.content_type || '').split(' ').includes(contentTypeFilter)) return false;
     113                                return true;
     114                        }),
     115                [widgets, search, filter, contentTypeFilter]
     116        );
     117
     118        const activeCount = widgets.filter((w) => isWidgetEffectivelyOn(w, localSettings[w.name], isPro)).length;
     119
     120        const dirtyNames = widgets.filter((w) => localSettings[w.name] !== savedValues[w.name]).map((w) => w.name);
     121
     122        const setAll = (value) => {
    124123                setLocalSettings((prev) => {
    125                         const updated = { ...prev };
     124                        const next = { ...prev };
    126125                        filteredWidgets.forEach((w) => {
    127                                 if (w.widget_type === 'pro' && !isPro) return;
    128                                 const dep = w.dependency;
    129                                 if (dep && (!dep.isInstalled || !dep.isActive)) return;
    130                                 updated[w.name] = 'on';
     126                                if (!isLocked(w)) {
     127                                        next[w.name] = value;
     128                                }
    131129                        });
    132                         return updated;
    133                 });
    134         }, [filteredWidgets, isPro]);
    135 
    136         const handleDeactivateAll = useCallback(() => {
     130                        return next;
     131                });
     132        };
     133
     134        const handleSave = () => {
     135                const current = {};
     136                widgets.forEach((w) => {
     137                        if (localSettings[w.name] !== undefined) {
     138                                current[w.name] = localSettings[w.name];
     139                        }
     140                });
     141                onSave(sectionKey, current);
     142        };
     143
     144        const discard = () => {
    137145                setLocalSettings((prev) => {
    138                         const updated = { ...prev };
    139                         filteredWidgets.forEach((w) => {
    140                                 if (w.widget_type === 'pro' && !isPro) return;
    141                                 updated[w.name] = 'off';
     146                        const next = { ...prev };
     147                        widgets.forEach((w) => {
     148                                next[w.name] = savedValues[w.name];
    142149                        });
    143                         return updated;
    144                 });
    145         }, [filteredWidgets, isPro]);
    146 
    147         const handleSave = () => {
    148                 const currentSettings = {};
    149                 widgets.forEach((w) => {
    150                         if (w.type === 'checkbox' && localSettings[w.name] !== undefined) {
    151                                 currentSettings[w.name] = localSettings[w.name];
    152                         }
    153                 });
    154                 onSave(currentConfig.key, currentSettings);
     150                        return next;
     151                });
    155152        };
    156153
    157         const activeCount = useMemo(() => {
    158                 return widgets.filter(
    159                         (w) =>
    160                                 w.type === 'checkbox' &&
    161                                 isWidgetEffectivelyOn(w, localSettings[w.name], isPro)
    162                 ).length;
    163         }, [widgets, localSettings, isPro]);
    164 
    165         const cardBase =
    166                 'flex flex-col justify-between gap-3 rounded-lg border border-solid border-gray-200 p-4';
    167 
    168         const toolbarControl = 'h-9 min-h-9 py-0 text-[13px] leading-none';
    169         const toolbarBtn =
    170                 'inline-flex h-9 min-h-9 shrink-0 cursor-pointer items-center gap-1.5 rounded-md border px-3 py-0 text-[13px] font-semibold leading-none no-underline transition-all duration-200';
     154        const categories = [
     155                { type: 'wc', label: __('WooCommerce', 'ultimate-store-kit') },
     156                { type: 'edd', label: __('EDD', 'ultimate-store-kit') },
     157                { type: 'other', label: __('Others', 'ultimate-store-kit') },
     158        ];
     159
     160        const chips = [
     161                { key: 'all', label: __('All', 'ultimate-store-kit') },
     162                { key: 'new', label: __('New', 'ultimate-store-kit') },
     163                { key: 'free', label: __('Free', 'ultimate-store-kit') },
     164                { key: 'pro', label: __('Pro', 'ultimate-store-kit') },
     165        ];
     166
     167        const pillBtn =
     168                'inline-flex cursor-pointer items-center gap-1.5 rounded-full border border-solid border-[#e2e2e6] bg-white px-4 py-2 text-[13px] font-bold text-[#27272a] transition-colors hover:border-[#e30c1d] hover:text-[#e30c1d]';
    171169
    172170        return (
    173                 <div>
    174                 <div className="mb-5 flex flex-wrap items-center justify-between gap-2">
    175                         <h2 className="m-0 text-xl font-bold text-slate-800">
    176                                 {currentConfig.title}
    177                         </h2>
    178                         <span className="rounded-2xl border border-slate-200 bg-white px-3 py-1 text-[13px] text-slate-500">
    179                                 {activeCount} / {widgets.filter((w) => w.type === 'checkbox').length}{' '}
    180                                 {__('Active', 'ultimate-store-kit')}
    181                         </span>
    182                 </div>
    183 
    184                 <div className="mb-5 flex flex-wrap items-center justify-between gap-3 rounded-lg border border-solid border-gray-100 bg-white px-4 py-3">
    185                         {/* Filters group — wraps on small screens */}
    186                         <div className="flex flex-wrap items-center gap-3">
    187                                 <div className="relative flex items-center">
    188                                         <SearchIcon className="pointer-events-none absolute right-3 inset-y-0 my-auto h-4 w-4 block text-gray-400" />
    189                                         <input
    190                                                 type="text"
    191                                                 className={`${toolbarControl} block w-full rounded-md border border-solid border-gray-200 bg-transparent pr-10 pl-3 text-slate-700 placeholder:text-gray-500 focus:border-uks-brand focus:outline-none focus:ring-2 focus:ring-uks-brand/25 sm:w-48`}
    192                                                 placeholder={__('Search widgets...', 'ultimate-store-kit')}
    193                                                 value={search}
    194                                                 onChange={(e) => setSearch(e.target.value)}
    195                                         />
    196                                 </div>
    197 
    198                                 <div className="flex items-center gap-1.5">
    199                                         <label className={selectLabel}>
    200                                                 {__('Status:', 'ultimate-store-kit')}
     171                <div className={dirtyNames.length ? 'pb-20' : ''}>
     172                        <div className="mb-[18px] flex flex-wrap items-end justify-between gap-3">
     173                                <div>
     174                                        <h1 className="m-0 text-[26px] font-extrabold tracking-[-.02em] text-[#0f1115]">{__('Widgets', 'ultimate-store-kit')}</h1>
     175                                        <p className="m-0 mt-1.5 text-[13.5px] text-[#6c6c75]">
     176                                                {sprintf(
     177                                                        /* translators: 1: enabled widgets, 2: all widgets in this category. */
     178                                                        __('%1$d of %2$d enabled - disable unused widgets for faster pages.', 'ultimate-store-kit'),
     179                                                        activeCount,
     180                                                        widgets.length
     181                                                )}
     182                                        </p>
     183                                </div>
     184                                <div className="flex flex-wrap items-center gap-2">
     185                                        <span className="inline-flex items-center gap-[7px] rounded-full border border-solid border-[#c6f0d4] bg-[#ecfdf3] px-3 py-[7px] text-[12.5px] font-bold text-[#15803d]">
     186                                                <span className="h-2 w-2 rounded-full bg-[#22c55e]" />
     187                                                {sprintf(
     188                                                        /* translators: 1: enabled, 2: total. */
     189                                                        __('%1$d of %2$d active', 'ultimate-store-kit'),
     190                                                        activeCount,
     191                                                        widgets.length
     192                                                )}
     193                                        </span>
     194                                        <button type="button" className={pillBtn} onClick={() => setAll('on')}>
     195                                                <CheckIcon size={14} />
     196                                                {__('Enable all', 'ultimate-store-kit')}
     197                                        </button>
     198                                        <button type="button" className={pillBtn} onClick={() => setAll('off')}>
     199                                                <XIcon size={14} />
     200                                                {__('Disable all', 'ultimate-store-kit')}
     201                                        </button>
     202                                </div>
     203                        </div>
     204
     205                        <div className="mb-[14px] flex flex-wrap items-center justify-between gap-3 rounded-card border border-solid border-[#e9e9ed] bg-white px-[14px] py-3">
     206                                <div className="flex flex-wrap items-center gap-3">
     207                                        <label className="relative flex w-[260px] max-w-full items-center">
     208                                                <span className="sr-only">{__('Search widgets', 'ultimate-store-kit')}</span>
     209                                                <span className="pointer-events-none absolute left-3 text-[#8a8a93]">
     210                                                        <SearchIcon size={15} />
     211                                                </span>
     212                                                <input
     213                                                        type="search"
     214                                                        value={search}
     215                                                        onChange={(event) => setSearch(event.target.value)}
     216                                                        placeholder={__('Search widgets…', 'ultimate-store-kit')}
     217                                                        className="!m-0 box-border w-full !rounded-full !border !border-solid !border-[#e6e6ea] !bg-[#fafbfc] !py-2 !pl-9 !pr-3 text-[13.5px] !shadow-none focus:!border-[#e30c1d]"
     218                                                />
    201219                                        </label>
    202                                         <select
    203                                                 className={`${selectInput} ${toolbarControl}`}
    204                                                 value={filter}
    205                                                 onChange={(e) => setFilter(e.target.value)}
    206                                         >
    207                                                 <option value="all">{__('All', 'ultimate-store-kit')}</option>
    208                                                 <option value="free">{__('Free', 'ultimate-store-kit')}</option>
    209                                                 <option value="pro">{__('Pro', 'ultimate-store-kit')}</option>
    210                                         </select>
    211                                 </div>
    212 
    213                                 {contentTypes.length > 0 && (
    214                                         <div className="flex items-center gap-1.5">
    215                                                 <label className={selectLabel}>
    216                                                         {__('Template:', 'ultimate-store-kit')}
    217                                                 </label>
     220
     221                                        <div className="flex items-center gap-1 rounded-full bg-[#f4f5f7] p-1" role="group" aria-label={__('Widget category', 'ultimate-store-kit')}>
     222                                                {categories.map((cat) => {
     223                                                        const total = (allWidgets[SECTION_KEYS[cat.type]] || []).filter((w) => w.type === 'checkbox').length;
     224                                                        const active = cat.type === widgetType;
     225                                                        return (
     226                                                                <button
     227                                                                        key={cat.type}
     228                                                                        type="button"
     229                                                                        aria-pressed={active}
     230                                                                        onClick={() => onNavigate && onNavigate(PAGE_FOR_TYPE[cat.type])}
     231                                                                        className={`cursor-pointer rounded-full border-0 px-3 py-1.5 text-[12.5px] font-bold transition-colors ${
     232                                                                                active ? 'bg-white text-[#0f1115] shadow-[0_1px_3px_rgba(0,0,0,.12)]' : 'bg-transparent text-[#52525b] hover:text-[#18181b]'
     233                                                                        }`}
     234                                                                >
     235                                                                        {cat.label} <span className="text-[#8a8a93]">{total}</span>
     236                                                                </button>
     237                                                        );
     238                                                })}
     239                                        </div>
     240
     241                                        {contentTypes.length > 0 ? (
    218242                                                <select
    219                                                         className={`${selectInput} ${toolbarControl}`}
    220243                                                        value={contentTypeFilter}
    221                                                         onChange={(e) => setContentTypeFilter(e.target.value)}
     244                                                        onChange={(event) => setContentTypeFilter(event.target.value)}
     245                                                        className="!m-0 !rounded-full !border !border-solid !border-[#e6e6ea] !bg-white !py-1.5 !pl-3 !pr-8 text-[12.5px] font-semibold !text-[#3f3f46] !shadow-none"
     246                                                        aria-label={__('Template type', 'ultimate-store-kit')}
    222247                                                >
    223                                                         <option value="all">{__('All Templates', 'ultimate-store-kit')}</option>
     248                                                        <option value="all">{__('All templates', 'ultimate-store-kit')}</option>
    224249                                                        {contentTypes.map((type) => (
    225250                                                                <option key={type} value={type}>
    … …  
    228253                                                        ))}
    229254                                                </select>
    230                                         </div>
    231                                 )}
     255                                        ) : null}
     256                                </div>
     257
     258                                <div className="flex items-center gap-1 rounded-full bg-[#f4f5f7] p-1" role="group" aria-label={__('Filter widgets', 'ultimate-store-kit')}>
     259                                        {chips.map((chip) => (
     260                                                <button
     261                                                        key={chip.key}
     262                                                        type="button"
     263                                                        onClick={() => setFilter(chip.key)}
     264                                                        aria-pressed={filter === chip.key}
     265                                                        className={`cursor-pointer rounded-full border-0 px-3 py-1.5 text-[12.5px] font-bold transition-colors ${
     266                                                                filter === chip.key ? 'bg-gradient-brand text-white shadow-glow' : 'bg-transparent text-[#52525b] hover:text-[#18181b]'
     267                                                        }`}
     268                                                >
     269                                                        {chip.label} <span className={filter === chip.key ? 'opacity-80' : 'text-[#8a8a93]'}>{counts[chip.key]}</span>
     270                                                </button>
     271                                        ))}
     272                                </div>
    232273                        </div>
    233274
    234                         {/* Action buttons — always pinned to the right, never wrap */}
    235                         <div className="flex flex-wrap items-center gap-1.5">
    236                                 <button
    237                                         type="button"
    238                                         className={`${toolbarBtn} ${
    239                                                 activeCount > 0
    240                                                         ? '!bg-uks-brand !text-white hover:!bg-uks-brand-dark border-none'
    241                                                         : '!border !border-uks-brand/25 bg-uks-brand/5 text-uks-brand hover:bg-uks-brand/10 hover:text-uks-brand-dark'
    242                                         } focus:outline-none focus:ring-2 focus:ring-uks-brand focus:ring-offset-2 focus:ring-offset-white`}
    243                                         onClick={handleActivateAll}
    244                                 >
    245                                         <CheckIcon className="h-3.5 w-3.5" />
    246                                         {__('Activate All', 'ultimate-store-kit')}
    247                                 </button>
    248                                 <button
    249                                         type="button"
    250                                         className={`${toolbarBtn} ${
    251                                                 activeCount === 0
    252                                                         ? '!bg-uks-brand !text-white hover:!bg-uks-brand-dark border-none'
    253                                                         : '!border !border-uks-brand/25 bg-uks-brand/5 text-uks-brand hover:bg-uks-brand/10 hover:text-uks-brand-dark'
    254                                         } focus:outline-none focus:ring-2 focus:ring-uks-brand focus:ring-offset-2 focus:ring-offset-white`}
    255                                         onClick={handleDeactivateAll}
    256                                 >
    257                                         <CloseIcon className="h-3.5 w-3.5" />
    258                                         {__('Deactivate All', 'ultimate-store-kit')}
    259                                 </button>
    260                         </div>
    261                 </div>
    262 
    263                         <div className="grid grid-cols-1 gap-3 rounded-lg border border-solid border-gray-100 bg-white p-5 sm:grid-cols-2 lg:grid-cols-3 2xl:grid-cols-4">
    264                                 {filteredWidgets.length === 0 && (
    265                                         <div className="col-span-full py-10 text-center text-sm text-slate-400">
    266                                                 {__('No widgets found.', 'ultimate-store-kit')}
    267                                         </div>
    268                                 )}
    269                                 {filteredWidgets.map((widget) => {
    270                                         const isProWidget = widget.widget_type === 'pro';
    271                                         const dependency = widget.dependency || null;
    272                                         const hasMissingDependency =
    273                                                 dependency && (!dependency.isInstalled || !dependency.isActive);
    274                                         const isDisabled = (isProWidget && !isPro) || hasMissingDependency;
    275                                         const isActive = isWidgetEffectivelyOn(
    276                                                 widget,
    277                                                 localSettings[widget.name],
    278                                                 isPro
    279                                         );
    280 
    281                                         return (
    282                                                 <div
    283                                                         key={widget.name}
    284                                                         className={`${cardBase} ${isActive ? 'border-emerald-300' : ''
    285                                                                 } ${isDisabled ? 'opacity-60 cursor-not-allowed bg-slate-100' : ''}`}
    286                                                 >
    287                                                         <div className="flex items-start justify-between gap-2">
    288                                                                 <span className="text-base font-semibold leading-snug text-slate-800">
    289                                                                         {widget.label}
     275                        {filteredWidgets.length === 0 ? (
     276                                <div className="rounded-card border border-solid border-[#e9e9ed] bg-white px-6 py-14 text-center text-[13.5px] text-[#6c6c75]">
     277                                        {__('No widgets found.', 'ultimate-store-kit')}
     278                                </div>
     279                        ) : (
     280                                <div className="grid grid-cols-3 gap-[10px] max-[1180px]:grid-cols-2 max-[700px]:grid-cols-1">
     281                                        {filteredWidgets.map((widget) => {
     282                                                const dependency = widget.dependency || null;
     283                                                const missingDependency = dependency && (!dependency.isInstalled || !dependency.isActive);
     284                                                const locked = isLocked(widget);
     285                                                const isActive = isWidgetEffectivelyOn(widget, localSettings[widget.name], isPro);
     286                                                const changed = localSettings[widget.name] !== savedValues[widget.name];
     287
     288                                                return (
     289                                                        <div
     290                                                                key={widget.name}
     291                                                                className={`flex items-center gap-3 rounded-panel border border-solid bg-white px-[14px] py-3 transition-colors ${
     292                                                                        changed ? 'border-[#fbc8cd] bg-[#fffbfb]' : 'border-[#e9e9ed] hover:border-[#d4d4dc]'
     293                                                                }`}
     294                                                        >
     295                                                                <span
     296                                                                        className={`grid h-10 w-10 shrink-0 place-items-center rounded-tile ${isActive ? 'bg-[#fff1f2] text-[#e30c1d]' : 'bg-[#f4f4f5] text-[#8a8a93]'}`}
     297                                                                        aria-hidden="true"
     298                                                                >
     299                                                                        <i className={`usk-icon-${widget.name} text-[18px] leading-none`} />
    290300                                                                </span>
    291                                                                 {isProWidget && (
    292                                                                         <span className={proBadge}>
    293                                                                                 {__('Pro', 'ultimate-store-kit')}
    294                                                                         </span>
    295                                                                 )}
    296                                                         </div>
    297                                                         <div className="flex items-center justify-between">
    298                                                                 <div className="flex gap-2 items-center">
    299                                                                         {dependency?.actionUrl && (
    300                                                                                 <a
    301 
    302                                                                                         href={dependency.actionUrl}
    303                                                                                         target={dependency.actionType === 'install' ? '_blank' : undefined}
    304                                                                                         rel={dependency.actionType === 'install' ? 'noopener noreferrer' : undefined}
    305                                                                                         title={dependency.message || dependency.actionLabel}
    306                                                                                         className="text-gray-400 transition-colors hover:text-uks-brand flex items-center gap-1 decoration-none"
    307                                                                                         style={{
    308                                                                                                 textDecoration: 'none',
    309                                                                                         }}
    310                                                                                 >
    311                                                                                         <LinkPluginIcon className="w-4 h-4 block" />
    312 
    313                                                                                         {__('Install', 'ultimate-store-kit')}
    314                                                                                 </a>
    315                                                                         )}
    316                                                                         {widget.demo_url &&
    317                                                                                 !widget.demo_url.startsWith('#') && (
     301                                                                <span className="min-w-0 flex-1">
     302                                                                        <span className={`block truncate text-[13.5px] font-bold ${locked ? 'text-[#8a8a93]' : 'text-[#0f1115]'}`}>{widget.label}</span>
     303                                                                        <span className="mt-1 flex flex-wrap items-center gap-x-2.5 gap-y-1">
     304                                                                                {missingDependency && dependency?.actionUrl ? (
    318305                                                                                        <a
    319                                                                                                 href={widget.demo_url}
    320                                                                                                 target="_blank"
    321                                                                                                 rel="noopener noreferrer"
    322                                                                                                 title={__(
    323                                                                                                         'Demo',
    324                                                                                                         'ultimate-store-kit'
    325                                                                                                 )}
    326                                                                                                 className="text-gray-400 transition-colors hover:text-uks-brand flex items-center gap-1 decoration-none"
    327                                                                                                 style={{
    328                                                                                                         textDecoration: 'none',
    329                                                                                                 }}
     306                                                                                                href={dependency.actionUrl}
     307                                                                                                target={dependency.actionType === 'install' ? '_blank' : undefined}
     308                                                                                                rel={dependency.actionType === 'install' ? 'noopener noreferrer' : undefined}
     309                                                                                                title={dependency.message}
     310                                                                                                className={`${linkClass} !text-[#b45309]`}
    330311                                                                                        >
    331                                                                                                 <EyeIcon className="w-4 h-4 block" />
    332 
     312                                                                                                <PlugIcon size={12} />
     313                                                                                                {dependency.actionLabel || __('Install', 'ultimate-store-kit')}
     314                                                                                        </a>
     315                                                                                ) : null}
     316                                                                                {widget.demo_url && !widget.demo_url.startsWith('#') ? (
     317                                                                                        <a href={widget.demo_url} target="_blank" rel="noopener noreferrer" className={linkClass}>
     318                                                                                                <EyeIcon size={12} />
    333319                                                                                                {__('Demo', 'ultimate-store-kit')}
    334320                                                                                        </a>
    335                                                                                 )}
    336                                                                         {widget.video_url && (
    337                                                                                 <a
    338                                                                                         href={widget.video_url}
    339                                                                                         target="_blank"
    340                                                                                         rel="noopener noreferrer"
    341                                                                                         title={__(
    342                                                                                                 'Video',
    343                                                                                                 'ultimate-store-kit'
    344                                                                                         )}
    345                                                                                         className="text-gray-400 transition-colors hover:text-uks-brand flex items-center gap-1 decoration-none"
    346 
    347                                                                                                 style={{
    348                                                                                                         textDecoration: 'none',
    349                                                                                                 }}
    350                                                                                 >
    351                                                                                         <PlayIcon className="w-4 h-4 block" />
    352 
    353                                                                                         {__('Video', 'ultimate-store-kit')}
    354                                                                                 </a>
    355                                                                         )}
    356                                                                 </div>
    357                                                                 <Toggle
    358                                                                         checked={isActive}
    359                                                                         disabled={isDisabled}
    360                                                                         onChange={() =>
    361                                                                                 handleToggle(widget.name)
    362                                                                         }
    363                                                                 />
     321                                                                                ) : null}
     322                                                                                {widget.video_url ? (
     323                                                                                        <a href={widget.video_url} target="_blank" rel="noopener noreferrer" className={linkClass}>
     324                                                                                                <PlayIcon size={12} />
     325                                                                                                {__('Video', 'ultimate-store-kit')}
     326                                                                                        </a>
     327                                                                                ) : null}
     328                                                                        </span>
     329                                                                </span>
     330                                                                <span className="flex shrink-0 items-center gap-2">
     331                                                                        {isNew(widget) ? <Pill tone="rose">{__('NEW', 'ultimate-store-kit')}</Pill> : null}
     332                                                                        {widget.widget_type === 'pro' ? <ProTag /> : null}
     333                                                                        <span title={locked ? (missingDependency ? dependency?.message : __('Available in Pro', 'ultimate-store-kit')) : undefined}>
     334                                                                                <Toggle
     335                                                                                        checked={isActive}
     336                                                                                        disabled={locked}
     337                                                                                        onChange={() =>
     338                                                                                                setLocalSettings((prev) => ({
     339                                                                                                        ...prev,
     340                                                                                                        [widget.name]: prev[widget.name] === 'on' ? 'off' : 'on',
     341                                                                                                }))
     342                                                                                        }
     343                                                                                />
     344                                                                        </span>
     345                                                                </span>
    364346                                                        </div>
    365                                                         {hasMissingDependency && dependency?.actionUrl && (
    366                                                                 <div className="text-[13px] leading-relaxed text-slate-500">
    367                                                                         {dependency.message}{' '}
    368                                                                         <a
    369                                                                                 href={dependency.actionUrl}
    370                                                                                 className="font-semibold text-uks-brand hover:underline"
    371                                                                                 target={dependency.actionType === 'install' ? '_blank' : undefined}
    372                                                                                 rel={dependency.actionType === 'install' ? 'noopener noreferrer' : undefined}
    373                                                                         >
    374                                                                                 {dependency.actionLabel}
    375                                                                         </a>
    376                                                                 </div>
    377                                                         )}
    378                                                 </div>
    379                                         );
    380                                 })}
    381                         </div>
    382 
    383                         <div className="mt-6 flex justify-end pt-4">
    384                                 <button
    385                                         type="button"
    386                                         className={`${btnLg} ${btnPrimary}`}
    387                                         onClick={handleSave}
    388                                         disabled={saving}
    389                                 >
    390                                         {saving
    391                                                 ? __('Saving...', 'ultimate-store-kit')
    392                                                 : __('Save Changes', 'ultimate-store-kit')}
    393                                 </button>
    394                         </div>
     347                                                );
     348                                        })}
     349                                </div>
     350                        )}
     351
     352                        {dirtyNames.length ? (
     353                                <div className="fixed bottom-5 left-1/2 z-[9990] box-border flex w-[min(640px,calc(100vw-32px))] -translate-x-1/2 animate-usk-pop items-center justify-between gap-3 rounded-full border border-solid border-[#e6e6ea] bg-white py-2 pl-5 pr-2 shadow-pop">
     354                                        <span className="flex items-center gap-2 text-[13.5px] font-bold text-[#0f1115]">
     355                                                <span className="text-[#e30c1d]">
     356                                                        <WidgetsIcon size={16} />
     357                                                </span>
     358                                                {sprintf(
     359                                                        /* translators: %d: number of changed widgets. */
     360                                                        __('%d unsaved change(s)', 'ultimate-store-kit'),
     361                                                        dirtyNames.length
     362                                                )}
     363                                        </span>
     364                                        <span className="flex items-center gap-2">
     365                                                <button type="button" onClick={discard} className="cursor-pointer rounded-full border-0 bg-transparent px-4 py-2 text-[13px] font-bold text-[#52525b] hover:text-[#0f1115]">
     366                                                        {__('Discard', 'ultimate-store-kit')}
     367                                                </button>
     368                                                <button
     369                                                        type="button"
     370                                                        onClick={handleSave}
     371                                                        disabled={saving}
     372                                                        className="cursor-pointer rounded-full border-0 bg-gradient-brand px-5 py-2.5 text-[13px] font-extrabold text-white shadow-glow disabled:cursor-wait disabled:opacity-70"
     373                                                >
     374                                                        {saving ? __('Saving…', 'ultimate-store-kit') : __('Save changes', 'ultimate-store-kit')}
     375                                                </button>
     376                                        </span>
     377                                </div>
     378                        ) : null}
    395379                </div>
    396380        );
  • ultimate-store-kit/tags/4.1.0/src/admin/style.scss

    r3650790 r3790891  
    22@tailwind components;
    33@tailwind utilities;
     4
     5/* Element Pack dashboard typeface (SIL Open Font License), scoped to the app. */
     6@font-face {
     7        font-family: "IBM Plex Sans";
     8        src: url("../../includes/Admin/assets/fonts/IBMPlexSans-Variable.woff2") format("woff2-variations"),
     9                url("../../includes/Admin/assets/fonts/IBMPlexSans-Variable.woff2") format("woff2");
     10        font-weight: 100 700;
     11        font-style: normal;
     12        font-display: swap;
     13}
     14
     15/* Set on the app wrapper rather than through `font-sans`: Ultimate Store Kit
     16   Pro ships its own Tailwind build, loaded later, with a different font-sans. */
     17.ultimate-store-kit-admin-root .usk-app {
     18        font-family: "IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, sans-serif;
     19        -webkit-font-smoothing: antialiased;
     20}
     21
     22.ultimate-store-kit-admin-root .usk-app :is(h1, h2, h3, h4, button, input, select, textarea) {
     23        font-family: inherit;
     24}
     25
     26/* WordPress admin styles links and buttons globally; the app's own classes decide. */
     27.ultimate-store-kit-admin-root a:focus,
     28.ultimate-store-kit-admin-root button:focus {
     29        box-shadow: none;
     30}
     31
     32.ultimate-store-kit-admin-root a:focus-visible,
     33.ultimate-store-kit-admin-root button:focus-visible {
     34        outline: 2px solid #e30c1d;
     35        outline-offset: 2px;
     36}
     37
     38/* The tab strip scrolls sideways on small screens without a visible bar. */
     39.usk-tabstrip-scroll {
     40        scrollbar-width: none;
     41}
     42
     43.usk-tabstrip-scroll::-webkit-scrollbar {
     44        display: none;
     45}
    446
    547/* ==================== FIXED TOAST NOTIFICATION ==================== */
  • ultimate-store-kit/tags/4.1.0/src/admin/utils.js

    r3765614 r3790891  
    197197};
    198198
     199/**
     200 * Description and on/off state of a module item, for the Modules page and the
     201 * dashboard. State comes from ultimate_store_kit_other_settings, where module
     202 * switches are stored (core groups use their slug, Pro modules their page id).
     203 *
     204 * @param {object} item     Module item ({ id, icon, … }).
     205 * @param {object} settings All saved settings.
     206 * @returns {{description: string, status: ('on'|'off')}}
     207 */
     208const getModuleInfo = (item, settings) => {
     209        const placeholder = getPlaceholderModules().find((p) => p.id === item.id);
     210        const proPage = ((window.ultimateStoreKitProData || {}).pages || {})[item.id];
     211        const key = item.id.startsWith('settings-') ? item.id.slice('settings-'.length) : item.id;
     212        const other = (settings && settings.ultimate_store_kit_other_settings) || {};
     213        // A module whose switch was never saved is off: the loaders only start a
     214        // module when its key is 'on'.
     215        const status = other[key] === 'on' || other[key] === 'yes' ? 'on' : 'off';
     216
     217        return {
     218                description: (proPage && proPage.description) || (placeholder && placeholder.description) || proGroupDescriptions[item.icon] || '',
     219                status,
     220        };
     221};
     222
    199223const getAdminBarHeight = () =>
    200224        document.getElementById('wpadminbar')?.offsetHeight || 0;
    … …  
    245269export {
    246270        buildSidebarSections,
     271        getModuleInfo,
    247272        getAdminBarHeight,
    248273        getModuleSidebarIcon,
  • ultimate-store-kit/tags/4.1.0/tailwind.config.js

    r3650790 r3790891  
    1111        // never match — put Tailwind classes only on descendants, or use a wrapper with
    1212        // `display: contents` around portaled UI (see OfferEditor).
    13         important: '.ultimate-store-kit-admin-root',
     13        // Prefixed with #wpbody-content so these utilities outrank the same class names
     14        // in Ultimate Store Kit Pro's own Tailwind build, which loads later with the
     15        // plain root scope: otherwise its `.hidden`, `.grid-cols-3`, `.font-sans`…
     16        // override this build's responsive variants. This build already scans Pro's
     17        // admin source (see `content`), so Pro pages render from these rules too;
     18        // Pro's portals outside #wpbody-content keep its own stylesheet.
     19        important: '#wpbody-content .ultimate-store-kit-admin-root',
    1420
    1521        corePlugins: {
    … …  
    2127                        fontFamily: {
    2228                                sans: [
     29                                        '"IBM Plex Sans"',
    2330                                        '-apple-system',
    2431                                        'BlinkMacSystemFont',
    … …  
    3239                        colors: {
    3340                                uks: {
    34                                         brand: '#00216A',
    35                                         'brand-dark': '#00216A',
     41                                        brand: '#E30C1D',
     42                                        'brand-dark': '#B80A17',
    3643                                        dark: '#1a2332',
    3744                                        /** ~darken($dark, 3%) for sidebar promo */
    … …  
    4451                        borderRadius: {
    4552                                usk: '10px',
     53                                // Element Pack dashboard radii.
     54                                tile: '11px',
     55                                panel: '16px',
     56                                card: '18px',
    4657                        },
    4758                        boxShadow: {
    4859                                usk: '0 2px 8px rgba(0, 0, 0, 0.06)',
     60                                pop: '0 24px 60px -16px rgba(0, 0, 0, 0.32)',
     61                                glow: '0 6px 18px rgba(227, 12, 29, 0.28)',
     62                                'glow-lg': '0 8px 24px rgba(227, 12, 29, 0.38)',
     63                                lift: '0 12px 26px -14px rgba(0, 0, 0, 0.22)',
     64                        },
     65                        backgroundImage: {
     66                                'gradient-brand': 'linear-gradient(135deg, #ff4f57, #E30C1D)',
    4967                        },
    5068                        keyframes: {
     69                                uskPop: {
     70                                        from: { opacity: '0', transform: 'translateY(6px) scale(.98)' },
     71                                        to: { opacity: '1', transform: 'none' },
     72                                },
    5173                                uskSlideIn: {
    5274                                        from: { opacity: '0', transform: 'translateY(-8px)' },
    … …  
    6183                        animation: {
    6284                                'usk-slide-in': 'uskSlideIn 0.3s ease',
     85                                'usk-pop': 'uskPop .25s cubic-bezier(.16,1,.3,1) both',
    6386                                'offer-drawer': 'offerDrawerSlide 200ms ease-out',
    6487                        },
  • ultimate-store-kit/tags/4.1.0/traits/global-widget-template.php

    r3684617 r3790891  
    254254                        }
    255255                endif;
     256
     257                /**
     258                 * Fires at the end of a product's badge area in the grid, carousel,
     259                 * list and slider widgets, so add-ons can print extra badges there
     260                 * (used by Ultimate Store Kit Pro's Product Badges module).
     261                 *
     262                 * @param \WC_Product $product  Product being rendered.
     263                 * @param array       $settings Widget settings.
     264                 */
     265                do_action('ultimate_store_kit/product_badges', $product, $settings);
    256266        }
    257267        protected function register_global_template_navigation()
  • ultimate-store-kit/tags/4.1.0/ultimate-store-kit.php

    r3777913 r3790891  
    55 * Plugin URI: https://storekit.pro/
    66 * Description: Build online stores in WordPress with the powerful store builder addon for Elementor. Enjoy a wide range of customizations and easily build product grids, carousels, single product/page elements, checkouts and more.
    7  * Version: 4.0.2
     7 * Version: 4.1.0
    88 * Author: BdThemes
    99 * Author URI: https://bdthemes.com/
    … …  
    3636
    3737// Some pre define value for easy use
    38 define('BDTUSK_VER', '4.0.2');
     38define('BDTUSK_VER', '4.1.0');
    3939define('BDTUSK__FILE__', __FILE__);
    4040define('BDTUSK_PNAME', basename(dirname(BDTUSK__FILE__)));
  • ultimate-store-kit/tags/4.1.0/vendor/composer/autoload_classmap.php

    r3504294 r3790891  
    99    'Composer\\InstalledVersions' => $vendorDir . '/composer/InstalledVersions.php',
    1010    'UltimateStoreKit\\API\\Base' => $baseDir . '/includes/API/Base.php',
     11    'UltimateStoreKit\\API\\OtherPlugins' => $baseDir . '/includes/API/OtherPlugins.php',
    1112    'UltimateStoreKit\\API\\Settings' => $baseDir . '/includes/API/Settings.php',
    1213    'UltimateStoreKit\\Admin\\Biggopties' => $baseDir . '/includes/Admin/Biggopties.php',
  • ultimate-store-kit/tags/4.1.0/vendor/composer/autoload_static.php

    r3504294 r3790891  
    2424        'Composer\\InstalledVersions' => __DIR__ . '/..' . '/composer/InstalledVersions.php',
    2525        'UltimateStoreKit\\API\\Base' => __DIR__ . '/../..' . '/includes/API/Base.php',
     26        'UltimateStoreKit\\API\\OtherPlugins' => __DIR__ . '/../..' . '/includes/API/OtherPlugins.php',
    2627        'UltimateStoreKit\\API\\Settings' => __DIR__ . '/../..' . '/includes/API/Settings.php',
    2728        'UltimateStoreKit\\Admin\\Biggopties' => __DIR__ . '/../..' . '/includes/Admin/Biggopties.php',
  • ultimate-store-kit/tags/4.1.0/vendor/composer/installed.php

    r3777913 r3790891  
    22    'root' => array(
    33        'name' => 'bdthemes/ultimate-store-kit',
    4         'pretty_version' => '4.0.2',
    5         'version' => '4.0.2.0',
    6         'reference' => 'bd6926078449740f623381f628551acbb24fe470',
     4        'pretty_version' => '4.1.0',
     5        'version' => '4.1.0.0',
     6        'reference' => '1e200970e2e85946f0fd3a3c0ab1fcd48c5b075c',
    77        'type' => 'wordpress-plugin',
    88        'install_path' => __DIR__ . '/../../',
    … …  
    1212    'versions' => array(
    1313        'bdthemes/ultimate-store-kit' => array(
    14             'pretty_version' => '4.0.2',
    15             'version' => '4.0.2.0',
    16             'reference' => 'bd6926078449740f623381f628551acbb24fe470',
     14            'pretty_version' => '4.1.0',
     15            'version' => '4.1.0.0',
     16            'reference' => '1e200970e2e85946f0fd3a3c0ab1fcd48c5b075c',
    1717            'type' => 'wordpress-plugin',
    1818            'install_path' => __DIR__ . '/../../',
  • ultimate-store-kit/trunk/assets/admin/admin.js

    r3765614 r3790891  
    1 (()=>{"use strict";var e={7208(){const e=window.wp.element,t=window.wp.hooks,s=window.wp.i18n,r=window.ReactJSXRuntime,a=({checked:e,onChange:t,disabled:s})=>{const a={position:"absolute",inset:0,borderRadius:"9999px",background:e?"#00216A":"#cbd5e1",transition:"background 0.25s cubic-bezier(0.4, 0, 0.2, 1)",opacity:s?.45:1,pointerEvents:"none",willChange:"background"},l={position:"absolute",top:"50%",left:3,width:16,height:16,borderRadius:"9999px",background:"#fff",boxShadow:"0 1px 4px rgba(0,0,0,0.25)",transform:e?"translate(18px, -50%)":"translate(0px, -50%)",transition:"transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.2s ease",pointerEvents:"none",zIndex:1,willChange:"transform"},i={position:"relative",display:"inline-flex",alignItems:"center",width:40,height:22,cursor:s?"not-allowed":"pointer",flexShrink:0,userSelect:"none"};return(0,r.jsxs)("label",{style:i,children:[(0,r.jsx)("input",{type:"checkbox",checked:e,disabled:s,onChange:t,style:{position:"absolute",opacity:0,width:0,height:0,margin:0,padding:0,pointerEvents:"none"}}),(0,r.jsx)("span",{style:a}),(0,r.jsx)("span",{style:l})]})},l="inline-flex cursor-pointer items-center gap-1.5 rounded-md border border-transparent px-[18px] py-2 text-[13px] font-semibold leading-snug no-underline transition-all duration-200 disabled:cursor-not-allowed disabled:opacity-60",i=`${l} border-uks-brand bg-uks-brand text-white hover:bg-uks-brand-dark`,o=`${l} bg-gray-100 border-gray-200 text-gray-700 hover:bg-gray-200 hover:text-gray-800`,n=`${l} px-6 py-2.5 text-sm`,d=`${l} px-3 py-2.5 text-xs`,c=`${l} border-indigo-500 bg-indigo-500 text-white hover:opacity-90`,m=`${l} border-pink-500 bg-pink-500 text-white hover:opacity-90`,x=`${l} border-orange-500 bg-orange-500 text-white hover:opacity-90`,h=`${l} border-violet-500 bg-violet-500 text-white hover:opacity-90`,u=`${l} border-teal-500 bg-teal-500 text-white hover:opacity-90`,p="whitespace-nowrap text-xs font-semibold text-slate-600",b="min-w-[140px] cursor-pointer rounded-md border border-slate-200 bg-white px-3 py-1.5 text-[13px] text-slate-700 transition-all duration-200 hover:border-slate-300 focus:border-uks-brand focus:outline-none focus:ring-2 focus:ring-uks-brand",g="flex items-center justify-between border-b border-slate-100 py-2.5 last:border-b-0",f="flex items-center gap-2 text-[13px] font-medium text-slate-700",j="min-w-[120px] w-full block max-w-full rounded-md border border-slate-200 bg-white px-3 py-1.5 text-[13px] text-slate-700 focus:border-uks-brand focus:outline-none focus:ring-2 focus:ring-uks-brand disabled:cursor-not-allowed disabled:opacity-50",k="shrink-0 whitespace-nowrap rounded-md border border-solid border-gray-100 text-uks-brand px-2 py-0.5 text-[10px] font-bold shadow-sm bg-white",w={xmlns:"http://www.w3.org/2000/svg",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"},_=({className:e="block h-10 w-10 sm:h-12 sm:w-12"})=>(0,r.jsxs)("svg",{className:e,version:"1.1",id:"Layer_1",xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",x:"0px",y:"0px",viewBox:"0 0 500 500",style:{enableBackground:"new 0 0 500 500"},xmlSpace:"preserve",children:[(0,r.jsx)("style",{type:"text/css",dangerouslySetInnerHTML:{__html:"\n\t.st0{fill:#E30C1D;enable-background:new    ;}\n\t.st1{fill:#FFFFFF;}\n"}}),(0,r.jsx)("path",{className:"st0",d:"M473.6,496.4h-447c-12.6,0-22.9-10.2-22.9-22.9v-447c0-12.4,10.2-22.9,22.9-22.9h446.8 c12.6,0,22.9,10.2,22.9,22.9v446.8C496.3,486.3,486.2,496.4,473.6,496.4z"}),(0,r.jsxs)("g",{children:[(0,r.jsx)("path",{className:"st1",d:"M374.3,364l-21.1-157.6c-1.9-14.3-14.2-25-28.6-25c0,0-0.1,0-0.1,0l-143.7,0.7c-14.5,0.1-26.8,11-28.5,25.4 l-18.6,156.9c-1,8.2,1.6,16.4,7.1,22.5s13.3,9.7,21.5,9.7h183.5c8.3,0,16.2-3.6,21.7-9.8C372.9,380.6,375.4,372.3,374.3,364z M186.4,217.1l132.8-0.6l6.4,47.6c-34.1,4.4-61,23.4-78.4,55.7c-8.5,15.8-12.9,31.5-15,41.9h-63L186.4,217.1z M268.1,361.7 c1.9-7.3,5-16.3,9.9-25.3c12-22.3,29.2-34.7,52.2-37.6l8.4,62.9H268.1z"}),(0,r.jsx)("path",{className:"st1",d:"M212.4,169.2c8.8,0,16-7.2,16-16c0-13.9,11.3-25.3,25.3-25.3c13.9,0,25.3,11.3,25.3,25.3c0,8.8,7.2,16,16,16 s16-7.2,16-16c0-31.6-25.7-57.3-57.3-57.3c-31.6,0-57.3,25.7-57.3,57.3C196.4,162.1,203.6,169.2,212.4,169.2z"})]})]}),v=({className:e="h-4 w-4"})=>(0,r.jsxs)("svg",{...w,viewBox:"0 0 24 24",className:e,children:[(0,r.jsx)("path",{d:"M18 6 6 18"}),(0,r.jsx)("path",{d:"m6 6 12 12"})]}),y=({className:e="h-4 w-4"})=>(0,r.jsxs)("svg",{...w,viewBox:"0 0 24 24",className:e,children:[(0,r.jsx)("path",{d:"M4 6h16"}),(0,r.jsx)("path",{d:"M4 12h16"}),(0,r.jsx)("path",{d:"M4 18h16"})]}),N=({className:e="h-4 w-4 block"})=>(0,r.jsxs)("svg",{...w,width:24,height:24,viewBox:"0 0 24 24",className:e,children:[(0,r.jsx)("path",{d:"M3 11h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-5Zm0 0a9 9 0 1 1 18 0m0 0v5a2 2 0 0 1-2 2h-1a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h3Z"}),(0,r.jsx)("path",{d:"M21 16v2a4 4 0 0 1-4 4h-5"})]}),M=({className:e="w-5 h-5"})=>(0,r.jsxs)("svg",{...w,width:24,height:24,viewBox:"0 0 24 24",className:e,children:[(0,r.jsx)("path",{d:"M12 2v4"}),(0,r.jsx)("path",{d:"m16.2 7.8 2.9-2.9"}),(0,r.jsx)("path",{d:"M18 12h4"}),(0,r.jsx)("path",{d:"m16.2 16.2 2.9 2.9"}),(0,r.jsx)("path",{d:"M12 18v4"}),(0,r.jsx)("path",{d:"m4.9 19.1 2.9-2.9"}),(0,r.jsx)("path",{d:"M2 12h4"}),(0,r.jsx)("path",{d:"m4.9 4.9 2.9 2.9"})]}),P=({className:e="w-4 h-4 block"})=>(0,r.jsx)("svg",{...w,width:24,height:24,viewBox:"0 0 24 24",className:e,children:(0,r.jsx)("path",{d:"M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z"})}),C=({className:e="w-4 h-4 block"})=>(0,r.jsx)("svg",{className:e,viewBox:"0 0 24 24",fill:"currentColor",children:(0,r.jsx)("path",{d:"M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z"})}),S="h-5 w-5 block color-current",B=({className:e=S})=>(0,r.jsxs)("svg",{...w,width:24,height:24,viewBox:"0 0 24 24",className:e,children:[(0,r.jsx)("rect",{width:7,height:9,x:3,y:3,rx:1}),(0,r.jsx)("rect",{width:7,height:5,x:14,y:3,rx:1}),(0,r.jsx)("rect",{width:7,height:9,x:14,y:12,rx:1}),(0,r.jsx)("rect",{width:7,height:5,x:3,y:16,rx:1})]}),$=({className:e="h-4 w-4 block"})=>(0,r.jsxs)("svg",{...w,width:24,height:24,viewBox:"0 0 24 24",className:e,children:[(0,r.jsx)("path",{d:"m21 21-4.34-4.34"}),(0,r.jsx)("circle",{cx:11,cy:11,r:8})]}),A=({className:e="h-4 w-4"})=>(0,r.jsx)("svg",{...w,viewBox:"0 0 24 24",className:e,children:(0,r.jsx)("path",{d:"M20 6 9 17l-5-5"})}),E=({className:e="h-4 w-4 block"})=>(0,r.jsxs)("svg",{...w,width:24,height:24,viewBox:"0 0 24 24",className:e,children:[(0,r.jsx)("path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0"}),(0,r.jsx)("circle",{cx:12,cy:12,r:3})]}),L=({className:e="h-4 w-4 block"})=>(0,r.jsx)("svg",{...w,width:24,height:24,viewBox:"0 0 24 24",className:e,children:(0,r.jsx)("path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z"})}),z=({className:e="h-4 w-4 block"})=>(0,r.jsxs)("svg",{...w,width:24,height:24,viewBox:"0 0 24 24",className:e,children:[(0,r.jsx)("path",{d:"M6.3 20.3a2.4 2.4 0 0 0 3.4 0L12 18l-6-6-2.3 2.3a2.4 2.4 0 0 0 0 3.4Z"}),(0,r.jsx)("path",{d:"m2 22 3-3"}),(0,r.jsx)("path",{d:"M7.5 13.5 10 11"}),(0,r.jsx)("path",{d:"M10.5 16.5 13 14"}),(0,r.jsx)("path",{d:"m18 3-4 4h6l-4 4"})]}),O=({className:e="h-7 w-7",stroke:t="currentColor"})=>(0,r.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:28,height:28,viewBox:"0 0 24 24",fill:"none",stroke:t,strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round",className:e,children:[(0,r.jsx)("rect",{width:18,height:11,x:3,y:11,rx:2,ry:2}),(0,r.jsx)("path",{d:"M7 11V7a5 5 0 0 1 10 0v4"})]}),F=({className:e="h-5 w-5"})=>(0,r.jsxs)("svg",{...w,className:e,viewBox:"0 0 24 24",children:[(0,r.jsx)("path",{d:"M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2"}),(0,r.jsx)("circle",{cx:"12",cy:"7",r:"4"})]}),D=({className:e="h-5 w-5"})=>(0,r.jsxs)("svg",{...w,className:e,viewBox:"0 0 24 24",children:[(0,r.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,r.jsx)("path",{d:"M2 12h20M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z"})]}),T=({className:e="h-5 w-5"})=>(0,r.jsxs)("svg",{...w,className:e,viewBox:"0 0 24 24",children:[(0,r.jsx)("path",{d:"M4 19.5A2.5 2.5 0 0 1 6.5 17H20"}),(0,r.jsx)("path",{d:"M6.5 2H20v20H6.5A2.5 2.5 0 0 1 4 19.5v-15A2.5 2.5 0 0 1 6.5 2z"})]}),W=({className:e="h-5 w-5"})=>(0,r.jsx)("svg",{...w,className:e,viewBox:"0 0 24 24",children:(0,r.jsx)("path",{d:"M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.38 8.38 0 0 1-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.38 8.38 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8v.5z"})}),V=({className:e="h-5 w-5"})=>(0,r.jsxs)("svg",{...w,className:e,viewBox:"0 0 24 24",children:[(0,r.jsx)("polygon",{points:"23 7 16 12 23 17 23 7"}),(0,r.jsx)("rect",{x:"1",y:"5",width:"15",height:"14",rx:"2",ry:"2"})]}),H=({className:e="h-5 w-5"})=>(0,r.jsxs)("svg",{...w,className:e,viewBox:"0 0 24 24",children:[(0,r.jsx)("path",{d:"M12 20h9"}),(0,r.jsx)("path",{d:"M16.5 3.5a2.1 2.1 0 0 1 3 3L7 19l-4 1 1-4Z"})]}),U=({className:e="h-5 w-5"})=>(0,r.jsx)("svg",{...w,className:e,viewBox:"0 0 24 24",children:(0,r.jsx)("path",{d:"M18 2h-3a5 5 0 0 0-5 5v3H7v4h3v8h4v-8h3l1-4h-4V7a1 1 0 0 1 1-1h3z"})}),I={home:({className:e=S})=>(0,r.jsxs)("svg",{...w,width:24,height:24,viewBox:"0 0 24 24",className:e,children:[(0,r.jsx)("path",{d:"M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8"}),(0,r.jsx)("path",{d:"M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"})]}),grid:B,"currency-switcher":({className:e=S})=>(0,r.jsxs)("svg",{...w,width:24,height:24,viewBox:"0 0 24 24",className:e,children:[(0,r.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,r.jsx)("path",{d:"M16 8h-6a2 2 0 1 0 0 4h4a2 2 0 1 1 0 4H8"}),(0,r.jsx)("path",{d:"M12 18V6"})]}),"variation-swatches":({className:e=S})=>(0,r.jsxs)("svg",{...w,width:24,height:24,viewBox:"0 0 24 24",className:e,children:[(0,r.jsx)("path",{d:"M12 2.69l5.66 5.66a8 8 0 1 1-11.31 0z"}),(0,r.jsx)("circle",{cx:"7.5",cy:"10.5",r:".5",fill:"currentColor",stroke:"none"}),(0,r.jsx)("circle",{cx:"12",cy:"7.5",r:".5",fill:"currentColor",stroke:"none"}),(0,r.jsx)("circle",{cx:"16.5",cy:"10.5",r:".5",fill:"currentColor",stroke:"none"}),(0,r.jsx)("circle",{cx:"9",cy:"15.5",r:".5",fill:"currentColor",stroke:"none"})]}),settings:B,badge:({className:e=S})=>(0,r.jsxs)("svg",{...w,width:24,height:24,viewBox:"0 0 24 24",className:e,children:[(0,r.jsx)("path",{d:"M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z"}),(0,r.jsx)("circle",{cx:"16.5",cy:"7.5",r:".5",fill:"currentColor"})]}),star:P,woocommerce:({className:e=S})=>(0,r.jsxs)("svg",{...w,width:24,height:24,viewBox:"0 0 24 24",className:e,children:[(0,r.jsx)("path",{d:"M15 21v-5a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v5"}),(0,r.jsx)("path",{d:"M17.774 10.31a1.12 1.12 0 0 0-1.549 0 2.5 2.5 0 0 1-3.451 0 1.12 1.12 0 0 0-1.548 0 2.5 2.5 0 0 1-3.452 0 1.12 1.12 0 0 0-1.549 0 2.5 2.5 0 0 1-3.77-3.248l2.889-4.184A2 2 0 0 1 7 2h10a2 2 0 0 1 1.653.873l2.895 4.192a2.5 2.5 0 0 1-3.774 3.244"}),(0,r.jsx)("path",{d:"M4 10.95V19a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8.05"})]}),edd:({className:e=S})=>(0,r.jsxs)("svg",{...w,width:24,height:24,viewBox:"0 0 24 24",className:e,children:[(0,r.jsx)("path",{d:"M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"}),(0,r.jsx)("path",{d:"m7.5 4.21 4.5 2.6 4.5-2.6"}),(0,r.jsx)("path",{d:"M12 17.5V12"})]}),other:B,info:({className:e=S})=>(0,r.jsxs)("svg",{...w,width:24,height:24,viewBox:"0 0 24 24",className:e,children:[(0,r.jsx)("circle",{cx:12,cy:12,r:10}),(0,r.jsx)("path",{d:"M12 16v-4"}),(0,r.jsx)("path",{d:"M12 8h.01"})]}),"live-visitor-count":({className:e="h-5 w-5"})=>(0,r.jsxs)("svg",{...w,className:e,viewBox:"0 0 24 24",children:[(0,r.jsx)("path",{d:"M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"}),(0,r.jsx)("circle",{cx:"9",cy:"7",r:"4"}),(0,r.jsx)("path",{d:"M23 21v-2a4 4 0 0 0-3-3.87"}),(0,r.jsx)("path",{d:"M16 3.13a4 4 0 0 1 0 7.75"})]}),"sales-notification":({className:e="h-5 w-5"})=>(0,r.jsxs)("svg",{...w,className:e,viewBox:"0 0 24 24",children:[(0,r.jsx)("path",{d:"M18 8A6 6 0 0 0 6 8c0 7-3 9-3 9h18s-3-2-3-9"}),(0,r.jsx)("path",{d:"M13.73 21a2 2 0 0 1-3.46 0"})]}),"upsell-cross-sell":()=>(0,r.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round",className:"h-5 w-5 block color-current",children:[(0,r.jsx)("path",{d:"M6 2L3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4z"}),(0,r.jsx)("line",{x1:"3",y1:"6",x2:"21",y2:"6"}),(0,r.jsx)("path",{d:"M16 10a4 4 0 0 1-8 0"})]}),"flash-sale-countdown":({className:e=S})=>(0,r.jsx)("svg",{...w,width:24,height:24,viewBox:"0 0 24 24",className:e,children:(0,r.jsx)("polygon",{points:"13 2 3 14 12 14 11 22 21 10 12 10 13 2"})}),"back-order":({className:e=S})=>(0,r.jsxs)("svg",{...w,width:24,height:24,viewBox:"0 0 24 24",className:e,children:[(0,r.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,r.jsx)("polyline",{points:"12 6 12 12 16 14"})]}),"pre-order":({className:e=S})=>(0,r.jsxs)("svg",{...w,width:24,height:24,viewBox:"0 0 24 24",className:e,children:[(0,r.jsx)("rect",{x:"3",y:"4",width:"18",height:"18",rx:"2",ry:"2"}),(0,r.jsx)("line",{x1:"16",y1:"2",x2:"16",y2:"6"}),(0,r.jsx)("line",{x1:"8",y1:"2",x2:"8",y2:"6"}),(0,r.jsx)("line",{x1:"3",y1:"10",x2:"21",y2:"10"})]}),"multistep-checkout":({className:e=S})=>(0,r.jsxs)("svg",{...w,width:24,height:24,viewBox:"0 0 24 24",className:e,children:[(0,r.jsx)("path",{d:"M9 11l3 3L22 4"}),(0,r.jsx)("path",{d:"M21 12v7a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11"})]}),"vacation-mode":({className:e=S})=>(0,r.jsxs)("svg",{...w,width:24,height:24,viewBox:"0 0 24 24",className:e,children:[(0,r.jsx)("path",{d:"M14.5 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7.5L14.5 2z"}),(0,r.jsx)("polyline",{points:"14 2 14 8 20 8"}),(0,r.jsx)("path",{d:"M8 13h2"}),(0,r.jsx)("path",{d:"M8 17h2"}),(0,r.jsx)("path",{d:"M14 13h2"}),(0,r.jsx)("path",{d:"M14 17h2"})]}),"additional-checkout-fields":({className:e=S})=>(0,r.jsxs)("svg",{...w,width:24,height:24,viewBox:"0 0 24 24",className:e,children:[(0,r.jsx)("path",{d:"M16 6H3"}),(0,r.jsx)("path",{d:"M11 12H3"}),(0,r.jsx)("path",{d:"M16 18H3"}),(0,r.jsx)("path",{d:"M18 9v6"}),(0,r.jsx)("path",{d:"M21 12h-6"})]}),"buy-one-get-one":({className:e=S})=>(0,r.jsxs)("svg",{...w,width:24,height:24,viewBox:"0 0 24 24",className:e,children:[(0,r.jsx)("polyline",{points:"20 12 20 22 4 22 4 12"}),(0,r.jsx)("rect",{x:"2",y:"7",width:"20",height:"5"}),(0,r.jsx)("line",{x1:"12",y1:"22",x2:"12",y2:"7"}),(0,r.jsx)("path",{d:"M12 7H7.5a2.5 2.5 0 0 1 0-5C11 2 12 7 12 7z"}),(0,r.jsx)("path",{d:"M12 7h4.5a2.5 2.5 0 0 0 0-5C13 2 12 7 12 7z"})]})},R=({version:e,isPro:a,onToggleSidebar:l,isSidebarOpen:n,isDesktop:c})=>(0,r.jsx)("div",{className:"rounded-tl-lg rounded-tr-lg border-0 border-b border-solid border-b-gray-100 bg-white px-5 py-5",children:(0,r.jsxs)("div",{className:"flex flex-col gap-3 sm:flex-row sm:items-start sm:justify-between",children:[(0,r.jsxs)("div",{className:"flex min-w-0 items-center gap-3 sm:gap-4",children:[(0,r.jsx)("div",{className:"flex",children:(0,r.jsx)(_,{})}),(0,r.jsxs)("div",{className:"flex min-w-0 flex-col gap-1",children:[(0,r.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,r.jsx)("h1",{className:"m-0 text-lg font-bold leading-tight text-slate-800 sm:text-xl",children:(0,s.__)("Ultimate Store Kit","ultimate-store-kit")}),e?(0,r.jsxs)("span",{className:"rounded-full bg-gray-100 px-2 py-0.5 text-[10px] font-semibold uppercase tracking-wide text-gray-500",children:["v",e]}):null]}),(0,r.jsx)("p",{className:"m-0 max-w-xl text-[13px] leading-snug text-gray-500 sm:text-sm",children:(0,s.__)("Build high-converting WooCommerce stores with Elementor widgets & presets.","ultimate-store-kit")})]})]}),(0,r.jsxs)("div",{className:"flex shrink-0 flex-wrap items-center gap-2",children:[(0,r.jsx)("button",{type:"button",onClick:e=>l?.(e),className:"inline-flex h-9 w-9 cursor-pointer items-center justify-center rounded-md border border-slate-200 bg-white text-slate-700 transition-colors hover:border-uks-brand/40 hover:text-uks-brand",style:{display:c?"none":"inline-flex"},"aria-expanded":n?"true":"false","aria-label":(0,s.__)("Open menu","ultimate-store-kit"),children:n?(0,r.jsx)(v,{className:"h-4 w-4"}):(0,r.jsx)(y,{className:"h-4 w-4"})}),(()=>{const e=(0,t.applyFilters)("usk.admin.pages",{});return a||e.license?null:(0,r.jsxs)("a",{href:"https://storekit.pro/pricing/",target:"_blank",rel:"noopener noreferrer",className:`${d} ${i}`,children:[(0,r.jsx)(P,{className:"w-4 h-4 block"}),(0,s.__)("Get Pro","ultimate-store-kit")]})})(),(()=>{const e=(0,t.applyFilters)("usk.admin.headerExtra",null);return e?(0,r.jsx)(e,{}):null})(),(0,r.jsxs)("a",{href:"https://bdthemes.com/support/",target:"_blank",rel:"noopener noreferrer",className:`${d} ${o} flex items-center gap-2 hover:border-uks-brand/40 hover:bg-white hover:text-uks-brand`,children:[(0,r.jsx)("span",{className:"flex h-4 w-4 items-center justify-center rounded-full border border-current text-inherit","aria-hidden":"true",children:(0,r.jsx)(N,{className:"w-4 h-4 block"})}),(0,s.__)("Help & Support","ultimate-store-kit")]})]})]})}),G=({name:e})=>{const s=(0,t.applyFilters)("usk.admin.iconMap",I),a=s[e]||s.info;return(0,r.jsx)(a,{})},K=(e,t,s)=>{if("pro"===e.widget_type&&!s)return!1;const r=e.dependency;return!!(!r||r.isInstalled&&r.isActive)&&(null!=t?"on"===t:"on"===e.default)},q=[{id:"currency-switcher",label:(0,s.__)("Currency Switcher","ultimate-store-kit"),description:(0,s.__)("Enable to allow currency switching on your store.","ultimate-store-kit"),icon:"currency-switcher",badge:"Pro",proPlaceholder:!0},{id:"variation-swatches",label:(0,s.__)("Variation Swatches","ultimate-store-kit"),description:(0,s.__)("Enable to display product variation swatches on your store.","ultimate-store-kit"),icon:"variation-swatches",badge:"Pro",proPlaceholder:!0},{id:"live-visitor-count",label:(0,s.__)("Live Visitor Count","ultimate-store-kit"),description:(0,s.__)("Display live visitor count on product pages to create urgency.","ultimate-store-kit"),icon:"live-visitor-count",badge:"Pro",proPlaceholder:!0},{id:"sales-notification",label:(0,s.__)("Sales Notification","ultimate-store-kit"),description:(0,s.__)("Show recent purchases as a floating popup to build social proof.","ultimate-store-kit"),icon:"sales-notification",badge:"Pro",proPlaceholder:!0},{id:"upsell-cross-sell",label:(0,s.__)("Upsell & Cross-Sell","ultimate-store-kit"),description:(0,s.__)("Display upsell and cross-sell products on product pages to increase sales.","ultimate-store-kit"),icon:"upsell-cross-sell",badge:"Pro",proPlaceholder:!0},{id:"multistep-checkout",label:(0,s.__)("Multistep Checkout","ultimate-store-kit"),description:(0,s.__)("Split checkout into clear, guided steps to reduce abandoned carts.","ultimate-store-kit"),icon:"multistep-checkout",badge:"Pro",proPlaceholder:!0},{id:"vacation-mode",label:(0,s.__)("Vacation Mode","ultimate-store-kit"),description:(0,s.__)("Pause orders and show a store notice while you are away.","ultimate-store-kit"),icon:"vacation-mode",badge:"Pro",proPlaceholder:!0},{id:"additional-checkout-fields",label:(0,s.__)("Additional Checkout Fields","ultimate-store-kit"),description:(0,s.__)("Add custom fields to the checkout and show them in orders and emails.","ultimate-store-kit"),icon:"additional-checkout-fields",badge:"Pro",proPlaceholder:!0},{id:"buy-one-get-one",label:(0,s.__)("Buy One Get One","ultimate-store-kit"),description:(0,s.__)("Run BOGO deals, free gifts and quantity discounts.","ultimate-store-kit"),icon:"buy-one-get-one",badge:"Pro",proPlaceholder:!0}],X={"flash-sale-countdown":(0,s.__)("Show a countdown timer on products with a scheduled sale to create urgency.","ultimate-store-kit"),"back-order":(0,s.__)("Show backorder status, custom messages and a restock countdown on product pages.","ultimate-store-kit"),"pre-order":(0,s.__)("Take orders for products before they are released, with a release date countdown.","ultimate-store-kit")},Z=()=>(0,t.applyFilters)("usk.admin.placeholderModules",q),Y=[{id:"dashboard",group:(0,s.__)("Dashboard","ultimate-store-kit"),items:[{id:"welcome",label:(0,s.__)("Welcome","ultimate-store-kit"),icon:"home"}]},{id:"widgets",group:(0,s.__)("Widgets","ultimate-store-kit"),items:[{id:"woocommerce-widgets",label:(0,s.__)("WooCommerce","ultimate-store-kit"),icon:"woocommerce"},{id:"edd-widgets",label:(0,s.__)("EDD","ultimate-store-kit"),icon:"edd"},{id:"other-widgets",label:(0,s.__)("Others","ultimate-store-kit"),icon:"other"}]},{id:"modules",group:(0,s.__)("Modules","ultimate-store-kit"),items:[]},{id:"support",group:(0,s.__)("Support","ultimate-store-kit"),items:[{id:"get-pro",label:(0,s.__)("Get Pro","ultimate-store-kit"),icon:"star"},{id:"about",label:(0,s.__)("About & Info","ultimate-store-kit"),icon:"info"}]}],J=e=>{const t=`${(e.id||"").toLowerCase()} ${(e.label||"").toLowerCase()}`;return t.includes("currency")?"currency-switcher":t.includes("swatch")||t.includes("variation")?"variation-swatches":t.includes("visitor")||t.includes("live")?"live-visitor-count":t.includes("sales-notification")||t.includes("notification")?"sales-notification":t.includes("flash-sale")||t.includes("flash sale")?"flash-sale-countdown":t.includes("back-order")||t.includes("back order")||t.includes("backorder")?"back-order":t.includes("pre-order")||t.includes("pre order")||t.includes("preorder")?"pre-order":"grid"},Q=({activePage:e,onNavigate:a,isPro:l,isOpen:i,isDesktop:o,onClose:n,settingsGroups:d=[]})=>{const c=(({isPro:e,settingsGroups:s=[]})=>{const r=(0,t.applyFilters)("usk.admin.navItems",Y),a=Z(),l=a.map(e=>e.id);return r.map(t=>{if("modules"===t.id){const r=s.map(t=>({id:t.id,label:t.label,icon:J(t),...t.proOnly&&!e?{badge:"Pro",proPlaceholder:!0}:{}}));if(e)return{...t,items:[...r,...t.items]};const i=t.items.filter(e=>!l.includes(e.id));return{...t,items:[...r,...a,...i]}}return t})})({isPro:l,settingsGroups:d}),m=(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("nav",{className:"flex flex-col gap-6","aria-label":"Main",children:c.map(t=>(0,r.jsxs)("div",{children:[(0,r.jsx)("p",{className:"m-0 mb-3 px-2 text-xs font-semibold uppercase tracking-widest text-gray-400",children:t.group}),(0,r.jsx)("ul",{className:"m-0 list-none space-y-1 p-0",children:t.items.filter(e=>!(l&&"get-pro"===e.id)).map(t=>{const s=e===t.id;return(0,r.jsx)("li",{children:(0,r.jsxs)("button",{type:"button",onClick:()=>{a(t.id),window.location.hash=`#${t.id}`,n()},className:"flex w-full cursor-pointer items-center gap-3 rounded-lg border-0 px-3 py-3 text-left text-sm font-medium transition-colors "+(s?"bg-uks-brand text-white shadow-sm":"bg-transparent text-slate-700 hover:bg-gray-100 hover:text-slate-900"),children:[(0,r.jsx)(G,{name:t.icon}),(0,r.jsx)("span",{className:"flex-1",children:t.label}),t.badge&&(0,r.jsx)("span",{className:"shrink-0 whitespace-nowrap rounded-md border border-solid px-1.5 py-0.5 text-[9px] font-bold",style:{borderColor:s?"rgba(255,255,255,0.4)":"#e5e7eb",color:s?"#fff":"#6b7280",background:s?"rgba(255,255,255,0.18)":"transparent"},children:t.badge})]})},t.id)})})]},t.group))}),(0,r.jsxs)("div",{className:"mt-6 hidden rounded-xl bg-slate-100 p-4 lg:block lg:mt-8",children:[(0,r.jsxs)("span",{className:"mb-2.5 flex items-center gap-2 text-base font-bold text-slate-800",children:[(0,r.jsx)(M,{className:"w-5 h-5"}),(0,s.__)("Coming soon","ultimate-store-kit")]}),(0,r.jsx)("p",{className:"m-0 text-[12px] leading-relaxed text-slate-600",children:(0,s.__)("New items planned for upcoming updates:","ultimate-store-kit")}),(0,r.jsxs)("ul",{className:"mt-2.5 m-0 space-y-1.5 p-0 text-[12px] text-slate-600",children:[(0,r.jsxs)("li",{className:"flex items-start gap-2",children:[(0,r.jsx)("span",{className:"mt-1 h-1.5 w-1.5 rounded-full bg-uks-brand"}),(0,s.__)("7+ WooCommerce widgets","ultimate-store-kit")]}),(0,r.jsxs)("li",{className:"flex items-start gap-2",children:[(0,r.jsx)("span",{className:"mt-1 h-1.5 w-1.5 rounded-full bg-uks-brand"}),(0,s.__)("Template-based presets","ultimate-store-kit")]}),(0,r.jsxs)("li",{className:"flex items-start gap-2",children:[(0,r.jsx)("span",{className:"mt-1 h-1.5 w-1.5 rounded-full bg-uks-brand"}),(0,s.__)("Performance-focused improvements","ultimate-store-kit")]})]}),(0,r.jsx)("button",{onClick:()=>window.open("https://feedback.bdthemes.com/b/6vr2250l/feature-requests","_blank"),type:"button",className:"mt-3 inline-flex cursor-pointer items-center rounded-lg border border-uks-brand bg-white px-3 py-1.5 text-[12px] font-semibold text-uks-brand transition-colors hover:bg-uks-brand hover:text-white",children:(0,s.__)("See roadmap","ultimate-store-kit")})]})]});if(o)return(0,r.jsx)("div",{style:{display:"flex"},className:"w-64 shrink-0 flex-col justify-between self-stretch rounded-lg border border-solid border-gray-100 bg-white px-4 py-6 lg:sticky lg:top-[7.5rem]",children:m});const x=document.getElementById("wpadminbar")?.offsetHeight||0;return(0,r.jsxs)(r.Fragment,{children:[i&&(0,r.jsx)("div",{style:{display:"block",position:"fixed",top:x,left:0,right:0,bottom:0,zIndex:99998,backgroundColor:"rgba(0,0,0,0.3)"},onClick:n,"aria-hidden":"true"}),(0,r.jsxs)("div",{style:{position:"fixed",left:0,top:x,zIndex:99999,height:`calc(100vh - ${x}px)`,width:"86vw",maxWidth:"320px",display:"flex",flexDirection:"column",backgroundColor:"#fff",padding:"1rem",boxShadow:"4px 0 24px rgba(0,0,0,0.15)",transform:i?"translateX(0)":"translateX(-100%)",transition:"transform 300ms ease-out",pointerEvents:i?"auto":"none",overflowY:"auto"},children:[(0,r.jsxs)("div",{className:"mb-3 flex items-center justify-between",children:[(0,r.jsx)("p",{className:"m-0 text-sm font-bold text-slate-700",children:(0,s.__)("Navigation","ultimate-store-kit")}),(0,r.jsx)("button",{type:"button",onClick:n,className:"inline-flex h-8 w-8 cursor-pointer items-center justify-center rounded-md border border-slate-200 bg-white text-slate-500 hover:text-slate-700","aria-label":(0,s.__)("Close menu","ultimate-store-kit"),children:(0,r.jsx)(v,{className:"h-4 w-4"})})]}),m]})]})},ee=({title:e,data:t,color:a})=>{const l=t.total>0?Math.round(t.active/t.total*100):0;return(0,r.jsxs)("div",{className:"rounded-lg border border-solid border-gray-100 bg-white p-4",children:[(0,r.jsx)("h3",{className:"m-0 mb-3 text-[13px] font-semibold uppercase tracking-wide text-slate-500",children:e}),(0,r.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,r.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,r.jsxs)("div",{className:"flex gap-1.5 text-[13px] text-slate-700",children:[(0,r.jsx)("span",{className:"text-slate-400",children:(0,s.__)("Active:","ultimate-store-kit")}),(0,r.jsx)("strong",{children:t.active})]}),(0,r.jsxs)("div",{className:"flex gap-1.5 text-[13px] text-slate-700",children:[(0,r.jsx)("span",{className:"text-slate-400",children:(0,s.__)("Inactive:","ultimate-store-kit")}),(0,r.jsx)("strong",{children:t.inactive})]}),(0,r.jsxs)("div",{className:"flex gap-1.5 text-[13px] text-slate-700",children:[(0,r.jsx)("span",{className:"text-slate-400",children:(0,s.__)("Total:","ultimate-store-kit")}),(0,r.jsx)("strong",{children:t.total})]})]}),(0,r.jsx)("div",{className:"h-[60px] w-[60px] shrink-0",children:(0,r.jsxs)("svg",{viewBox:"0 0 36 36",className:"h-full w-full",children:[(0,r.jsx)("path",{d:"M18 2.0845 a 15.9155 15.9155 0 0 1 0 31.831 a 15.9155 15.9155 0 0 1 0 -31.831",fill:"none",stroke:"#e2e8f0",strokeWidth:"3"}),(0,r.jsx)("path",{d:"M18 2.0845 a 15.9155 15.9155 0 0 1 0 31.831 a 15.9155 15.9155 0 0 1 0 -31.831",fill:"none",stroke:a,strokeWidth:"3",strokeDasharray:`${l}, 100`}),(0,r.jsxs)("text",{x:"18",y:"20.5",className:"font-bold",textAnchor:"middle",fontSize:"8",fill:"#334155",children:[l,"%"]})]})})]})]})},te=({widgets:a,settings:l,isPro:n=!1})=>{const p=(0,e.useMemo)(()=>{const e=a.ultimate_store_kit_active_modules||[],t=a.ultimate_store_kit_edd_modules||[],s=a.ultimate_store_kit_general_modules||[],r=l.ultimate_store_kit_active_modules||{},i=l.ultimate_store_kit_edd_modules||{},o=l.ultimate_store_kit_general_modules||{},d=(e,t)=>{let s=0,r=0;return e.forEach(e=>{if("checkbox"!==e.type)return;if(!n&&"pro"===e.widget_type)return void r++;const a=t[e.name];K(e,a,n)?s++:r++}),{active:s,inactive:r,total:s+r}},c=d(e,r),m=d(t,i),x=d(s,o);return{all:{active:c.active+m.active+x.active,inactive:c.inactive+m.inactive+x.inactive,total:c.total+m.total+x.total},wc:c,edd:m,other:x}},[a,l,n]);return(0,r.jsxs)("div",{children:[(0,r.jsxs)("div",{className:"mb-4 grid grid-cols-1 gap-4 sm:grid-cols-2 xl:grid-cols-4",children:[(0,r.jsx)(ee,{title:(0,s.__)("All Widgets","ultimate-store-kit"),data:p.all,color:"#f59e0b"}),(0,r.jsx)(ee,{title:(0,s.__)("WooCommerce","ultimate-store-kit"),data:p.wc,color:"#ef4444"}),(0,r.jsx)(ee,{title:(0,s.__)("EDD","ultimate-store-kit"),data:p.edd,color:"#10b981"}),(0,r.jsx)(ee,{title:(0,s.__)("Other","ultimate-store-kit"),data:p.other,color:"#3b82f6"})]}),(()=>{const e=(0,t.applyFilters)("usk.admin.welcomeExtra",null);return e?(0,r.jsx)(e,{}):null})(),(0,r.jsxs)("div",{className:"mb-4 grid grid-cols-1 gap-4 sm:grid-cols-2",children:[(0,r.jsxs)("div",{className:"rounded-lg border border-solid border-gray-100 bg-white p-5",children:[(0,r.jsx)("h3",{className:"m-0 mb-2 text-base font-bold text-slate-800",children:(0,s.__)("Support And Feedback","ultimate-store-kit")}),(0,r.jsxs)("p",{className:"my-2 text-[13px] leading-relaxed text-slate-500",children:[(0,s.__)("Feeling like to consult with an expert? Take live Chat support immediately from","ultimate-store-kit")," ",(0,r.jsx)("a",{href:"https://storekit.pro/",target:"_blank",rel:"noopener noreferrer",className:"font-semibold text-uks-brand hover:underline",children:"UltimateStoreKit"}),"."," ",(0,s.__)("We are always ready to help you 24/7.","ultimate-store-kit")]}),(0,r.jsx)("p",{className:"my-2 text-[13px] leading-relaxed text-slate-500",children:(0,r.jsx)("strong",{children:(0,s.__)("Or if you're facing technical issues with our plugin, then please create a support ticket","ultimate-store-kit")})}),(0,r.jsxs)("div",{className:"mt-3 flex flex-wrap gap-2",children:[(0,r.jsx)("a",{className:i,target:"_blank",rel:"noopener noreferrer",href:"https://bdthemes.com/knowledge-base/ultimate-store-kit/",children:(0,s.__)("Knowledge Base","ultimate-store-kit")}),(0,r.jsx)("a",{className:o,target:"_blank",rel:"noopener noreferrer",href:"https://bdthemes.com/support/",children:(0,s.__)("Get Support","ultimate-store-kit")})]})]}),(0,r.jsxs)("div",{className:"rounded-lg border border-solid border-gray-100 bg-white p-5",children:[(0,r.jsx)("h3",{className:"m-0 mb-2 text-base font-bold text-slate-800",children:(0,s.__)("System Requirement","ultimate-store-kit")}),(0,r.jsx)("p",{className:"mb-3 text-[13px] leading-relaxed text-slate-500",children:(0,s.__)("Make sure your server meets the minimum requirements for optimal performance.","ultimate-store-kit")}),(0,r.jsxs)("div",{children:[(0,r.jsxs)("div",{className:"flex items-center justify-between border-b border-slate-100 py-2 text-[13px] text-slate-700 last:border-b-0",children:[(0,r.jsx)("span",{children:(0,s.__)("PHP Version","ultimate-store-kit")}),(0,r.jsx)("span",{className:"rounded-lg bg-emerald-100 px-2.5 py-0.5 text-[11px] font-semibold text-emerald-800",children:(0,s.__)("OK","ultimate-store-kit")})]}),(0,r.jsxs)("div",{className:"flex items-center justify-between border-b border-slate-100 py-2 text-[13px] text-slate-700 last:border-b-0",children:[(0,r.jsx)("span",{children:(0,s.__)("Memory Limit","ultimate-store-kit")}),(0,r.jsx)("span",{className:"rounded-lg bg-emerald-100 px-2.5 py-0.5 text-[11px] font-semibold text-emerald-800",children:(0,s.__)("OK","ultimate-store-kit")})]}),(0,r.jsxs)("div",{className:"flex items-center justify-between border-b border-slate-100 py-2 text-[13px] text-slate-700 last:border-b-0",children:[(0,r.jsx)("span",{children:(0,s.__)("Max Execution Time","ultimate-store-kit")}),(0,r.jsx)("span",{className:"rounded-lg bg-emerald-100 px-2.5 py-0.5 text-[11px] font-semibold text-emerald-800",children:(0,s.__)("OK","ultimate-store-kit")})]})]})]})]}),(0,r.jsxs)("div",{className:"grid grid-cols-1 gap-4 sm:grid-cols-2",children:[(0,r.jsxs)("div",{className:"rounded-lg border border-solid border-gray-100 bg-white p-5",children:[(0,r.jsx)("h3",{className:"m-0 mb-2 text-base font-bold text-slate-800",children:(0,s.__)("Feedback","ultimate-store-kit")}),(0,r.jsx)("p",{className:"my-2 text-[13px] leading-relaxed text-slate-500",children:(0,s.__)("We are always looking for feedback from our users. If you have any suggestions or feedback, please let us know.","ultimate-store-kit")}),(0,r.jsx)("div",{className:"mt-3 flex flex-wrap gap-2",children:(0,r.jsx)("a",{className:o,target:"_blank",rel:"noopener noreferrer",href:"https://feedback.bdthemes.com/b/6vr2250l/feature-requests/",children:(0,s.__)("Request Feature","ultimate-store-kit")})})]}),(0,r.jsxs)("div",{className:"rounded-lg border border-solid border-gray-100 bg-white p-5",children:[(0,r.jsx)("h3",{className:"m-0 mb-2 text-base font-bold text-slate-800",children:(0,s.__)("Try Our Other Plugins","ultimate-store-kit")}),(0,r.jsx)("p",{className:"my-2 text-[13px] leading-relaxed text-slate-500",children:(0,s.__)("Element Pack, Prime Slider, Ultimate Post Kit, Pixel Gallery & Live Copy Paste addons for Elementor.","ultimate-store-kit")}),(0,r.jsxs)("div",{className:"mt-3 flex flex-wrap gap-2",children:[(0,r.jsx)("a",{className:`${d} ${c}`,target:"_blank",rel:"noopener noreferrer",href:"https://wordpress.org/plugins/bdthemes-element-pack-lite/",children:(0,s.__)("Element Pack","ultimate-store-kit")}),(0,r.jsx)("a",{className:`${d} ${m}`,target:"_blank",rel:"noopener noreferrer",href:"https://wordpress.org/plugins/bdthemes-prime-slider-lite/",children:(0,s.__)("Prime Slider","ultimate-store-kit")}),(0,r.jsx)("a",{className:`${d} ${x}`,target:"_blank",rel:"noopener noreferrer",href:"https://wordpress.org/plugins/ultimate-post-kit/",children:(0,s.__)("Ultimate Post Kit","ultimate-store-kit")}),(0,r.jsx)("a",{className:`${d} ${h}`,target:"_blank",rel:"noopener noreferrer",href:"https://wordpress.org/plugins/pixel-gallery/",children:(0,s.__)("Pixel Gallery","ultimate-store-kit")}),(0,r.jsx)("a",{className:`${d} ${u}`,target:"_blank",rel:"noopener noreferrer",href:"https://wordpress.org/plugins/zoloblocks/",children:(0,s.__)("ZoloBlocks","ultimate-store-kit")})]})]})]})]})},se=({allWidgets:t,allSettings:l,onSave:o,saving:d,isPro:c,widgetType:m="wc"})=>{const[x,h]=(0,e.useState)(""),[u,g]=(0,e.useState)("all"),[f,j]=(0,e.useState)("all"),w={wc:{title:(0,s.__)("WooCommerce Widgets","ultimate-store-kit"),key:"ultimate_store_kit_active_modules"},edd:{title:(0,s.__)("Easy Digital Downloads Widgets","ultimate-store-kit"),key:"ultimate_store_kit_edd_modules"},other:{title:(0,s.__)("Other Widgets","ultimate-store-kit"),key:"ultimate_store_kit_general_modules"}}[m],_=t[w.key]||[],[y,N]=(l[w.key],(0,e.useState)(()=>{const e={};return Object.keys(l).forEach(s=>{const r=l[s]||{};(t[s]||[]).forEach(t=>{"checkbox"===t.type&&(e[t.name]=void 0!==r[t.name]?r[t.name]:t.default||"off")})}),e}));(0,e.useEffect)(()=>{h(""),g("all"),j("all")},[m]);const M=(0,e.useMemo)(()=>{const e=new Set;return _.forEach(t=>{t.content_type&&t.content_type.split(" ").forEach(t=>{t&&"woocommerce"!==t&&"edd"!==t&&"new"!==t&&e.add(t)})}),Array.from(e)},[_]),P=(0,e.useMemo)(()=>_.filter(e=>!("checkbox"!==e.type||x&&!e.label.toLowerCase().includes(x.toLowerCase())||"free"===u&&"free"!==e.widget_type||"pro"===u&&"pro"!==e.widget_type||!("all"===f||e.content_type&&e.content_type.includes(f)))),[_,x,u,f]),C=(0,e.useCallback)(e=>{N(t=>({...t,[e]:"on"===t[e]?"off":"on"}))},[]),S=(0,e.useCallback)(()=>{N(e=>{const t={...e};return P.forEach(e=>{if("pro"===e.widget_type&&!c)return;const s=e.dependency;(!s||s.isInstalled&&s.isActive)&&(t[e.name]="on")}),t})},[P,c]),B=(0,e.useCallback)(()=>{N(e=>{const t={...e};return P.forEach(e=>{("pro"!==e.widget_type||c)&&(t[e.name]="off")}),t})},[P,c]),O=(0,e.useMemo)(()=>_.filter(e=>"checkbox"===e.type&&K(e,y[e.name],c)).length,[_,y,c]),F="h-9 min-h-9 py-0 text-[13px] leading-none",D="inline-flex h-9 min-h-9 shrink-0 cursor-pointer items-center gap-1.5 rounded-md border px-3 py-0 text-[13px] font-semibold leading-none no-underline transition-all duration-200";return(0,r.jsxs)("div",{children:[(0,r.jsxs)("div",{className:"mb-5 flex flex-wrap items-center justify-between gap-2",children:[(0,r.jsx)("h2",{className:"m-0 text-xl font-bold text-slate-800",children:w.title}),(0,r.jsxs)("span",{className:"rounded-2xl border border-slate-200 bg-white px-3 py-1 text-[13px] text-slate-500",children:[O," / ",_.filter(e=>"checkbox"===e.type).length," ",(0,s.__)("Active","ultimate-store-kit")]})]}),(0,r.jsxs)("div",{className:"mb-5 flex flex-wrap items-center justify-between gap-3 rounded-lg border border-solid border-gray-100 bg-white px-4 py-3",children:[(0,r.jsxs)("div",{className:"flex flex-wrap items-center gap-3",children:[(0,r.jsxs)("div",{className:"relative flex items-center",children:[(0,r.jsx)($,{className:"pointer-events-none absolute right-3 inset-y-0 my-auto h-4 w-4 block text-gray-400"}),(0,r.jsx)("input",{type:"text",className:`${F} block w-full rounded-md border border-solid border-gray-200 bg-transparent pr-10 pl-3 text-slate-700 placeholder:text-gray-500 focus:border-uks-brand focus:outline-none focus:ring-2 focus:ring-uks-brand/25 sm:w-48`,placeholder:(0,s.__)("Search widgets...","ultimate-store-kit"),value:x,onChange:e=>h(e.target.value)})]}),(0,r.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,r.jsx)("label",{className:p,children:(0,s.__)("Status:","ultimate-store-kit")}),(0,r.jsxs)("select",{className:`${b} ${F}`,value:u,onChange:e=>g(e.target.value),children:[(0,r.jsx)("option",{value:"all",children:(0,s.__)("All","ultimate-store-kit")}),(0,r.jsx)("option",{value:"free",children:(0,s.__)("Free","ultimate-store-kit")}),(0,r.jsx)("option",{value:"pro",children:(0,s.__)("Pro","ultimate-store-kit")})]})]}),M.length>0&&(0,r.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,r.jsx)("label",{className:p,children:(0,s.__)("Template:","ultimate-store-kit")}),(0,r.jsxs)("select",{className:`${b} ${F}`,value:f,onChange:e=>j(e.target.value),children:[(0,r.jsx)("option",{value:"all",children:(0,s.__)("All Templates","ultimate-store-kit")}),M.map(e=>(0,r.jsx)("option",{value:e,children:e.charAt(0).toUpperCase()+e.slice(1)},e))]})]})]}),(0,r.jsxs)("div",{className:"flex flex-wrap items-center gap-1.5",children:[(0,r.jsxs)("button",{type:"button",className:`${D} ${O>0?"!bg-uks-brand !text-white hover:!bg-uks-brand-dark border-none":"!border !border-uks-brand/25 bg-uks-brand/5 text-uks-brand hover:bg-uks-brand/10 hover:text-uks-brand-dark"} focus:outline-none focus:ring-2 focus:ring-uks-brand focus:ring-offset-2 focus:ring-offset-white`,onClick:S,children:[(0,r.jsx)(A,{className:"h-3.5 w-3.5"}),(0,s.__)("Activate All","ultimate-store-kit")]}),(0,r.jsxs)("button",{type:"button",className:`${D} ${0===O?"!bg-uks-brand !text-white hover:!bg-uks-brand-dark border-none":"!border !border-uks-brand/25 bg-uks-brand/5 text-uks-brand hover:bg-uks-brand/10 hover:text-uks-brand-dark"} focus:outline-none focus:ring-2 focus:ring-uks-brand focus:ring-offset-2 focus:ring-offset-white`,onClick:B,children:[(0,r.jsx)(v,{className:"h-3.5 w-3.5"}),(0,s.__)("Deactivate All","ultimate-store-kit")]})]})]}),(0,r.jsxs)("div",{className:"grid grid-cols-1 gap-3 rounded-lg border border-solid border-gray-100 bg-white p-5 sm:grid-cols-2 lg:grid-cols-3 2xl:grid-cols-4",children:[0===P.length&&(0,r.jsx)("div",{className:"col-span-full py-10 text-center text-sm text-slate-400",children:(0,s.__)("No widgets found.","ultimate-store-kit")}),P.map(e=>{const t="pro"===e.widget_type,l=e.dependency||null,i=l&&(!l.isInstalled||!l.isActive),o=t&&!c||i,n=K(e,y[e.name],c);return(0,r.jsxs)("div",{className:`flex flex-col justify-between gap-3 rounded-lg border border-solid border-gray-200 p-4 ${n?"border-emerald-300":""} ${o?"opacity-60 cursor-not-allowed bg-slate-100":""}`,children:[(0,r.jsxs)("div",{className:"flex items-start justify-between gap-2",children:[(0,r.jsx)("span",{className:"text-base font-semibold leading-snug text-slate-800",children:e.label}),t&&(0,r.jsx)("span",{className:k,children:(0,s.__)("Pro","ultimate-store-kit")})]}),(0,r.jsxs)("div",{className:"flex items-center justify-between",children:[(0,r.jsxs)("div",{className:"flex gap-2 items-center",children:[l?.actionUrl&&(0,r.jsxs)("a",{href:l.actionUrl,target:"install"===l.actionType?"_blank":void 0,rel:"install"===l.actionType?"noopener noreferrer":void 0,title:l.message||l.actionLabel,className:"text-gray-400 transition-colors hover:text-uks-brand flex items-center gap-1 decoration-none",style:{textDecoration:"none"},children:[(0,r.jsx)(z,{className:"w-4 h-4 block"}),(0,s.__)("Install","ultimate-store-kit")]}),e.demo_url&&!e.demo_url.startsWith("#")&&(0,r.jsxs)("a",{href:e.demo_url,target:"_blank",rel:"noopener noreferrer",title:(0,s.__)("Demo","ultimate-store-kit"),className:"text-gray-400 transition-colors hover:text-uks-brand flex items-center gap-1 decoration-none",style:{textDecoration:"none"},children:[(0,r.jsx)(E,{className:"w-4 h-4 block"}),(0,s.__)("Demo","ultimate-store-kit")]}),e.video_url&&(0,r.jsxs)("a",{href:e.video_url,target:"_blank",rel:"noopener noreferrer",title:(0,s.__)("Video","ultimate-store-kit"),className:"text-gray-400 transition-colors hover:text-uks-brand flex items-center gap-1 decoration-none",style:{textDecoration:"none"},children:[(0,r.jsx)(L,{className:"w-4 h-4 block"}),(0,s.__)("Video","ultimate-store-kit")]})]}),(0,r.jsx)(a,{checked:n,disabled:o,onChange:()=>C(e.name)})]}),i&&l?.actionUrl&&(0,r.jsxs)("div",{className:"text-[13px] leading-relaxed text-slate-500",children:[l.message," ",(0,r.jsx)("a",{href:l.actionUrl,className:"font-semibold text-uks-brand hover:underline",target:"install"===l.actionType?"_blank":void 0,rel:"install"===l.actionType?"noopener noreferrer":void 0,children:l.actionLabel})]})]},e.name)})]}),(0,r.jsx)("div",{className:"mt-6 flex justify-end pt-4",children:(0,r.jsx)("button",{type:"button",className:`${n} ${i}`,onClick:()=>{const e={};_.forEach(t=>{"checkbox"===t.type&&void 0!==y[t.name]&&(e[t.name]=y[t.name])}),o(w.key,e)},disabled:d,children:d?(0,s.__)("Saving...","ultimate-store-kit"):(0,s.__)("Save Changes","ultimate-store-kit")})})]})},re=[{group:(0,s.__)("Sales Notifications","ultimate-store-kit"),description:(0,s.__)("Configure flash sale banners, countdown timers, and promotional badges for your store.","ultimate-store-kit"),fields:[{name:"enable_flash_sale",type:"checkbox",label:(0,s.__)("Enable Flash Sale Banner","ultimate-store-kit"),description:(0,s.__)("Display a site-wide flash sale banner on product pages.","ultimate-store-kit")},{name:"flash_sale_text",type:"text",label:(0,s.__)("Flash Sale Text","ultimate-store-kit"),placeholder:(0,s.__)("🔥 Flash Sale — Up to 50% OFF!","ultimate-store-kit")},{name:"sale_badge_style",type:"select",label:(0,s.__)("Sale Badge Style","ultimate-store-kit"),options:{default:(0,s.__)("Default","ultimate-store-kit"),ribbon:(0,s.__)("Ribbon","ultimate-store-kit"),circle:(0,s.__)("Circle","ultimate-store-kit"),starburst:(0,s.__)("Starburst","ultimate-store-kit")}},{name:"sale_badge_color",type:"color",label:(0,s.__)("Sale Badge Color","ultimate-store-kit"),value:"#ef4444"},{name:"enable_countdown_timer",type:"checkbox",label:(0,s.__)("Enable Sale Countdown Timer","ultimate-store-kit"),description:(0,s.__)("Show a countdown timer on products that have a sale end date.","ultimate-store-kit")},{name:"countdown_position",type:"select",label:(0,s.__)("Countdown Position","ultimate-store-kit"),options:{above_price:(0,s.__)("Above Price","ultimate-store-kit"),below_price:(0,s.__)("Below Price","ultimate-store-kit"),above_button:(0,s.__)("Above Add to Cart","ultimate-store-kit")}},{name:"minimum_discount_percent",type:"number",label:(0,s.__)("Minimum Discount % to Show Badge","ultimate-store-kit"),value:"5",description:(0,s.__)("Only show the sale badge when the discount is at least this percentage.","ultimate-store-kit")}]}],ae=()=>(0,r.jsxs)("div",{className:"pointer-events-none relative select-none opacity-70",children:[(0,r.jsxs)("div",{className:"pointer-events-auto mb-4 flex items-center justify-between rounded-usk border border-uks-brand bg-[linear-gradient(313deg,#E62A3F_0%,#00216A_100%)] px-5 py-3.5",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2.5",children:[(0,r.jsx)("span",{className:"rounded-[10px] bg-[linear-gradient(313deg,#E62A3F_0%,#00216A_100%)] px-2.5 py-1 text-[10px] font-bold uppercase tracking-wide text-white",children:(0,s.__)("Pro","ultimate-store-kit")}),(0,r.jsx)("span",{className:"text-sm font-semibold text-white/90",children:(0,s.__)("Unlock these premium settings with Ultimate Store Kit Pro","ultimate-store-kit")})]}),(0,r.jsx)("a",{href:"https://bdthemes.com/ultimate-store-kit/",target:"_blank",rel:"noopener noreferrer",className:`${d} ${i}`,children:(0,s.__)("Get Pro","ultimate-store-kit")})]}),re.map((e,t)=>(0,r.jsx)("div",{className:"relative mb-4 overflow-hidden rounded-usk border border-slate-200 bg-white",children:(0,r.jsxs)("div",{className:"border-l-[3px] border-uks-brand",children:[(0,r.jsxs)("h3",{className:"m-0 flex flex-wrap items-center gap-2 border-b border-slate-200 bg-slate-100 px-5 py-3.5 text-sm font-bold text-slate-800",children:[e.group,(0,r.jsx)("span",{className:k,children:(0,s.__)("Pro","ultimate-store-kit")})]}),e.description&&(0,r.jsx)("p",{className:"m-0 px-5 pt-1 text-[13px] leading-relaxed text-slate-400",children:e.description}),(0,r.jsx)("div",{className:"px-5 py-2 opacity-60",children:e.fields.map(e=>{if("checkbox"===e.type)return(0,r.jsxs)("div",{className:`${g} flex-wrap`,children:[(0,r.jsx)("div",{className:f,children:(0,r.jsx)("span",{children:e.label})}),(0,r.jsx)("div",{className:"h-[22px] w-10 rounded-full bg-slate-200"}),e.description&&(0,r.jsx)("p",{className:"mt-1 w-full text-xs leading-snug text-slate-400",children:e.description})]},e.name);if("select"===e.type){const t=Object.keys(e.options)[0];return(0,r.jsxs)("div",{className:g,children:[(0,r.jsx)("label",{className:f,children:e.label}),(0,r.jsx)("select",{className:`${j} cursor-not-allowed opacity-60`,disabled:!0,defaultValue:t,children:Object.entries(e.options).map(([e,t])=>(0,r.jsx)("option",{value:e,children:t},e))})]},e.name)}return"color"===e.type?(0,r.jsxs)("div",{className:g,children:[(0,r.jsx)("label",{className:f,children:e.label}),(0,r.jsx)("input",{type:"color",disabled:!0,value:e.value||"#000000",readOnly:!0,className:"h-8 w-12 cursor-not-allowed rounded-md border border-slate-200 p-0.5 opacity-60"})]},e.name):"number"===e.type||"text"===e.type?(0,r.jsxs)("div",{className:g,children:[(0,r.jsx)("label",{className:f,children:e.label}),(0,r.jsx)("input",{type:e.type,className:`${j} cursor-not-allowed opacity-60`,disabled:!0,placeholder:e.placeholder||"",defaultValue:e.value||"",readOnly:!0}),e.description&&(0,r.jsx)("p",{className:"mt-1 w-full text-xs leading-snug text-slate-400",children:e.description})]},e.name):null})})]})},t))]}),le=({widgets:l,section:o,settings:d,onSave:c,saving:m,isPro:x,activeGroup:h})=>{const[u,p]=(0,e.useState)(()=>{const e={};return l.forEach(t=>{"start_group"!==t.type&&"end_group"!==t.type&&("checkbox"===t.type?e[t.name]=void 0!==d[t.name]?d[t.name]:t.default||"off":"select"!==t.type&&"number"!==t.type&&"text"!==t.type||(e[t.name]=void 0!==d[t.name]?d[t.name]:t.default||""))}),e}),b=(e,t)=>{p(s=>({...s,[e]:t}))},g=(()=>{const e=[];let t=null;return l.forEach(r=>{"start_group"!==r.type?"end_group"!==r.type?t?t.items.push(r):(e.length&&void 0!==e[e.length-1].items||e.push({label:(0,s.__)("General","ultimate-store-kit"),items:[]}),e[e.length-1].items.push(r)):t&&(e.push(t),t=null):t={label:r.label,items:[]}}),e})(),w=h?g.filter(e=>e.label===h):g;return(0,r.jsxs)("div",{children:[(0,r.jsxs)("div",{className:"grid grid-cols-[repeat(auto-fit,minmax(420px,1fr))] items-start gap-4",children:[w.map((e,t)=>(0,r.jsxs)("div",{className:"w-full overflow-hidden rounded-usk border border-solid border-gray-100 bg-white",children:[(0,r.jsx)("h3",{className:"m-0 border-0 border-b border-solid border-b-gray-200  px-5 py-3.5 text-sm font-bold uppercase tracking-wide text-slate-700",children:e.label}),(0,r.jsx)("div",{className:"space-y-5 p-5",children:e.items.map(e=>{const t="pro"===e.widget_type,l=e.dependency||null,i=l&&(!l.isInstalled||!l.isActive),o=t&&!x||i;if("checkbox"===e.type){const n=!o&&"on"===u[e.name];return(0,r.jsxs)("div",{className:"rounded-lg border border-slate-200 bg-white",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,r.jsxs)("div",{className:`${f} max-w-[70%] flex-wrap`,children:[(0,r.jsxs)("span",{children:[e.label,i&&l?.actionUrl?(0,r.jsxs)(r.Fragment,{children:[" ",(0,r.jsx)("a",{href:l.actionUrl,target:"install"===l.actionType?"_blank":void 0,rel:"install"===l.actionType?"noopener noreferrer":void 0,className:"font-semibold text-uks-brand hover:underline",children:l.actionLabel})]}):null]}),t&&(0,r.jsx)("span",{className:k,children:(0,s.__)("Pro","ultimate-store-kit")})]}),(0,r.jsx)(a,{checked:n,disabled:o,onChange:()=>b(e.name,n?"off":"on")})]}),i&&l?.message&&(0,r.jsx)("div",{className:"mt-2 text-[13px] leading-relaxed text-slate-500",children:l.message})]},e.name)}return"select"===e.type?(0,r.jsxs)("div",{className:"rounded-lg border border-slate-200 bg-white",children:[(0,r.jsxs)("label",{className:f,children:[e.label,t&&(0,r.jsx)("span",{className:`${k} ml-2 align-middle`,children:(0,s.__)("Pro","ultimate-store-kit")})]}),(0,r.jsx)("select",{className:`${j} mt-2 block w-full`,value:u[e.name]||"",onChange:t=>b(e.name,t.target.value),disabled:o,children:e.options&&Object.entries(e.options).map(([e,t])=>(0,r.jsx)("option",{value:e,children:t},e))})]},e.name):"number"===e.type||"text"===e.type?(0,r.jsxs)("div",{className:"rounded-lg border border-slate-200 bg-white",children:[(0,r.jsxs)("label",{className:f,children:[e.label,t&&(0,r.jsx)("span",{className:`${k} ml-2 align-middle`,children:(0,s.__)("Pro","ultimate-store-kit")})]}),(0,r.jsx)("input",{type:e.type,className:`${j} mt-2 block w-full`,value:u[e.name]||"",onChange:t=>b(e.name,t.target.value),disabled:o})]},e.name):null})})]},t)),!x&&!h&&(0,r.jsx)(ae,{}),(()=>{const e=(0,t.applyFilters)("usk.admin.settingsExtra",null);return e?(0,r.jsx)(e,{activeGroup:h}):null})()]}),(0,r.jsx)("div",{className:"mt-6 flex justify-end pt-4",children:(0,r.jsx)("button",{type:"button",className:`${n} ${i}`,onClick:()=>{c(o,u)},disabled:m,children:m?(0,s.__)("Saving...","ultimate-store-kit"):(0,s.__)("Save Changes","ultimate-store-kit")})})]})},ie=[{label:(0,s.__)("Core Widgets","ultimate-store-kit"),free:!0,pro:!0,freeNote:"35+",proNote:"100+"},{label:(0,s.__)("Theme Compatibility","ultimate-store-kit"),free:!0,pro:!0},{label:(0,s.__)("Dynamic Content & Custom Fields","ultimate-store-kit"),free:!0,pro:!0},{label:(0,s.__)("Proper Documentation","ultimate-store-kit"),free:!0,pro:!0},{label:(0,s.__)("Updates & Support","ultimate-store-kit"),free:!0,pro:!0},{label:(0,s.__)("Ready Made Blocks","ultimate-store-kit"),free:!0,pro:!0},{label:(0,s.__)("Ready Made Pages","ultimate-store-kit"),free:!0,pro:!0},{label:(0,s.__)("Rooten Theme Pro Features","ultimate-store-kit"),free:!1,pro:!0},{label:(0,s.__)("Priority Support","ultimate-store-kit"),free:!1,pro:!0}],oe=({d:e,viewBox:t="0 0 24 24",filled:s=!1})=>(0,r.jsx)("svg",{className:"h-4 w-4 shrink-0 text-uks-brand",viewBox:t,fill:s?"currentColor":"none",stroke:s?"none":"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:Array.isArray(e)?e.map((e,t)=>(0,r.jsx)("path",{d:e},t)):(0,r.jsx)("path",{d:e})}),ne=[{text:(0,s.__)("Incredibly Advanced","ultimate-store-kit"),icon:(0,r.jsx)(oe,{d:"M13 2 3 14h9l-1 8 10-12h-9l1-8z"})},{text:(0,s.__)("Refund or Cancel Anytime","ultimate-store-kit"),icon:(0,r.jsx)(oe,{d:["M9 14 4 9l5-5","M4 9h10.5a5.5 5.5 0 0 1 0 11H11"]})},{text:(0,s.__)("Dynamic Content","ultimate-store-kit"),icon:(0,r.jsx)(oe,{d:["M14.5 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7.5L14.5 2z","M14 2v6h6","M8 13h8","M8 17h4"]})},{text:(0,s.__)("Super-Flexible Widgets","ultimate-store-kit"),icon:(0,r.jsx)(oe,{d:["M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"]})},{text:(0,s.__)("24/7 Premium Support","ultimate-store-kit"),icon:(0,r.jsx)(oe,{d:["M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.38 8.38 0 0 1-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.38 8.38 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8v.5z"]})},{text:(0,s.__)("Third Party Plugins","ultimate-store-kit"),icon:(0,r.jsx)(oe,{d:["M6.3 20.3a2.4 2.4 0 0 0 3.4 0L12 18l-6-6-2.3 2.3a2.4 2.4 0 0 0 0 3.4z","m2 22 3-3","M7.5 13.5 10 11","M10.5 16.5 13 14","m18 3-4 4h6l-4 4"]})},{text:(0,s.__)("Special Discount!","ultimate-store-kit"),icon:(0,r.jsx)(oe,{d:["M9 5H2v7l6.29 6.29c.94.94 2.48.94 3.42 0l3.58-3.58c.94-.94.94-2.48 0-3.42L9 5z","M6 9.01V9"]})},{text:(0,s.__)("Custom Field Integration","ultimate-store-kit"),icon:(0,r.jsx)(oe,{d:["M12 20h9","M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4L16.5 3.5z"]})},{text:(0,s.__)("With Live Chat Support","ultimate-store-kit"),icon:(0,r.jsx)(oe,{d:["M8 12h.01","M12 12h.01","M16 12h.01","M21 12c0 4.418-4.03 8-9 8a9.863 9.863 0 0 1-4.255-.949L3 20l1.395-3.72C3.512 15.042 3 13.574 3 12c0-4.418 4.03-8 9-8s9 3.582 9 8z"]})},{text:(0,s.__)("Trusted Payment Methods","ultimate-store-kit"),icon:(0,r.jsx)(oe,{d:["M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"]})},{text:(0,s.__)("Interactive Effects","ultimate-store-kit"),icon:(0,r.jsx)(oe,{d:["M12 2v4","m16.2 7.8 2.9-2.9","M18 12h4","m16.2 16.2 2.9 2.9","M12 18v4","m4.9 19.1 2.9-2.9","M2 12h4","m4.9 4.9 2.9 2.9"]})},{text:(0,s.__)("Video Tutorial","ultimate-store-kit"),icon:(0,r.jsx)(oe,{d:["M22.54 6.42a2.78 2.78 0 0 0-1.95-1.96C18.88 4 12 4 12 4s-6.88 0-8.59.46a2.78 2.78 0 0 0-1.95 1.96A29 29 0 0 0 1 12a29 29 0 0 0 .46 5.58A2.78 2.78 0 0 0 3.41 19.6C5.12 20 12 20 12 20s6.88 0 8.59-.46a2.78 2.78 0 0 0 1.95-1.95A29 29 0 0 0 23 12a29 29 0 0 0-.46-5.58z","M9.75 15.02 15.5 12l-5.75-3.02v6.04z"]})}],de=({isPro:e})=>e?(0,r.jsxs)("div",{className:"rounded-usk border border-slate-200 bg-white p-6 text-center sm:p-10",children:[(0,r.jsx)("div",{className:"mx-auto mb-4 flex h-14 w-14 items-center justify-center rounded-full bg-emerald-100",children:(0,r.jsx)(A,{className:"h-7 w-7 text-emerald-600"})}),(0,r.jsx)("h2",{className:"m-0 mb-2 text-xl font-bold text-slate-800",children:(0,s.__)("You already have Pro!","ultimate-store-kit")}),(0,r.jsx)("p",{className:"m-0 text-sm text-slate-500",children:(0,s.__)("Thank you for being a Pro user. You have access to all features.","ultimate-store-kit")})]}):(0,r.jsxs)("div",{className:"space-y-5",children:[(0,r.jsxs)("div",{className:"overflow-hidden rounded-usk border border-solid border-gray-100 bg-white",children:[(0,r.jsxs)("div",{className:"flex border-b border-gray-100",children:[(0,r.jsx)("div",{className:"flex flex-[2] items-center px-3 py-3 sm:px-5 sm:py-3.5",children:(0,r.jsx)("span",{className:"text-[10px] font-semibold uppercase tracking-wider text-slate-400 sm:text-[11px]",children:(0,s.__)("Features","ultimate-store-kit")})}),(0,r.jsx)("div",{className:"flex w-20 items-center justify-center border-l border-gray-100 bg-slate-50 py-3 sm:w-28 sm:py-3.5 lg:w-36",children:(0,r.jsx)("span",{className:"text-[11px] font-bold text-slate-500 sm:text-[12px]",children:(0,s.__)("Free","ultimate-store-kit")})}),(0,r.jsx)("div",{className:"flex w-20 items-center justify-center border-l border-uks-brand/30 bg-uks-brand py-3 sm:w-28 sm:py-3.5 lg:w-36",children:(0,r.jsxs)("span",{className:"inline-flex items-center gap-1 text-[11px] font-bold text-white sm:gap-1.5 sm:text-[12px]",children:[(0,r.jsx)(C,{className:"h-3 w-3"}),(0,s.__)("Pro","ultimate-store-kit")]})})]}),ie.map((e,t)=>(0,r.jsxs)("div",{className:"flex items-center border-b border-gray-50 last:border-b-0 "+(t%2==1?"bg-slate-50/50":"bg-white"),children:[(0,r.jsxs)("div",{className:"flex min-w-0 flex-[2] items-center gap-2 px-3 py-3 sm:px-5 sm:py-3.5",children:[(0,r.jsx)("span",{className:"text-[12px] font-medium text-slate-700 sm:text-[13px]",children:e.label}),e.freeNote&&e.proNote&&(0,r.jsxs)("span",{className:"hidden shrink-0 rounded-full border border-slate-100 bg-white px-2 py-0.5 text-[10px] font-semibold text-slate-400 sm:inline-block",children:[e.freeNote," → ",e.proNote]})]}),(0,r.jsx)("div",{className:"flex w-20 shrink-0 items-center justify-center border-l py-3 sm:w-28 sm:py-3.5 lg:w-36 "+(t%2==1?"border-gray-100 bg-slate-50/50":"border-gray-50 bg-white"),children:e.free?(0,r.jsx)(A,{className:"mx-auto h-[18px] w-[18px] text-uks-brand"}):(0,r.jsx)(v,{className:"mx-auto h-[18px] w-[18px] text-slate-300"})}),(0,r.jsx)("div",{className:"flex w-20 shrink-0 items-center justify-center border-l border-uks-brand/20 bg-uks-brand/[0.07] py-3 sm:w-28 sm:py-3.5 lg:w-36",children:e.pro?(0,r.jsx)(A,{className:"mx-auto h-[18px] w-[18px] text-uks-brand"}):(0,r.jsx)(v,{className:"mx-auto h-[18px] w-[18px] text-slate-300"})})]},t))]}),(0,r.jsxs)("div",{className:"overflow-hidden rounded-usk border border-solid border-gray-100 bg-white",children:[(0,r.jsxs)("div",{className:"p-4 sm:p-5 lg:p-6",children:[(0,r.jsx)("p",{className:"m-0 mb-3 text-[11px] font-semibold uppercase tracking-wider text-slate-400 sm:mb-4",children:(0,s.__)("What's included with Pro","ultimate-store-kit")}),(0,r.jsx)("div",{className:"grid grid-cols-1 gap-2 xs:grid-cols-2 sm:grid-cols-3 lg:grid-cols-4",children:ne.map((e,t)=>(0,r.jsxs)("div",{className:"flex items-center gap-2 rounded-lg border border-slate-100 bg-slate-50/70 px-3 py-2.5 sm:gap-2.5",children:[(0,r.jsx)("span",{className:"shrink-0","aria-hidden":"true",children:e.icon}),(0,r.jsx)("span",{className:"text-[12px] font-medium leading-snug text-slate-600",children:e.text})]},t))})]}),(0,r.jsxs)("div",{className:"flex flex-col items-center gap-3 border-t border-uks-brand/15 bg-gradient-to-br from-uks-brand/[0.07] to-transparent px-4 py-5 text-center sm:px-6 sm:py-6",children:[(0,r.jsx)("p",{className:"m-0 text-[13px] font-semibold text-slate-700",children:(0,s.__)("Ready to unlock all Pro features?","ultimate-store-kit")}),(0,r.jsxs)("a",{href:"https://storekit.pro/pricing",target:"_blank",rel:"noopener noreferrer",className:`${n} ${i} gap-2`,children:[(0,r.jsx)(C,{className:"h-4 w-4"}),(0,s.__)("Upgrade to Pro — View Pricing","ultimate-store-kit")]}),(0,r.jsxs)("div",{className:"flex flex-wrap items-center justify-center gap-x-4 gap-y-1.5 text-[11px] text-slate-400",children:[(0,r.jsxs)("span",{className:"flex items-center gap-1",children:[(0,r.jsx)(A,{className:"h-3.5 w-3.5 text-emerald-500"}),(0,s.__)("30-day money-back","ultimate-store-kit")]}),(0,r.jsxs)("span",{className:"flex items-center gap-1",children:[(0,r.jsx)(A,{className:"h-3.5 w-3.5 text-emerald-500"}),(0,s.__)("Cancel anytime","ultimate-store-kit")]}),(0,r.jsxs)("span",{className:"flex items-center gap-1",children:[(0,r.jsx)(A,{className:"h-3.5 w-3.5 text-emerald-500"}),(0,s.__)("Instant access","ultimate-store-kit")]})]})]})]})]}),ce=window.ultimateStoreKitAdminData||{},me="font-semibold text-uks-brand no-underline transition hover:underline",xe=({icon:e,label:t,children:s})=>(0,r.jsxs)("div",{className:"group flex items-center gap-4 rounded-lg border border-solid border-gray-200 bg-white p-4",children:[(0,r.jsx)("div",{className:"flex h-11 w-11 shrink-0 items-center justify-center rounded-lg bg-uks-brand/10 text-uks-brand transition group-hover:bg-uks-brand/15","aria-hidden":"true",children:e}),(0,r.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,r.jsx)("h3",{className:"m-0 mb-1 text-[11px] font-semibold uppercase tracking-wider text-slate-400",children:t}),(0,r.jsx)("div",{className:"text-sm font-semibold text-slate-800",children:s})]})]}),he=({icon:e,title:t,desc:s,href:a})=>(0,r.jsxs)("a",{href:a,target:"_blank",rel:"noopener noreferrer",className:"group flex items-center gap-4 rounded-lg border border-solid border-gray-200 bg-white p-4 text-inherit no-underline transition hover:border-uks-brand/25",children:[(0,r.jsx)("div",{className:"flex h-11 w-11 shrink-0 items-center justify-center rounded-lg bg-uks-brand/10 text-uks-brand transition group-hover:bg-uks-brand/15","aria-hidden":"true",children:e}),(0,r.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,r.jsx)("div",{className:"text-sm font-semibold text-slate-800",children:t}),(0,r.jsx)("p",{className:"m-0 mt-0.5 text-[12px] leading-snug text-slate-500",children:s})]})]}),ue=()=>{const e=Boolean(ce.isPro),t=ce.version||"";return(0,r.jsxs)("div",{className:"space-y-6",children:[(0,r.jsxs)("div",{className:"overflow-hidden rounded-usk border border-slate-200 bg-white",children:[(0,r.jsx)("div",{className:"bg-white p-4 sm:p-5 border border-solid border-gray-100",children:(0,r.jsxs)("div",{className:"flex max-w-3xl flex-col items-start gap-4 text-left sm:flex-row",children:[(0,r.jsx)("div",{className:"",children:(0,r.jsx)(_,{className:"w-12 h-12 block"})}),(0,r.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,r.jsxs)("div",{className:"mb-2 flex flex-wrap items-center justify-start gap-2",children:[(0,r.jsx)("h3",{className:"m-0 text-[22px] font-extrabold leading-none text-slate-900",children:(0,s.__)("Ultimate Store Kit","ultimate-store-kit")}),(0,r.jsxs)("span",{className:"inline-flex items-center rounded-full bg-uks-brand px-2.5 py-0.5 text-xs font-semibold text-white",children:["v",t]}),(0,r.jsx)("span",{className:"inline-flex items-center rounded-full px-2.5 py-0.5 text-xs font-semibold "+(e?"bg-emerald-100 text-emerald-800":"bg-slate-200 text-slate-700"),children:e?(0,s.__)("Pro","ultimate-store-kit"):(0,s.__)("Free","ultimate-store-kit")})]}),(0,r.jsx)("p",{className:"mb-4 text-[13px] leading-relaxed text-slate-600",children:(0,s.__)("Build online stores in WordPress with the powerful store builder addon for Elementor. Enjoy a wide range of customizations and easily build product grids, carousels, single product/page elements, checkouts and more.","ultimate-store-kit")}),(0,r.jsxs)("ul",{className:"m-0 flex list-none flex-wrap justify-start gap-3 p-0",children:[(0,r.jsx)("li",{className:"rounded-full py-1 px-2 border border-solid border-slate-200 bg-white/80 text-xs font-medium text-slate-600",children:(0,s.__)("Elementor widgets","ultimate-store-kit")}),(0,r.jsx)("li",{className:"rounded-full py-1 px-2 border border-solid border-slate-200 bg-white/80 text-xs font-medium text-slate-600",children:(0,s.__)("WooCommerce ready","ultimate-store-kit")}),(0,r.jsx)("li",{className:"rounded-full py-1 px-2 border border-solid border-slate-200 bg-white/80 text-xs font-medium text-slate-600",children:(0,s.__)("Store-focused UI","ultimate-store-kit")})]})]})]})}),(0,r.jsxs)("div",{className:"grid grid-cols-1 gap-px border-t border-slate-200 sm:grid-cols-3",children:[(0,r.jsxs)("div",{className:"bg-gray-100 px-4 py-3 text-center sm:text-left",children:[(0,r.jsx)("p",{className:"m-0 mb-0.5 text-[11px] font-semibold uppercase tracking-wide text-slate-400",children:(0,s.__)("Current version","ultimate-store-kit")}),(0,r.jsxs)("p",{className:"m-0 text-sm font-bold text-slate-800",children:["v",t]})]}),(0,r.jsxs)("div",{className:"bg-gray-100 px-4 py-3 text-center sm:text-left",children:[(0,r.jsx)("p",{className:"m-0 mb-0.5 text-[11px] font-semibold uppercase tracking-wide text-slate-400",children:(0,s.__)("License","ultimate-store-kit")}),(0,r.jsx)("p",{className:"m-0 text-sm font-bold text-slate-800",children:e?(0,s.__)("Pro (active)","ultimate-store-kit"):(0,s.__)("Free","ultimate-store-kit")})]}),(0,r.jsxs)("div",{className:"bg-gray-100 px-4 py-3 text-center sm:text-left",children:[(0,r.jsx)("p",{className:"m-0 mb-0.5 text-[11px] font-semibold uppercase tracking-wide text-slate-400",children:(0,s.__)("Built for","ultimate-store-kit")}),(0,r.jsx)("p",{className:"m-0 text-sm font-bold text-slate-800",children:(0,s.__)("WordPress + WooCommerce","ultimate-store-kit")})]})]})]}),(0,r.jsxs)("div",{className:"rounded-usk border border-solid border-gray-100 bg-white p-4 sm:p-5",children:[(0,r.jsx)("h3",{className:"m-0 mb-3 text-base font-bold text-slate-800",children:(0,s.__)("Product & support","ultimate-store-kit")}),(0,r.jsxs)("div",{className:"grid grid-cols-1 gap-3 sm:grid-cols-2 2xl:grid-cols-4",children:[(0,r.jsx)(xe,{label:(0,s.__)("Author","ultimate-store-kit"),icon:(0,r.jsx)(F,{}),children:(0,r.jsx)("a",{href:"https://bdthemes.com/",target:"_blank",rel:"noopener noreferrer",className:me,children:"BdThemes"})}),(0,r.jsx)(xe,{label:(0,s.__)("Website","ultimate-store-kit"),icon:(0,r.jsx)(D,{}),children:(0,r.jsx)("a",{href:"https://storekit.pro/",target:"_blank",rel:"noopener noreferrer",className:me,children:"storekit.pro"})}),(0,r.jsx)(xe,{label:(0,s.__)("Documentation","ultimate-store-kit"),icon:(0,r.jsx)(T,{}),children:(0,r.jsx)("a",{href:"https://bdthemes.com/knowledge-base/ultimate-store-kit/",target:"_blank",rel:"noopener noreferrer",className:me,children:(0,s.__)("Knowledge Base","ultimate-store-kit")})}),(0,r.jsx)(xe,{label:(0,s.__)("Support","ultimate-store-kit"),icon:(0,r.jsx)(W,{}),children:(0,r.jsx)("a",{href:"https://bdthemes.com/support/",target:"_blank",rel:"noopener noreferrer",className:me,children:(0,s.__)("Get Support","ultimate-store-kit")})})]})]}),(0,r.jsxs)("div",{className:"rounded-usk border border-solid border-gray-100 bg-white p-4 sm:p-5",children:[(0,r.jsx)("h3",{className:"m-0 mb-3 text-base font-bold text-slate-800",children:(0,s.__)("Useful links","ultimate-store-kit")}),(0,r.jsx)("ul",{className:"m-0 grid list-none grid-cols-1 gap-3 p-0 sm:grid-cols-2 2xl:grid-cols-4",children:[["https://www.youtube.com/c/bdthemes",(0,s.__)("Video tutorials","ultimate-store-kit"),(0,s.__)("Step-by-step YouTube tutorials for setup, widgets, and customization.","ultimate-store-kit"),(0,r.jsx)(V,{})],["https://feedback.bdthemes.com/b/6vr2250l/feature-requests/",(0,s.__)("Request a feature","ultimate-store-kit"),(0,s.__)("Share ideas and vote on what we build next.","ultimate-store-kit"),(0,r.jsx)(H,{})],["https://wordpress.org/plugins/ultimate-store-kit/",(0,s.__)("Rate us on WordPress.org","ultimate-store-kit"),(0,s.__)("Help others discover the plugin with a review.","ultimate-store-kit"),(0,r.jsx)(P,{className:"h-5 w-5"})],["https://www.facebook.com/groups/358290584725185",(0,s.__)("Facebook community","ultimate-store-kit"),(0,s.__)("Join our Facebook community to connect with other users and the team.","ultimate-store-kit"),(0,r.jsx)(U,{})]].map(([e,t,s,a])=>(0,r.jsx)("li",{children:(0,r.jsx)(he,{href:e,title:t,desc:s,icon:a})},e))})]})]})},pe=()=>(0,r.jsxs)("div",{className:"relative inline-flex shrink-0 cursor-not-allowed select-none",style:{width:40,height:22},role:"presentation","aria-hidden":"true",title:(0,s.__)("Requires Pro license","ultimate-store-kit"),children:[(0,r.jsx)("span",{style:{position:"absolute",inset:0,borderRadius:9999,background:"#cbd5e1",border:"1px solid #94a3b8",boxSizing:"border-box"}}),(0,r.jsx)("span",{style:{position:"absolute",top:"50%",left:3,width:16,height:16,marginTop:-8,borderRadius:9999,background:"#ffffff",boxShadow:"0 1px 4px rgba(0,0,0,0.22)"}})]}),be=({module:e})=>{const t=e?.label||e?.id||"",a=e?.description||"",l=e?.icon||e?.id||"grid",i="rounded-usk border border-solid border-gray-100 bg-white";return(0,r.jsxs)("div",{className:"flex flex-col gap-5",children:[(0,r.jsxs)("div",{className:`flex flex-col gap-4 p-5 sm:flex-row sm:items-center sm:justify-between ${i}`,children:[(0,r.jsxs)("div",{className:"flex min-w-0 items-center gap-3",children:[(0,r.jsx)("div",{className:"flex h-11 w-11 shrink-0 items-center justify-center rounded-xl bg-uks-brand/10 text-uks-brand","aria-hidden":"true",children:(0,r.jsx)(G,{name:l})}),(0,r.jsxs)("div",{className:"min-w-0",children:[(0,r.jsx)("h3",{className:"m-0 text-base font-bold text-slate-800",children:t}),a&&(0,r.jsx)("p",{className:"m-0 mt-1 text-[12px] leading-snug text-slate-500",children:a})]})]}),(0,r.jsx)("div",{className:"flex shrink-0 justify-end sm:pl-2",children:(0,r.jsx)(pe,{})})]}),(0,r.jsx)("div",{className:i,children:(0,r.jsxs)("div",{className:"flex flex-col items-center justify-center px-6 py-16 text-center sm:px-10 sm:py-20",children:[(0,r.jsx)("div",{className:"mx-auto mb-6 flex h-14 w-14 items-center justify-center rounded-xl bg-uks-brand/10 text-uks-brand","aria-hidden":"true",children:(0,r.jsx)(O,{className:"h-7 w-7",stroke:"currentColor"})}),(0,r.jsx)("h4",{className:"m-0 mb-2 text-lg font-bold tracking-tight text-slate-800",children:(0,s.__)("Module is currently disabled","ultimate-store-kit")}),(0,r.jsx)("p",{className:"m-0 mb-6 max-w-md text-[13px] leading-relaxed text-slate-500",children:(0,s.__)("This is a Pro feature. Upgrade to Ultimate Store Kit Pro to unlock this module and configure its settings.","ultimate-store-kit")}),(0,r.jsxs)("a",{href:"https://storekit.pro/pricing/",target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-2 rounded-lg border-0 bg-uks-brand px-5 py-2.5 text-sm font-semibold text-white no-underline transition-opacity hover:opacity-90",children:[(0,r.jsx)(P,{className:"h-4 w-4"}),(0,s.__)("Get Pro","ultimate-store-kit")]})]})})]})},ge=({notification:t,onDismiss:s})=>{if(!t)return null;const a="success"===t.type?"usk-toast--success":"usk-toast--error";return(0,e.createPortal)((0,r.jsx)("div",{className:"usk-toast-wrap",children:(0,r.jsxs)("div",{className:`usk-toast ${a}`,children:[(0,r.jsx)("span",{children:t.message}),(0,r.jsx)("button",{type:"button",className:"usk-toast__close",onClick:s,children:"×"})]})}),document.body)},fe=window.ultimateStoreKitAdminData||{},je=(()=>{const e=fe.widgets?.ultimate_store_kit_other_settings||[],t=[];return e.forEach(e=>{var s;"start_group"===e.type?t.push({id:`settings-${s=e.label,s.toLowerCase().replace(/\s+/g,"-").replace(/[^a-z0-9-]/g,"")}`,label:e.label,proOnly:!1}):e.parent&&"pro"===e.widget_type&&t.length&&(t[t.length-1].proOnly=!0)}),t})(),ke=e=>{const t=je.find(t=>t.id===e&&t.proOnly);if(!t)return null;const s=J(t);return{id:t.id,label:t.label,icon:s,description:X[s]||"",badge:"Pro",proPlaceholder:!0}},we=()=>{const e=window.location.hash.replace("#","").split("?")[0],s=Z().map(e=>e.id),r=(0,t.applyFilters)("usk.admin.pages",{}),a=Object.keys(r),l=["welcome","widgets","woocommerce-widgets","edd-widgets","other-widgets","get-pro","about",...je.map(e=>e.id),...s,...a];return(0,t.applyFilters)("usk.admin.validPages",l).includes(e)?e:"welcome"},_e=()=>{const[a,l]=(0,e.useState)(we()),[i,o]=(0,e.useState)(fe.savedSettings||{}),[n,d]=(0,e.useState)(!!fe.isPro),[c,m]=(0,e.useState)(!1),[x,h]=(0,e.useState)(null),[u,p]=(0,e.useState)(!1),[b,g]=(0,e.useState)(()=>window.innerWidth>1024);(0,e.useEffect)(()=>((0,t.addAction)("usk.admin.notify","usk-core",e=>h(e)),()=>(0,t.removeAction)("usk.admin.notify","usk-core")),[]),(0,e.useEffect)(()=>((0,t.addAction)("usk.admin.licenseChanged","usk-core",e=>{d(e),window.ultimateStoreKitAdminData.isPro=e}),()=>(0,t.removeAction)("usk.admin.licenseChanged","usk-core")),[]),(0,e.useEffect)(()=>{if(x){const e=setTimeout(()=>h(null),3e3);return()=>clearTimeout(e)}},[x]),(0,e.useEffect)(()=>{const e=()=>{l(we())};return window.addEventListener("hashchange",e),()=>window.removeEventListener("hashchange",e)},[]),(0,e.useEffect)(()=>{if("get-pro"===a){const e=(0,t.applyFilters)("usk.admin.pages",{});if(e.license||n){const t=e.license?"license":"welcome";l(t),window.location.hash=`#${t}`}}},[n,a]),(0,e.useEffect)(()=>{p(!1)},[a]),(0,e.useEffect)(()=>(document.body.style.overflow=u?"hidden":"",()=>{document.body.style.overflow=""}),[u]),(0,e.useEffect)(()=>{const e=()=>{const e=window.innerWidth>1024;g(e),e&&p(!1)};return window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[]);const f=(0,e.useCallback)(e=>{e?.preventDefault&&e.preventDefault(),e?.stopPropagation&&e.stopPropagation(),p(e=>!e)},[]),j=(0,e.useCallback)((e,t)=>{m(!0),fetch(fe.restUrl+"settings",{method:"POST",headers:{"Content-Type":"application/json","X-WP-Nonce":fe.restNonce},body:JSON.stringify({section:e,settings:t})}).then(e=>{if(!e.ok)throw e;return e.json()}).then(r=>{o(s=>({...s,[e]:t})),h({type:"success",message:r?.message||(0,s.__)("Settings saved successfully.","ultimate-store-kit")})}).catch(()=>{h({type:"error",message:(0,s.__)("An error occurred while saving.","ultimate-store-kit")})}).finally(()=>{m(!1)})},[]);return(0,r.jsxs)("div",{className:"flex min-h-[calc(100vh-100px)] flex-col m-5 ml-0 mb-0 font-sans",children:[(0,r.jsx)(ge,{notification:x,onDismiss:()=>h(null)}),(0,r.jsx)(R,{version:fe.version,isPro:n,isSidebarOpen:u,isDesktop:b,onToggleSidebar:f}),(0,r.jsx)("div",{className:"bg-slate-50",children:(0,r.jsxs)("div",{className:"flex flex-1 items-stretch p-5 gap-5",children:[(0,r.jsx)(Q,{activePage:a,onNavigate:l,isPro:n,isOpen:u,isDesktop:b,onClose:()=>p(!1),settingsGroups:je}),(0,r.jsx)("div",{className:"min-w-0 flex-1 flex flex-col",children:(0,r.jsx)("div",{className:"flex-1",children:(()=>{const e=fe.widgets||{},s=(0,t.applyFilters)("usk.admin.pages",{});if(s[a]){if(!n){const e=Z().find(e=>e.id===a)||ke(a);if(e)return(0,r.jsx)(be,{module:e})}const e=s[a];return(0,r.jsx)(e,{})}const l=Z().find(e=>e.id===a)||!n&&ke(a);if(l)return(0,r.jsx)(be,{module:l});switch(a){case"welcome":return(0,r.jsx)(te,{widgets:e,settings:i,isPro:n});case"widgets":case"woocommerce-widgets":case"edd-widgets":case"other-widgets":{const t={"woocommerce-widgets":"wc","edd-widgets":"edd","other-widgets":"other",widgets:"wc"};return(0,r.jsx)(se,{allWidgets:e,allSettings:i,onSave:j,saving:c,isPro:n,widgetType:t[a]})}case"get-pro":return n?(0,r.jsx)(te,{widgets:e,settings:i,isPro:n}):(0,r.jsx)(de,{isPro:n});case"about":return(0,r.jsx)(ue,{});default:{const t=je.find(e=>e.id===a);return t?(0,r.jsx)(le,{widgets:e.ultimate_store_kit_other_settings||[],section:"ultimate_store_kit_other_settings",settings:i.ultimate_store_kit_other_settings||{},onSave:j,saving:c,isPro:n,activeGroup:t.label}):(0,r.jsx)(te,{widgets:e,settings:i})}}})()})})]})}),(0,r.jsxs)("footer",{className:"p-5 bg-white py-4 text-center text-sm text-slate-500 rounded-bl-lg rounded-br-lg",children:[(0,s.__)("Ultimate Store Kit Addon made with love by","ultimate-store-kit")," ",(0,r.jsx)("a",{target:"_blank",rel:"noopener noreferrer",href:"https://bdthemes.com",className:"text-uks-brand no-underline hover:underline",children:"BdThemes"}),". ",(0,s.__)("All rights reserved.","ultimate-store-kit")]})]})};document.addEventListener("DOMContentLoaded",()=>{const t=document.querySelector(".ultimate-store-kit-admin-root");t&&(0,e.createRoot)(t).render((0,r.jsx)(_e,{}))})}};const t={};function s(r){const a=t[r];if(void 0!==a)return a.exports;const l=t[r]={exports:{}};return e[r](l,l.exports,s),l.exports}s.m=e,(()=>{const e=[];s.O=(t,r,a,l)=>{if(r){l=l||0;for(var i=e.length;i>0&&e[i-1][2]>l;i--)e[i]=e[i-1];return void(e[i]=[r,a,l])}let o=1/0;for(i=0;i<e.length;i++){let[r,a,l]=e[i],d=!0;for(var n=0;n<r.length;n++)(!1&l||o>=l)&&Object.keys(s.O).every(e=>s.O[e](r[n]))?r.splice(n--,1):(d=!1,l<o&&(o=l));if(d){e.splice(i--,1);const s=a();void 0!==s&&(t=s)}}return t}})(),s.o=(e,t)=>Object.hasOwn(e,t),(()=>{const e={16:0,1524:0};s.O.j=t=>0===e[t];const t=(t,r)=>{let[a,l,i]=r;var o,n,d=0;if(a.some(t=>0!==e[t])){for(o in l)s.o(l,o)&&(s.m[o]=l[o]);if(i)var c=i(s)}for(t&&t(r);d<a.length;d++)n=a[d],s.o(e,n)&&e[n]&&e[n][0](),e[n]=0;return s.O(c)},r=globalThis.webpackChunkultimate_store_kit||=[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))})();let r=s.O(void 0,[1524],()=>s(7208));r=s.O(r)})();
     1(()=>{"use strict";var e={3399(){const e=window.wp.element,t=window.wp.hooks,s=window.wp.i18n,a=window.ReactJSXRuntime,r={xmlns:"http://www.w3.org/2000/svg",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"},l=({className:e="block h-10 w-10 sm:h-12 sm:w-12"})=>(0,a.jsxs)("svg",{className:e,version:"1.1",id:"Layer_1",xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",x:"0px",y:"0px",viewBox:"0 0 500 500",style:{enableBackground:"new 0 0 500 500"},xmlSpace:"preserve",children:[(0,a.jsx)("style",{type:"text/css",dangerouslySetInnerHTML:{__html:"\n\t.st0{fill:#E30C1D;enable-background:new    ;}\n\t.st1{fill:#FFFFFF;}\n"}}),(0,a.jsx)("path",{className:"st0",d:"M473.6,496.4h-447c-12.6,0-22.9-10.2-22.9-22.9v-447c0-12.4,10.2-22.9,22.9-22.9h446.8 c12.6,0,22.9,10.2,22.9,22.9v446.8C496.3,486.3,486.2,496.4,473.6,496.4z"}),(0,a.jsxs)("g",{children:[(0,a.jsx)("path",{className:"st1",d:"M374.3,364l-21.1-157.6c-1.9-14.3-14.2-25-28.6-25c0,0-0.1,0-0.1,0l-143.7,0.7c-14.5,0.1-26.8,11-28.5,25.4 l-18.6,156.9c-1,8.2,1.6,16.4,7.1,22.5s13.3,9.7,21.5,9.7h183.5c8.3,0,16.2-3.6,21.7-9.8C372.9,380.6,375.4,372.3,374.3,364z M186.4,217.1l132.8-0.6l6.4,47.6c-34.1,4.4-61,23.4-78.4,55.7c-8.5,15.8-12.9,31.5-15,41.9h-63L186.4,217.1z M268.1,361.7 c1.9-7.3,5-16.3,9.9-25.3c12-22.3,29.2-34.7,52.2-37.6l8.4,62.9H268.1z"}),(0,a.jsx)("path",{className:"st1",d:"M212.4,169.2c8.8,0,16-7.2,16-16c0-13.9,11.3-25.3,25.3-25.3c13.9,0,25.3,11.3,25.3,25.3c0,8.8,7.2,16,16,16 s16-7.2,16-16c0-31.6-25.7-57.3-57.3-57.3c-31.6,0-57.3,25.7-57.3,57.3C196.4,162.1,203.6,169.2,212.4,169.2z"})]})]}),i=({className:e="h-4 w-4"})=>(0,a.jsxs)("svg",{...r,viewBox:"0 0 24 24",className:e,children:[(0,a.jsx)("path",{d:"M18 6 6 18"}),(0,a.jsx)("path",{d:"m6 6 12 12"})]}),o=({className:e="w-4 h-4 block"})=>(0,a.jsx)("svg",{...r,width:24,height:24,viewBox:"0 0 24 24",className:e,children:(0,a.jsx)("path",{d:"M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z"})}),n=({className:e="w-4 h-4 block"})=>(0,a.jsx)("svg",{className:e,viewBox:"0 0 24 24",fill:"currentColor",children:(0,a.jsx)("path",{d:"M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z"})}),d="h-5 w-5 block color-current",c=({className:e=d})=>(0,a.jsxs)("svg",{...r,width:24,height:24,viewBox:"0 0 24 24",className:e,children:[(0,a.jsx)("rect",{width:7,height:9,x:3,y:3,rx:1}),(0,a.jsx)("rect",{width:7,height:5,x:14,y:3,rx:1}),(0,a.jsx)("rect",{width:7,height:9,x:14,y:12,rx:1}),(0,a.jsx)("rect",{width:7,height:5,x:3,y:16,rx:1})]}),x=({className:e="h-4 w-4"})=>(0,a.jsx)("svg",{...r,viewBox:"0 0 24 24",className:e,children:(0,a.jsx)("path",{d:"M20 6 9 17l-5-5"})}),m=({className:e="h-7 w-7",stroke:t="currentColor"})=>(0,a.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:28,height:28,viewBox:"0 0 24 24",fill:"none",stroke:t,strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round",className:e,children:[(0,a.jsx)("rect",{width:18,height:11,x:3,y:11,rx:2,ry:2}),(0,a.jsx)("path",{d:"M7 11V7a5 5 0 0 1 10 0v4"})]}),p=({className:e="h-5 w-5"})=>(0,a.jsxs)("svg",{...r,className:e,viewBox:"0 0 24 24",children:[(0,a.jsx)("path",{d:"M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2"}),(0,a.jsx)("circle",{cx:"12",cy:"7",r:"4"})]}),u=({className:e="h-5 w-5"})=>(0,a.jsxs)("svg",{...r,className:e,viewBox:"0 0 24 24",children:[(0,a.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,a.jsx)("path",{d:"M2 12h20M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z"})]}),h=({className:e="h-5 w-5"})=>(0,a.jsxs)("svg",{...r,className:e,viewBox:"0 0 24 24",children:[(0,a.jsx)("path",{d:"M4 19.5A2.5 2.5 0 0 1 6.5 17H20"}),(0,a.jsx)("path",{d:"M6.5 2H20v20H6.5A2.5 2.5 0 0 1 4 19.5v-15A2.5 2.5 0 0 1 6.5 2z"})]}),b=({className:e="h-5 w-5"})=>(0,a.jsx)("svg",{...r,className:e,viewBox:"0 0 24 24",children:(0,a.jsx)("path",{d:"M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.38 8.38 0 0 1-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.38 8.38 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8v.5z"})}),g=({className:e="h-5 w-5"})=>(0,a.jsxs)("svg",{...r,className:e,viewBox:"0 0 24 24",children:[(0,a.jsx)("polygon",{points:"23 7 16 12 23 17 23 7"}),(0,a.jsx)("rect",{x:"1",y:"5",width:"15",height:"14",rx:"2",ry:"2"})]}),f=({className:e="h-5 w-5"})=>(0,a.jsxs)("svg",{...r,className:e,viewBox:"0 0 24 24",children:[(0,a.jsx)("path",{d:"M12 20h9"}),(0,a.jsx)("path",{d:"M16.5 3.5a2.1 2.1 0 0 1 3 3L7 19l-4 1 1-4Z"})]}),j=({className:e="h-5 w-5"})=>(0,a.jsx)("svg",{...r,className:e,viewBox:"0 0 24 24",children:(0,a.jsx)("path",{d:"M18 2h-3a5 5 0 0 0-5 5v3H7v4h3v8h4v-8h3l1-4h-4V7a1 1 0 0 1 1-1h3z"})}),_={home:({className:e=d})=>(0,a.jsxs)("svg",{...r,width:24,height:24,viewBox:"0 0 24 24",className:e,children:[(0,a.jsx)("path",{d:"M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8"}),(0,a.jsx)("path",{d:"M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"})]}),grid:c,"currency-switcher":({className:e=d})=>(0,a.jsxs)("svg",{...r,width:24,height:24,viewBox:"0 0 24 24",className:e,children:[(0,a.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,a.jsx)("path",{d:"M16 8h-6a2 2 0 1 0 0 4h4a2 2 0 1 1 0 4H8"}),(0,a.jsx)("path",{d:"M12 18V6"})]}),"variation-swatches":({className:e=d})=>(0,a.jsxs)("svg",{...r,width:24,height:24,viewBox:"0 0 24 24",className:e,children:[(0,a.jsx)("path",{d:"M12 2.69l5.66 5.66a8 8 0 1 1-11.31 0z"}),(0,a.jsx)("circle",{cx:"7.5",cy:"10.5",r:".5",fill:"currentColor",stroke:"none"}),(0,a.jsx)("circle",{cx:"12",cy:"7.5",r:".5",fill:"currentColor",stroke:"none"}),(0,a.jsx)("circle",{cx:"16.5",cy:"10.5",r:".5",fill:"currentColor",stroke:"none"}),(0,a.jsx)("circle",{cx:"9",cy:"15.5",r:".5",fill:"currentColor",stroke:"none"})]}),settings:c,badge:({className:e=d})=>(0,a.jsxs)("svg",{...r,width:24,height:24,viewBox:"0 0 24 24",className:e,children:[(0,a.jsx)("path",{d:"M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z"}),(0,a.jsx)("circle",{cx:"16.5",cy:"7.5",r:".5",fill:"currentColor"})]}),star:o,woocommerce:({className:e=d})=>(0,a.jsxs)("svg",{...r,width:24,height:24,viewBox:"0 0 24 24",className:e,children:[(0,a.jsx)("path",{d:"M15 21v-5a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v5"}),(0,a.jsx)("path",{d:"M17.774 10.31a1.12 1.12 0 0 0-1.549 0 2.5 2.5 0 0 1-3.451 0 1.12 1.12 0 0 0-1.548 0 2.5 2.5 0 0 1-3.452 0 1.12 1.12 0 0 0-1.549 0 2.5 2.5 0 0 1-3.77-3.248l2.889-4.184A2 2 0 0 1 7 2h10a2 2 0 0 1 1.653.873l2.895 4.192a2.5 2.5 0 0 1-3.774 3.244"}),(0,a.jsx)("path",{d:"M4 10.95V19a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8.05"})]}),edd:({className:e=d})=>(0,a.jsxs)("svg",{...r,width:24,height:24,viewBox:"0 0 24 24",className:e,children:[(0,a.jsx)("path",{d:"M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"}),(0,a.jsx)("path",{d:"m7.5 4.21 4.5 2.6 4.5-2.6"}),(0,a.jsx)("path",{d:"M12 17.5V12"})]}),other:c,info:({className:e=d})=>(0,a.jsxs)("svg",{...r,width:24,height:24,viewBox:"0 0 24 24",className:e,children:[(0,a.jsx)("circle",{cx:12,cy:12,r:10}),(0,a.jsx)("path",{d:"M12 16v-4"}),(0,a.jsx)("path",{d:"M12 8h.01"})]}),"live-visitor-count":({className:e="h-5 w-5"})=>(0,a.jsxs)("svg",{...r,className:e,viewBox:"0 0 24 24",children:[(0,a.jsx)("path",{d:"M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"}),(0,a.jsx)("circle",{cx:"9",cy:"7",r:"4"}),(0,a.jsx)("path",{d:"M23 21v-2a4 4 0 0 0-3-3.87"}),(0,a.jsx)("path",{d:"M16 3.13a4 4 0 0 1 0 7.75"})]}),"sales-notification":({className:e="h-5 w-5"})=>(0,a.jsxs)("svg",{...r,className:e,viewBox:"0 0 24 24",children:[(0,a.jsx)("path",{d:"M18 8A6 6 0 0 0 6 8c0 7-3 9-3 9h18s-3-2-3-9"}),(0,a.jsx)("path",{d:"M13.73 21a2 2 0 0 1-3.46 0"})]}),"upsell-cross-sell":()=>(0,a.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round",className:"h-5 w-5 block color-current",children:[(0,a.jsx)("path",{d:"M6 2L3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4z"}),(0,a.jsx)("line",{x1:"3",y1:"6",x2:"21",y2:"6"}),(0,a.jsx)("path",{d:"M16 10a4 4 0 0 1-8 0"})]}),"flash-sale-countdown":({className:e=d})=>(0,a.jsx)("svg",{...r,width:24,height:24,viewBox:"0 0 24 24",className:e,children:(0,a.jsx)("polygon",{points:"13 2 3 14 12 14 11 22 21 10 12 10 13 2"})}),"back-order":({className:e=d})=>(0,a.jsxs)("svg",{...r,width:24,height:24,viewBox:"0 0 24 24",className:e,children:[(0,a.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,a.jsx)("polyline",{points:"12 6 12 12 16 14"})]}),"pre-order":({className:e=d})=>(0,a.jsxs)("svg",{...r,width:24,height:24,viewBox:"0 0 24 24",className:e,children:[(0,a.jsx)("rect",{x:"3",y:"4",width:"18",height:"18",rx:"2",ry:"2"}),(0,a.jsx)("line",{x1:"16",y1:"2",x2:"16",y2:"6"}),(0,a.jsx)("line",{x1:"8",y1:"2",x2:"8",y2:"6"}),(0,a.jsx)("line",{x1:"3",y1:"10",x2:"21",y2:"10"})]}),"multistep-checkout":({className:e=d})=>(0,a.jsxs)("svg",{...r,width:24,height:24,viewBox:"0 0 24 24",className:e,children:[(0,a.jsx)("path",{d:"M9 11l3 3L22 4"}),(0,a.jsx)("path",{d:"M21 12v7a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11"})]}),"vacation-mode":({className:e=d})=>(0,a.jsxs)("svg",{...r,width:24,height:24,viewBox:"0 0 24 24",className:e,children:[(0,a.jsx)("path",{d:"M14.5 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7.5L14.5 2z"}),(0,a.jsx)("polyline",{points:"14 2 14 8 20 8"}),(0,a.jsx)("path",{d:"M8 13h2"}),(0,a.jsx)("path",{d:"M8 17h2"}),(0,a.jsx)("path",{d:"M14 13h2"}),(0,a.jsx)("path",{d:"M14 17h2"})]}),"additional-checkout-fields":({className:e=d})=>(0,a.jsxs)("svg",{...r,width:24,height:24,viewBox:"0 0 24 24",className:e,children:[(0,a.jsx)("path",{d:"M16 6H3"}),(0,a.jsx)("path",{d:"M11 12H3"}),(0,a.jsx)("path",{d:"M16 18H3"}),(0,a.jsx)("path",{d:"M18 9v6"}),(0,a.jsx)("path",{d:"M21 12h-6"})]}),"buy-one-get-one":({className:e=d})=>(0,a.jsxs)("svg",{...r,width:24,height:24,viewBox:"0 0 24 24",className:e,children:[(0,a.jsx)("polyline",{points:"20 12 20 22 4 22 4 12"}),(0,a.jsx)("rect",{x:"2",y:"7",width:"20",height:"5"}),(0,a.jsx)("line",{x1:"12",y1:"22",x2:"12",y2:"7"}),(0,a.jsx)("path",{d:"M12 7H7.5a2.5 2.5 0 0 1 0-5C11 2 12 7 12 7z"}),(0,a.jsx)("path",{d:"M12 7h4.5a2.5 2.5 0 0 0 0-5C13 2 12 7 12 7z"})]})},k=({size:e=18,className:t="",children:s,strokeWidth:r=2})=>(0,a.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:e,height:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:r,strokeLinecap:"round",strokeLinejoin:"round",className:`block shrink-0 ${t}`,"aria-hidden":"true",focusable:"false",children:s}),w=e=>(0,a.jsxs)(k,{...e,children:[(0,a.jsx)("rect",{x:"3",y:"3",width:"7",height:"9",rx:"1"}),(0,a.jsx)("rect",{x:"14",y:"3",width:"7",height:"5",rx:"1"}),(0,a.jsx)("rect",{x:"14",y:"12",width:"7",height:"9",rx:"1"}),(0,a.jsx)("rect",{x:"3",y:"16",width:"7",height:"5",rx:"1"})]}),v=e=>(0,a.jsxs)(k,{...e,children:[(0,a.jsx)("rect",{x:"3",y:"3",width:"7",height:"7",rx:"1"}),(0,a.jsx)("rect",{x:"14",y:"3",width:"7",height:"7",rx:"1"}),(0,a.jsx)("rect",{x:"3",y:"14",width:"7",height:"7",rx:"1"}),(0,a.jsx)("rect",{x:"14",y:"14",width:"7",height:"7",rx:"1"})]}),y=e=>(0,a.jsx)(k,{...e,children:(0,a.jsx)("path",{d:"M15.39 4.39a1 1 0 0 0 1.68-.474 2.5 2.5 0 1 1 3.014 3.015 1 1 0 0 0-.474 1.68l1.683 1.682a2.414 2.414 0 0 1 0 3.414L19.61 15.39a1 1 0 0 1-1.68-.474 2.5 2.5 0 1 0-3.014 3.015 1 1 0 0 1 .474 1.68l-1.683 1.682a2.414 2.414 0 0 1-3.414 0L8.61 19.61a1 1 0 0 0-1.68.474 2.5 2.5 0 1 1-3.014-3.015 1 1 0 0 0 .474-1.68l-1.683-1.682a2.414 2.414 0 0 1 0-3.414L4.39 8.61a1 1 0 0 1 1.68.474 2.5 2.5 0 1 0 3.014-3.015 1 1 0 0 1-.474-1.68l1.683-1.682a2.414 2.414 0 0 1 3.414 0z"})}),N=e=>(0,a.jsxs)(k,{...e,children:[(0,a.jsx)("rect",{x:"3",y:"3",width:"18",height:"18",rx:"2"}),(0,a.jsx)("path",{d:"M3 9h18"}),(0,a.jsx)("path",{d:"M9 21V9"})]}),S=e=>(0,a.jsxs)(k,{...e,children:[(0,a.jsx)("path",{d:"m15.5 7.5 2.3 2.3a1 1 0 0 0 1.4 0l2.1-2.1a1 1 0 0 0 0-1.4L19 4"}),(0,a.jsx)("path",{d:"m21 2-9.6 9.6"}),(0,a.jsx)("circle",{cx:"7.5",cy:"15.5",r:"5.5"})]}),M=e=>(0,a.jsx)(k,{...e,children:(0,a.jsx)("path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z"})}),C=e=>(0,a.jsxs)(k,{...e,children:[(0,a.jsx)("circle",{cx:"12",cy:"12",r:"1"}),(0,a.jsx)("circle",{cx:"19",cy:"12",r:"1"}),(0,a.jsx)("circle",{cx:"5",cy:"12",r:"1"})]}),P=e=>(0,a.jsxs)(k,{...e,children:[(0,a.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,a.jsx)("path",{d:"M12 16v-4"}),(0,a.jsx)("path",{d:"M12 8h.01"})]}),z=e=>(0,a.jsx)(k,{...e,children:(0,a.jsx)("path",{d:"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20"})}),A=e=>(0,a.jsxs)(k,{...e,children:[(0,a.jsx)("circle",{cx:"11",cy:"11",r:"8"}),(0,a.jsx)("path",{d:"m21 21-4.3-4.3"})]}),L=e=>(0,a.jsx)(k,{...e,children:(0,a.jsx)("path",{d:"M3 14h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-7a9 9 0 0 1 18 0v7a2 2 0 0 1-2 2h-1a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h3"})}),E=e=>(0,a.jsx)(k,{...e,children:(0,a.jsx)("path",{d:"M9.94 15.5A2 2 0 0 0 8.5 14.06l-6.14-1.58a.5.5 0 0 1 0-.96L8.5 9.94A2 2 0 0 0 9.94 8.5l1.58-6.14a.5.5 0 0 1 .96 0L14.06 8.5A2 2 0 0 0 15.5 9.94l6.14 1.58a.5.5 0 0 1 0 .96L15.5 14.06a2 2 0 0 0-1.44 1.44l-1.58 6.14a.5.5 0 0 1-.96 0z"})}),B=e=>(0,a.jsxs)(k,{...e,children:[(0,a.jsx)("path",{d:"M5 12h14"}),(0,a.jsx)("path",{d:"m12 5 7 7-7 7"})]}),$=e=>(0,a.jsxs)(k,{...e,children:[(0,a.jsx)("path",{d:"m12 19-7-7 7-7"}),(0,a.jsx)("path",{d:"M19 12H5"})]}),D=e=>(0,a.jsx)(k,{...e,children:(0,a.jsx)("path",{d:"m9 18 6-6-6-6"})}),O=e=>(0,a.jsxs)(k,{...e,children:[(0,a.jsx)("path",{d:"M15 3h6v6"}),(0,a.jsx)("path",{d:"M10 14 21 3"}),(0,a.jsx)("path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"})]}),T=e=>(0,a.jsx)(k,{...e,children:(0,a.jsx)("path",{d:"M20 6 9 17l-5-5"})}),F=e=>(0,a.jsxs)(k,{...e,children:[(0,a.jsx)("path",{d:"M18 6 6 18"}),(0,a.jsx)("path",{d:"m6 6 12 12"})]}),R=e=>(0,a.jsxs)(k,{...e,children:[(0,a.jsx)("path",{d:"M2.06 12.35a1 1 0 0 1 0-.7 10.75 10.75 0 0 1 19.88 0 1 1 0 0 1 0 .7 10.75 10.75 0 0 1-19.88 0"}),(0,a.jsx)("circle",{cx:"12",cy:"12",r:"3"})]}),W=e=>(0,a.jsxs)(k,{...e,children:[(0,a.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,a.jsx)("path",{d:"m10 8 6 4-6 4Z"})]}),U=e=>(0,a.jsxs)(k,{...e,children:[(0,a.jsx)("path",{d:"M12 22v-5"}),(0,a.jsx)("path",{d:"M9 8V2"}),(0,a.jsx)("path",{d:"M15 8V2"}),(0,a.jsx)("path",{d:"M18 8v5a4 4 0 0 1-4 4h-4a4 4 0 0 1-4-4V8Z"})]}),I=e=>(0,a.jsx)(k,{...e,children:(0,a.jsx)("path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2"})}),H=e=>(0,a.jsxs)(k,{...e,children:[(0,a.jsx)("path",{d:"m12 14 4-4"}),(0,a.jsx)("path",{d:"M3.34 19a10 10 0 1 1 17.32 0"})]}),V=e=>(0,a.jsxs)(k,{...e,children:[(0,a.jsx)("circle",{cx:"8",cy:"21",r:"1"}),(0,a.jsx)("circle",{cx:"19",cy:"21",r:"1"}),(0,a.jsx)("path",{d:"M2.05 2.05h2l2.66 12.42a2 2 0 0 0 2 1.58h9.78a2 2 0 0 0 1.95-1.57l1.65-7.43H5.12"})]}),K=e=>(0,a.jsxs)(k,{...e,children:[(0,a.jsx)("path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"}),(0,a.jsx)("path",{d:"m7 10 5 5 5-5"}),(0,a.jsx)("path",{d:"M12 15V3"})]}),G=e=>(0,a.jsxs)(k,{...e,children:[(0,a.jsx)("path",{d:"m12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83Z"}),(0,a.jsx)("path",{d:"m22 17.65-9.17 4.16a2 2 0 0 1-1.66 0L2 17.65"}),(0,a.jsx)("path",{d:"m22 12.65-9.17 4.16a2 2 0 0 1-1.66 0L2 12.65"})]}),J=e=>(0,a.jsx)(k,{...e,children:(0,a.jsx)("path",{d:"M7.9 20A9 9 0 1 0 4 16.1L2 22Z"})}),q={blue:{tile:"bg-[#eef3ff] text-[#2f5bea]",bar:"#2f5bea"},navy:{tile:"bg-[#e8edf8] text-[#00216A]",bar:"#00216A"},green:{tile:"bg-[#ecfdf3] text-[#16a34a]",bar:"#16a34a"},violet:{tile:"bg-[#f3efff] text-[#7c3aed]",bar:"#8b5cf6"},amber:{tile:"bg-[#fff7ed] text-[#d97706]",bar:"#f59e0b"},rose:{tile:"bg-[#fff1f2] text-[#e11d48]",bar:"#e11d48"},teal:{tile:"bg-[#ecfeff] text-[#0e9488]",bar:"#14b8a6"},slate:{tile:"bg-[#f4f4f5] text-[#52525b]",bar:"#71717a"}},X={sm:"w-8 h-8 rounded-[9px]",md:"w-[34px] h-[34px] rounded-[10px]",lg:"w-10 h-10 rounded-tile",xl:"w-11 h-11 rounded-tile"},Z=({icon:e,glyph:t,accent:s="blue",size:r="lg",iconSize:l=18})=>(0,a.jsx)("span",{className:`grid shrink-0 place-items-center ${X[r]||X.lg} ${(q[s]||q.blue).tile}`,"aria-hidden":"true",children:t?(0,a.jsx)("i",{className:`${t} text-[18px] leading-none`}):e?(0,a.jsx)(e,{size:l}):null}),Y=({percent:e=0,color:t="#2f5bea",height:s=6,className:r=""})=>(0,a.jsx)("div",{className:`w-full overflow-hidden rounded-full bg-[#eef0f3] ${r}`,style:{height:s},role:"progressbar","aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":Math.round(e),children:(0,a.jsx)("div",{className:"h-full rounded-full transition-[width] duration-500",style:{width:`${Math.max(0,Math.min(100,e))}%`,background:t}})}),Q=({title:e,action:t,children:s,className:r="",bodyClassName:l="p-[18px]"})=>(0,a.jsxs)("section",{className:`rounded-card border border-solid border-[#e9e9ed] bg-white ${r}`,children:[e?(0,a.jsxs)("header",{className:"flex items-center justify-between gap-3 px-[18px] pt-[18px]",children:[(0,a.jsx)("h2",{className:"m-0 text-[16px] font-bold tracking-[-.01em] text-[#0f1115]",children:e}),t]}):null,(0,a.jsx)("div",{className:l,children:s})]}),ee={green:"text-[#15803d] bg-[#ecfdf3]",blue:"text-[#2f5bea] bg-[#eef3ff]",amber:"text-[#b45309] bg-[#fff7ed]",rose:"text-[#be123c] bg-[#fff1f2]",neutral:"text-[#6d6d74] bg-[#f4f4f5]"},te=({tone:e="neutral",children:t,className:s=""})=>(0,a.jsx)("span",{className:`inline-flex items-center whitespace-nowrap rounded-full px-2 py-[3px] text-[11px] font-bold leading-none ${ee[e]||ee.neutral} ${s}`,children:t}),se=()=>(0,a.jsx)("span",{className:"inline-flex items-center rounded-full bg-gradient-brand px-[7px] py-[3px] text-[9.5px] font-extrabold leading-none tracking-[.06em] text-white",children:"PRO"}),ae=({isPro:e,isProPluginActive:t})=>t&&e?(0,a.jsxs)("span",{className:"flex items-center gap-[7px] rounded-full border border-solid border-[#c6f0d4] bg-[#ecfdf3] px-[15px] py-[9px] text-[13px] font-bold text-[#15803d] max-lg:hidden",children:[(0,a.jsx)("span",{className:"h-2 w-2 rounded-full bg-[#22c55e] shadow-[0_0_0_3px_rgba(34,197,94,.2)]"}),(0,s.__)("License active","ultimate-store-kit")]}):t?(0,a.jsxs)("span",{className:"flex items-center gap-[7px] rounded-full border border-solid border-[#fde2b8] bg-[#fff7ed] px-[15px] py-[9px] text-[13px] font-bold text-[#b45309] max-lg:hidden",children:[(0,a.jsx)("span",{className:"h-2 w-2 rounded-full bg-[#f59e0b]"}),(0,s.__)("License inactive","ultimate-store-kit")]}):(0,a.jsxs)("span",{className:"flex items-center gap-[7px] rounded-full border border-solid border-[#e6e6ea] bg-[#f4f5f7] px-[15px] py-[9px] text-[13px] font-bold text-[#52525b] max-lg:hidden",children:[(0,a.jsx)("span",{className:"h-2 w-2 rounded-full bg-[#a1a1aa]"}),(0,s.__)("Free version","ultimate-store-kit")]}),re=({items:t,onClose:r,onSelect:l})=>{const[i,o]=(0,e.useState)(""),[n,d]=(0,e.useState)(0),c=(0,e.useRef)(null),x=(0,e.useMemo)(()=>{const e=i.trim().toLowerCase();return(e?t.filter(t=>`${t.label} ${t.group}`.toLowerCase().includes(e)):t.filter(e=>e.group!==(0,s.__)("Widgets","ultimate-store-kit"))).slice(0,12)},[t,i]);return(0,e.useEffect)(()=>{c.current?.focus()},[]),(0,e.useEffect)(()=>{d(0)},[i]),(0,a.jsx)("div",{className:"fixed inset-0 z-[100000] flex items-start justify-center bg-[rgba(15,17,21,.45)] px-4 pt-[12vh]",onMouseDown:e=>e.target===e.currentTarget&&r(),children:(0,a.jsxs)("div",{role:"dialog","aria-modal":"true","aria-label":(0,s.__)("Search","ultimate-store-kit"),className:"w-full max-w-[560px] animate-usk-pop overflow-hidden rounded-card border border-solid border-[#e6e6ea] bg-white shadow-pop",children:[(0,a.jsxs)("div",{className:"flex items-center gap-3 border-0 border-b border-solid border-[#eef0f3] px-[18px] py-[14px] text-[#6c6c75]",children:[(0,a.jsx)(A,{size:18}),(0,a.jsx)("input",{ref:c,type:"text",value:i,onChange:e=>o(e.target.value),onKeyDown:e=>{"Escape"===e.key?(e.preventDefault(),r()):"ArrowDown"===e.key?(e.preventDefault(),d(e=>Math.min(e+1,x.length-1))):"ArrowUp"===e.key?(e.preventDefault(),d(e=>Math.max(e-1,0))):"Enter"===e.key&&x[n]&&(e.preventDefault(),l(x[n]))},placeholder:(0,s.__)("Search widgets, modules and pages…","ultimate-store-kit"),className:"!m-0 w-full !border-0 !bg-transparent !p-0 text-[15px] text-[#0f1115] !shadow-none !outline-none",role:"combobox","aria-expanded":"true","aria-controls":"usk-search-results","aria-activedescendant":x[n]?`usk-search-${n}`:void 0}),(0,a.jsx)("kbd",{className:"rounded-md border border-solid border-[#e6e6ea] px-1.5 py-0.5 text-[11px] font-semibold text-[#6c6c75]",children:"esc"})]}),(0,a.jsx)("ul",{id:"usk-search-results",role:"listbox",className:"m-0 max-h-[360px] list-none overflow-y-auto p-2",children:0===x.length?(0,a.jsx)("li",{className:"px-3 py-6 text-center text-[13px] text-[#6c6c75]",children:(0,s.__)("Nothing found.","ultimate-store-kit")}):x.map((e,t)=>(0,a.jsxs)("li",{id:`usk-search-${t}`,role:"option","aria-selected":t===n,onMouseEnter:()=>d(t),onMouseDown:t=>{t.preventDefault(),l(e)},className:"m-0 flex cursor-pointer items-center justify-between gap-3 rounded-[10px] px-3 py-[10px] text-[13.5px] font-semibold "+(t===n?"bg-[#fff1f2] text-[#e30c1d]":"text-[#27272a]"),children:[(0,a.jsx)("span",{children:e.label}),(0,a.jsxs)("span",{className:"flex items-center gap-2 text-[11.5px] font-medium text-[#8a8a93]",children:[e.group,(0,a.jsx)(B,{size:13})]})]},`${e.group}-${e.id}`))})]})})},le=({version:r,isPro:i,isProPluginActive:o,templateBuilderUrl:n,searchItems:d=[],onSearchSelect:c})=>{const[x,m]=(0,e.useState)(!1),p="undefined"!=typeof navigator&&/Mac|iPhone|iPad/.test(navigator.platform||"");(0,e.useEffect)(()=>{const e=e=>{(e.metaKey||e.ctrlKey)&&"k"===(e.key||"").toLowerCase()&&(e.preventDefault(),e.stopImmediatePropagation(),m(e=>!e))};return window.addEventListener("keydown",e,!0),()=>window.removeEventListener("keydown",e,!0)},[]);const u=(0,t.applyFilters)("usk.admin.headerExtra",null),h=(0,t.applyFilters)("usk.admin.pages",{}),b=!i&&!h.license,g="inline-flex items-center gap-[7px] rounded-full bg-gradient-brand px-[22px] py-[11px] text-[13.5px] font-extrabold text-white no-underline shadow-glow transition-all duration-200 hover:-translate-y-px hover:text-white hover:shadow-glow-lg max-[640px]:px-[15px]";return(0,a.jsxs)("div",{className:"flex min-h-[80px] flex-wrap items-center justify-between gap-5 px-[26px] py-[18px] max-[900px]:gap-3 max-[900px]:px-[15px] max-[900px]:py-[13px]",children:[(0,a.jsxs)("div",{className:"flex min-w-0 items-center gap-3",children:[(0,a.jsx)(l,{className:"block h-9 w-9"}),(0,a.jsx)("span",{className:"whitespace-nowrap text-[19px] font-extrabold tracking-[-.02em] text-[#0f1115] max-[480px]:text-[16px]",children:(0,s.__)("Ultimate Store Kit","ultimate-store-kit")}),i?(0,a.jsx)(se,{}):null,r?(0,a.jsxs)("span",{className:"text-[12.5px] font-bold text-[#6c6c75]",children:["v",r]}):null]}),(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-[10px]",children:[(0,a.jsx)(ae,{isPro:i,isProPluginActive:o}),(0,a.jsxs)("button",{type:"button",onClick:()=>m(!0),className:"flex cursor-pointer items-center gap-2 rounded-full border border-solid border-[#e6e6ea] bg-[#f4f5f7] py-[9px] pl-[14px] pr-[9px] text-[13px] font-semibold text-[#6c6c75] transition-colors hover:border-[#e30c1d] hover:text-[#e30c1d] max-md:hidden","aria-label":(0,s.__)("Search","ultimate-store-kit"),children:[(0,a.jsx)(A,{size:15}),(0,s.__)("Search","ultimate-store-kit"),(0,a.jsxs)("span",{className:"flex gap-1",children:[(0,a.jsx)("kbd",{className:"rounded-md border border-solid border-[#e2e2e6] bg-white px-[6px] text-[11px] font-semibold",children:p?"⌘":"Ctrl"}),(0,a.jsx)("kbd",{className:"rounded-md border border-solid border-[#e2e2e6] bg-white px-[6px] text-[11px] font-semibold",children:"K"})]})]}),u?(0,a.jsx)(u,{}):null,(0,a.jsxs)("a",{href:"https://bdthemes.com/knowledge-base/ultimate-store-kit/",target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-[6px] rounded-full border-[1.5px] border-solid border-[#e2e2e6] bg-white px-[17px] py-[10px] text-[13.5px] font-bold text-[#27272a] no-underline transition-colors hover:border-[#e30c1d] hover:text-[#e30c1d] max-[640px]:hidden",children:[(0,a.jsx)(z,{size:14}),(0,s.__)("Docs","ultimate-store-kit")]}),b?(0,a.jsxs)("a",{href:"https://storekit.pro/pricing/",target:"_blank",rel:"noopener noreferrer",className:g,children:[(0,a.jsx)(M,{size:14}),(0,s.__)("Get Pro","ultimate-store-kit")]}):(0,a.jsxs)("a",{href:n,className:g,children:[(0,a.jsx)(N,{size:14}),(0,s.__)("Template Builder","ultimate-store-kit")]})]}),x?(0,a.jsx)(re,{items:d,onClose:()=>m(!1),onSelect:e=>{m(!1),c?.(e)}}):null]})},ie=({tab:e,onClick:t,expanded:s,controls:r,buttonRef:l,tabIndex:i})=>{const o=e.icon,n="flex shrink-0 cursor-pointer items-center gap-[7px] whitespace-nowrap rounded-full border-0 px-4 py-[11px] text-sm font-bold no-underline transition-all duration-200 "+(e.active?"bg-gradient-brand text-white shadow-glow hover:text-white":"bg-transparent text-[#52525b] hover:bg-[#f3f5f8] hover:text-[#18181b]"),d=(0,a.jsxs)(a.Fragment,{children:[o?(0,a.jsx)(o,{size:17}):null,e.label]});return e.href?(0,a.jsx)("a",{href:e.href,className:n,tabIndex:i,children:d}):(0,a.jsx)("button",{ref:l,type:"button",onClick:t,className:n,tabIndex:i,"aria-current":e.active?"page":void 0,"aria-expanded":s,"aria-haspopup":void 0===s?void 0:"menu","aria-controls":r,children:d})},oe=({tabs:t,moreItems:r=[],onNavigate:l})=>{const[i,o]=(0,e.useState)(!1),n=(0,e.useRef)(null),d=(0,e.useRef)(null),[c,x]=(0,e.useState)(16),m=(0,e.useRef)(null),p=(0,e.useRef)(null),u=(0,e.useRef)([]),h=(0,e.useRef)(0),[b,g]=(0,e.useState)(t.length),f=(0,e.useCallback)(()=>{const e=m.current,t=u.current;if(!e||!t.length)return;const s=window.getComputedStyle(e),a=e.clientWidth-parseFloat(s.paddingLeft)-parseFloat(s.paddingRight);let l=0;if(t.forEach((e,t)=>{l+=e+(t>0?4:0)}),l<=a&&0===r.length)return void g(e=>e===t.length?e:t.length);const i=a-h.current-4;let o=0,n=0;for(let e=0;e<t.length;e++){const s=t[e]+(n>0?4:0);if(o+s>i)break;o+=s,n+=1}g(e=>e===n?e:n)},[r.length]);(0,e.useLayoutEffect)(()=>{const e=p.current;if(!e)return;const t=Array.from(e.children),s=t.pop();u.current=t.map(e=>e.getBoundingClientRect().width),h.current=s?s.getBoundingClientRect().width:0,f()}),(0,e.useEffect)(()=>{const e=m.current;if(!e||void 0===window.ResizeObserver)return window.addEventListener("resize",f),()=>window.removeEventListener("resize",f);const t=new window.ResizeObserver(()=>f());return t.observe(e),()=>t.disconnect()},[f]);const j=t.slice(0,b),_=[...t.slice(b),...r];(0,e.useEffect)(()=>{if(!i)return;const e=e=>{n.current&&!n.current.contains(e.target)&&o(!1)},t=e=>{"Escape"===e.key&&(o(!1),d.current?.focus())};return document.addEventListener("mousedown",e),document.addEventListener("keydown",t),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("keydown",t)}},[i]),(0,e.useEffect)(()=>{0===_.length&&o(!1)},[_.length]);const k=e=>{o(!1),e.href?window.location.href=e.href:l(e.key)},w=i||_.some(e=>e.active),v={key:"more",label:(0,s.__)("More","ultimate-store-kit"),icon:C,active:w};return(0,a.jsxs)("div",{ref:n,className:"relative rounded-b-card border-0 border-t border-solid border-[#eef0f3] bg-[#fafbfc]",children:[(0,a.jsx)("div",{"aria-hidden":"true",className:"pointer-events-none absolute inset-x-0 top-0 overflow-hidden",children:(0,a.jsxs)("div",{ref:p,className:"invisible flex w-max gap-1 px-4 py-2",children:[t.map(e=>(0,a.jsx)(ie,{tab:{...e,active:!1,href:void 0},onClick:()=>{},tabIndex:-1},e.key)),(0,a.jsx)(ie,{tab:{...v,active:!1},onClick:()=>{},tabIndex:-1})]})}),(0,a.jsxs)("nav",{ref:m,className:"flex flex-nowrap items-center gap-1 overflow-hidden px-4 py-2","aria-label":(0,s.__)("Ultimate Store Kit","ultimate-store-kit"),children:[j.map(e=>(0,a.jsx)(ie,{tab:e,onClick:()=>k(e)},e.key)),_.length>0?(0,a.jsx)(ie,{buttonRef:d,tab:v,expanded:i,controls:"usk-more-menu",onClick:()=>{if(!i&&d.current&&n.current){const e=d.current.getBoundingClientRect(),t=n.current.getBoundingClientRect();x(Math.max(8,Math.min(e.left-t.left,t.width-236)))}o(e=>!e)}}):null]}),i&&_.length?(0,a.jsx)("div",{id:"usk-more-menu",role:"menu",style:{left:c},className:"absolute top-full z-50 mt-1 min-w-[228px] animate-usk-pop overflow-hidden rounded-panel border border-solid border-[#e6e6ea] bg-white py-1.5 shadow-pop",children:_.map(e=>{const t=e.icon;return(0,a.jsxs)("button",{type:"button",role:"menuitem",onClick:()=>k(e),"aria-current":e.active?"page":void 0,className:"box-border flex w-full cursor-pointer items-center gap-[10px] border-0 px-[14px] py-[10px] text-left text-[13.5px] font-bold transition-colors "+(e.active?"bg-[#fff1f2] text-[#e30c1d]":"bg-transparent text-[#3f3f46] hover:bg-[#f3f5f8]"),children:[(0,a.jsx)("span",{className:e.active?"text-[#e30c1d]":"text-[#6c6c75]",children:t?(0,a.jsx)(t,{size:16}):null}),(0,a.jsx)("span",{className:"flex-1",children:e.label}),e.badge?(0,a.jsx)("span",{className:"rounded-full bg-[#f4f4f5] px-1.5 py-0.5 text-[10px] font-bold text-[#6d6d74]",children:e.badge}):null]},e.key)})}):null]})},ne=(e,t,s)=>{if("pro"===e.widget_type&&!s)return!1;const a=e.dependency;return!!(!a||a.isInstalled&&a.isActive)&&(null!=t?"on"===t:"on"===e.default)},de=[{id:"currency-switcher",label:(0,s.__)("Currency Switcher","ultimate-store-kit"),description:(0,s.__)("Enable to allow currency switching on your store.","ultimate-store-kit"),icon:"currency-switcher",badge:"Pro",proPlaceholder:!0},{id:"variation-swatches",label:(0,s.__)("Variation Swatches","ultimate-store-kit"),description:(0,s.__)("Enable to display product variation swatches on your store.","ultimate-store-kit"),icon:"variation-swatches",badge:"Pro",proPlaceholder:!0},{id:"live-visitor-count",label:(0,s.__)("Live Visitor Count","ultimate-store-kit"),description:(0,s.__)("Display live visitor count on product pages to create urgency.","ultimate-store-kit"),icon:"live-visitor-count",badge:"Pro",proPlaceholder:!0},{id:"sales-notification",label:(0,s.__)("Sales Notification","ultimate-store-kit"),description:(0,s.__)("Show recent purchases as a floating popup to build social proof.","ultimate-store-kit"),icon:"sales-notification",badge:"Pro",proPlaceholder:!0},{id:"upsell-cross-sell",label:(0,s.__)("Upsell & Cross-Sell","ultimate-store-kit"),description:(0,s.__)("Display upsell and cross-sell products on product pages to increase sales.","ultimate-store-kit"),icon:"upsell-cross-sell",badge:"Pro",proPlaceholder:!0},{id:"multistep-checkout",label:(0,s.__)("Multistep Checkout","ultimate-store-kit"),description:(0,s.__)("Split checkout into clear, guided steps to reduce abandoned carts.","ultimate-store-kit"),icon:"multistep-checkout",badge:"Pro",proPlaceholder:!0},{id:"vacation-mode",label:(0,s.__)("Vacation Mode","ultimate-store-kit"),description:(0,s.__)("Pause orders and show a store notice while you are away.","ultimate-store-kit"),icon:"vacation-mode",badge:"Pro",proPlaceholder:!0},{id:"additional-checkout-fields",label:(0,s.__)("Additional Checkout Fields","ultimate-store-kit"),description:(0,s.__)("Add custom fields to the checkout and show them in orders and emails.","ultimate-store-kit"),icon:"additional-checkout-fields",badge:"Pro",proPlaceholder:!0},{id:"buy-one-get-one",label:(0,s.__)("Buy One Get One","ultimate-store-kit"),description:(0,s.__)("Run BOGO deals, free gifts and quantity discounts.","ultimate-store-kit"),icon:"buy-one-get-one",badge:"Pro",proPlaceholder:!0}],ce={"flash-sale-countdown":(0,s.__)("Show a countdown timer on products with a scheduled sale to create urgency.","ultimate-store-kit"),"back-order":(0,s.__)("Show backorder status, custom messages and a restock countdown on product pages.","ultimate-store-kit"),"pre-order":(0,s.__)("Take orders for products before they are released, with a release date countdown.","ultimate-store-kit")},xe=()=>(0,t.applyFilters)("usk.admin.placeholderModules",de),me=[{id:"dashboard",group:(0,s.__)("Dashboard","ultimate-store-kit"),items:[{id:"welcome",label:(0,s.__)("Welcome","ultimate-store-kit"),icon:"home"}]},{id:"widgets",group:(0,s.__)("Widgets","ultimate-store-kit"),items:[{id:"woocommerce-widgets",label:(0,s.__)("WooCommerce","ultimate-store-kit"),icon:"woocommerce"},{id:"edd-widgets",label:(0,s.__)("EDD","ultimate-store-kit"),icon:"edd"},{id:"other-widgets",label:(0,s.__)("Others","ultimate-store-kit"),icon:"other"}]},{id:"modules",group:(0,s.__)("Modules","ultimate-store-kit"),items:[]},{id:"support",group:(0,s.__)("Support","ultimate-store-kit"),items:[{id:"get-pro",label:(0,s.__)("Get Pro","ultimate-store-kit"),icon:"star"},{id:"about",label:(0,s.__)("About & Info","ultimate-store-kit"),icon:"info"}]}],pe=e=>{const t=`${(e.id||"").toLowerCase()} ${(e.label||"").toLowerCase()}`;return t.includes("currency")?"currency-switcher":t.includes("swatch")||t.includes("variation")?"variation-swatches":t.includes("visitor")||t.includes("live")?"live-visitor-count":t.includes("sales-notification")||t.includes("notification")?"sales-notification":t.includes("flash-sale")||t.includes("flash sale")?"flash-sale-countdown":t.includes("back-order")||t.includes("back order")||t.includes("backorder")?"back-order":t.includes("pre-order")||t.includes("pre order")||t.includes("preorder")?"pre-order":"grid"},ue=(e,t)=>{const s=xe().find(t=>t.id===e.id),a=((window.ultimateStoreKitProData||{}).pages||{})[e.id],r=e.id.startsWith("settings-")?e.id.slice(9):e.id,l=t&&t.ultimate_store_kit_other_settings||{},i="on"===l[r]||"yes"===l[r]?"on":"off";return{description:a&&a.description||s&&s.description||ce[e.icon]||"",status:i}},he=window.ultimateStoreKitAdminData||{},be="ultimate_store_kit_active_modules",ge="ultimate_store_kit_edd_modules",fe="ultimate_store_kit_general_modules",je=(e,t,s)=>{let a=0,r=0;return(e||[]).forEach(e=>{"checkbox"===e.type&&(r++,ne(e,(t||{})[e.name],s)&&a++)}),{active:a,total:r,percent:r?Math.round(a/r*100):0}},_e=({icon:e,accent:t,value:s,label:r,pill:l,pillTone:i})=>(0,a.jsxs)("div",{className:"rounded-card border border-solid border-[#e9e9ed] bg-white p-[18px] transition-all duration-200 hover:-translate-y-[3px] hover:shadow-lift",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[(0,a.jsx)(Z,{icon:e,accent:t,size:"lg",iconSize:20}),l?(0,a.jsx)(te,{tone:i,children:l}):null]}),(0,a.jsx)("div",{className:"mt-[14px] text-[34px] font-black leading-none tracking-[-.03em] text-[#0f1115]",children:s}),(0,a.jsx)("div",{className:"mt-2 text-[12.5px] font-medium text-[#6c6c75]",children:r})]}),ke=({icon:e,accent:t,metric:r,label:l})=>(0,a.jsxs)("div",{className:"rounded-panel border border-solid border-[#e9e9ed] bg-white px-[18px] py-4",children:[(0,a.jsxs)("div",{className:"flex items-center gap-[10px]",children:[(0,a.jsx)(Z,{icon:e,accent:t,size:"md",iconSize:16}),(0,a.jsxs)("div",{children:[(0,a.jsxs)("div",{className:"text-[22px] font-black leading-none tracking-[-.02em] text-[#0f1115]",children:[r.percent,"%"]}),(0,a.jsx)("div",{className:"mt-[3px] text-xs font-semibold text-[#52525b]",children:l})]})]}),(0,a.jsx)(Y,{percent:r.percent,className:"mt-[13px]",color:{green:"#16a34a",violet:"#8b5cf6",amber:"#f59e0b",blue:"#2f5bea"}[t]}),(0,a.jsx)("div",{className:"mt-[7px] text-[11px] text-[#6d6d74]",children:(0,s.sprintf)(/* translators: 1: enabled widgets, 2: all widgets. */ /* translators: 1: enabled widgets, 2: all widgets. */
     2(0,s.__)("%1$d of %2$d enabled","ultimate-store-kit"),r.active,r.total)})]}),we=({icon:e,accent:t,title:s,sub:r,onClick:l,href:i,external:o})=>{const n="group flex cursor-pointer flex-col gap-[10px] rounded-panel border border-solid border-[#ececf0] bg-white p-4 text-left no-underline transition-all duration-200 hover:-translate-y-[2px] hover:border-[#fbc8cd] hover:shadow-lift",d=(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(Z,{icon:e,accent:t,size:"md",iconSize:16}),(0,a.jsxs)("span",{children:[(0,a.jsx)("span",{className:"block text-[14px] font-bold text-[#0f1115]",children:s}),(0,a.jsx)("span",{className:"mt-0.5 block text-[12px] text-[#8a8a93]",children:r})]})]});return i?(0,a.jsx)("a",{href:i,className:n,target:o?"_blank":void 0,rel:o?"noopener noreferrer":void 0,children:d}):(0,a.jsx)("button",{type:"button",onClick:l,className:n,children:d})},ve={ok:"bg-[#22c55e]",warn:"bg-[#f59e0b]",bad:"bg-[#ef4444]"},ye={ok:"text-[#15803d]",warn:"text-[#b45309]",bad:"text-[#b91c1c]"},Ne=({release:e,current:t,color:r})=>(0,a.jsxs)("li",{className:"relative m-0 border-0 pb-4 pl-5 last:pb-0",children:[(0,a.jsx)("span",{className:"absolute left-0 top-[6px] h-2 w-2 rounded-full",style:{background:r}}),(0,a.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,a.jsxs)("span",{className:"flex items-center gap-2 text-[14px] font-bold text-[#0f1115]",children:["v",e.version,t?(0,a.jsx)("span",{className:"rounded-full bg-gradient-brand px-2 py-[3px] text-[10px] font-extrabold uppercase tracking-[.06em] text-white",children:(0,s.__)("Current","ultimate-store-kit")}):null]}),e.date?(0,a.jsx)("span",{className:"text-[12px] text-[#8a8a93]",children:e.date}):null]}),e.summary?(0,a.jsx)("p",{className:"m-0 mt-1 line-clamp-2 text-[12.5px] leading-relaxed text-[#52525b]",children:e.summary}):null,(0,a.jsxs)("div",{className:"mt-2 flex flex-wrap gap-1.5",children:[e.counts?.added?(0,a.jsx)(te,{tone:"green",children:(0,s.sprintf)(/* translators: %d: count. */ /* translators: %d: count. */(0,s.__)("%d added","ultimate-store-kit"),e.counts.added)}):null,e.counts?.fixed?(0,a.jsx)(te,{tone:"blue",children:(0,s.sprintf)(/* translators: %d: count. */ /* translators: %d: count. */(0,s.__)("%d fixed","ultimate-store-kit"),e.counts.fixed)}):null,e.counts?.updated?(0,a.jsx)(te,{tone:"amber",children:(0,s.sprintf)(/* translators: %d: count. */ /* translators: %d: count. */(0,s.__)("%d updated","ultimate-store-kit"),e.counts.updated)}):null]})]}),Se=["#22c55e","#2f5bea","#8b5cf6","#f59e0b","#14b8a6"],Me=({widgets:r,settings:l,isPro:i=!1,moduleItems:o=[],onNavigate:n})=>{const d=(0,e.useMemo)(()=>{const e=je(r[be],l[be],i),t=je(r[ge],l[ge],i),s=je(r[fe],l[fe],i),a=o.filter(e=>"on"===ue(e,l).status).length;return{wc:e,edd:t,other:s,total:e.total+t.total+s.total,active:e.active+t.active+s.active,modulesActive:a}},[r,l,i,o]),c=[];"on"===((l.ultimate_store_kit_other_settings||{})["asset-manager"]||"off")||c.push({key:"performance",icon:H,accent:"green",title:(0,s.__)("Optimize asset loading","ultimate-store-kit"),text:(0,s.__)("Turn on Asset Optimization so pages only load the CSS/JS they use.","ultimate-store-kit"),link:(0,s.__)("Open performance","ultimate-store-kit"),page:"performance"}),Number(he.templatesActive)||c.push({key:"templates",icon:N,accent:"amber",title:(0,s.__)("Design your shop pages","ultimate-store-kit"),text:(0,s.__)("Build shop, product, cart and checkout templates with Elementor.","ultimate-store-kit"),link:(0,s.__)("Open Template Builder","ultimate-store-kit"),href:he.templateBuilderUrl}),o.length&&!d.modulesActive&&c.push({key:"modules",icon:y,accent:"violet",title:(0,s.__)("Switch on a store module","ultimate-store-kit"),text:(0,s.__)("Size charts, badges, free shipping bar, quick checkout and more.","ultimate-store-kit"),link:(0,s.__)("Browse modules","ultimate-store-kit"),page:"modules"});const x=(0,t.applyFilters)("usk.admin.welcomeExtra",null),m=!!(0,t.applyFilters)("usk.admin.pages",{}).license,p=he.releases||[],u=he.system||[],h=e=>n&&n(e);return(0,a.jsxs)("div",{children:[(0,a.jsxs)("div",{className:"mb-[22px]",children:[(0,a.jsx)("h1",{className:"m-0 text-[28px] font-extrabold tracking-[-.02em] text-[#0f1115]",children:he.userName?(0,s.sprintf)(/* translators: %s: user display name. */ /* translators: %s: user display name. */
     3(0,s.__)("Welcome back, %s","ultimate-store-kit"),he.userName):(0,s.__)("Welcome back","ultimate-store-kit")}),(0,a.jsx)("p",{className:"m-0 mt-1.5 text-[13.5px] text-[#6c6c75]",children:(0,s.__)("Here's what's happening across your store.","ultimate-store-kit")})]}),(0,a.jsxs)("div",{className:"grid grid-cols-4 gap-[14px] max-[1024px]:grid-cols-2 max-[560px]:grid-cols-1",children:[(0,a.jsx)(_e,{icon:v,accent:"blue",value:d.total,label:(0,s.__)("Total widgets","ultimate-store-kit")}),(0,a.jsx)(_e,{icon:M,accent:"green",value:d.active,label:(0,s.__)("Widgets enabled","ultimate-store-kit"),pill:(0,s.__)("live","ultimate-store-kit"),pillTone:"blue"}),(0,a.jsx)(_e,{icon:y,accent:"violet",value:d.modulesActive,label:(0,s.__)("Modules active","ultimate-store-kit"),pill:(0,s.sprintf)(/* translators: %d: number of modules. */ /* translators: %d: number of modules. */(0,s.__)("of %d","ultimate-store-kit"),o.length)}),(0,a.jsx)(_e,{icon:N,accent:"amber",value:he.templatesCount||0,label:(0,s.__)("Builder templates","ultimate-store-kit"),pill:Number(he.templatesActive)>0?(0,s.sprintf)(/* translators: %d: active templates. */ /* translators: %d: active templates. */(0,s.__)("%d active","ultimate-store-kit"),Number(he.templatesActive)):null,pillTone:"green"})]}),(0,a.jsxs)("div",{className:"mt-[14px] grid grid-cols-3 gap-[14px] max-[1024px]:grid-cols-2 max-[640px]:grid-cols-1",children:[(0,a.jsx)(ke,{icon:V,accent:"green",metric:d.wc,label:(0,s.__)("WooCommerce widgets","ultimate-store-kit")}),(0,a.jsx)(ke,{icon:K,accent:"violet",metric:d.edd,label:(0,s.__)("EDD widgets","ultimate-store-kit")}),(0,a.jsx)(ke,{icon:G,accent:"amber",metric:d.other,label:(0,s.__)("Other widgets","ultimate-store-kit")})]}),(0,a.jsxs)("div",{className:"mt-[14px] grid grid-cols-[minmax(0,1fr)_400px] items-start gap-[14px] max-[1180px]:grid-cols-1",children:[(0,a.jsxs)("div",{className:"flex min-w-0 flex-col gap-[14px]",children:[(0,a.jsx)(Q,{title:(0,s.__)("Quick actions","ultimate-store-kit"),children:(0,a.jsxs)("div",{className:"grid grid-cols-3 gap-[10px] max-[720px]:grid-cols-2 max-[440px]:grid-cols-1",children:[(0,a.jsx)(we,{icon:v,accent:"blue",title:(0,s.__)("Widgets","ultimate-store-kit"),sub:(0,s.sprintf)(/* translators: %d: number of widgets. */ /* translators: %d: number of widgets. */(0,s.__)("Toggle %d elements","ultimate-store-kit"),d.total),onClick:()=>h("woocommerce-widgets")}),(0,a.jsx)(we,{icon:y,accent:"violet",title:(0,s.__)("Modules","ultimate-store-kit"),sub:(0,s.sprintf)(/* translators: %d: number of modules. */ /* translators: %d: number of modules. */(0,s.__)("%d store features","ultimate-store-kit"),o.length),onClick:()=>h("modules")}),(0,a.jsx)(we,{icon:N,accent:"amber",title:(0,s.__)("Template Builder","ultimate-store-kit"),sub:(0,s.__)("Shop, product & cart pages","ultimate-store-kit"),href:he.templateBuilderUrl}),m?(0,a.jsx)(we,{icon:S,accent:"green",title:(0,s.__)("License","ultimate-store-kit"),sub:i?(0,s.__)("Pro is active","ultimate-store-kit"):(0,s.__)("Activate Pro","ultimate-store-kit"),onClick:()=>h("license")}):(0,a.jsx)(we,{icon:M,accent:"rose",title:(0,s.__)("Get Pro","ultimate-store-kit"),sub:(0,s.__)("Unlock every module","ultimate-store-kit"),onClick:()=>h("get-pro")}),(0,a.jsx)(we,{icon:z,accent:"teal",title:(0,s.__)("Documentation","ultimate-store-kit"),sub:(0,s.__)("Guides & tutorials","ultimate-store-kit"),href:"https://bdthemes.com/knowledge-base/ultimate-store-kit/",external:!0}),(0,a.jsx)(we,{icon:L,accent:"slate",title:(0,s.__)("Support","ultimate-store-kit"),sub:(0,s.__)("Get help from the team","ultimate-store-kit"),href:"https://bdthemes.com/support/",external:!0})]})}),x?(0,a.jsx)(x,{}):null,p.length?(0,a.jsx)(Q,{title:(0,s.__)("Recent activity","ultimate-store-kit"),action:(0,a.jsx)("a",{href:"https://wordpress.org/plugins/ultimate-store-kit/#developers",target:"_blank",rel:"noopener noreferrer",className:"text-[13px] font-bold text-[#e30c1d] no-underline hover:underline",children:(0,s.__)("View all","ultimate-store-kit")}),children:(0,a.jsx)("ul",{className:"m-0 list-none p-0",children:p.map((e,t)=>(0,a.jsx)(Ne,{release:e,current:e.version===he.version,color:Se[t%Se.length]},e.version))})}):null]}),(0,a.jsxs)("div",{className:"flex min-w-0 flex-col gap-[14px]",children:[c.length?(0,a.jsx)(Q,{title:(0,s.__)("Suggestions","ultimate-store-kit"),action:(0,a.jsx)(te,{tone:"blue",children:(0,s.sprintf)(/* translators: %d: number of suggestions. */ /* translators: %d: number of suggestions. */(0,s.__)("%d new","ultimate-store-kit"),c.length)}),children:(0,a.jsx)("div",{className:"flex flex-col gap-2",children:c.map(e=>{const t=(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(Z,{icon:e.icon,accent:e.accent,size:"md",iconSize:16}),(0,a.jsxs)("span",{className:"min-w-0 flex-1",children:[(0,a.jsx)("span",{className:"block text-[13.5px] font-bold text-[#0f1115]",children:e.title}),(0,a.jsx)("span",{className:"mt-0.5 block text-[12px] leading-relaxed text-[#6c6c75]",children:e.text}),(0,a.jsxs)("span",{className:"mt-1.5 inline-flex items-center gap-1 text-[12.5px] font-bold text-[#e30c1d]",children:[e.link,(0,a.jsx)(B,{size:13})]})]})]}),s="box-border flex w-full cursor-pointer gap-3 rounded-panel border border-solid border-[#ececf0] bg-white p-3 text-left no-underline transition-colors hover:border-[#fbc8cd]";return e.href?(0,a.jsx)("a",{href:e.href,className:s,children:t},e.key):(0,a.jsx)("button",{type:"button",onClick:()=>h(e.page),className:s,children:t},e.key)})})}):null,i?(0,a.jsxs)("div",{className:"relative overflow-hidden rounded-card bg-[linear-gradient(135deg,#3a0a10,#8f0b16_55%,#e30c1d)] p-[22px] text-white",children:[(0,a.jsx)("span",{className:"absolute -right-10 -top-10 h-40 w-40 rounded-full bg-white/10","aria-hidden":"true"}),(0,a.jsxs)("span",{className:"inline-flex items-center gap-1.5 rounded-full bg-white/15 px-2.5 py-1 text-[11px] font-bold uppercase tracking-[.06em]",children:[(0,a.jsx)(E,{size:12}),(0,s.__)("What's new","ultimate-store-kit")]}),(0,a.jsx)("h3",{className:"m-0 mt-3 text-[20px] font-extrabold text-white",children:(0,s.sprintf)(/* translators: %s: version. */ /* translators: %s: version. */(0,s.__)("Ultimate Store Kit %s","ultimate-store-kit"),he.version)}),(0,a.jsx)("p",{className:"m-0 mt-1.5 line-clamp-3 text-[13px] leading-relaxed text-white/80",children:p[0]?.summary||(0,s.__)("See everything added, fixed and improved in this update.","ultimate-store-kit")}),(0,a.jsxs)("button",{type:"button",onClick:()=>h("modules"),className:"mt-4 inline-flex cursor-pointer items-center gap-1.5 rounded-full border-0 bg-white px-4 py-2 text-[13px] font-bold text-[#e30c1d]",children:[(0,s.__)("Explore modules","ultimate-store-kit"),(0,a.jsx)(D,{size:14})]})]}):(0,a.jsxs)("div",{className:"relative overflow-hidden rounded-card bg-[linear-gradient(135deg,#3a0a10,#8f0b16_55%,#e30c1d)] p-[22px] text-white",children:[(0,a.jsx)("span",{className:"absolute -right-10 -top-10 h-40 w-40 rounded-full bg-white/10","aria-hidden":"true"}),(0,a.jsxs)("span",{className:"inline-flex items-center gap-1.5 rounded-full bg-white/15 px-2.5 py-1 text-[11px] font-bold uppercase tracking-[.06em]",children:[(0,a.jsx)(M,{size:12}),(0,s.__)("Go Pro","ultimate-store-kit")]}),(0,a.jsx)("h3",{className:"m-0 mt-3 text-[20px] font-extrabold text-white",children:(0,s.__)("Sell more with Pro modules","ultimate-store-kit")}),(0,a.jsx)("p",{className:"m-0 mt-1.5 text-[13px] leading-relaxed text-white/80",children:(0,s.__)("Partial payments, cart recovery, size charts, badges, upsells, currency switcher and every Pro widget.","ultimate-store-kit")}),(0,a.jsxs)("a",{href:"https://storekit.pro/pricing/",target:"_blank",rel:"noopener noreferrer",className:"mt-4 inline-flex items-center gap-1.5 rounded-full bg-white px-4 py-2 text-[13px] font-bold text-[#e30c1d] no-underline",children:[(0,s.__)("Get Pro","ultimate-store-kit"),(0,a.jsx)(D,{size:14})]})]}),u.length?(0,a.jsx)(Q,{title:(0,s.__)("System status","ultimate-store-kit"),action:(0,a.jsx)("button",{type:"button",onClick:()=>h("about"),className:"cursor-pointer border-0 bg-transparent p-0 text-[13px] font-bold text-[#e30c1d] hover:underline",children:(0,s.__)("Details","ultimate-store-kit")}),children:(0,a.jsx)("ul",{className:"m-0 list-none p-0",children:u.map(e=>(0,a.jsxs)("li",{className:"m-0 flex items-center justify-between gap-3 border-0 border-b border-solid border-[#f0f0f3] py-[9px] text-[13px] last:border-b-0",children:[(0,a.jsx)("span",{className:"text-[#3f3f46]",children:e.label}),(0,a.jsxs)("span",{className:`flex items-center gap-1.5 font-bold ${ye[e.status]||ye.ok}`,children:[(0,a.jsx)("span",{className:`h-[7px] w-[7px] rounded-full ${ve[e.status]||ve.ok}`}),e.value]})]},e.label))})}):null,(0,a.jsx)(Q,{title:(0,s.__)("Resources & help","ultimate-store-kit"),children:(0,a.jsx)("div",{className:"flex flex-col gap-2",children:[{icon:z,accent:"blue",title:(0,s.__)("Documentation","ultimate-store-kit"),sub:(0,s.__)("Guides & tutorials","ultimate-store-kit"),href:"https://bdthemes.com/knowledge-base/ultimate-store-kit/"},{icon:I,accent:"rose",title:(0,s.__)("What's new","ultimate-store-kit"),sub:(0,s.__)("Release notes","ultimate-store-kit"),href:"https://wordpress.org/plugins/ultimate-store-kit/#developers"},{icon:L,accent:"violet",title:(0,s.__)("Support","ultimate-store-kit"),sub:(0,s.__)("Get help from the team","ultimate-store-kit"),href:"https://bdthemes.com/support/"},{icon:J,accent:"green",title:(0,s.__)("Request a feature","ultimate-store-kit"),sub:(0,s.__)("Tell us what to build next","ultimate-store-kit"),href:"https://feedback.bdthemes.com/b/6vr2250l/feature-requests/"}].map(e=>(0,a.jsxs)("a",{href:e.href,target:"_blank",rel:"noopener noreferrer",className:"flex items-center gap-3 rounded-panel border border-solid border-[#ececf0] px-3 py-[10px] no-underline transition-colors hover:border-[#fbc8cd]",children:[(0,a.jsx)(Z,{icon:e.icon,accent:e.accent,size:"md",iconSize:16}),(0,a.jsxs)("span",{className:"flex-1",children:[(0,a.jsx)("span",{className:"block text-[13.5px] font-bold text-[#0f1115]",children:e.title}),(0,a.jsx)("span",{className:"block text-[12px] text-[#8a8a93]",children:e.sub})]}),(0,a.jsx)("span",{className:"text-[#a1a1aa]",children:(0,a.jsx)(O,{size:14})})]},e.title))})})]})]})]})},Ce=({name:e})=>{const s=(0,t.applyFilters)("usk.admin.iconMap",_),r=s[e]||s.info;return(0,a.jsx)(r,{})},Pe=({items:t,settings:r,isPro:l,onNavigate:i})=>{const[o,n]=(0,e.useState)(""),[d,c]=(0,e.useState)("all"),x=(0,e.useMemo)(()=>t.map(e=>({...e,...ue(e,r)})),[t,r]),m=(0,e.useMemo)(()=>({all:x.length,active:x.filter(e=>"on"===e.status).length,off:x.filter(e=>"on"!==e.status).length}),[x]),p=x.filter(e=>{if("active"===d&&"on"!==e.status)return!1;if("off"===d&&"on"===e.status)return!1;const t=o.trim().toLowerCase();return!t||`${e.label} ${e.description}`.toLowerCase().includes(t)}),u=[{key:"all",label:(0,s.__)("All","ultimate-store-kit")},{key:"active",label:(0,s.__)("Active","ultimate-store-kit")},{key:"off",label:(0,s.__)("Off","ultimate-store-kit")}];return(0,a.jsxs)("div",{children:[(0,a.jsxs)("div",{className:"mb-[18px] flex flex-wrap items-end justify-between gap-3",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("h1",{className:"m-0 text-[26px] font-extrabold tracking-[-.02em] text-[#0f1115]",children:(0,s.__)("Modules","ultimate-store-kit")}),(0,a.jsx)("p",{className:"m-0 mt-1.5 text-[13.5px] text-[#6c6c75]",children:(0,s.sprintf)(/* translators: 1: active modules, 2: all modules. */ /* translators: 1: active modules, 2: all modules. */
     4(0,s.__)("%1$d of %2$d active - store features that work across your whole shop.","ultimate-store-kit"),m.active,m.all)})]}),(0,a.jsxs)("span",{className:"inline-flex items-center gap-[7px] rounded-full border border-solid border-[#c6f0d4] bg-[#ecfdf3] px-3 py-[7px] text-[12.5px] font-bold text-[#15803d]",children:[(0,a.jsx)("span",{className:"h-2 w-2 rounded-full bg-[#22c55e]"}),(0,s.sprintf)(/* translators: %d: number of active modules. */ /* translators: %d: number of active modules. */
     5(0,s.__)("%d active","ultimate-store-kit"),m.active)]})]}),(0,a.jsxs)("div",{className:"mb-[14px] flex flex-wrap items-center justify-between gap-3 rounded-card border border-solid border-[#e9e9ed] bg-white px-[14px] py-3",children:[(0,a.jsxs)("label",{className:"relative flex w-full max-w-[320px] items-center",children:[(0,a.jsx)("span",{className:"sr-only",children:(0,s.__)("Search modules","ultimate-store-kit")}),(0,a.jsx)("span",{className:"pointer-events-none absolute left-3 text-[#8a8a93]",children:(0,a.jsx)(A,{size:15})}),(0,a.jsx)("input",{type:"search",value:o,onChange:e=>n(e.target.value),placeholder:(0,s.__)("Search modules…","ultimate-store-kit"),className:"!m-0 box-border w-full !rounded-full !border !border-solid !border-[#e6e6ea] !bg-[#fafbfc] !py-2 !pl-9 !pr-3 text-[13.5px] !shadow-none focus:!border-[#e30c1d]"})]}),(0,a.jsx)("div",{className:"flex items-center gap-1 rounded-full bg-[#f4f5f7] p-1",role:"group","aria-label":(0,s.__)("Filter modules","ultimate-store-kit"),children:u.map(e=>(0,a.jsxs)("button",{type:"button",onClick:()=>c(e.key),"aria-pressed":d===e.key,className:"cursor-pointer rounded-full border-0 px-3 py-1.5 text-[12.5px] font-bold transition-colors "+(d===e.key?"bg-gradient-brand text-white shadow-glow":"bg-transparent text-[#52525b] hover:text-[#18181b]"),children:[e.label," ",(0,a.jsx)("span",{className:d===e.key?"opacity-80":"text-[#8a8a93]",children:m[e.key]})]},e.key))})]}),0===p.length?(0,a.jsx)("div",{className:"rounded-card border border-solid border-[#e9e9ed] bg-white px-6 py-14 text-center text-[13.5px] text-[#6c6c75]",children:(0,s.__)("No modules match your search.","ultimate-store-kit")}):(0,a.jsx)("div",{className:"grid grid-cols-3 gap-[14px] max-[1180px]:grid-cols-2 max-[700px]:grid-cols-1",children:p.map(e=>{const t=e.proPlaceholder&&!l;return(0,a.jsxs)("button",{type:"button",onClick:()=>i(e.id),className:"group flex cursor-pointer flex-col gap-3 rounded-card border border-solid border-[#e9e9ed] bg-white p-[18px] text-left transition-all duration-200 hover:-translate-y-[2px] hover:border-[#fbc8cd] hover:shadow-lift",children:[(0,a.jsxs)("span",{className:"flex w-full items-start justify-between gap-3",children:[(0,a.jsx)("span",{className:"grid h-11 w-11 shrink-0 place-items-center rounded-tile bg-[#fff1f2] text-[#e30c1d] [&_svg]:h-5 [&_svg]:w-5","aria-hidden":"true",children:(0,a.jsx)(Ce,{name:e.icon})}),(0,a.jsxs)("span",{className:"flex items-center gap-1.5",children:[t||"Pro"===e.badge?(0,a.jsx)(se,{}):null,"on"===e.status?(0,a.jsx)(te,{tone:"green",children:(0,s.__)("Active","ultimate-store-kit")}):"off"===e.status?(0,a.jsx)(te,{children:(0,s.__)("Off","ultimate-store-kit")}):null]})]}),(0,a.jsxs)("span",{className:"block",children:[(0,a.jsx)("span",{className:"block text-[15px] font-bold text-[#0f1115]",children:e.label}),e.description?(0,a.jsx)("span",{className:"mt-1 line-clamp-2 block text-[12.5px] leading-relaxed text-[#6c6c75]",children:e.description}):null]}),(0,a.jsxs)("span",{className:"mt-auto flex items-center gap-1 text-[12.5px] font-bold text-[#e30c1d]",children:[t?(0,s.__)("See what it does","ultimate-store-kit"):(0,s.__)("Configure","ultimate-store-kit"),(0,a.jsx)("span",{className:"transition-transform group-hover:translate-x-0.5",children:(0,a.jsx)(D,{size:14})})]})]},e.id)})})]})},ze=({checked:e,onChange:t,disabled:s})=>{const r={position:"absolute",inset:0,borderRadius:"9999px",background:e?"#E30C1D":"#cbd5e1",transition:"background 0.25s cubic-bezier(0.4, 0, 0.2, 1)",opacity:s?.45:1,pointerEvents:"none",willChange:"background"},l={position:"absolute",top:"50%",left:3,width:16,height:16,borderRadius:"9999px",background:"#fff",boxShadow:"0 1px 4px rgba(0,0,0,0.25)",transform:e?"translate(18px, -50%)":"translate(0px, -50%)",transition:"transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.2s ease",pointerEvents:"none",zIndex:1,willChange:"transform"},i={position:"relative",display:"inline-flex",alignItems:"center",width:40,height:22,cursor:s?"not-allowed":"pointer",flexShrink:0,userSelect:"none"};return(0,a.jsxs)("label",{style:i,children:[(0,a.jsx)("input",{type:"checkbox",checked:e,disabled:s,onChange:t,style:{position:"absolute",opacity:0,width:0,height:0,margin:0,padding:0,pointerEvents:"none"}}),(0,a.jsx)("span",{style:r}),(0,a.jsx)("span",{style:l})]})},Ae="inline-flex cursor-pointer items-center gap-1.5 rounded-md border border-transparent px-[18px] py-2 text-[13px] font-semibold leading-snug no-underline transition-all duration-200 disabled:cursor-not-allowed disabled:opacity-60",Le=`${Ae} border-uks-brand bg-uks-brand text-white hover:bg-uks-brand-dark`,Ee=`${Ae} px-6 py-2.5 text-sm`,Be=`${Ae} px-3 py-2.5 text-xs`,$e="flex items-center justify-between border-b border-slate-100 py-2.5 last:border-b-0",De="flex items-center gap-2 text-[13px] font-medium text-slate-700",Oe="min-w-[120px] w-full block max-w-full rounded-md border border-slate-200 bg-white px-3 py-1.5 text-[13px] text-slate-700 focus:border-uks-brand focus:outline-none focus:ring-2 focus:ring-uks-brand disabled:cursor-not-allowed disabled:opacity-50",Te="shrink-0 whitespace-nowrap rounded-md border border-solid border-gray-100 text-uks-brand px-2 py-0.5 text-[10px] font-bold shadow-sm bg-white",Fe=window.ultimateStoreKitAdminData||{},Re="ultimate_store_kit_other_settings",We="asset-manager",Ue=({settings:t,onSave:r,saving:l})=>{const i="on"===(t&&t[Re]||{})[We],[o,n]=(0,e.useState)(Fe.assetStats||null),[d,c]=(0,e.useState)(!1),[x,m]=(0,e.useState)(""),p=o?(o.css||0)+(o.js||0):0,u="px-5 py-4 max-[760px]:border-0 max-[760px]:border-t max-[760px]:border-solid max-[760px]:border-[#eef0f3]",h="m-0 text-[11px] font-bold uppercase tracking-[.08em] text-[#8a8a93]";return(0,a.jsxs)("div",{children:[(0,a.jsxs)("div",{className:"mb-[18px]",children:[(0,a.jsx)("h1",{className:"m-0 text-[28px] font-extrabold tracking-[-.02em] text-[#0f1115]",children:(0,s.__)("Asset Optimization","ultimate-store-kit")}),(0,a.jsx)("p",{className:"m-0 mt-1.5 text-[13.5px] text-[#6c6c75]",children:(0,s.__)("Load Ultimate Store Kit files only where they are used, and combine widget CSS and JS into files stored in your uploads folder.","ultimate-store-kit")})]}),(0,a.jsxs)("section",{className:"overflow-hidden rounded-card border border-solid border-[#e9e9ed] bg-white",children:[(0,a.jsxs)("div",{className:"flex items-center gap-4 px-5 py-5",children:[(0,a.jsx)(Z,{icon:H,accent:i?"green":"teal",size:"xl",iconSize:20}),(0,a.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,a.jsx)("h2",{className:"m-0 text-[16px] font-bold text-[#0f1115]",children:(0,s.__)("Asset Manager","ultimate-store-kit")}),(0,a.jsx)("p",{className:"m-0 mt-1 max-w-[560px] text-[13px] leading-relaxed text-[#6c6c75]",children:(0,s.__)("Joins the CSS and JS of the widgets each page uses into combined files, and skips the store-wide files on pages without an Ultimate Store Kit widget.","ultimate-store-kit")})]}),(0,a.jsx)("span",{title:l?(0,s.__)("Saving…","ultimate-store-kit"):void 0,children:(0,a.jsx)(ze,{checked:i,disabled:l,onChange:()=>{const e=t&&t[Re]||{};r(Re,{...Array.isArray(e)?{}:e,[We]:i?"off":"on"})}})})]}),(0,a.jsxs)("div",{className:"grid grid-cols-3 border-0 border-t border-solid border-[#eef0f3] bg-[#fafbfc] max-[760px]:grid-cols-1",children:[(0,a.jsxs)("div",{className:u,children:[(0,a.jsx)("p",{className:h,children:(0,s.__)("Status","ultimate-store-kit")}),(0,a.jsxs)("p",{className:"m-0 mt-1.5 flex items-center gap-2 text-[13.5px] font-bold text-[#0f1115]",children:[(0,a.jsx)("span",{className:"h-2 w-2 rounded-full "+(i?"bg-[#22c55e]":"bg-[#a1a1aa]")}),i?(0,s.__)("Enabled","ultimate-store-kit"):(0,s.__)("Disabled","ultimate-store-kit")]})]}),(0,a.jsxs)("div",{className:`${u} border-0 border-l border-solid border-[#eef0f3] max-[760px]:border-l-0`,children:[(0,a.jsx)("p",{className:h,children:(0,s.__)("Combined files","ultimate-store-kit")}),(0,a.jsx)("p",{className:"m-0 mt-1.5 text-[13.5px] font-bold text-[#0f1115]",children:p?(0,s.sprintf)(/* translators: 1: CSS files, 2: JS files, 3: total size. */ /* translators: 1: CSS files, 2: JS files, 3: total size. */
     6(0,s.__)("%1$d CSS · %2$d JS · %3$s","ultimate-store-kit"),o.css||0,o.js||0,(b=o.bytes,b?b>=1048576?`${(b/1048576).toFixed(1)} MB`:`${Math.max(1,Math.round(b/1024))} KB`:"0 KB")):"—"}),o&&o.version?(0,a.jsx)("p",{className:"m-0 mt-0.5 text-[11.5px] text-[#8a8a93]",children:(0,s.sprintf)(/* translators: %s: short fingerprint of the current file set. */ /* translators: %s: short fingerprint of the current file set. */(0,s.__)("Set %s","ultimate-store-kit"),o.version)}):null]}),(0,a.jsxs)("div",{className:`${u} border-0 border-l border-solid border-[#eef0f3] max-[760px]:border-l-0`,children:[(0,a.jsx)("p",{className:h,children:(0,s.__)("Auto-regenerate","ultimate-store-kit")}),(0,a.jsx)("p",{className:"m-0 mt-1.5 text-[12.5px] leading-relaxed text-[#52525b]",children:(0,s.__)("Combined files rebuild by themselves after a plugin update or when Elementor's files are cleared.","ultimate-store-kit")}),(0,a.jsx)("button",{type:"button",onClick:()=>{c(!0),m(""),fetch((Fe.restUrl||"")+"optimization/regenerate",{method:"POST",headers:{"Content-Type":"application/json","X-WP-Nonce":Fe.restNonce||""}}).then(e=>{if(!e.ok)throw e;return e.json()}).then(e=>{const t=e?.data||e||{};t.stats&&n(t.stats),m(t.message||(0,s.__)("Combined files cleared.","ultimate-store-kit"))}).catch(()=>m((0,s.__)("The combined files could not be cleared.","ultimate-store-kit"))).finally(()=>c(!1))},disabled:d,className:"mt-2 cursor-pointer rounded-full border border-solid border-[#e2e2e6] bg-white px-3 py-1.5 text-[12.5px] font-bold text-[#27272a] transition-colors hover:border-[#e30c1d] hover:text-[#e30c1d] disabled:cursor-wait disabled:opacity-60",children:d?(0,s.__)("Clearing…","ultimate-store-kit"):(0,s.__)("Regenerate files","ultimate-store-kit")}),x?(0,a.jsx)("p",{className:"m-0 mt-2 text-[12px] text-[#15803d]",role:"status",children:x}):null]})]})]}),(0,a.jsx)(Q,{title:(0,s.__)("What changes when it is on","ultimate-store-kit"),className:"mt-[14px]",children:(0,a.jsx)("ul",{className:"m-0 grid list-none grid-cols-3 gap-[10px] p-0 max-[900px]:grid-cols-1",children:[{icon:M,accent:"green",title:(0,s.__)("Store-wide files only where needed","ultimate-store-kit"),text:(0,s.__)("The site stylesheet and script, the quick-view modal and the slide-in panel load only on pages with an Ultimate Store Kit widget.","ultimate-store-kit")},{icon:G,accent:"violet",title:(0,s.__)("Fewer files per page","ultimate-store-kit"),text:(0,s.__)("The CSS and JS of the widgets on a page are joined into one stylesheet and one script, shared by every page with the same widgets.","ultimate-store-kit")},{icon:T,accent:"blue",title:(0,s.__)("Editor unchanged","ultimate-store-kit"),text:(0,s.__)("The Elementor editor and preview keep loading the separate files, so editing works as before. Switch it off at any time to go back.","ultimate-store-kit")}].map(e=>(0,a.jsxs)("li",{className:"m-0 flex gap-3 rounded-panel border border-solid border-[#ececf0] p-4",children:[(0,a.jsx)(Z,{icon:e.icon,accent:e.accent,size:"md",iconSize:16}),(0,a.jsxs)("span",{children:[(0,a.jsx)("span",{className:"block text-[13.5px] font-bold text-[#0f1115]",children:e.title}),(0,a.jsx)("span",{className:"mt-1 block text-[12.5px] leading-relaxed text-[#6c6c75]",children:e.text})]})]},e.title))})})]});var b},Ie=window.ultimateStoreKitAdminData||{},He=e=>{try{const t=new window.URL(String(e||""),window.location.href);return"https:"===t.protocol||"http:"===t.protocol?t.href:""}catch(e){return""}},Ve=async(e,t={})=>{const a=await window.fetch((Ie.restUrl||"")+e,{credentials:"same-origin",...t,headers:{"Content-Type":"application/json","X-WP-Nonce":Ie.restNonce||"",...t.headers||{}}});let r=null;try{r=await a.json()}catch(e){r=null}if(!a.ok)throw new Error(r&&r.message||(0,s.__)("Something went wrong. Reload the page and try again.","ultimate-store-kit"));return r||{}},Ke=({icon:t})=>{const[s,r]=(0,e.useState)(!1),l=He(t);return l&&!s?(0,a.jsx)("img",{src:l,alt:"",width:"48",height:"48",onError:()=>r(!0),className:"h-12 w-12 flex-none rounded-tile object-cover"}):(0,a.jsx)("span",{className:"grid h-12 w-12 flex-none place-items-center rounded-tile bg-[#fff1f2] text-[#e30c1d]","aria-hidden":"true",children:(0,a.jsx)(U,{size:22})})},Ge={active:{tone:"green",label:(0,s.__)("Active","ultimate-store-kit")},installed:{tone:"blue",label:(0,s.__)("Installed","ultimate-store-kit")},not_installed:{tone:"neutral",label:(0,s.__)("Not installed","ultimate-store-kit")}},Je=({onNotify:t})=>{const[r,l]=(0,e.useState)(null),[i,o]=(0,e.useState)(!1),[n,d]=(0,e.useState)(""),[c,x]=(0,e.useState)({slug:"",action:""}),m=(e,s="success")=>t&&t({type:s,message:e}),p=(0,e.useCallback)(async()=>{d("");try{const e=await Ve("other-plugins");l(e.plugins||[]),o(!!e.canInstall)}catch(e){d(e.message),l(e=>e||[])}},[]);(0,e.useEffect)(()=>{p()},[p]);const u="inline-flex cursor-pointer items-center gap-1.5 rounded-full px-3.5 py-1.5 text-[12.5px] font-bold transition-all disabled:cursor-wait disabled:opacity-60";return(0,a.jsxs)("div",{children:[(0,a.jsxs)("div",{className:"mb-[18px]",children:[(0,a.jsx)("h1",{className:"m-0 text-[28px] font-extrabold tracking-[-.02em] text-[#0f1115]",children:(0,s.__)("Other Plugins","ultimate-store-kit")}),(0,a.jsx)("p",{className:"m-0 mt-1.5 text-[13.5px] text-[#6c6c75]",children:(0,s.__)("Install companion plugins from BdThemes to extend your store.","ultimate-store-kit")})]}),n?(0,a.jsxs)("div",{className:"mb-[14px] flex items-center justify-between gap-3 rounded-panel border border-solid border-[#fecaca] bg-[#fef2f2] px-4 py-3 text-[13px] font-semibold text-[#991b1b]",role:"alert",children:[(0,a.jsx)("span",{children:n}),(0,a.jsx)("button",{type:"button",onClick:p,className:"cursor-pointer rounded-full border border-solid border-[#fecaca] bg-white px-3 py-1 text-[12.5px] font-bold text-[#991b1b]",children:(0,s.__)("Retry","ultimate-store-kit")})]}):null,null===r?(0,a.jsx)("div",{className:"grid grid-cols-3 gap-[14px] max-[1180px]:grid-cols-2 max-[700px]:grid-cols-1","aria-busy":"true","aria-label":(0,s.__)("Loading plugins…","ultimate-store-kit"),children:Array.from({length:6}).map((e,t)=>(0,a.jsx)("div",{className:"h-[190px] animate-pulse rounded-card border border-solid border-[#e9e9ed] bg-white"},t))}):(0,a.jsx)("div",{className:"grid grid-cols-3 gap-[14px] max-[1180px]:grid-cols-2 max-[700px]:grid-cols-1",children:r.map(e=>{const t=Ge[e.status]||Ge.not_installed,r=He(e.url),l=c.slug===e.slug;return(0,a.jsxs)("section",{className:"group flex flex-col gap-3 rounded-card border border-solid border-[#e9e9ed] bg-white p-5 transition-all duration-200 hover:-translate-y-[2px] hover:border-[#fbc8cd] hover:shadow-lift",children:[(0,a.jsxs)("div",{className:"flex items-center gap-3",children:[(0,a.jsx)(Ke,{icon:e.icon}),(0,a.jsxs)("div",{className:"min-w-0",children:[(0,a.jsx)("h2",{className:"m-0 truncate text-[15px] font-extrabold tracking-[-.01em] text-[#0f1115]",children:(n=e.name,String(n||"").split(/\s[–—-]\s|:\s/)[0].trim()||String(n||""))}),(0,a.jsx)("span",{className:"text-[12px] font-semibold text-[#8a8a93]",children:[e.version?`v${e.version}`:"",(o=e.activeInstalls,o?o>=1e6?(0,s.sprintf)(/* translators: %s: number of millions. */ /* translators: %s: number of millions. */(0,s.__)("%s M+ installs","ultimate-store-kit"),Math.floor(o/1e6)):o>=1e3?(0,s.sprintf)(/* translators: %s: number of thousands. */ /* translators: %s: number of thousands. */(0,s.__)("%s K+ installs","ultimate-store-kit"),Math.floor(o/1e3)):(0,s.sprintf)(/* translators: %d: number of installs. */ /* translators: %d: number of installs. */(0,s.__)("%d+ installs","ultimate-store-kit"),o):"")].filter(Boolean).join(" · ")})]})]}),e.description?(0,a.jsx)("p",{className:"m-0 line-clamp-3 flex-1 text-[13px] leading-relaxed text-[#6c6c75]",children:e.description}):(0,a.jsx)("span",{className:"flex-1"}),(0,a.jsxs)("div",{className:"mt-auto flex flex-wrap items-center gap-2 border-0 border-t border-solid border-[#f3f3f6] pt-3",children:[(0,a.jsx)(te,{tone:t.tone,children:t.label}),(0,a.jsxs)("span",{className:"ml-auto flex items-center gap-2",children:["not_installed"===e.status&&i?(0,a.jsx)("button",{type:"button",disabled:!!c.slug,onClick:()=>(async e=>{x({slug:e.slug,action:"install"});try{const t=await Ve("other-plugins/install",{method:"POST",body:JSON.stringify({slug:e.slug})});m(t.message||(0,s.__)("Plugin installed.","ultimate-store-kit")),await p()}catch(e){m(e.message,"error")}finally{x({slug:"",action:""})}})(e),className:`${u} border-0 bg-gradient-brand text-white shadow-glow`,children:l&&"install"===c.action?(0,s.__)("Installing…","ultimate-store-kit"):(0,s.__)("Install","ultimate-store-kit")}):null,"installed"===e.status&&e.activateUrl?(0,a.jsx)("button",{type:"button",disabled:!!c.slug,onClick:()=>(async e=>{const t=He(e.activateUrl);if(t){x({slug:e.slug,action:"activate"});try{if(!(await window.fetch(t,{credentials:"same-origin"})).ok)throw new Error((0,s.__)("The plugin could not be activated.","ultimate-store-kit"));m((0,s.__)("Plugin activated.","ultimate-store-kit")),await p()}catch(e){m(e.message,"error")}finally{x({slug:"",action:""})}}})(e),className:`${u} border border-solid border-[#e2e2e6] bg-white text-[#27272a] hover:border-[#e30c1d] hover:text-[#e30c1d]`,children:l&&"activate"===c.action?(0,s.__)("Activating…","ultimate-store-kit"):(0,s.__)("Activate","ultimate-store-kit")}):null,r?(0,a.jsxs)("a",{href:r,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-1 text-[13px] font-bold text-[#e30c1d] no-underline hover:underline",children:[(0,s.__)("Details","ultimate-store-kit"),(0,a.jsx)(O,{size:13})]}):null]})]})]},e.slug);var o,n})})]})},qe={wc:"ultimate_store_kit_active_modules",edd:"ultimate_store_kit_edd_modules",other:"ultimate_store_kit_general_modules"},Xe={wc:"woocommerce-widgets",edd:"edd-widgets",other:"other-widgets"},Ze=()=>{const e=window.location.hash.split("?")[1]||"";try{return new URLSearchParams(e).get("search")||""}catch(e){return""}},Ye=(e,t)=>{const s={};return Object.values(qe).forEach(a=>{const r=t[a]||{};(e[a]||[]).forEach(e=>{"checkbox"===e.type&&(s[e.name]=void 0!==r[e.name]?r[e.name]:e.default||"off")})}),s},Qe="inline-flex items-center gap-1 text-[11.5px] font-semibold text-[#8a8a93] no-underline transition-colors hover:text-[#e30c1d]",et=({allWidgets:t,allSettings:r,onSave:l,saving:i,isPro:o,widgetType:n="wc",onNavigate:d})=>{const[c,x]=(0,e.useState)(Ze),[m,p]=(0,e.useState)("all"),[u,h]=(0,e.useState)("all"),[b,g]=(0,e.useState)(()=>Ye(t,r)),f=qe[n]||qe.wc,j=(0,e.useMemo)(()=>(t[f]||[]).filter(e=>"checkbox"===e.type),[t,f]),_=(0,e.useMemo)(()=>Ye(t,r),[t,r]);(0,e.useEffect)(()=>{x(Ze()),p("all"),h("all")},[n]),(0,e.useEffect)(()=>{const e=()=>x(Ze());return window.addEventListener("hashchange",e),()=>window.removeEventListener("hashchange",e)},[]);const k=(0,e.useCallback)(e=>{const t=e.dependency;return"pro"===e.widget_type&&!o||t&&(!t.isInstalled||!t.isActive)},[o]),w=(0,e.useMemo)(()=>{const e=new Set;return j.forEach(t=>{(t.content_type||"").split(" ").forEach(t=>{t&&!["woocommerce","edd","new","others"].includes(t)&&e.add(t)})}),Array.from(e)},[j]),y=e=>(e.content_type||"").split(" ").includes("new"),N=(0,e.useMemo)(()=>({all:j.length,free:j.filter(e=>"pro"!==e.widget_type).length,pro:j.filter(e=>"pro"===e.widget_type).length,new:j.filter(y).length}),[j]),S=(0,e.useMemo)(()=>j.filter(e=>!(c&&!e.label.toLowerCase().includes(c.toLowerCase())||"free"===m&&"pro"===e.widget_type||"pro"===m&&"pro"!==e.widget_type||"new"===m&&!y(e)||"all"!==u&&!(e.content_type||"").split(" ").includes(u))),[j,c,m,u]),M=j.filter(e=>ne(e,b[e.name],o)).length,C=j.filter(e=>b[e.name]!==_[e.name]).map(e=>e.name),P=e=>{g(t=>{const s={...t};return S.forEach(t=>{k(t)||(s[t.name]=e)}),s})},z=[{type:"wc",label:(0,s.__)("WooCommerce","ultimate-store-kit")},{type:"edd",label:(0,s.__)("EDD","ultimate-store-kit")},{type:"other",label:(0,s.__)("Others","ultimate-store-kit")}],L=[{key:"all",label:(0,s.__)("All","ultimate-store-kit")},{key:"new",label:(0,s.__)("New","ultimate-store-kit")},{key:"free",label:(0,s.__)("Free","ultimate-store-kit")},{key:"pro",label:(0,s.__)("Pro","ultimate-store-kit")}],E="inline-flex cursor-pointer items-center gap-1.5 rounded-full border border-solid border-[#e2e2e6] bg-white px-4 py-2 text-[13px] font-bold text-[#27272a] transition-colors hover:border-[#e30c1d] hover:text-[#e30c1d]";return(0,a.jsxs)("div",{className:C.length?"pb-20":"",children:[(0,a.jsxs)("div",{className:"mb-[18px] flex flex-wrap items-end justify-between gap-3",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("h1",{className:"m-0 text-[26px] font-extrabold tracking-[-.02em] text-[#0f1115]",children:(0,s.__)("Widgets","ultimate-store-kit")}),(0,a.jsx)("p",{className:"m-0 mt-1.5 text-[13.5px] text-[#6c6c75]",children:(0,s.sprintf)(/* translators: 1: enabled widgets, 2: all widgets in this category. */ /* translators: 1: enabled widgets, 2: all widgets in this category. */
     7(0,s.__)("%1$d of %2$d enabled - disable unused widgets for faster pages.","ultimate-store-kit"),M,j.length)})]}),(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,a.jsxs)("span",{className:"inline-flex items-center gap-[7px] rounded-full border border-solid border-[#c6f0d4] bg-[#ecfdf3] px-3 py-[7px] text-[12.5px] font-bold text-[#15803d]",children:[(0,a.jsx)("span",{className:"h-2 w-2 rounded-full bg-[#22c55e]"}),(0,s.sprintf)(/* translators: 1: enabled, 2: total. */ /* translators: 1: enabled, 2: total. */
     8(0,s.__)("%1$d of %2$d active","ultimate-store-kit"),M,j.length)]}),(0,a.jsxs)("button",{type:"button",className:E,onClick:()=>P("on"),children:[(0,a.jsx)(T,{size:14}),(0,s.__)("Enable all","ultimate-store-kit")]}),(0,a.jsxs)("button",{type:"button",className:E,onClick:()=>P("off"),children:[(0,a.jsx)(F,{size:14}),(0,s.__)("Disable all","ultimate-store-kit")]})]})]}),(0,a.jsxs)("div",{className:"mb-[14px] flex flex-wrap items-center justify-between gap-3 rounded-card border border-solid border-[#e9e9ed] bg-white px-[14px] py-3",children:[(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-3",children:[(0,a.jsxs)("label",{className:"relative flex w-[260px] max-w-full items-center",children:[(0,a.jsx)("span",{className:"sr-only",children:(0,s.__)("Search widgets","ultimate-store-kit")}),(0,a.jsx)("span",{className:"pointer-events-none absolute left-3 text-[#8a8a93]",children:(0,a.jsx)(A,{size:15})}),(0,a.jsx)("input",{type:"search",value:c,onChange:e=>x(e.target.value),placeholder:(0,s.__)("Search widgets…","ultimate-store-kit"),className:"!m-0 box-border w-full !rounded-full !border !border-solid !border-[#e6e6ea] !bg-[#fafbfc] !py-2 !pl-9 !pr-3 text-[13.5px] !shadow-none focus:!border-[#e30c1d]"})]}),(0,a.jsx)("div",{className:"flex items-center gap-1 rounded-full bg-[#f4f5f7] p-1",role:"group","aria-label":(0,s.__)("Widget category","ultimate-store-kit"),children:z.map(e=>{const s=(t[qe[e.type]]||[]).filter(e=>"checkbox"===e.type).length,r=e.type===n;return(0,a.jsxs)("button",{type:"button","aria-pressed":r,onClick:()=>d&&d(Xe[e.type]),className:"cursor-pointer rounded-full border-0 px-3 py-1.5 text-[12.5px] font-bold transition-colors "+(r?"bg-white text-[#0f1115] shadow-[0_1px_3px_rgba(0,0,0,.12)]":"bg-transparent text-[#52525b] hover:text-[#18181b]"),children:[e.label," ",(0,a.jsx)("span",{className:"text-[#8a8a93]",children:s})]},e.type)})}),w.length>0?(0,a.jsxs)("select",{value:u,onChange:e=>h(e.target.value),className:"!m-0 !rounded-full !border !border-solid !border-[#e6e6ea] !bg-white !py-1.5 !pl-3 !pr-8 text-[12.5px] font-semibold !text-[#3f3f46] !shadow-none","aria-label":(0,s.__)("Template type","ultimate-store-kit"),children:[(0,a.jsx)("option",{value:"all",children:(0,s.__)("All templates","ultimate-store-kit")}),w.map(e=>(0,a.jsx)("option",{value:e,children:e.charAt(0).toUpperCase()+e.slice(1)},e))]}):null]}),(0,a.jsx)("div",{className:"flex items-center gap-1 rounded-full bg-[#f4f5f7] p-1",role:"group","aria-label":(0,s.__)("Filter widgets","ultimate-store-kit"),children:L.map(e=>(0,a.jsxs)("button",{type:"button",onClick:()=>p(e.key),"aria-pressed":m===e.key,className:"cursor-pointer rounded-full border-0 px-3 py-1.5 text-[12.5px] font-bold transition-colors "+(m===e.key?"bg-gradient-brand text-white shadow-glow":"bg-transparent text-[#52525b] hover:text-[#18181b]"),children:[e.label," ",(0,a.jsx)("span",{className:m===e.key?"opacity-80":"text-[#8a8a93]",children:N[e.key]})]},e.key))})]}),0===S.length?(0,a.jsx)("div",{className:"rounded-card border border-solid border-[#e9e9ed] bg-white px-6 py-14 text-center text-[13.5px] text-[#6c6c75]",children:(0,s.__)("No widgets found.","ultimate-store-kit")}):(0,a.jsx)("div",{className:"grid grid-cols-3 gap-[10px] max-[1180px]:grid-cols-2 max-[700px]:grid-cols-1",children:S.map(e=>{const t=e.dependency||null,r=t&&(!t.isInstalled||!t.isActive),l=k(e),i=ne(e,b[e.name],o),n=b[e.name]!==_[e.name];return(0,a.jsxs)("div",{className:"flex items-center gap-3 rounded-panel border border-solid bg-white px-[14px] py-3 transition-colors "+(n?"border-[#fbc8cd] bg-[#fffbfb]":"border-[#e9e9ed] hover:border-[#d4d4dc]"),children:[(0,a.jsx)("span",{className:"grid h-10 w-10 shrink-0 place-items-center rounded-tile "+(i?"bg-[#fff1f2] text-[#e30c1d]":"bg-[#f4f4f5] text-[#8a8a93]"),"aria-hidden":"true",children:(0,a.jsx)("i",{className:`usk-icon-${e.name} text-[18px] leading-none`})}),(0,a.jsxs)("span",{className:"min-w-0 flex-1",children:[(0,a.jsx)("span",{className:"block truncate text-[13.5px] font-bold "+(l?"text-[#8a8a93]":"text-[#0f1115]"),children:e.label}),(0,a.jsxs)("span",{className:"mt-1 flex flex-wrap items-center gap-x-2.5 gap-y-1",children:[r&&t?.actionUrl?(0,a.jsxs)("a",{href:t.actionUrl,target:"install"===t.actionType?"_blank":void 0,rel:"install"===t.actionType?"noopener noreferrer":void 0,title:t.message,className:`${Qe} !text-[#b45309]`,children:[(0,a.jsx)(U,{size:12}),t.actionLabel||(0,s.__)("Install","ultimate-store-kit")]}):null,e.demo_url&&!e.demo_url.startsWith("#")?(0,a.jsxs)("a",{href:e.demo_url,target:"_blank",rel:"noopener noreferrer",className:Qe,children:[(0,a.jsx)(R,{size:12}),(0,s.__)("Demo","ultimate-store-kit")]}):null,e.video_url?(0,a.jsxs)("a",{href:e.video_url,target:"_blank",rel:"noopener noreferrer",className:Qe,children:[(0,a.jsx)(W,{size:12}),(0,s.__)("Video","ultimate-store-kit")]}):null]})]}),(0,a.jsxs)("span",{className:"flex shrink-0 items-center gap-2",children:[y(e)?(0,a.jsx)(te,{tone:"rose",children:(0,s.__)("NEW","ultimate-store-kit")}):null,"pro"===e.widget_type?(0,a.jsx)(se,{}):null,(0,a.jsx)("span",{title:l?r?t?.message:(0,s.__)("Available in Pro","ultimate-store-kit"):void 0,children:(0,a.jsx)(ze,{checked:i,disabled:l,onChange:()=>g(t=>({...t,[e.name]:"on"===t[e.name]?"off":"on"}))})})]})]},e.name)})}),C.length?(0,a.jsxs)("div",{className:"fixed bottom-5 left-1/2 z-[9990] box-border flex w-[min(640px,calc(100vw-32px))] -translate-x-1/2 animate-usk-pop items-center justify-between gap-3 rounded-full border border-solid border-[#e6e6ea] bg-white py-2 pl-5 pr-2 shadow-pop",children:[(0,a.jsxs)("span",{className:"flex items-center gap-2 text-[13.5px] font-bold text-[#0f1115]",children:[(0,a.jsx)("span",{className:"text-[#e30c1d]",children:(0,a.jsx)(v,{size:16})}),(0,s.sprintf)(/* translators: %d: number of changed widgets. */ /* translators: %d: number of changed widgets. */
     9(0,s.__)("%d unsaved change(s)","ultimate-store-kit"),C.length)]}),(0,a.jsxs)("span",{className:"flex items-center gap-2",children:[(0,a.jsx)("button",{type:"button",onClick:()=>{g(e=>{const t={...e};return j.forEach(e=>{t[e.name]=_[e.name]}),t})},className:"cursor-pointer rounded-full border-0 bg-transparent px-4 py-2 text-[13px] font-bold text-[#52525b] hover:text-[#0f1115]",children:(0,s.__)("Discard","ultimate-store-kit")}),(0,a.jsx)("button",{type:"button",onClick:()=>{const e={};j.forEach(t=>{void 0!==b[t.name]&&(e[t.name]=b[t.name])}),l(f,e)},disabled:i,className:"cursor-pointer rounded-full border-0 bg-gradient-brand px-5 py-2.5 text-[13px] font-extrabold text-white shadow-glow disabled:cursor-wait disabled:opacity-70",children:i?(0,s.__)("Saving…","ultimate-store-kit"):(0,s.__)("Save changes","ultimate-store-kit")})]})]}):null]})},tt=[{group:(0,s.__)("Sales Notifications","ultimate-store-kit"),description:(0,s.__)("Configure flash sale banners, countdown timers, and promotional badges for your store.","ultimate-store-kit"),fields:[{name:"enable_flash_sale",type:"checkbox",label:(0,s.__)("Enable Flash Sale Banner","ultimate-store-kit"),description:(0,s.__)("Display a site-wide flash sale banner on product pages.","ultimate-store-kit")},{name:"flash_sale_text",type:"text",label:(0,s.__)("Flash Sale Text","ultimate-store-kit"),placeholder:(0,s.__)("🔥 Flash Sale — Up to 50% OFF!","ultimate-store-kit")},{name:"sale_badge_style",type:"select",label:(0,s.__)("Sale Badge Style","ultimate-store-kit"),options:{default:(0,s.__)("Default","ultimate-store-kit"),ribbon:(0,s.__)("Ribbon","ultimate-store-kit"),circle:(0,s.__)("Circle","ultimate-store-kit"),starburst:(0,s.__)("Starburst","ultimate-store-kit")}},{name:"sale_badge_color",type:"color",label:(0,s.__)("Sale Badge Color","ultimate-store-kit"),value:"#ef4444"},{name:"enable_countdown_timer",type:"checkbox",label:(0,s.__)("Enable Sale Countdown Timer","ultimate-store-kit"),description:(0,s.__)("Show a countdown timer on products that have a sale end date.","ultimate-store-kit")},{name:"countdown_position",type:"select",label:(0,s.__)("Countdown Position","ultimate-store-kit"),options:{above_price:(0,s.__)("Above Price","ultimate-store-kit"),below_price:(0,s.__)("Below Price","ultimate-store-kit"),above_button:(0,s.__)("Above Add to Cart","ultimate-store-kit")}},{name:"minimum_discount_percent",type:"number",label:(0,s.__)("Minimum Discount % to Show Badge","ultimate-store-kit"),value:"5",description:(0,s.__)("Only show the sale badge when the discount is at least this percentage.","ultimate-store-kit")}]}],st=()=>(0,a.jsxs)("div",{className:"pointer-events-none relative select-none opacity-70",children:[(0,a.jsxs)("div",{className:"pointer-events-auto mb-4 flex items-center justify-between rounded-usk border border-uks-brand bg-[linear-gradient(313deg,#E62A3F_0%,#00216A_100%)] px-5 py-3.5",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2.5",children:[(0,a.jsx)("span",{className:"rounded-[10px] bg-[linear-gradient(313deg,#E62A3F_0%,#00216A_100%)] px-2.5 py-1 text-[10px] font-bold uppercase tracking-wide text-white",children:(0,s.__)("Pro","ultimate-store-kit")}),(0,a.jsx)("span",{className:"text-sm font-semibold text-white/90",children:(0,s.__)("Unlock these premium settings with Ultimate Store Kit Pro","ultimate-store-kit")})]}),(0,a.jsx)("a",{href:"https://bdthemes.com/ultimate-store-kit/",target:"_blank",rel:"noopener noreferrer",className:`${Be} ${Le}`,children:(0,s.__)("Get Pro","ultimate-store-kit")})]}),tt.map((e,t)=>(0,a.jsx)("div",{className:"relative mb-4 overflow-hidden rounded-usk border border-slate-200 bg-white",children:(0,a.jsxs)("div",{className:"border-l-[3px] border-uks-brand",children:[(0,a.jsxs)("h3",{className:"m-0 flex flex-wrap items-center gap-2 border-b border-slate-200 bg-slate-100 px-5 py-3.5 text-sm font-bold text-slate-800",children:[e.group,(0,a.jsx)("span",{className:Te,children:(0,s.__)("Pro","ultimate-store-kit")})]}),e.description&&(0,a.jsx)("p",{className:"m-0 px-5 pt-1 text-[13px] leading-relaxed text-slate-400",children:e.description}),(0,a.jsx)("div",{className:"px-5 py-2 opacity-60",children:e.fields.map(e=>{if("checkbox"===e.type)return(0,a.jsxs)("div",{className:`${$e} flex-wrap`,children:[(0,a.jsx)("div",{className:De,children:(0,a.jsx)("span",{children:e.label})}),(0,a.jsx)("div",{className:"h-[22px] w-10 rounded-full bg-slate-200"}),e.description&&(0,a.jsx)("p",{className:"mt-1 w-full text-xs leading-snug text-slate-400",children:e.description})]},e.name);if("select"===e.type){const t=Object.keys(e.options)[0];return(0,a.jsxs)("div",{className:$e,children:[(0,a.jsx)("label",{className:De,children:e.label}),(0,a.jsx)("select",{className:`${Oe} cursor-not-allowed opacity-60`,disabled:!0,defaultValue:t,children:Object.entries(e.options).map(([e,t])=>(0,a.jsx)("option",{value:e,children:t},e))})]},e.name)}return"color"===e.type?(0,a.jsxs)("div",{className:$e,children:[(0,a.jsx)("label",{className:De,children:e.label}),(0,a.jsx)("input",{type:"color",disabled:!0,value:e.value||"#000000",readOnly:!0,className:"h-8 w-12 cursor-not-allowed rounded-md border border-slate-200 p-0.5 opacity-60"})]},e.name):"number"===e.type||"text"===e.type?(0,a.jsxs)("div",{className:$e,children:[(0,a.jsx)("label",{className:De,children:e.label}),(0,a.jsx)("input",{type:e.type,className:`${Oe} cursor-not-allowed opacity-60`,disabled:!0,placeholder:e.placeholder||"",defaultValue:e.value||"",readOnly:!0}),e.description&&(0,a.jsx)("p",{className:"mt-1 w-full text-xs leading-snug text-slate-400",children:e.description})]},e.name):null})})]})},t))]}),at=({widgets:r,section:l,settings:i,onSave:o,saving:n,isPro:d,activeGroup:c})=>{const[x,m]=(0,e.useState)(()=>{const e={};return r.forEach(t=>{"start_group"!==t.type&&"end_group"!==t.type&&("checkbox"===t.type?e[t.name]=void 0!==i[t.name]?i[t.name]:t.default||"off":"select"!==t.type&&"number"!==t.type&&"text"!==t.type||(e[t.name]=void 0!==i[t.name]?i[t.name]:t.default||""))}),e}),p=(e,t)=>{m(s=>({...s,[e]:t}))},u=(()=>{const e=[];let t=null;return r.forEach(a=>{"start_group"!==a.type?"end_group"!==a.type?t?t.items.push(a):(e.length&&void 0!==e[e.length-1].items||e.push({label:(0,s.__)("General","ultimate-store-kit"),items:[]}),e[e.length-1].items.push(a)):t&&(e.push(t),t=null):t={label:a.label,items:[]}}),e})(),h=c?u.filter(e=>e.label===c):u;return(0,a.jsxs)("div",{children:[(0,a.jsxs)("div",{className:"grid grid-cols-[repeat(auto-fit,minmax(420px,1fr))] items-start gap-4",children:[h.map((e,t)=>(0,a.jsxs)("div",{className:"w-full overflow-hidden rounded-usk border border-solid border-gray-100 bg-white",children:[(0,a.jsx)("h3",{className:"m-0 border-0 border-b border-solid border-b-gray-200  px-5 py-3.5 text-sm font-bold uppercase tracking-wide text-slate-700",children:e.label}),(0,a.jsx)("div",{className:"space-y-5 p-5",children:e.items.map(e=>{const t="pro"===e.widget_type,r=e.dependency||null,l=r&&(!r.isInstalled||!r.isActive),i=t&&!d||l;if("checkbox"===e.type){const o=!i&&"on"===x[e.name];return(0,a.jsxs)("div",{className:"rounded-lg border border-slate-200 bg-white",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,a.jsxs)("div",{className:`${De} max-w-[70%] flex-wrap`,children:[(0,a.jsxs)("span",{children:[e.label,l&&r?.actionUrl?(0,a.jsxs)(a.Fragment,{children:[" ",(0,a.jsx)("a",{href:r.actionUrl,target:"install"===r.actionType?"_blank":void 0,rel:"install"===r.actionType?"noopener noreferrer":void 0,className:"font-semibold text-uks-brand hover:underline",children:r.actionLabel})]}):null]}),t&&(0,a.jsx)("span",{className:Te,children:(0,s.__)("Pro","ultimate-store-kit")})]}),(0,a.jsx)(ze,{checked:o,disabled:i,onChange:()=>p(e.name,o?"off":"on")})]}),l&&r?.message&&(0,a.jsx)("div",{className:"mt-2 text-[13px] leading-relaxed text-slate-500",children:r.message})]},e.name)}return"select"===e.type?(0,a.jsxs)("div",{className:"rounded-lg border border-slate-200 bg-white",children:[(0,a.jsxs)("label",{className:De,children:[e.label,t&&(0,a.jsx)("span",{className:`${Te} ml-2 align-middle`,children:(0,s.__)("Pro","ultimate-store-kit")})]}),(0,a.jsx)("select",{className:`${Oe} mt-2 block w-full`,value:x[e.name]||"",onChange:t=>p(e.name,t.target.value),disabled:i,children:e.options&&Object.entries(e.options).map(([e,t])=>(0,a.jsx)("option",{value:e,children:t},e))})]},e.name):"number"===e.type||"text"===e.type?(0,a.jsxs)("div",{className:"rounded-lg border border-slate-200 bg-white",children:[(0,a.jsxs)("label",{className:De,children:[e.label,t&&(0,a.jsx)("span",{className:`${Te} ml-2 align-middle`,children:(0,s.__)("Pro","ultimate-store-kit")})]}),(0,a.jsx)("input",{type:e.type,className:`${Oe} mt-2 block w-full`,value:x[e.name]||"",onChange:t=>p(e.name,t.target.value),disabled:i})]},e.name):null})})]},t)),!d&&!c&&(0,a.jsx)(st,{}),(()=>{const e=(0,t.applyFilters)("usk.admin.settingsExtra",null);return e?(0,a.jsx)(e,{activeGroup:c}):null})()]}),(0,a.jsx)("div",{className:"mt-6 flex justify-end pt-4",children:(0,a.jsx)("button",{type:"button",className:`${Ee} ${Le}`,onClick:()=>{o(l,x)},disabled:n,children:n?(0,s.__)("Saving...","ultimate-store-kit"):(0,s.__)("Save Changes","ultimate-store-kit")})})]})},rt=[{label:(0,s.__)("Core Widgets","ultimate-store-kit"),free:!0,pro:!0,freeNote:"35+",proNote:"100+"},{label:(0,s.__)("Theme Compatibility","ultimate-store-kit"),free:!0,pro:!0},{label:(0,s.__)("Dynamic Content & Custom Fields","ultimate-store-kit"),free:!0,pro:!0},{label:(0,s.__)("Proper Documentation","ultimate-store-kit"),free:!0,pro:!0},{label:(0,s.__)("Updates & Support","ultimate-store-kit"),free:!0,pro:!0},{label:(0,s.__)("Ready Made Blocks","ultimate-store-kit"),free:!0,pro:!0},{label:(0,s.__)("Ready Made Pages","ultimate-store-kit"),free:!0,pro:!0},{label:(0,s.__)("Rooten Theme Pro Features","ultimate-store-kit"),free:!1,pro:!0},{label:(0,s.__)("Priority Support","ultimate-store-kit"),free:!1,pro:!0}],lt=({d:e,viewBox:t="0 0 24 24",filled:s=!1})=>(0,a.jsx)("svg",{className:"h-4 w-4 shrink-0 text-uks-brand",viewBox:t,fill:s?"currentColor":"none",stroke:s?"none":"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:Array.isArray(e)?e.map((e,t)=>(0,a.jsx)("path",{d:e},t)):(0,a.jsx)("path",{d:e})}),it=[{text:(0,s.__)("Incredibly Advanced","ultimate-store-kit"),icon:(0,a.jsx)(lt,{d:"M13 2 3 14h9l-1 8 10-12h-9l1-8z"})},{text:(0,s.__)("Refund or Cancel Anytime","ultimate-store-kit"),icon:(0,a.jsx)(lt,{d:["M9 14 4 9l5-5","M4 9h10.5a5.5 5.5 0 0 1 0 11H11"]})},{text:(0,s.__)("Dynamic Content","ultimate-store-kit"),icon:(0,a.jsx)(lt,{d:["M14.5 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7.5L14.5 2z","M14 2v6h6","M8 13h8","M8 17h4"]})},{text:(0,s.__)("Super-Flexible Widgets","ultimate-store-kit"),icon:(0,a.jsx)(lt,{d:["M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"]})},{text:(0,s.__)("24/7 Premium Support","ultimate-store-kit"),icon:(0,a.jsx)(lt,{d:["M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.38 8.38 0 0 1-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.38 8.38 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8v.5z"]})},{text:(0,s.__)("Third Party Plugins","ultimate-store-kit"),icon:(0,a.jsx)(lt,{d:["M6.3 20.3a2.4 2.4 0 0 0 3.4 0L12 18l-6-6-2.3 2.3a2.4 2.4 0 0 0 0 3.4z","m2 22 3-3","M7.5 13.5 10 11","M10.5 16.5 13 14","m18 3-4 4h6l-4 4"]})},{text:(0,s.__)("Special Discount!","ultimate-store-kit"),icon:(0,a.jsx)(lt,{d:["M9 5H2v7l6.29 6.29c.94.94 2.48.94 3.42 0l3.58-3.58c.94-.94.94-2.48 0-3.42L9 5z","M6 9.01V9"]})},{text:(0,s.__)("Custom Field Integration","ultimate-store-kit"),icon:(0,a.jsx)(lt,{d:["M12 20h9","M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4L16.5 3.5z"]})},{text:(0,s.__)("With Live Chat Support","ultimate-store-kit"),icon:(0,a.jsx)(lt,{d:["M8 12h.01","M12 12h.01","M16 12h.01","M21 12c0 4.418-4.03 8-9 8a9.863 9.863 0 0 1-4.255-.949L3 20l1.395-3.72C3.512 15.042 3 13.574 3 12c0-4.418 4.03-8 9-8s9 3.582 9 8z"]})},{text:(0,s.__)("Trusted Payment Methods","ultimate-store-kit"),icon:(0,a.jsx)(lt,{d:["M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"]})},{text:(0,s.__)("Interactive Effects","ultimate-store-kit"),icon:(0,a.jsx)(lt,{d:["M12 2v4","m16.2 7.8 2.9-2.9","M18 12h4","m16.2 16.2 2.9 2.9","M12 18v4","m4.9 19.1 2.9-2.9","M2 12h4","m4.9 4.9 2.9 2.9"]})},{text:(0,s.__)("Video Tutorial","ultimate-store-kit"),icon:(0,a.jsx)(lt,{d:["M22.54 6.42a2.78 2.78 0 0 0-1.95-1.96C18.88 4 12 4 12 4s-6.88 0-8.59.46a2.78 2.78 0 0 0-1.95 1.96A29 29 0 0 0 1 12a29 29 0 0 0 .46 5.58A2.78 2.78 0 0 0 3.41 19.6C5.12 20 12 20 12 20s6.88 0 8.59-.46a2.78 2.78 0 0 0 1.95-1.95A29 29 0 0 0 23 12a29 29 0 0 0-.46-5.58z","M9.75 15.02 15.5 12l-5.75-3.02v6.04z"]})}],ot=({isPro:e})=>e?(0,a.jsxs)("div",{className:"rounded-usk border border-slate-200 bg-white p-6 text-center sm:p-10",children:[(0,a.jsx)("div",{className:"mx-auto mb-4 flex h-14 w-14 items-center justify-center rounded-full bg-emerald-100",children:(0,a.jsx)(x,{className:"h-7 w-7 text-emerald-600"})}),(0,a.jsx)("h2",{className:"m-0 mb-2 text-xl font-bold text-slate-800",children:(0,s.__)("You already have Pro!","ultimate-store-kit")}),(0,a.jsx)("p",{className:"m-0 text-sm text-slate-500",children:(0,s.__)("Thank you for being a Pro user. You have access to all features.","ultimate-store-kit")})]}):(0,a.jsxs)("div",{className:"space-y-5",children:[(0,a.jsxs)("div",{className:"overflow-hidden rounded-usk border border-solid border-gray-100 bg-white",children:[(0,a.jsxs)("div",{className:"flex border-b border-gray-100",children:[(0,a.jsx)("div",{className:"flex flex-[2] items-center px-3 py-3 sm:px-5 sm:py-3.5",children:(0,a.jsx)("span",{className:"text-[10px] font-semibold uppercase tracking-wider text-slate-400 sm:text-[11px]",children:(0,s.__)("Features","ultimate-store-kit")})}),(0,a.jsx)("div",{className:"flex w-20 items-center justify-center border-l border-gray-100 bg-slate-50 py-3 sm:w-28 sm:py-3.5 lg:w-36",children:(0,a.jsx)("span",{className:"text-[11px] font-bold text-slate-500 sm:text-[12px]",children:(0,s.__)("Free","ultimate-store-kit")})}),(0,a.jsx)("div",{className:"flex w-20 items-center justify-center border-l border-uks-brand/30 bg-uks-brand py-3 sm:w-28 sm:py-3.5 lg:w-36",children:(0,a.jsxs)("span",{className:"inline-flex items-center gap-1 text-[11px] font-bold text-white sm:gap-1.5 sm:text-[12px]",children:[(0,a.jsx)(n,{className:"h-3 w-3"}),(0,s.__)("Pro","ultimate-store-kit")]})})]}),rt.map((e,t)=>(0,a.jsxs)("div",{className:"flex items-center border-b border-gray-50 last:border-b-0 "+(t%2==1?"bg-slate-50/50":"bg-white"),children:[(0,a.jsxs)("div",{className:"flex min-w-0 flex-[2] items-center gap-2 px-3 py-3 sm:px-5 sm:py-3.5",children:[(0,a.jsx)("span",{className:"text-[12px] font-medium text-slate-700 sm:text-[13px]",children:e.label}),e.freeNote&&e.proNote&&(0,a.jsxs)("span",{className:"hidden shrink-0 rounded-full border border-slate-100 bg-white px-2 py-0.5 text-[10px] font-semibold text-slate-400 sm:inline-block",children:[e.freeNote," → ",e.proNote]})]}),(0,a.jsx)("div",{className:"flex w-20 shrink-0 items-center justify-center border-l py-3 sm:w-28 sm:py-3.5 lg:w-36 "+(t%2==1?"border-gray-100 bg-slate-50/50":"border-gray-50 bg-white"),children:e.free?(0,a.jsx)(x,{className:"mx-auto h-[18px] w-[18px] text-uks-brand"}):(0,a.jsx)(i,{className:"mx-auto h-[18px] w-[18px] text-slate-300"})}),(0,a.jsx)("div",{className:"flex w-20 shrink-0 items-center justify-center border-l border-uks-brand/20 bg-uks-brand/[0.07] py-3 sm:w-28 sm:py-3.5 lg:w-36",children:e.pro?(0,a.jsx)(x,{className:"mx-auto h-[18px] w-[18px] text-uks-brand"}):(0,a.jsx)(i,{className:"mx-auto h-[18px] w-[18px] text-slate-300"})})]},t))]}),(0,a.jsxs)("div",{className:"overflow-hidden rounded-usk border border-solid border-gray-100 bg-white",children:[(0,a.jsxs)("div",{className:"p-4 sm:p-5 lg:p-6",children:[(0,a.jsx)("p",{className:"m-0 mb-3 text-[11px] font-semibold uppercase tracking-wider text-slate-400 sm:mb-4",children:(0,s.__)("What's included with Pro","ultimate-store-kit")}),(0,a.jsx)("div",{className:"grid grid-cols-1 gap-2 xs:grid-cols-2 sm:grid-cols-3 lg:grid-cols-4",children:it.map((e,t)=>(0,a.jsxs)("div",{className:"flex items-center gap-2 rounded-lg border border-slate-100 bg-slate-50/70 px-3 py-2.5 sm:gap-2.5",children:[(0,a.jsx)("span",{className:"shrink-0","aria-hidden":"true",children:e.icon}),(0,a.jsx)("span",{className:"text-[12px] font-medium leading-snug text-slate-600",children:e.text})]},t))})]}),(0,a.jsxs)("div",{className:"flex flex-col items-center gap-3 border-t border-uks-brand/15 bg-gradient-to-br from-uks-brand/[0.07] to-transparent px-4 py-5 text-center sm:px-6 sm:py-6",children:[(0,a.jsx)("p",{className:"m-0 text-[13px] font-semibold text-slate-700",children:(0,s.__)("Ready to unlock all Pro features?","ultimate-store-kit")}),(0,a.jsxs)("a",{href:"https://storekit.pro/pricing",target:"_blank",rel:"noopener noreferrer",className:`${Ee} ${Le} gap-2`,children:[(0,a.jsx)(n,{className:"h-4 w-4"}),(0,s.__)("Upgrade to Pro — View Pricing","ultimate-store-kit")]}),(0,a.jsxs)("div",{className:"flex flex-wrap items-center justify-center gap-x-4 gap-y-1.5 text-[11px] text-slate-400",children:[(0,a.jsxs)("span",{className:"flex items-center gap-1",children:[(0,a.jsx)(x,{className:"h-3.5 w-3.5 text-emerald-500"}),(0,s.__)("30-day money-back","ultimate-store-kit")]}),(0,a.jsxs)("span",{className:"flex items-center gap-1",children:[(0,a.jsx)(x,{className:"h-3.5 w-3.5 text-emerald-500"}),(0,s.__)("Cancel anytime","ultimate-store-kit")]}),(0,a.jsxs)("span",{className:"flex items-center gap-1",children:[(0,a.jsx)(x,{className:"h-3.5 w-3.5 text-emerald-500"}),(0,s.__)("Instant access","ultimate-store-kit")]})]})]})]})]}),nt=window.ultimateStoreKitAdminData||{},dt="font-semibold text-uks-brand no-underline transition hover:underline",ct=({icon:e,label:t,children:s})=>(0,a.jsxs)("div",{className:"group flex items-center gap-4 rounded-lg border border-solid border-gray-200 bg-white p-4",children:[(0,a.jsx)("div",{className:"flex h-11 w-11 shrink-0 items-center justify-center rounded-lg bg-uks-brand/10 text-uks-brand transition group-hover:bg-uks-brand/15","aria-hidden":"true",children:e}),(0,a.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,a.jsx)("h3",{className:"m-0 mb-1 text-[11px] font-semibold uppercase tracking-wider text-slate-400",children:t}),(0,a.jsx)("div",{className:"text-sm font-semibold text-slate-800",children:s})]})]}),xt=({icon:e,title:t,desc:s,href:r})=>(0,a.jsxs)("a",{href:r,target:"_blank",rel:"noopener noreferrer",className:"group flex items-center gap-4 rounded-lg border border-solid border-gray-200 bg-white p-4 text-inherit no-underline transition hover:border-uks-brand/25",children:[(0,a.jsx)("div",{className:"flex h-11 w-11 shrink-0 items-center justify-center rounded-lg bg-uks-brand/10 text-uks-brand transition group-hover:bg-uks-brand/15","aria-hidden":"true",children:e}),(0,a.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,a.jsx)("div",{className:"text-sm font-semibold text-slate-800",children:t}),(0,a.jsx)("p",{className:"m-0 mt-0.5 text-[12px] leading-snug text-slate-500",children:s})]})]}),mt=()=>{const e=Boolean(nt.isPro),t=nt.version||"";return(0,a.jsxs)("div",{className:"space-y-6",children:[(0,a.jsxs)("div",{className:"overflow-hidden rounded-usk border border-slate-200 bg-white",children:[(0,a.jsx)("div",{className:"bg-white p-4 sm:p-5 border border-solid border-gray-100",children:(0,a.jsxs)("div",{className:"flex max-w-3xl flex-col items-start gap-4 text-left sm:flex-row",children:[(0,a.jsx)("div",{className:"",children:(0,a.jsx)(l,{className:"w-12 h-12 block"})}),(0,a.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,a.jsxs)("div",{className:"mb-2 flex flex-wrap items-center justify-start gap-2",children:[(0,a.jsx)("h3",{className:"m-0 text-[22px] font-extrabold leading-none text-slate-900",children:(0,s.__)("Ultimate Store Kit","ultimate-store-kit")}),(0,a.jsxs)("span",{className:"inline-flex items-center rounded-full bg-uks-brand px-2.5 py-0.5 text-xs font-semibold text-white",children:["v",t]}),(0,a.jsx)("span",{className:"inline-flex items-center rounded-full px-2.5 py-0.5 text-xs font-semibold "+(e?"bg-emerald-100 text-emerald-800":"bg-slate-200 text-slate-700"),children:e?(0,s.__)("Pro","ultimate-store-kit"):(0,s.__)("Free","ultimate-store-kit")})]}),(0,a.jsx)("p",{className:"mb-4 text-[13px] leading-relaxed text-slate-600",children:(0,s.__)("Build online stores in WordPress with the powerful store builder addon for Elementor. Enjoy a wide range of customizations and easily build product grids, carousels, single product/page elements, checkouts and more.","ultimate-store-kit")}),(0,a.jsxs)("ul",{className:"m-0 flex list-none flex-wrap justify-start gap-3 p-0",children:[(0,a.jsx)("li",{className:"rounded-full py-1 px-2 border border-solid border-slate-200 bg-white/80 text-xs font-medium text-slate-600",children:(0,s.__)("Elementor widgets","ultimate-store-kit")}),(0,a.jsx)("li",{className:"rounded-full py-1 px-2 border border-solid border-slate-200 bg-white/80 text-xs font-medium text-slate-600",children:(0,s.__)("WooCommerce ready","ultimate-store-kit")}),(0,a.jsx)("li",{className:"rounded-full py-1 px-2 border border-solid border-slate-200 bg-white/80 text-xs font-medium text-slate-600",children:(0,s.__)("Store-focused UI","ultimate-store-kit")})]})]})]})}),(0,a.jsxs)("div",{className:"grid grid-cols-1 gap-px border-t border-slate-200 sm:grid-cols-3",children:[(0,a.jsxs)("div",{className:"bg-gray-100 px-4 py-3 text-center sm:text-left",children:[(0,a.jsx)("p",{className:"m-0 mb-0.5 text-[11px] font-semibold uppercase tracking-wide text-slate-400",children:(0,s.__)("Current version","ultimate-store-kit")}),(0,a.jsxs)("p",{className:"m-0 text-sm font-bold text-slate-800",children:["v",t]})]}),(0,a.jsxs)("div",{className:"bg-gray-100 px-4 py-3 text-center sm:text-left",children:[(0,a.jsx)("p",{className:"m-0 mb-0.5 text-[11px] font-semibold uppercase tracking-wide text-slate-400",children:(0,s.__)("License","ultimate-store-kit")}),(0,a.jsx)("p",{className:"m-0 text-sm font-bold text-slate-800",children:e?(0,s.__)("Pro (active)","ultimate-store-kit"):(0,s.__)("Free","ultimate-store-kit")})]}),(0,a.jsxs)("div",{className:"bg-gray-100 px-4 py-3 text-center sm:text-left",children:[(0,a.jsx)("p",{className:"m-0 mb-0.5 text-[11px] font-semibold uppercase tracking-wide text-slate-400",children:(0,s.__)("Built for","ultimate-store-kit")}),(0,a.jsx)("p",{className:"m-0 text-sm font-bold text-slate-800",children:(0,s.__)("WordPress + WooCommerce","ultimate-store-kit")})]})]})]}),(0,a.jsxs)("div",{className:"rounded-usk border border-solid border-gray-100 bg-white p-4 sm:p-5",children:[(0,a.jsx)("h3",{className:"m-0 mb-3 text-base font-bold text-slate-800",children:(0,s.__)("Product & support","ultimate-store-kit")}),(0,a.jsxs)("div",{className:"grid grid-cols-1 gap-3 sm:grid-cols-2 2xl:grid-cols-4",children:[(0,a.jsx)(ct,{label:(0,s.__)("Author","ultimate-store-kit"),icon:(0,a.jsx)(p,{}),children:(0,a.jsx)("a",{href:"https://bdthemes.com/",target:"_blank",rel:"noopener noreferrer",className:dt,children:"BdThemes"})}),(0,a.jsx)(ct,{label:(0,s.__)("Website","ultimate-store-kit"),icon:(0,a.jsx)(u,{}),children:(0,a.jsx)("a",{href:"https://storekit.pro/",target:"_blank",rel:"noopener noreferrer",className:dt,children:"storekit.pro"})}),(0,a.jsx)(ct,{label:(0,s.__)("Documentation","ultimate-store-kit"),icon:(0,a.jsx)(h,{}),children:(0,a.jsx)("a",{href:"https://bdthemes.com/knowledge-base/ultimate-store-kit/",target:"_blank",rel:"noopener noreferrer",className:dt,children:(0,s.__)("Knowledge Base","ultimate-store-kit")})}),(0,a.jsx)(ct,{label:(0,s.__)("Support","ultimate-store-kit"),icon:(0,a.jsx)(b,{}),children:(0,a.jsx)("a",{href:"https://bdthemes.com/support/",target:"_blank",rel:"noopener noreferrer",className:dt,children:(0,s.__)("Get Support","ultimate-store-kit")})})]})]}),(0,a.jsxs)("div",{className:"rounded-usk border border-solid border-gray-100 bg-white p-4 sm:p-5",children:[(0,a.jsx)("h3",{className:"m-0 mb-3 text-base font-bold text-slate-800",children:(0,s.__)("Useful links","ultimate-store-kit")}),(0,a.jsx)("ul",{className:"m-0 grid list-none grid-cols-1 gap-3 p-0 sm:grid-cols-2 2xl:grid-cols-4",children:[["https://www.youtube.com/c/bdthemes",(0,s.__)("Video tutorials","ultimate-store-kit"),(0,s.__)("Step-by-step YouTube tutorials for setup, widgets, and customization.","ultimate-store-kit"),(0,a.jsx)(g,{})],["https://feedback.bdthemes.com/b/6vr2250l/feature-requests/",(0,s.__)("Request a feature","ultimate-store-kit"),(0,s.__)("Share ideas and vote on what we build next.","ultimate-store-kit"),(0,a.jsx)(f,{})],["https://wordpress.org/plugins/ultimate-store-kit/",(0,s.__)("Rate us on WordPress.org","ultimate-store-kit"),(0,s.__)("Help others discover the plugin with a review.","ultimate-store-kit"),(0,a.jsx)(o,{className:"h-5 w-5"})],["https://www.facebook.com/groups/358290584725185",(0,s.__)("Facebook community","ultimate-store-kit"),(0,s.__)("Join our Facebook community to connect with other users and the team.","ultimate-store-kit"),(0,a.jsx)(j,{})]].map(([e,t,s,r])=>(0,a.jsx)("li",{children:(0,a.jsx)(xt,{href:e,title:t,desc:s,icon:r})},e))})]})]})},pt=()=>(0,a.jsxs)("div",{className:"relative inline-flex shrink-0 cursor-not-allowed select-none",style:{width:40,height:22},role:"presentation","aria-hidden":"true",title:(0,s.__)("Requires Pro license","ultimate-store-kit"),children:[(0,a.jsx)("span",{style:{position:"absolute",inset:0,borderRadius:9999,background:"#cbd5e1",border:"1px solid #94a3b8",boxSizing:"border-box"}}),(0,a.jsx)("span",{style:{position:"absolute",top:"50%",left:3,width:16,height:16,marginTop:-8,borderRadius:9999,background:"#ffffff",boxShadow:"0 1px 4px rgba(0,0,0,0.22)"}})]}),ut=({module:e})=>{const t=e?.label||e?.id||"",r=e?.description||"",l=e?.icon||e?.id||"grid",i="rounded-usk border border-solid border-gray-100 bg-white";return(0,a.jsxs)("div",{className:"flex flex-col gap-5",children:[(0,a.jsxs)("div",{className:`flex flex-col gap-4 p-5 sm:flex-row sm:items-center sm:justify-between ${i}`,children:[(0,a.jsxs)("div",{className:"flex min-w-0 items-center gap-3",children:[(0,a.jsx)("div",{className:"flex h-11 w-11 shrink-0 items-center justify-center rounded-xl bg-uks-brand/10 text-uks-brand","aria-hidden":"true",children:(0,a.jsx)(Ce,{name:l})}),(0,a.jsxs)("div",{className:"min-w-0",children:[(0,a.jsx)("h3",{className:"m-0 text-base font-bold text-slate-800",children:t}),r&&(0,a.jsx)("p",{className:"m-0 mt-1 text-[12px] leading-snug text-slate-500",children:r})]})]}),(0,a.jsx)("div",{className:"flex shrink-0 justify-end sm:pl-2",children:(0,a.jsx)(pt,{})})]}),(0,a.jsx)("div",{className:i,children:(0,a.jsxs)("div",{className:"flex flex-col items-center justify-center px-6 py-16 text-center sm:px-10 sm:py-20",children:[(0,a.jsx)("div",{className:"mx-auto mb-6 flex h-14 w-14 items-center justify-center rounded-xl bg-uks-brand/10 text-uks-brand","aria-hidden":"true",children:(0,a.jsx)(m,{className:"h-7 w-7",stroke:"currentColor"})}),(0,a.jsx)("h4",{className:"m-0 mb-2 text-lg font-bold tracking-tight text-slate-800",children:(0,s.__)("Module is currently disabled","ultimate-store-kit")}),(0,a.jsx)("p",{className:"m-0 mb-6 max-w-md text-[13px] leading-relaxed text-slate-500",children:(0,s.__)("This is a Pro feature. Upgrade to Ultimate Store Kit Pro to unlock this module and configure its settings.","ultimate-store-kit")}),(0,a.jsxs)("a",{href:"https://storekit.pro/pricing/",target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-2 rounded-lg border-0 bg-uks-brand px-5 py-2.5 text-sm font-semibold text-white no-underline transition-opacity hover:opacity-90",children:[(0,a.jsx)(o,{className:"h-4 w-4"}),(0,s.__)("Get Pro","ultimate-store-kit")]})]})})]})},ht=({notification:t,onDismiss:s})=>{if(!t)return null;const r="success"===t.type?"usk-toast--success":"usk-toast--error";return(0,e.createPortal)((0,a.jsx)("div",{className:"usk-toast-wrap",children:(0,a.jsxs)("div",{className:`usk-toast ${r}`,children:[(0,a.jsx)("span",{children:t.message}),(0,a.jsx)("button",{type:"button",className:"usk-toast__close",onClick:s,children:"×"})]})}),document.body)},bt=window.ultimateStoreKitAdminData||{},gt=(()=>{const e=bt.widgets?.ultimate_store_kit_other_settings||[],t=[];return e.forEach(e=>{var s;"start_group"===e.type?t.push({id:`settings-${s=e.label,s.toLowerCase().replace(/\s+/g,"-").replace(/[^a-z0-9-]/g,"")}`,label:e.label,proOnly:!1}):e.parent&&"pro"===e.widget_type&&t.length&&(t[t.length-1].proOnly=!0)}),t})(),ft=e=>{const t=gt.find(t=>t.id===e&&t.proOnly);if(!t)return null;const s=pe(t);return{id:t.id,label:t.label,icon:s,description:ce[s]||"",badge:"Pro",proPlaceholder:!0}},jt=()=>{const e=window.location.hash.replace("#","").split("?")[0],s=xe().map(e=>e.id),a=(0,t.applyFilters)("usk.admin.pages",{}),r=Object.keys(a),l=["welcome","widgets","woocommerce-widgets","edd-widgets","other-widgets","modules","performance","other-plugins","get-pro","about",...gt.map(e=>e.id),...s,...r];return(0,t.applyFilters)("usk.admin.validPages",l).includes(e)?e:"welcome"},_t=()=>{const[r,l]=(0,e.useState)(jt()),[i,o]=(0,e.useState)(()=>(bt.savedSettings=bt.savedSettings||{},Object.keys(bt.savedSettings).forEach(e=>{Array.isArray(bt.savedSettings[e])&&(bt.savedSettings[e]={})}),{...bt.savedSettings})),[n,d]=(0,e.useState)(!!bt.isPro),[c,x]=(0,e.useState)(!1),[m,p]=(0,e.useState)(null);(0,e.useEffect)(()=>((0,t.addAction)("usk.admin.notify","usk-core",e=>p(e)),()=>(0,t.removeAction)("usk.admin.notify","usk-core")),[]),(0,e.useEffect)(()=>((0,t.addAction)("usk.admin.licenseChanged","usk-core",e=>{d(e),window.ultimateStoreKitAdminData.isPro=e}),()=>(0,t.removeAction)("usk.admin.licenseChanged","usk-core")),[]),(0,e.useEffect)(()=>{if(m){const e=setTimeout(()=>p(null),3e3);return()=>clearTimeout(e)}},[m]),(0,e.useEffect)(()=>{const e=()=>{l(jt()),o({...bt.savedSettings})};return window.addEventListener("hashchange",e),()=>window.removeEventListener("hashchange",e)},[]),(0,e.useEffect)(()=>{if("get-pro"===r){const e=(0,t.applyFilters)("usk.admin.pages",{});if(e.license||n){const t=e.license?"license":"welcome";l(t),window.location.hash=`#${t}`}}},[n,r]);const u=(0,e.useCallback)((e,t)=>{x(!0),fetch(bt.restUrl+"settings",{method:"POST",headers:{"Content-Type":"application/json","X-WP-Nonce":bt.restNonce},body:JSON.stringify({section:e,settings:t})}).then(e=>{if(!e.ok)throw e;return e.json()}).then(a=>{bt.savedSettings[e]&&!Array.isArray(bt.savedSettings[e])||(bt.savedSettings[e]={}),Object.assign(bt.savedSettings[e],t),o({...bt.savedSettings}),p({type:"success",message:a?.message||(0,s.__)("Settings saved successfully.","ultimate-store-kit")})}).catch(()=>{p({type:"error",message:(0,s.__)("An error occurred while saving.","ultimate-store-kit")})}).finally(()=>{x(!1)})},[]),h=(0,e.useCallback)(e=>{l(e),window.location.hash!==`#${e}`&&(window.location.hash=`#${e}`),window.scrollTo({top:0,behavior:"smooth"})},[]),b=(({isPro:e,settingsGroups:s=[]})=>{const a=(0,t.applyFilters)("usk.admin.navItems",me),r=xe(),l=r.map(e=>e.id);return a.map(t=>{if("modules"===t.id){const a=s.map(t=>({id:t.id,label:t.label,icon:pe(t),...t.proOnly&&!e?{badge:"Pro",proPlaceholder:!0}:{}}));if(e)return{...t,items:[...a,...t.items]};const i=t.items.filter(e=>!l.includes(e.id));return{...t,items:[...a,...r,...i]}}return t})})({isPro:n,settingsGroups:gt}),g=(b.find(e=>"modules"===e.id)||{items:[]}).items,f=(b.find(e=>"support"===e.id)||{items:[]}).items,j=g.map(e=>e.id),_=!!(0,t.applyFilters)("usk.admin.pages",{}).license,k=[{key:"welcome",label:(0,s.__)("Dashboard","ultimate-store-kit"),icon:w,active:"welcome"===r},{key:"woocommerce-widgets",label:(0,s.__)("Widgets","ultimate-store-kit"),icon:v,active:["widgets","woocommerce-widgets","edd-widgets","other-widgets"].includes(r)},{key:"modules",label:(0,s.__)("Modules","ultimate-store-kit"),icon:y,active:"modules"===r||j.includes(r)},{key:"performance",label:(0,s.__)("Performance","ultimate-store-kit"),icon:H,active:"performance"===r},{key:"template-builder",label:(0,s.__)("Template Builder","ultimate-store-kit"),icon:N,href:bt.templateBuilderUrl}];_?k.push({key:"license",label:(0,s.__)("License","ultimate-store-kit"),icon:S,active:"license"===r}):n||k.push({key:"get-pro",label:(0,s.__)("Get Pro","ultimate-store-kit"),icon:M,active:"get-pro"===r}),k.push({key:"about",label:(0,s.__)("About & Info","ultimate-store-kit"),icon:P,active:"about"===r}),k.push({key:"other-plugins",label:(0,s.__)("Other Plugins","ultimate-store-kit"),icon:U,active:"other-plugins"===r});const C=k.map(e=>e.key),z=f.filter(e=>!(C.includes(e.id)||"get-pro"===e.id&&(n||_))).map(e=>({key:e.id,label:e.label,icon:"license"===e.id?S:"get-pro"===e.id?M:P,active:r===e.id})),A=[{id:"welcome",label:(0,s.__)("Dashboard","ultimate-store-kit"),group:(0,s.__)("Pages","ultimate-store-kit")},{id:"woocommerce-widgets",label:(0,s.__)("WooCommerce widgets","ultimate-store-kit"),group:(0,s.__)("Pages","ultimate-store-kit")},{id:"edd-widgets",label:(0,s.__)("EDD widgets","ultimate-store-kit"),group:(0,s.__)("Pages","ultimate-store-kit")},{id:"other-widgets",label:(0,s.__)("Other widgets","ultimate-store-kit"),group:(0,s.__)("Pages","ultimate-store-kit")},{id:"modules",label:(0,s.__)("All modules","ultimate-store-kit"),group:(0,s.__)("Pages","ultimate-store-kit")},{id:"template-builder",label:(0,s.__)("Template Builder","ultimate-store-kit"),group:(0,s.__)("Pages","ultimate-store-kit"),href:bt.templateBuilderUrl},{id:"performance",label:(0,s.__)("Performance","ultimate-store-kit"),group:(0,s.__)("Pages","ultimate-store-kit")},{id:"about",label:(0,s.__)("About & Info","ultimate-store-kit"),group:(0,s.__)("Pages","ultimate-store-kit")},{id:"other-plugins",label:(0,s.__)("Other Plugins","ultimate-store-kit"),group:(0,s.__)("Pages","ultimate-store-kit")},..._?[{id:"license",label:(0,s.__)("License","ultimate-store-kit"),group:(0,s.__)("Pages","ultimate-store-kit")}]:[],...z.map(e=>({id:e.key,label:e.label,group:(0,s.__)("Pages","ultimate-store-kit")})),...g.map(e=>({id:e.id,label:e.label,group:(0,s.__)("Modules","ultimate-store-kit")})),...[["ultimate_store_kit_active_modules","woocommerce-widgets"],["ultimate_store_kit_edd_modules","edd-widgets"],["ultimate_store_kit_general_modules","other-widgets"]].flatMap(([e,t])=>(bt.widgets?.[e]||[]).filter(e=>"checkbox"===e.type).map(e=>({id:`${t}?search=${encodeURIComponent(e.label)}`,label:e.label,group:(0,s.__)("Widgets","ultimate-store-kit")})))],L=g.find(e=>e.id===r);return(0,a.jsxs)("div",{className:"usk-app min-h-[calc(100vh-32px)] bg-[#f0f0f1] text-sm text-[#1d2327]",children:[(0,a.jsx)(ht,{notification:m,onDismiss:()=>p(null)}),(0,a.jsxs)("div",{className:"mx-auto box-border w-full max-w-[1400px] px-12 pb-[60px] pt-[30px] max-[1024px]:px-7 max-[1024px]:pt-6 max-[640px]:px-0 max-[640px]:pt-4",children:[(0,a.jsxs)("div",{className:"rounded-card border border-solid border-[#e6e6ea] bg-white",children:[(0,a.jsx)(le,{version:bt.version,isPro:n,isProPluginActive:!!bt.isProPluginActive,templateBuilderUrl:bt.templateBuilderUrl,searchItems:A,onSearchSelect:e=>{e.href?window.location.href=e.href:(window.location.hash=`#${e.id}`,window.scrollTo({top:0,behavior:"smooth"}))}}),(0,a.jsx)(oe,{tabs:k,moreItems:z,onNavigate:h})]}),(0,a.jsxs)("main",{className:"mt-[26px]",children:[L?(0,a.jsxs)("div",{className:"mb-4 flex flex-wrap items-center gap-2 text-[13px] font-semibold text-[#6c6c75]",children:[(0,a.jsxs)("button",{type:"button",onClick:()=>h("modules"),className:"inline-flex cursor-pointer items-center gap-1.5 rounded-full border border-solid border-[#e6e6ea] bg-white px-3 py-1.5 text-[13px] font-bold text-[#3f3f46] transition-colors hover:border-[#e30c1d] hover:text-[#e30c1d]",children:[(0,a.jsx)($,{size:14}),(0,s.__)("All modules","ultimate-store-kit")]}),(0,a.jsx)("span",{"aria-hidden":"true",children:"/"}),(0,a.jsx)("span",{className:"text-[#0f1115]",children:L.label}),L.badge&&!n?(0,a.jsx)(se,{}):null]}):null,(()=>{const e=bt.widgets||{},s=(0,t.applyFilters)("usk.admin.pages",{});if(s[r]){if(!n){const e=xe().find(e=>e.id===r)||ft(r);if(e)return(0,a.jsx)(ut,{module:e})}const e=s[r];return(0,a.jsx)(e,{})}const l=xe().find(e=>e.id===r)||!n&&ft(r);if(l)return(0,a.jsx)(ut,{module:l});switch(r){case"welcome":return(0,a.jsx)(Me,{widgets:e,settings:i,isPro:n,moduleItems:g,onNavigate:h});case"other-plugins":return(0,a.jsx)(Je,{onNotify:p});case"performance":return(0,a.jsx)(Ue,{settings:i,onSave:u,saving:c});case"modules":return(0,a.jsx)(Pe,{items:g,settings:i,isPro:n,onNavigate:h});case"widgets":case"woocommerce-widgets":case"edd-widgets":case"other-widgets":{const t={"woocommerce-widgets":"wc","edd-widgets":"edd","other-widgets":"other",widgets:"wc"};return(0,a.jsx)(et,{allWidgets:e,allSettings:i,onSave:u,saving:c,isPro:n,widgetType:t[r],onNavigate:h})}case"get-pro":return n?(0,a.jsx)(Me,{widgets:e,settings:i,isPro:n,moduleItems:g,onNavigate:h}):(0,a.jsx)(ot,{isPro:n});case"about":return(0,a.jsx)(mt,{});default:{const t=gt.find(e=>e.id===r);return t?(0,a.jsx)(at,{widgets:e.ultimate_store_kit_other_settings||[],section:"ultimate_store_kit_other_settings",settings:i.ultimate_store_kit_other_settings||{},onSave:u,saving:c,isPro:n,activeGroup:t.label}):(0,a.jsx)(Me,{widgets:e,settings:i,isPro:n,moduleItems:g,onNavigate:h})}}})()]}),(0,a.jsxs)("footer",{className:"mt-10 text-center text-[12.5px] text-[#8a8a93]",children:[(0,s.__)("Ultimate Store Kit Addon made with love by","ultimate-store-kit")," ",(0,a.jsx)("a",{target:"_blank",rel:"noopener noreferrer",href:"https://bdthemes.com",className:"font-semibold text-[#e30c1d] no-underline hover:underline",children:"BdThemes"}),". ",(0,s.__)("All rights reserved.","ultimate-store-kit")]})]})]})};document.addEventListener("DOMContentLoaded",()=>{const t=document.querySelector(".ultimate-store-kit-admin-root");t&&(0,e.createRoot)(t).render((0,a.jsx)(_t,{}))})}};const t={};function s(a){const r=t[a];if(void 0!==r)return r.exports;const l=t[a]={exports:{}};return e[a](l,l.exports,s),l.exports}s.m=e,(()=>{const e=[];s.O=(t,a,r,l)=>{if(a){l=l||0;for(var i=e.length;i>0&&e[i-1][2]>l;i--)e[i]=e[i-1];return void(e[i]=[a,r,l])}let o=1/0;for(i=0;i<e.length;i++){let[a,r,l]=e[i],d=!0;for(var n=0;n<a.length;n++)(!1&l||o>=l)&&Object.keys(s.O).every(e=>s.O[e](a[n]))?a.splice(n--,1):(d=!1,l<o&&(o=l));if(d){e.splice(i--,1);const s=r();void 0!==s&&(t=s)}}return t}})(),s.o=(e,t)=>Object.hasOwn(e,t),(()=>{const e={16:0,1524:0};s.O.j=t=>0===e[t];const t=(t,a)=>{let[r,l,i]=a;var o,n,d=0;if(r.some(t=>0!==e[t])){for(o in l)s.o(l,o)&&(s.m[o]=l[o]);if(i)var c=i(s)}for(t&&t(a);d<r.length;d++)n=r[d],s.o(e,n)&&e[n]&&e[n][0](),e[n]=0;return s.O(c)},a=globalThis.webpackChunkultimate_store_kit||=[];a.forEach(t.bind(null,0)),a.push=t.bind(null,a.push.bind(a))})();let a=s.O(void 0,[1524],()=>s(3399));a=s.O(a)})();
  • ultimate-store-kit/trunk/assets/admin/others/css/ultimate-builder-rtl.css

    r3504294 r3790891  
    1 body.post-type-usk-template-builder .row-actions span.view,body.post-type-usk-template-builder .row-actions span.inline{display:none !important}.usk-modal-overlay{position:fixed;height:100%;width:100%;bottom:0;right:0;background-color:rgba(0,0,0,.746);z-index:9999}#ultimate-builder-kit-builder-modal-wrapper{background-color:#fff;position:absolute;width:85%;top:50%;right:50%;transform:translate(50%, -50%);z-index:1111;max-width:1024px}.usk-template-modal-header{display:flex;align-items:center;background-color:#fff;box-shadow:0 5px 15px rgba(0,0,0,.08);padding:15px}.usk-modal-logo-wrap{display:flex;align-items:center;cursor:pointer}.usk-modal-logo-wrap .usk-modal-logo{width:30px}.usk-modal-logo-wrap .usk-logo-text{font-size:15px;color:#495157;text-transform:uppercase;font-weight:700;padding-right:12px}.usk-modal-close-button{margin-right:auto;border-right:1px solid #e8e2e2;padding-right:10px}.usk-modal-close-button a{text-decoration:none}.usk-modal-close-button .usk-icon-close{font-size:22px;color:#8d99ae}.usk-template-modal-main-wrap{padding:30px;display:flex;flex-direction:column;align-items:center;grid-gap:40px}.usk-template-modal-main-wrap .usk-modal-content-wrap{width:100%}.usk-modal-content-wrap .usk-modal-title{font-size:20px;color:#556068;line-height:1.4;text-transform:capitalize;margin:0;margin-bottom:30px}.usk-modal-content-wrap .usk-modal-title span{font-weight:700;display:inline-table}.usk-modal-content-wrap .usk-modal-desc{color:#6d7882;font-size:12px;line-height:1.5}.usk-template-modal-main-wrap .usk-modal-form-wrap{width:100%;background-color:#fff;box-shadow:0 5px 15px rgba(0,0,0,.08);padding:20px}.usk-template-modal-main-wrap .usk-modal-form-wrap .usk-modal-form{display:flex;flex-direction:column;grid-row-gap:10px}.usk-modal-form .usk-form-title{font-size:18px;font-weight:700;margin-bottom:6px;line-height:1.3;color:#2b2d42;text-transform:capitalize}.usk-modal-form label{font-size:12px;text-transform:capitalize;color:#6d7882}.usk-modal-form select,.usk-modal-form input{height:35px;border:1px solid #cecece;color:#6d7882;text-transform:capitalize;font-size:12px;border-radius:3px;outline:none;margin-bottom:10px}.usk-modal-form select:focus{border:1px solid #8d99ae;border-color:none;color:none;box-shadow:none}.usk-modal-form input[type=text]{border:1px solid #cecece;outline:none}.usk-modal-form input[type=text]:focus{border:1px solid #8d99ae;border-color:none;color:none;box-shadow:none}.usk-modal-form .usk-modal-submit-btn{margin:0;background:#ef233c;border:0;color:#fff;text-transform:uppercase;font-size:11px;transition:all .3s ease;cursor:pointer}.usk-modal-form .usk-modal-submit-btn:hover{background:#d90429}.usk-template-status-switcher-wrap{display:flex;align-items:center;gap:12px;margin-bottom:10px}.usk-template-status-switcher-wrap .usk-switcher-status-text{font-size:12px;color:#6d7882;font-weight:500}.usk-template-status-switcher{position:relative;display:inline-flex;align-items:center;width:52px;height:28px;background:#cecece;border-radius:28px;cursor:pointer;transition:background .3s ease}.usk-template-status-switcher.usk-active{background:#ef233c}.usk-template-status-switcher .usk-switcher-slider{position:absolute;width:22px;height:22px;background:#fff;border-radius:50%;right:3px;top:3px;transition:transform .3s ease;box-shadow:0 2px 4px rgba(0,0,0,.2)}.usk-template-status-switcher.usk-active .usk-switcher-slider{transform:translateX(-24px)}@media(min-width: 768px){.usk-template-status-switcher-wrap{margin-bottom:12px}#ultimate-builder-kit-builder-modal-wrapper{width:82%}.usk-template-modal-main-wrap{padding:40px;flex-direction:row}.usk-modal-content-wrap .usk-modal-title{font-size:24px}.usk-modal-content-wrap .usk-modal-desc{font-size:14px}.usk-template-modal-main-wrap .usk-modal-form-wrap{padding:30px}.usk-modal-form .usk-form-title{font-size:20px;margin-bottom:15px}.usk-modal-form label{font-size:12px}.usk-modal-form select,.usk-modal-form input{height:40px;font-size:12px;margin-bottom:12px}.usk-modal-form .usk-modal-submit-btn{font-size:12px}}@media(min-width: 1024px){.usk-template-status-switcher-wrap{margin-bottom:20px}#ultimate-builder-kit-builder-modal-wrapper{width:79%}.usk-template-modal-main-wrap{padding:50px}.usk-modal-content-wrap .usk-modal-title{font-size:30px}.usk-modal-content-wrap .usk-modal-desc{font-size:16px}.usk-template-modal-main-wrap .usk-modal-form-wrap{padding:40px}.usk-modal-form .usk-form-title{font-size:22px;margin-bottom:30px}.usk-modal-form label{font-size:14px}.usk-modal-form select,.usk-modal-form input{height:50px;font-size:14px;margin-bottom:20px}.usk-modal-form .usk-modal-submit-btn{font-size:14px}}@media(min-width: 1440px){#ultimate-builder-kit-builder-modal-wrapper{width:54%}.usk-template-modal-main-wrap{padding:100px}}
     1body.post-type-usk-template-builder .row-actions span.view,body.post-type-usk-template-builder .row-actions span.inline{display:none !important}.usk-modal-overlay{position:fixed;height:100%;width:100%;bottom:0;right:0;background-color:rgba(0,0,0,.746);z-index:9999}#ultimate-builder-kit-builder-modal-wrapper{background-color:#fff;position:absolute;width:85%;top:50%;right:50%;transform:translate(50%, -50%);z-index:1111;max-width:1024px}.usk-template-modal-header{display:flex;align-items:center;background-color:#fff;box-shadow:0 5px 15px rgba(0,0,0,.08);padding:15px}.usk-modal-logo-wrap{display:flex;align-items:center;cursor:pointer}.usk-modal-logo-wrap .usk-modal-logo{width:30px}.usk-modal-logo-wrap .usk-logo-text{font-size:15px;color:#495157;text-transform:uppercase;font-weight:700;padding-right:12px}.usk-modal-close-button{margin-right:auto;border-right:1px solid #e8e2e2;padding-right:10px}.usk-modal-close-button a{text-decoration:none}.usk-modal-close-button .usk-icon-close{font-size:22px;color:#8d99ae}.usk-template-modal-main-wrap{padding:30px;display:flex;flex-direction:column;align-items:center;grid-gap:40px}.usk-template-modal-main-wrap .usk-modal-content-wrap{width:100%}.usk-modal-content-wrap .usk-modal-title{font-size:20px;color:#556068;line-height:1.4;text-transform:capitalize;margin:0;margin-bottom:30px}.usk-modal-content-wrap .usk-modal-title span{font-weight:700;display:inline-table}.usk-modal-content-wrap .usk-modal-desc{color:#6d7882;font-size:12px;line-height:1.5}.usk-template-modal-main-wrap .usk-modal-form-wrap{width:100%;background-color:#fff;box-shadow:0 5px 15px rgba(0,0,0,.08);padding:20px}.usk-template-modal-main-wrap .usk-modal-form-wrap .usk-modal-form{display:flex;flex-direction:column;grid-row-gap:10px}.usk-modal-form .usk-form-title{font-size:18px;font-weight:700;margin-bottom:6px;line-height:1.3;color:#2b2d42;text-transform:capitalize}.usk-modal-form label{font-size:12px;text-transform:capitalize;color:#6d7882}.usk-modal-form select,.usk-modal-form input{height:35px;border:1px solid #cecece;color:#6d7882;text-transform:capitalize;font-size:12px;border-radius:3px;outline:none;margin-bottom:10px}.usk-modal-form select:focus{border:1px solid #8d99ae;border-color:none;color:none;box-shadow:none}.usk-modal-form input[type=text]{border:1px solid #cecece;outline:none}.usk-modal-form input[type=text]:focus{border:1px solid #8d99ae;border-color:none;color:none;box-shadow:none}.usk-modal-form .usk-modal-submit-btn{margin:0;background:#ef233c;border:0;color:#fff;text-transform:uppercase;font-size:11px;transition:all .3s ease;cursor:pointer}.usk-modal-form .usk-modal-submit-btn:hover{background:#d90429}.usk-template-status-switcher-wrap{display:flex;align-items:center;gap:12px;margin-bottom:10px}.usk-template-status-switcher-wrap .usk-switcher-status-text{font-size:12px;color:#6d7882;font-weight:500}.usk-template-status-switcher{position:relative;display:inline-flex;align-items:center;width:52px;height:28px;background:#cecece;border-radius:28px;cursor:pointer;transition:background .3s ease}.usk-template-status-switcher.usk-active{background:#ef233c}.usk-template-status-switcher .usk-switcher-slider{position:absolute;width:22px;height:22px;background:#fff;border-radius:50%;right:3px;top:3px;transition:transform .3s ease;box-shadow:0 2px 4px rgba(0,0,0,.2)}.usk-template-status-switcher.usk-active .usk-switcher-slider{transform:translateX(-24px)}@media(min-width: 768px){.usk-template-status-switcher-wrap{margin-bottom:12px}#ultimate-builder-kit-builder-modal-wrapper{width:82%}.usk-template-modal-main-wrap{padding:40px;flex-direction:row}.usk-modal-content-wrap .usk-modal-title{font-size:24px}.usk-modal-content-wrap .usk-modal-desc{font-size:14px}.usk-template-modal-main-wrap .usk-modal-form-wrap{padding:30px}.usk-modal-form .usk-form-title{font-size:20px;margin-bottom:15px}.usk-modal-form label{font-size:12px}.usk-modal-form select,.usk-modal-form input{height:40px;font-size:12px;margin-bottom:12px}.usk-modal-form .usk-modal-submit-btn{font-size:12px}}@media(min-width: 1024px){.usk-template-status-switcher-wrap{margin-bottom:20px}#ultimate-builder-kit-builder-modal-wrapper{width:79%}.usk-template-modal-main-wrap{padding:50px}.usk-modal-content-wrap .usk-modal-title{font-size:30px}.usk-modal-content-wrap .usk-modal-desc{font-size:16px}.usk-template-modal-main-wrap .usk-modal-form-wrap{padding:40px}.usk-modal-form .usk-form-title{font-size:22px;margin-bottom:30px}.usk-modal-form label{font-size:14px}.usk-modal-form select,.usk-modal-form input{height:50px;font-size:14px;margin-bottom:20px}.usk-modal-form .usk-modal-submit-btn{font-size:14px}}@media(min-width: 1440px){#ultimate-builder-kit-builder-modal-wrapper{width:54%}.usk-template-modal-main-wrap{padding:100px}}#ultimate-builder-kit-builder-modal-wrapper{max-height:90vh;overflow-y:auto}.usk-modal-form .usk-template-conditions{display:flex;flex-direction:column;grid-row-gap:10px;padding:12px 0 4px;border-top:1px solid #eee}.usk-modal-form .usk-template-conditions .usk-form-title{font-size:15px;margin-bottom:0}.usk-modal-form .usk-template-conditions-desc{margin:0;font-size:12px;color:#6d7882}.usk-modal-form .usk-template-condition{display:flex;flex-direction:column;grid-row-gap:6px}.usk-modal-form .usk-template-condition .select2-container{margin-bottom:4px}.usk-modal-form .usk-template-condition .select2-search__field{height:auto;margin:5px 0 0;border:0;text-transform:none}body.post-type-usk-template-builder .select2-container--open{z-index:100000}
  • ultimate-store-kit/trunk/assets/admin/others/css/ultimate-builder.css

    r3504294 r3790891  
    1 body.post-type-usk-template-builder .row-actions span.view,body.post-type-usk-template-builder .row-actions span.inline{display:none !important}.usk-modal-overlay{position:fixed;height:100%;width:100%;bottom:0;left:0;background-color:rgba(0,0,0,.746);z-index:9999}#ultimate-builder-kit-builder-modal-wrapper{background-color:#fff;position:absolute;width:85%;top:50%;left:50%;transform:translate(-50%, -50%);z-index:1111;max-width:1024px}.usk-template-modal-header{display:flex;align-items:center;background-color:#fff;box-shadow:0 5px 15px rgba(0,0,0,.08);padding:15px}.usk-modal-logo-wrap{display:flex;align-items:center;cursor:pointer}.usk-modal-logo-wrap .usk-modal-logo{width:30px}.usk-modal-logo-wrap .usk-logo-text{font-size:15px;color:#495157;text-transform:uppercase;font-weight:700;padding-left:12px}.usk-modal-close-button{margin-left:auto;border-left:1px solid #e8e2e2;padding-left:10px}.usk-modal-close-button a{text-decoration:none}.usk-modal-close-button .usk-icon-close{font-size:22px;color:#8d99ae}.usk-template-modal-main-wrap{padding:30px;display:flex;flex-direction:column;align-items:center;grid-gap:40px}.usk-template-modal-main-wrap .usk-modal-content-wrap{width:100%}.usk-modal-content-wrap .usk-modal-title{font-size:20px;color:#556068;line-height:1.4;text-transform:capitalize;margin:0;margin-bottom:30px}.usk-modal-content-wrap .usk-modal-title span{font-weight:700;display:inline-table}.usk-modal-content-wrap .usk-modal-desc{color:#6d7882;font-size:12px;line-height:1.5}.usk-template-modal-main-wrap .usk-modal-form-wrap{width:100%;background-color:#fff;box-shadow:0 5px 15px rgba(0,0,0,.08);padding:20px}.usk-template-modal-main-wrap .usk-modal-form-wrap .usk-modal-form{display:flex;flex-direction:column;grid-row-gap:10px}.usk-modal-form .usk-form-title{font-size:18px;font-weight:700;margin-bottom:6px;line-height:1.3;color:#2b2d42;text-transform:capitalize}.usk-modal-form label{font-size:12px;text-transform:capitalize;color:#6d7882}.usk-modal-form select,.usk-modal-form input{height:35px;border:1px solid #cecece;color:#6d7882;text-transform:capitalize;font-size:12px;border-radius:3px;outline:none;margin-bottom:10px}.usk-modal-form select:focus{border:1px solid #8d99ae;border-color:none;color:none;box-shadow:none}.usk-modal-form input[type=text]{border:1px solid #cecece;outline:none}.usk-modal-form input[type=text]:focus{border:1px solid #8d99ae;border-color:none;color:none;box-shadow:none}.usk-modal-form .usk-modal-submit-btn{margin:0;background:#ef233c;border:0;color:#fff;text-transform:uppercase;font-size:11px;transition:all .3s ease;cursor:pointer}.usk-modal-form .usk-modal-submit-btn:hover{background:#d90429}.usk-template-status-switcher-wrap{display:flex;align-items:center;gap:12px;margin-bottom:10px}.usk-template-status-switcher-wrap .usk-switcher-status-text{font-size:12px;color:#6d7882;font-weight:500}.usk-template-status-switcher{position:relative;display:inline-flex;align-items:center;width:52px;height:28px;background:#cecece;border-radius:28px;cursor:pointer;transition:background .3s ease}.usk-template-status-switcher.usk-active{background:#ef233c}.usk-template-status-switcher .usk-switcher-slider{position:absolute;width:22px;height:22px;background:#fff;border-radius:50%;left:3px;top:3px;transition:transform .3s ease;box-shadow:0 2px 4px rgba(0,0,0,.2)}.usk-template-status-switcher.usk-active .usk-switcher-slider{transform:translateX(24px)}@media(min-width: 768px){.usk-template-status-switcher-wrap{margin-bottom:12px}#ultimate-builder-kit-builder-modal-wrapper{width:82%}.usk-template-modal-main-wrap{padding:40px;flex-direction:row}.usk-modal-content-wrap .usk-modal-title{font-size:24px}.usk-modal-content-wrap .usk-modal-desc{font-size:14px}.usk-template-modal-main-wrap .usk-modal-form-wrap{padding:30px}.usk-modal-form .usk-form-title{font-size:20px;margin-bottom:15px}.usk-modal-form label{font-size:12px}.usk-modal-form select,.usk-modal-form input{height:40px;font-size:12px;margin-bottom:12px}.usk-modal-form .usk-modal-submit-btn{font-size:12px}}@media(min-width: 1024px){.usk-template-status-switcher-wrap{margin-bottom:20px}#ultimate-builder-kit-builder-modal-wrapper{width:79%}.usk-template-modal-main-wrap{padding:50px}.usk-modal-content-wrap .usk-modal-title{font-size:30px}.usk-modal-content-wrap .usk-modal-desc{font-size:16px}.usk-template-modal-main-wrap .usk-modal-form-wrap{padding:40px}.usk-modal-form .usk-form-title{font-size:22px;margin-bottom:30px}.usk-modal-form label{font-size:14px}.usk-modal-form select,.usk-modal-form input{height:50px;font-size:14px;margin-bottom:20px}.usk-modal-form .usk-modal-submit-btn{font-size:14px}}@media(min-width: 1440px){#ultimate-builder-kit-builder-modal-wrapper{width:54%}.usk-template-modal-main-wrap{padding:100px}}
     1body.post-type-usk-template-builder .row-actions span.view,body.post-type-usk-template-builder .row-actions span.inline{display:none !important}.usk-modal-overlay{position:fixed;height:100%;width:100%;bottom:0;left:0;background-color:rgba(0,0,0,.746);z-index:9999}#ultimate-builder-kit-builder-modal-wrapper{background-color:#fff;position:absolute;width:85%;top:50%;left:50%;transform:translate(-50%, -50%);z-index:1111;max-width:1024px}.usk-template-modal-header{display:flex;align-items:center;background-color:#fff;box-shadow:0 5px 15px rgba(0,0,0,.08);padding:15px}.usk-modal-logo-wrap{display:flex;align-items:center;cursor:pointer}.usk-modal-logo-wrap .usk-modal-logo{width:30px}.usk-modal-logo-wrap .usk-logo-text{font-size:15px;color:#495157;text-transform:uppercase;font-weight:700;padding-left:12px}.usk-modal-close-button{margin-left:auto;border-left:1px solid #e8e2e2;padding-left:10px}.usk-modal-close-button a{text-decoration:none}.usk-modal-close-button .usk-icon-close{font-size:22px;color:#8d99ae}.usk-template-modal-main-wrap{padding:30px;display:flex;flex-direction:column;align-items:center;grid-gap:40px}.usk-template-modal-main-wrap .usk-modal-content-wrap{width:100%}.usk-modal-content-wrap .usk-modal-title{font-size:20px;color:#556068;line-height:1.4;text-transform:capitalize;margin:0;margin-bottom:30px}.usk-modal-content-wrap .usk-modal-title span{font-weight:700;display:inline-table}.usk-modal-content-wrap .usk-modal-desc{color:#6d7882;font-size:12px;line-height:1.5}.usk-template-modal-main-wrap .usk-modal-form-wrap{width:100%;background-color:#fff;box-shadow:0 5px 15px rgba(0,0,0,.08);padding:20px}.usk-template-modal-main-wrap .usk-modal-form-wrap .usk-modal-form{display:flex;flex-direction:column;grid-row-gap:10px}.usk-modal-form .usk-form-title{font-size:18px;font-weight:700;margin-bottom:6px;line-height:1.3;color:#2b2d42;text-transform:capitalize}.usk-modal-form label{font-size:12px;text-transform:capitalize;color:#6d7882}.usk-modal-form select,.usk-modal-form input{height:35px;border:1px solid #cecece;color:#6d7882;text-transform:capitalize;font-size:12px;border-radius:3px;outline:none;margin-bottom:10px}.usk-modal-form select:focus{border:1px solid #8d99ae;border-color:none;color:none;box-shadow:none}.usk-modal-form input[type=text]{border:1px solid #cecece;outline:none}.usk-modal-form input[type=text]:focus{border:1px solid #8d99ae;border-color:none;color:none;box-shadow:none}.usk-modal-form .usk-modal-submit-btn{margin:0;background:#ef233c;border:0;color:#fff;text-transform:uppercase;font-size:11px;transition:all .3s ease;cursor:pointer}.usk-modal-form .usk-modal-submit-btn:hover{background:#d90429}.usk-template-status-switcher-wrap{display:flex;align-items:center;gap:12px;margin-bottom:10px}.usk-template-status-switcher-wrap .usk-switcher-status-text{font-size:12px;color:#6d7882;font-weight:500}.usk-template-status-switcher{position:relative;display:inline-flex;align-items:center;width:52px;height:28px;background:#cecece;border-radius:28px;cursor:pointer;transition:background .3s ease}.usk-template-status-switcher.usk-active{background:#ef233c}.usk-template-status-switcher .usk-switcher-slider{position:absolute;width:22px;height:22px;background:#fff;border-radius:50%;left:3px;top:3px;transition:transform .3s ease;box-shadow:0 2px 4px rgba(0,0,0,.2)}.usk-template-status-switcher.usk-active .usk-switcher-slider{transform:translateX(24px)}@media(min-width: 768px){.usk-template-status-switcher-wrap{margin-bottom:12px}#ultimate-builder-kit-builder-modal-wrapper{width:82%}.usk-template-modal-main-wrap{padding:40px;flex-direction:row}.usk-modal-content-wrap .usk-modal-title{font-size:24px}.usk-modal-content-wrap .usk-modal-desc{font-size:14px}.usk-template-modal-main-wrap .usk-modal-form-wrap{padding:30px}.usk-modal-form .usk-form-title{font-size:20px;margin-bottom:15px}.usk-modal-form label{font-size:12px}.usk-modal-form select,.usk-modal-form input{height:40px;font-size:12px;margin-bottom:12px}.usk-modal-form .usk-modal-submit-btn{font-size:12px}}@media(min-width: 1024px){.usk-template-status-switcher-wrap{margin-bottom:20px}#ultimate-builder-kit-builder-modal-wrapper{width:79%}.usk-template-modal-main-wrap{padding:50px}.usk-modal-content-wrap .usk-modal-title{font-size:30px}.usk-modal-content-wrap .usk-modal-desc{font-size:16px}.usk-template-modal-main-wrap .usk-modal-form-wrap{padding:40px}.usk-modal-form .usk-form-title{font-size:22px;margin-bottom:30px}.usk-modal-form label{font-size:14px}.usk-modal-form select,.usk-modal-form input{height:50px;font-size:14px;margin-bottom:20px}.usk-modal-form .usk-modal-submit-btn{font-size:14px}}@media(min-width: 1440px){#ultimate-builder-kit-builder-modal-wrapper{width:54%}.usk-template-modal-main-wrap{padding:100px}}#ultimate-builder-kit-builder-modal-wrapper{max-height:90vh;overflow-y:auto}.usk-modal-form .usk-template-conditions{display:flex;flex-direction:column;grid-row-gap:10px;padding:12px 0 4px;border-top:1px solid #eee}.usk-modal-form .usk-template-conditions .usk-form-title{font-size:15px;margin-bottom:0}.usk-modal-form .usk-template-conditions-desc{margin:0;font-size:12px;color:#6d7882}.usk-modal-form .usk-template-condition{display:flex;flex-direction:column;grid-row-gap:6px}.usk-modal-form .usk-template-condition .select2-container{margin-bottom:4px}.usk-modal-form .usk-template-condition .select2-search__field{height:auto;margin:5px 0 0;border:0;text-transform:none}body.post-type-usk-template-builder .select2-container--open{z-index:100000}
  • ultimate-store-kit/trunk/assets/admin/others/js/ultimate-builder.js

    r3700275 r3790891  
    1 !function(t){"use strict";var __=wp.i18n.__;function e(){t("#ultimate-builder-kit-builder-modal").show()}function a(){t("#ultimate-builder-kit-builder-modal form")[0].reset(),t("#ultimate-builder-kit-builder-modal form .template_id").val(""),l(1)}function i(e){t("#ultimate-builder-kit-builder-modal form .usk-modal-submit-btn").val(e)}function u(e){t(".input-error").removeClass("input-error")}function l(e){var a="1"===String(e),i=t("#ultimate-builder-kit-builder-modal"),u=i.find("#usk_template_status_switcher");i.find("#usk_template_status").val(a?"1":"0"),a?u.addClass("usk-active"):u.removeClass("usk-active"),u.attr("aria-checked",a?"true":"false");var l=__("Active","ultimate-store-kit"),r=__("Inactive","ultimate-store-kit");i.find(".usk-switcher-status-text").text(a?l:r)}t(document).on("click","#ultimate-builder-kit-builder-modal .usk-modal-close-button",function(e){t("#ultimate-builder-kit-builder-modal").hide()}),t(document).on("click","body.post-type-usk-template-builder a.page-title-action",function(t){t.preventDefault(),a(),i(__("Create Template","ultimate-store-kit")),e()}),t(document).on("submit","#ultimate-builder-kit-builder-modal form",function(e){e.preventDefault();var a=t(this).serialize();u(),t.ajax({url:ajaxurl,dataType:"json",method:"post",cache:!1,data:{action:"ultimate_store_kit_builder_create_template",data:a},success:function(t){window.location.href=t.data.redirect},error:function(e){422==e.status&&t.each(e.responseJSON.data.errors_arr,function(e,a){t("#ultimate-builder-kit-builder-modal #"+e).addClass("input-error")})}})}),t(document).on("click","body.post-type-usk-template-builder .row-actions .usk-edit-action a",function(r){r.preventDefault(),u(),a(),i(__("Update Template","ultimate-store-kit")),t.ajax({url:ajaxurl,dataType:"json",method:"post",data:{action:"ultimate_store_kit_builder_get_edit_template",template_id:t(this).data("id"),nonce:UltimateStoreKitConfigBuilder.nonce},success:function(a){a.success&&(t("#ultimate-builder-kit-builder-modal form .template_id").val(a.data.id).change(),t("#ultimate-builder-kit-builder-modal form #template_name").val(a.data.name).change(),t("#ultimate-builder-kit-builder-modal form #template_type").val(a.data.type).change(),l(a.data.status)),e()},error:function(t){console.log(t),422!=t.status&&403!=t.status||alert(__("Permission denied or invalid request","ultimate-store-kit"))}})}),t(document).ready(function(){t("#ultimate-builder-kit-builder-modal").on("click","#usk_template_status_switcher",function(){l("1"===t("#usk_template_status").val()?0:1)}).on("keydown","#usk_template_status_switcher",function(e){" "!==e.key&&"Enter"!==e.key||(e.preventDefault(),l("1"===t("#usk_template_status").val()?0:1))})})}(jQuery);
     1!function(t){"use strict";var __=wp.i18n.__;function e(){t("#ultimate-builder-kit-builder-modal").show()}function i(){t("#ultimate-builder-kit-builder-modal form")[0].reset(),t("#ultimate-builder-kit-builder-modal form .template_id").val(""),r(1),u({},{}),a()}function a(){var e=t("#ultimate-builder-kit-builder-modal .usk-template-conditions"),i=(e.data("condition-types")||{})[String(t("#ultimate-builder-kit-builder-modal #template_type").val()||"").toLowerCase()]||[];e.toggle(i.length>0),e.find(".usk-template-condition").each(function(){var e=t(this),a=-1!==i.indexOf(e.data("condition"));e.toggle(a),e.find("select").prop("disabled",!a)})}function u(e,i){var a=t("#ultimate-builder-kit-builder-modal"),u=a.find("#usk_condition_products");u.empty(),t.each(i||{},function(t,e){u.append(new Option(e,t,!0,!0))}),u.trigger("change"),t.each(["product_cat","product_tag"],function(t,i){var u=e&&e[i]||[];a.find("#usk_condition_"+i).val(u.map(String)).trigger("change")})}function l(e){t("#ultimate-builder-kit-builder-modal form .usk-modal-submit-btn").val(e)}function o(e){t(".input-error").removeClass("input-error")}function r(e){var i="1"===String(e),a=t("#ultimate-builder-kit-builder-modal"),u=a.find("#usk_template_status_switcher");a.find("#usk_template_status").val(i?"1":"0"),i?u.addClass("usk-active"):u.removeClass("usk-active"),u.attr("aria-checked",i?"true":"false");var l=__("Active","ultimate-store-kit"),o=__("Inactive","ultimate-store-kit");a.find(".usk-switcher-status-text").text(i?l:o)}t(document).on("change","#ultimate-builder-kit-builder-modal #template_type",a),t(document).on("click","#ultimate-builder-kit-builder-modal .usk-modal-close-button",function(e){t("#ultimate-builder-kit-builder-modal").hide()}),t(document).on("click","body.post-type-usk-template-builder a.page-title-action",function(t){t.preventDefault(),i(),l(__("Create Template","ultimate-store-kit")),e()}),t(document).on("submit","#ultimate-builder-kit-builder-modal form",function(e){e.preventDefault();var i=t(this).serialize();o(),t.ajax({url:ajaxurl,dataType:"json",method:"post",cache:!1,data:{action:"ultimate_store_kit_builder_create_template",data:i},success:function(t){window.location.href=t.data.redirect},error:function(e){422==e.status&&t.each(e.responseJSON.data.errors_arr,function(e,i){t("#ultimate-builder-kit-builder-modal #"+e).addClass("input-error")})}})}),t(document).on("click","body.post-type-usk-template-builder .row-actions .usk-edit-action a",function(n){n.preventDefault(),o(),i(),l(__("Update Template","ultimate-store-kit")),t.ajax({url:ajaxurl,dataType:"json",method:"post",data:{action:"ultimate_store_kit_builder_get_edit_template",template_id:t(this).data("id"),nonce:UltimateStoreKitConfigBuilder.nonce},success:function(i){i.success&&(t("#ultimate-builder-kit-builder-modal form .template_id").val(i.data.id).change(),t("#ultimate-builder-kit-builder-modal form #template_name").val(i.data.name).change(),t("#ultimate-builder-kit-builder-modal form #template_type").val(i.data.type).change(),r(i.data.status),u(i.data.conditions,i.data.products),a()),e()},error:function(t){console.log(t),422!=t.status&&403!=t.status||alert(__("Permission denied or invalid request","ultimate-store-kit"))}})}),t(document).ready(function(){t("#ultimate-builder-kit-builder-modal").on("click","#usk_template_status_switcher",function(){r("1"===t("#usk_template_status").val()?0:1)}).on("keydown","#usk_template_status_switcher",function(e){" "!==e.key&&"Enter"!==e.key||(e.preventDefault(),r("1"===t("#usk_template_status").val()?0:1))})})}(jQuery);
  • ultimate-store-kit/trunk/assets/admin/style-admin-rtl.css

    r3757742 r3790891  
    1 .container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.ultimate-store-kit-admin-root .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}.ultimate-store-kit-admin-root .pointer-events-none{pointer-events:none}.ultimate-store-kit-admin-root .pointer-events-auto{pointer-events:auto}.ultimate-store-kit-admin-root .fixed{position:fixed}.ultimate-store-kit-admin-root .absolute{position:absolute}.ultimate-store-kit-admin-root .relative{position:relative}.ultimate-store-kit-admin-root .inset-0{inset:0px}.ultimate-store-kit-admin-root .inset-y-0{top:0px;bottom:0px}.ultimate-store-kit-admin-root .bottom-\[3px\]{bottom:3px}.ultimate-store-kit-admin-root .left-\[3px\]{right:3px}.ultimate-store-kit-admin-root .right-3{left:0.75rem}.ultimate-store-kit-admin-root .z-\[159000\]{z-index:159000}.ultimate-store-kit-admin-root .z-\[1\]{z-index:1}.ultimate-store-kit-admin-root .col-span-full{grid-column:1 / -1}.ultimate-store-kit-admin-root .m-0{margin:0px}.ultimate-store-kit-admin-root .m-5{margin:1.25rem}.ultimate-store-kit-admin-root .mx-auto{margin-right:auto;margin-left:auto}.ultimate-store-kit-admin-root .my-2{margin-top:0.5rem;margin-bottom:0.5rem}.ultimate-store-kit-admin-root .my-auto{margin-top:auto;margin-bottom:auto}.ultimate-store-kit-admin-root .mb-0{margin-bottom:0px}.ultimate-store-kit-admin-root .mb-0\.5{margin-bottom:0.125rem}.ultimate-store-kit-admin-root .mb-1{margin-bottom:0.25rem}.ultimate-store-kit-admin-root .mb-2{margin-bottom:0.5rem}.ultimate-store-kit-admin-root .mb-2\.5{margin-bottom:0.625rem}.ultimate-store-kit-admin-root .mb-3{margin-bottom:0.75rem}.ultimate-store-kit-admin-root .mb-4{margin-bottom:1rem}.ultimate-store-kit-admin-root .mb-5{margin-bottom:1.25rem}.ultimate-store-kit-admin-root .mb-6{margin-bottom:1.5rem}.ultimate-store-kit-admin-root .ml-0{margin-right:0px}.ultimate-store-kit-admin-root .ml-2{margin-right:0.5rem}.ultimate-store-kit-admin-root .mt-0{margin-top:0px}.ultimate-store-kit-admin-root .mt-0\.5{margin-top:0.125rem}.ultimate-store-kit-admin-root .mt-1{margin-top:0.25rem}.ultimate-store-kit-admin-root .mt-2{margin-top:0.5rem}.ultimate-store-kit-admin-root .mt-2\.5{margin-top:0.625rem}.ultimate-store-kit-admin-root .mt-3{margin-top:0.75rem}.ultimate-store-kit-admin-root .mt-4{margin-top:1rem}.ultimate-store-kit-admin-root .mt-6{margin-top:1.5rem}.ultimate-store-kit-admin-root .block{display:block}.ultimate-store-kit-admin-root .inline-block{display:inline-block}.ultimate-store-kit-admin-root .inline{display:inline}.ultimate-store-kit-admin-root .flex{display:flex}.ultimate-store-kit-admin-root .inline-flex{display:inline-flex}.ultimate-store-kit-admin-root .grid{display:grid}.ultimate-store-kit-admin-root .contents{display:contents}.ultimate-store-kit-admin-root .hidden{display:none}.ultimate-store-kit-admin-root .h-1\.5{height:0.375rem}.ultimate-store-kit-admin-root .h-10{height:2.5rem}.ultimate-store-kit-admin-root .h-11{height:2.75rem}.ultimate-store-kit-admin-root .h-12{height:3rem}.ultimate-store-kit-admin-root .h-14{height:3.5rem}.ultimate-store-kit-admin-root .h-3{height:0.75rem}.ultimate-store-kit-admin-root .h-3\.5{height:0.875rem}.ultimate-store-kit-admin-root .h-4{height:1rem}.ultimate-store-kit-admin-root .h-5{height:1.25rem}.ultimate-store-kit-admin-root .h-7{height:1.75rem}.ultimate-store-kit-admin-root .h-8{height:2rem}.ultimate-store-kit-admin-root .h-9{height:2.25rem}.ultimate-store-kit-admin-root .h-\[14px\]{height:14px}.ultimate-store-kit-admin-root .h-\[18px\]{height:18px}.ultimate-store-kit-admin-root .h-\[22px\]{height:22px}.ultimate-store-kit-admin-root .h-\[60px\]{height:60px}.ultimate-store-kit-admin-root .h-full{height:100%}.ultimate-store-kit-admin-root .min-h-9{min-height:2.25rem}.ultimate-store-kit-admin-root .min-h-\[calc\(100vh-100px\)\]{min-height:calc(100vh - 100px)}.ultimate-store-kit-admin-root .w-1\.5{width:0.375rem}.ultimate-store-kit-admin-root .w-10{width:2.5rem}.ultimate-store-kit-admin-root .w-11{width:2.75rem}.ultimate-store-kit-admin-root .w-12{width:3rem}.ultimate-store-kit-admin-root .w-14{width:3.5rem}.ultimate-store-kit-admin-root .w-20{width:5rem}.ultimate-store-kit-admin-root .w-3{width:0.75rem}.ultimate-store-kit-admin-root .w-3\.5{width:0.875rem}.ultimate-store-kit-admin-root .w-4{width:1rem}.ultimate-store-kit-admin-root .w-5{width:1.25rem}.ultimate-store-kit-admin-root .w-64{width:16rem}.ultimate-store-kit-admin-root .w-7{width:1.75rem}.ultimate-store-kit-admin-root .w-8{width:2rem}.ultimate-store-kit-admin-root .w-9{width:2.25rem}.ultimate-store-kit-admin-root .w-\[14px\]{width:14px}.ultimate-store-kit-admin-root .w-\[18px\]{width:18px}.ultimate-store-kit-admin-root .w-\[400px\]{width:400px}.ultimate-store-kit-admin-root .w-\[60px\]{width:60px}.ultimate-store-kit-admin-root .w-\[min\(1200px\2c 100vw\)\]{width:min(1200px, 100vw)}.ultimate-store-kit-admin-root .w-fit{width:-moz-fit-content;width:fit-content}.ultimate-store-kit-admin-root .w-full{width:100%}.ultimate-store-kit-admin-root .min-w-0{min-width:0px}.ultimate-store-kit-admin-root .min-w-\[120px\]{min-width:120px}.ultimate-store-kit-admin-root .min-w-\[140px\]{min-width:140px}.ultimate-store-kit-admin-root .min-w-\[400px\]{min-width:400px}.ultimate-store-kit-admin-root .max-w-3xl{max-width:48rem}.ultimate-store-kit-admin-root .max-w-\[400px\]{max-width:400px}.ultimate-store-kit-admin-root .max-w-\[70\%\]{max-width:70%}.ultimate-store-kit-admin-root .max-w-\[min\(1200px\2c 100vw\)\]{max-width:min(1200px, 100vw)}.ultimate-store-kit-admin-root .max-w-full{max-width:100%}.ultimate-store-kit-admin-root .max-w-md{max-width:28rem}.ultimate-store-kit-admin-root .max-w-xl{max-width:36rem}.ultimate-store-kit-admin-root .flex-1{flex:1 1 0%}.ultimate-store-kit-admin-root .flex-\[2\]{flex:2}.ultimate-store-kit-admin-root .shrink-0{flex-shrink:0}.ultimate-store-kit-admin-root .transform{transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes uskSlideIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.ultimate-store-kit-admin-root .animate-usk-slide-in{animation:uskSlideIn 0.3s ease}.ultimate-store-kit-admin-root .cursor-not-allowed{cursor:not-allowed}.ultimate-store-kit-admin-root .cursor-pointer{cursor:pointer}.ultimate-store-kit-admin-root .select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.ultimate-store-kit-admin-root .resize{resize:both}.ultimate-store-kit-admin-root .list-none{list-style-type:none}.ultimate-store-kit-admin-root .grid-cols-1{grid-template-columns:repeat(1, minmax(0, 1fr))}.ultimate-store-kit-admin-root .grid-cols-\[repeat\(auto-fit\2c minmax\(420px\2c 1fr\)\)\]{grid-template-columns:repeat(auto-fit,minmax(420px,1fr))}.ultimate-store-kit-admin-root .flex-col{flex-direction:column}.ultimate-store-kit-admin-root .flex-wrap{flex-wrap:wrap}.ultimate-store-kit-admin-root .items-start{align-items:flex-start}.ultimate-store-kit-admin-root .items-center{align-items:center}.ultimate-store-kit-admin-root .items-stretch{align-items:stretch}.ultimate-store-kit-admin-root .justify-start{justify-content:flex-start}.ultimate-store-kit-admin-root .justify-end{justify-content:flex-end}.ultimate-store-kit-admin-root .justify-center{justify-content:center}.ultimate-store-kit-admin-root .justify-between{justify-content:space-between}.ultimate-store-kit-admin-root .gap-1{gap:0.25rem}.ultimate-store-kit-admin-root .gap-1\.5{gap:0.375rem}.ultimate-store-kit-admin-root .gap-2{gap:0.5rem}.ultimate-store-kit-admin-root .gap-2\.5{gap:0.625rem}.ultimate-store-kit-admin-root .gap-3{gap:0.75rem}.ultimate-store-kit-admin-root .gap-4{gap:1rem}.ultimate-store-kit-admin-root .gap-5{gap:1.25rem}.ultimate-store-kit-admin-root .gap-6{gap:1.5rem}.ultimate-store-kit-admin-root .gap-px{gap:1px}.ultimate-store-kit-admin-root .gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.ultimate-store-kit-admin-root .gap-y-1\.5{row-gap:0.375rem}.ultimate-store-kit-admin-root :is(.space-y-1 > :not([hidden]) ~ :not([hidden])){--tw-space-y-reverse:0;margin-top:calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.25rem * var(--tw-space-y-reverse))}.ultimate-store-kit-admin-root :is(.space-y-1\.5 > :not([hidden]) ~ :not([hidden])){--tw-space-y-reverse:0;margin-top:calc(0.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.375rem * var(--tw-space-y-reverse))}.ultimate-store-kit-admin-root :is(.space-y-5 > :not([hidden]) ~ :not([hidden])){--tw-space-y-reverse:0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.ultimate-store-kit-admin-root :is(.space-y-6 > :not([hidden]) ~ :not([hidden])){--tw-space-y-reverse:0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.ultimate-store-kit-admin-root .self-start{align-self:flex-start}.ultimate-store-kit-admin-root .self-stretch{align-self:stretch}.ultimate-store-kit-admin-root .overflow-hidden{overflow:hidden}.ultimate-store-kit-admin-root .whitespace-nowrap{white-space:nowrap}.ultimate-store-kit-admin-root .rounded-2xl{border-radius:1rem}.ultimate-store-kit-admin-root .rounded-\[10px\]{border-radius:10px}.ultimate-store-kit-admin-root .rounded-full{border-radius:9999px}.ultimate-store-kit-admin-root .rounded-lg{border-radius:0.5rem}.ultimate-store-kit-admin-root .rounded-md{border-radius:0.375rem}.ultimate-store-kit-admin-root .rounded-usk{border-radius:10px}.ultimate-store-kit-admin-root .rounded-xl{border-radius:0.75rem}.ultimate-store-kit-admin-root .rounded-bl-lg{border-bottom-right-radius:0.5rem}.ultimate-store-kit-admin-root .rounded-br-lg{border-bottom-left-radius:0.5rem}.ultimate-store-kit-admin-root .rounded-tl-lg{border-top-right-radius:0.5rem}.ultimate-store-kit-admin-root .rounded-tr-lg{border-top-left-radius:0.5rem}.ultimate-store-kit-admin-root .\!border{border-width:1px !important}.ultimate-store-kit-admin-root .border{border-width:1px}.ultimate-store-kit-admin-root .border-0{border-width:0px}.ultimate-store-kit-admin-root .border-b{border-bottom-width:1px}.ultimate-store-kit-admin-root .border-l{border-right-width:1px}.ultimate-store-kit-admin-root .border-l-\[3px\]{border-right-width:3px}.ultimate-store-kit-admin-root .border-t{border-top-width:1px}.ultimate-store-kit-admin-root .border-solid{border-style:solid}.ultimate-store-kit-admin-root .border-none{border-style:none}.ultimate-store-kit-admin-root .\!border-uks-brand\/25{border-color:rgb(0 33 106 / 0.25) !important}.ultimate-store-kit-admin-root .border-current{border-color:currentColor}.ultimate-store-kit-admin-root .border-emerald-200{--tw-border-opacity:1;border-color:rgb(167 243 208 / var(--tw-border-opacity, 1))}.ultimate-store-kit-admin-root .border-emerald-300{--tw-border-opacity:1;border-color:rgb(110 231 183 / var(--tw-border-opacity, 1))}.ultimate-store-kit-admin-root .border-gray-100{--tw-border-opacity:1;border-color:rgb(243 244 246 / var(--tw-border-opacity, 1))}.ultimate-store-kit-admin-root .border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}.ultimate-store-kit-admin-root .border-gray-50{--tw-border-opacity:1;border-color:rgb(249 250 251 / var(--tw-border-opacity, 1))}.ultimate-store-kit-admin-root .border-indigo-500{--tw-border-opacity:1;border-color:rgb(99 102 241 / var(--tw-border-opacity, 1))}.ultimate-store-kit-admin-root .border-orange-500{--tw-border-opacity:1;border-color:rgb(249 115 22 / var(--tw-border-opacity, 1))}.ultimate-store-kit-admin-root .border-pink-500{--tw-border-opacity:1;border-color:rgb(236 72 153 / var(--tw-border-opacity, 1))}.ultimate-store-kit-admin-root .border-red-200{--tw-border-opacity:1;border-color:rgb(254 202 202 / var(--tw-border-opacity, 1))}.ultimate-store-kit-admin-root .border-red-500{--tw-border-opacity:1;border-color:rgb(239 68 68 / var(--tw-border-opacity, 1))}.ultimate-store-kit-admin-root .border-slate-100{--tw-border-opacity:1;border-color:rgb(241 245 249 / var(--tw-border-opacity, 1))}.ultimate-store-kit-admin-root .border-slate-200{--tw-border-opacity:1;border-color:rgb(226 232 240 / var(--tw-border-opacity, 1))}.ultimate-store-kit-admin-root .border-slate-300{--tw-border-opacity:1;border-color:rgb(203 213 225 / var(--tw-border-opacity, 1))}.ultimate-store-kit-admin-root .border-teal-500{--tw-border-opacity:1;border-color:rgb(20 184 166 / var(--tw-border-opacity, 1))}.ultimate-store-kit-admin-root .border-transparent{border-color:transparent}.ultimate-store-kit-admin-root .border-uks-brand{--tw-border-opacity:1;border-color:rgb(0 33 106 / var(--tw-border-opacity, 1))}.ultimate-store-kit-admin-root .border-uks-brand\/15{border-color:rgb(0 33 106 / 0.15)}.ultimate-store-kit-admin-root .border-uks-brand\/20{border-color:rgb(0 33 106 / 0.2)}.ultimate-store-kit-admin-root .border-uks-brand\/30{border-color:rgb(0 33 106 / 0.3)}.ultimate-store-kit-admin-root .border-violet-500{--tw-border-opacity:1;border-color:rgb(139 92 246 / var(--tw-border-opacity, 1))}.ultimate-store-kit-admin-root .border-b-gray-100{--tw-border-opacity:1;border-bottom-color:rgb(243 244 246 / var(--tw-border-opacity, 1))}.ultimate-store-kit-admin-root .border-b-gray-200{--tw-border-opacity:1;border-bottom-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}.ultimate-store-kit-admin-root .\!bg-uks-brand{--tw-bg-opacity:1 !important;background-color:rgb(0 33 106 / var(--tw-bg-opacity, 1)) !important}.ultimate-store-kit-admin-root .bg-emerald-100{--tw-bg-opacity:1;background-color:rgb(209 250 229 / var(--tw-bg-opacity, 1))}.ultimate-store-kit-admin-root .bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.ultimate-store-kit-admin-root .bg-indigo-500{--tw-bg-opacity:1;background-color:rgb(99 102 241 / var(--tw-bg-opacity, 1))}.ultimate-store-kit-admin-root .bg-orange-500{--tw-bg-opacity:1;background-color:rgb(249 115 22 / var(--tw-bg-opacity, 1))}.ultimate-store-kit-admin-root .bg-pink-500{--tw-bg-opacity:1;background-color:rgb(236 72 153 / var(--tw-bg-opacity, 1))}.ultimate-store-kit-admin-root .bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226 / var(--tw-bg-opacity, 1))}.ultimate-store-kit-admin-root .bg-slate-100{--tw-bg-opacity:1;background-color:rgb(241 245 249 / var(--tw-bg-opacity, 1))}.ultimate-store-kit-admin-root .bg-slate-200{--tw-bg-opacity:1;background-color:rgb(226 232 240 / var(--tw-bg-opacity, 1))}.ultimate-store-kit-admin-root .bg-slate-300{--tw-bg-opacity:1;background-color:rgb(203 213 225 / var(--tw-bg-opacity, 1))}.ultimate-store-kit-admin-root .bg-slate-50{--tw-bg-opacity:1;background-color:rgb(248 250 252 / var(--tw-bg-opacity, 1))}.ultimate-store-kit-admin-root .bg-slate-50\/50{background-color:rgb(248 250 252 / 0.5)}.ultimate-store-kit-admin-root .bg-slate-50\/70{background-color:rgb(248 250 252 / 0.7)}.ultimate-store-kit-admin-root .bg-teal-500{--tw-bg-opacity:1;background-color:rgb(20 184 166 / var(--tw-bg-opacity, 1))}.ultimate-store-kit-admin-root .bg-transparent{background-color:transparent}.ultimate-store-kit-admin-root .bg-uks-brand{--tw-bg-opacity:1;background-color:rgb(0 33 106 / var(--tw-bg-opacity, 1))}.ultimate-store-kit-admin-root .bg-uks-brand\/10{background-color:rgb(0 33 106 / 0.1)}.ultimate-store-kit-admin-root .bg-uks-brand\/5{background-color:rgb(0 33 106 / 0.05)}.ultimate-store-kit-admin-root .bg-uks-brand\/\[0\.07\]{background-color:rgb(0 33 106 / 0.07)}.ultimate-store-kit-admin-root .bg-violet-500{--tw-bg-opacity:1;background-color:rgb(139 92 246 / var(--tw-bg-opacity, 1))}.ultimate-store-kit-admin-root .bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.ultimate-store-kit-admin-root .bg-white\/80{background-color:rgb(255 255 255 / 0.8)}.ultimate-store-kit-admin-root .bg-\[linear-gradient\(313deg\2c \#E62A3F_0\%\2c \#00216A_100\%\)\]{background-image:linear-gradient(-313deg,#E62A3F 0%,#00216A 100%)}.ultimate-store-kit-admin-root .bg-gradient-to-br{background-image:linear-gradient(to bottom left, var(--tw-gradient-stops))}.ultimate-store-kit-admin-root .from-uks-brand\/\[0\.07\]{--tw-gradient-from:rgb(0 33 106 / 0.07) var(--tw-gradient-from-position);--tw-gradient-to:rgb(0 33 106 / 0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.ultimate-store-kit-admin-root .to-transparent{--tw-gradient-to:transparent var(--tw-gradient-to-position)}.ultimate-store-kit-admin-root .p-0{padding:0px}.ultimate-store-kit-admin-root .p-0\.5{padding:0.125rem}.ultimate-store-kit-admin-root .p-4{padding:1rem}.ultimate-store-kit-admin-root .p-5{padding:1.25rem}.ultimate-store-kit-admin-root .p-6{padding:1.5rem}.ultimate-store-kit-admin-root .p-8{padding:2rem}.ultimate-store-kit-admin-root .px-1{padding-right:0.25rem;padding-left:0.25rem}.ultimate-store-kit-admin-root .px-1\.5{padding-right:0.375rem;padding-left:0.375rem}.ultimate-store-kit-admin-root .px-2{padding-right:0.5rem;padding-left:0.5rem}.ultimate-store-kit-admin-root .px-2\.5{padding-right:0.625rem;padding-left:0.625rem}.ultimate-store-kit-admin-root .px-3{padding-right:0.75rem;padding-left:0.75rem}.ultimate-store-kit-admin-root .px-3\.5{padding-right:0.875rem;padding-left:0.875rem}.ultimate-store-kit-admin-root .px-4{padding-right:1rem;padding-left:1rem}.ultimate-store-kit-admin-root .px-5{padding-right:1.25rem;padding-left:1.25rem}.ultimate-store-kit-admin-root .px-6{padding-right:1.5rem;padding-left:1.5rem}.ultimate-store-kit-admin-root .px-\[18px\]{padding-right:18px;padding-left:18px}.ultimate-store-kit-admin-root .py-0{padding-top:0px;padding-bottom:0px}.ultimate-store-kit-admin-root .py-0\.5{padding-top:0.125rem;padding-bottom:0.125rem}.ultimate-store-kit-admin-root .py-1{padding-top:0.25rem;padding-bottom:0.25rem}.ultimate-store-kit-admin-root .py-1\.5{padding-top:0.375rem;padding-bottom:0.375rem}.ultimate-store-kit-admin-root .py-10{padding-top:2.5rem;padding-bottom:2.5rem}.ultimate-store-kit-admin-root .py-16{padding-top:4rem;padding-bottom:4rem}.ultimate-store-kit-admin-root .py-2{padding-top:0.5rem;padding-bottom:0.5rem}.ultimate-store-kit-admin-root .py-2\.5{padding-top:0.625rem;padding-bottom:0.625rem}.ultimate-store-kit-admin-root .py-3{padding-top:0.75rem;padding-bottom:0.75rem}.ultimate-store-kit-admin-root .py-3\.5{padding-top:0.875rem;padding-bottom:0.875rem}.ultimate-store-kit-admin-root .py-4{padding-top:1rem;padding-bottom:1rem}.ultimate-store-kit-admin-root .py-5{padding-top:1.25rem;padding-bottom:1.25rem}.ultimate-store-kit-admin-root .py-6{padding-top:1.5rem;padding-bottom:1.5rem}.ultimate-store-kit-admin-root .pb-4{padding-bottom:1rem}.ultimate-store-kit-admin-root .pl-3{padding-right:0.75rem}.ultimate-store-kit-admin-root .pr-10{padding-left:2.5rem}.ultimate-store-kit-admin-root .pt-1{padding-top:0.25rem}.ultimate-store-kit-admin-root .pt-4{padding-top:1rem}.ultimate-store-kit-admin-root .text-left{text-align:right}.ultimate-store-kit-admin-root .text-center{text-align:center}.ultimate-store-kit-admin-root .align-middle{vertical-align:middle}.ultimate-store-kit-admin-root .font-mono{font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace}.ultimate-store-kit-admin-root .font-sans{font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, sans-serif}.ultimate-store-kit-admin-root .text-\[10px\]{font-size:10px}.ultimate-store-kit-admin-root .text-\[11px\]{font-size:11px}.ultimate-store-kit-admin-root .text-\[12px\]{font-size:12px}.ultimate-store-kit-admin-root .text-\[13px\]{font-size:13px}.ultimate-store-kit-admin-root .text-\[14px\]{font-size:14px}.ultimate-store-kit-admin-root .text-\[22px\]{font-size:22px}.ultimate-store-kit-admin-root .text-\[9px\]{font-size:9px}.ultimate-store-kit-admin-root .text-base{font-size:1rem;line-height:1.5rem}.ultimate-store-kit-admin-root .text-lg{font-size:1.125rem;line-height:1.75rem}.ultimate-store-kit-admin-root .text-sm{font-size:0.875rem;line-height:1.25rem}.ultimate-store-kit-admin-root .text-xl{font-size:1.25rem;line-height:1.75rem}.ultimate-store-kit-admin-root .text-xs{font-size:0.75rem;line-height:1rem}.ultimate-store-kit-admin-root .font-bold{font-weight:700}.ultimate-store-kit-admin-root .font-extrabold{font-weight:800}.ultimate-store-kit-admin-root .font-medium{font-weight:500}.ultimate-store-kit-admin-root .font-semibold{font-weight:600}.ultimate-store-kit-admin-root .uppercase{text-transform:uppercase}.ultimate-store-kit-admin-root .leading-none{line-height:1}.ultimate-store-kit-admin-root .leading-relaxed{line-height:1.625}.ultimate-store-kit-admin-root .leading-snug{line-height:1.375}.ultimate-store-kit-admin-root .leading-tight{line-height:1.25}.ultimate-store-kit-admin-root .tracking-tight{letter-spacing:-0.025em}.ultimate-store-kit-admin-root .tracking-wide{letter-spacing:0.025em}.ultimate-store-kit-admin-root .tracking-wider{letter-spacing:0.05em}.ultimate-store-kit-admin-root .tracking-widest{letter-spacing:0.1em}.ultimate-store-kit-admin-root .\!text-white{--tw-text-opacity:1 !important;color:rgb(255 255 255 / var(--tw-text-opacity, 1)) !important}.ultimate-store-kit-admin-root .text-emerald-500{--tw-text-opacity:1;color:rgb(16 185 129 / var(--tw-text-opacity, 1))}.ultimate-store-kit-admin-root .text-emerald-600{--tw-text-opacity:1;color:rgb(5 150 105 / var(--tw-text-opacity, 1))}.ultimate-store-kit-admin-root .text-emerald-800{--tw-text-opacity:1;color:rgb(6 95 70 / var(--tw-text-opacity, 1))}.ultimate-store-kit-admin-root .text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.ultimate-store-kit-admin-root .text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.ultimate-store-kit-admin-root .text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.ultimate-store-kit-admin-root .text-inherit{color:inherit}.ultimate-store-kit-admin-root .text-red-500{--tw-text-opacity:1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.ultimate-store-kit-admin-root .text-red-900{--tw-text-opacity:1;color:rgb(127 29 29 / var(--tw-text-opacity, 1))}.ultimate-store-kit-admin-root .text-slate-300{--tw-text-opacity:1;color:rgb(203 213 225 / var(--tw-text-opacity, 1))}.ultimate-store-kit-admin-root .text-slate-400{--tw-text-opacity:1;color:rgb(148 163 184 / var(--tw-text-opacity, 1))}.ultimate-store-kit-admin-root .text-slate-500{--tw-text-opacity:1;color:rgb(100 116 139 / var(--tw-text-opacity, 1))}.ultimate-store-kit-admin-root .text-slate-600{--tw-text-opacity:1;color:rgb(71 85 105 / var(--tw-text-opacity, 1))}.ultimate-store-kit-admin-root .text-slate-700{--tw-text-opacity:1;color:rgb(51 65 85 / var(--tw-text-opacity, 1))}.ultimate-store-kit-admin-root .text-slate-800{--tw-text-opacity:1;color:rgb(30 41 59 / var(--tw-text-opacity, 1))}.ultimate-store-kit-admin-root .text-slate-900{--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity, 1))}.ultimate-store-kit-admin-root .text-uks-brand{--tw-text-opacity:1;color:rgb(0 33 106 / var(--tw-text-opacity, 1))}.ultimate-store-kit-admin-root .text-white{--tw-text-opacity:1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.ultimate-store-kit-admin-root .text-white\/90{color:rgb(255 255 255 / 0.9)}.ultimate-store-kit-admin-root .no-underline{text-decoration-line:none}.ultimate-store-kit-admin-root .opacity-60{opacity:0.6}.ultimate-store-kit-admin-root .opacity-70{opacity:0.7}.ultimate-store-kit-admin-root .shadow-sm{--tw-shadow:0 1px 2px 0 rgb(0 0 0 / 0.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.ultimate-store-kit-admin-root .filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.ultimate-store-kit-admin-root .transition{transition-property:color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.ultimate-store-kit-admin-root .transition-all{transition-property:all;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.ultimate-store-kit-admin-root .transition-colors{transition-property:color, background-color, border-color, text-decoration-color, fill, stroke;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.ultimate-store-kit-admin-root .transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.ultimate-store-kit-admin-root .transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.ultimate-store-kit-admin-root .duration-200{transition-duration:200ms}.ultimate-store-kit-admin-root .ease-in-out{transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1)}.ultimate-store-kit-admin-root .ease-out{transition-timing-function:cubic-bezier(0, 0, 0.2, 1)}.usk-toast-wrap{position:fixed;top:40px;right:50%;transform:translateX(50%);z-index:99999;pointer-events:none;display:flex;justify-content:center;width:auto;max-width:480px}.usk-toast{pointer-events:auto;display:flex;align-items:center;gap:10px;padding:10px 18px;border-radius:10px;font-size:13px;font-weight:600;box-shadow:0 8px 24px rgba(0,0,0,.12);animation:usk-toast-in .35s cubic-bezier(0.21, 1.02, 0.73, 1) forwards;white-space:nowrap}.usk-toast--success{background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0}.usk-toast--error{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}.usk-toast__close{cursor:pointer;border:0;background:rgba(0,0,0,0);color:inherit;font-size:16px;line-height:1;padding:0 6px 0 0;opacity:.6;transition:opacity .15s}.usk-toast__close:hover{opacity:1}@keyframes usk-toast-in{0%{opacity:0;transform:translateY(-14px) scale(0.96)}100%{opacity:1;transform:translateY(0) scale(1)}}.ultimate-store-kit-admin-root .placeholder\:text-gray-500::-moz-placeholder{--tw-text-opacity:1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.ultimate-store-kit-admin-root .placeholder\:text-gray-500::placeholder{--tw-text-opacity:1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.ultimate-store-kit-admin-root .placeholder\:text-slate-400::-moz-placeholder{--tw-text-opacity:1;color:rgb(148 163 184 / var(--tw-text-opacity, 1))}.ultimate-store-kit-admin-root .placeholder\:text-slate-400::placeholder{--tw-text-opacity:1;color:rgb(148 163 184 / var(--tw-text-opacity, 1))}.ultimate-store-kit-admin-root .last\:border-b-0:last-child{border-bottom-width:0px}.ultimate-store-kit-admin-root .hover\:border-slate-300:hover{--tw-border-opacity:1;border-color:rgb(203 213 225 / var(--tw-border-opacity, 1))}.ultimate-store-kit-admin-root .hover\:border-uks-brand\/25:hover{border-color:rgb(0 33 106 / 0.25)}.ultimate-store-kit-admin-root .hover\:border-uks-brand\/40:hover{border-color:rgb(0 33 106 / 0.4)}.ultimate-store-kit-admin-root .hover\:\!bg-uks-brand-dark:hover{--tw-bg-opacity:1 !important;background-color:rgb(0 33 106 / var(--tw-bg-opacity, 1)) !important}.ultimate-store-kit-admin-root .hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.ultimate-store-kit-admin-root .hover\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.ultimate-store-kit-admin-root .hover\:bg-red-500:hover{--tw-bg-opacity:1;background-color:rgb(239 68 68 / var(--tw-bg-opacity, 1))}.ultimate-store-kit-admin-root .hover\:bg-slate-50:hover{--tw-bg-opacity:1;background-color:rgb(248 250 252 / var(--tw-bg-opacity, 1))}.ultimate-store-kit-admin-root .hover\:bg-uks-brand:hover{--tw-bg-opacity:1;background-color:rgb(0 33 106 / var(--tw-bg-opacity, 1))}.ultimate-store-kit-admin-root .hover\:bg-uks-brand-dark:hover{--tw-bg-opacity:1;background-color:rgb(0 33 106 / var(--tw-bg-opacity, 1))}.ultimate-store-kit-admin-root .hover\:bg-uks-brand\/10:hover{background-color:rgb(0 33 106 / 0.1)}.ultimate-store-kit-admin-root .hover\:bg-white:hover{--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.ultimate-store-kit-admin-root .hover\:text-gray-800:hover{--tw-text-opacity:1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.ultimate-store-kit-admin-root .hover\:text-slate-700:hover{--tw-text-opacity:1;color:rgb(51 65 85 / var(--tw-text-opacity, 1))}.ultimate-store-kit-admin-root .hover\:text-slate-900:hover{--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity, 1))}.ultimate-store-kit-admin-root .hover\:text-uks-brand:hover{--tw-text-opacity:1;color:rgb(0 33 106 / var(--tw-text-opacity, 1))}.ultimate-store-kit-admin-root .hover\:text-uks-brand-dark:hover{--tw-text-opacity:1;color:rgb(0 33 106 / var(--tw-text-opacity, 1))}.ultimate-store-kit-admin-root .hover\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.ultimate-store-kit-admin-root .hover\:underline:hover{text-decoration-line:underline}.ultimate-store-kit-admin-root .hover\:opacity-90:hover{opacity:0.9}.ultimate-store-kit-admin-root .focus\:border-uks-brand:focus{--tw-border-opacity:1;border-color:rgb(0 33 106 / var(--tw-border-opacity, 1))}.ultimate-store-kit-admin-root .focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.ultimate-store-kit-admin-root .focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.ultimate-store-kit-admin-root .focus\:ring-uks-brand:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(0 33 106 / var(--tw-ring-opacity, 1))}.ultimate-store-kit-admin-root .focus\:ring-uks-brand\/25:focus{--tw-ring-color:rgb(0 33 106 / 0.25)}.ultimate-store-kit-admin-root .focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.ultimate-store-kit-admin-root .focus\:ring-offset-white:focus{--tw-ring-offset-color:#fff}.ultimate-store-kit-admin-root .disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.ultimate-store-kit-admin-root .disabled\:opacity-50:disabled{opacity:0.5}.ultimate-store-kit-admin-root .disabled\:opacity-60:disabled{opacity:0.6}.ultimate-store-kit-admin-root :is(.group:hover .group-hover\:bg-uks-brand\/15){background-color:rgb(0 33 106 / 0.15)}.ultimate-store-kit-admin-root :is(.peer:checked ~ .peer-checked\:translate-x-\[18px\]){--tw-translate-x:18px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.ultimate-store-kit-admin-root :is(.peer:checked ~ .peer-checked\:bg-uks-brand){--tw-bg-opacity:1;background-color:rgb(0 33 106 / var(--tw-bg-opacity, 1))}.ultimate-store-kit-admin-root :is(.peer:disabled ~ .peer-disabled\:opacity-50){opacity:0.5}@media (min-width: 640px){.ultimate-store-kit-admin-root .sm\:mb-4{margin-bottom:1rem}.ultimate-store-kit-admin-root .sm\:inline-block{display:inline-block}.ultimate-store-kit-admin-root .sm\:h-12{height:3rem}.ultimate-store-kit-admin-root .sm\:w-12{width:3rem}.ultimate-store-kit-admin-root .sm\:w-28{width:7rem}.ultimate-store-kit-admin-root .sm\:w-48{width:12rem}.ultimate-store-kit-admin-root .sm\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}.ultimate-store-kit-admin-root .sm\:grid-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr))}.ultimate-store-kit-admin-root .sm\:flex-row{flex-direction:row}.ultimate-store-kit-admin-root .sm\:items-start{align-items:flex-start}.ultimate-store-kit-admin-root .sm\:items-center{align-items:center}.ultimate-store-kit-admin-root .sm\:justify-between{justify-content:space-between}.ultimate-store-kit-admin-root .sm\:gap-1\.5{gap:0.375rem}.ultimate-store-kit-admin-root .sm\:gap-2\.5{gap:0.625rem}.ultimate-store-kit-admin-root .sm\:gap-4{gap:1rem}.ultimate-store-kit-admin-root .sm\:p-10{padding:2.5rem}.ultimate-store-kit-admin-root .sm\:p-5{padding:1.25rem}.ultimate-store-kit-admin-root .sm\:px-10{padding-right:2.5rem;padding-left:2.5rem}.ultimate-store-kit-admin-root .sm\:px-5{padding-right:1.25rem;padding-left:1.25rem}.ultimate-store-kit-admin-root .sm\:px-6{padding-right:1.5rem;padding-left:1.5rem}.ultimate-store-kit-admin-root .sm\:py-20{padding-top:5rem;padding-bottom:5rem}.ultimate-store-kit-admin-root .sm\:py-3\.5{padding-top:0.875rem;padding-bottom:0.875rem}.ultimate-store-kit-admin-root .sm\:py-6{padding-top:1.5rem;padding-bottom:1.5rem}.ultimate-store-kit-admin-root .sm\:pl-2{padding-right:0.5rem}.ultimate-store-kit-admin-root .sm\:text-left{text-align:right}.ultimate-store-kit-admin-root .sm\:text-\[11px\]{font-size:11px}.ultimate-store-kit-admin-root .sm\:text-\[12px\]{font-size:12px}.ultimate-store-kit-admin-root .sm\:text-\[13px\]{font-size:13px}.ultimate-store-kit-admin-root .sm\:text-sm{font-size:0.875rem;line-height:1.25rem}.ultimate-store-kit-admin-root .sm\:text-xl{font-size:1.25rem;line-height:1.75rem}}@media (min-width: 1024px){.ultimate-store-kit-admin-root .lg\:sticky{position:sticky}.ultimate-store-kit-admin-root .lg\:top-\[7\.5rem\]{top:7.5rem}.ultimate-store-kit-admin-root .lg\:mt-8{margin-top:2rem}.ultimate-store-kit-admin-root .lg\:block{display:block}.ultimate-store-kit-admin-root .lg\:w-36{width:9rem}.ultimate-store-kit-admin-root .lg\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}.ultimate-store-kit-admin-root .lg\:grid-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr))}.ultimate-store-kit-admin-root .lg\:grid-cols-4{grid-template-columns:repeat(4, minmax(0, 1fr))}.ultimate-store-kit-admin-root .lg\:p-6{padding:1.5rem}}@media (min-width: 1280px){.ultimate-store-kit-admin-root .xl\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}.ultimate-store-kit-admin-root .xl\:grid-cols-4{grid-template-columns:repeat(4, minmax(0, 1fr))}}@media (min-width: 1536px){.ultimate-store-kit-admin-root .\32xl\:grid-cols-4{grid-template-columns:repeat(4, minmax(0, 1fr))}}
     1.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}#wpbody-content .ultimate-store-kit-admin-root .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}#wpbody-content .ultimate-store-kit-admin-root .pointer-events-none{pointer-events:none}#wpbody-content .ultimate-store-kit-admin-root .pointer-events-auto{pointer-events:auto}#wpbody-content .ultimate-store-kit-admin-root .visible{visibility:visible}#wpbody-content .ultimate-store-kit-admin-root .invisible{visibility:hidden}#wpbody-content .ultimate-store-kit-admin-root .fixed{position:fixed}#wpbody-content .ultimate-store-kit-admin-root .absolute{position:absolute}#wpbody-content .ultimate-store-kit-admin-root .relative{position:relative}#wpbody-content .ultimate-store-kit-admin-root .sticky{position:sticky}#wpbody-content .ultimate-store-kit-admin-root .inset-0{inset:0px}#wpbody-content .ultimate-store-kit-admin-root .inset-x-0{right:0px;left:0px}#wpbody-content .ultimate-store-kit-admin-root .-right-10{left:-2.5rem}#wpbody-content .ultimate-store-kit-admin-root .-top-10{top:-2.5rem}#wpbody-content .ultimate-store-kit-admin-root .bottom-5{bottom:1.25rem}#wpbody-content .ultimate-store-kit-admin-root .bottom-\[3px\]{bottom:3px}#wpbody-content .ultimate-store-kit-admin-root .left-0{right:0px}#wpbody-content .ultimate-store-kit-admin-root .left-1\/2{right:50%}#wpbody-content .ultimate-store-kit-admin-root .left-3{right:0.75rem}#wpbody-content .ultimate-store-kit-admin-root .left-\[3px\]{right:3px}#wpbody-content .ultimate-store-kit-admin-root .top-0{top:0px}#wpbody-content .ultimate-store-kit-admin-root .top-\[6px\]{top:6px}#wpbody-content .ultimate-store-kit-admin-root .top-full{top:100%}#wpbody-content .ultimate-store-kit-admin-root .z-50{z-index:50}#wpbody-content .ultimate-store-kit-admin-root .z-\[100000\]{z-index:100000}#wpbody-content .ultimate-store-kit-admin-root .z-\[159000\]{z-index:159000}#wpbody-content .ultimate-store-kit-admin-root .z-\[1\]{z-index:1}#wpbody-content .ultimate-store-kit-admin-root .z-\[9990\]{z-index:9990}#wpbody-content .ultimate-store-kit-admin-root .\!m-0{margin:0px !important}#wpbody-content .ultimate-store-kit-admin-root .m-0{margin:0px}#wpbody-content .ultimate-store-kit-admin-root .m-5{margin:1.25rem}#wpbody-content .ultimate-store-kit-admin-root .mx-auto{margin-right:auto;margin-left:auto}#wpbody-content .ultimate-store-kit-admin-root .mb-0{margin-bottom:0px}#wpbody-content .ultimate-store-kit-admin-root .mb-0\.5{margin-bottom:0.125rem}#wpbody-content .ultimate-store-kit-admin-root .mb-1{margin-bottom:0.25rem}#wpbody-content .ultimate-store-kit-admin-root .mb-2{margin-bottom:0.5rem}#wpbody-content .ultimate-store-kit-admin-root .mb-3{margin-bottom:0.75rem}#wpbody-content .ultimate-store-kit-admin-root .mb-4{margin-bottom:1rem}#wpbody-content .ultimate-store-kit-admin-root .mb-5{margin-bottom:1.25rem}#wpbody-content .ultimate-store-kit-admin-root .mb-6{margin-bottom:1.5rem}#wpbody-content .ultimate-store-kit-admin-root .mb-\[14px\]{margin-bottom:14px}#wpbody-content .ultimate-store-kit-admin-root .mb-\[18px\]{margin-bottom:18px}#wpbody-content .ultimate-store-kit-admin-root .mb-\[22px\]{margin-bottom:22px}#wpbody-content .ultimate-store-kit-admin-root .ml-0{margin-right:0px}#wpbody-content .ultimate-store-kit-admin-root .ml-2{margin-right:0.5rem}#wpbody-content .ultimate-store-kit-admin-root .ml-auto{margin-right:auto}#wpbody-content .ultimate-store-kit-admin-root .mt-0{margin-top:0px}#wpbody-content .ultimate-store-kit-admin-root .mt-0\.5{margin-top:0.125rem}#wpbody-content .ultimate-store-kit-admin-root .mt-1{margin-top:0.25rem}#wpbody-content .ultimate-store-kit-admin-root .mt-1\.5{margin-top:0.375rem}#wpbody-content .ultimate-store-kit-admin-root .mt-10{margin-top:2.5rem}#wpbody-content .ultimate-store-kit-admin-root .mt-2{margin-top:0.5rem}#wpbody-content .ultimate-store-kit-admin-root .mt-3{margin-top:0.75rem}#wpbody-content .ultimate-store-kit-admin-root .mt-4{margin-top:1rem}#wpbody-content .ultimate-store-kit-admin-root .mt-6{margin-top:1.5rem}#wpbody-content .ultimate-store-kit-admin-root .mt-\[13px\]{margin-top:13px}#wpbody-content .ultimate-store-kit-admin-root .mt-\[14px\]{margin-top:14px}#wpbody-content .ultimate-store-kit-admin-root .mt-\[26px\]{margin-top:26px}#wpbody-content .ultimate-store-kit-admin-root .mt-\[3px\]{margin-top:3px}#wpbody-content .ultimate-store-kit-admin-root .mt-\[7px\]{margin-top:7px}#wpbody-content .ultimate-store-kit-admin-root .mt-auto{margin-top:auto}#wpbody-content .ultimate-store-kit-admin-root .box-border{box-sizing:border-box}#wpbody-content .ultimate-store-kit-admin-root .line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}#wpbody-content .ultimate-store-kit-admin-root .line-clamp-3{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3}#wpbody-content .ultimate-store-kit-admin-root .block{display:block}#wpbody-content .ultimate-store-kit-admin-root .inline-block{display:inline-block}#wpbody-content .ultimate-store-kit-admin-root .inline{display:inline}#wpbody-content .ultimate-store-kit-admin-root .flex{display:flex}#wpbody-content .ultimate-store-kit-admin-root .inline-flex{display:inline-flex}#wpbody-content .ultimate-store-kit-admin-root .grid{display:grid}#wpbody-content .ultimate-store-kit-admin-root .contents{display:contents}#wpbody-content .ultimate-store-kit-admin-root .hidden{display:none}#wpbody-content .ultimate-store-kit-admin-root .h-10{height:2.5rem}#wpbody-content .ultimate-store-kit-admin-root .h-11{height:2.75rem}#wpbody-content .ultimate-store-kit-admin-root .h-12{height:3rem}#wpbody-content .ultimate-store-kit-admin-root .h-14{height:3.5rem}#wpbody-content .ultimate-store-kit-admin-root .h-2{height:0.5rem}#wpbody-content .ultimate-store-kit-admin-root .h-3{height:0.75rem}#wpbody-content .ultimate-store-kit-admin-root .h-3\.5{height:0.875rem}#wpbody-content .ultimate-store-kit-admin-root .h-4{height:1rem}#wpbody-content .ultimate-store-kit-admin-root .h-40{height:10rem}#wpbody-content .ultimate-store-kit-admin-root .h-5{height:1.25rem}#wpbody-content .ultimate-store-kit-admin-root .h-7{height:1.75rem}#wpbody-content .ultimate-store-kit-admin-root .h-8{height:2rem}#wpbody-content .ultimate-store-kit-admin-root .h-9{height:2.25rem}#wpbody-content .ultimate-store-kit-admin-root .h-\[14px\]{height:14px}#wpbody-content .ultimate-store-kit-admin-root .h-\[18px\]{height:18px}#wpbody-content .ultimate-store-kit-admin-root .h-\[190px\]{height:190px}#wpbody-content .ultimate-store-kit-admin-root .h-\[22px\]{height:22px}#wpbody-content .ultimate-store-kit-admin-root .h-\[34px\]{height:34px}#wpbody-content .ultimate-store-kit-admin-root .h-\[7px\]{height:7px}#wpbody-content .ultimate-store-kit-admin-root .h-full{height:100%}#wpbody-content .ultimate-store-kit-admin-root .max-h-\[360px\]{max-height:360px}#wpbody-content .ultimate-store-kit-admin-root .min-h-\[80px\]{min-height:80px}#wpbody-content .ultimate-store-kit-admin-root .min-h-\[calc\(100vh-100px\)\]{min-height:calc(100vh - 100px)}#wpbody-content .ultimate-store-kit-admin-root .min-h-\[calc\(100vh-32px\)\]{min-height:calc(100vh - 32px)}#wpbody-content .ultimate-store-kit-admin-root .w-10{width:2.5rem}#wpbody-content .ultimate-store-kit-admin-root .w-11{width:2.75rem}#wpbody-content .ultimate-store-kit-admin-root .w-12{width:3rem}#wpbody-content .ultimate-store-kit-admin-root .w-14{width:3.5rem}#wpbody-content .ultimate-store-kit-admin-root .w-2{width:0.5rem}#wpbody-content .ultimate-store-kit-admin-root .w-20{width:5rem}#wpbody-content .ultimate-store-kit-admin-root .w-3{width:0.75rem}#wpbody-content .ultimate-store-kit-admin-root .w-3\.5{width:0.875rem}#wpbody-content .ultimate-store-kit-admin-root .w-4{width:1rem}#wpbody-content .ultimate-store-kit-admin-root .w-40{width:10rem}#wpbody-content .ultimate-store-kit-admin-root .w-5{width:1.25rem}#wpbody-content .ultimate-store-kit-admin-root .w-7{width:1.75rem}#wpbody-content .ultimate-store-kit-admin-root .w-8{width:2rem}#wpbody-content .ultimate-store-kit-admin-root .w-9{width:2.25rem}#wpbody-content .ultimate-store-kit-admin-root .w-\[14px\]{width:14px}#wpbody-content .ultimate-store-kit-admin-root .w-\[18px\]{width:18px}#wpbody-content .ultimate-store-kit-admin-root .w-\[260px\]{width:260px}#wpbody-content .ultimate-store-kit-admin-root .w-\[34px\]{width:34px}#wpbody-content .ultimate-store-kit-admin-root .w-\[400px\]{width:400px}#wpbody-content .ultimate-store-kit-admin-root .w-\[7px\]{width:7px}#wpbody-content .ultimate-store-kit-admin-root .w-\[min\(1200px\2c 100vw\)\]{width:min(1200px, 100vw)}#wpbody-content .ultimate-store-kit-admin-root .w-\[min\(640px\2c calc\(100vw-32px\)\)\]{width:min(640px, calc(100vw - 32px))}#wpbody-content .ultimate-store-kit-admin-root .w-fit{width:-moz-fit-content;width:fit-content}#wpbody-content .ultimate-store-kit-admin-root .w-full{width:100%}#wpbody-content .ultimate-store-kit-admin-root .w-max{width:-moz-max-content;width:max-content}#wpbody-content .ultimate-store-kit-admin-root .min-w-0{min-width:0px}#wpbody-content .ultimate-store-kit-admin-root .min-w-\[120px\]{min-width:120px}#wpbody-content .ultimate-store-kit-admin-root .min-w-\[140px\]{min-width:140px}#wpbody-content .ultimate-store-kit-admin-root .min-w-\[228px\]{min-width:228px}#wpbody-content .ultimate-store-kit-admin-root .min-w-\[400px\]{min-width:400px}#wpbody-content .ultimate-store-kit-admin-root .max-w-3xl{max-width:48rem}#wpbody-content .ultimate-store-kit-admin-root .max-w-\[1400px\]{max-width:1400px}#wpbody-content .ultimate-store-kit-admin-root .max-w-\[320px\]{max-width:320px}#wpbody-content .ultimate-store-kit-admin-root .max-w-\[400px\]{max-width:400px}#wpbody-content .ultimate-store-kit-admin-root .max-w-\[560px\]{max-width:560px}#wpbody-content .ultimate-store-kit-admin-root .max-w-\[70\%\]{max-width:70%}#wpbody-content .ultimate-store-kit-admin-root .max-w-\[min\(1200px\2c 100vw\)\]{max-width:min(1200px, 100vw)}#wpbody-content .ultimate-store-kit-admin-root .max-w-full{max-width:100%}#wpbody-content .ultimate-store-kit-admin-root .max-w-md{max-width:28rem}#wpbody-content .ultimate-store-kit-admin-root .flex-1{flex:1 1 0%}#wpbody-content .ultimate-store-kit-admin-root .flex-\[2\]{flex:2}#wpbody-content .ultimate-store-kit-admin-root .flex-none{flex:none}#wpbody-content .ultimate-store-kit-admin-root .shrink-0{flex-shrink:0}#wpbody-content .ultimate-store-kit-admin-root .-translate-x-1\/2{--tw-translate-x:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}#wpbody-content .ultimate-store-kit-admin-root .transform{transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}#wpbody-content .ultimate-store-kit-admin-root .animate-pulse{animation:pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite}@keyframes uskPop{from{opacity:0;transform:translateY(6px) scale(.98)}to{opacity:1;transform:none}}#wpbody-content .ultimate-store-kit-admin-root .animate-usk-pop{animation:uskPop .25s cubic-bezier(.16,1,.3,1) both}@keyframes uskSlideIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}#wpbody-content .ultimate-store-kit-admin-root .animate-usk-slide-in{animation:uskSlideIn 0.3s ease}#wpbody-content .ultimate-store-kit-admin-root .cursor-not-allowed{cursor:not-allowed}#wpbody-content .ultimate-store-kit-admin-root .cursor-pointer{cursor:pointer}#wpbody-content .ultimate-store-kit-admin-root .select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}#wpbody-content .ultimate-store-kit-admin-root .resize{resize:both}#wpbody-content .ultimate-store-kit-admin-root .list-none{list-style-type:none}#wpbody-content .ultimate-store-kit-admin-root .grid-cols-1{grid-template-columns:repeat(1, minmax(0, 1fr))}#wpbody-content .ultimate-store-kit-admin-root .grid-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr))}#wpbody-content .ultimate-store-kit-admin-root .grid-cols-4{grid-template-columns:repeat(4, minmax(0, 1fr))}#wpbody-content .ultimate-store-kit-admin-root .grid-cols-\[minmax\(0\2c 1fr\)_400px\]{grid-template-columns:minmax(0,1fr) 400px}#wpbody-content .ultimate-store-kit-admin-root .grid-cols-\[repeat\(auto-fit\2c minmax\(420px\2c 1fr\)\)\]{grid-template-columns:repeat(auto-fit,minmax(420px,1fr))}#wpbody-content .ultimate-store-kit-admin-root .flex-col{flex-direction:column}#wpbody-content .ultimate-store-kit-admin-root .flex-wrap{flex-wrap:wrap}#wpbody-content .ultimate-store-kit-admin-root .flex-nowrap{flex-wrap:nowrap}#wpbody-content .ultimate-store-kit-admin-root .place-items-center{place-items:center}#wpbody-content .ultimate-store-kit-admin-root .items-start{align-items:flex-start}#wpbody-content .ultimate-store-kit-admin-root .items-end{align-items:flex-end}#wpbody-content .ultimate-store-kit-admin-root .items-center{align-items:center}#wpbody-content .ultimate-store-kit-admin-root .items-stretch{align-items:stretch}#wpbody-content .ultimate-store-kit-admin-root .justify-start{justify-content:flex-start}#wpbody-content .ultimate-store-kit-admin-root .justify-end{justify-content:flex-end}#wpbody-content .ultimate-store-kit-admin-root .justify-center{justify-content:center}#wpbody-content .ultimate-store-kit-admin-root .justify-between{justify-content:space-between}#wpbody-content .ultimate-store-kit-admin-root .gap-1{gap:0.25rem}#wpbody-content .ultimate-store-kit-admin-root .gap-1\.5{gap:0.375rem}#wpbody-content .ultimate-store-kit-admin-root .gap-2{gap:0.5rem}#wpbody-content .ultimate-store-kit-admin-root .gap-2\.5{gap:0.625rem}#wpbody-content .ultimate-store-kit-admin-root .gap-3{gap:0.75rem}#wpbody-content .ultimate-store-kit-admin-root .gap-4{gap:1rem}#wpbody-content .ultimate-store-kit-admin-root .gap-5{gap:1.25rem}#wpbody-content .ultimate-store-kit-admin-root .gap-\[10px\]{gap:10px}#wpbody-content .ultimate-store-kit-admin-root .gap-\[14px\]{gap:14px}#wpbody-content .ultimate-store-kit-admin-root .gap-\[6px\]{gap:6px}#wpbody-content .ultimate-store-kit-admin-root .gap-\[7px\]{gap:7px}#wpbody-content .ultimate-store-kit-admin-root .gap-px{gap:1px}#wpbody-content .ultimate-store-kit-admin-root .gap-x-2\.5{-moz-column-gap:0.625rem;column-gap:0.625rem}#wpbody-content .ultimate-store-kit-admin-root .gap-x-4{-moz-column-gap:1rem;column-gap:1rem}#wpbody-content .ultimate-store-kit-admin-root .gap-y-1{row-gap:0.25rem}#wpbody-content .ultimate-store-kit-admin-root .gap-y-1\.5{row-gap:0.375rem}#wpbody-content .ultimate-store-kit-admin-root :is(.space-y-5 > :not([hidden]) ~ :not([hidden])){--tw-space-y-reverse:0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}#wpbody-content .ultimate-store-kit-admin-root :is(.space-y-6 > :not([hidden]) ~ :not([hidden])){--tw-space-y-reverse:0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}#wpbody-content .ultimate-store-kit-admin-root .self-start{align-self:flex-start}#wpbody-content .ultimate-store-kit-admin-root .overflow-hidden{overflow:hidden}#wpbody-content .ultimate-store-kit-admin-root .overflow-y-auto{overflow-y:auto}#wpbody-content .ultimate-store-kit-admin-root .truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#wpbody-content .ultimate-store-kit-admin-root .whitespace-nowrap{white-space:nowrap}#wpbody-content .ultimate-store-kit-admin-root .\!rounded-full{border-radius:9999px !important}#wpbody-content .ultimate-store-kit-admin-root .rounded-\[10px\]{border-radius:10px}#wpbody-content .ultimate-store-kit-admin-root .rounded-\[9px\]{border-radius:9px}#wpbody-content .ultimate-store-kit-admin-root .rounded-card{border-radius:18px}#wpbody-content .ultimate-store-kit-admin-root .rounded-full{border-radius:9999px}#wpbody-content .ultimate-store-kit-admin-root .rounded-lg{border-radius:0.5rem}#wpbody-content .ultimate-store-kit-admin-root .rounded-md{border-radius:0.375rem}#wpbody-content .ultimate-store-kit-admin-root .rounded-panel{border-radius:16px}#wpbody-content .ultimate-store-kit-admin-root .rounded-tile{border-radius:11px}#wpbody-content .ultimate-store-kit-admin-root .rounded-usk{border-radius:10px}#wpbody-content .ultimate-store-kit-admin-root .rounded-xl{border-radius:0.75rem}#wpbody-content .ultimate-store-kit-admin-root .rounded-b-card{border-bottom-left-radius:18px;border-bottom-right-radius:18px}#wpbody-content .ultimate-store-kit-admin-root .\!border{border-width:1px !important}#wpbody-content .ultimate-store-kit-admin-root .\!border-0{border-width:0px !important}#wpbody-content .ultimate-store-kit-admin-root .border{border-width:1px}#wpbody-content .ultimate-store-kit-admin-root .border-0{border-width:0px}#wpbody-content .ultimate-store-kit-admin-root .border-\[1\.5px\]{border-width:1.5px}#wpbody-content .ultimate-store-kit-admin-root .border-b{border-bottom-width:1px}#wpbody-content .ultimate-store-kit-admin-root .border-l{border-right-width:1px}#wpbody-content .ultimate-store-kit-admin-root .border-l-\[3px\]{border-right-width:3px}#wpbody-content .ultimate-store-kit-admin-root .border-t{border-top-width:1px}#wpbody-content .ultimate-store-kit-admin-root .\!border-solid{border-style:solid !important}#wpbody-content .ultimate-store-kit-admin-root .border-solid{border-style:solid}#wpbody-content .ultimate-store-kit-admin-root .\!border-\[\#e6e6ea\]{--tw-border-opacity:1 !important;border-color:rgb(230 230 234 / var(--tw-border-opacity, 1)) !important}#wpbody-content .ultimate-store-kit-admin-root .border-\[\#c6f0d4\]{--tw-border-opacity:1;border-color:rgb(198 240 212 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .border-\[\#e2e2e6\]{--tw-border-opacity:1;border-color:rgb(226 226 230 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .border-\[\#e6e6ea\]{--tw-border-opacity:1;border-color:rgb(230 230 234 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .border-\[\#e9e9ed\]{--tw-border-opacity:1;border-color:rgb(233 233 237 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .border-\[\#ececf0\]{--tw-border-opacity:1;border-color:rgb(236 236 240 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .border-\[\#eef0f3\]{--tw-border-opacity:1;border-color:rgb(238 240 243 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .border-\[\#f0f0f3\]{--tw-border-opacity:1;border-color:rgb(240 240 243 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .border-\[\#f3f3f6\]{--tw-border-opacity:1;border-color:rgb(243 243 246 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .border-\[\#fbc8cd\]{--tw-border-opacity:1;border-color:rgb(251 200 205 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .border-\[\#fde2b8\]{--tw-border-opacity:1;border-color:rgb(253 226 184 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .border-\[\#fecaca\]{--tw-border-opacity:1;border-color:rgb(254 202 202 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .border-emerald-200{--tw-border-opacity:1;border-color:rgb(167 243 208 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .border-gray-100{--tw-border-opacity:1;border-color:rgb(243 244 246 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .border-gray-50{--tw-border-opacity:1;border-color:rgb(249 250 251 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .border-indigo-500{--tw-border-opacity:1;border-color:rgb(99 102 241 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .border-orange-500{--tw-border-opacity:1;border-color:rgb(249 115 22 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .border-pink-500{--tw-border-opacity:1;border-color:rgb(236 72 153 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .border-red-200{--tw-border-opacity:1;border-color:rgb(254 202 202 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .border-red-500{--tw-border-opacity:1;border-color:rgb(239 68 68 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .border-slate-100{--tw-border-opacity:1;border-color:rgb(241 245 249 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .border-slate-200{--tw-border-opacity:1;border-color:rgb(226 232 240 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .border-slate-300{--tw-border-opacity:1;border-color:rgb(203 213 225 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .border-teal-500{--tw-border-opacity:1;border-color:rgb(20 184 166 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .border-transparent{border-color:transparent}#wpbody-content .ultimate-store-kit-admin-root .border-uks-brand{--tw-border-opacity:1;border-color:rgb(227 12 29 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .border-uks-brand\/15{border-color:rgb(227 12 29 / 0.15)}#wpbody-content .ultimate-store-kit-admin-root .border-uks-brand\/20{border-color:rgb(227 12 29 / 0.2)}#wpbody-content .ultimate-store-kit-admin-root .border-uks-brand\/30{border-color:rgb(227 12 29 / 0.3)}#wpbody-content .ultimate-store-kit-admin-root .border-violet-500{--tw-border-opacity:1;border-color:rgb(139 92 246 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .border-b-gray-100{--tw-border-opacity:1;border-bottom-color:rgb(243 244 246 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .border-b-gray-200{--tw-border-opacity:1;border-bottom-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .\!bg-\[\#fafbfc\]{--tw-bg-opacity:1 !important;background-color:rgb(250 251 252 / var(--tw-bg-opacity, 1)) !important}#wpbody-content .ultimate-store-kit-admin-root .\!bg-transparent{background-color:transparent !important}#wpbody-content .ultimate-store-kit-admin-root .\!bg-white{--tw-bg-opacity:1 !important;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1)) !important}#wpbody-content .ultimate-store-kit-admin-root .bg-\[\#22c55e\]{--tw-bg-opacity:1;background-color:rgb(34 197 94 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-\[\#a1a1aa\]{--tw-bg-opacity:1;background-color:rgb(161 161 170 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-\[\#e8edf8\]{--tw-bg-opacity:1;background-color:rgb(232 237 248 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-\[\#ecfdf3\]{--tw-bg-opacity:1;background-color:rgb(236 253 243 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-\[\#ecfeff\]{--tw-bg-opacity:1;background-color:rgb(236 254 255 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-\[\#eef0f3\]{--tw-bg-opacity:1;background-color:rgb(238 240 243 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-\[\#eef3ff\]{--tw-bg-opacity:1;background-color:rgb(238 243 255 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-\[\#ef4444\]{--tw-bg-opacity:1;background-color:rgb(239 68 68 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-\[\#f0f0f1\]{--tw-bg-opacity:1;background-color:rgb(240 240 241 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-\[\#f3efff\]{--tw-bg-opacity:1;background-color:rgb(243 239 255 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-\[\#f4f4f5\]{--tw-bg-opacity:1;background-color:rgb(244 244 245 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-\[\#f4f5f7\]{--tw-bg-opacity:1;background-color:rgb(244 245 247 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-\[\#f59e0b\]{--tw-bg-opacity:1;background-color:rgb(245 158 11 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-\[\#fafbfc\]{--tw-bg-opacity:1;background-color:rgb(250 251 252 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-\[\#fef2f2\]{--tw-bg-opacity:1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-\[\#fff1f2\]{--tw-bg-opacity:1;background-color:rgb(255 241 242 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-\[\#fff7ed\]{--tw-bg-opacity:1;background-color:rgb(255 247 237 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-\[\#fffbfb\]{--tw-bg-opacity:1;background-color:rgb(255 251 251 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-\[rgba\(15\2c 17\2c 21\2c \.45\)\]{background-color:rgba(15,17,21,.45)}#wpbody-content .ultimate-store-kit-admin-root .bg-emerald-100{--tw-bg-opacity:1;background-color:rgb(209 250 229 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-indigo-500{--tw-bg-opacity:1;background-color:rgb(99 102 241 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-orange-500{--tw-bg-opacity:1;background-color:rgb(249 115 22 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-pink-500{--tw-bg-opacity:1;background-color:rgb(236 72 153 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-slate-100{--tw-bg-opacity:1;background-color:rgb(241 245 249 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-slate-200{--tw-bg-opacity:1;background-color:rgb(226 232 240 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-slate-300{--tw-bg-opacity:1;background-color:rgb(203 213 225 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-slate-50{--tw-bg-opacity:1;background-color:rgb(248 250 252 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-slate-50\/50{background-color:rgb(248 250 252 / 0.5)}#wpbody-content .ultimate-store-kit-admin-root .bg-slate-50\/70{background-color:rgb(248 250 252 / 0.7)}#wpbody-content .ultimate-store-kit-admin-root .bg-teal-500{--tw-bg-opacity:1;background-color:rgb(20 184 166 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-transparent{background-color:transparent}#wpbody-content .ultimate-store-kit-admin-root .bg-uks-brand{--tw-bg-opacity:1;background-color:rgb(227 12 29 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-uks-brand\/10{background-color:rgb(227 12 29 / 0.1)}#wpbody-content .ultimate-store-kit-admin-root .bg-uks-brand\/\[0\.07\]{background-color:rgb(227 12 29 / 0.07)}#wpbody-content .ultimate-store-kit-admin-root .bg-violet-500{--tw-bg-opacity:1;background-color:rgb(139 92 246 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-white\/10{background-color:rgb(255 255 255 / 0.1)}#wpbody-content .ultimate-store-kit-admin-root .bg-white\/15{background-color:rgb(255 255 255 / 0.15)}#wpbody-content .ultimate-store-kit-admin-root .bg-white\/80{background-color:rgb(255 255 255 / 0.8)}#wpbody-content .ultimate-store-kit-admin-root .bg-\[linear-gradient\(135deg\2c \#3a0a10\2c \#8f0b16_55\%\2c \#e30c1d\)\]{background-image:linear-gradient(-135deg,#3a0a10,#8f0b16 55%,#e30c1d)}#wpbody-content .ultimate-store-kit-admin-root .bg-\[linear-gradient\(313deg\2c \#E62A3F_0\%\2c \#00216A_100\%\)\]{background-image:linear-gradient(-313deg,#E62A3F 0%,#00216A 100%)}#wpbody-content .ultimate-store-kit-admin-root .bg-gradient-brand{background-image:linear-gradient(-135deg, #ff4f57, #E30C1D)}#wpbody-content .ultimate-store-kit-admin-root .bg-gradient-to-br{background-image:linear-gradient(to bottom left, var(--tw-gradient-stops))}#wpbody-content .ultimate-store-kit-admin-root .from-uks-brand\/\[0\.07\]{--tw-gradient-from:rgb(227 12 29 / 0.07) var(--tw-gradient-from-position);--tw-gradient-to:rgb(227 12 29 / 0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}#wpbody-content .ultimate-store-kit-admin-root .to-transparent{--tw-gradient-to:transparent var(--tw-gradient-to-position)}#wpbody-content .ultimate-store-kit-admin-root .object-cover{-o-object-fit:cover;object-fit:cover}#wpbody-content .ultimate-store-kit-admin-root .\!p-0{padding:0px !important}#wpbody-content .ultimate-store-kit-admin-root .p-0{padding:0px}#wpbody-content .ultimate-store-kit-admin-root .p-0\.5{padding:0.125rem}#wpbody-content .ultimate-store-kit-admin-root .p-1{padding:0.25rem}#wpbody-content .ultimate-store-kit-admin-root .p-2{padding:0.5rem}#wpbody-content .ultimate-store-kit-admin-root .p-3{padding:0.75rem}#wpbody-content .ultimate-store-kit-admin-root .p-4{padding:1rem}#wpbody-content .ultimate-store-kit-admin-root .p-5{padding:1.25rem}#wpbody-content .ultimate-store-kit-admin-root .p-6{padding:1.5rem}#wpbody-content .ultimate-store-kit-admin-root .p-8{padding:2rem}#wpbody-content .ultimate-store-kit-admin-root .p-\[18px\]{padding:18px}#wpbody-content .ultimate-store-kit-admin-root .p-\[22px\]{padding:22px}#wpbody-content .ultimate-store-kit-admin-root .\!py-1\.5{padding-top:0.375rem !important;padding-bottom:0.375rem !important}#wpbody-content .ultimate-store-kit-admin-root .\!py-2{padding-top:0.5rem !important;padding-bottom:0.5rem !important}#wpbody-content .ultimate-store-kit-admin-root .px-1{padding-right:0.25rem;padding-left:0.25rem}#wpbody-content .ultimate-store-kit-admin-root .px-1\.5{padding-right:0.375rem;padding-left:0.375rem}#wpbody-content .ultimate-store-kit-admin-root .px-12{padding-right:3rem;padding-left:3rem}#wpbody-content .ultimate-store-kit-admin-root .px-2{padding-right:0.5rem;padding-left:0.5rem}#wpbody-content .ultimate-store-kit-admin-root .px-2\.5{padding-right:0.625rem;padding-left:0.625rem}#wpbody-content .ultimate-store-kit-admin-root .px-3{padding-right:0.75rem;padding-left:0.75rem}#wpbody-content .ultimate-store-kit-admin-root .px-3\.5{padding-right:0.875rem;padding-left:0.875rem}#wpbody-content .ultimate-store-kit-admin-root .px-4{padding-right:1rem;padding-left:1rem}#wpbody-content .ultimate-store-kit-admin-root .px-5{padding-right:1.25rem;padding-left:1.25rem}#wpbody-content .ultimate-store-kit-admin-root .px-6{padding-right:1.5rem;padding-left:1.5rem}#wpbody-content .ultimate-store-kit-admin-root .px-\[14px\]{padding-right:14px;padding-left:14px}#wpbody-content .ultimate-store-kit-admin-root .px-\[15px\]{padding-right:15px;padding-left:15px}#wpbody-content .ultimate-store-kit-admin-root .px-\[17px\]{padding-right:17px;padding-left:17px}#wpbody-content .ultimate-store-kit-admin-root .px-\[18px\]{padding-right:18px;padding-left:18px}#wpbody-content .ultimate-store-kit-admin-root .px-\[22px\]{padding-right:22px;padding-left:22px}#wpbody-content .ultimate-store-kit-admin-root .px-\[26px\]{padding-right:26px;padding-left:26px}#wpbody-content .ultimate-store-kit-admin-root .px-\[6px\]{padding-right:6px;padding-left:6px}#wpbody-content .ultimate-store-kit-admin-root .px-\[7px\]{padding-right:7px;padding-left:7px}#wpbody-content .ultimate-store-kit-admin-root .py-0\.5{padding-top:0.125rem;padding-bottom:0.125rem}#wpbody-content .ultimate-store-kit-admin-root .py-1{padding-top:0.25rem;padding-bottom:0.25rem}#wpbody-content .ultimate-store-kit-admin-root .py-1\.5{padding-top:0.375rem;padding-bottom:0.375rem}#wpbody-content .ultimate-store-kit-admin-root .py-14{padding-top:3.5rem;padding-bottom:3.5rem}#wpbody-content .ultimate-store-kit-admin-root .py-16{padding-top:4rem;padding-bottom:4rem}#wpbody-content .ultimate-store-kit-admin-root .py-2{padding-top:0.5rem;padding-bottom:0.5rem}#wpbody-content .ultimate-store-kit-admin-root .py-2\.5{padding-top:0.625rem;padding-bottom:0.625rem}#wpbody-content .ultimate-store-kit-admin-root .py-3{padding-top:0.75rem;padding-bottom:0.75rem}#wpbody-content .ultimate-store-kit-admin-root .py-3\.5{padding-top:0.875rem;padding-bottom:0.875rem}#wpbody-content .ultimate-store-kit-admin-root .py-4{padding-top:1rem;padding-bottom:1rem}#wpbody-content .ultimate-store-kit-admin-root .py-5{padding-top:1.25rem;padding-bottom:1.25rem}#wpbody-content .ultimate-store-kit-admin-root .py-6{padding-top:1.5rem;padding-bottom:1.5rem}#wpbody-content .ultimate-store-kit-admin-root .py-\[10px\]{padding-top:10px;padding-bottom:10px}#wpbody-content .ultimate-store-kit-admin-root .py-\[11px\]{padding-top:11px;padding-bottom:11px}#wpbody-content .ultimate-store-kit-admin-root .py-\[14px\]{padding-top:14px;padding-bottom:14px}#wpbody-content .ultimate-store-kit-admin-root .py-\[18px\]{padding-top:18px;padding-bottom:18px}#wpbody-content .ultimate-store-kit-admin-root .py-\[3px\]{padding-top:3px;padding-bottom:3px}#wpbody-content .ultimate-store-kit-admin-root .py-\[7px\]{padding-top:7px;padding-bottom:7px}#wpbody-content .ultimate-store-kit-admin-root .py-\[9px\]{padding-top:9px;padding-bottom:9px}#wpbody-content .ultimate-store-kit-admin-root .\!pl-3{padding-right:0.75rem !important}#wpbody-content .ultimate-store-kit-admin-root .\!pl-9{padding-right:2.25rem !important}#wpbody-content .ultimate-store-kit-admin-root .\!pr-3{padding-left:0.75rem !important}#wpbody-content .ultimate-store-kit-admin-root .\!pr-8{padding-left:2rem !important}#wpbody-content .ultimate-store-kit-admin-root .pb-20{padding-bottom:5rem}#wpbody-content .ultimate-store-kit-admin-root .pb-4{padding-bottom:1rem}#wpbody-content .ultimate-store-kit-admin-root .pb-\[60px\]{padding-bottom:60px}#wpbody-content .ultimate-store-kit-admin-root .pl-5{padding-right:1.25rem}#wpbody-content .ultimate-store-kit-admin-root .pl-\[14px\]{padding-right:14px}#wpbody-content .ultimate-store-kit-admin-root .pr-2{padding-left:0.5rem}#wpbody-content .ultimate-store-kit-admin-root .pr-\[9px\]{padding-left:9px}#wpbody-content .ultimate-store-kit-admin-root .pt-1{padding-top:0.25rem}#wpbody-content .ultimate-store-kit-admin-root .pt-3{padding-top:0.75rem}#wpbody-content .ultimate-store-kit-admin-root .pt-4{padding-top:1rem}#wpbody-content .ultimate-store-kit-admin-root .pt-\[12vh\]{padding-top:12vh}#wpbody-content .ultimate-store-kit-admin-root .pt-\[18px\]{padding-top:18px}#wpbody-content .ultimate-store-kit-admin-root .pt-\[30px\]{padding-top:30px}#wpbody-content .ultimate-store-kit-admin-root .text-left{text-align:right}#wpbody-content .ultimate-store-kit-admin-root .text-center{text-align:center}#wpbody-content .ultimate-store-kit-admin-root .align-middle{vertical-align:middle}#wpbody-content .ultimate-store-kit-admin-root .font-mono{font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace}#wpbody-content .ultimate-store-kit-admin-root .font-sans{font-family:"IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, sans-serif}#wpbody-content .ultimate-store-kit-admin-root .text-\[10px\]{font-size:10px}#wpbody-content .ultimate-store-kit-admin-root .text-\[11\.5px\]{font-size:11.5px}#wpbody-content .ultimate-store-kit-admin-root .text-\[11px\]{font-size:11px}#wpbody-content .ultimate-store-kit-admin-root .text-\[12\.5px\]{font-size:12.5px}#wpbody-content .ultimate-store-kit-admin-root .text-\[12px\]{font-size:12px}#wpbody-content .ultimate-store-kit-admin-root .text-\[13\.5px\]{font-size:13.5px}#wpbody-content .ultimate-store-kit-admin-root .text-\[13px\]{font-size:13px}#wpbody-content .ultimate-store-kit-admin-root .text-\[14px\]{font-size:14px}#wpbody-content .ultimate-store-kit-admin-root .text-\[15px\]{font-size:15px}#wpbody-content .ultimate-store-kit-admin-root .text-\[16px\]{font-size:16px}#wpbody-content .ultimate-store-kit-admin-root .text-\[18px\]{font-size:18px}#wpbody-content .ultimate-store-kit-admin-root .text-\[19px\]{font-size:19px}#wpbody-content .ultimate-store-kit-admin-root .text-\[20px\]{font-size:20px}#wpbody-content .ultimate-store-kit-admin-root .text-\[22px\]{font-size:22px}#wpbody-content .ultimate-store-kit-admin-root .text-\[26px\]{font-size:26px}#wpbody-content .ultimate-store-kit-admin-root .text-\[28px\]{font-size:28px}#wpbody-content .ultimate-store-kit-admin-root .text-\[34px\]{font-size:34px}#wpbody-content .ultimate-store-kit-admin-root .text-\[9\.5px\]{font-size:9.5px}#wpbody-content .ultimate-store-kit-admin-root .text-base{font-size:1rem;line-height:1.5rem}#wpbody-content .ultimate-store-kit-admin-root .text-lg{font-size:1.125rem;line-height:1.75rem}#wpbody-content .ultimate-store-kit-admin-root .text-sm{font-size:0.875rem;line-height:1.25rem}#wpbody-content .ultimate-store-kit-admin-root .text-xl{font-size:1.25rem;line-height:1.75rem}#wpbody-content .ultimate-store-kit-admin-root .text-xs{font-size:0.75rem;line-height:1rem}#wpbody-content .ultimate-store-kit-admin-root .font-black{font-weight:900}#wpbody-content .ultimate-store-kit-admin-root .font-bold{font-weight:700}#wpbody-content .ultimate-store-kit-admin-root .font-extrabold{font-weight:800}#wpbody-content .ultimate-store-kit-admin-root .font-medium{font-weight:500}#wpbody-content .ultimate-store-kit-admin-root .font-semibold{font-weight:600}#wpbody-content .ultimate-store-kit-admin-root .uppercase{text-transform:uppercase}#wpbody-content .ultimate-store-kit-admin-root .leading-none{line-height:1}#wpbody-content .ultimate-store-kit-admin-root .leading-relaxed{line-height:1.625}#wpbody-content .ultimate-store-kit-admin-root .leading-snug{line-height:1.375}#wpbody-content .ultimate-store-kit-admin-root .tracking-\[-\.01em\]{letter-spacing:-.01em}#wpbody-content .ultimate-store-kit-admin-root .tracking-\[-\.02em\]{letter-spacing:-.02em}#wpbody-content .ultimate-store-kit-admin-root .tracking-\[-\.03em\]{letter-spacing:-.03em}#wpbody-content .ultimate-store-kit-admin-root .tracking-\[\.06em\]{letter-spacing:.06em}#wpbody-content .ultimate-store-kit-admin-root .tracking-\[\.08em\]{letter-spacing:.08em}#wpbody-content .ultimate-store-kit-admin-root .tracking-tight{letter-spacing:-0.025em}#wpbody-content .ultimate-store-kit-admin-root .tracking-wide{letter-spacing:0.025em}#wpbody-content .ultimate-store-kit-admin-root .tracking-wider{letter-spacing:0.05em}#wpbody-content .ultimate-store-kit-admin-root .tracking-widest{letter-spacing:0.1em}#wpbody-content .ultimate-store-kit-admin-root .\!text-\[\#3f3f46\]{--tw-text-opacity:1 !important;color:rgb(63 63 70 / var(--tw-text-opacity, 1)) !important}#wpbody-content .ultimate-store-kit-admin-root .\!text-\[\#b45309\]{--tw-text-opacity:1 !important;color:rgb(180 83 9 / var(--tw-text-opacity, 1)) !important}#wpbody-content .ultimate-store-kit-admin-root .text-\[\#00216A\]{--tw-text-opacity:1;color:rgb(0 33 106 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-\[\#0e9488\]{--tw-text-opacity:1;color:rgb(14 148 136 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-\[\#0f1115\]{--tw-text-opacity:1;color:rgb(15 17 21 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-\[\#15803d\]{--tw-text-opacity:1;color:rgb(21 128 61 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-\[\#16a34a\]{--tw-text-opacity:1;color:rgb(22 163 74 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-\[\#1d2327\]{--tw-text-opacity:1;color:rgb(29 35 39 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-\[\#27272a\]{--tw-text-opacity:1;color:rgb(39 39 42 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-\[\#2f5bea\]{--tw-text-opacity:1;color:rgb(47 91 234 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-\[\#3f3f46\]{--tw-text-opacity:1;color:rgb(63 63 70 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-\[\#52525b\]{--tw-text-opacity:1;color:rgb(82 82 91 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-\[\#6c6c75\]{--tw-text-opacity:1;color:rgb(108 108 117 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-\[\#6d6d74\]{--tw-text-opacity:1;color:rgb(109 109 116 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-\[\#7c3aed\]{--tw-text-opacity:1;color:rgb(124 58 237 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-\[\#8a8a93\]{--tw-text-opacity:1;color:rgb(138 138 147 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-\[\#991b1b\]{--tw-text-opacity:1;color:rgb(153 27 27 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-\[\#a1a1aa\]{--tw-text-opacity:1;color:rgb(161 161 170 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-\[\#b45309\]{--tw-text-opacity:1;color:rgb(180 83 9 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-\[\#b91c1c\]{--tw-text-opacity:1;color:rgb(185 28 28 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-\[\#be123c\]{--tw-text-opacity:1;color:rgb(190 18 60 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-\[\#d97706\]{--tw-text-opacity:1;color:rgb(217 119 6 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-\[\#e11d48\]{--tw-text-opacity:1;color:rgb(225 29 72 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-\[\#e30c1d\]{--tw-text-opacity:1;color:rgb(227 12 29 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-emerald-500{--tw-text-opacity:1;color:rgb(16 185 129 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-emerald-600{--tw-text-opacity:1;color:rgb(5 150 105 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-emerald-800{--tw-text-opacity:1;color:rgb(6 95 70 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-inherit{color:inherit}#wpbody-content .ultimate-store-kit-admin-root .text-red-500{--tw-text-opacity:1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-red-900{--tw-text-opacity:1;color:rgb(127 29 29 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-slate-300{--tw-text-opacity:1;color:rgb(203 213 225 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-slate-400{--tw-text-opacity:1;color:rgb(148 163 184 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-slate-500{--tw-text-opacity:1;color:rgb(100 116 139 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-slate-600{--tw-text-opacity:1;color:rgb(71 85 105 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-slate-700{--tw-text-opacity:1;color:rgb(51 65 85 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-slate-800{--tw-text-opacity:1;color:rgb(30 41 59 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-slate-900{--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-uks-brand{--tw-text-opacity:1;color:rgb(227 12 29 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-white{--tw-text-opacity:1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-white\/80{color:rgb(255 255 255 / 0.8)}#wpbody-content .ultimate-store-kit-admin-root .text-white\/90{color:rgb(255 255 255 / 0.9)}#wpbody-content .ultimate-store-kit-admin-root .no-underline{text-decoration-line:none}#wpbody-content .ultimate-store-kit-admin-root .opacity-60{opacity:0.6}#wpbody-content .ultimate-store-kit-admin-root .opacity-70{opacity:0.7}#wpbody-content .ultimate-store-kit-admin-root .opacity-80{opacity:0.8}#wpbody-content .ultimate-store-kit-admin-root .\!shadow-none{--tw-shadow:0 0 #0000 !important;--tw-shadow-colored:0 0 #0000 !important;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) !important}#wpbody-content .ultimate-store-kit-admin-root .shadow-\[0_0_0_3px_rgba\(34\2c 197\2c 94\2c \.2\)\]{--tw-shadow:0 0 0 3px rgba(34,197,94,.2);--tw-shadow-colored:0 0 0 3px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}#wpbody-content .ultimate-store-kit-admin-root .shadow-\[0_1px_3px_rgba\(0\2c 0\2c 0\2c \.12\)\]{--tw-shadow:0 1px 3px rgba(0,0,0,.12);--tw-shadow-colored:0 1px 3px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}#wpbody-content .ultimate-store-kit-admin-root .shadow-glow{--tw-shadow:0 6px 18px rgba(227, 12, 29, 0.28);--tw-shadow-colored:0 6px 18px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}#wpbody-content .ultimate-store-kit-admin-root .shadow-pop{--tw-shadow:0 24px 60px -16px rgba(0, 0, 0, 0.32);--tw-shadow-colored:0 24px 60px -16px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}#wpbody-content .ultimate-store-kit-admin-root .shadow-sm{--tw-shadow:0 1px 2px 0 rgb(0 0 0 / 0.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}#wpbody-content .ultimate-store-kit-admin-root .\!outline-none{outline:2px solid transparent !important;outline-offset:2px !important}#wpbody-content .ultimate-store-kit-admin-root .filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}#wpbody-content .ultimate-store-kit-admin-root .transition{transition-property:color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}#wpbody-content .ultimate-store-kit-admin-root .transition-\[width\]{transition-property:width;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}#wpbody-content .ultimate-store-kit-admin-root .transition-all{transition-property:all;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}#wpbody-content .ultimate-store-kit-admin-root .transition-colors{transition-property:color, background-color, border-color, text-decoration-color, fill, stroke;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}#wpbody-content .ultimate-store-kit-admin-root .transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}#wpbody-content .ultimate-store-kit-admin-root .transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}#wpbody-content .ultimate-store-kit-admin-root .duration-200{transition-duration:200ms}#wpbody-content .ultimate-store-kit-admin-root .duration-500{transition-duration:500ms}#wpbody-content .ultimate-store-kit-admin-root .ease-in-out{transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1)}@font-face{font-family:"IBM Plex Sans";src:url("../../includes/Admin/assets/fonts/IBMPlexSans-Variable.woff2") format("woff2-variations"),url("../../includes/Admin/assets/fonts/IBMPlexSans-Variable.woff2") format("woff2");font-weight:100 700;font-style:normal;font-display:swap}.ultimate-store-kit-admin-root .usk-app{font-family:"IBM Plex Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,sans-serif;-webkit-font-smoothing:antialiased}.ultimate-store-kit-admin-root .usk-app :is(h1,h2,h3,h4,button,input,select,textarea){font-family:inherit}.ultimate-store-kit-admin-root a:focus,.ultimate-store-kit-admin-root button:focus{box-shadow:none}.ultimate-store-kit-admin-root a:focus-visible,.ultimate-store-kit-admin-root button:focus-visible{outline:2px solid #e30c1d;outline-offset:2px}.usk-tabstrip-scroll{scrollbar-width:none}.usk-tabstrip-scroll::-webkit-scrollbar{display:none}.usk-toast-wrap{position:fixed;top:40px;right:50%;transform:translateX(50%);z-index:99999;pointer-events:none;display:flex;justify-content:center;width:auto;max-width:480px}.usk-toast{pointer-events:auto;display:flex;align-items:center;gap:10px;padding:10px 18px;border-radius:10px;font-size:13px;font-weight:600;box-shadow:0 8px 24px rgba(0,0,0,.12);animation:usk-toast-in .35s cubic-bezier(0.21, 1.02, 0.73, 1) forwards;white-space:nowrap}.usk-toast--success{background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0}.usk-toast--error{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}.usk-toast__close{cursor:pointer;border:0;background:rgba(0,0,0,0);color:inherit;font-size:16px;line-height:1;padding:0 6px 0 0;opacity:.6;transition:opacity .15s}.usk-toast__close:hover{opacity:1}@keyframes usk-toast-in{0%{opacity:0;transform:translateY(-14px) scale(0.96)}100%{opacity:1;transform:translateY(0) scale(1)}}#wpbody-content .ultimate-store-kit-admin-root .placeholder\:text-slate-400::-moz-placeholder{--tw-text-opacity:1;color:rgb(148 163 184 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .placeholder\:text-slate-400::placeholder{--tw-text-opacity:1;color:rgb(148 163 184 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .last\:border-b-0:last-child{border-bottom-width:0px}#wpbody-content .ultimate-store-kit-admin-root .last\:pb-0:last-child{padding-bottom:0px}#wpbody-content .ultimate-store-kit-admin-root .hover\:-translate-y-\[2px\]:hover{--tw-translate-y:-2px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}#wpbody-content .ultimate-store-kit-admin-root .hover\:-translate-y-\[3px\]:hover{--tw-translate-y:-3px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}#wpbody-content .ultimate-store-kit-admin-root .hover\:-translate-y-px:hover{--tw-translate-y:-1px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}#wpbody-content .ultimate-store-kit-admin-root .hover\:border-\[\#d4d4dc\]:hover{--tw-border-opacity:1;border-color:rgb(212 212 220 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .hover\:border-\[\#e30c1d\]:hover{--tw-border-opacity:1;border-color:rgb(227 12 29 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .hover\:border-\[\#fbc8cd\]:hover{--tw-border-opacity:1;border-color:rgb(251 200 205 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .hover\:border-slate-300:hover{--tw-border-opacity:1;border-color:rgb(203 213 225 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .hover\:border-uks-brand\/25:hover{border-color:rgb(227 12 29 / 0.25)}#wpbody-content .ultimate-store-kit-admin-root .hover\:bg-\[\#f3f5f8\]:hover{--tw-bg-opacity:1;background-color:rgb(243 245 248 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .hover\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .hover\:bg-red-500:hover{--tw-bg-opacity:1;background-color:rgb(239 68 68 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .hover\:bg-slate-50:hover{--tw-bg-opacity:1;background-color:rgb(248 250 252 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .hover\:bg-uks-brand:hover{--tw-bg-opacity:1;background-color:rgb(227 12 29 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .hover\:bg-uks-brand-dark:hover{--tw-bg-opacity:1;background-color:rgb(184 10 23 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .hover\:text-\[\#0f1115\]:hover{--tw-text-opacity:1;color:rgb(15 17 21 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .hover\:text-\[\#18181b\]:hover{--tw-text-opacity:1;color:rgb(24 24 27 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .hover\:text-\[\#e30c1d\]:hover{--tw-text-opacity:1;color:rgb(227 12 29 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .hover\:text-gray-800:hover{--tw-text-opacity:1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .hover\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .hover\:underline:hover{text-decoration-line:underline}#wpbody-content .ultimate-store-kit-admin-root .hover\:opacity-90:hover{opacity:0.9}#wpbody-content .ultimate-store-kit-admin-root .hover\:shadow-glow-lg:hover{--tw-shadow:0 8px 24px rgba(227, 12, 29, 0.38);--tw-shadow-colored:0 8px 24px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}#wpbody-content .ultimate-store-kit-admin-root .hover\:shadow-lift:hover{--tw-shadow:0 12px 26px -14px rgba(0, 0, 0, 0.22);--tw-shadow-colored:0 12px 26px -14px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}#wpbody-content .ultimate-store-kit-admin-root .focus\:\!border-\[\#e30c1d\]:focus{--tw-border-opacity:1 !important;border-color:rgb(227 12 29 / var(--tw-border-opacity, 1)) !important}#wpbody-content .ultimate-store-kit-admin-root .focus\:border-uks-brand:focus{--tw-border-opacity:1;border-color:rgb(227 12 29 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}#wpbody-content .ultimate-store-kit-admin-root .focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}#wpbody-content .ultimate-store-kit-admin-root .focus\:ring-uks-brand:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(227 12 29 / var(--tw-ring-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .disabled\:cursor-not-allowed:disabled{cursor:not-allowed}#wpbody-content .ultimate-store-kit-admin-root .disabled\:cursor-wait:disabled{cursor:wait}#wpbody-content .ultimate-store-kit-admin-root .disabled\:opacity-50:disabled{opacity:0.5}#wpbody-content .ultimate-store-kit-admin-root .disabled\:opacity-60:disabled{opacity:0.6}#wpbody-content .ultimate-store-kit-admin-root .disabled\:opacity-70:disabled{opacity:0.7}#wpbody-content .ultimate-store-kit-admin-root :is(.group:hover .group-hover\:translate-x-0\.5){--tw-translate-x:0.125rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}#wpbody-content .ultimate-store-kit-admin-root :is(.group:hover .group-hover\:bg-uks-brand\/15){background-color:rgb(227 12 29 / 0.15)}#wpbody-content .ultimate-store-kit-admin-root :is(.peer:checked ~ .peer-checked\:translate-x-\[18px\]){--tw-translate-x:18px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}#wpbody-content .ultimate-store-kit-admin-root :is(.peer:checked ~ .peer-checked\:bg-uks-brand){--tw-bg-opacity:1;background-color:rgb(227 12 29 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root :is(.peer:disabled ~ .peer-disabled\:opacity-50){opacity:0.5}@media (max-width: 1180px){#wpbody-content .ultimate-store-kit-admin-root .max-\[1180px\]\:grid-cols-1{grid-template-columns:repeat(1, minmax(0, 1fr))}#wpbody-content .ultimate-store-kit-admin-root .max-\[1180px\]\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}}@media not all and (min-width: 1024px){#wpbody-content .ultimate-store-kit-admin-root .max-lg\:hidden{display:none}}@media (max-width: 1024px){#wpbody-content .ultimate-store-kit-admin-root .max-\[1024px\]\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}#wpbody-content .ultimate-store-kit-admin-root .max-\[1024px\]\:px-7{padding-right:1.75rem;padding-left:1.75rem}#wpbody-content .ultimate-store-kit-admin-root .max-\[1024px\]\:pt-6{padding-top:1.5rem}}@media (max-width: 900px){#wpbody-content .ultimate-store-kit-admin-root .max-\[900px\]\:grid-cols-1{grid-template-columns:repeat(1, minmax(0, 1fr))}#wpbody-content .ultimate-store-kit-admin-root .max-\[900px\]\:gap-3{gap:0.75rem}#wpbody-content .ultimate-store-kit-admin-root .max-\[900px\]\:px-\[15px\]{padding-right:15px;padding-left:15px}#wpbody-content .ultimate-store-kit-admin-root .max-\[900px\]\:py-\[13px\]{padding-top:13px;padding-bottom:13px}}@media not all and (min-width: 768px){#wpbody-content .ultimate-store-kit-admin-root .max-md\:hidden{display:none}}@media (max-width: 760px){#wpbody-content .ultimate-store-kit-admin-root .max-\[760px\]\:grid-cols-1{grid-template-columns:repeat(1, minmax(0, 1fr))}#wpbody-content .ultimate-store-kit-admin-root .max-\[760px\]\:border-0{border-width:0px}#wpbody-content .ultimate-store-kit-admin-root .max-\[760px\]\:border-l-0{border-right-width:0px}#wpbody-content .ultimate-store-kit-admin-root .max-\[760px\]\:border-t{border-top-width:1px}#wpbody-content .ultimate-store-kit-admin-root .max-\[760px\]\:border-solid{border-style:solid}#wpbody-content .ultimate-store-kit-admin-root .max-\[760px\]\:border-\[\#eef0f3\]{--tw-border-opacity:1;border-color:rgb(238 240 243 / var(--tw-border-opacity, 1))}}@media (max-width: 720px){#wpbody-content .ultimate-store-kit-admin-root .max-\[720px\]\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}}@media (max-width: 700px){#wpbody-content .ultimate-store-kit-admin-root .max-\[700px\]\:grid-cols-1{grid-template-columns:repeat(1, minmax(0, 1fr))}}@media (max-width: 640px){#wpbody-content .ultimate-store-kit-admin-root .max-\[640px\]\:hidden{display:none}#wpbody-content .ultimate-store-kit-admin-root .max-\[640px\]\:grid-cols-1{grid-template-columns:repeat(1, minmax(0, 1fr))}#wpbody-content .ultimate-store-kit-admin-root .max-\[640px\]\:px-0{padding-right:0px;padding-left:0px}#wpbody-content .ultimate-store-kit-admin-root .max-\[640px\]\:px-\[15px\]{padding-right:15px;padding-left:15px}#wpbody-content .ultimate-store-kit-admin-root .max-\[640px\]\:pt-4{padding-top:1rem}}@media (max-width: 560px){#wpbody-content .ultimate-store-kit-admin-root .max-\[560px\]\:grid-cols-1{grid-template-columns:repeat(1, minmax(0, 1fr))}}@media (max-width: 480px){#wpbody-content .ultimate-store-kit-admin-root .max-\[480px\]\:text-\[16px\]{font-size:16px}}@media (max-width: 440px){#wpbody-content .ultimate-store-kit-admin-root .max-\[440px\]\:grid-cols-1{grid-template-columns:repeat(1, minmax(0, 1fr))}}@media (min-width: 640px){#wpbody-content .ultimate-store-kit-admin-root .sm\:mb-4{margin-bottom:1rem}#wpbody-content .ultimate-store-kit-admin-root .sm\:inline-block{display:inline-block}#wpbody-content .ultimate-store-kit-admin-root .sm\:h-12{height:3rem}#wpbody-content .ultimate-store-kit-admin-root .sm\:w-12{width:3rem}#wpbody-content .ultimate-store-kit-admin-root .sm\:w-28{width:7rem}#wpbody-content .ultimate-store-kit-admin-root .sm\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}#wpbody-content .ultimate-store-kit-admin-root .sm\:grid-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr))}#wpbody-content .ultimate-store-kit-admin-root .sm\:flex-row{flex-direction:row}#wpbody-content .ultimate-store-kit-admin-root .sm\:items-center{align-items:center}#wpbody-content .ultimate-store-kit-admin-root .sm\:justify-between{justify-content:space-between}#wpbody-content .ultimate-store-kit-admin-root .sm\:gap-1\.5{gap:0.375rem}#wpbody-content .ultimate-store-kit-admin-root .sm\:gap-2\.5{gap:0.625rem}#wpbody-content .ultimate-store-kit-admin-root .sm\:p-10{padding:2.5rem}#wpbody-content .ultimate-store-kit-admin-root .sm\:p-5{padding:1.25rem}#wpbody-content .ultimate-store-kit-admin-root .sm\:px-10{padding-right:2.5rem;padding-left:2.5rem}#wpbody-content .ultimate-store-kit-admin-root .sm\:px-5{padding-right:1.25rem;padding-left:1.25rem}#wpbody-content .ultimate-store-kit-admin-root .sm\:px-6{padding-right:1.5rem;padding-left:1.5rem}#wpbody-content .ultimate-store-kit-admin-root .sm\:py-20{padding-top:5rem;padding-bottom:5rem}#wpbody-content .ultimate-store-kit-admin-root .sm\:py-3\.5{padding-top:0.875rem;padding-bottom:0.875rem}#wpbody-content .ultimate-store-kit-admin-root .sm\:py-6{padding-top:1.5rem;padding-bottom:1.5rem}#wpbody-content .ultimate-store-kit-admin-root .sm\:pl-2{padding-right:0.5rem}#wpbody-content .ultimate-store-kit-admin-root .sm\:text-left{text-align:right}#wpbody-content .ultimate-store-kit-admin-root .sm\:text-\[11px\]{font-size:11px}#wpbody-content .ultimate-store-kit-admin-root .sm\:text-\[12px\]{font-size:12px}#wpbody-content .ultimate-store-kit-admin-root .sm\:text-\[13px\]{font-size:13px}}@media (min-width: 1024px){#wpbody-content .ultimate-store-kit-admin-root .lg\:w-36{width:9rem}#wpbody-content .ultimate-store-kit-admin-root .lg\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}#wpbody-content .ultimate-store-kit-admin-root .lg\:grid-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr))}#wpbody-content .ultimate-store-kit-admin-root .lg\:grid-cols-4{grid-template-columns:repeat(4, minmax(0, 1fr))}#wpbody-content .ultimate-store-kit-admin-root .lg\:p-6{padding:1.5rem}}@media (min-width: 1280px){#wpbody-content .ultimate-store-kit-admin-root .xl\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}#wpbody-content .ultimate-store-kit-admin-root .xl\:grid-cols-4{grid-template-columns:repeat(4, minmax(0, 1fr))}}@media (min-width: 1536px){#wpbody-content .ultimate-store-kit-admin-root .\32xl\:grid-cols-4{grid-template-columns:repeat(4, minmax(0, 1fr))}}#wpbody-content .ultimate-store-kit-admin-root :is(.\[\&_svg\]\:h-5 svg){height:1.25rem}#wpbody-content .ultimate-store-kit-admin-root :is(.\[\&_svg\]\:w-5 svg){width:1.25rem}
  • ultimate-store-kit/trunk/assets/admin/style-admin.css

    r3757742 r3790891  
    1 .container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.ultimate-store-kit-admin-root .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}.ultimate-store-kit-admin-root .pointer-events-none{pointer-events:none}.ultimate-store-kit-admin-root .pointer-events-auto{pointer-events:auto}.ultimate-store-kit-admin-root .fixed{position:fixed}.ultimate-store-kit-admin-root .absolute{position:absolute}.ultimate-store-kit-admin-root .relative{position:relative}.ultimate-store-kit-admin-root .inset-0{inset:0px}.ultimate-store-kit-admin-root .inset-y-0{top:0px;bottom:0px}.ultimate-store-kit-admin-root .bottom-\[3px\]{bottom:3px}.ultimate-store-kit-admin-root .left-\[3px\]{left:3px}.ultimate-store-kit-admin-root .right-3{right:0.75rem}.ultimate-store-kit-admin-root .z-\[159000\]{z-index:159000}.ultimate-store-kit-admin-root .z-\[1\]{z-index:1}.ultimate-store-kit-admin-root .col-span-full{grid-column:1 / -1}.ultimate-store-kit-admin-root .m-0{margin:0px}.ultimate-store-kit-admin-root .m-5{margin:1.25rem}.ultimate-store-kit-admin-root .mx-auto{margin-left:auto;margin-right:auto}.ultimate-store-kit-admin-root .my-2{margin-top:0.5rem;margin-bottom:0.5rem}.ultimate-store-kit-admin-root .my-auto{margin-top:auto;margin-bottom:auto}.ultimate-store-kit-admin-root .mb-0{margin-bottom:0px}.ultimate-store-kit-admin-root .mb-0\.5{margin-bottom:0.125rem}.ultimate-store-kit-admin-root .mb-1{margin-bottom:0.25rem}.ultimate-store-kit-admin-root .mb-2{margin-bottom:0.5rem}.ultimate-store-kit-admin-root .mb-2\.5{margin-bottom:0.625rem}.ultimate-store-kit-admin-root .mb-3{margin-bottom:0.75rem}.ultimate-store-kit-admin-root .mb-4{margin-bottom:1rem}.ultimate-store-kit-admin-root .mb-5{margin-bottom:1.25rem}.ultimate-store-kit-admin-root .mb-6{margin-bottom:1.5rem}.ultimate-store-kit-admin-root .ml-0{margin-left:0px}.ultimate-store-kit-admin-root .ml-2{margin-left:0.5rem}.ultimate-store-kit-admin-root .mt-0{margin-top:0px}.ultimate-store-kit-admin-root .mt-0\.5{margin-top:0.125rem}.ultimate-store-kit-admin-root .mt-1{margin-top:0.25rem}.ultimate-store-kit-admin-root .mt-2{margin-top:0.5rem}.ultimate-store-kit-admin-root .mt-2\.5{margin-top:0.625rem}.ultimate-store-kit-admin-root .mt-3{margin-top:0.75rem}.ultimate-store-kit-admin-root .mt-4{margin-top:1rem}.ultimate-store-kit-admin-root .mt-6{margin-top:1.5rem}.ultimate-store-kit-admin-root .block{display:block}.ultimate-store-kit-admin-root .inline-block{display:inline-block}.ultimate-store-kit-admin-root .inline{display:inline}.ultimate-store-kit-admin-root .flex{display:flex}.ultimate-store-kit-admin-root .inline-flex{display:inline-flex}.ultimate-store-kit-admin-root .grid{display:grid}.ultimate-store-kit-admin-root .contents{display:contents}.ultimate-store-kit-admin-root .hidden{display:none}.ultimate-store-kit-admin-root .h-1\.5{height:0.375rem}.ultimate-store-kit-admin-root .h-10{height:2.5rem}.ultimate-store-kit-admin-root .h-11{height:2.75rem}.ultimate-store-kit-admin-root .h-12{height:3rem}.ultimate-store-kit-admin-root .h-14{height:3.5rem}.ultimate-store-kit-admin-root .h-3{height:0.75rem}.ultimate-store-kit-admin-root .h-3\.5{height:0.875rem}.ultimate-store-kit-admin-root .h-4{height:1rem}.ultimate-store-kit-admin-root .h-5{height:1.25rem}.ultimate-store-kit-admin-root .h-7{height:1.75rem}.ultimate-store-kit-admin-root .h-8{height:2rem}.ultimate-store-kit-admin-root .h-9{height:2.25rem}.ultimate-store-kit-admin-root .h-\[14px\]{height:14px}.ultimate-store-kit-admin-root .h-\[18px\]{height:18px}.ultimate-store-kit-admin-root .h-\[22px\]{height:22px}.ultimate-store-kit-admin-root .h-\[60px\]{height:60px}.ultimate-store-kit-admin-root .h-full{height:100%}.ultimate-store-kit-admin-root .min-h-9{min-height:2.25rem}.ultimate-store-kit-admin-root .min-h-\[calc\(100vh-100px\)\]{min-height:calc(100vh - 100px)}.ultimate-store-kit-admin-root .w-1\.5{width:0.375rem}.ultimate-store-kit-admin-root .w-10{width:2.5rem}.ultimate-store-kit-admin-root .w-11{width:2.75rem}.ultimate-store-kit-admin-root .w-12{width:3rem}.ultimate-store-kit-admin-root .w-14{width:3.5rem}.ultimate-store-kit-admin-root .w-20{width:5rem}.ultimate-store-kit-admin-root .w-3{width:0.75rem}.ultimate-store-kit-admin-root .w-3\.5{width:0.875rem}.ultimate-store-kit-admin-root .w-4{width:1rem}.ultimate-store-kit-admin-root .w-5{width:1.25rem}.ultimate-store-kit-admin-root .w-64{width:16rem}.ultimate-store-kit-admin-root .w-7{width:1.75rem}.ultimate-store-kit-admin-root .w-8{width:2rem}.ultimate-store-kit-admin-root .w-9{width:2.25rem}.ultimate-store-kit-admin-root .w-\[14px\]{width:14px}.ultimate-store-kit-admin-root .w-\[18px\]{width:18px}.ultimate-store-kit-admin-root .w-\[400px\]{width:400px}.ultimate-store-kit-admin-root .w-\[60px\]{width:60px}.ultimate-store-kit-admin-root .w-\[min\(1200px\2c 100vw\)\]{width:min(1200px, 100vw)}.ultimate-store-kit-admin-root .w-fit{width:-moz-fit-content;width:fit-content}.ultimate-store-kit-admin-root .w-full{width:100%}.ultimate-store-kit-admin-root .min-w-0{min-width:0px}.ultimate-store-kit-admin-root .min-w-\[120px\]{min-width:120px}.ultimate-store-kit-admin-root .min-w-\[140px\]{min-width:140px}.ultimate-store-kit-admin-root .min-w-\[400px\]{min-width:400px}.ultimate-store-kit-admin-root .max-w-3xl{max-width:48rem}.ultimate-store-kit-admin-root .max-w-\[400px\]{max-width:400px}.ultimate-store-kit-admin-root .max-w-\[70\%\]{max-width:70%}.ultimate-store-kit-admin-root .max-w-\[min\(1200px\2c 100vw\)\]{max-width:min(1200px, 100vw)}.ultimate-store-kit-admin-root .max-w-full{max-width:100%}.ultimate-store-kit-admin-root .max-w-md{max-width:28rem}.ultimate-store-kit-admin-root .max-w-xl{max-width:36rem}.ultimate-store-kit-admin-root .flex-1{flex:1 1 0%}.ultimate-store-kit-admin-root .flex-\[2\]{flex:2}.ultimate-store-kit-admin-root .shrink-0{flex-shrink:0}.ultimate-store-kit-admin-root .transform{transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes uskSlideIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.ultimate-store-kit-admin-root .animate-usk-slide-in{animation:uskSlideIn 0.3s ease}.ultimate-store-kit-admin-root .cursor-not-allowed{cursor:not-allowed}.ultimate-store-kit-admin-root .cursor-pointer{cursor:pointer}.ultimate-store-kit-admin-root .select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.ultimate-store-kit-admin-root .resize{resize:both}.ultimate-store-kit-admin-root .list-none{list-style-type:none}.ultimate-store-kit-admin-root .grid-cols-1{grid-template-columns:repeat(1, minmax(0, 1fr))}.ultimate-store-kit-admin-root .grid-cols-\[repeat\(auto-fit\2c minmax\(420px\2c 1fr\)\)\]{grid-template-columns:repeat(auto-fit,minmax(420px,1fr))}.ultimate-store-kit-admin-root .flex-col{flex-direction:column}.ultimate-store-kit-admin-root .flex-wrap{flex-wrap:wrap}.ultimate-store-kit-admin-root .items-start{align-items:flex-start}.ultimate-store-kit-admin-root .items-center{align-items:center}.ultimate-store-kit-admin-root .items-stretch{align-items:stretch}.ultimate-store-kit-admin-root .justify-start{justify-content:flex-start}.ultimate-store-kit-admin-root .justify-end{justify-content:flex-end}.ultimate-store-kit-admin-root .justify-center{justify-content:center}.ultimate-store-kit-admin-root .justify-between{justify-content:space-between}.ultimate-store-kit-admin-root .gap-1{gap:0.25rem}.ultimate-store-kit-admin-root .gap-1\.5{gap:0.375rem}.ultimate-store-kit-admin-root .gap-2{gap:0.5rem}.ultimate-store-kit-admin-root .gap-2\.5{gap:0.625rem}.ultimate-store-kit-admin-root .gap-3{gap:0.75rem}.ultimate-store-kit-admin-root .gap-4{gap:1rem}.ultimate-store-kit-admin-root .gap-5{gap:1.25rem}.ultimate-store-kit-admin-root .gap-6{gap:1.5rem}.ultimate-store-kit-admin-root .gap-px{gap:1px}.ultimate-store-kit-admin-root .gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.ultimate-store-kit-admin-root .gap-y-1\.5{row-gap:0.375rem}.ultimate-store-kit-admin-root :is(.space-y-1 > :not([hidden]) ~ :not([hidden])){--tw-space-y-reverse:0;margin-top:calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.25rem * var(--tw-space-y-reverse))}.ultimate-store-kit-admin-root :is(.space-y-1\.5 > :not([hidden]) ~ :not([hidden])){--tw-space-y-reverse:0;margin-top:calc(0.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.375rem * var(--tw-space-y-reverse))}.ultimate-store-kit-admin-root :is(.space-y-5 > :not([hidden]) ~ :not([hidden])){--tw-space-y-reverse:0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.ultimate-store-kit-admin-root :is(.space-y-6 > :not([hidden]) ~ :not([hidden])){--tw-space-y-reverse:0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.ultimate-store-kit-admin-root .self-start{align-self:flex-start}.ultimate-store-kit-admin-root .self-stretch{align-self:stretch}.ultimate-store-kit-admin-root .overflow-hidden{overflow:hidden}.ultimate-store-kit-admin-root .whitespace-nowrap{white-space:nowrap}.ultimate-store-kit-admin-root .rounded-2xl{border-radius:1rem}.ultimate-store-kit-admin-root .rounded-\[10px\]{border-radius:10px}.ultimate-store-kit-admin-root .rounded-full{border-radius:9999px}.ultimate-store-kit-admin-root .rounded-lg{border-radius:0.5rem}.ultimate-store-kit-admin-root .rounded-md{border-radius:0.375rem}.ultimate-store-kit-admin-root .rounded-usk{border-radius:10px}.ultimate-store-kit-admin-root .rounded-xl{border-radius:0.75rem}.ultimate-store-kit-admin-root .rounded-bl-lg{border-bottom-left-radius:0.5rem}.ultimate-store-kit-admin-root .rounded-br-lg{border-bottom-right-radius:0.5rem}.ultimate-store-kit-admin-root .rounded-tl-lg{border-top-left-radius:0.5rem}.ultimate-store-kit-admin-root .rounded-tr-lg{border-top-right-radius:0.5rem}.ultimate-store-kit-admin-root .\!border{border-width:1px !important}.ultimate-store-kit-admin-root .border{border-width:1px}.ultimate-store-kit-admin-root .border-0{border-width:0px}.ultimate-store-kit-admin-root .border-b{border-bottom-width:1px}.ultimate-store-kit-admin-root .border-l{border-left-width:1px}.ultimate-store-kit-admin-root .border-l-\[3px\]{border-left-width:3px}.ultimate-store-kit-admin-root .border-t{border-top-width:1px}.ultimate-store-kit-admin-root .border-solid{border-style:solid}.ultimate-store-kit-admin-root .border-none{border-style:none}.ultimate-store-kit-admin-root .\!border-uks-brand\/25{border-color:rgb(0 33 106 / 0.25) !important}.ultimate-store-kit-admin-root .border-current{border-color:currentColor}.ultimate-store-kit-admin-root .border-emerald-200{--tw-border-opacity:1;border-color:rgb(167 243 208 / var(--tw-border-opacity, 1))}.ultimate-store-kit-admin-root .border-emerald-300{--tw-border-opacity:1;border-color:rgb(110 231 183 / var(--tw-border-opacity, 1))}.ultimate-store-kit-admin-root .border-gray-100{--tw-border-opacity:1;border-color:rgb(243 244 246 / var(--tw-border-opacity, 1))}.ultimate-store-kit-admin-root .border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}.ultimate-store-kit-admin-root .border-gray-50{--tw-border-opacity:1;border-color:rgb(249 250 251 / var(--tw-border-opacity, 1))}.ultimate-store-kit-admin-root .border-indigo-500{--tw-border-opacity:1;border-color:rgb(99 102 241 / var(--tw-border-opacity, 1))}.ultimate-store-kit-admin-root .border-orange-500{--tw-border-opacity:1;border-color:rgb(249 115 22 / var(--tw-border-opacity, 1))}.ultimate-store-kit-admin-root .border-pink-500{--tw-border-opacity:1;border-color:rgb(236 72 153 / var(--tw-border-opacity, 1))}.ultimate-store-kit-admin-root .border-red-200{--tw-border-opacity:1;border-color:rgb(254 202 202 / var(--tw-border-opacity, 1))}.ultimate-store-kit-admin-root .border-red-500{--tw-border-opacity:1;border-color:rgb(239 68 68 / var(--tw-border-opacity, 1))}.ultimate-store-kit-admin-root .border-slate-100{--tw-border-opacity:1;border-color:rgb(241 245 249 / var(--tw-border-opacity, 1))}.ultimate-store-kit-admin-root .border-slate-200{--tw-border-opacity:1;border-color:rgb(226 232 240 / var(--tw-border-opacity, 1))}.ultimate-store-kit-admin-root .border-slate-300{--tw-border-opacity:1;border-color:rgb(203 213 225 / var(--tw-border-opacity, 1))}.ultimate-store-kit-admin-root .border-teal-500{--tw-border-opacity:1;border-color:rgb(20 184 166 / var(--tw-border-opacity, 1))}.ultimate-store-kit-admin-root .border-transparent{border-color:transparent}.ultimate-store-kit-admin-root .border-uks-brand{--tw-border-opacity:1;border-color:rgb(0 33 106 / var(--tw-border-opacity, 1))}.ultimate-store-kit-admin-root .border-uks-brand\/15{border-color:rgb(0 33 106 / 0.15)}.ultimate-store-kit-admin-root .border-uks-brand\/20{border-color:rgb(0 33 106 / 0.2)}.ultimate-store-kit-admin-root .border-uks-brand\/30{border-color:rgb(0 33 106 / 0.3)}.ultimate-store-kit-admin-root .border-violet-500{--tw-border-opacity:1;border-color:rgb(139 92 246 / var(--tw-border-opacity, 1))}.ultimate-store-kit-admin-root .border-b-gray-100{--tw-border-opacity:1;border-bottom-color:rgb(243 244 246 / var(--tw-border-opacity, 1))}.ultimate-store-kit-admin-root .border-b-gray-200{--tw-border-opacity:1;border-bottom-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}.ultimate-store-kit-admin-root .\!bg-uks-brand{--tw-bg-opacity:1 !important;background-color:rgb(0 33 106 / var(--tw-bg-opacity, 1)) !important}.ultimate-store-kit-admin-root .bg-emerald-100{--tw-bg-opacity:1;background-color:rgb(209 250 229 / var(--tw-bg-opacity, 1))}.ultimate-store-kit-admin-root .bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.ultimate-store-kit-admin-root .bg-indigo-500{--tw-bg-opacity:1;background-color:rgb(99 102 241 / var(--tw-bg-opacity, 1))}.ultimate-store-kit-admin-root .bg-orange-500{--tw-bg-opacity:1;background-color:rgb(249 115 22 / var(--tw-bg-opacity, 1))}.ultimate-store-kit-admin-root .bg-pink-500{--tw-bg-opacity:1;background-color:rgb(236 72 153 / var(--tw-bg-opacity, 1))}.ultimate-store-kit-admin-root .bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226 / var(--tw-bg-opacity, 1))}.ultimate-store-kit-admin-root .bg-slate-100{--tw-bg-opacity:1;background-color:rgb(241 245 249 / var(--tw-bg-opacity, 1))}.ultimate-store-kit-admin-root .bg-slate-200{--tw-bg-opacity:1;background-color:rgb(226 232 240 / var(--tw-bg-opacity, 1))}.ultimate-store-kit-admin-root .bg-slate-300{--tw-bg-opacity:1;background-color:rgb(203 213 225 / var(--tw-bg-opacity, 1))}.ultimate-store-kit-admin-root .bg-slate-50{--tw-bg-opacity:1;background-color:rgb(248 250 252 / var(--tw-bg-opacity, 1))}.ultimate-store-kit-admin-root .bg-slate-50\/50{background-color:rgb(248 250 252 / 0.5)}.ultimate-store-kit-admin-root .bg-slate-50\/70{background-color:rgb(248 250 252 / 0.7)}.ultimate-store-kit-admin-root .bg-teal-500{--tw-bg-opacity:1;background-color:rgb(20 184 166 / var(--tw-bg-opacity, 1))}.ultimate-store-kit-admin-root .bg-transparent{background-color:transparent}.ultimate-store-kit-admin-root .bg-uks-brand{--tw-bg-opacity:1;background-color:rgb(0 33 106 / var(--tw-bg-opacity, 1))}.ultimate-store-kit-admin-root .bg-uks-brand\/10{background-color:rgb(0 33 106 / 0.1)}.ultimate-store-kit-admin-root .bg-uks-brand\/5{background-color:rgb(0 33 106 / 0.05)}.ultimate-store-kit-admin-root .bg-uks-brand\/\[0\.07\]{background-color:rgb(0 33 106 / 0.07)}.ultimate-store-kit-admin-root .bg-violet-500{--tw-bg-opacity:1;background-color:rgb(139 92 246 / var(--tw-bg-opacity, 1))}.ultimate-store-kit-admin-root .bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.ultimate-store-kit-admin-root .bg-white\/80{background-color:rgb(255 255 255 / 0.8)}.ultimate-store-kit-admin-root .bg-\[linear-gradient\(313deg\2c \#E62A3F_0\%\2c \#00216A_100\%\)\]{background-image:linear-gradient(313deg,#E62A3F 0%,#00216A 100%)}.ultimate-store-kit-admin-root .bg-gradient-to-br{background-image:linear-gradient(to bottom right, var(--tw-gradient-stops))}.ultimate-store-kit-admin-root .from-uks-brand\/\[0\.07\]{--tw-gradient-from:rgb(0 33 106 / 0.07) var(--tw-gradient-from-position);--tw-gradient-to:rgb(0 33 106 / 0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.ultimate-store-kit-admin-root .to-transparent{--tw-gradient-to:transparent var(--tw-gradient-to-position)}.ultimate-store-kit-admin-root .p-0{padding:0px}.ultimate-store-kit-admin-root .p-0\.5{padding:0.125rem}.ultimate-store-kit-admin-root .p-4{padding:1rem}.ultimate-store-kit-admin-root .p-5{padding:1.25rem}.ultimate-store-kit-admin-root .p-6{padding:1.5rem}.ultimate-store-kit-admin-root .p-8{padding:2rem}.ultimate-store-kit-admin-root .px-1{padding-left:0.25rem;padding-right:0.25rem}.ultimate-store-kit-admin-root .px-1\.5{padding-left:0.375rem;padding-right:0.375rem}.ultimate-store-kit-admin-root .px-2{padding-left:0.5rem;padding-right:0.5rem}.ultimate-store-kit-admin-root .px-2\.5{padding-left:0.625rem;padding-right:0.625rem}.ultimate-store-kit-admin-root .px-3{padding-left:0.75rem;padding-right:0.75rem}.ultimate-store-kit-admin-root .px-3\.5{padding-left:0.875rem;padding-right:0.875rem}.ultimate-store-kit-admin-root .px-4{padding-left:1rem;padding-right:1rem}.ultimate-store-kit-admin-root .px-5{padding-left:1.25rem;padding-right:1.25rem}.ultimate-store-kit-admin-root .px-6{padding-left:1.5rem;padding-right:1.5rem}.ultimate-store-kit-admin-root .px-\[18px\]{padding-left:18px;padding-right:18px}.ultimate-store-kit-admin-root .py-0{padding-top:0px;padding-bottom:0px}.ultimate-store-kit-admin-root .py-0\.5{padding-top:0.125rem;padding-bottom:0.125rem}.ultimate-store-kit-admin-root .py-1{padding-top:0.25rem;padding-bottom:0.25rem}.ultimate-store-kit-admin-root .py-1\.5{padding-top:0.375rem;padding-bottom:0.375rem}.ultimate-store-kit-admin-root .py-10{padding-top:2.5rem;padding-bottom:2.5rem}.ultimate-store-kit-admin-root .py-16{padding-top:4rem;padding-bottom:4rem}.ultimate-store-kit-admin-root .py-2{padding-top:0.5rem;padding-bottom:0.5rem}.ultimate-store-kit-admin-root .py-2\.5{padding-top:0.625rem;padding-bottom:0.625rem}.ultimate-store-kit-admin-root .py-3{padding-top:0.75rem;padding-bottom:0.75rem}.ultimate-store-kit-admin-root .py-3\.5{padding-top:0.875rem;padding-bottom:0.875rem}.ultimate-store-kit-admin-root .py-4{padding-top:1rem;padding-bottom:1rem}.ultimate-store-kit-admin-root .py-5{padding-top:1.25rem;padding-bottom:1.25rem}.ultimate-store-kit-admin-root .py-6{padding-top:1.5rem;padding-bottom:1.5rem}.ultimate-store-kit-admin-root .pb-4{padding-bottom:1rem}.ultimate-store-kit-admin-root .pl-3{padding-left:0.75rem}.ultimate-store-kit-admin-root .pr-10{padding-right:2.5rem}.ultimate-store-kit-admin-root .pt-1{padding-top:0.25rem}.ultimate-store-kit-admin-root .pt-4{padding-top:1rem}.ultimate-store-kit-admin-root .text-left{text-align:left}.ultimate-store-kit-admin-root .text-center{text-align:center}.ultimate-store-kit-admin-root .align-middle{vertical-align:middle}.ultimate-store-kit-admin-root .font-mono{font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace}.ultimate-store-kit-admin-root .font-sans{font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, sans-serif}.ultimate-store-kit-admin-root .text-\[10px\]{font-size:10px}.ultimate-store-kit-admin-root .text-\[11px\]{font-size:11px}.ultimate-store-kit-admin-root .text-\[12px\]{font-size:12px}.ultimate-store-kit-admin-root .text-\[13px\]{font-size:13px}.ultimate-store-kit-admin-root .text-\[14px\]{font-size:14px}.ultimate-store-kit-admin-root .text-\[22px\]{font-size:22px}.ultimate-store-kit-admin-root .text-\[9px\]{font-size:9px}.ultimate-store-kit-admin-root .text-base{font-size:1rem;line-height:1.5rem}.ultimate-store-kit-admin-root .text-lg{font-size:1.125rem;line-height:1.75rem}.ultimate-store-kit-admin-root .text-sm{font-size:0.875rem;line-height:1.25rem}.ultimate-store-kit-admin-root .text-xl{font-size:1.25rem;line-height:1.75rem}.ultimate-store-kit-admin-root .text-xs{font-size:0.75rem;line-height:1rem}.ultimate-store-kit-admin-root .font-bold{font-weight:700}.ultimate-store-kit-admin-root .font-extrabold{font-weight:800}.ultimate-store-kit-admin-root .font-medium{font-weight:500}.ultimate-store-kit-admin-root .font-semibold{font-weight:600}.ultimate-store-kit-admin-root .uppercase{text-transform:uppercase}.ultimate-store-kit-admin-root .leading-none{line-height:1}.ultimate-store-kit-admin-root .leading-relaxed{line-height:1.625}.ultimate-store-kit-admin-root .leading-snug{line-height:1.375}.ultimate-store-kit-admin-root .leading-tight{line-height:1.25}.ultimate-store-kit-admin-root .tracking-tight{letter-spacing:-0.025em}.ultimate-store-kit-admin-root .tracking-wide{letter-spacing:0.025em}.ultimate-store-kit-admin-root .tracking-wider{letter-spacing:0.05em}.ultimate-store-kit-admin-root .tracking-widest{letter-spacing:0.1em}.ultimate-store-kit-admin-root .\!text-white{--tw-text-opacity:1 !important;color:rgb(255 255 255 / var(--tw-text-opacity, 1)) !important}.ultimate-store-kit-admin-root .text-emerald-500{--tw-text-opacity:1;color:rgb(16 185 129 / var(--tw-text-opacity, 1))}.ultimate-store-kit-admin-root .text-emerald-600{--tw-text-opacity:1;color:rgb(5 150 105 / var(--tw-text-opacity, 1))}.ultimate-store-kit-admin-root .text-emerald-800{--tw-text-opacity:1;color:rgb(6 95 70 / var(--tw-text-opacity, 1))}.ultimate-store-kit-admin-root .text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.ultimate-store-kit-admin-root .text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.ultimate-store-kit-admin-root .text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.ultimate-store-kit-admin-root .text-inherit{color:inherit}.ultimate-store-kit-admin-root .text-red-500{--tw-text-opacity:1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.ultimate-store-kit-admin-root .text-red-900{--tw-text-opacity:1;color:rgb(127 29 29 / var(--tw-text-opacity, 1))}.ultimate-store-kit-admin-root .text-slate-300{--tw-text-opacity:1;color:rgb(203 213 225 / var(--tw-text-opacity, 1))}.ultimate-store-kit-admin-root .text-slate-400{--tw-text-opacity:1;color:rgb(148 163 184 / var(--tw-text-opacity, 1))}.ultimate-store-kit-admin-root .text-slate-500{--tw-text-opacity:1;color:rgb(100 116 139 / var(--tw-text-opacity, 1))}.ultimate-store-kit-admin-root .text-slate-600{--tw-text-opacity:1;color:rgb(71 85 105 / var(--tw-text-opacity, 1))}.ultimate-store-kit-admin-root .text-slate-700{--tw-text-opacity:1;color:rgb(51 65 85 / var(--tw-text-opacity, 1))}.ultimate-store-kit-admin-root .text-slate-800{--tw-text-opacity:1;color:rgb(30 41 59 / var(--tw-text-opacity, 1))}.ultimate-store-kit-admin-root .text-slate-900{--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity, 1))}.ultimate-store-kit-admin-root .text-uks-brand{--tw-text-opacity:1;color:rgb(0 33 106 / var(--tw-text-opacity, 1))}.ultimate-store-kit-admin-root .text-white{--tw-text-opacity:1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.ultimate-store-kit-admin-root .text-white\/90{color:rgb(255 255 255 / 0.9)}.ultimate-store-kit-admin-root .no-underline{text-decoration-line:none}.ultimate-store-kit-admin-root .opacity-60{opacity:0.6}.ultimate-store-kit-admin-root .opacity-70{opacity:0.7}.ultimate-store-kit-admin-root .shadow-sm{--tw-shadow:0 1px 2px 0 rgb(0 0 0 / 0.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.ultimate-store-kit-admin-root .filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.ultimate-store-kit-admin-root .transition{transition-property:color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.ultimate-store-kit-admin-root .transition-all{transition-property:all;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.ultimate-store-kit-admin-root .transition-colors{transition-property:color, background-color, border-color, text-decoration-color, fill, stroke;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.ultimate-store-kit-admin-root .transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.ultimate-store-kit-admin-root .transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.ultimate-store-kit-admin-root .duration-200{transition-duration:200ms}.ultimate-store-kit-admin-root .ease-in-out{transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1)}.ultimate-store-kit-admin-root .ease-out{transition-timing-function:cubic-bezier(0, 0, 0.2, 1)}.usk-toast-wrap{position:fixed;top:40px;left:50%;transform:translateX(-50%);z-index:99999;pointer-events:none;display:flex;justify-content:center;width:auto;max-width:480px}.usk-toast{pointer-events:auto;display:flex;align-items:center;gap:10px;padding:10px 18px;border-radius:10px;font-size:13px;font-weight:600;box-shadow:0 8px 24px rgba(0,0,0,.12);animation:usk-toast-in .35s cubic-bezier(0.21, 1.02, 0.73, 1) forwards;white-space:nowrap}.usk-toast--success{background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0}.usk-toast--error{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}.usk-toast__close{cursor:pointer;border:0;background:rgba(0,0,0,0);color:inherit;font-size:16px;line-height:1;padding:0 0 0 6px;opacity:.6;transition:opacity .15s}.usk-toast__close:hover{opacity:1}@keyframes usk-toast-in{0%{opacity:0;transform:translateY(-14px) scale(0.96)}100%{opacity:1;transform:translateY(0) scale(1)}}.ultimate-store-kit-admin-root .placeholder\:text-gray-500::-moz-placeholder{--tw-text-opacity:1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.ultimate-store-kit-admin-root .placeholder\:text-gray-500::placeholder{--tw-text-opacity:1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.ultimate-store-kit-admin-root .placeholder\:text-slate-400::-moz-placeholder{--tw-text-opacity:1;color:rgb(148 163 184 / var(--tw-text-opacity, 1))}.ultimate-store-kit-admin-root .placeholder\:text-slate-400::placeholder{--tw-text-opacity:1;color:rgb(148 163 184 / var(--tw-text-opacity, 1))}.ultimate-store-kit-admin-root .last\:border-b-0:last-child{border-bottom-width:0px}.ultimate-store-kit-admin-root .hover\:border-slate-300:hover{--tw-border-opacity:1;border-color:rgb(203 213 225 / var(--tw-border-opacity, 1))}.ultimate-store-kit-admin-root .hover\:border-uks-brand\/25:hover{border-color:rgb(0 33 106 / 0.25)}.ultimate-store-kit-admin-root .hover\:border-uks-brand\/40:hover{border-color:rgb(0 33 106 / 0.4)}.ultimate-store-kit-admin-root .hover\:\!bg-uks-brand-dark:hover{--tw-bg-opacity:1 !important;background-color:rgb(0 33 106 / var(--tw-bg-opacity, 1)) !important}.ultimate-store-kit-admin-root .hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.ultimate-store-kit-admin-root .hover\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.ultimate-store-kit-admin-root .hover\:bg-red-500:hover{--tw-bg-opacity:1;background-color:rgb(239 68 68 / var(--tw-bg-opacity, 1))}.ultimate-store-kit-admin-root .hover\:bg-slate-50:hover{--tw-bg-opacity:1;background-color:rgb(248 250 252 / var(--tw-bg-opacity, 1))}.ultimate-store-kit-admin-root .hover\:bg-uks-brand:hover{--tw-bg-opacity:1;background-color:rgb(0 33 106 / var(--tw-bg-opacity, 1))}.ultimate-store-kit-admin-root .hover\:bg-uks-brand-dark:hover{--tw-bg-opacity:1;background-color:rgb(0 33 106 / var(--tw-bg-opacity, 1))}.ultimate-store-kit-admin-root .hover\:bg-uks-brand\/10:hover{background-color:rgb(0 33 106 / 0.1)}.ultimate-store-kit-admin-root .hover\:bg-white:hover{--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.ultimate-store-kit-admin-root .hover\:text-gray-800:hover{--tw-text-opacity:1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.ultimate-store-kit-admin-root .hover\:text-slate-700:hover{--tw-text-opacity:1;color:rgb(51 65 85 / var(--tw-text-opacity, 1))}.ultimate-store-kit-admin-root .hover\:text-slate-900:hover{--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity, 1))}.ultimate-store-kit-admin-root .hover\:text-uks-brand:hover{--tw-text-opacity:1;color:rgb(0 33 106 / var(--tw-text-opacity, 1))}.ultimate-store-kit-admin-root .hover\:text-uks-brand-dark:hover{--tw-text-opacity:1;color:rgb(0 33 106 / var(--tw-text-opacity, 1))}.ultimate-store-kit-admin-root .hover\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.ultimate-store-kit-admin-root .hover\:underline:hover{text-decoration-line:underline}.ultimate-store-kit-admin-root .hover\:opacity-90:hover{opacity:0.9}.ultimate-store-kit-admin-root .focus\:border-uks-brand:focus{--tw-border-opacity:1;border-color:rgb(0 33 106 / var(--tw-border-opacity, 1))}.ultimate-store-kit-admin-root .focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.ultimate-store-kit-admin-root .focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.ultimate-store-kit-admin-root .focus\:ring-uks-brand:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(0 33 106 / var(--tw-ring-opacity, 1))}.ultimate-store-kit-admin-root .focus\:ring-uks-brand\/25:focus{--tw-ring-color:rgb(0 33 106 / 0.25)}.ultimate-store-kit-admin-root .focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.ultimate-store-kit-admin-root .focus\:ring-offset-white:focus{--tw-ring-offset-color:#fff}.ultimate-store-kit-admin-root .disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.ultimate-store-kit-admin-root .disabled\:opacity-50:disabled{opacity:0.5}.ultimate-store-kit-admin-root .disabled\:opacity-60:disabled{opacity:0.6}.ultimate-store-kit-admin-root :is(.group:hover .group-hover\:bg-uks-brand\/15){background-color:rgb(0 33 106 / 0.15)}.ultimate-store-kit-admin-root :is(.peer:checked ~ .peer-checked\:translate-x-\[18px\]){--tw-translate-x:18px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.ultimate-store-kit-admin-root :is(.peer:checked ~ .peer-checked\:bg-uks-brand){--tw-bg-opacity:1;background-color:rgb(0 33 106 / var(--tw-bg-opacity, 1))}.ultimate-store-kit-admin-root :is(.peer:disabled ~ .peer-disabled\:opacity-50){opacity:0.5}@media (min-width: 640px){.ultimate-store-kit-admin-root .sm\:mb-4{margin-bottom:1rem}.ultimate-store-kit-admin-root .sm\:inline-block{display:inline-block}.ultimate-store-kit-admin-root .sm\:h-12{height:3rem}.ultimate-store-kit-admin-root .sm\:w-12{width:3rem}.ultimate-store-kit-admin-root .sm\:w-28{width:7rem}.ultimate-store-kit-admin-root .sm\:w-48{width:12rem}.ultimate-store-kit-admin-root .sm\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}.ultimate-store-kit-admin-root .sm\:grid-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr))}.ultimate-store-kit-admin-root .sm\:flex-row{flex-direction:row}.ultimate-store-kit-admin-root .sm\:items-start{align-items:flex-start}.ultimate-store-kit-admin-root .sm\:items-center{align-items:center}.ultimate-store-kit-admin-root .sm\:justify-between{justify-content:space-between}.ultimate-store-kit-admin-root .sm\:gap-1\.5{gap:0.375rem}.ultimate-store-kit-admin-root .sm\:gap-2\.5{gap:0.625rem}.ultimate-store-kit-admin-root .sm\:gap-4{gap:1rem}.ultimate-store-kit-admin-root .sm\:p-10{padding:2.5rem}.ultimate-store-kit-admin-root .sm\:p-5{padding:1.25rem}.ultimate-store-kit-admin-root .sm\:px-10{padding-left:2.5rem;padding-right:2.5rem}.ultimate-store-kit-admin-root .sm\:px-5{padding-left:1.25rem;padding-right:1.25rem}.ultimate-store-kit-admin-root .sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.ultimate-store-kit-admin-root .sm\:py-20{padding-top:5rem;padding-bottom:5rem}.ultimate-store-kit-admin-root .sm\:py-3\.5{padding-top:0.875rem;padding-bottom:0.875rem}.ultimate-store-kit-admin-root .sm\:py-6{padding-top:1.5rem;padding-bottom:1.5rem}.ultimate-store-kit-admin-root .sm\:pl-2{padding-left:0.5rem}.ultimate-store-kit-admin-root .sm\:text-left{text-align:left}.ultimate-store-kit-admin-root .sm\:text-\[11px\]{font-size:11px}.ultimate-store-kit-admin-root .sm\:text-\[12px\]{font-size:12px}.ultimate-store-kit-admin-root .sm\:text-\[13px\]{font-size:13px}.ultimate-store-kit-admin-root .sm\:text-sm{font-size:0.875rem;line-height:1.25rem}.ultimate-store-kit-admin-root .sm\:text-xl{font-size:1.25rem;line-height:1.75rem}}@media (min-width: 1024px){.ultimate-store-kit-admin-root .lg\:sticky{position:sticky}.ultimate-store-kit-admin-root .lg\:top-\[7\.5rem\]{top:7.5rem}.ultimate-store-kit-admin-root .lg\:mt-8{margin-top:2rem}.ultimate-store-kit-admin-root .lg\:block{display:block}.ultimate-store-kit-admin-root .lg\:w-36{width:9rem}.ultimate-store-kit-admin-root .lg\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}.ultimate-store-kit-admin-root .lg\:grid-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr))}.ultimate-store-kit-admin-root .lg\:grid-cols-4{grid-template-columns:repeat(4, minmax(0, 1fr))}.ultimate-store-kit-admin-root .lg\:p-6{padding:1.5rem}}@media (min-width: 1280px){.ultimate-store-kit-admin-root .xl\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}.ultimate-store-kit-admin-root .xl\:grid-cols-4{grid-template-columns:repeat(4, minmax(0, 1fr))}}@media (min-width: 1536px){.ultimate-store-kit-admin-root .\32xl\:grid-cols-4{grid-template-columns:repeat(4, minmax(0, 1fr))}}
     1.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}#wpbody-content .ultimate-store-kit-admin-root .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}#wpbody-content .ultimate-store-kit-admin-root .pointer-events-none{pointer-events:none}#wpbody-content .ultimate-store-kit-admin-root .pointer-events-auto{pointer-events:auto}#wpbody-content .ultimate-store-kit-admin-root .visible{visibility:visible}#wpbody-content .ultimate-store-kit-admin-root .invisible{visibility:hidden}#wpbody-content .ultimate-store-kit-admin-root .fixed{position:fixed}#wpbody-content .ultimate-store-kit-admin-root .absolute{position:absolute}#wpbody-content .ultimate-store-kit-admin-root .relative{position:relative}#wpbody-content .ultimate-store-kit-admin-root .sticky{position:sticky}#wpbody-content .ultimate-store-kit-admin-root .inset-0{inset:0px}#wpbody-content .ultimate-store-kit-admin-root .inset-x-0{left:0px;right:0px}#wpbody-content .ultimate-store-kit-admin-root .-right-10{right:-2.5rem}#wpbody-content .ultimate-store-kit-admin-root .-top-10{top:-2.5rem}#wpbody-content .ultimate-store-kit-admin-root .bottom-5{bottom:1.25rem}#wpbody-content .ultimate-store-kit-admin-root .bottom-\[3px\]{bottom:3px}#wpbody-content .ultimate-store-kit-admin-root .left-0{left:0px}#wpbody-content .ultimate-store-kit-admin-root .left-1\/2{left:50%}#wpbody-content .ultimate-store-kit-admin-root .left-3{left:0.75rem}#wpbody-content .ultimate-store-kit-admin-root .left-\[3px\]{left:3px}#wpbody-content .ultimate-store-kit-admin-root .top-0{top:0px}#wpbody-content .ultimate-store-kit-admin-root .top-\[6px\]{top:6px}#wpbody-content .ultimate-store-kit-admin-root .top-full{top:100%}#wpbody-content .ultimate-store-kit-admin-root .z-50{z-index:50}#wpbody-content .ultimate-store-kit-admin-root .z-\[100000\]{z-index:100000}#wpbody-content .ultimate-store-kit-admin-root .z-\[159000\]{z-index:159000}#wpbody-content .ultimate-store-kit-admin-root .z-\[1\]{z-index:1}#wpbody-content .ultimate-store-kit-admin-root .z-\[9990\]{z-index:9990}#wpbody-content .ultimate-store-kit-admin-root .\!m-0{margin:0px !important}#wpbody-content .ultimate-store-kit-admin-root .m-0{margin:0px}#wpbody-content .ultimate-store-kit-admin-root .m-5{margin:1.25rem}#wpbody-content .ultimate-store-kit-admin-root .mx-auto{margin-left:auto;margin-right:auto}#wpbody-content .ultimate-store-kit-admin-root .mb-0{margin-bottom:0px}#wpbody-content .ultimate-store-kit-admin-root .mb-0\.5{margin-bottom:0.125rem}#wpbody-content .ultimate-store-kit-admin-root .mb-1{margin-bottom:0.25rem}#wpbody-content .ultimate-store-kit-admin-root .mb-2{margin-bottom:0.5rem}#wpbody-content .ultimate-store-kit-admin-root .mb-3{margin-bottom:0.75rem}#wpbody-content .ultimate-store-kit-admin-root .mb-4{margin-bottom:1rem}#wpbody-content .ultimate-store-kit-admin-root .mb-5{margin-bottom:1.25rem}#wpbody-content .ultimate-store-kit-admin-root .mb-6{margin-bottom:1.5rem}#wpbody-content .ultimate-store-kit-admin-root .mb-\[14px\]{margin-bottom:14px}#wpbody-content .ultimate-store-kit-admin-root .mb-\[18px\]{margin-bottom:18px}#wpbody-content .ultimate-store-kit-admin-root .mb-\[22px\]{margin-bottom:22px}#wpbody-content .ultimate-store-kit-admin-root .ml-0{margin-left:0px}#wpbody-content .ultimate-store-kit-admin-root .ml-2{margin-left:0.5rem}#wpbody-content .ultimate-store-kit-admin-root .ml-auto{margin-left:auto}#wpbody-content .ultimate-store-kit-admin-root .mt-0{margin-top:0px}#wpbody-content .ultimate-store-kit-admin-root .mt-0\.5{margin-top:0.125rem}#wpbody-content .ultimate-store-kit-admin-root .mt-1{margin-top:0.25rem}#wpbody-content .ultimate-store-kit-admin-root .mt-1\.5{margin-top:0.375rem}#wpbody-content .ultimate-store-kit-admin-root .mt-10{margin-top:2.5rem}#wpbody-content .ultimate-store-kit-admin-root .mt-2{margin-top:0.5rem}#wpbody-content .ultimate-store-kit-admin-root .mt-3{margin-top:0.75rem}#wpbody-content .ultimate-store-kit-admin-root .mt-4{margin-top:1rem}#wpbody-content .ultimate-store-kit-admin-root .mt-6{margin-top:1.5rem}#wpbody-content .ultimate-store-kit-admin-root .mt-\[13px\]{margin-top:13px}#wpbody-content .ultimate-store-kit-admin-root .mt-\[14px\]{margin-top:14px}#wpbody-content .ultimate-store-kit-admin-root .mt-\[26px\]{margin-top:26px}#wpbody-content .ultimate-store-kit-admin-root .mt-\[3px\]{margin-top:3px}#wpbody-content .ultimate-store-kit-admin-root .mt-\[7px\]{margin-top:7px}#wpbody-content .ultimate-store-kit-admin-root .mt-auto{margin-top:auto}#wpbody-content .ultimate-store-kit-admin-root .box-border{box-sizing:border-box}#wpbody-content .ultimate-store-kit-admin-root .line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}#wpbody-content .ultimate-store-kit-admin-root .line-clamp-3{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3}#wpbody-content .ultimate-store-kit-admin-root .block{display:block}#wpbody-content .ultimate-store-kit-admin-root .inline-block{display:inline-block}#wpbody-content .ultimate-store-kit-admin-root .inline{display:inline}#wpbody-content .ultimate-store-kit-admin-root .flex{display:flex}#wpbody-content .ultimate-store-kit-admin-root .inline-flex{display:inline-flex}#wpbody-content .ultimate-store-kit-admin-root .grid{display:grid}#wpbody-content .ultimate-store-kit-admin-root .contents{display:contents}#wpbody-content .ultimate-store-kit-admin-root .hidden{display:none}#wpbody-content .ultimate-store-kit-admin-root .h-10{height:2.5rem}#wpbody-content .ultimate-store-kit-admin-root .h-11{height:2.75rem}#wpbody-content .ultimate-store-kit-admin-root .h-12{height:3rem}#wpbody-content .ultimate-store-kit-admin-root .h-14{height:3.5rem}#wpbody-content .ultimate-store-kit-admin-root .h-2{height:0.5rem}#wpbody-content .ultimate-store-kit-admin-root .h-3{height:0.75rem}#wpbody-content .ultimate-store-kit-admin-root .h-3\.5{height:0.875rem}#wpbody-content .ultimate-store-kit-admin-root .h-4{height:1rem}#wpbody-content .ultimate-store-kit-admin-root .h-40{height:10rem}#wpbody-content .ultimate-store-kit-admin-root .h-5{height:1.25rem}#wpbody-content .ultimate-store-kit-admin-root .h-7{height:1.75rem}#wpbody-content .ultimate-store-kit-admin-root .h-8{height:2rem}#wpbody-content .ultimate-store-kit-admin-root .h-9{height:2.25rem}#wpbody-content .ultimate-store-kit-admin-root .h-\[14px\]{height:14px}#wpbody-content .ultimate-store-kit-admin-root .h-\[18px\]{height:18px}#wpbody-content .ultimate-store-kit-admin-root .h-\[190px\]{height:190px}#wpbody-content .ultimate-store-kit-admin-root .h-\[22px\]{height:22px}#wpbody-content .ultimate-store-kit-admin-root .h-\[34px\]{height:34px}#wpbody-content .ultimate-store-kit-admin-root .h-\[7px\]{height:7px}#wpbody-content .ultimate-store-kit-admin-root .h-full{height:100%}#wpbody-content .ultimate-store-kit-admin-root .max-h-\[360px\]{max-height:360px}#wpbody-content .ultimate-store-kit-admin-root .min-h-\[80px\]{min-height:80px}#wpbody-content .ultimate-store-kit-admin-root .min-h-\[calc\(100vh-100px\)\]{min-height:calc(100vh - 100px)}#wpbody-content .ultimate-store-kit-admin-root .min-h-\[calc\(100vh-32px\)\]{min-height:calc(100vh - 32px)}#wpbody-content .ultimate-store-kit-admin-root .w-10{width:2.5rem}#wpbody-content .ultimate-store-kit-admin-root .w-11{width:2.75rem}#wpbody-content .ultimate-store-kit-admin-root .w-12{width:3rem}#wpbody-content .ultimate-store-kit-admin-root .w-14{width:3.5rem}#wpbody-content .ultimate-store-kit-admin-root .w-2{width:0.5rem}#wpbody-content .ultimate-store-kit-admin-root .w-20{width:5rem}#wpbody-content .ultimate-store-kit-admin-root .w-3{width:0.75rem}#wpbody-content .ultimate-store-kit-admin-root .w-3\.5{width:0.875rem}#wpbody-content .ultimate-store-kit-admin-root .w-4{width:1rem}#wpbody-content .ultimate-store-kit-admin-root .w-40{width:10rem}#wpbody-content .ultimate-store-kit-admin-root .w-5{width:1.25rem}#wpbody-content .ultimate-store-kit-admin-root .w-7{width:1.75rem}#wpbody-content .ultimate-store-kit-admin-root .w-8{width:2rem}#wpbody-content .ultimate-store-kit-admin-root .w-9{width:2.25rem}#wpbody-content .ultimate-store-kit-admin-root .w-\[14px\]{width:14px}#wpbody-content .ultimate-store-kit-admin-root .w-\[18px\]{width:18px}#wpbody-content .ultimate-store-kit-admin-root .w-\[260px\]{width:260px}#wpbody-content .ultimate-store-kit-admin-root .w-\[34px\]{width:34px}#wpbody-content .ultimate-store-kit-admin-root .w-\[400px\]{width:400px}#wpbody-content .ultimate-store-kit-admin-root .w-\[7px\]{width:7px}#wpbody-content .ultimate-store-kit-admin-root .w-\[min\(1200px\2c 100vw\)\]{width:min(1200px, 100vw)}#wpbody-content .ultimate-store-kit-admin-root .w-\[min\(640px\2c calc\(100vw-32px\)\)\]{width:min(640px, calc(100vw - 32px))}#wpbody-content .ultimate-store-kit-admin-root .w-fit{width:-moz-fit-content;width:fit-content}#wpbody-content .ultimate-store-kit-admin-root .w-full{width:100%}#wpbody-content .ultimate-store-kit-admin-root .w-max{width:-moz-max-content;width:max-content}#wpbody-content .ultimate-store-kit-admin-root .min-w-0{min-width:0px}#wpbody-content .ultimate-store-kit-admin-root .min-w-\[120px\]{min-width:120px}#wpbody-content .ultimate-store-kit-admin-root .min-w-\[140px\]{min-width:140px}#wpbody-content .ultimate-store-kit-admin-root .min-w-\[228px\]{min-width:228px}#wpbody-content .ultimate-store-kit-admin-root .min-w-\[400px\]{min-width:400px}#wpbody-content .ultimate-store-kit-admin-root .max-w-3xl{max-width:48rem}#wpbody-content .ultimate-store-kit-admin-root .max-w-\[1400px\]{max-width:1400px}#wpbody-content .ultimate-store-kit-admin-root .max-w-\[320px\]{max-width:320px}#wpbody-content .ultimate-store-kit-admin-root .max-w-\[400px\]{max-width:400px}#wpbody-content .ultimate-store-kit-admin-root .max-w-\[560px\]{max-width:560px}#wpbody-content .ultimate-store-kit-admin-root .max-w-\[70\%\]{max-width:70%}#wpbody-content .ultimate-store-kit-admin-root .max-w-\[min\(1200px\2c 100vw\)\]{max-width:min(1200px, 100vw)}#wpbody-content .ultimate-store-kit-admin-root .max-w-full{max-width:100%}#wpbody-content .ultimate-store-kit-admin-root .max-w-md{max-width:28rem}#wpbody-content .ultimate-store-kit-admin-root .flex-1{flex:1 1 0%}#wpbody-content .ultimate-store-kit-admin-root .flex-\[2\]{flex:2}#wpbody-content .ultimate-store-kit-admin-root .flex-none{flex:none}#wpbody-content .ultimate-store-kit-admin-root .shrink-0{flex-shrink:0}#wpbody-content .ultimate-store-kit-admin-root .-translate-x-1\/2{--tw-translate-x:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}#wpbody-content .ultimate-store-kit-admin-root .transform{transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}#wpbody-content .ultimate-store-kit-admin-root .animate-pulse{animation:pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite}@keyframes uskPop{from{opacity:0;transform:translateY(6px) scale(.98)}to{opacity:1;transform:none}}#wpbody-content .ultimate-store-kit-admin-root .animate-usk-pop{animation:uskPop .25s cubic-bezier(.16,1,.3,1) both}@keyframes uskSlideIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}#wpbody-content .ultimate-store-kit-admin-root .animate-usk-slide-in{animation:uskSlideIn 0.3s ease}#wpbody-content .ultimate-store-kit-admin-root .cursor-not-allowed{cursor:not-allowed}#wpbody-content .ultimate-store-kit-admin-root .cursor-pointer{cursor:pointer}#wpbody-content .ultimate-store-kit-admin-root .select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}#wpbody-content .ultimate-store-kit-admin-root .resize{resize:both}#wpbody-content .ultimate-store-kit-admin-root .list-none{list-style-type:none}#wpbody-content .ultimate-store-kit-admin-root .grid-cols-1{grid-template-columns:repeat(1, minmax(0, 1fr))}#wpbody-content .ultimate-store-kit-admin-root .grid-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr))}#wpbody-content .ultimate-store-kit-admin-root .grid-cols-4{grid-template-columns:repeat(4, minmax(0, 1fr))}#wpbody-content .ultimate-store-kit-admin-root .grid-cols-\[minmax\(0\2c 1fr\)_400px\]{grid-template-columns:minmax(0,1fr) 400px}#wpbody-content .ultimate-store-kit-admin-root .grid-cols-\[repeat\(auto-fit\2c minmax\(420px\2c 1fr\)\)\]{grid-template-columns:repeat(auto-fit,minmax(420px,1fr))}#wpbody-content .ultimate-store-kit-admin-root .flex-col{flex-direction:column}#wpbody-content .ultimate-store-kit-admin-root .flex-wrap{flex-wrap:wrap}#wpbody-content .ultimate-store-kit-admin-root .flex-nowrap{flex-wrap:nowrap}#wpbody-content .ultimate-store-kit-admin-root .place-items-center{place-items:center}#wpbody-content .ultimate-store-kit-admin-root .items-start{align-items:flex-start}#wpbody-content .ultimate-store-kit-admin-root .items-end{align-items:flex-end}#wpbody-content .ultimate-store-kit-admin-root .items-center{align-items:center}#wpbody-content .ultimate-store-kit-admin-root .items-stretch{align-items:stretch}#wpbody-content .ultimate-store-kit-admin-root .justify-start{justify-content:flex-start}#wpbody-content .ultimate-store-kit-admin-root .justify-end{justify-content:flex-end}#wpbody-content .ultimate-store-kit-admin-root .justify-center{justify-content:center}#wpbody-content .ultimate-store-kit-admin-root .justify-between{justify-content:space-between}#wpbody-content .ultimate-store-kit-admin-root .gap-1{gap:0.25rem}#wpbody-content .ultimate-store-kit-admin-root .gap-1\.5{gap:0.375rem}#wpbody-content .ultimate-store-kit-admin-root .gap-2{gap:0.5rem}#wpbody-content .ultimate-store-kit-admin-root .gap-2\.5{gap:0.625rem}#wpbody-content .ultimate-store-kit-admin-root .gap-3{gap:0.75rem}#wpbody-content .ultimate-store-kit-admin-root .gap-4{gap:1rem}#wpbody-content .ultimate-store-kit-admin-root .gap-5{gap:1.25rem}#wpbody-content .ultimate-store-kit-admin-root .gap-\[10px\]{gap:10px}#wpbody-content .ultimate-store-kit-admin-root .gap-\[14px\]{gap:14px}#wpbody-content .ultimate-store-kit-admin-root .gap-\[6px\]{gap:6px}#wpbody-content .ultimate-store-kit-admin-root .gap-\[7px\]{gap:7px}#wpbody-content .ultimate-store-kit-admin-root .gap-px{gap:1px}#wpbody-content .ultimate-store-kit-admin-root .gap-x-2\.5{-moz-column-gap:0.625rem;column-gap:0.625rem}#wpbody-content .ultimate-store-kit-admin-root .gap-x-4{-moz-column-gap:1rem;column-gap:1rem}#wpbody-content .ultimate-store-kit-admin-root .gap-y-1{row-gap:0.25rem}#wpbody-content .ultimate-store-kit-admin-root .gap-y-1\.5{row-gap:0.375rem}#wpbody-content .ultimate-store-kit-admin-root :is(.space-y-5 > :not([hidden]) ~ :not([hidden])){--tw-space-y-reverse:0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}#wpbody-content .ultimate-store-kit-admin-root :is(.space-y-6 > :not([hidden]) ~ :not([hidden])){--tw-space-y-reverse:0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}#wpbody-content .ultimate-store-kit-admin-root .self-start{align-self:flex-start}#wpbody-content .ultimate-store-kit-admin-root .overflow-hidden{overflow:hidden}#wpbody-content .ultimate-store-kit-admin-root .overflow-y-auto{overflow-y:auto}#wpbody-content .ultimate-store-kit-admin-root .truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#wpbody-content .ultimate-store-kit-admin-root .whitespace-nowrap{white-space:nowrap}#wpbody-content .ultimate-store-kit-admin-root .\!rounded-full{border-radius:9999px !important}#wpbody-content .ultimate-store-kit-admin-root .rounded-\[10px\]{border-radius:10px}#wpbody-content .ultimate-store-kit-admin-root .rounded-\[9px\]{border-radius:9px}#wpbody-content .ultimate-store-kit-admin-root .rounded-card{border-radius:18px}#wpbody-content .ultimate-store-kit-admin-root .rounded-full{border-radius:9999px}#wpbody-content .ultimate-store-kit-admin-root .rounded-lg{border-radius:0.5rem}#wpbody-content .ultimate-store-kit-admin-root .rounded-md{border-radius:0.375rem}#wpbody-content .ultimate-store-kit-admin-root .rounded-panel{border-radius:16px}#wpbody-content .ultimate-store-kit-admin-root .rounded-tile{border-radius:11px}#wpbody-content .ultimate-store-kit-admin-root .rounded-usk{border-radius:10px}#wpbody-content .ultimate-store-kit-admin-root .rounded-xl{border-radius:0.75rem}#wpbody-content .ultimate-store-kit-admin-root .rounded-b-card{border-bottom-right-radius:18px;border-bottom-left-radius:18px}#wpbody-content .ultimate-store-kit-admin-root .\!border{border-width:1px !important}#wpbody-content .ultimate-store-kit-admin-root .\!border-0{border-width:0px !important}#wpbody-content .ultimate-store-kit-admin-root .border{border-width:1px}#wpbody-content .ultimate-store-kit-admin-root .border-0{border-width:0px}#wpbody-content .ultimate-store-kit-admin-root .border-\[1\.5px\]{border-width:1.5px}#wpbody-content .ultimate-store-kit-admin-root .border-b{border-bottom-width:1px}#wpbody-content .ultimate-store-kit-admin-root .border-l{border-left-width:1px}#wpbody-content .ultimate-store-kit-admin-root .border-l-\[3px\]{border-left-width:3px}#wpbody-content .ultimate-store-kit-admin-root .border-t{border-top-width:1px}#wpbody-content .ultimate-store-kit-admin-root .\!border-solid{border-style:solid !important}#wpbody-content .ultimate-store-kit-admin-root .border-solid{border-style:solid}#wpbody-content .ultimate-store-kit-admin-root .\!border-\[\#e6e6ea\]{--tw-border-opacity:1 !important;border-color:rgb(230 230 234 / var(--tw-border-opacity, 1)) !important}#wpbody-content .ultimate-store-kit-admin-root .border-\[\#c6f0d4\]{--tw-border-opacity:1;border-color:rgb(198 240 212 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .border-\[\#e2e2e6\]{--tw-border-opacity:1;border-color:rgb(226 226 230 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .border-\[\#e6e6ea\]{--tw-border-opacity:1;border-color:rgb(230 230 234 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .border-\[\#e9e9ed\]{--tw-border-opacity:1;border-color:rgb(233 233 237 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .border-\[\#ececf0\]{--tw-border-opacity:1;border-color:rgb(236 236 240 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .border-\[\#eef0f3\]{--tw-border-opacity:1;border-color:rgb(238 240 243 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .border-\[\#f0f0f3\]{--tw-border-opacity:1;border-color:rgb(240 240 243 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .border-\[\#f3f3f6\]{--tw-border-opacity:1;border-color:rgb(243 243 246 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .border-\[\#fbc8cd\]{--tw-border-opacity:1;border-color:rgb(251 200 205 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .border-\[\#fde2b8\]{--tw-border-opacity:1;border-color:rgb(253 226 184 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .border-\[\#fecaca\]{--tw-border-opacity:1;border-color:rgb(254 202 202 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .border-emerald-200{--tw-border-opacity:1;border-color:rgb(167 243 208 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .border-gray-100{--tw-border-opacity:1;border-color:rgb(243 244 246 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .border-gray-50{--tw-border-opacity:1;border-color:rgb(249 250 251 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .border-indigo-500{--tw-border-opacity:1;border-color:rgb(99 102 241 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .border-orange-500{--tw-border-opacity:1;border-color:rgb(249 115 22 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .border-pink-500{--tw-border-opacity:1;border-color:rgb(236 72 153 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .border-red-200{--tw-border-opacity:1;border-color:rgb(254 202 202 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .border-red-500{--tw-border-opacity:1;border-color:rgb(239 68 68 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .border-slate-100{--tw-border-opacity:1;border-color:rgb(241 245 249 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .border-slate-200{--tw-border-opacity:1;border-color:rgb(226 232 240 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .border-slate-300{--tw-border-opacity:1;border-color:rgb(203 213 225 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .border-teal-500{--tw-border-opacity:1;border-color:rgb(20 184 166 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .border-transparent{border-color:transparent}#wpbody-content .ultimate-store-kit-admin-root .border-uks-brand{--tw-border-opacity:1;border-color:rgb(227 12 29 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .border-uks-brand\/15{border-color:rgb(227 12 29 / 0.15)}#wpbody-content .ultimate-store-kit-admin-root .border-uks-brand\/20{border-color:rgb(227 12 29 / 0.2)}#wpbody-content .ultimate-store-kit-admin-root .border-uks-brand\/30{border-color:rgb(227 12 29 / 0.3)}#wpbody-content .ultimate-store-kit-admin-root .border-violet-500{--tw-border-opacity:1;border-color:rgb(139 92 246 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .border-b-gray-100{--tw-border-opacity:1;border-bottom-color:rgb(243 244 246 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .border-b-gray-200{--tw-border-opacity:1;border-bottom-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .\!bg-\[\#fafbfc\]{--tw-bg-opacity:1 !important;background-color:rgb(250 251 252 / var(--tw-bg-opacity, 1)) !important}#wpbody-content .ultimate-store-kit-admin-root .\!bg-transparent{background-color:transparent !important}#wpbody-content .ultimate-store-kit-admin-root .\!bg-white{--tw-bg-opacity:1 !important;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1)) !important}#wpbody-content .ultimate-store-kit-admin-root .bg-\[\#22c55e\]{--tw-bg-opacity:1;background-color:rgb(34 197 94 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-\[\#a1a1aa\]{--tw-bg-opacity:1;background-color:rgb(161 161 170 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-\[\#e8edf8\]{--tw-bg-opacity:1;background-color:rgb(232 237 248 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-\[\#ecfdf3\]{--tw-bg-opacity:1;background-color:rgb(236 253 243 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-\[\#ecfeff\]{--tw-bg-opacity:1;background-color:rgb(236 254 255 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-\[\#eef0f3\]{--tw-bg-opacity:1;background-color:rgb(238 240 243 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-\[\#eef3ff\]{--tw-bg-opacity:1;background-color:rgb(238 243 255 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-\[\#ef4444\]{--tw-bg-opacity:1;background-color:rgb(239 68 68 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-\[\#f0f0f1\]{--tw-bg-opacity:1;background-color:rgb(240 240 241 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-\[\#f3efff\]{--tw-bg-opacity:1;background-color:rgb(243 239 255 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-\[\#f4f4f5\]{--tw-bg-opacity:1;background-color:rgb(244 244 245 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-\[\#f4f5f7\]{--tw-bg-opacity:1;background-color:rgb(244 245 247 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-\[\#f59e0b\]{--tw-bg-opacity:1;background-color:rgb(245 158 11 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-\[\#fafbfc\]{--tw-bg-opacity:1;background-color:rgb(250 251 252 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-\[\#fef2f2\]{--tw-bg-opacity:1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-\[\#fff1f2\]{--tw-bg-opacity:1;background-color:rgb(255 241 242 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-\[\#fff7ed\]{--tw-bg-opacity:1;background-color:rgb(255 247 237 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-\[\#fffbfb\]{--tw-bg-opacity:1;background-color:rgb(255 251 251 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-\[rgba\(15\2c 17\2c 21\2c \.45\)\]{background-color:rgba(15,17,21,.45)}#wpbody-content .ultimate-store-kit-admin-root .bg-emerald-100{--tw-bg-opacity:1;background-color:rgb(209 250 229 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-indigo-500{--tw-bg-opacity:1;background-color:rgb(99 102 241 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-orange-500{--tw-bg-opacity:1;background-color:rgb(249 115 22 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-pink-500{--tw-bg-opacity:1;background-color:rgb(236 72 153 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-slate-100{--tw-bg-opacity:1;background-color:rgb(241 245 249 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-slate-200{--tw-bg-opacity:1;background-color:rgb(226 232 240 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-slate-300{--tw-bg-opacity:1;background-color:rgb(203 213 225 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-slate-50{--tw-bg-opacity:1;background-color:rgb(248 250 252 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-slate-50\/50{background-color:rgb(248 250 252 / 0.5)}#wpbody-content .ultimate-store-kit-admin-root .bg-slate-50\/70{background-color:rgb(248 250 252 / 0.7)}#wpbody-content .ultimate-store-kit-admin-root .bg-teal-500{--tw-bg-opacity:1;background-color:rgb(20 184 166 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-transparent{background-color:transparent}#wpbody-content .ultimate-store-kit-admin-root .bg-uks-brand{--tw-bg-opacity:1;background-color:rgb(227 12 29 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-uks-brand\/10{background-color:rgb(227 12 29 / 0.1)}#wpbody-content .ultimate-store-kit-admin-root .bg-uks-brand\/\[0\.07\]{background-color:rgb(227 12 29 / 0.07)}#wpbody-content .ultimate-store-kit-admin-root .bg-violet-500{--tw-bg-opacity:1;background-color:rgb(139 92 246 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .bg-white\/10{background-color:rgb(255 255 255 / 0.1)}#wpbody-content .ultimate-store-kit-admin-root .bg-white\/15{background-color:rgb(255 255 255 / 0.15)}#wpbody-content .ultimate-store-kit-admin-root .bg-white\/80{background-color:rgb(255 255 255 / 0.8)}#wpbody-content .ultimate-store-kit-admin-root .bg-\[linear-gradient\(135deg\2c \#3a0a10\2c \#8f0b16_55\%\2c \#e30c1d\)\]{background-image:linear-gradient(135deg,#3a0a10,#8f0b16 55%,#e30c1d)}#wpbody-content .ultimate-store-kit-admin-root .bg-\[linear-gradient\(313deg\2c \#E62A3F_0\%\2c \#00216A_100\%\)\]{background-image:linear-gradient(313deg,#E62A3F 0%,#00216A 100%)}#wpbody-content .ultimate-store-kit-admin-root .bg-gradient-brand{background-image:linear-gradient(135deg, #ff4f57, #E30C1D)}#wpbody-content .ultimate-store-kit-admin-root .bg-gradient-to-br{background-image:linear-gradient(to bottom right, var(--tw-gradient-stops))}#wpbody-content .ultimate-store-kit-admin-root .from-uks-brand\/\[0\.07\]{--tw-gradient-from:rgb(227 12 29 / 0.07) var(--tw-gradient-from-position);--tw-gradient-to:rgb(227 12 29 / 0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}#wpbody-content .ultimate-store-kit-admin-root .to-transparent{--tw-gradient-to:transparent var(--tw-gradient-to-position)}#wpbody-content .ultimate-store-kit-admin-root .object-cover{-o-object-fit:cover;object-fit:cover}#wpbody-content .ultimate-store-kit-admin-root .\!p-0{padding:0px !important}#wpbody-content .ultimate-store-kit-admin-root .p-0{padding:0px}#wpbody-content .ultimate-store-kit-admin-root .p-0\.5{padding:0.125rem}#wpbody-content .ultimate-store-kit-admin-root .p-1{padding:0.25rem}#wpbody-content .ultimate-store-kit-admin-root .p-2{padding:0.5rem}#wpbody-content .ultimate-store-kit-admin-root .p-3{padding:0.75rem}#wpbody-content .ultimate-store-kit-admin-root .p-4{padding:1rem}#wpbody-content .ultimate-store-kit-admin-root .p-5{padding:1.25rem}#wpbody-content .ultimate-store-kit-admin-root .p-6{padding:1.5rem}#wpbody-content .ultimate-store-kit-admin-root .p-8{padding:2rem}#wpbody-content .ultimate-store-kit-admin-root .p-\[18px\]{padding:18px}#wpbody-content .ultimate-store-kit-admin-root .p-\[22px\]{padding:22px}#wpbody-content .ultimate-store-kit-admin-root .\!py-1\.5{padding-top:0.375rem !important;padding-bottom:0.375rem !important}#wpbody-content .ultimate-store-kit-admin-root .\!py-2{padding-top:0.5rem !important;padding-bottom:0.5rem !important}#wpbody-content .ultimate-store-kit-admin-root .px-1{padding-left:0.25rem;padding-right:0.25rem}#wpbody-content .ultimate-store-kit-admin-root .px-1\.5{padding-left:0.375rem;padding-right:0.375rem}#wpbody-content .ultimate-store-kit-admin-root .px-12{padding-left:3rem;padding-right:3rem}#wpbody-content .ultimate-store-kit-admin-root .px-2{padding-left:0.5rem;padding-right:0.5rem}#wpbody-content .ultimate-store-kit-admin-root .px-2\.5{padding-left:0.625rem;padding-right:0.625rem}#wpbody-content .ultimate-store-kit-admin-root .px-3{padding-left:0.75rem;padding-right:0.75rem}#wpbody-content .ultimate-store-kit-admin-root .px-3\.5{padding-left:0.875rem;padding-right:0.875rem}#wpbody-content .ultimate-store-kit-admin-root .px-4{padding-left:1rem;padding-right:1rem}#wpbody-content .ultimate-store-kit-admin-root .px-5{padding-left:1.25rem;padding-right:1.25rem}#wpbody-content .ultimate-store-kit-admin-root .px-6{padding-left:1.5rem;padding-right:1.5rem}#wpbody-content .ultimate-store-kit-admin-root .px-\[14px\]{padding-left:14px;padding-right:14px}#wpbody-content .ultimate-store-kit-admin-root .px-\[15px\]{padding-left:15px;padding-right:15px}#wpbody-content .ultimate-store-kit-admin-root .px-\[17px\]{padding-left:17px;padding-right:17px}#wpbody-content .ultimate-store-kit-admin-root .px-\[18px\]{padding-left:18px;padding-right:18px}#wpbody-content .ultimate-store-kit-admin-root .px-\[22px\]{padding-left:22px;padding-right:22px}#wpbody-content .ultimate-store-kit-admin-root .px-\[26px\]{padding-left:26px;padding-right:26px}#wpbody-content .ultimate-store-kit-admin-root .px-\[6px\]{padding-left:6px;padding-right:6px}#wpbody-content .ultimate-store-kit-admin-root .px-\[7px\]{padding-left:7px;padding-right:7px}#wpbody-content .ultimate-store-kit-admin-root .py-0\.5{padding-top:0.125rem;padding-bottom:0.125rem}#wpbody-content .ultimate-store-kit-admin-root .py-1{padding-top:0.25rem;padding-bottom:0.25rem}#wpbody-content .ultimate-store-kit-admin-root .py-1\.5{padding-top:0.375rem;padding-bottom:0.375rem}#wpbody-content .ultimate-store-kit-admin-root .py-14{padding-top:3.5rem;padding-bottom:3.5rem}#wpbody-content .ultimate-store-kit-admin-root .py-16{padding-top:4rem;padding-bottom:4rem}#wpbody-content .ultimate-store-kit-admin-root .py-2{padding-top:0.5rem;padding-bottom:0.5rem}#wpbody-content .ultimate-store-kit-admin-root .py-2\.5{padding-top:0.625rem;padding-bottom:0.625rem}#wpbody-content .ultimate-store-kit-admin-root .py-3{padding-top:0.75rem;padding-bottom:0.75rem}#wpbody-content .ultimate-store-kit-admin-root .py-3\.5{padding-top:0.875rem;padding-bottom:0.875rem}#wpbody-content .ultimate-store-kit-admin-root .py-4{padding-top:1rem;padding-bottom:1rem}#wpbody-content .ultimate-store-kit-admin-root .py-5{padding-top:1.25rem;padding-bottom:1.25rem}#wpbody-content .ultimate-store-kit-admin-root .py-6{padding-top:1.5rem;padding-bottom:1.5rem}#wpbody-content .ultimate-store-kit-admin-root .py-\[10px\]{padding-top:10px;padding-bottom:10px}#wpbody-content .ultimate-store-kit-admin-root .py-\[11px\]{padding-top:11px;padding-bottom:11px}#wpbody-content .ultimate-store-kit-admin-root .py-\[14px\]{padding-top:14px;padding-bottom:14px}#wpbody-content .ultimate-store-kit-admin-root .py-\[18px\]{padding-top:18px;padding-bottom:18px}#wpbody-content .ultimate-store-kit-admin-root .py-\[3px\]{padding-top:3px;padding-bottom:3px}#wpbody-content .ultimate-store-kit-admin-root .py-\[7px\]{padding-top:7px;padding-bottom:7px}#wpbody-content .ultimate-store-kit-admin-root .py-\[9px\]{padding-top:9px;padding-bottom:9px}#wpbody-content .ultimate-store-kit-admin-root .\!pl-3{padding-left:0.75rem !important}#wpbody-content .ultimate-store-kit-admin-root .\!pl-9{padding-left:2.25rem !important}#wpbody-content .ultimate-store-kit-admin-root .\!pr-3{padding-right:0.75rem !important}#wpbody-content .ultimate-store-kit-admin-root .\!pr-8{padding-right:2rem !important}#wpbody-content .ultimate-store-kit-admin-root .pb-20{padding-bottom:5rem}#wpbody-content .ultimate-store-kit-admin-root .pb-4{padding-bottom:1rem}#wpbody-content .ultimate-store-kit-admin-root .pb-\[60px\]{padding-bottom:60px}#wpbody-content .ultimate-store-kit-admin-root .pl-5{padding-left:1.25rem}#wpbody-content .ultimate-store-kit-admin-root .pl-\[14px\]{padding-left:14px}#wpbody-content .ultimate-store-kit-admin-root .pr-2{padding-right:0.5rem}#wpbody-content .ultimate-store-kit-admin-root .pr-\[9px\]{padding-right:9px}#wpbody-content .ultimate-store-kit-admin-root .pt-1{padding-top:0.25rem}#wpbody-content .ultimate-store-kit-admin-root .pt-3{padding-top:0.75rem}#wpbody-content .ultimate-store-kit-admin-root .pt-4{padding-top:1rem}#wpbody-content .ultimate-store-kit-admin-root .pt-\[12vh\]{padding-top:12vh}#wpbody-content .ultimate-store-kit-admin-root .pt-\[18px\]{padding-top:18px}#wpbody-content .ultimate-store-kit-admin-root .pt-\[30px\]{padding-top:30px}#wpbody-content .ultimate-store-kit-admin-root .text-left{text-align:left}#wpbody-content .ultimate-store-kit-admin-root .text-center{text-align:center}#wpbody-content .ultimate-store-kit-admin-root .align-middle{vertical-align:middle}#wpbody-content .ultimate-store-kit-admin-root .font-mono{font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace}#wpbody-content .ultimate-store-kit-admin-root .font-sans{font-family:"IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, sans-serif}#wpbody-content .ultimate-store-kit-admin-root .text-\[10px\]{font-size:10px}#wpbody-content .ultimate-store-kit-admin-root .text-\[11\.5px\]{font-size:11.5px}#wpbody-content .ultimate-store-kit-admin-root .text-\[11px\]{font-size:11px}#wpbody-content .ultimate-store-kit-admin-root .text-\[12\.5px\]{font-size:12.5px}#wpbody-content .ultimate-store-kit-admin-root .text-\[12px\]{font-size:12px}#wpbody-content .ultimate-store-kit-admin-root .text-\[13\.5px\]{font-size:13.5px}#wpbody-content .ultimate-store-kit-admin-root .text-\[13px\]{font-size:13px}#wpbody-content .ultimate-store-kit-admin-root .text-\[14px\]{font-size:14px}#wpbody-content .ultimate-store-kit-admin-root .text-\[15px\]{font-size:15px}#wpbody-content .ultimate-store-kit-admin-root .text-\[16px\]{font-size:16px}#wpbody-content .ultimate-store-kit-admin-root .text-\[18px\]{font-size:18px}#wpbody-content .ultimate-store-kit-admin-root .text-\[19px\]{font-size:19px}#wpbody-content .ultimate-store-kit-admin-root .text-\[20px\]{font-size:20px}#wpbody-content .ultimate-store-kit-admin-root .text-\[22px\]{font-size:22px}#wpbody-content .ultimate-store-kit-admin-root .text-\[26px\]{font-size:26px}#wpbody-content .ultimate-store-kit-admin-root .text-\[28px\]{font-size:28px}#wpbody-content .ultimate-store-kit-admin-root .text-\[34px\]{font-size:34px}#wpbody-content .ultimate-store-kit-admin-root .text-\[9\.5px\]{font-size:9.5px}#wpbody-content .ultimate-store-kit-admin-root .text-base{font-size:1rem;line-height:1.5rem}#wpbody-content .ultimate-store-kit-admin-root .text-lg{font-size:1.125rem;line-height:1.75rem}#wpbody-content .ultimate-store-kit-admin-root .text-sm{font-size:0.875rem;line-height:1.25rem}#wpbody-content .ultimate-store-kit-admin-root .text-xl{font-size:1.25rem;line-height:1.75rem}#wpbody-content .ultimate-store-kit-admin-root .text-xs{font-size:0.75rem;line-height:1rem}#wpbody-content .ultimate-store-kit-admin-root .font-black{font-weight:900}#wpbody-content .ultimate-store-kit-admin-root .font-bold{font-weight:700}#wpbody-content .ultimate-store-kit-admin-root .font-extrabold{font-weight:800}#wpbody-content .ultimate-store-kit-admin-root .font-medium{font-weight:500}#wpbody-content .ultimate-store-kit-admin-root .font-semibold{font-weight:600}#wpbody-content .ultimate-store-kit-admin-root .uppercase{text-transform:uppercase}#wpbody-content .ultimate-store-kit-admin-root .leading-none{line-height:1}#wpbody-content .ultimate-store-kit-admin-root .leading-relaxed{line-height:1.625}#wpbody-content .ultimate-store-kit-admin-root .leading-snug{line-height:1.375}#wpbody-content .ultimate-store-kit-admin-root .tracking-\[-\.01em\]{letter-spacing:-.01em}#wpbody-content .ultimate-store-kit-admin-root .tracking-\[-\.02em\]{letter-spacing:-.02em}#wpbody-content .ultimate-store-kit-admin-root .tracking-\[-\.03em\]{letter-spacing:-.03em}#wpbody-content .ultimate-store-kit-admin-root .tracking-\[\.06em\]{letter-spacing:.06em}#wpbody-content .ultimate-store-kit-admin-root .tracking-\[\.08em\]{letter-spacing:.08em}#wpbody-content .ultimate-store-kit-admin-root .tracking-tight{letter-spacing:-0.025em}#wpbody-content .ultimate-store-kit-admin-root .tracking-wide{letter-spacing:0.025em}#wpbody-content .ultimate-store-kit-admin-root .tracking-wider{letter-spacing:0.05em}#wpbody-content .ultimate-store-kit-admin-root .tracking-widest{letter-spacing:0.1em}#wpbody-content .ultimate-store-kit-admin-root .\!text-\[\#3f3f46\]{--tw-text-opacity:1 !important;color:rgb(63 63 70 / var(--tw-text-opacity, 1)) !important}#wpbody-content .ultimate-store-kit-admin-root .\!text-\[\#b45309\]{--tw-text-opacity:1 !important;color:rgb(180 83 9 / var(--tw-text-opacity, 1)) !important}#wpbody-content .ultimate-store-kit-admin-root .text-\[\#00216A\]{--tw-text-opacity:1;color:rgb(0 33 106 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-\[\#0e9488\]{--tw-text-opacity:1;color:rgb(14 148 136 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-\[\#0f1115\]{--tw-text-opacity:1;color:rgb(15 17 21 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-\[\#15803d\]{--tw-text-opacity:1;color:rgb(21 128 61 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-\[\#16a34a\]{--tw-text-opacity:1;color:rgb(22 163 74 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-\[\#1d2327\]{--tw-text-opacity:1;color:rgb(29 35 39 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-\[\#27272a\]{--tw-text-opacity:1;color:rgb(39 39 42 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-\[\#2f5bea\]{--tw-text-opacity:1;color:rgb(47 91 234 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-\[\#3f3f46\]{--tw-text-opacity:1;color:rgb(63 63 70 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-\[\#52525b\]{--tw-text-opacity:1;color:rgb(82 82 91 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-\[\#6c6c75\]{--tw-text-opacity:1;color:rgb(108 108 117 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-\[\#6d6d74\]{--tw-text-opacity:1;color:rgb(109 109 116 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-\[\#7c3aed\]{--tw-text-opacity:1;color:rgb(124 58 237 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-\[\#8a8a93\]{--tw-text-opacity:1;color:rgb(138 138 147 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-\[\#991b1b\]{--tw-text-opacity:1;color:rgb(153 27 27 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-\[\#a1a1aa\]{--tw-text-opacity:1;color:rgb(161 161 170 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-\[\#b45309\]{--tw-text-opacity:1;color:rgb(180 83 9 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-\[\#b91c1c\]{--tw-text-opacity:1;color:rgb(185 28 28 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-\[\#be123c\]{--tw-text-opacity:1;color:rgb(190 18 60 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-\[\#d97706\]{--tw-text-opacity:1;color:rgb(217 119 6 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-\[\#e11d48\]{--tw-text-opacity:1;color:rgb(225 29 72 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-\[\#e30c1d\]{--tw-text-opacity:1;color:rgb(227 12 29 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-emerald-500{--tw-text-opacity:1;color:rgb(16 185 129 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-emerald-600{--tw-text-opacity:1;color:rgb(5 150 105 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-emerald-800{--tw-text-opacity:1;color:rgb(6 95 70 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-inherit{color:inherit}#wpbody-content .ultimate-store-kit-admin-root .text-red-500{--tw-text-opacity:1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-red-900{--tw-text-opacity:1;color:rgb(127 29 29 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-slate-300{--tw-text-opacity:1;color:rgb(203 213 225 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-slate-400{--tw-text-opacity:1;color:rgb(148 163 184 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-slate-500{--tw-text-opacity:1;color:rgb(100 116 139 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-slate-600{--tw-text-opacity:1;color:rgb(71 85 105 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-slate-700{--tw-text-opacity:1;color:rgb(51 65 85 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-slate-800{--tw-text-opacity:1;color:rgb(30 41 59 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-slate-900{--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-uks-brand{--tw-text-opacity:1;color:rgb(227 12 29 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-white{--tw-text-opacity:1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .text-white\/80{color:rgb(255 255 255 / 0.8)}#wpbody-content .ultimate-store-kit-admin-root .text-white\/90{color:rgb(255 255 255 / 0.9)}#wpbody-content .ultimate-store-kit-admin-root .no-underline{text-decoration-line:none}#wpbody-content .ultimate-store-kit-admin-root .opacity-60{opacity:0.6}#wpbody-content .ultimate-store-kit-admin-root .opacity-70{opacity:0.7}#wpbody-content .ultimate-store-kit-admin-root .opacity-80{opacity:0.8}#wpbody-content .ultimate-store-kit-admin-root .\!shadow-none{--tw-shadow:0 0 #0000 !important;--tw-shadow-colored:0 0 #0000 !important;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) !important}#wpbody-content .ultimate-store-kit-admin-root .shadow-\[0_0_0_3px_rgba\(34\2c 197\2c 94\2c \.2\)\]{--tw-shadow:0 0 0 3px rgba(34,197,94,.2);--tw-shadow-colored:0 0 0 3px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}#wpbody-content .ultimate-store-kit-admin-root .shadow-\[0_1px_3px_rgba\(0\2c 0\2c 0\2c \.12\)\]{--tw-shadow:0 1px 3px rgba(0,0,0,.12);--tw-shadow-colored:0 1px 3px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}#wpbody-content .ultimate-store-kit-admin-root .shadow-glow{--tw-shadow:0 6px 18px rgba(227, 12, 29, 0.28);--tw-shadow-colored:0 6px 18px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}#wpbody-content .ultimate-store-kit-admin-root .shadow-pop{--tw-shadow:0 24px 60px -16px rgba(0, 0, 0, 0.32);--tw-shadow-colored:0 24px 60px -16px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}#wpbody-content .ultimate-store-kit-admin-root .shadow-sm{--tw-shadow:0 1px 2px 0 rgb(0 0 0 / 0.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}#wpbody-content .ultimate-store-kit-admin-root .\!outline-none{outline:2px solid transparent !important;outline-offset:2px !important}#wpbody-content .ultimate-store-kit-admin-root .filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}#wpbody-content .ultimate-store-kit-admin-root .transition{transition-property:color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}#wpbody-content .ultimate-store-kit-admin-root .transition-\[width\]{transition-property:width;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}#wpbody-content .ultimate-store-kit-admin-root .transition-all{transition-property:all;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}#wpbody-content .ultimate-store-kit-admin-root .transition-colors{transition-property:color, background-color, border-color, text-decoration-color, fill, stroke;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}#wpbody-content .ultimate-store-kit-admin-root .transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}#wpbody-content .ultimate-store-kit-admin-root .transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}#wpbody-content .ultimate-store-kit-admin-root .duration-200{transition-duration:200ms}#wpbody-content .ultimate-store-kit-admin-root .duration-500{transition-duration:500ms}#wpbody-content .ultimate-store-kit-admin-root .ease-in-out{transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1)}@font-face{font-family:"IBM Plex Sans";src:url("../../includes/Admin/assets/fonts/IBMPlexSans-Variable.woff2") format("woff2-variations"),url("../../includes/Admin/assets/fonts/IBMPlexSans-Variable.woff2") format("woff2");font-weight:100 700;font-style:normal;font-display:swap}.ultimate-store-kit-admin-root .usk-app{font-family:"IBM Plex Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,sans-serif;-webkit-font-smoothing:antialiased}.ultimate-store-kit-admin-root .usk-app :is(h1,h2,h3,h4,button,input,select,textarea){font-family:inherit}.ultimate-store-kit-admin-root a:focus,.ultimate-store-kit-admin-root button:focus{box-shadow:none}.ultimate-store-kit-admin-root a:focus-visible,.ultimate-store-kit-admin-root button:focus-visible{outline:2px solid #e30c1d;outline-offset:2px}.usk-tabstrip-scroll{scrollbar-width:none}.usk-tabstrip-scroll::-webkit-scrollbar{display:none}.usk-toast-wrap{position:fixed;top:40px;left:50%;transform:translateX(-50%);z-index:99999;pointer-events:none;display:flex;justify-content:center;width:auto;max-width:480px}.usk-toast{pointer-events:auto;display:flex;align-items:center;gap:10px;padding:10px 18px;border-radius:10px;font-size:13px;font-weight:600;box-shadow:0 8px 24px rgba(0,0,0,.12);animation:usk-toast-in .35s cubic-bezier(0.21, 1.02, 0.73, 1) forwards;white-space:nowrap}.usk-toast--success{background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0}.usk-toast--error{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}.usk-toast__close{cursor:pointer;border:0;background:rgba(0,0,0,0);color:inherit;font-size:16px;line-height:1;padding:0 0 0 6px;opacity:.6;transition:opacity .15s}.usk-toast__close:hover{opacity:1}@keyframes usk-toast-in{0%{opacity:0;transform:translateY(-14px) scale(0.96)}100%{opacity:1;transform:translateY(0) scale(1)}}#wpbody-content .ultimate-store-kit-admin-root .placeholder\:text-slate-400::-moz-placeholder{--tw-text-opacity:1;color:rgb(148 163 184 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .placeholder\:text-slate-400::placeholder{--tw-text-opacity:1;color:rgb(148 163 184 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .last\:border-b-0:last-child{border-bottom-width:0px}#wpbody-content .ultimate-store-kit-admin-root .last\:pb-0:last-child{padding-bottom:0px}#wpbody-content .ultimate-store-kit-admin-root .hover\:-translate-y-\[2px\]:hover{--tw-translate-y:-2px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}#wpbody-content .ultimate-store-kit-admin-root .hover\:-translate-y-\[3px\]:hover{--tw-translate-y:-3px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}#wpbody-content .ultimate-store-kit-admin-root .hover\:-translate-y-px:hover{--tw-translate-y:-1px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}#wpbody-content .ultimate-store-kit-admin-root .hover\:border-\[\#d4d4dc\]:hover{--tw-border-opacity:1;border-color:rgb(212 212 220 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .hover\:border-\[\#e30c1d\]:hover{--tw-border-opacity:1;border-color:rgb(227 12 29 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .hover\:border-\[\#fbc8cd\]:hover{--tw-border-opacity:1;border-color:rgb(251 200 205 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .hover\:border-slate-300:hover{--tw-border-opacity:1;border-color:rgb(203 213 225 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .hover\:border-uks-brand\/25:hover{border-color:rgb(227 12 29 / 0.25)}#wpbody-content .ultimate-store-kit-admin-root .hover\:bg-\[\#f3f5f8\]:hover{--tw-bg-opacity:1;background-color:rgb(243 245 248 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .hover\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .hover\:bg-red-500:hover{--tw-bg-opacity:1;background-color:rgb(239 68 68 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .hover\:bg-slate-50:hover{--tw-bg-opacity:1;background-color:rgb(248 250 252 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .hover\:bg-uks-brand:hover{--tw-bg-opacity:1;background-color:rgb(227 12 29 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .hover\:bg-uks-brand-dark:hover{--tw-bg-opacity:1;background-color:rgb(184 10 23 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .hover\:text-\[\#0f1115\]:hover{--tw-text-opacity:1;color:rgb(15 17 21 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .hover\:text-\[\#18181b\]:hover{--tw-text-opacity:1;color:rgb(24 24 27 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .hover\:text-\[\#e30c1d\]:hover{--tw-text-opacity:1;color:rgb(227 12 29 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .hover\:text-gray-800:hover{--tw-text-opacity:1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .hover\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .hover\:underline:hover{text-decoration-line:underline}#wpbody-content .ultimate-store-kit-admin-root .hover\:opacity-90:hover{opacity:0.9}#wpbody-content .ultimate-store-kit-admin-root .hover\:shadow-glow-lg:hover{--tw-shadow:0 8px 24px rgba(227, 12, 29, 0.38);--tw-shadow-colored:0 8px 24px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}#wpbody-content .ultimate-store-kit-admin-root .hover\:shadow-lift:hover{--tw-shadow:0 12px 26px -14px rgba(0, 0, 0, 0.22);--tw-shadow-colored:0 12px 26px -14px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}#wpbody-content .ultimate-store-kit-admin-root .focus\:\!border-\[\#e30c1d\]:focus{--tw-border-opacity:1 !important;border-color:rgb(227 12 29 / var(--tw-border-opacity, 1)) !important}#wpbody-content .ultimate-store-kit-admin-root .focus\:border-uks-brand:focus{--tw-border-opacity:1;border-color:rgb(227 12 29 / var(--tw-border-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}#wpbody-content .ultimate-store-kit-admin-root .focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}#wpbody-content .ultimate-store-kit-admin-root .focus\:ring-uks-brand:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(227 12 29 / var(--tw-ring-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root .disabled\:cursor-not-allowed:disabled{cursor:not-allowed}#wpbody-content .ultimate-store-kit-admin-root .disabled\:cursor-wait:disabled{cursor:wait}#wpbody-content .ultimate-store-kit-admin-root .disabled\:opacity-50:disabled{opacity:0.5}#wpbody-content .ultimate-store-kit-admin-root .disabled\:opacity-60:disabled{opacity:0.6}#wpbody-content .ultimate-store-kit-admin-root .disabled\:opacity-70:disabled{opacity:0.7}#wpbody-content .ultimate-store-kit-admin-root :is(.group:hover .group-hover\:translate-x-0\.5){--tw-translate-x:0.125rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}#wpbody-content .ultimate-store-kit-admin-root :is(.group:hover .group-hover\:bg-uks-brand\/15){background-color:rgb(227 12 29 / 0.15)}#wpbody-content .ultimate-store-kit-admin-root :is(.peer:checked ~ .peer-checked\:translate-x-\[18px\]){--tw-translate-x:18px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}#wpbody-content .ultimate-store-kit-admin-root :is(.peer:checked ~ .peer-checked\:bg-uks-brand){--tw-bg-opacity:1;background-color:rgb(227 12 29 / var(--tw-bg-opacity, 1))}#wpbody-content .ultimate-store-kit-admin-root :is(.peer:disabled ~ .peer-disabled\:opacity-50){opacity:0.5}@media (max-width: 1180px){#wpbody-content .ultimate-store-kit-admin-root .max-\[1180px\]\:grid-cols-1{grid-template-columns:repeat(1, minmax(0, 1fr))}#wpbody-content .ultimate-store-kit-admin-root .max-\[1180px\]\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}}@media not all and (min-width: 1024px){#wpbody-content .ultimate-store-kit-admin-root .max-lg\:hidden{display:none}}@media (max-width: 1024px){#wpbody-content .ultimate-store-kit-admin-root .max-\[1024px\]\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}#wpbody-content .ultimate-store-kit-admin-root .max-\[1024px\]\:px-7{padding-left:1.75rem;padding-right:1.75rem}#wpbody-content .ultimate-store-kit-admin-root .max-\[1024px\]\:pt-6{padding-top:1.5rem}}@media (max-width: 900px){#wpbody-content .ultimate-store-kit-admin-root .max-\[900px\]\:grid-cols-1{grid-template-columns:repeat(1, minmax(0, 1fr))}#wpbody-content .ultimate-store-kit-admin-root .max-\[900px\]\:gap-3{gap:0.75rem}#wpbody-content .ultimate-store-kit-admin-root .max-\[900px\]\:px-\[15px\]{padding-left:15px;padding-right:15px}#wpbody-content .ultimate-store-kit-admin-root .max-\[900px\]\:py-\[13px\]{padding-top:13px;padding-bottom:13px}}@media not all and (min-width: 768px){#wpbody-content .ultimate-store-kit-admin-root .max-md\:hidden{display:none}}@media (max-width: 760px){#wpbody-content .ultimate-store-kit-admin-root .max-\[760px\]\:grid-cols-1{grid-template-columns:repeat(1, minmax(0, 1fr))}#wpbody-content .ultimate-store-kit-admin-root .max-\[760px\]\:border-0{border-width:0px}#wpbody-content .ultimate-store-kit-admin-root .max-\[760px\]\:border-l-0{border-left-width:0px}#wpbody-content .ultimate-store-kit-admin-root .max-\[760px\]\:border-t{border-top-width:1px}#wpbody-content .ultimate-store-kit-admin-root .max-\[760px\]\:border-solid{border-style:solid}#wpbody-content .ultimate-store-kit-admin-root .max-\[760px\]\:border-\[\#eef0f3\]{--tw-border-opacity:1;border-color:rgb(238 240 243 / var(--tw-border-opacity, 1))}}@media (max-width: 720px){#wpbody-content .ultimate-store-kit-admin-root .max-\[720px\]\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}}@media (max-width: 700px){#wpbody-content .ultimate-store-kit-admin-root .max-\[700px\]\:grid-cols-1{grid-template-columns:repeat(1, minmax(0, 1fr))}}@media (max-width: 640px){#wpbody-content .ultimate-store-kit-admin-root .max-\[640px\]\:hidden{display:none}#wpbody-content .ultimate-store-kit-admin-root .max-\[640px\]\:grid-cols-1{grid-template-columns:repeat(1, minmax(0, 1fr))}#wpbody-content .ultimate-store-kit-admin-root .max-\[640px\]\:px-0{padding-left:0px;padding-right:0px}#wpbody-content .ultimate-store-kit-admin-root .max-\[640px\]\:px-\[15px\]{padding-left:15px;padding-right:15px}#wpbody-content .ultimate-store-kit-admin-root .max-\[640px\]\:pt-4{padding-top:1rem}}@media (max-width: 560px){#wpbody-content .ultimate-store-kit-admin-root .max-\[560px\]\:grid-cols-1{grid-template-columns:repeat(1, minmax(0, 1fr))}}@media (max-width: 480px){#wpbody-content .ultimate-store-kit-admin-root .max-\[480px\]\:text-\[16px\]{font-size:16px}}@media (max-width: 440px){#wpbody-content .ultimate-store-kit-admin-root .max-\[440px\]\:grid-cols-1{grid-template-columns:repeat(1, minmax(0, 1fr))}}@media (min-width: 640px){#wpbody-content .ultimate-store-kit-admin-root .sm\:mb-4{margin-bottom:1rem}#wpbody-content .ultimate-store-kit-admin-root .sm\:inline-block{display:inline-block}#wpbody-content .ultimate-store-kit-admin-root .sm\:h-12{height:3rem}#wpbody-content .ultimate-store-kit-admin-root .sm\:w-12{width:3rem}#wpbody-content .ultimate-store-kit-admin-root .sm\:w-28{width:7rem}#wpbody-content .ultimate-store-kit-admin-root .sm\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}#wpbody-content .ultimate-store-kit-admin-root .sm\:grid-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr))}#wpbody-content .ultimate-store-kit-admin-root .sm\:flex-row{flex-direction:row}#wpbody-content .ultimate-store-kit-admin-root .sm\:items-center{align-items:center}#wpbody-content .ultimate-store-kit-admin-root .sm\:justify-between{justify-content:space-between}#wpbody-content .ultimate-store-kit-admin-root .sm\:gap-1\.5{gap:0.375rem}#wpbody-content .ultimate-store-kit-admin-root .sm\:gap-2\.5{gap:0.625rem}#wpbody-content .ultimate-store-kit-admin-root .sm\:p-10{padding:2.5rem}#wpbody-content .ultimate-store-kit-admin-root .sm\:p-5{padding:1.25rem}#wpbody-content .ultimate-store-kit-admin-root .sm\:px-10{padding-left:2.5rem;padding-right:2.5rem}#wpbody-content .ultimate-store-kit-admin-root .sm\:px-5{padding-left:1.25rem;padding-right:1.25rem}#wpbody-content .ultimate-store-kit-admin-root .sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}#wpbody-content .ultimate-store-kit-admin-root .sm\:py-20{padding-top:5rem;padding-bottom:5rem}#wpbody-content .ultimate-store-kit-admin-root .sm\:py-3\.5{padding-top:0.875rem;padding-bottom:0.875rem}#wpbody-content .ultimate-store-kit-admin-root .sm\:py-6{padding-top:1.5rem;padding-bottom:1.5rem}#wpbody-content .ultimate-store-kit-admin-root .sm\:pl-2{padding-left:0.5rem}#wpbody-content .ultimate-store-kit-admin-root .sm\:text-left{text-align:left}#wpbody-content .ultimate-store-kit-admin-root .sm\:text-\[11px\]{font-size:11px}#wpbody-content .ultimate-store-kit-admin-root .sm\:text-\[12px\]{font-size:12px}#wpbody-content .ultimate-store-kit-admin-root .sm\:text-\[13px\]{font-size:13px}}@media (min-width: 1024px){#wpbody-content .ultimate-store-kit-admin-root .lg\:w-36{width:9rem}#wpbody-content .ultimate-store-kit-admin-root .lg\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}#wpbody-content .ultimate-store-kit-admin-root .lg\:grid-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr))}#wpbody-content .ultimate-store-kit-admin-root .lg\:grid-cols-4{grid-template-columns:repeat(4, minmax(0, 1fr))}#wpbody-content .ultimate-store-kit-admin-root .lg\:p-6{padding:1.5rem}}@media (min-width: 1280px){#wpbody-content .ultimate-store-kit-admin-root .xl\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}#wpbody-content .ultimate-store-kit-admin-root .xl\:grid-cols-4{grid-template-columns:repeat(4, minmax(0, 1fr))}}@media (min-width: 1536px){#wpbody-content .ultimate-store-kit-admin-root .\32xl\:grid-cols-4{grid-template-columns:repeat(4, minmax(0, 1fr))}}#wpbody-content .ultimate-store-kit-admin-root :is(.\[\&_svg\]\:h-5 svg){height:1.25rem}#wpbody-content .ultimate-store-kit-admin-root :is(.\[\&_svg\]\:w-5 svg){width:1.25rem}
  • ultimate-store-kit/trunk/includes/API/Settings.php

    r3504294 r3790891  
    3838                'callback' => [$this, 'save_settings'],
    3939            ],
     40            [
     41                'path'     => '/optimization/regenerate',
     42                'methods'  => 'POST',
     43                'callback' => [$this, 'regenerate_combined_assets'],
     44            ],
    4045        ];
    4146    }
    … …  
    6065
    6166        $sanitized = $this->sanitize_settings($settings);
     67
     68        // ultimate_store_kit_other_settings is shared: every module page keeps its
     69        // switch there, and Pro switches modules through its own route. A page
     70        // posts only what it knows, so merge instead of replacing, or saving one
     71        // page would switch off modules turned on elsewhere since it loaded.
     72        if ('ultimate_store_kit_other_settings' === $section) {
     73            $stored    = get_option($section, []);
     74            $sanitized = array_merge(is_array($stored) ? $stored : [], $sanitized);
     75        }
     76
    6277        update_option($section, $sanitized);
    6378
    6479        return $this->success(['message' => __('Settings saved successfully.', 'ultimate-store-kit')]);
    6580    }
     81
     82    /**
     83     * Delete the combined asset files; pages rebuild them on their next view.
     84     */
     85    public function regenerate_combined_assets(\WP_REST_Request $request) {
     86        if (class_exists('\UltimateStoreKit\Includes\Asset_Combiner')) {
     87            \UltimateStoreKit\Includes\Asset_Combiner::flush();
     88        }
     89
     90        return $this->success([
     91            'message' => __('Combined files cleared. Pages rebuild them on their next visit.', 'ultimate-store-kit'),
     92            'stats'   => class_exists('\UltimateStoreKit\Includes\Asset_Combiner') ? \UltimateStoreKit\Includes\Asset_Combiner::stats() : null,
     93        ]);
     94    }
    6695}
  • ultimate-store-kit/trunk/includes/Admin/Dashboard.php

    r3757742 r3790891  
    177177                'adminUrl' => admin_url(),
    178178                'licenseData' => apply_filters('ultimate_store_kit_license_data', []),
     179                'userName' => wp_get_current_user()->display_name,
     180                'templateBuilderUrl' => admin_url('edit.php?post_type=usk-template-builder'),
     181                'templatesCount' => $this->count_builder_templates(),
     182                'templatesActive' => $this->count_active_builder_templates(),
     183                'system' => $this->get_system_status(),
     184                'releases' => $this->get_recent_releases(),
     185                'assetStats' => class_exists('\UltimateStoreKit\Includes\Asset_Combiner') ? \UltimateStoreKit\Includes\Asset_Combiner::stats() : null,
    179186            ]
    180187        );
     188
     189        // Widget glyphs (usk-icon-*) for the widget cards.
     190        wp_enqueue_style('usk-admin-font', BDTUSK_ASSETS_URL . 'css/font' . (is_rtl() ? '-rtl' : '') . '.css', [], BDTUSK_VER);
    181191
    182192        wp_enqueue_style(
    … …  
    281291    }
    282292
     293    /**
     294     * Published Template Builder templates.
     295     *
     296     * @return int
     297     */
     298    private function count_builder_templates() {
     299        $counts = wp_count_posts('usk-template-builder');
     300
     301        return isset($counts->publish) ? (int) $counts->publish : 0;
     302    }
     303
     304    /**
     305     * Templates in use: one per assigned template type, plus switched-on
     306     * conditional templates.
     307     *
     308     * @return int
     309     */
     310    private function count_active_builder_templates() {
     311        global $wpdb;
     312
     313        // phpcs:disable WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching -- One cheap count for the dashboard.
     314        $assigned = (int) $wpdb->get_var($wpdb->prepare(
     315            "SELECT COUNT(*) FROM {$wpdb->options} WHERE option_name LIKE %s AND option_value <> ''",
     316            $wpdb->esc_like('ultimate_store_kit_template_') . '%'
     317        ));
     318
     319        $conditional = (int) $wpdb->get_var($wpdb->prepare(
     320            "SELECT COUNT(*) FROM {$wpdb->postmeta} pm INNER JOIN {$wpdb->posts} p ON p.ID = pm.post_id WHERE pm.meta_key = %s AND pm.meta_value = '1' AND p.post_status = 'publish'",
     321            '_ultimate_store_kit_template_conditional_active'
     322        ));
     323        // phpcs:enable WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching
     324
     325        return $assigned + $conditional;
     326    }
     327
     328    /**
     329     * Server and plugin checks for the dashboard's System status card.
     330     *
     331     * @return array[] Rows of label, value and status (ok|warn|bad).
     332     */
     333    private function get_system_status() {
     334        $memory      = wp_convert_hr_to_bytes((string) ini_get('memory_limit'));
     335        $max_exec    = (int) ini_get('max_execution_time');
     336        $php_version = PHP_VERSION;
     337
     338        $rows = [
     339            [
     340                'label'  => __('PHP version', 'ultimate-store-kit'),
     341                'value'  => $php_version,
     342                'status' => version_compare($php_version, '7.4', '>=') ? 'ok' : 'bad',
     343            ],
     344            [
     345                'label'  => __('Memory limit', 'ultimate-store-kit'),
     346                'value'  => $memory < 0 ? __('Unlimited', 'ultimate-store-kit') : (string) ini_get('memory_limit'),
     347                'status' => ($memory < 0 || $memory >= 256 * MB_IN_BYTES) ? 'ok' : 'warn',
     348            ],
     349            [
     350                'label'  => __('Max execution time', 'ultimate-store-kit'),
     351                'value'  => 0 === $max_exec ? __('Unlimited', 'ultimate-store-kit') : (string) $max_exec,
     352                'status' => (0 === $max_exec || $max_exec >= 90) ? 'ok' : 'warn',
     353            ],
     354            [
     355                'label'  => __('WooCommerce', 'ultimate-store-kit'),
     356                'value'  => defined('WC_VERSION') ? WC_VERSION : __('Not active', 'ultimate-store-kit'),
     357                'status' => defined('WC_VERSION') ? 'ok' : 'warn',
     358            ],
     359            [
     360                'label'  => __('Elementor', 'ultimate-store-kit'),
     361                'value'  => defined('ELEMENTOR_VERSION') ? ELEMENTOR_VERSION : __('Not active', 'ultimate-store-kit'),
     362                'status' => defined('ELEMENTOR_VERSION') ? 'ok' : 'bad',
     363            ],
     364        ];
     365
     366        return $rows;
     367    }
     368
     369    /**
     370     * The latest releases from readme.txt's changelog, for Recent activity.
     371     *
     372     * @param int $limit Number of releases.
     373     * @return array[] version, date, summary (first entry) and counts of added/fixed/updated entries.
     374     */
     375    private function get_recent_releases($limit = 5) {
     376        $readme = BDTUSK_PATH . 'readme.txt';
     377
     378        if (!is_readable($readme)) {
     379            return [];
     380        }
     381
     382        // phpcs:ignore WordPress.WP.AlternativeFunctions.file_get_contents_file_get_contents -- Local plugin file.
     383        $contents = (string) file_get_contents($readme);
     384        $start    = strpos($contents, '== Changelog ==');
     385
     386        if (false === $start) {
     387            return [];
     388        }
     389
     390        $releases = [];
     391        $current  = null;
     392
     393        foreach (preg_split('/\R/', substr($contents, $start)) as $line) {
     394            $line = trim($line);
     395
     396            if (preg_match('/^=\s*([0-9][0-9.]*)\s*(?:\[([^\]]*)\]|[-–]\s*(.*?))?\s*=$/u', $line, $m)) {
     397                if ($current) {
     398                    $releases[] = $current;
     399                    if (count($releases) >= $limit) {
     400                        $current = null;
     401                        break;
     402                    }
     403                }
     404                $current = [
     405                    'version' => $m[1],
     406                    'date'    => trim(!empty($m[2]) ? $m[2] : (isset($m[3]) ? $m[3] : '')),
     407                    'summary' => '',
     408                    'counts'  => ['added' => 0, 'fixed' => 0, 'updated' => 0],
     409                ];
     410                continue;
     411            }
     412
     413            if ($current && preg_match('/^\*\s*(Added|Fixed|Updated|Tweaked|Improved|Security)\s*:\s*(.+)$/i', $line, $m)) {
     414                $type = strtolower($m[1]);
     415                $type = in_array($type, ['added', 'fixed'], true) ? $type : 'updated';
     416                $current['counts'][$type]++;
     417
     418                if ('' === $current['summary']) {
     419                    $current['summary'] = wp_strip_all_tags($m[2]);
     420                }
     421            }
     422        }
     423
     424        if ($current) {
     425            $releases[] = $current;
     426        }
     427
     428        return array_slice($releases, 0, $limit);
     429    }
     430
    283431    public function get_saved_settings() {
    284432        return [
  • ultimate-store-kit/trunk/includes/Admin/ModuleService.php

    r3757742 r3790891  
    538538                ],
    539539                [
     540                    'name'         => 'ajax-search',
     541                    'label'        => esc_html__('Ajax Product Search', 'ultimate-store-kit'),
     542                    'type'         => 'checkbox',
     543                    'default'      => "on",
     544                    'widget_type'  => 'pro',
     545                    'plugin_name'  => 'woocommerce',
     546                    'plugin_path'  => 'woocommerce/woocommerce.php',
     547                    'content_type' => 'woocommerce others new',
     548                    'demo_url'     => '',
     549                    'video_url'    => '',
     550                ],
     551                [
    540552                    'name'         => 'product-image',
    541553                    'label'        => esc_html__('Product Image (Single)', 'ultimate-store-kit'),
    … …  
    824836                    'plugin_path'  => 'woocommerce/woocommerce.php',
    825837                    'content_type' => 'woocommerce others',
    826                     'demo_url'     => 'https://storekit.pro/demo/wishlist-products/',
     838                    'demo_url'     => 'https://storekit.pro/demo/wishlist-product/',
    827839                    'video_url'    => '',
    828840                ],
    … …  
    10441056                    'widget_type'  => 'free',
    10451057                    'content_type' => 'others new',
    1046                     'demo_url'     => 'https://storekit.pro/demo/mobile-menu/',
     1058                    'demo_url'     => '',
    10471059                    'video_url'    => '',
    10481060                ]
    … …  
    11241136                    'plugin_path'  => 'woocommerce/woocommerce.php',
    11251137                    'content_type' => 'woocommerce product',
    1126                     'demo_url'     => 'https://storekit.pro/demo/back-order/',
     1138                    'demo_url'     => '',
    11271139                    'video_url'    => '',
    11281140                    'parent'       => true,
    … …  
    11491161                    'plugin_path'  => 'woocommerce/woocommerce.php',
    11501162                    'content_type' => 'woocommerce product',
    1151                     'demo_url'     => 'https://storekit.pro/demo/pre-order/',
     1163                    'demo_url'     => '',
    11521164                    'video_url'    => '',
    11531165                    'parent'       => true,
  • ultimate-store-kit/trunk/includes/builder/builder-cpt.php

    r3757742 r3790891  
    8080                }
    8181
    82                 if ($template = get_post_meta($postId, Meta::TEMPLATE_TYPE, true)) {
     82                // Only release the type's default when it is this template; trashing
     83                // another (or a conditional) template of the type must not unassign it.
     84                if (($template = get_post_meta($postId, Meta::TEMPLATE_TYPE, true)) && (int) Meta::get_template_option($template) === (int) $postId) {
    8385                        Meta::delete_template_option($template);
    8486                }
    … …  
    171173                                break;
    172174                        case 'is_enabled':
     175                                if (Template_Conditions::has_conditions($post_id)) {
     176                                        echo Template_Conditions::is_active($post_id)
     177                                                ? esc_html__('Active', 'ultimate-store-kit')
     178                                                : esc_html__('Inactive', 'ultimate-store-kit');
     179                                        echo '<br><small>' . esc_html(Template_Conditions::describe($post_id)) . '</small>';
     180                                        break;
     181                                }
     182
    173183                                echo Builder_Template_Helper::getTemplateId($templateType) == $post_id
    174184                                        ? esc_html__('Active', 'ultimate-store-kit')
    … …  
    344354                $post_id = wp_insert_post($page_data);
    345355
    346                 if ($isEnabled == 1) {
     356                // A template with display conditions is not the type's default: it is
     357                // switched on and off through its own meta (see Template_Conditions).
     358                $conditions     = isset($data['usk_conditions']) && is_array($data['usk_conditions']) ? $data['usk_conditions'] : [];
     359                $is_conditional = $post_id && ! is_wp_error($post_id) && Template_Conditions::save($post_id, $type, $conditions, 1 == $isEnabled);
     360
     361                if ($is_conditional) {
     362                        // Handled above.
     363                } elseif ($isEnabled == 1) {
    347364                        Meta::update_template_option($type, $post_id);
    348365                } else {
    … …  
    403420                                $templateType    = isset($meta[Meta::TEMPLATE_TYPE][0]) ? $meta[Meta::TEMPLATE_TYPE][0] : '';
    404421                                $enabledTemplate = Meta::get_template_option($templateType);
     422                                $conditions      = Template_Conditions::get($templateData->ID);
     423                                $is_enabled      = $conditions
     424                                        ? Template_Conditions::is_active($templateData->ID)
     425                                        : (int) $enabledTemplate === (int) $templateData->ID;
    405426
    406427                                wp_send_json_success([
    407                                         'id'     => $templateData->ID,
    408                                         'name'   => $templateData->post_title,
    409                                         'type'   => $templateType,
    410                                         'status' => is_numeric($enabledTemplate) ? 1 : 0,
     428                                        'id'         => $templateData->ID,
     429                                        'name'       => $templateData->post_title,
     430                                        'type'       => $templateType,
     431                                        'status'     => $is_enabled ? 1 : 0,
     432                                        'conditions' => (object) $conditions,
     433                                        'products'   => (object) Template_Conditions::selected_products($templateData->ID),
    411434                                ]);
    412435                        }
    … …  
    427450                                wp_enqueue_style('ultimate-store-kit-builder', BDTUSK_ASSETS_URL . 'admin/others/css/ultimate-builder.css', [], BDTUSK_VER);
    428451                                wp_enqueue_script('ultimate-store-kit-builder', BDTUSK_ASSETS_URL . 'admin/others/js/ultimate-builder.js', ['jquery', 'wp-i18n'], BDTUSK_VER, true);
     452
     453                                // Display-condition pickers use WooCommerce's enhanced selects,
     454                                // which WooCommerce registers later on this same hook.
     455                                add_action('admin_enqueue_scripts', function () {
     456                                        if (wp_script_is('wc-enhanced-select', 'registered')) {
     457                                                wp_enqueue_script('wc-enhanced-select');
     458                                                wp_enqueue_style('woocommerce_admin_styles');
     459                                        }
     460                                }, 20);
    429461                                wp_set_script_translations('ultimate-store-kit-builder', 'ultimate-store-kit');
    430462
  • ultimate-store-kit/trunk/includes/builder/builder-integration.php

    r3777913 r3790891  
    1818use UltimateStoreKit\Base\Singleton;
    1919use UltimateStoreKit\Includes\Builder\Meta;
     20use UltimateStoreKit\Includes\Builder\Template_Conditions;
    2021use UltimateStoreKit\Includes\Controls\SelectInput\Dynamic_Select;
    2122
    … …  
    7273                $template_url = '';
    7374
     75                // Conditional templates preview on something they apply to.
     76                $conditions = Template_Conditions::get($post_id);
     77
    7478                // Check for product category first
    75                 if ($template_slug === 'product-category') {
    76                         $product_cats = get_terms([
     79                if ($template_slug === 'product-category' || ($template_slug === 'category' && $post_type === 'product')) {
     80                        $product_cats = !empty($conditions['product_cat']) ? [get_term($conditions['product_cat'][0], 'product_cat')] : get_terms([
    7781                                'taxonomy'   => 'product_cat',
    7882                                'hide_empty' => true,
    … …  
    8084                        ]);
    8185
    82                         if (!empty($product_cats) && !is_wp_error($product_cats)) {
    83                                 $template_url = get_term_link($product_cats[0]);
     86                        // get_terms() does not always return a zero-indexed list.
     87                        $preview_term = is_array($product_cats) ? reset($product_cats) : null;
     88
     89                        if ($preview_term && !is_wp_error($preview_term)) {
     90                                $template_url = get_term_link($preview_term);
    8491                        }
    8592                }
    8693
    8794                // Check for product tag
    88                 elseif ($template_slug === 'product-tag') {
    89                         $product_tags = get_terms([
     95                elseif ($template_slug === 'product-tag' || ($template_slug === 'tag' && $post_type === 'product')) {
     96                        $product_tags = !empty($conditions['product_tag']) ? [get_term($conditions['product_tag'][0], 'product_tag')] : get_terms([
    9097                                'taxonomy'   => 'product_tag',
    9198                                'hide_empty' => true,
    … …  
    93100                        ]);
    94101
    95                         if (!empty($product_tags) && !is_wp_error($product_tags)) {
    96                                 $template_url = get_term_link($product_tags[0]);
     102                        // get_terms() does not always return a zero-indexed list.
     103                        $preview_term = is_array($product_tags) ? reset($product_tags) : null;
     104
     105                        if ($preview_term && !is_wp_error($preview_term)) {
     106                                $template_url = get_term_link($preview_term);
    97107                        }
    98108                } elseif ($template_slug === 'shop' || $template_slug === 'archive') {
    … …  
    103113                        $sample_product = $page_settings_model->get_settings('usk_builder_sample_post_id');
    104114
     115                        if (empty($sample_product)) {
     116                                $sample_product = Template_Conditions::sample_product($post_id);
     117                        }
     118
    105119                        $template_url = !empty($sample_product) ?
    106120                                get_permalink($sample_product) :
    107121                                $this->get_default_product_url();
    108                 } elseif ($template_slug === 'cart') {
     122                } elseif ($template_slug === 'cart' || $template_slug === 'empty-cart') {
    109123                        $template_url = wc_get_cart_url();
    110124                } elseif ($template_slug === 'checkout') {
    … …  
    426440
    427441        /**
     442         * The builder template this request previews, once its nonce is verified.
     443         *
     444         * The nonce is bound to the specific template and to the user who
     445         * generated it, and the capability check makes sure a leaked preview URL
     446         * cannot be replayed by someone who may not edit the template.
     447         *
     448         * @return array{id: int, type: string}|null
     449         */
     450        protected function get_verified_preview_template() {
     451                // phpcs:disable WordPress.Security.NonceVerification.Recommended -- The nonce is verified right below.
     452                if (empty($_GET['preview']) || empty($_GET['ultimate_store_kit_template_id']) || empty($_GET['ultimate_store_kit_preview_nonce'])) {
     453                        return null;
     454                }
     455
     456                $usk_template_id = absint(wp_unslash($_GET['ultimate_store_kit_template_id']));
     457                $nonce           = sanitize_text_field(wp_unslash($_GET['ultimate_store_kit_preview_nonce']));
     458                // phpcs:enable WordPress.Security.NonceVerification.Recommended
     459
     460                $nonce_verified = $usk_template_id
     461                        && wp_verify_nonce($nonce, 'ultimate_store_kit_template_preview_' . $usk_template_id)
     462                        && current_user_can('edit_post', $usk_template_id);
     463
     464                if (! $nonce_verified || get_post_type($usk_template_id) !== Meta::POST_TYPE) {
     465                        return null;
     466                }
     467
     468                $template_type = get_post_meta($usk_template_id, Meta::TEMPLATE_TYPE, true);
     469
     470                return empty($template_type) ? null : ['id' => $usk_template_id, 'type' => (string) $template_type];
     471        }
     472
     473        /**
    428474         * Get Template Path ID
    429475         *
    … …  
    440486
    441487                // Handle template preview from URL parameters.
    442                 if (!empty($_GET['preview']) && !empty($_GET['ultimate_store_kit_template_id']) && !empty($_GET['ultimate_store_kit_preview_nonce'])) {
    443                         $usk_template_id = absint(wp_unslash($_GET['ultimate_store_kit_template_id']));
    444                         $nonce = sanitize_text_field(wp_unslash($_GET['ultimate_store_kit_preview_nonce']));
    445 
    446                         // The nonce is bound to the specific template and to the user who
    447                         // generated it, and the capability check makes sure a leaked preview
    448                         // URL cannot be replayed by someone who may not edit the template.
    449                         $nonce_verified = $usk_template_id
    450                                 && wp_verify_nonce($nonce, 'ultimate_store_kit_template_preview_' . $usk_template_id)
    451                                 && current_user_can('edit_post', $usk_template_id);
    452 
    453                         if ($nonce_verified && get_post_type($usk_template_id) === Meta::POST_TYPE) {
    454                                 $template_type = get_post_meta($usk_template_id, Meta::TEMPLATE_TYPE, true);
    455                                 if (!empty($template_type)) {
    456                                         $template_data = explode(Builder_Template_Helper::separator(), $template_type);
    457                                         if (count($template_data) >= 2 && $template_data[1] === $slug && ($postType === false || $template_data[0] === $postType)) {
    458                                                 $this->current_template_id = $usk_template_id;
    459                                                 $this->is_template_preview = true;
    460                                                 return $this->current_template_id;
    461                                         }
    462                                 }
    463                         }
    464                 }
    465 
    466                 // Regular template retrieval
    467                 $templateId = Builder_Template_Helper::getTemplate($slug, $postType);
     488                $preview = $this->get_verified_preview_template();
     489
     490                if ($preview) {
     491                        $template_data = explode(Builder_Template_Helper::separator(), $preview['type']);
     492                        if (count($template_data) >= 2 && $template_data[1] === $slug && ($postType === false || $template_data[0] === $postType)) {
     493                                $this->current_template_id = $preview['id'];
     494                                $this->is_template_preview = true;
     495                                return $this->current_template_id;
     496                        }
     497                }
     498
     499                // Regular template retrieval: a conditional template that matches this
     500                // product or term wins over the type's default template.
     501                $templateId = Template_Conditions::match($slug, $postType ? $postType : get_post_type());
     502
     503                if (! $templateId) {
     504                        $templateId = Builder_Template_Helper::getTemplate($slug, $postType);
     505                }
    468506                $this->current_template_id = apply_filters('ultimate-store-kit-builder/custom-shop-template', $templateId);
    469507
    … …  
    505543                }
    506544
    507                 $custom_template = $this->get_template_id( 'cart', 'product' );
     545                $custom_template = 0;
     546
     547                // An empty cart gets the Empty Cart template when one is assigned; its
     548                // editor preview shows it whatever the previewing user's cart holds.
     549                $preview        = $this->get_verified_preview_template();
     550                $previews_empty = $preview && 'product' . Builder_Template_Helper::separator() . 'empty-cart' === $preview['type'];
     551                $previews_cart  = $preview && 'product' . Builder_Template_Helper::separator() . 'cart' === $preview['type'];
     552
     553                if ( ! $previews_cart && ( $previews_empty || ( WC()->cart && WC()->cart->is_empty() ) ) ) {
     554                        $custom_template = $this->get_template_id( 'empty-cart', 'product' );
     555                } elseif ( ! $preview && Builder_Template_Helper::getTemplate( 'empty-cart', 'product' ) ) {
     556                        // WooCommerce's cart script swaps in its own empty-cart notice when the
     557                        // last item is removed without a page load; reload to show the template.
     558                        add_action( 'wp_enqueue_scripts', [ $this, 'reload_when_cart_emptied' ] );
     559                }
     560
     561                if ( ! $custom_template ) {
     562                        $this->current_template_id = null;
     563                        $custom_template           = $this->get_template_id( 'cart', 'product' );
     564                }
    508565
    509566                // Only take over the cart page when a Theme Builder cart template has
    … …  
    520577
    521578        /**
     579         * Reload the cart page once WooCommerce reports that it emptied the cart.
     580         *
     581         * The classic cart fires wc_cart_emptied; the Cart block has no event, so
     582         * its store is watched for the item count dropping to zero.
     583         */
     584        public function reload_when_cart_emptied() {
     585                wp_enqueue_script( 'jquery' );
     586                wp_add_inline_script(
     587                        'jquery',
     588                        'jQuery(function($){$(document.body).on("wc_cart_emptied",function(){window.location.reload();});});'
     589                        . 'window.addEventListener("load",function(){var d=window.wp&&window.wp.data;if(!d||!d.select("wc/store/cart")){return;}var had=false;d.subscribe(function(){var c=d.select("wc/store/cart").getCartData(),n=c&&c.items?c.items.length:0;if(had&&n===0){had=false;window.location.reload();return;}if(n>0){had=true;}});});'
     590                );
     591        }
     592
     593        /**
    522594         * Get default product URL with proper error checking
    523595         *
  • ultimate-store-kit/trunk/includes/builder/builder-template-helper.php

    r3684617 r3790891  
    3232                        'tag'            => 'Tag Page',
    3333                        'cart'           => 'Cart Page',
     34                        'empty-cart'     => 'Empty Cart Page',
    3435                        'checkout'       => 'Checkout',
    3536                        'order-received' => 'Order Received (Thank You Page)',
  • ultimate-store-kit/trunk/includes/builder/loading-builder.php

    r3650790 r3790891  
    55}
    66require_once 'meta.php';
     7require_once 'template-conditions.php';
    78require_once 'builder-cpt.php';
    89require_once 'cart-render.php';
  • ultimate-store-kit/trunk/includes/builder/modal/modal.php

    r3650790 r3790891  
    8484                                        <label for="fname"><?php esc_html_e( 'Name your template', 'ultimate-store-kit' ); ?></label>
    8585                                        <input type="text" name="template_name" id="template_name" placeholder="<?php echo esc_attr__( 'Enter template name', 'ultimate-store-kit' ); ?>">
     86                                        <?php
     87                                        $usk_condition_types = \UltimateStoreKit\Includes\Builder\Template_Conditions::supported_types();
     88                                        ?>
     89                                        <div class="usk-template-conditions" data-condition-types="<?php echo esc_attr( wp_json_encode( $usk_condition_types ) ); ?>" style="display: none">
     90                                                <div class="usk-form-title"><?php esc_html_e( 'Display Conditions (optional)', 'ultimate-store-kit' ); ?></div>
     91                                                <p class="usk-template-conditions-desc"><?php esc_html_e( 'Leave empty to use this template everywhere. Choose products, categories or tags to use it only there; it then takes priority over the default template of this type.', 'ultimate-store-kit' ); ?></p>
     92                                                <div class="usk-template-condition" data-condition="products">
     93                                                        <label for="usk_condition_products"><?php esc_html_e( 'Products', 'ultimate-store-kit' ); ?></label>
     94                                                        <select id="usk_condition_products" name="usk_conditions[products][]" class="wc-product-search" multiple="multiple" style="width: 100%" data-action="woocommerce_json_search_products" data-placeholder="<?php echo esc_attr__( 'Search for a product…', 'ultimate-store-kit' ); ?>"></select>
     95                                                </div>
     96                                                <?php
     97                                                foreach ( [
     98                                                        'product_cat' => __( 'Product Categories', 'ultimate-store-kit' ),
     99                                                        'product_tag' => __( 'Product Tags', 'ultimate-store-kit' ),
     100                                                ] as $usk_taxonomy => $usk_taxonomy_label ) :
     101                                                        $usk_terms = taxonomy_exists( $usk_taxonomy ) ? get_terms( [
     102                                                                'taxonomy'   => $usk_taxonomy,
     103                                                                'hide_empty' => false,
     104                                                                'number'     => 1000,
     105                                                                'orderby'    => 'name',
     106                                                        ] ) : [];
     107                                                        ?>
     108                                                        <div class="usk-template-condition" data-condition="<?php echo esc_attr( $usk_taxonomy ); ?>">
     109                                                                <label for="usk_condition_<?php echo esc_attr( $usk_taxonomy ); ?>"><?php echo esc_html( $usk_taxonomy_label ); ?></label>
     110                                                                <select id="usk_condition_<?php echo esc_attr( $usk_taxonomy ); ?>" name="usk_conditions[<?php echo esc_attr( $usk_taxonomy ); ?>][]" class="wc-enhanced-select" multiple="multiple" style="width: 100%" data-placeholder="<?php echo esc_attr__( 'Any', 'ultimate-store-kit' ); ?>">
     111                                                                        <?php if ( ! is_wp_error( $usk_terms ) ) : ?>
     112                                                                                <?php foreach ( $usk_terms as $usk_term ) : ?>
     113                                                                                        <option value="<?php echo esc_attr( $usk_term->term_id ); ?>"><?php echo esc_html( \UltimateStoreKit\Includes\Builder\Template_Conditions::term_label( $usk_term ) ); ?></option>
     114                                                                                <?php endforeach; ?>
     115                                                                        <?php endif; ?>
     116                                                                </select>
     117                                                        </div>
     118                                                <?php endforeach; ?>
     119                                        </div>
    86120                                        <div class="usk-template-status-switcher-wrap">
    87121                                                <input type="hidden" name="template_status" id="usk_template_status" value="1">
  • ultimate-store-kit/trunk/includes/modules-manager.php

    r3504294 r3790891  
    5454
    5555
    56         $direction = is_rtl() ? '.rtl' : '';
     56        // Widget stylesheets are built as <module>-rtl.css.
     57        $direction = is_rtl() ? '-rtl' : '';
    5758
    5859
    … …  
    6667            // register widgets css
    6768            if (ModuleService::has_module_style($module_id)) {
    68                 wp_register_style('usk-' . $module_id, BDTUSK_URL . 'assets/css/widgets/' . $module_id . $direction . '.css', [], BDTUSK_VER);
     69                wp_register_style('usk-' . $module_id, BDTUSK_URL . 'assets/css/widgets/' . $module_id . $direction . '.css', ultimate_store_kit_module_asset_depends('css', $module_id), BDTUSK_VER);
    6970            }
    7071            // register widget JS
    7172            if (ModuleService::has_module_script($module_id)) {
    72                 wp_register_script('usk-' . $module_id, BDTUSK_URL . 'assets/js/widgets/' . $module_id . '.js', ['jquery'], BDTUSK_VER, true);
     73                wp_register_script('usk-' . $module_id, BDTUSK_URL . 'assets/js/widgets/' . $module_id . '.js', ultimate_store_kit_module_asset_depends('js', $module_id), BDTUSK_VER, true);
    7374            }
    7475        }
  • ultimate-store-kit/trunk/includes/ultimate-store-kit-filters.php

    r2999889 r3790891  
    6262
    6363if (!function_exists('ultimate_store_kit_is_asset_optimization_enabled')) {
     64    /**
     65     * Whether Asset Optimization (Store Kit > Performance) is switched on.
     66     *
     67     * With it on, the site stylesheet and script load only on pages that show an
     68     * Ultimate Store Kit widget, and the widget CSS and JS files a page loads are
     69     * joined into combined files; see UltimateStoreKit\Includes\Asset_Combiner.
     70     *
     71     * @return bool
     72     */
    6473    function ultimate_store_kit_is_asset_optimization_enabled() {
    65         $asset_manager = ultimate_store_kit_option('asset-manager', 'ultimate_store_kit_other_settings', 'off');
    66         if ($asset_manager == 'on') {
    67             return apply_filters("ultimatestorekit/optimization/asset_manager", true);
    68         }
     74        $enabled = ('on' === ultimate_store_kit_option('asset-manager', 'ultimate_store_kit_other_settings', 'off'));
     75
     76        // phpcs:ignore WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedHooknameFound -- Established public hook name.
     77        return (bool) apply_filters('ultimatestorekit/optimization/asset_manager', $enabled);
    6978    }
    7079}
     80
     81if (!function_exists('ultimate_store_kit_module_asset_depends')) {
     82    /**
     83     * The shared handles every widget stylesheet or script depends on.
     84     *
     85     * The site stylesheet (`usk-site`) and script (`usk-core`, which carries
     86     * ultimate_store_kit_ajax_config) are what widget files build on. Every
     87     * `usk-<module>` handle depends on them, so a page that loads a widget gets
     88     * them in the right order; with Asset Optimization on, that is also the only
     89     * way they load. Ultimate Store Kit Pro registers its widgets the same way.
     90     *
     91     * @param string $type      'css' or 'js'.
     92     * @param string $module_id Module slug.
     93     * @return string[]
     94     */
     95    function ultimate_store_kit_module_asset_depends($type, $module_id = '') {
     96        $depends = 'js' === $type ? ['jquery', 'usk-core'] : ['usk-site'];
     97
     98        /**
     99         * Filters the handles an Ultimate Store Kit widget stylesheet or script depends on.
     100         *
     101         * @param string[] $depends   Handles the module file depends on.
     102         * @param string   $type      'css' or 'js'.
     103         * @param string   $module_id Module slug.
     104         */
     105        return (array) apply_filters('ultimate_store_kit/module/asset_depends', $depends, $type, $module_id);
     106    }
     107}
  • ultimate-store-kit/trunk/languages/ultimate-store-kit.pot

    r3777913 r3790891  
    33msgid ""
    44msgstr ""
    5 "Project-Id-Version: Ultimate Store Kit 4.0.2\n"
     5"Project-Id-Version: Ultimate Store Kit 4.1.0\n"
    66"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/ultimate-store-kit\n"
    77"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
    … …  
    1010"Content-Type: text/plain; charset=UTF-8\n"
    1111"Content-Transfer-Encoding: 8bit\n"
    12 "POT-Creation-Date: 2026-11-01T11:20:01+00:00\n"
     12"POT-Creation-Date: 2026-11-08T11:09:44+00:00\n"
    1313"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
    1414"X-Generator: WP-CLI 2.12.0\n"
    … …  
    2121#: includes/Admin/Dashboard.php:79
    2222#: assets/admin/admin.js:1
     23#: assets/admin/admin.js:9
    2324msgid "Ultimate Store Kit"
    2425msgstr ""
    … …  
    3132#. Description of the plugin
    3233#: ultimate-store-kit.php
    33 #: assets/admin/admin.js:1
     34#: assets/admin/admin.js:9
    3435msgid "Build online stores in WordPress with the powerful store builder addon for Elementor. Enjoy a wide range of customizations and easily build product grids, carousels, single product/page elements, checkouts and more."
    3536msgstr ""
    … …  
    6263msgstr ""
    6364
    64 #: includes/Admin/Dashboard.php:255
     65#: includes/Admin/Dashboard.php:265
    6566msgid "Install Plugin"
    6667msgstr ""
    6768
    68 #: includes/Admin/Dashboard.php:256
     69#: includes/Admin/Dashboard.php:266
    6970msgid "Install the required plugin first, then you can activate this feature."
    7071msgstr ""
    7172
    72 #: includes/Admin/Dashboard.php:260
     73#: includes/Admin/Dashboard.php:270
    7374msgid "Download Plugin"
    7475msgstr ""
    7576
    76 #: includes/Admin/Dashboard.php:266
     77#: includes/Admin/Dashboard.php:276
    7778msgid "Activate Plugin"
    7879msgstr ""
    7980
    80 #: includes/Admin/Dashboard.php:267
     81#: includes/Admin/Dashboard.php:277
    8182msgid "Activate the required plugin first, then you can activate this feature."
    8283msgstr ""
    8384
    84 #: includes/Admin/Dashboard.php:294
     85#: includes/Admin/Dashboard.php:340
     86msgid "PHP version"
     87msgstr ""
     88
     89#: includes/Admin/Dashboard.php:345
     90msgid "Memory limit"
     91msgstr ""
     92
     93#: includes/Admin/Dashboard.php:346
     94#: includes/Admin/Dashboard.php:351
     95msgid "Unlimited"
     96msgstr ""
     97
     98#: includes/Admin/Dashboard.php:350
     99msgid "Max execution time"
     100msgstr ""
     101
     102#: includes/Admin/Dashboard.php:355
     103#: assets/admin/admin.js:1
     104#: assets/admin/admin.js:6
     105msgid "WooCommerce"
     106msgstr ""
     107
     108#: includes/Admin/Dashboard.php:356
     109#: includes/Admin/Dashboard.php:361
     110msgid "Not active"
     111msgstr ""
     112
     113#: includes/Admin/Dashboard.php:360
     114msgid "Elementor"
     115msgstr ""
     116
     117#: includes/Admin/Dashboard.php:442
    85118#: modules/mini-cart/widgets/mini-cart.php:84
    86119#: modules/sub-category/widgets/sub-category.php:671
    … …  
    104137#: traits/global-widget-controls.php:2744
    105138#: traits/global-widget-template.php:253
     139#: assets/admin/admin.js:6
    106140msgid "New"
    107141msgstr ""
    … …  
    312346
    313347#: includes/Admin/ModuleService.php:541
     348msgid "Ajax Product Search"
     349msgstr ""
     350
     351#: includes/Admin/ModuleService.php:553
    314352msgid "Product Image (Single)"
    315353msgstr ""
    316354
    317 #: includes/Admin/ModuleService.php:553
     355#: includes/Admin/ModuleService.php:565
    318356#: modules/product-image-accordion/module.info.php:5
    319357#: modules/product-image-accordion/widgets/product-image-accordion.php:37
    … …  
    321359msgstr ""
    322360
    323 #: includes/Admin/ModuleService.php:565
     361#: includes/Admin/ModuleService.php:577
    324362#: modules/mini-cart/widgets/mini-cart.php:455
    325363#: modules/product-list/module.info.php:8
    … …  
    328366msgstr ""
    329367
    330 #: includes/Admin/ModuleService.php:577
     368#: includes/Admin/ModuleService.php:589
    331369msgid "Product Meta (Single)"
    332370msgstr ""
    333371
    334 #: includes/Admin/ModuleService.php:589
     372#: includes/Admin/ModuleService.php:601
    335373msgid "Product Price (Single)"
    336374msgstr ""
    337375
    338 #: includes/Admin/ModuleService.php:601
     376#: includes/Admin/ModuleService.php:613
    339377msgid "Product Rating (Single)"
    340378msgstr ""
    341379
    342 #: includes/Admin/ModuleService.php:613
     380#: includes/Admin/ModuleService.php:625
    343381msgid "Product Related (Single)"
    344382msgstr ""
    345383
    346 #: includes/Admin/ModuleService.php:625
     384#: includes/Admin/ModuleService.php:637
    347385#: modules/product-reviews/module.info.php:8
    348386#: modules/product-reviews/widgets/product-reviews.php:36
    … …  
    350388msgstr ""
    351389
    352 #: includes/Admin/ModuleService.php:637
     390#: includes/Admin/ModuleService.php:649
    353391#: modules/product-review-carousel/module.info.php:8
    354392#: modules/product-review-carousel/widgets/product-review-carousel.php:34
    … …  
    356394msgstr ""
    357395
    358 #: includes/Admin/ModuleService.php:649
     396#: includes/Admin/ModuleService.php:661
    359397msgid "Product Stock (Single)"
    360398msgstr ""
    361399
    362 #: includes/Admin/ModuleService.php:661
     400#: includes/Admin/ModuleService.php:673
    363401#: modules/product-table/module.info.php:8
    364402#: modules/product-table/widgets/product-table.php:40
    … …  
    366404msgstr ""
    367405
    368 #: includes/Admin/ModuleService.php:673
     406#: includes/Admin/ModuleService.php:685
    369407msgid "Product Tabs (Single)"
    370408msgstr ""
    371409
    372 #: includes/Admin/ModuleService.php:685
     410#: includes/Admin/ModuleService.php:697
    373411msgid "Product Title (Single)"
    374412msgstr ""
    375413
    376 #: includes/Admin/ModuleService.php:697
     414#: includes/Admin/ModuleService.php:709
    377415#: modules/shiny-grid/module.info.php:8
    378416#: modules/shiny-grid/widgets/shiny-grid.php:33
    … …  
    380418msgstr ""
    381419
    382 #: includes/Admin/ModuleService.php:709
     420#: includes/Admin/ModuleService.php:721
    383421#: modules/florence-carousel/module.info.php:8
    384422#: modules/shiny-carousel/module.info.php:8
    … …  
    387425msgstr ""
    388426
    389 #: includes/Admin/ModuleService.php:721
     427#: includes/Admin/ModuleService.php:733
    390428#: modules/showcase-slider/module.info.php:8
    391429#: modules/showcase-slider/widgets/showcase-slider.php:41
    … …  
    393431msgstr ""
    394432
    395 #: includes/Admin/ModuleService.php:734
     433#: includes/Admin/ModuleService.php:746
    396434#: modules/sub-category-carousel/widgets/sub-category-carousel.php:687
    397435#: modules/sub-category/module.info.php:8
    … …  
    401439msgstr ""
    402440
    403 #: includes/Admin/ModuleService.php:746
     441#: includes/Admin/ModuleService.php:758
    404442#: modules/sub-category-carousel/module.info.php:8
    405443#: modules/sub-category-carousel/widgets/sub-category-carousel.php:36
    … …  
    407445msgstr ""
    408446
    409 #: includes/Admin/ModuleService.php:759
     447#: includes/Admin/ModuleService.php:771
    410448msgid "Thank You Order"
    411449msgstr ""
    412450
    413 #: includes/Admin/ModuleService.php:771
     451#: includes/Admin/ModuleService.php:783
    414452msgid "Thank You Order Details"
    415453msgstr ""
    416454
    417 #: includes/Admin/ModuleService.php:783
     455#: includes/Admin/ModuleService.php:795
    418456msgid "Thank You Order Customer Address"
    419457msgstr ""
    420458
    421 #: includes/Admin/ModuleService.php:795
     459#: includes/Admin/ModuleService.php:807
    422460msgid "Thank You Order Confirmation"
    423461msgstr ""
    424462
    425 #: includes/Admin/ModuleService.php:807
     463#: includes/Admin/ModuleService.php:819
    426464msgid "Wishlist Button"
    427465msgstr ""
    428466
    429 #: includes/Admin/ModuleService.php:819
     467#: includes/Admin/ModuleService.php:831
    430468msgid "Wishlist Products"
    431469msgstr ""
    432470
    433 #: includes/Admin/ModuleService.php:831
     471#: includes/Admin/ModuleService.php:843
    434472#: modules/up-sells/module.info.php:5
    435473#: modules/up-sells/widgets/up-sells.php:26
    … …  
    438476msgstr ""
    439477
    440 #: includes/Admin/ModuleService.php:845
     478#: includes/Admin/ModuleService.php:857
    441479#: modules/edd-category-grid/module.info.php:5
    442480#: modules/edd-category-grid/widgets/edd-category-grid.php:31
    … …  
    444482msgstr ""
    445483
    446 #: includes/Admin/ModuleService.php:857
     484#: includes/Admin/ModuleService.php:869
    447485#: modules/edd-category-carousel/module.info.php:5
    448486#: modules/edd-category-carousel/widgets/edd-category-carousel.php:33
    … …  
    450488msgstr ""
    451489
    452 #: includes/Admin/ModuleService.php:869
     490#: includes/Admin/ModuleService.php:881
    453491#: modules/edd-beauty-grid/module.info.php:8
    454492#: modules/edd-beauty-grid/widgets/edd-beauty-grid.php:32
    … …  
    456494msgstr ""
    457495
    458 #: includes/Admin/ModuleService.php:881
     496#: includes/Admin/ModuleService.php:893
    459497#: modules/edd-beauty-carousel/module.info.php:8
    460498#: modules/edd-beauty-carousel/widgets/edd-beauty-carousel.php:33
    … …  
    462500msgstr ""
    463501
    464 #: includes/Admin/ModuleService.php:893
     502#: includes/Admin/ModuleService.php:905
    465503#: modules/edd-classic-grid/module.info.php:8
    466504#: modules/edd-classic-grid/widgets/edd-classic-grid.php:33
    … …  
    468506msgstr ""
    469507
    470 #: includes/Admin/ModuleService.php:905
     508#: includes/Admin/ModuleService.php:917
    471509#: modules/edd-classic-carousel/module.info.php:8
    472510#: modules/edd-classic-carousel/widgets/edd-classic-carousel.php:33
    … …  
    474512msgstr ""
    475513
    476 #: includes/Admin/ModuleService.php:917
     514#: includes/Admin/ModuleService.php:929
    477515msgid "EDD Product Review"
    478516msgstr ""
    479517
    480 #: includes/Admin/ModuleService.php:929
     518#: includes/Admin/ModuleService.php:941
    481519msgid "EDD Product Review Carousel"
    482520msgstr ""
    483521
    484 #: includes/Admin/ModuleService.php:941
     522#: includes/Admin/ModuleService.php:953
    485523#: modules/edd-standard-grid/module.info.php:8
    486524#: modules/edd-standard-grid/widgets/edd-standard-grid.php:31
    … …  
    488526msgstr ""
    489527
    490 #: includes/Admin/ModuleService.php:953
     528#: includes/Admin/ModuleService.php:965
    491529#: modules/edd-standard-carousel/module.info.php:8
    492530#: modules/edd-standard-carousel/widgets/edd-standard-carousel.php:33
    … …  
    494532msgstr ""
    495533
    496 #: includes/Admin/ModuleService.php:965
     534#: includes/Admin/ModuleService.php:977
    497535#: modules/edd-trendy-grid/module.info.php:8
    498536#: modules/edd-trendy-grid/widgets/edd-trendy-grid.php:31
    … …  
    500538msgstr ""
    501539
    502 #: includes/Admin/ModuleService.php:977
     540#: includes/Admin/ModuleService.php:989
    503541#: modules/edd-trendy-carousel/module.info.php:8
    504542#: modules/edd-trendy-carousel/widgets/edd-trendy-carousel.php:33
    … …  
    506544msgstr ""
    507545
    508 #: includes/Admin/ModuleService.php:991
     546#: includes/Admin/ModuleService.php:1003
    509547#: modules/brand-grid/module.info.php:5
    510548#: modules/brand-grid/widgets/brand-grid.php:28
    … …  
    512550msgstr ""
    513551
    514 #: includes/Admin/ModuleService.php:1001
     552#: includes/Admin/ModuleService.php:1013
    515553#: modules/brand-carousel/module.info.php:5
    516554#: modules/brand-carousel/widgets/brand-carousel.php:35
    … …  
    518556msgstr ""
    519557
    520 #: includes/Admin/ModuleService.php:1011
     558#: includes/Admin/ModuleService.php:1023
    521559#: modules/featured-box/module.info.php:5
    522560#: modules/featured-box/widgets/featured-box.php:27
    … …  
    525563msgstr ""
    526564
    527 #: includes/Admin/ModuleService.php:1021
     565#: includes/Admin/ModuleService.php:1033
    528566#: modules/qr-code/module.info.php:8
    529567#: modules/qr-code/widgets/qr-code.php:26
    530 #: modules/qr-code/widgets/qr-code.php:66
     568#: modules/qr-code/widgets/qr-code.php:67
    531569msgid "QR Code"
    532570msgstr ""
    533571
    534 #: includes/Admin/ModuleService.php:1031
     572#: includes/Admin/ModuleService.php:1043
    535573msgid "Marquee"
    536574msgstr ""
    537575
    538 #: includes/Admin/ModuleService.php:1041
     576#: includes/Admin/ModuleService.php:1053
    539577#: modules/mobile-menu/module.info.php:5
    540578#: modules/mobile-menu/widgets/mobile-menu.php:34
    … …  
    542580msgstr ""
    543581
    544 #: includes/Admin/ModuleService.php:1054
     582#: includes/Admin/ModuleService.php:1066
    545583msgid "Flash Sale Countdown"
    546584msgstr ""
    547585
    548 #: includes/Admin/ModuleService.php:1060
    549 #: includes/Admin/ModuleService.php:1119
    550 #: includes/Admin/ModuleService.php:1144
     586#: includes/Admin/ModuleService.php:1072
     587#: includes/Admin/ModuleService.php:1131
     588#: includes/Admin/ModuleService.php:1156
    551589msgid "Enable"
    552590msgstr ""
    553591
    554 #: includes/Admin/ModuleService.php:1073
     592#: includes/Admin/ModuleService.php:1085
    555593msgid "Single Product Position"
    556594msgstr ""
    557595
    558 #: includes/Admin/ModuleService.php:1077
    559 #: includes/Admin/ModuleService.php:1099
     596#: includes/Admin/ModuleService.php:1089
     597#: includes/Admin/ModuleService.php:1111
    560598msgid "Before Price"
    561599msgstr ""
    562600
    563 #: includes/Admin/ModuleService.php:1078
    564 #: includes/Admin/ModuleService.php:1100
     601#: includes/Admin/ModuleService.php:1090
     602#: includes/Admin/ModuleService.php:1112
    565603msgid "After Price"
    566604msgstr ""
    567605
    568 #: includes/Admin/ModuleService.php:1079
     606#: includes/Admin/ModuleService.php:1091
     607#: includes/Admin/ModuleService.php:1113
     608msgid "Before Add to Cart"
     609msgstr ""
     610
     611#: includes/Admin/ModuleService.php:1092
     612#: includes/Admin/ModuleService.php:1114
     613msgid "After Add to Cart"
     614msgstr ""
     615
     616#: includes/Admin/ModuleService.php:1097
     617msgid "Show on Shop / Archive"
     618msgstr ""
     619
    569620#: includes/Admin/ModuleService.php:1101
    570 msgid "Before Add to Cart"
    571 msgstr ""
    572 
    573 #: includes/Admin/ModuleService.php:1080
    574 #: includes/Admin/ModuleService.php:1102
    575 msgid "After Add to Cart"
    576 msgstr ""
    577 
    578 #: includes/Admin/ModuleService.php:1085
    579 msgid "Show on Shop / Archive"
    580 msgstr ""
    581 
    582 #: includes/Admin/ModuleService.php:1089
    583621#: includes/modal/modal-controls.php:158
    584622#: modules/mentor-slider/widgets/mentor-slider.php:261
    … …  
    595633msgstr ""
    596634
    597 #: includes/Admin/ModuleService.php:1090
     635#: includes/Admin/ModuleService.php:1102
    598636#: includes/modal/modal-controls.php:159
    599637#: modules/mentor-slider/widgets/mentor-slider.php:262
    … …  
    610648msgstr ""
    611649
    612 #: includes/Admin/ModuleService.php:1095
     650#: includes/Admin/ModuleService.php:1107
    613651msgid "Archive Position"
    614652msgstr ""
    615653
    616 #: includes/Admin/ModuleService.php:1113
     654#: includes/Admin/ModuleService.php:1125
    617655msgid "Back Order"
    618656msgstr ""
    619657
    620 #: includes/Admin/ModuleService.php:1138
     658#: includes/Admin/ModuleService.php:1150
    621659msgid "Pre-Order"
    622660msgstr ""
    623661
    624 #: includes/API/Settings.php:64
    625 #: assets/admin/admin.js:1
     662#: includes/API/OtherPlugins.php:116
     663msgid "This plugin cannot be installed from here."
     664msgstr ""
     665
     666#: includes/API/OtherPlugins.php:120
     667msgid "The plugin is already installed."
     668msgstr ""
     669
     670#: includes/API/OtherPlugins.php:147
     671msgid "The plugin could not be installed. Check that WordPress can write to the plugins folder."
     672msgstr ""
     673
     674#. translators: %s: plugin name.
     675#: includes/API/OtherPlugins.php:155
     676#, php-format
     677msgid "%s installed."
     678msgstr ""
     679
     680#: includes/API/Settings.php:79
     681#: assets/admin/admin.js:9
    626682msgid "Settings saved successfully."
     683msgstr ""
     684
     685#: includes/API/Settings.php:91
     686msgid "Combined files cleared. Pages rebuild them on their next visit."
    627687msgstr ""
    628688
    … …  
    651711msgstr ""
    652712
    653 #: includes/builder/builder-cpt.php:103
     713#: includes/builder/builder-cpt.php:105
    654714msgid "Edit with Gutenberg"
    655715msgstr ""
    656716
    657 #: includes/builder/builder-cpt.php:118
    658 #: includes/builder/builder-cpt.php:132
     717#: includes/builder/builder-cpt.php:120
     718#: includes/builder/builder-cpt.php:134
    659719msgid "Edit with Elementor"
    660720msgstr ""
    661721
    662 #: includes/builder/builder-cpt.php:140
     722#: includes/builder/builder-cpt.php:142
    663723msgid "Edit"
    664724msgstr ""
    665725
    666 #: includes/builder/builder-cpt.php:152
     726#: includes/builder/builder-cpt.php:154
    667727#: traits/global-terms-query-controls.php:22
    668728msgid "Type"
    669729msgstr ""
    670730
    671 #: includes/builder/builder-cpt.php:153
     731#: includes/builder/builder-cpt.php:155
    672732#: modules/product-review-carousel/widgets/product-review-carousel.php:202
    673733#: modules/product-reviews/widgets/product-reviews.php:188
     734#: assets/admin/admin.js:5
    674735msgid "Status"
    675736msgstr ""
    676737
    677 #: includes/builder/builder-cpt.php:174
    678 #: includes/builder/modal/modal.php:91
     738#: includes/builder/builder-cpt.php:177
     739#: includes/builder/builder-cpt.php:184
     740#: includes/builder/modal/modal.php:125
    679741#: includes/modal/modal-controls.php:400
    680742#: modules/heaven-slider/widgets/heaven-slider.php:1024
    … …  
    694756#: traits/global-widget-controls.php:2383
    695757#: traits/global-widget-controls.php:4525
    696 #: assets/admin/admin.js:1
     758#: assets/admin/admin.js:3
     759#: assets/admin/admin.js:5
     760#: assets/admin/admin.js:6
    697761#: assets/admin/others/js/ultimate-builder.js:1
    698762msgid "Active"
    699763msgstr ""
    700764
    701 #: includes/builder/builder-cpt.php:175
     765#: includes/builder/builder-cpt.php:178
     766#: includes/builder/builder-cpt.php:185
    702767#: assets/admin/others/js/ultimate-builder.js:1
    703768msgid "Inactive"
    704769msgstr ""
    705770
    706 #: includes/builder/builder-cpt.php:193
     771#: includes/builder/builder-cpt.php:203
    707772msgid "Template Type "
    708773msgstr ""
    709774
    710 #: includes/builder/builder-cpt.php:444
    711 #: includes/builder/builder-cpt.php:445
     775#: includes/builder/builder-cpt.php:476
     776#: includes/builder/builder-cpt.php:477
     777#: assets/admin/admin.js:1
     778#: assets/admin/admin.js:3
     779#: assets/admin/admin.js:9
    712780msgid "Template Builder"
    713781msgstr ""
    714782
    715 #: includes/builder/builder-cpt.php:453
     783#: includes/builder/builder-cpt.php:485
    716784msgctxt "post type general name"
    717785msgid "Template Items"
    718786msgstr ""
    719787
    720 #: includes/builder/builder-cpt.php:454
     788#: includes/builder/builder-cpt.php:486
    721789msgctxt "post type singular name"
    722790msgid "Template Item"
    723791msgstr ""
    724792
    725 #: includes/builder/builder-cpt.php:455
     793#: includes/builder/builder-cpt.php:487
    726794msgctxt "admin menu"
    727795msgid "Template Manager"
    728796msgstr ""
    729797
    730 #: includes/builder/builder-cpt.php:456
     798#: includes/builder/builder-cpt.php:488
    731799msgctxt "add new on admin bar"
    732800msgid "Template Manager"
    733801msgstr ""
    734802
    735 #: includes/builder/builder-cpt.php:457
     803#: includes/builder/builder-cpt.php:489
    736804msgctxt "template_manager"
    737805msgid "Add New"
    738806msgstr ""
    739807
    740 #: includes/builder/builder-cpt.php:458
     808#: includes/builder/builder-cpt.php:490
    741809msgid "Add New Template"
    742810msgstr ""
    743811
    744 #: includes/builder/builder-cpt.php:459
     812#: includes/builder/builder-cpt.php:491
    745813#: includes/builder/modal/modal.php:8
    746814msgid "New Template"
    747815msgstr ""
    748816
    749 #: includes/builder/builder-cpt.php:460
     817#: includes/builder/builder-cpt.php:492
    750818#: includes/helper.php:476
    751819msgid "Edit Template"
    752820msgstr ""
    753821
    754 #: includes/builder/builder-cpt.php:461
     822#: includes/builder/builder-cpt.php:493
    755823msgid "View Template"
    756824msgstr ""
    757825
    758 #: includes/builder/builder-cpt.php:462
    759 #: assets/admin/admin.js:1
     826#: includes/builder/builder-cpt.php:494
    760827msgid "All Templates"
    761828msgstr ""
    762829
    763 #: includes/builder/builder-cpt.php:463
     830#: includes/builder/builder-cpt.php:495
    764831msgid "Search Templates"
    765832msgstr ""
    766833
    767 #: includes/builder/builder-cpt.php:464
     834#: includes/builder/builder-cpt.php:496
    768835msgid "Parent Template:"
    769836msgstr ""
    770837
    771 #: includes/builder/builder-cpt.php:465
     838#: includes/builder/builder-cpt.php:497
    772839msgid "No Template found."
    773840msgstr ""
    774841
    775 #: includes/builder/builder-cpt.php:466
     842#: includes/builder/builder-cpt.php:498
    776843msgid "No Template found in Trash."
    777844msgstr ""
    778845
    779 #: includes/builder/builder-cpt.php:471
     846#: includes/builder/builder-cpt.php:503
    780847msgid "Description."
    781848msgstr ""
    782849
    783 #: includes/builder/builder-integration.php:200
     850#: includes/builder/builder-integration.php:214
    784851msgid "Builder Settings"
    785852msgstr ""
    786853
    787 #: includes/builder/builder-integration.php:208
     854#: includes/builder/builder-integration.php:222
    788855msgid "Builder Post"
    789856msgstr ""
    790857
    791 #: includes/builder/builder-integration.php:222
    792 #: includes/builder/builder-integration.php:225
     858#: includes/builder/builder-integration.php:236
     859#: includes/builder/builder-integration.php:239
    793860msgid "Apply & Preview"
    794861msgstr ""
    … …  
    824891msgstr ""
    825892
     893#: includes/builder/modal/modal.php:90
     894msgid "Display Conditions (optional)"
     895msgstr ""
     896
     897#: includes/builder/modal/modal.php:91
     898msgid "Leave empty to use this template everywhere. Choose products, categories or tags to use it only there; it then takes priority over the default template of this type."
     899msgstr ""
     900
    826901#: includes/builder/modal/modal.php:93
     902#: modules/product-category-carousel/widgets/product-category-carousel.php:1059
     903#: modules/product-category/widgets/product-category.php:1089
     904msgid "Products"
     905msgstr ""
     906
     907#: includes/builder/modal/modal.php:94
     908msgid "Search for a product…"
     909msgstr ""
     910
     911#: includes/builder/modal/modal.php:98
     912msgid "Product Categories"
     913msgstr ""
     914
     915#: includes/builder/modal/modal.php:99
     916msgid "Product Tags"
     917msgstr ""
     918
     919#: includes/builder/modal/modal.php:110
     920msgid "Any"
     921msgstr ""
     922
     923#: includes/builder/modal/modal.php:127
    827924#: assets/admin/others/js/ultimate-builder.js:1
    828925msgid "Create Template"
     926msgstr ""
     927
     928#. translators: %s: Comma-separated product names.
     929#: includes/builder/template-conditions.php:345
     930#, php-format
     931msgid "Products: %s"
     932msgstr ""
     933
     934#: includes/builder/template-conditions.php:350
     935#, php-format
     936msgid "Categories: %s"
     937msgstr ""
     938
     939#: includes/builder/template-conditions.php:350
     940#, php-format
     941msgid "Tags: %s"
    829942msgstr ""
    830943
    … …  
    9711084#: modules/product-reviews/widgets/product-reviews.php:194
    9721085#: traits/global-terms-query-controls.php:26
    973 #: assets/admin/admin.js:1
     1086#: assets/admin/admin.js:3
     1087#: assets/admin/admin.js:6
    9741088msgid "All"
    9751089msgstr ""
    … …  
    10431157#: modules/mobile-menu/widgets/mobile-menu.php:309
    10441158#: modules/product-table/widgets/product-table.php:203
    1045 #: assets/admin/admin.js:1
     1159#: assets/admin/admin.js:9
    10461160msgid "Default"
    10471161msgstr ""
    … …  
    11791293#: modules/product-reviews/widgets/product-reviews.php:226
    11801294#: modules/product-reviews/widgets/product-reviews.php:512
    1181 #: assets/admin/admin.js:1
     1295#: assets/admin/admin.js:9
    11821296msgid "Author"
    11831297msgstr ""
    … …  
    17391853#: modules/product-table/widgets/product-table.php:96
    17401854#: modules/product-table/widgets/product-table.php:121
    1741 #: modules/qr-code/widgets/qr-code.php:120
     1855#: modules/qr-code/widgets/qr-code.php:121
    17421856#: modules/sub-category-carousel/widgets/sub-category-carousel.php:187
    17431857#: modules/sub-category-carousel/widgets/sub-category-carousel.php:580
    … …  
    38743988#: modules/product-table/widgets/product-table.php:92
    38753989#: modules/product-table/widgets/product-table.php:117
    3876 #: modules/qr-code/widgets/qr-code.php:116
     3990#: modules/qr-code/widgets/qr-code.php:117
    38773991#: modules/sub-category-carousel/widgets/sub-category-carousel.php:183
    38783992#: modules/sub-category-carousel/widgets/sub-category-carousel.php:576
    … …  
    39094023#: modules/product-table/widgets/product-table.php:100
    39104024#: modules/product-table/widgets/product-table.php:125
    3911 #: modules/qr-code/widgets/qr-code.php:124
     4025#: modules/qr-code/widgets/qr-code.php:125
    39124026#: modules/sub-category-carousel/widgets/sub-category-carousel.php:191
    39134027#: modules/sub-category-carousel/widgets/sub-category-carousel.php:584
    … …  
    43074421#: traits/global-widget-controls.php:2805
    43084422#: traits/global-widget-controls.php:2965
    4309 #: assets/admin/admin.js:1
    43104423msgid "Navigation"
    43114424msgstr ""
    … …  
    52925405#: modules/product-table/widgets/product-table.php:1520
    52935406#: modules/product-table/widgets/product-table.php:2061
    5294 #: modules/qr-code/widgets/qr-code.php:96
     5407#: modules/qr-code/widgets/qr-code.php:97
    52955408msgid "Quantity"
    52965409msgstr ""
    … …  
    56035716
    56045717#: modules/page-order/widgets/page-order.php:1166
    5605 #: assets/admin/admin.js:1
    56065718msgid "Total:"
    56075719msgstr ""
    … …  
    57595871#: modules/product-category/widgets/product-category.php:834
    57605872msgid "Count / Icon"
    5761 msgstr ""
    5762 
    5763 #: modules/product-category-carousel/widgets/product-category-carousel.php:1059
    5764 #: modules/product-category/widgets/product-category.php:1089
    5765 msgid "Products"
    57665873msgstr ""
    57675874
    … …  
    58845991
    58855992#: modules/product-table/widgets/product-table.php:138
     5993#: assets/admin/admin.js:1
    58865994msgid "Search"
    58875995msgstr ""
    … …  
    60486156msgstr ""
    60496157
    6050 #: modules/qr-code/widgets/qr-code.php:74
     6158#: modules/qr-code/widgets/qr-code.php:75
    60516159msgid "Dimension Size"
    60526160msgstr ""
    60536161
    6054 #: modules/qr-code/widgets/qr-code.php:86
     6162#: modules/qr-code/widgets/qr-code.php:87
    60556163msgid "Enable Add to Cart URL"
    60566164msgstr ""
    60576165
    6058 #: modules/qr-code/widgets/qr-code.php:112
     6166#: modules/qr-code/widgets/qr-code.php:113
    60596167msgid "Alignement"
    60606168msgstr ""
    … …  
    65346642msgstr ""
    65356643
    6536 #: traits/global-widget-template.php:516
     6644#: traits/global-widget-template.php:526
    65376645msgid "% off"
    65386646msgstr ""
    … …  
    65716679
    65726680#: assets/admin/admin.js:1
    6573 msgid "Build high-converting WooCommerce stores with Elementor widgets & presets."
     6681msgid "License active"
    65746682msgstr ""
    65756683
    65766684#: assets/admin/admin.js:1
    6577 msgid "Open menu"
     6685msgid "License inactive"
    65786686msgstr ""
    65796687
    65806688#: assets/admin/admin.js:1
     6689msgid "Free version"
     6690msgstr ""
     6691
     6692#: assets/admin/admin.js:1
     6693#: assets/admin/admin.js:3
     6694#: assets/admin/admin.js:6
     6695#: assets/admin/admin.js:9
     6696msgid "Widgets"
     6697msgstr ""
     6698
     6699#: assets/admin/admin.js:1
     6700msgid "Search widgets, modules and pages…"
     6701msgstr ""
     6702
     6703#: assets/admin/admin.js:1
     6704msgid "Nothing found."
     6705msgstr ""
     6706
     6707#: assets/admin/admin.js:1
     6708msgid "Docs"
     6709msgstr ""
     6710
     6711#: assets/admin/admin.js:1
     6712#: assets/admin/admin.js:3
     6713#: assets/admin/admin.js:9
    65816714msgid "Get Pro"
    65826715msgstr ""
    65836716
    65846717#: assets/admin/admin.js:1
    6585 msgid "Help & Support"
     6718msgid "More"
    65866719msgstr ""
    65876720
    … …  
    66676800
    66686801#: assets/admin/admin.js:1
     6802#: assets/admin/admin.js:9
    66696803msgid "Dashboard"
    66706804msgstr ""
    66716805
    66726806#: assets/admin/admin.js:1
    6673 msgid "Widgets"
     6807#: assets/admin/admin.js:6
     6808msgid "EDD"
    66746809msgstr ""
    66756810
    66766811#: assets/admin/admin.js:1
    6677 msgid "WooCommerce"
     6812#: assets/admin/admin.js:6
     6813msgid "Others"
    66786814msgstr ""
    66796815
    66806816#: assets/admin/admin.js:1
    6681 msgid "EDD"
     6817#: assets/admin/admin.js:3
     6818#: assets/admin/admin.js:9
     6819msgid "Modules"
    66826820msgstr ""
    66836821
    66846822#: assets/admin/admin.js:1
    6685 msgid "Others"
     6823#: assets/admin/admin.js:3
     6824#: assets/admin/admin.js:9
     6825msgid "Support"
    66866826msgstr ""
    66876827
    66886828#: assets/admin/admin.js:1
    6689 msgid "Modules"
    6690 msgstr ""
    6691 
    6692 #: assets/admin/admin.js:1
    6693 msgid "Support"
    6694 msgstr ""
    6695 
    6696 #: assets/admin/admin.js:1
     6829#: assets/admin/admin.js:9
    66976830msgid "About & Info"
    66986831msgstr ""
    66996832
    6700 #: assets/admin/admin.js:1
    6701 msgid "Coming soon"
    6702 msgstr ""
    6703 
    6704 #: assets/admin/admin.js:1
    6705 msgid "New items planned for upcoming updates:"
    6706 msgstr ""
    6707 
    6708 #: assets/admin/admin.js:1
    6709 msgid "7+ WooCommerce widgets"
    6710 msgstr ""
    6711 
    6712 #: assets/admin/admin.js:1
    6713 msgid "Template-based presets"
    6714 msgstr ""
    6715 
    6716 #: assets/admin/admin.js:1
    6717 msgid "Performance-focused improvements"
    6718 msgstr ""
    6719 
    6720 #: assets/admin/admin.js:1
    6721 msgid "See roadmap"
    6722 msgstr ""
    6723 
    6724 #: assets/admin/admin.js:1
    6725 msgid "Close menu"
    6726 msgstr ""
    6727 
    6728 #: assets/admin/admin.js:1
    6729 msgid "Active:"
    6730 msgstr ""
    6731 
    6732 #: assets/admin/admin.js:1
    6733 msgid "Inactive:"
    6734 msgstr ""
    6735 
    6736 #: assets/admin/admin.js:1
    6737 msgid "All Widgets"
    6738 msgstr ""
    6739 
    6740 #: assets/admin/admin.js:1
    6741 msgid "Other"
    6742 msgstr ""
    6743 
    6744 #: assets/admin/admin.js:1
    6745 msgid "Support And Feedback"
    6746 msgstr ""
    6747 
    6748 #: assets/admin/admin.js:1
    6749 msgid "Feeling like to consult with an expert? Take live Chat support immediately from"
    6750 msgstr ""
    6751 
    6752 #: assets/admin/admin.js:1
    6753 msgid "We are always ready to help you 24/7."
    6754 msgstr ""
    6755 
    6756 #: assets/admin/admin.js:1
    6757 msgid "Or if you're facing technical issues with our plugin, then please create a support ticket"
    6758 msgstr ""
    6759 
    6760 #: assets/admin/admin.js:1
     6833#. translators: 1: enabled widgets, 2: all widgets.
     6834#: assets/admin/admin.js:2
     6835#, js-format
     6836msgid "%1$d of %2$d enabled"
     6837msgstr ""
     6838
     6839#: assets/admin/admin.js:2
     6840msgid "Current"
     6841msgstr ""
     6842
     6843#. translators: %d: count.
     6844#: assets/admin/admin.js:2
     6845#, js-format
     6846msgid "%d added"
     6847msgstr ""
     6848
     6849#. translators: %d: count.
     6850#: assets/admin/admin.js:2
     6851#, js-format
     6852msgid "%d fixed"
     6853msgstr ""
     6854
     6855#. translators: %d: count.
     6856#: assets/admin/admin.js:2
     6857#, js-format
     6858msgid "%d updated"
     6859msgstr ""
     6860
     6861#: assets/admin/admin.js:2
     6862msgid "Optimize asset loading"
     6863msgstr ""
     6864
     6865#: assets/admin/admin.js:2
     6866msgid "Turn on Asset Optimization so pages only load the CSS/JS they use."
     6867msgstr ""
     6868
     6869#: assets/admin/admin.js:2
     6870msgid "Open performance"
     6871msgstr ""
     6872
     6873#: assets/admin/admin.js:2
     6874msgid "Design your shop pages"
     6875msgstr ""
     6876
     6877#: assets/admin/admin.js:2
     6878msgid "Build shop, product, cart and checkout templates with Elementor."
     6879msgstr ""
     6880
     6881#: assets/admin/admin.js:2
     6882msgid "Open Template Builder"
     6883msgstr ""
     6884
     6885#: assets/admin/admin.js:2
     6886msgid "Switch on a store module"
     6887msgstr ""
     6888
     6889#: assets/admin/admin.js:2
     6890msgid "Size charts, badges, free shipping bar, quick checkout and more."
     6891msgstr ""
     6892
     6893#: assets/admin/admin.js:2
     6894msgid "Browse modules"
     6895msgstr ""
     6896
     6897#. translators: %s: user display name.
     6898#: assets/admin/admin.js:3
     6899#, js-format
     6900msgid "Welcome back, %s"
     6901msgstr ""
     6902
     6903#: assets/admin/admin.js:3
     6904msgid "Welcome back"
     6905msgstr ""
     6906
     6907#: assets/admin/admin.js:3
     6908msgid "Here's what's happening across your store."
     6909msgstr ""
     6910
     6911#: assets/admin/admin.js:3
     6912msgid "Total widgets"
     6913msgstr ""
     6914
     6915#: assets/admin/admin.js:3
     6916msgid "Widgets enabled"
     6917msgstr ""
     6918
     6919#: assets/admin/admin.js:3
     6920msgid "live"
     6921msgstr ""
     6922
     6923#: assets/admin/admin.js:3
     6924msgid "Modules active"
     6925msgstr ""
     6926
     6927#. translators: %d: number of modules.
     6928#: assets/admin/admin.js:3
     6929#, js-format
     6930msgid "of %d"
     6931msgstr ""
     6932
     6933#: assets/admin/admin.js:3
     6934msgid "Builder templates"
     6935msgstr ""
     6936
     6937#. translators: %d: active templates.
     6938#. translators: %d: number of active modules.
     6939#: assets/admin/admin.js:3
     6940#: assets/admin/admin.js:5
     6941#, js-format
     6942msgid "%d active"
     6943msgstr ""
     6944
     6945#: assets/admin/admin.js:3
     6946#: assets/admin/admin.js:9
     6947msgid "WooCommerce widgets"
     6948msgstr ""
     6949
     6950#: assets/admin/admin.js:3
     6951#: assets/admin/admin.js:9
     6952msgid "EDD widgets"
     6953msgstr ""
     6954
     6955#: assets/admin/admin.js:3
     6956#: assets/admin/admin.js:9
     6957msgid "Other widgets"
     6958msgstr ""
     6959
     6960#: assets/admin/admin.js:3
     6961msgid "Quick actions"
     6962msgstr ""
     6963
     6964#. translators: %d: number of widgets.
     6965#: assets/admin/admin.js:3
     6966#, js-format
     6967msgid "Toggle %d elements"
     6968msgstr ""
     6969
     6970#. translators: %d: number of modules.
     6971#: assets/admin/admin.js:3
     6972#, js-format
     6973msgid "%d store features"
     6974msgstr ""
     6975
     6976#: assets/admin/admin.js:3
     6977msgid "Shop, product & cart pages"
     6978msgstr ""
     6979
     6980#: assets/admin/admin.js:3
     6981#: assets/admin/admin.js:9
     6982msgid "License"
     6983msgstr ""
     6984
     6985#: assets/admin/admin.js:3
     6986msgid "Pro is active"
     6987msgstr ""
     6988
     6989#: assets/admin/admin.js:3
     6990msgid "Activate Pro"
     6991msgstr ""
     6992
     6993#: assets/admin/admin.js:3
     6994msgid "Unlock every module"
     6995msgstr ""
     6996
     6997#: assets/admin/admin.js:3
     6998#: assets/admin/admin.js:9
     6999msgid "Documentation"
     7000msgstr ""
     7001
     7002#: assets/admin/admin.js:3
     7003msgid "Guides & tutorials"
     7004msgstr ""
     7005
     7006#: assets/admin/admin.js:3
     7007msgid "Get help from the team"
     7008msgstr ""
     7009
     7010#: assets/admin/admin.js:3
     7011msgid "Recent activity"
     7012msgstr ""
     7013
     7014#: assets/admin/admin.js:3
     7015msgid "View all"
     7016msgstr ""
     7017
     7018#: assets/admin/admin.js:3
     7019msgid "Suggestions"
     7020msgstr ""
     7021
     7022#. translators: %d: number of suggestions.
     7023#: assets/admin/admin.js:3
     7024#, js-format
     7025msgid "%d new"
     7026msgstr ""
     7027
     7028#: assets/admin/admin.js:3
     7029msgid "What's new"
     7030msgstr ""
     7031
     7032#. translators: %s: version.
     7033#: assets/admin/admin.js:3
     7034#, js-format
     7035msgid "Ultimate Store Kit %s"
     7036msgstr ""
     7037
     7038#: assets/admin/admin.js:3
     7039msgid "See everything added, fixed and improved in this update."
     7040msgstr ""
     7041
     7042#: assets/admin/admin.js:3
     7043msgid "Explore modules"
     7044msgstr ""
     7045
     7046#: assets/admin/admin.js:3
     7047msgid "Go Pro"
     7048msgstr ""
     7049
     7050#: assets/admin/admin.js:3
     7051msgid "Sell more with Pro modules"
     7052msgstr ""
     7053
     7054#: assets/admin/admin.js:3
     7055msgid "Partial payments, cart recovery, size charts, badges, upsells, currency switcher and every Pro widget."
     7056msgstr ""
     7057
     7058#: assets/admin/admin.js:3
     7059msgid "System status"
     7060msgstr ""
     7061
     7062#: assets/admin/admin.js:3
     7063#: assets/admin/admin.js:6
     7064msgid "Details"
     7065msgstr ""
     7066
     7067#: assets/admin/admin.js:3
     7068msgid "Resources & help"
     7069msgstr ""
     7070
     7071#: assets/admin/admin.js:3
     7072msgid "Release notes"
     7073msgstr ""
     7074
     7075#: assets/admin/admin.js:3
     7076#: assets/admin/admin.js:9
     7077msgid "Request a feature"
     7078msgstr ""
     7079
     7080#: assets/admin/admin.js:3
     7081msgid "Tell us what to build next"
     7082msgstr ""
     7083
     7084#: assets/admin/admin.js:3
     7085#: assets/admin/admin.js:5
     7086msgid "Off"
     7087msgstr ""
     7088
     7089#. translators: 1: active modules, 2: all modules.
     7090#: assets/admin/admin.js:4
     7091#, js-format
     7092msgid "%1$d of %2$d active - store features that work across your whole shop."
     7093msgstr ""
     7094
     7095#: assets/admin/admin.js:5
     7096msgid "Search modules"
     7097msgstr ""
     7098
     7099#: assets/admin/admin.js:5
     7100msgid "Search modules…"
     7101msgstr ""
     7102
     7103#: assets/admin/admin.js:5
     7104msgid "Filter modules"
     7105msgstr ""
     7106
     7107#: assets/admin/admin.js:5
     7108msgid "No modules match your search."
     7109msgstr ""
     7110
     7111#: assets/admin/admin.js:5
     7112msgid "See what it does"
     7113msgstr ""
     7114
     7115#: assets/admin/admin.js:5
     7116msgid "Configure"
     7117msgstr ""
     7118
     7119#: assets/admin/admin.js:5
     7120msgid "Asset Optimization"
     7121msgstr ""
     7122
     7123#: assets/admin/admin.js:5
     7124msgid "Load Ultimate Store Kit files only where they are used, and combine widget CSS and JS into files stored in your uploads folder."
     7125msgstr ""
     7126
     7127#: assets/admin/admin.js:5
     7128msgid "Asset Manager"
     7129msgstr ""
     7130
     7131#: assets/admin/admin.js:5
     7132msgid "Joins the CSS and JS of the widgets each page uses into combined files, and skips the store-wide files on pages without an Ultimate Store Kit widget."
     7133msgstr ""
     7134
     7135#: assets/admin/admin.js:5
     7136#: assets/admin/admin.js:9
     7137msgid "Saving…"
     7138msgstr ""
     7139
     7140#: assets/admin/admin.js:5
     7141msgid "Enabled"
     7142msgstr ""
     7143
     7144#: assets/admin/admin.js:5
     7145msgid "Disabled"
     7146msgstr ""
     7147
     7148#: assets/admin/admin.js:5
     7149msgid "Combined files"
     7150msgstr ""
     7151
     7152#. translators: 1: CSS files, 2: JS files, 3: total size.
     7153#: assets/admin/admin.js:6
     7154#, js-format
     7155msgid "%1$d CSS · %2$d JS · %3$s"
     7156msgstr ""
     7157
     7158#. translators: %s: short fingerprint of the current file set.
     7159#: assets/admin/admin.js:6
     7160#, js-format
     7161msgid "Set %s"
     7162msgstr ""
     7163
     7164#: assets/admin/admin.js:6
     7165msgid "Auto-regenerate"
     7166msgstr ""
     7167
     7168#: assets/admin/admin.js:6
     7169msgid "Combined files rebuild by themselves after a plugin update or when Elementor's files are cleared."
     7170msgstr ""
     7171
     7172#: assets/admin/admin.js:6
     7173msgid "Combined files cleared."
     7174msgstr ""
     7175
     7176#: assets/admin/admin.js:6
     7177msgid "The combined files could not be cleared."
     7178msgstr ""
     7179
     7180#: assets/admin/admin.js:6
     7181msgid "Clearing…"
     7182msgstr ""
     7183
     7184#: assets/admin/admin.js:6
     7185msgid "Regenerate files"
     7186msgstr ""
     7187
     7188#: assets/admin/admin.js:6
     7189msgid "What changes when it is on"
     7190msgstr ""
     7191
     7192#: assets/admin/admin.js:6
     7193msgid "Store-wide files only where needed"
     7194msgstr ""
     7195
     7196#: assets/admin/admin.js:6
     7197msgid "The site stylesheet and script, the quick-view modal and the slide-in panel load only on pages with an Ultimate Store Kit widget."
     7198msgstr ""
     7199
     7200#: assets/admin/admin.js:6
     7201msgid "Fewer files per page"
     7202msgstr ""
     7203
     7204#: assets/admin/admin.js:6
     7205msgid "The CSS and JS of the widgets on a page are joined into one stylesheet and one script, shared by every page with the same widgets."
     7206msgstr ""
     7207
     7208#: assets/admin/admin.js:6
     7209msgid "Editor unchanged"
     7210msgstr ""
     7211
     7212#: assets/admin/admin.js:6
     7213msgid "The Elementor editor and preview keep loading the separate files, so editing works as before. Switch it off at any time to go back."
     7214msgstr ""
     7215
     7216#: assets/admin/admin.js:6
     7217msgid "Something went wrong. Reload the page and try again."
     7218msgstr ""
     7219
     7220#: assets/admin/admin.js:6
     7221msgid "Installed"
     7222msgstr ""
     7223
     7224#: assets/admin/admin.js:6
     7225msgid "Not installed"
     7226msgstr ""
     7227
     7228#: assets/admin/admin.js:6
     7229#: assets/admin/admin.js:9
     7230msgid "Other Plugins"
     7231msgstr ""
     7232
     7233#: assets/admin/admin.js:6
     7234msgid "Install companion plugins from BdThemes to extend your store."
     7235msgstr ""
     7236
     7237#: assets/admin/admin.js:6
     7238msgid "Retry"
     7239msgstr ""
     7240
     7241#: assets/admin/admin.js:6
     7242msgid "Loading plugins…"
     7243msgstr ""
     7244
     7245#. translators: %s: number of millions.
     7246#: assets/admin/admin.js:6
     7247#, js-format
     7248msgid "%s M+ installs"
     7249msgstr ""
     7250
     7251#. translators: %s: number of thousands.
     7252#: assets/admin/admin.js:6
     7253#, js-format
     7254msgid "%s K+ installs"
     7255msgstr ""
     7256
     7257#. translators: %d: number of installs.
     7258#: assets/admin/admin.js:6
     7259#, js-format
     7260msgid "%d+ installs"
     7261msgstr ""
     7262
     7263#: assets/admin/admin.js:6
     7264msgid "Plugin installed."
     7265msgstr ""
     7266
     7267#: assets/admin/admin.js:6
     7268msgid "Installing…"
     7269msgstr ""
     7270
     7271#: assets/admin/admin.js:6
     7272#: assets/admin/admin.js:8
     7273msgid "Install"
     7274msgstr ""
     7275
     7276#: assets/admin/admin.js:6
     7277msgid "The plugin could not be activated."
     7278msgstr ""
     7279
     7280#: assets/admin/admin.js:6
     7281msgid "Plugin activated."
     7282msgstr ""
     7283
     7284#: assets/admin/admin.js:6
     7285msgid "Activating…"
     7286msgstr ""
     7287
     7288#: assets/admin/admin.js:6
     7289msgid "Activate"
     7290msgstr ""
     7291
     7292#: assets/admin/admin.js:6
     7293#: assets/admin/admin.js:9
     7294msgid "Free"
     7295msgstr ""
     7296
     7297#: assets/admin/admin.js:6
     7298#: assets/admin/admin.js:9
     7299msgid "Pro"
     7300msgstr ""
     7301
     7302#. translators: 1: enabled widgets, 2: all widgets in this category.
     7303#: assets/admin/admin.js:7
     7304#, js-format
     7305msgid "%1$d of %2$d enabled - disable unused widgets for faster pages."
     7306msgstr ""
     7307
     7308#. translators: 1: enabled, 2: total.
     7309#: assets/admin/admin.js:8
     7310#, js-format
     7311msgid "%1$d of %2$d active"
     7312msgstr ""
     7313
     7314#: assets/admin/admin.js:8
     7315msgid "Enable all"
     7316msgstr ""
     7317
     7318#: assets/admin/admin.js:8
     7319msgid "Disable all"
     7320msgstr ""
     7321
     7322#: assets/admin/admin.js:8
     7323msgid "Search widgets"
     7324msgstr ""
     7325
     7326#: assets/admin/admin.js:8
     7327msgid "Search widgets…"
     7328msgstr ""
     7329
     7330#: assets/admin/admin.js:8
     7331msgid "Widget category"
     7332msgstr ""
     7333
     7334#: assets/admin/admin.js:8
     7335msgid "Template type"
     7336msgstr ""
     7337
     7338#: assets/admin/admin.js:8
     7339msgid "All templates"
     7340msgstr ""
     7341
     7342#: assets/admin/admin.js:8
     7343msgid "Filter widgets"
     7344msgstr ""
     7345
     7346#: assets/admin/admin.js:8
     7347msgid "No widgets found."
     7348msgstr ""
     7349
     7350#: assets/admin/admin.js:8
     7351msgid "Demo"
     7352msgstr ""
     7353
     7354#: assets/admin/admin.js:8
     7355msgid "Video"
     7356msgstr ""
     7357
     7358#: assets/admin/admin.js:8
     7359msgid "NEW"
     7360msgstr ""
     7361
     7362#: assets/admin/admin.js:8
     7363msgid "Available in Pro"
     7364msgstr ""
     7365
     7366#. translators: %d: number of changed widgets.
     7367#: assets/admin/admin.js:9
     7368#, js-format
     7369msgid "%d unsaved change(s)"
     7370msgstr ""
     7371
     7372#: assets/admin/admin.js:9
     7373msgid "Discard"
     7374msgstr ""
     7375
     7376#: assets/admin/admin.js:9
     7377msgid "Save changes"
     7378msgstr ""
     7379
     7380#: assets/admin/admin.js:9
     7381msgid "Sales Notifications"
     7382msgstr ""
     7383
     7384#: assets/admin/admin.js:9
     7385msgid "Configure flash sale banners, countdown timers, and promotional badges for your store."
     7386msgstr ""
     7387
     7388#: assets/admin/admin.js:9
     7389msgid "Enable Flash Sale Banner"
     7390msgstr ""
     7391
     7392#: assets/admin/admin.js:9
     7393msgid "Display a site-wide flash sale banner on product pages."
     7394msgstr ""
     7395
     7396#: assets/admin/admin.js:9
     7397msgid "Flash Sale Text"
     7398msgstr ""
     7399
     7400#: assets/admin/admin.js:9
     7401msgid "🔥 Flash Sale — Up to 50% OFF!"
     7402msgstr ""
     7403
     7404#: assets/admin/admin.js:9
     7405msgid "Sale Badge Style"
     7406msgstr ""
     7407
     7408#: assets/admin/admin.js:9
     7409msgid "Ribbon"
     7410msgstr ""
     7411
     7412#: assets/admin/admin.js:9
     7413msgid "Circle"
     7414msgstr ""
     7415
     7416#: assets/admin/admin.js:9
     7417msgid "Starburst"
     7418msgstr ""
     7419
     7420#: assets/admin/admin.js:9
     7421msgid "Sale Badge Color"
     7422msgstr ""
     7423
     7424#: assets/admin/admin.js:9
     7425msgid "Enable Sale Countdown Timer"
     7426msgstr ""
     7427
     7428#: assets/admin/admin.js:9
     7429msgid "Show a countdown timer on products that have a sale end date."
     7430msgstr ""
     7431
     7432#: assets/admin/admin.js:9
     7433msgid "Countdown Position"
     7434msgstr ""
     7435
     7436#: assets/admin/admin.js:9
     7437msgid "Above Price"
     7438msgstr ""
     7439
     7440#: assets/admin/admin.js:9
     7441msgid "Below Price"
     7442msgstr ""
     7443
     7444#: assets/admin/admin.js:9
     7445msgid "Above Add to Cart"
     7446msgstr ""
     7447
     7448#: assets/admin/admin.js:9
     7449msgid "Minimum Discount % to Show Badge"
     7450msgstr ""
     7451
     7452#: assets/admin/admin.js:9
     7453msgid "Only show the sale badge when the discount is at least this percentage."
     7454msgstr ""
     7455
     7456#: assets/admin/admin.js:9
     7457msgid "Unlock these premium settings with Ultimate Store Kit Pro"
     7458msgstr ""
     7459
     7460#: assets/admin/admin.js:9
     7461msgid "General"
     7462msgstr ""
     7463
     7464#: assets/admin/admin.js:9
     7465msgid "Saving..."
     7466msgstr ""
     7467
     7468#: assets/admin/admin.js:9
     7469msgid "Save Changes"
     7470msgstr ""
     7471
     7472#: assets/admin/admin.js:9
     7473msgid "Core Widgets"
     7474msgstr ""
     7475
     7476#: assets/admin/admin.js:9
     7477msgid "Theme Compatibility"
     7478msgstr ""
     7479
     7480#: assets/admin/admin.js:9
     7481msgid "Dynamic Content & Custom Fields"
     7482msgstr ""
     7483
     7484#: assets/admin/admin.js:9
     7485msgid "Proper Documentation"
     7486msgstr ""
     7487
     7488#: assets/admin/admin.js:9
     7489msgid "Updates & Support"
     7490msgstr ""
     7491
     7492#: assets/admin/admin.js:9
     7493msgid "Ready Made Blocks"
     7494msgstr ""
     7495
     7496#: assets/admin/admin.js:9
     7497msgid "Ready Made Pages"
     7498msgstr ""
     7499
     7500#: assets/admin/admin.js:9
     7501msgid "Rooten Theme Pro Features"
     7502msgstr ""
     7503
     7504#: assets/admin/admin.js:9
     7505msgid "Priority Support"
     7506msgstr ""
     7507
     7508#: assets/admin/admin.js:9
     7509msgid "Incredibly Advanced"
     7510msgstr ""
     7511
     7512#: assets/admin/admin.js:9
     7513msgid "Refund or Cancel Anytime"
     7514msgstr ""
     7515
     7516#: assets/admin/admin.js:9
     7517msgid "Dynamic Content"
     7518msgstr ""
     7519
     7520#: assets/admin/admin.js:9
     7521msgid "Super-Flexible Widgets"
     7522msgstr ""
     7523
     7524#: assets/admin/admin.js:9
     7525msgid "24/7 Premium Support"
     7526msgstr ""
     7527
     7528#: assets/admin/admin.js:9
     7529msgid "Third Party Plugins"
     7530msgstr ""
     7531
     7532#: assets/admin/admin.js:9
     7533msgid "Special Discount!"
     7534msgstr ""
     7535
     7536#: assets/admin/admin.js:9
     7537msgid "Custom Field Integration"
     7538msgstr ""
     7539
     7540#: assets/admin/admin.js:9
     7541msgid "With Live Chat Support"
     7542msgstr ""
     7543
     7544#: assets/admin/admin.js:9
     7545msgid "Trusted Payment Methods"
     7546msgstr ""
     7547
     7548#: assets/admin/admin.js:9
     7549msgid "Interactive Effects"
     7550msgstr ""
     7551
     7552#: assets/admin/admin.js:9
     7553msgid "Video Tutorial"
     7554msgstr ""
     7555
     7556#: assets/admin/admin.js:9
     7557msgid "You already have Pro!"
     7558msgstr ""
     7559
     7560#: assets/admin/admin.js:9
     7561msgid "Thank you for being a Pro user. You have access to all features."
     7562msgstr ""
     7563
     7564#: assets/admin/admin.js:9
     7565msgid "Features"
     7566msgstr ""
     7567
     7568#: assets/admin/admin.js:9
     7569msgid "What's included with Pro"
     7570msgstr ""
     7571
     7572#: assets/admin/admin.js:9
     7573msgid "Ready to unlock all Pro features?"
     7574msgstr ""
     7575
     7576#: assets/admin/admin.js:9
     7577msgid "Upgrade to Pro — View Pricing"
     7578msgstr ""
     7579
     7580#: assets/admin/admin.js:9
     7581msgid "30-day money-back"
     7582msgstr ""
     7583
     7584#: assets/admin/admin.js:9
     7585msgid "Cancel anytime"
     7586msgstr ""
     7587
     7588#: assets/admin/admin.js:9
     7589msgid "Instant access"
     7590msgstr ""
     7591
     7592#: assets/admin/admin.js:9
     7593msgid "Elementor widgets"
     7594msgstr ""
     7595
     7596#: assets/admin/admin.js:9
     7597msgid "WooCommerce ready"
     7598msgstr ""
     7599
     7600#: assets/admin/admin.js:9
     7601msgid "Store-focused UI"
     7602msgstr ""
     7603
     7604#: assets/admin/admin.js:9
     7605msgid "Current version"
     7606msgstr ""
     7607
     7608#: assets/admin/admin.js:9
     7609msgid "Pro (active)"
     7610msgstr ""
     7611
     7612#: assets/admin/admin.js:9
     7613msgid "Built for"
     7614msgstr ""
     7615
     7616#: assets/admin/admin.js:9
     7617msgid "WordPress + WooCommerce"
     7618msgstr ""
     7619
     7620#: assets/admin/admin.js:9
     7621msgid "Product & support"
     7622msgstr ""
     7623
     7624#: assets/admin/admin.js:9
     7625msgid "Website"
     7626msgstr ""
     7627
     7628#: assets/admin/admin.js:9
    67617629msgid "Knowledge Base"
    67627630msgstr ""
    67637631
    6764 #: assets/admin/admin.js:1
     7632#: assets/admin/admin.js:9
    67657633msgid "Get Support"
    67667634msgstr ""
    67677635
    6768 #: assets/admin/admin.js:1
    6769 msgid "System Requirement"
    6770 msgstr ""
    6771 
    6772 #: assets/admin/admin.js:1
    6773 msgid "Make sure your server meets the minimum requirements for optimal performance."
    6774 msgstr ""
    6775 
    6776 #: assets/admin/admin.js:1
    6777 msgid "PHP Version"
    6778 msgstr ""
    6779 
    6780 #: assets/admin/admin.js:1
    6781 msgid "OK"
    6782 msgstr ""
    6783 
    6784 #: assets/admin/admin.js:1
    6785 msgid "Memory Limit"
    6786 msgstr ""
    6787 
    6788 #: assets/admin/admin.js:1
    6789 msgid "Max Execution Time"
    6790 msgstr ""
    6791 
    6792 #: assets/admin/admin.js:1
    6793 msgid "Feedback"
    6794 msgstr ""
    6795 
    6796 #: assets/admin/admin.js:1
    6797 msgid "We are always looking for feedback from our users. If you have any suggestions or feedback, please let us know."
    6798 msgstr ""
    6799 
    6800 #: assets/admin/admin.js:1
    6801 msgid "Request Feature"
    6802 msgstr ""
    6803 
    6804 #: assets/admin/admin.js:1
    6805 msgid "Try Our Other Plugins"
    6806 msgstr ""
    6807 
    6808 #: assets/admin/admin.js:1
    6809 msgid "Element Pack, Prime Slider, Ultimate Post Kit, Pixel Gallery & Live Copy Paste addons for Elementor."
    6810 msgstr ""
    6811 
    6812 #: assets/admin/admin.js:1
    6813 msgid "Element Pack"
    6814 msgstr ""
    6815 
    6816 #: assets/admin/admin.js:1
    6817 msgid "Prime Slider"
    6818 msgstr ""
    6819 
    6820 #: assets/admin/admin.js:1
    6821 msgid "Ultimate Post Kit"
    6822 msgstr ""
    6823 
    6824 #: assets/admin/admin.js:1
    6825 msgid "Pixel Gallery"
    6826 msgstr ""
    6827 
    6828 #: assets/admin/admin.js:1
    6829 msgid "ZoloBlocks"
    6830 msgstr ""
    6831 
    6832 #: assets/admin/admin.js:1
    6833 msgid "WooCommerce Widgets"
    6834 msgstr ""
    6835 
    6836 #: assets/admin/admin.js:1
    6837 msgid "Easy Digital Downloads Widgets"
    6838 msgstr ""
    6839 
    6840 #: assets/admin/admin.js:1
    6841 msgid "Other Widgets"
    6842 msgstr ""
    6843 
    6844 #: assets/admin/admin.js:1
    6845 msgid "Search widgets..."
    6846 msgstr ""
    6847 
    6848 #: assets/admin/admin.js:1
    6849 msgid "Status:"
    6850 msgstr ""
    6851 
    6852 #: assets/admin/admin.js:1
    6853 msgid "Free"
    6854 msgstr ""
    6855 
    6856 #: assets/admin/admin.js:1
    6857 msgid "Pro"
    6858 msgstr ""
    6859 
    6860 #: assets/admin/admin.js:1
    6861 msgid "Template:"
    6862 msgstr ""
    6863 
    6864 #: assets/admin/admin.js:1
    6865 msgid "Activate All"
    6866 msgstr ""
    6867 
    6868 #: assets/admin/admin.js:1
    6869 msgid "Deactivate All"
    6870 msgstr ""
    6871 
    6872 #: assets/admin/admin.js:1
    6873 msgid "No widgets found."
    6874 msgstr ""
    6875 
    6876 #: assets/admin/admin.js:1
    6877 msgid "Install"
    6878 msgstr ""
    6879 
    6880 #: assets/admin/admin.js:1
    6881 msgid "Demo"
    6882 msgstr ""
    6883 
    6884 #: assets/admin/admin.js:1
    6885 msgid "Video"
    6886 msgstr ""
    6887 
    6888 #: assets/admin/admin.js:1
    6889 msgid "Saving..."
    6890 msgstr ""
    6891 
    6892 #: assets/admin/admin.js:1
    6893 msgid "Save Changes"
    6894 msgstr ""
    6895 
    6896 #: assets/admin/admin.js:1
    6897 msgid "Sales Notifications"
    6898 msgstr ""
    6899 
    6900 #: assets/admin/admin.js:1
    6901 msgid "Configure flash sale banners, countdown timers, and promotional badges for your store."
    6902 msgstr ""
    6903 
    6904 #: assets/admin/admin.js:1
    6905 msgid "Enable Flash Sale Banner"
    6906 msgstr ""
    6907 
    6908 #: assets/admin/admin.js:1
    6909 msgid "Display a site-wide flash sale banner on product pages."
    6910 msgstr ""
    6911 
    6912 #: assets/admin/admin.js:1
    6913 msgid "Flash Sale Text"
    6914 msgstr ""
    6915 
    6916 #: assets/admin/admin.js:1
    6917 msgid "🔥 Flash Sale — Up to 50% OFF!"
    6918 msgstr ""
    6919 
    6920 #: assets/admin/admin.js:1
    6921 msgid "Sale Badge Style"
    6922 msgstr ""
    6923 
    6924 #: assets/admin/admin.js:1
    6925 msgid "Ribbon"
    6926 msgstr ""
    6927 
    6928 #: assets/admin/admin.js:1
    6929 msgid "Circle"
    6930 msgstr ""
    6931 
    6932 #: assets/admin/admin.js:1
    6933 msgid "Starburst"
    6934 msgstr ""
    6935 
    6936 #: assets/admin/admin.js:1
    6937 msgid "Sale Badge Color"
    6938 msgstr ""
    6939 
    6940 #: assets/admin/admin.js:1
    6941 msgid "Enable Sale Countdown Timer"
    6942 msgstr ""
    6943 
    6944 #: assets/admin/admin.js:1
    6945 msgid "Show a countdown timer on products that have a sale end date."
    6946 msgstr ""
    6947 
    6948 #: assets/admin/admin.js:1
    6949 msgid "Countdown Position"
    6950 msgstr ""
    6951 
    6952 #: assets/admin/admin.js:1
    6953 msgid "Above Price"
    6954 msgstr ""
    6955 
    6956 #: assets/admin/admin.js:1
    6957 msgid "Below Price"
    6958 msgstr ""
    6959 
    6960 #: assets/admin/admin.js:1
    6961 msgid "Above Add to Cart"
    6962 msgstr ""
    6963 
    6964 #: assets/admin/admin.js:1
    6965 msgid "Minimum Discount % to Show Badge"
    6966 msgstr ""
    6967 
    6968 #: assets/admin/admin.js:1
    6969 msgid "Only show the sale badge when the discount is at least this percentage."
    6970 msgstr ""
    6971 
    6972 #: assets/admin/admin.js:1
    6973 msgid "Unlock these premium settings with Ultimate Store Kit Pro"
    6974 msgstr ""
    6975 
    6976 #: assets/admin/admin.js:1
    6977 msgid "General"
    6978 msgstr ""
    6979 
    6980 #: assets/admin/admin.js:1
    6981 msgid "Core Widgets"
    6982 msgstr ""
    6983 
    6984 #: assets/admin/admin.js:1
    6985 msgid "Theme Compatibility"
    6986 msgstr ""
    6987 
    6988 #: assets/admin/admin.js:1
    6989 msgid "Dynamic Content & Custom Fields"
    6990 msgstr ""
    6991 
    6992 #: assets/admin/admin.js:1
    6993 msgid "Proper Documentation"
    6994 msgstr ""
    6995 
    6996 #: assets/admin/admin.js:1
    6997 msgid "Updates & Support"
    6998 msgstr ""
    6999 
    7000 #: assets/admin/admin.js:1
    7001 msgid "Ready Made Blocks"
    7002 msgstr ""
    7003 
    7004 #: assets/admin/admin.js:1
    7005 msgid "Ready Made Pages"
    7006 msgstr ""
    7007 
    7008 #: assets/admin/admin.js:1
    7009 msgid "Rooten Theme Pro Features"
    7010 msgstr ""
    7011 
    7012 #: assets/admin/admin.js:1
    7013 msgid "Priority Support"
    7014 msgstr ""
    7015 
    7016 #: assets/admin/admin.js:1
    7017 msgid "Incredibly Advanced"
    7018 msgstr ""
    7019 
    7020 #: assets/admin/admin.js:1
    7021 msgid "Refund or Cancel Anytime"
    7022 msgstr ""
    7023 
    7024 #: assets/admin/admin.js:1
    7025 msgid "Dynamic Content"
    7026 msgstr ""
    7027 
    7028 #: assets/admin/admin.js:1
    7029 msgid "Super-Flexible Widgets"
    7030 msgstr ""
    7031 
    7032 #: assets/admin/admin.js:1
    7033 msgid "24/7 Premium Support"
    7034 msgstr ""
    7035 
    7036 #: assets/admin/admin.js:1
    7037 msgid "Third Party Plugins"
    7038 msgstr ""
    7039 
    7040 #: assets/admin/admin.js:1
    7041 msgid "Special Discount!"
    7042 msgstr ""
    7043 
    7044 #: assets/admin/admin.js:1
    7045 msgid "Custom Field Integration"
    7046 msgstr ""
    7047 
    7048 #: assets/admin/admin.js:1
    7049 msgid "With Live Chat Support"
    7050 msgstr ""
    7051 
    7052 #: assets/admin/admin.js:1
    7053 msgid "Trusted Payment Methods"
    7054 msgstr ""
    7055 
    7056 #: assets/admin/admin.js:1
    7057 msgid "Interactive Effects"
    7058 msgstr ""
    7059 
    7060 #: assets/admin/admin.js:1
    7061 msgid "Video Tutorial"
    7062 msgstr ""
    7063 
    7064 #: assets/admin/admin.js:1
    7065 msgid "You already have Pro!"
    7066 msgstr ""
    7067 
    7068 #: assets/admin/admin.js:1
    7069 msgid "Thank you for being a Pro user. You have access to all features."
    7070 msgstr ""
    7071 
    7072 #: assets/admin/admin.js:1
    7073 msgid "Features"
    7074 msgstr ""
    7075 
    7076 #: assets/admin/admin.js:1
    7077 msgid "What's included with Pro"
    7078 msgstr ""
    7079 
    7080 #: assets/admin/admin.js:1
    7081 msgid "Ready to unlock all Pro features?"
    7082 msgstr ""
    7083 
    7084 #: assets/admin/admin.js:1
    7085 msgid "Upgrade to Pro — View Pricing"
    7086 msgstr ""
    7087 
    7088 #: assets/admin/admin.js:1
    7089 msgid "30-day money-back"
    7090 msgstr ""
    7091 
    7092 #: assets/admin/admin.js:1
    7093 msgid "Cancel anytime"
    7094 msgstr ""
    7095 
    7096 #: assets/admin/admin.js:1
    7097 msgid "Instant access"
    7098 msgstr ""
    7099 
    7100 #: assets/admin/admin.js:1
    7101 msgid "Elementor widgets"
    7102 msgstr ""
    7103 
    7104 #: assets/admin/admin.js:1
    7105 msgid "WooCommerce ready"
    7106 msgstr ""
    7107 
    7108 #: assets/admin/admin.js:1
    7109 msgid "Store-focused UI"
    7110 msgstr ""
    7111 
    7112 #: assets/admin/admin.js:1
    7113 msgid "Current version"
    7114 msgstr ""
    7115 
    7116 #: assets/admin/admin.js:1
    7117 msgid "License"
    7118 msgstr ""
    7119 
    7120 #: assets/admin/admin.js:1
    7121 msgid "Pro (active)"
    7122 msgstr ""
    7123 
    7124 #: assets/admin/admin.js:1
    7125 msgid "Built for"
    7126 msgstr ""
    7127 
    7128 #: assets/admin/admin.js:1
    7129 msgid "WordPress + WooCommerce"
    7130 msgstr ""
    7131 
    7132 #: assets/admin/admin.js:1
    7133 msgid "Product & support"
    7134 msgstr ""
    7135 
    7136 #: assets/admin/admin.js:1
    7137 msgid "Website"
    7138 msgstr ""
    7139 
    7140 #: assets/admin/admin.js:1
    7141 msgid "Documentation"
    7142 msgstr ""
    7143 
    7144 #: assets/admin/admin.js:1
     7636#: assets/admin/admin.js:9
    71457637msgid "Useful links"
    71467638msgstr ""
    71477639
    7148 #: assets/admin/admin.js:1
     7640#: assets/admin/admin.js:9
    71497641msgid "Video tutorials"
    71507642msgstr ""
    71517643
    7152 #: assets/admin/admin.js:1
     7644#: assets/admin/admin.js:9
    71537645msgid "Step-by-step YouTube tutorials for setup, widgets, and customization."
    71547646msgstr ""
    71557647
    7156 #: assets/admin/admin.js:1
    7157 msgid "Request a feature"
    7158 msgstr ""
    7159 
    7160 #: assets/admin/admin.js:1
     7648#: assets/admin/admin.js:9
    71617649msgid "Share ideas and vote on what we build next."
    71627650msgstr ""
    71637651
    7164 #: assets/admin/admin.js:1
     7652#: assets/admin/admin.js:9
    71657653msgid "Rate us on WordPress.org"
    71667654msgstr ""
    71677655
    7168 #: assets/admin/admin.js:1
     7656#: assets/admin/admin.js:9
    71697657msgid "Help others discover the plugin with a review."
    71707658msgstr ""
    71717659
    7172 #: assets/admin/admin.js:1
     7660#: assets/admin/admin.js:9
    71737661msgid "Facebook community"
    71747662msgstr ""
    71757663
    7176 #: assets/admin/admin.js:1
     7664#: assets/admin/admin.js:9
    71777665msgid "Join our Facebook community to connect with other users and the team."
    71787666msgstr ""
    71797667
    7180 #: assets/admin/admin.js:1
     7668#: assets/admin/admin.js:9
    71817669msgid "Requires Pro license"
    71827670msgstr ""
    71837671
    7184 #: assets/admin/admin.js:1
     7672#: assets/admin/admin.js:9
    71857673msgid "Module is currently disabled"
    71867674msgstr ""
    71877675
    7188 #: assets/admin/admin.js:1
     7676#: assets/admin/admin.js:9
    71897677msgid "This is a Pro feature. Upgrade to Ultimate Store Kit Pro to unlock this module and configure its settings."
    71907678msgstr ""
    71917679
    7192 #: assets/admin/admin.js:1
     7680#: assets/admin/admin.js:9
    71937681msgid "An error occurred while saving."
    71947682msgstr ""
    71957683
    7196 #: assets/admin/admin.js:1
     7684#: assets/admin/admin.js:9
     7685msgid "Performance"
     7686msgstr ""
     7687
     7688#: assets/admin/admin.js:9
     7689msgid "Pages"
     7690msgstr ""
     7691
     7692#: assets/admin/admin.js:9
     7693msgid "All modules"
     7694msgstr ""
     7695
     7696#: assets/admin/admin.js:9
    71977697msgid "Ultimate Store Kit Addon made with love by"
    71987698msgstr ""
    71997699
    7200 #: assets/admin/admin.js:1
     7700#: assets/admin/admin.js:9
    72017701msgid "All rights reserved."
    72027702msgstr ""
  • ultimate-store-kit/trunk/loader.php

    r3684617 r3790891  
    142142                        require_once BDTUSK_PATH . 'includes/builder/loading-builder.php';
    143143                }
     144
     145                // Asset Optimization: per-page combined widget CSS/JS files.
     146                require_once BDTUSK_INC_PATH . 'class-asset-combiner.php';
     147                Includes\Asset_Combiner::init();
    144148        }
    145149
    … …  
    200204
    201205        public function register_site_styles() {
    202                 $direction_suffix = is_rtl() ? '.rtl' : '';
     206                // The stylesheets are built as <name>-rtl.css.
     207                $direction_suffix = is_rtl() ? '-rtl' : '';
    203208                wp_register_style('usk-all-styles', BDTUSK_URL . 'assets/css/all-styles' . $direction_suffix . '.css', [], BDTUSK_VER);
    204209                wp_register_style('usk-font', BDTUSK_URL . 'assets/css/font' . $direction_suffix . '.css', [], BDTUSK_VER);
    … …  
    215220        public function enqueue_site_styles() {
    216221
    217                 $direction_suffix = is_rtl() ? '.rtl' : '';
    218 
    219                 wp_register_style('usk-site', BDTUSK_ASSETS_URL . 'css/site' . $direction_suffix . '.css', [], BDTUSK_VER);
     222                $direction_suffix = is_rtl() ? '-rtl' : '';
     223
     224                // With Asset Optimization on, the modal and slide-panel libraries come in
     225                // with the site stylesheet, so a widget brings all three through its own
     226                // dependency on `usk-site`, as they always loaded together.
     227                $site_style_deps = ultimate_store_kit_is_asset_optimization_enabled() ? ['ultimate-store-kit-slick-modal', 'ultimate-store-kit-toolslide'] : [];
     228                wp_register_style('usk-site', BDTUSK_ASSETS_URL . 'css/site' . $direction_suffix . '.css', $site_style_deps, BDTUSK_VER);
    220229                // The Product Table widget lists this as a style dependency and the file has
    221230                // always shipped, but it was never registered: the widget was silently
    … …  
    225234                wp_register_style('ultimate-store-kit-toolslide', BDTUSK_ASSETS_URL . 'vendor/css/toolslide.css', [], BDTUSK_VER);
    226235
    227                 wp_enqueue_style('usk-site');
    228                 wp_enqueue_style('ultimate-store-kit-slick-modal');
    229                 wp_enqueue_style('ultimate-store-kit-toolslide');
     236                if ($this->needs_site_assets()) {
     237                        wp_enqueue_style('usk-site');
     238                        wp_enqueue_style('ultimate-store-kit-slick-modal');
     239                        wp_enqueue_style('ultimate-store-kit-toolslide');
     240                }
     241        }
     242
     243        /**
     244         * Whether this request loads the site stylesheet and script (and the modal and
     245         * slide-panel libraries the widgets share) up front.
     246         *
     247         * Without Asset Optimization every page does, as always. With it on, widget
     248         * files depend on `usk-site` / `usk-core`, which bring the libraries with them,
     249         * so a page loads them exactly when it shows an Ultimate Store Kit widget. Only
     250         * the Elementor editor and preview still load them up front, and so does a site
     251         * running an Ultimate Store Kit Pro older than 4.1.0, whose widgets do not
     252         * declare those dependencies yet.
     253         *
     254         * @return bool
     255         */
     256        private function needs_site_assets() {
     257                static $needed = null;
     258
     259                if (null !== $needed) {
     260                        return $needed;
     261                }
     262
     263                if (!ultimate_store_kit_is_asset_optimization_enabled() || is_admin()) {
     264                        $needed = true;
     265                } elseif (ultimate_store_kit_is_preview() || ultimate_store_kit_is_edit() || isset($_GET['elementor-preview'])) { // phpcs:ignore WordPress.Security.NonceVerification.Recommended -- Only decides which assets load.
     266                        $needed = true;
     267                } elseif (defined('BDTUSK_PRO_VER') && version_compare(BDTUSK_PRO_VER, '4.1.0', '<')) {
     268                        $needed = true;
     269                } else {
     270                        $needed = false;
     271                }
     272
     273                /**
     274                 * Filters whether the Ultimate Store Kit site stylesheet and script are
     275                 * enqueued on this request regardless of the widgets on the page.
     276                 *
     277                 * @param bool $needed Whether to enqueue them.
     278                 */
     279                $needed = (bool) apply_filters('ultimate_store_kit/frontend/enqueue_site_assets', $needed);
     280
     281                return $needed;
    230282        }
    231283
    … …  
    237289        public function enqueue_site_scripts() {
    238290
    239                 wp_register_script('usk-core', BDTUSK_ASSETS_URL . 'js/core.js', ['jquery'], BDTUSK_VER, true); // tooltip file should be separate
     291                $core_deps = ultimate_store_kit_is_asset_optimization_enabled() ? ['jquery', 'ultimate-store-kit-slick-modal', 'ultimate-store-kit-toolslide'] : ['jquery'];
     292                wp_register_script('usk-core', BDTUSK_ASSETS_URL . 'js/core.js', $core_deps, BDTUSK_VER, true); // tooltip file should be separate
    240293                wp_register_script('usk-site', BDTUSK_ASSETS_URL . 'js/site.js', ['jquery'], BDTUSK_VER, true); // tooltip file should be separate
    241294                wp_register_script('ultimate-store-kit-slick-modal', BDTUSK_ASSETS_URL . 'vendor/js/jquery.slickmodal.js', ['jquery'], BDTUSK_VER, true); // tooltip file should be separate
    242295                wp_register_script('ultimate-store-kit-toolslide', BDTUSK_ASSETS_URL . 'vendor/js/toolslide.js', [], BDTUSK_VER, true); // tooltip file should be separate
    243296
    244                 wp_enqueue_script('usk-core');
    245                 // wp_enqueue_script('usk-site');
    246                 wp_enqueue_script('ultimate-store-kit-slick-modal');
    247                 wp_enqueue_script('ultimate-store-kit-toolslide');
     297                if ($this->needs_site_assets()) {
     298                        wp_enqueue_script('usk-core');
     299                        wp_enqueue_script('ultimate-store-kit-slick-modal');
     300                        wp_enqueue_script('ultimate-store-kit-toolslide');
     301                }
    248302
    249303                wp_localize_script('usk-core', 'ultimate_store_kit_ajax_config', array(
    … …  
    400454                // Register REST API routes unconditionally (outside is_admin)
    401455                \UltimateStoreKit\API\Settings::get_instance();
     456                \UltimateStoreKit\API\OtherPlugins::get_instance();
    402457
    403458                add_action('init', [$this, 'init']);
  • ultimate-store-kit/trunk/modules/qr-code/widgets/qr-code.php

    r3650790 r3790891  
    4747            return ['usk-all-styles'];
    4848        } else {
    49             return ['usk-font', 'usk-qr-code'];
     49            // No stylesheet of its own: the site stylesheet carries its styles.
     50            return ['usk-font', 'usk-site'];
    5051        }
    5152    }
  • ultimate-store-kit/trunk/package.json

    r3777913 r3790891  
    11{
    22  "name": "ultimate-store-kit",
    3   "version": "4.0.2",
     3  "version": "4.1.0",
    44  "main": "index.php",
    55  "files": [
  • ultimate-store-kit/trunk/readme.txt

    r3777913 r3790891  
    33Donate link: https://bdthemes.com/
    44Tags: elementor addons, woocommerce builder, woocommerce store builder, edd store builder, woocommerce widget
    5 Stable tag: 4.0.2
     5Stable tag: 4.1.0
    66Requires PHP: 7.4
    77Requires at least: 6.8
    … …  
    1010License URI: https://www.gnu.org/licenses/gpl-3.0.html
    1111Elementor requires at least: 4.0.0
    12 Elementor tested up to: 4.3.5
     12Elementor tested up to: 4.3.6
    1313
    1414WooCommerce store builder and EDD store builder for Elementor with product grids, widgets, cart, checkout, account pages, filters and sliders.
    … …  
    386386== Changelog ==
    387387
     388= 4.1.0 [8th November 2026] =
     389
     390* Added: Template Builder display conditions - Single Product templates can be limited to specific products, categories (including sub-categories) or tags, and Category / Tag templates to specific categories or tags; a matching conditional template takes priority over the default template of its type
     391* Added: Empty Cart Page template type, shown on the cart page while the cart is empty
     392* Added: Asset Optimization (Store Kit > Performance) - store-wide CSS/JS load only on pages with an Ultimate Store Kit widget, and the widget CSS/JS of a page is combined into cached files
     393* Added: Redesigned admin dashboard with stats, quick actions, suggestions, a Modules page, Performance page and ⌘K search
     394* Added: Other Plugins page in the dashboard to install and activate BdThemes plugins
     395* Added: Dashboard tabs that don't fit the screen move into a "More" menu
     396* Added: Ajax Product Search widget (Pro)
     397* Added: Size Chart, Free Shipping Bar, Sticky Add to Cart, Direct Checkout (Buy Now), Product Badges, Product Video, Partial Payment and Cart Recovery modules (Pro)
     398* Fixed: Moving a template to the Trash no longer unassigns a different active template of the same type
     399* Fixed: Editor preview of Category and Tag templates now opens a product category or tag page
     400* Fixed: Right-to-left sites loaded widget, site and icon stylesheets from file names that did not exist
     401
    388402= 4.0.2 [1st November 2026] =
    389403
  • ultimate-store-kit/trunk/src/admin/App.js

    r3757742 r3790891  
    22import { applyFilters, addAction, removeAction } from '@wordpress/hooks';
    33import { __ } from '@wordpress/i18n';
    4 import Header from './components/Header';
    5 import Sidebar from './components/Sidebar';
     4import AppBar from './components/shell/AppBar';
     5import TabStrip from './components/shell/TabStrip';
    66import Welcome from './pages/Welcome';
     7import ModulesPage from './pages/ModulesPage';
     8import PerformancePage from './pages/PerformancePage';
     9import OtherPluginsPage from './pages/OtherPluginsPage';
    710import WidgetsPage from './pages/WidgetsPage';
    811import OtherSettings from './pages/OtherSettings';
    … …  
    1013import AboutInfo from './pages/AboutInfo';
    1114import ProModulePlaceholder from './pages/ProModulePlaceholder';
    12 import { appShell, bodyRow, mainContent } from './tw';
    1315import Toast from './components/Toast';
    14 import { getPlaceholderModules, getModuleSidebarIcon, proGroupDescriptions } from './utils';
     16import { getPlaceholderModules, getModuleSidebarIcon, proGroupDescriptions, buildSidebarSections } from './utils';
     17import { DashboardIcon, WidgetsIcon, ModulesIcon, TemplateIcon, KeyIcon, ZapIcon, InfoIcon, ArrowLeftIcon, GaugeIcon, PlugIcon } from './components/ui/Icons';
     18import { ProTag } from './components/ui/Primitives';
    1519
    1620const adminData = window.ultimateStoreKitAdminData || {};
    … …  
    6266                'edd-widgets',
    6367                'other-widgets',
     68                'modules',
     69                'performance',
     70                'other-plugins',
    6471                'get-pro',
    6572                'about',
    … …  
    7582const App = () => {
    7683        const [activePage, setActivePage] = useState(getPageFromHash());
    77         const [settings, setSettings] = useState(adminData.savedSettings || {});
     84        // One settings object for the whole dashboard: Pro module pages switch modules
     85        // by writing into adminData.savedSettings directly (see Pro's moduleState.js),
     86        // so the state wraps that same object instead of a copy. An empty option
     87        // arrives from PHP as [], which is turned into an object to write into.
     88        const [settings, setSettings] = useState(() => {
     89                adminData.savedSettings = adminData.savedSettings || {};
     90                Object.keys(adminData.savedSettings).forEach((key) => {
     91                        if (Array.isArray(adminData.savedSettings[key])) {
     92                                adminData.savedSettings[key] = {};
     93                        }
     94                });
     95                return { ...adminData.savedSettings };
     96        });
    7897        const [isProActive, setIsProActive] = useState(!!adminData.isPro);
    7998        const [saving, setSaving] = useState(false);
    8099        const [notification, setNotification] = useState(null);
    81         const [isSidebarOpen, setIsSidebarOpen] = useState(false);
    82         const [isDesktop, setIsDesktop] = useState(() => window.innerWidth > 1024);
    83100
    84101        // Allow pro (or any extension) to trigger toasts via doAction('usk.admin.notify', {...})
    … …  
    109126                const handleHashChange = () => {
    110127                        setActivePage(getPageFromHash());
     128                        // Pick up module switches made on the page just left.
     129                        setSettings({ ...adminData.savedSettings });
    111130                };
    112131
    … …  
    128147        }, [isProActive, activePage]);
    129148
    130         useEffect(() => {
    131                 setIsSidebarOpen(false);
    132         }, [activePage]);
    133 
    134         useEffect(() => {
    135                 document.body.style.overflow = isSidebarOpen ? 'hidden' : '';
    136                 return () => {
    137                         document.body.style.overflow = '';
    138                 };
    139         }, [isSidebarOpen]);
    140 
    141         useEffect(() => {
    142                 const handleResize = () => {
    143                         const desktop = window.innerWidth > 1024;
    144                         setIsDesktop(desktop);
    145                         if (desktop) {
    146                                 setIsSidebarOpen(false);
    147                         }
    148                 };
    149                 window.addEventListener('resize', handleResize);
    150                 return () => window.removeEventListener('resize', handleResize);
    151         }, []);
    152 
    153         const handleToggleSidebar = useCallback((event) => {
    154                 if (event?.preventDefault) event.preventDefault();
    155                 if (event?.stopPropagation) event.stopPropagation();
    156                 setIsSidebarOpen((prev) => !prev);
    157         }, []);
    158149
    159150        const saveSettings = useCallback(
    … …  
    174165                                })
    175166                                .then((data) => {
    176                                         setSettings((prev) => ({
    177                                                 ...prev,
    178                                                 [section]: sectionSettings,
    179                                         }));
     167                                        // Update the shared section object in place (other code holds it).
     168                                        if (!adminData.savedSettings[section] || Array.isArray(adminData.savedSettings[section])) {
     169                                                adminData.savedSettings[section] = {};
     170                                        }
     171                                        Object.assign(adminData.savedSettings[section], sectionSettings);
     172                                        setSettings({ ...adminData.savedSettings });
    180173                                        setNotification({
    181174                                                type: 'success',
    … …  
    201194        );
    202195
     196        const navigate = useCallback((pageId) => {
     197                setActivePage(pageId);
     198                if (window.location.hash !== `#${pageId}`) {
     199                        window.location.hash = `#${pageId}`;
     200                }
     201                window.scrollTo({ top: 0, behavior: 'smooth' });
     202        }, []);
     203
     204        // The Modules section of the old sidebar (core settings groups, Pro
     205        // modules and their placeholders) is now the Modules page.
     206        const sidebarSections = buildSidebarSections({ isPro: isProActive, settingsGroups });
     207        const moduleItems = (sidebarSections.find((section) => section.id === 'modules') || { items: [] }).items;
     208        const supportItems = (sidebarSections.find((section) => section.id === 'support') || { items: [] }).items;
     209        const moduleIds = moduleItems.map((item) => item.id);
     210        const proPagesForNav = applyFilters('usk.admin.pages', {});
     211        const hasLicensePage = !!proPagesForNav.license;
     212        const widgetPageIds = ['widgets', 'woocommerce-widgets', 'edd-widgets', 'other-widgets'];
     213
     214        const tabs = [
     215                { key: 'welcome', label: __('Dashboard', 'ultimate-store-kit'), icon: DashboardIcon, active: activePage === 'welcome' },
     216                { key: 'woocommerce-widgets', label: __('Widgets', 'ultimate-store-kit'), icon: WidgetsIcon, active: widgetPageIds.includes(activePage) },
     217                { key: 'modules', label: __('Modules', 'ultimate-store-kit'), icon: ModulesIcon, active: activePage === 'modules' || moduleIds.includes(activePage) },
     218                { key: 'performance', label: __('Performance', 'ultimate-store-kit'), icon: GaugeIcon, active: activePage === 'performance' },
     219                { key: 'template-builder', label: __('Template Builder', 'ultimate-store-kit'), icon: TemplateIcon, href: adminData.templateBuilderUrl },
     220        ];
     221
     222        if (hasLicensePage) {
     223                tabs.push({ key: 'license', label: __('License', 'ultimate-store-kit'), icon: KeyIcon, active: activePage === 'license' });
     224        } else if (!isProActive) {
     225                tabs.push({ key: 'get-pro', label: __('Get Pro', 'ultimate-store-kit'), icon: ZapIcon, active: activePage === 'get-pro' });
     226        }
     227
     228        tabs.push({ key: 'about', label: __('About & Info', 'ultimate-store-kit'), icon: InfoIcon, active: activePage === 'about' });
     229        tabs.push({ key: 'other-plugins', label: __('Other Plugins', 'ultimate-store-kit'), icon: PlugIcon, active: activePage === 'other-plugins' });
     230
     231        // Anything else an add-on puts in the old sidebar's Support group goes to "More".
     232        const shownTabKeys = tabs.map((tab) => tab.key);
     233        const moreItems = supportItems
     234                .filter((item) => !shownTabKeys.includes(item.id) && !(item.id === 'get-pro' && (isProActive || hasLicensePage)))
     235                .map((item) => ({
     236                        key: item.id,
     237                        label: item.label,
     238                        icon: item.id === 'license' ? KeyIcon : item.id === 'get-pro' ? ZapIcon : InfoIcon,
     239                        active: activePage === item.id,
     240                }));
     241
     242        const searchItems = [
     243                { id: 'welcome', label: __('Dashboard', 'ultimate-store-kit'), group: __('Pages', 'ultimate-store-kit') },
     244                { id: 'woocommerce-widgets', label: __('WooCommerce widgets', 'ultimate-store-kit'), group: __('Pages', 'ultimate-store-kit') },
     245                { id: 'edd-widgets', label: __('EDD widgets', 'ultimate-store-kit'), group: __('Pages', 'ultimate-store-kit') },
     246                { id: 'other-widgets', label: __('Other widgets', 'ultimate-store-kit'), group: __('Pages', 'ultimate-store-kit') },
     247                { id: 'modules', label: __('All modules', 'ultimate-store-kit'), group: __('Pages', 'ultimate-store-kit') },
     248                { id: 'template-builder', label: __('Template Builder', 'ultimate-store-kit'), group: __('Pages', 'ultimate-store-kit'), href: adminData.templateBuilderUrl },
     249                { id: 'performance', label: __('Performance', 'ultimate-store-kit'), group: __('Pages', 'ultimate-store-kit') },
     250                { id: 'about', label: __('About & Info', 'ultimate-store-kit'), group: __('Pages', 'ultimate-store-kit') },
     251                { id: 'other-plugins', label: __('Other Plugins', 'ultimate-store-kit'), group: __('Pages', 'ultimate-store-kit') },
     252                ...(hasLicensePage ? [{ id: 'license', label: __('License', 'ultimate-store-kit'), group: __('Pages', 'ultimate-store-kit') }] : []),
     253                ...moreItems.map((item) => ({ id: item.key, label: item.label, group: __('Pages', 'ultimate-store-kit') })),
     254                ...moduleItems.map((item) => ({ id: item.id, label: item.label, group: __('Modules', 'ultimate-store-kit') })),
     255                ...[
     256                        ['ultimate_store_kit_active_modules', 'woocommerce-widgets'],
     257                        ['ultimate_store_kit_edd_modules', 'edd-widgets'],
     258                        ['ultimate_store_kit_general_modules', 'other-widgets'],
     259                ].flatMap(([key, page]) =>
     260                        (adminData.widgets?.[key] || [])
     261                                .filter((w) => w.type === 'checkbox')
     262                                .map((w) => ({ id: `${page}?search=${encodeURIComponent(w.label)}`, label: w.label, group: __('Widgets', 'ultimate-store-kit') }))
     263                ),
     264        ];
     265
     266        const onSearchSelect = (item) => {
     267                if (item.href) {
     268                        window.location.href = item.href;
     269                        return;
     270                }
     271                window.location.hash = `#${item.id}`;
     272                window.scrollTo({ top: 0, behavior: 'smooth' });
     273        };
     274
     275        const activeModule = moduleItems.find((item) => item.id === activePage);
     276
    203277        const renderPage = () => {
    204278                const widgets = adminData.widgets || {};
    … …  
    233307                                                settings={settings}
    234308                                                isPro={isProActive}
     309                                                moduleItems={moduleItems}
     310                                                onNavigate={navigate}
     311                                        />
     312                                );
     313                        case 'other-plugins':
     314                                return <OtherPluginsPage onNotify={setNotification} />;
     315                        case 'performance':
     316                                return <PerformancePage settings={settings} onSave={saveSettings} saving={saving} />;
     317                        case 'modules':
     318                                return (
     319                                        <ModulesPage
     320                                                items={moduleItems}
     321                                                settings={settings}
     322                                                isPro={isProActive}
     323                                                onNavigate={navigate}
    235324                                        />
    236325                                );
    … …  
    253342                                                isPro={isProActive}
    254343                                                widgetType={widgetTypeMap[activePage]}
     344                                                onNavigate={navigate}
    255345                                        />
    256346                                );
    … …  
    262352                                                settings={settings}
    263353                                                isPro={isProActive}
     354                                                moduleItems={moduleItems}
     355                                                onNavigate={navigate}
    264356                                        />
    265357                                ) : (
    … …  
    283375                                        );
    284376                                }
    285                                 return <Welcome widgets={widgets} settings={settings} />;
     377                                return <Welcome widgets={widgets} settings={settings} isPro={isProActive} moduleItems={moduleItems} onNavigate={navigate} />;
    286378                        }
    287379                }
    … …  
    289381
    290382        return (
    291                 <div className={appShell}>
     383                <div className="usk-app min-h-[calc(100vh-32px)] bg-[#f0f0f1] text-sm text-[#1d2327]">
    292384                        <Toast notification={notification} onDismiss={() => setNotification(null)} />
    293                         <Header
    294                                 version={adminData.version}
    295                                 isPro={isProActive}
    296                                 isSidebarOpen={isSidebarOpen}
    297                                 isDesktop={isDesktop}
    298                                 onToggleSidebar={handleToggleSidebar}
    299                         />
    300                         <div className="bg-slate-50">
    301                         <div className={`${bodyRow}`}>
    302                                 <Sidebar
    303                                         activePage={activePage}
    304                                         onNavigate={setActivePage}
    305                                         isPro={isProActive}
    306                                         isOpen={isSidebarOpen}
    307                                         isDesktop={isDesktop}
    308                                         onClose={() => setIsSidebarOpen(false)}
    309                                         settingsGroups={settingsGroups}
    310                                 />
    311                                 <div className={`${mainContent} flex flex-col`}>
    312                                         <div className="flex-1">{renderPage()}</div>
     385                        <div className="mx-auto box-border w-full max-w-[1400px] px-12 pb-[60px] pt-[30px] max-[1024px]:px-7 max-[1024px]:pt-6 max-[640px]:px-0 max-[640px]:pt-4">
     386                                <div className="rounded-card border border-solid border-[#e6e6ea] bg-white">
     387                                        <AppBar
     388                                                version={adminData.version}
     389                                                isPro={isProActive}
     390                                                isProPluginActive={!!adminData.isProPluginActive}
     391                                                templateBuilderUrl={adminData.templateBuilderUrl}
     392                                                searchItems={searchItems}
     393                                                onSearchSelect={onSearchSelect}
     394                                        />
     395                                        <TabStrip tabs={tabs} moreItems={moreItems} onNavigate={navigate} />
    313396                                </div>
     397
     398                                <main className="mt-[26px]">
     399                                        {activeModule ? (
     400                                                <div className="mb-4 flex flex-wrap items-center gap-2 text-[13px] font-semibold text-[#6c6c75]">
     401                                                        <button
     402                                                                type="button"
     403                                                                onClick={() => navigate('modules')}
     404                                                                className="inline-flex cursor-pointer items-center gap-1.5 rounded-full border border-solid border-[#e6e6ea] bg-white px-3 py-1.5 text-[13px] font-bold text-[#3f3f46] transition-colors hover:border-[#e30c1d] hover:text-[#e30c1d]"
     405                                                        >
     406                                                                <ArrowLeftIcon size={14} />
     407                                                                {__('All modules', 'ultimate-store-kit')}
     408                                                        </button>
     409                                                        <span aria-hidden="true">/</span>
     410                                                        <span className="text-[#0f1115]">{activeModule.label}</span>
     411                                                        {activeModule.badge && !isProActive ? <ProTag /> : null}
     412                                                </div>
     413                                        ) : null}
     414                                        {renderPage()}
     415                                </main>
     416
     417                                <footer className="mt-10 text-center text-[12.5px] text-[#8a8a93]">
     418                                        {__('Ultimate Store Kit Addon made with love by', 'ultimate-store-kit')}{' '}
     419                                        <a target="_blank" rel="noopener noreferrer" href="https://bdthemes.com" className="font-semibold text-[#e30c1d] no-underline hover:underline">
     420                                                BdThemes
     421                                        </a>
     422                                        . {__('All rights reserved.', 'ultimate-store-kit')}
     423                                </footer>
    314424                        </div>
    315                         </div>
    316                         <footer className="p-5 bg-white py-4 text-center text-sm text-slate-500 rounded-bl-lg rounded-br-lg">
    317                                 {__(
    318                                         'Ultimate Store Kit Addon made with love by',
    319                                         'ultimate-store-kit'
    320                                 )}{' '}
    321                                 <a
    322                                         target="_blank"
    323                                         rel="noopener noreferrer"
    324                                         href="https://bdthemes.com"
    325                                         className="text-uks-brand no-underline hover:underline"
    326                                 >
    327                                         BdThemes
    328                                 </a>
    329                                 . {__('All rights reserved.', 'ultimate-store-kit')}
    330                         </footer>
    331425                </div>
    332426        );
  • ultimate-store-kit/trunk/src/admin/components/Toggle.js

    r3650790 r3790891  
    44 * override transform/transition via stylesheet specificity.
    55 */
    6 const BRAND = '#00216A';
     6const BRAND = '#E30C1D';
    77const OFF_BG = '#cbd5e1';
    88
  • ultimate-store-kit/trunk/src/admin/others/js/ultimate-builder.js

    r3700275 r3790891  
    1515        $("#ultimate-builder-kit-builder-modal form .template_id").val('');
    1616        setTemplateStatusSwitcher(1);
     17        setConditions({}, {});
     18        toggleConditions();
    1719    }
     20
     21    // Display conditions: only some template types have them, and each type
     22    // only some of the pickers (see Template_Conditions::supported_types()).
     23    function toggleConditions() {
     24        var $wrap = $('#ultimate-builder-kit-builder-modal .usk-template-conditions');
     25        var types = $wrap.data('condition-types') || {};
     26        var type = String($('#ultimate-builder-kit-builder-modal #template_type').val() || '').toLowerCase();
     27        var allowed = types[type] || [];
     28
     29        $wrap.toggle(allowed.length > 0);
     30        $wrap.find('.usk-template-condition').each(function () {
     31            var $field = $(this);
     32            var isAllowed = allowed.indexOf($field.data('condition')) !== -1;
     33
     34            $field.toggle(isAllowed);
     35            // Hidden pickers must not submit values for a type that ignores them.
     36            $field.find('select').prop('disabled', !isAllowed);
     37        });
     38    }
     39
     40    function setConditions(conditions, products) {
     41        var $modal = $('#ultimate-builder-kit-builder-modal');
     42        var $products = $modal.find('#usk_condition_products');
     43
     44        $products.empty();
     45        $.each(products || {}, function (id, name) {
     46            $products.append(new Option(name, id, true, true));
     47        });
     48        $products.trigger('change');
     49
     50        $.each(['product_cat', 'product_tag'], function (i, taxonomy) {
     51            var ids = (conditions && conditions[taxonomy]) || [];
     52            $modal.find('#usk_condition_' + taxonomy).val(ids.map(String)).trigger('change');
     53        });
     54    }
     55
     56    $(document).on('change', '#ultimate-builder-kit-builder-modal #template_type', toggleConditions);
    1857
    1958    function setSubmitBtn(string){
    … …  
    112151                    $("#ultimate-builder-kit-builder-modal form #template_type").val(response.data.type).change();
    113152                    setTemplateStatusSwitcher(response.data.status);
     153                    setConditions(response.data.conditions, response.data.products);
     154                    toggleConditions();
    114155                }
    115156                showModal();
  • ultimate-store-kit/trunk/src/admin/others/scss/ultimate-builder.scss

    r3650790 r3790891  
    281281    }
    282282}
     283/** Display conditions */
     284#ultimate-builder-kit-builder-modal-wrapper {
     285    max-height: 90vh;
     286    overflow-y: auto;
     287}
     288.usk-modal-form .usk-template-conditions {
     289    display: flex;
     290    flex-direction: column;
     291    grid-row-gap: 10px;
     292    padding: 12px 0 4px;
     293    border-top: 1px solid #eee;
     294}
     295.usk-modal-form .usk-template-conditions .usk-form-title {
     296    font-size: 15px;
     297    margin-bottom: 0;
     298}
     299.usk-modal-form .usk-template-conditions-desc {
     300    margin: 0;
     301    font-size: 12px;
     302    color: #6d7882;
     303}
     304.usk-modal-form .usk-template-condition {
     305    display: flex;
     306    flex-direction: column;
     307    grid-row-gap: 6px;
     308}
     309.usk-modal-form .usk-template-condition .select2-container {
     310    margin-bottom: 4px;
     311}
     312.usk-modal-form .usk-template-condition .select2-search__field {
     313    height: auto;
     314    margin: 5px 0 0;
     315    border: 0;
     316    text-transform: none;
     317}
     318body.post-type-usk-template-builder .select2-container--open {
     319    z-index: 100000;
     320}
  • ultimate-store-kit/trunk/src/admin/pages/Welcome.js

    r3650790 r3790891  
     1/**
     2 * Dashboard, laid out like Element Pack's: welcome line, stat cards, a
     3 * widget-health strip, then quick actions, Pro extras and recent releases on
     4 * the left with a promo, system status and resources on the right.
     5 */
    16import { useMemo } from '@wordpress/element';
    2 import { __ } from '@wordpress/i18n';
     7import { __, sprintf } from '@wordpress/i18n';
    38import { applyFilters } from '@wordpress/hooks';
    4 import WelcomeStatCard from '../components/WelcomeStatCard';
    5 import { isWidgetEffectivelyOn } from '../utils';
     9import { isWidgetEffectivelyOn, getModuleInfo } from '../utils';
    610import {
    7         btnEp,
    8         btnPg,
    9         btnPrimary,
    10         btnPs,
    11         btnSecondary,
    12         btnSm,
    13         btnUpk,
    14         btnZb,
    15 } from '../tw';
    16 
    17 const linkInline = 'font-semibold text-uks-brand hover:underline';
    18 
    19 const Welcome = ({ widgets, settings, isPro = false }) => {
     11        WidgetsIcon,
     12        ModulesIcon,
     13        TemplateIcon,
     14        KeyIcon,
     15        ZapIcon,
     16        BookIcon,
     17        HeadsetIcon,
     18        ActivityIcon,
     19        CartIcon,
     20        DownloadIcon,
     21        LayersIcon,
     22        ExternalIcon,
     23        ChevronRightIcon,
     24        MessageIcon,
     25        SparkIcon,
     26        GaugeIcon,
     27        ArrowRightIcon,
     28} from '../components/ui/Icons';
     29import { Card, IconTile, ProgressBar, Pill } from '../components/ui/Primitives';
     30
     31const adminData = window.ultimateStoreKitAdminData || {};
     32
     33const SECTIONS = {
     34        wc: 'ultimate_store_kit_active_modules',
     35        edd: 'ultimate_store_kit_edd_modules',
     36        other: 'ultimate_store_kit_general_modules',
     37};
     38
     39const countWidgets = (widgets, settings, isPro) => {
     40        let active = 0;
     41        let total = 0;
     42        (widgets || []).forEach((w) => {
     43                if (w.type !== 'checkbox') return;
     44                total++;
     45                if (isWidgetEffectivelyOn(w, (settings || {})[w.name], isPro)) {
     46                        active++;
     47                }
     48        });
     49        return { active, total, percent: total ? Math.round((active / total) * 100) : 0 };
     50};
     51
     52const StatCard = ({ icon, accent, value, label, pill, pillTone }) => (
     53        <div className="rounded-card border border-solid border-[#e9e9ed] bg-white p-[18px] transition-all duration-200 hover:-translate-y-[3px] hover:shadow-lift">
     54                <div className="flex items-center justify-between">
     55                        <IconTile icon={icon} accent={accent} size="lg" iconSize={20} />
     56                        {pill ? <Pill tone={pillTone}>{pill}</Pill> : null}
     57                </div>
     58                <div className="mt-[14px] text-[34px] font-black leading-none tracking-[-.03em] text-[#0f1115]">{value}</div>
     59                <div className="mt-2 text-[12.5px] font-medium text-[#6c6c75]">{label}</div>
     60        </div>
     61);
     62
     63const HealthCard = ({ icon, accent, metric, label }) => (
     64        <div className="rounded-panel border border-solid border-[#e9e9ed] bg-white px-[18px] py-4">
     65                <div className="flex items-center gap-[10px]">
     66                        <IconTile icon={icon} accent={accent} size="md" iconSize={16} />
     67                        <div>
     68                                <div className="text-[22px] font-black leading-none tracking-[-.02em] text-[#0f1115]">{metric.percent}%</div>
     69                                <div className="mt-[3px] text-xs font-semibold text-[#52525b]">{label}</div>
     70                        </div>
     71                </div>
     72                <ProgressBar percent={metric.percent} className="mt-[13px]" color={{ green: '#16a34a', violet: '#8b5cf6', amber: '#f59e0b', blue: '#2f5bea' }[accent]} />
     73                <div className="mt-[7px] text-[11px] text-[#6d6d74]">
     74                        {sprintf(
     75                                /* translators: 1: enabled widgets, 2: all widgets. */
     76                                __('%1$d of %2$d enabled', 'ultimate-store-kit'),
     77                                metric.active,
     78                                metric.total
     79                        )}
     80                </div>
     81        </div>
     82);
     83
     84const ActionTile = ({ icon, accent, title, sub, onClick, href, external }) => {
     85        const className =
     86                'group flex cursor-pointer flex-col gap-[10px] rounded-panel border border-solid border-[#ececf0] bg-white p-4 text-left no-underline transition-all duration-200 hover:-translate-y-[2px] hover:border-[#fbc8cd] hover:shadow-lift';
     87        const inner = (
     88                <>
     89                        <IconTile icon={icon} accent={accent} size="md" iconSize={16} />
     90                        <span>
     91                                <span className="block text-[14px] font-bold text-[#0f1115]">{title}</span>
     92                                <span className="mt-0.5 block text-[12px] text-[#8a8a93]">{sub}</span>
     93                        </span>
     94                </>
     95        );
     96        return href ? (
     97                <a href={href} className={className} target={external ? '_blank' : undefined} rel={external ? 'noopener noreferrer' : undefined}>
     98                        {inner}
     99                </a>
     100        ) : (
     101                <button type="button" onClick={onClick} className={className}>
     102                        {inner}
     103                </button>
     104        );
     105};
     106
     107const STATUS_DOT = {
     108        ok: 'bg-[#22c55e]',
     109        warn: 'bg-[#f59e0b]',
     110        bad: 'bg-[#ef4444]',
     111};
     112
     113const STATUS_TEXT = {
     114        ok: 'text-[#15803d]',
     115        warn: 'text-[#b45309]',
     116        bad: 'text-[#b91c1c]',
     117};
     118
     119const ReleaseRow = ({ release, current, color }) => (
     120        <li className="relative m-0 border-0 pb-4 pl-5 last:pb-0">
     121                <span className="absolute left-0 top-[6px] h-2 w-2 rounded-full" style={{ background: color }} />
     122                <div className="flex items-center justify-between gap-3">
     123                        <span className="flex items-center gap-2 text-[14px] font-bold text-[#0f1115]">
     124                                v{release.version}
     125                                {current ? (
     126                                        <span className="rounded-full bg-gradient-brand px-2 py-[3px] text-[10px] font-extrabold uppercase tracking-[.06em] text-white">
     127                                                {__('Current', 'ultimate-store-kit')}
     128                                        </span>
     129                                ) : null}
     130                        </span>
     131                        {release.date ? <span className="text-[12px] text-[#8a8a93]">{release.date}</span> : null}
     132                </div>
     133                {release.summary ? <p className="m-0 mt-1 line-clamp-2 text-[12.5px] leading-relaxed text-[#52525b]">{release.summary}</p> : null}
     134                <div className="mt-2 flex flex-wrap gap-1.5">
     135                        {release.counts?.added ? <Pill tone="green">{sprintf(/* translators: %d: count. */ __('%d added', 'ultimate-store-kit'), release.counts.added)}</Pill> : null}
     136                        {release.counts?.fixed ? <Pill tone="blue">{sprintf(/* translators: %d: count. */ __('%d fixed', 'ultimate-store-kit'), release.counts.fixed)}</Pill> : null}
     137                        {release.counts?.updated ? <Pill tone="amber">{sprintf(/* translators: %d: count. */ __('%d updated', 'ultimate-store-kit'), release.counts.updated)}</Pill> : null}
     138                </div>
     139        </li>
     140);
     141
     142const RELEASE_COLORS = ['#22c55e', '#2f5bea', '#8b5cf6', '#f59e0b', '#14b8a6'];
     143
     144const Welcome = ({ widgets, settings, isPro = false, moduleItems = [], onNavigate }) => {
    20145        const stats = useMemo(() => {
    21                 const wcWidgets = widgets.ultimate_store_kit_active_modules || [];
    22                 const eddWidgets = widgets.ultimate_store_kit_edd_modules || [];
    23                 const otherWidgets = widgets.ultimate_store_kit_general_modules || [];
    24 
    25                 const wcSettings = settings.ultimate_store_kit_active_modules || {};
    26                 const eddSettings = settings.ultimate_store_kit_edd_modules || {};
    27                 const otherSettings = settings.ultimate_store_kit_general_modules || {};
    28 
    29                 const countActive = (widgetList, savedSettings) => {
    30                         let active = 0;
    31                         let inactive = 0;
    32                         widgetList.forEach((w) => {
    33                                 if (w.type !== 'checkbox') return;
    34                                 if (!isPro && w.widget_type === 'pro') {
    35                                         inactive++;
    36                                         return;
    37                                 }
    38                                 const val = savedSettings[w.name];
    39                                 if (isWidgetEffectivelyOn(w, val, isPro)) {
    40                                         active++;
    41                                 } else {
    42                                         inactive++;
    43                                 }
    44                         });
    45                         return { active, inactive, total: active + inactive };
     146                const wc = countWidgets(widgets[SECTIONS.wc], settings[SECTIONS.wc], isPro);
     147                const edd = countWidgets(widgets[SECTIONS.edd], settings[SECTIONS.edd], isPro);
     148                const other = countWidgets(widgets[SECTIONS.other], settings[SECTIONS.other], isPro);
     149                const modulesActive = moduleItems.filter((item) => getModuleInfo(item, settings).status === 'on').length;
     150                return {
     151                        wc,
     152                        edd,
     153                        other,
     154                        total: wc.total + edd.total + other.total,
     155                        active: wc.active + edd.active + other.active,
     156                        modulesActive,
    46157                };
    47 
    48                 const wc = countActive(wcWidgets, wcSettings);
    49                 const edd = countActive(eddWidgets, eddSettings);
    50                 const other = countActive(otherWidgets, otherSettings);
    51 
    52                 const all = {
    53                         active: wc.active + edd.active + other.active,
    54                         inactive: wc.inactive + edd.inactive + other.inactive,
    55                         total: wc.total + edd.total + other.total,
    56                 };
    57 
    58                 return { all, wc, edd, other };
    59         }, [widgets, settings, isPro]);
     158        }, [widgets, settings, isPro, moduleItems]);
     159
     160        const optimizationOn = ((settings.ultimate_store_kit_other_settings || {})['asset-manager'] || 'off') === 'on';
     161        const suggestions = [];
     162
     163        if (!optimizationOn) {
     164                suggestions.push({
     165                        key: 'performance',
     166                        icon: GaugeIcon,
     167                        accent: 'green',
     168                        title: __('Optimize asset loading', 'ultimate-store-kit'),
     169                        text: __('Turn on Asset Optimization so pages only load the CSS/JS they use.', 'ultimate-store-kit'),
     170                        link: __('Open performance', 'ultimate-store-kit'),
     171                        page: 'performance',
     172                });
     173        }
     174
     175        if (!Number(adminData.templatesActive)) {
     176                suggestions.push({
     177                        key: 'templates',
     178                        icon: TemplateIcon,
     179                        accent: 'amber',
     180                        title: __('Design your shop pages', 'ultimate-store-kit'),
     181                        text: __('Build shop, product, cart and checkout templates with Elementor.', 'ultimate-store-kit'),
     182                        link: __('Open Template Builder', 'ultimate-store-kit'),
     183                        href: adminData.templateBuilderUrl,
     184                });
     185        }
     186
     187        if (moduleItems.length && !stats.modulesActive) {
     188                suggestions.push({
     189                        key: 'modules',
     190                        icon: ModulesIcon,
     191                        accent: 'violet',
     192                        title: __('Switch on a store module', 'ultimate-store-kit'),
     193                        text: __('Size charts, badges, free shipping bar, quick checkout and more.', 'ultimate-store-kit'),
     194                        link: __('Browse modules', 'ultimate-store-kit'),
     195                        page: 'modules',
     196                });
     197        }
     198
     199        const WelcomeExtra = applyFilters('usk.admin.welcomeExtra', null);
     200        const hasLicensePage = !!applyFilters('usk.admin.pages', {}).license;
     201        const releases = adminData.releases || [];
     202        const system = adminData.system || [];
     203        const go = (page) => onNavigate && onNavigate(page);
    60204
    61205        return (
    62206                <div>
    63                         <div className="mb-4 grid grid-cols-1 gap-4 sm:grid-cols-2 xl:grid-cols-4">
    64                                 <WelcomeStatCard
    65                                         title={__('All Widgets', 'ultimate-store-kit')}
    66                                         data={stats.all}
    67                                         color="#f59e0b"
     207                        <div className="mb-[22px]">
     208                                <h1 className="m-0 text-[28px] font-extrabold tracking-[-.02em] text-[#0f1115]">
     209                                        {adminData.userName
     210                                                ? sprintf(
     211                                                                /* translators: %s: user display name. */
     212                                                                __('Welcome back, %s', 'ultimate-store-kit'),
     213                                                                adminData.userName
     214                                                  )
     215                                                : __('Welcome back', 'ultimate-store-kit')}
     216                                </h1>
     217                                <p className="m-0 mt-1.5 text-[13.5px] text-[#6c6c75]">
     218                                        {__("Here's what's happening across your store.", 'ultimate-store-kit')}
     219                                </p>
     220                        </div>
     221
     222                        <div className="grid grid-cols-4 gap-[14px] max-[1024px]:grid-cols-2 max-[560px]:grid-cols-1">
     223                                <StatCard icon={WidgetsIcon} accent="blue" value={stats.total} label={__('Total widgets', 'ultimate-store-kit')} />
     224                                <StatCard icon={ZapIcon} accent="green" value={stats.active} label={__('Widgets enabled', 'ultimate-store-kit')} pill={__('live', 'ultimate-store-kit')} pillTone="blue" />
     225                                <StatCard
     226                                        icon={ModulesIcon}
     227                                        accent="violet"
     228                                        value={stats.modulesActive}
     229                                        label={__('Modules active', 'ultimate-store-kit')}
     230                                        pill={sprintf(/* translators: %d: number of modules. */ __('of %d', 'ultimate-store-kit'), moduleItems.length)}
    68231                                />
    69                                 <WelcomeStatCard
    70                                         title={__('WooCommerce', 'ultimate-store-kit')}
    71                                         data={stats.wc}
    72                                         color="#ef4444"
    73                                 />
    74                                 <WelcomeStatCard
    75                                         title={__('EDD', 'ultimate-store-kit')}
    76                                         data={stats.edd}
    77                                         color="#10b981"
    78                                 />
    79                                 <WelcomeStatCard
    80                                         title={__('Other', 'ultimate-store-kit')}
    81                                         data={stats.other}
    82                                         color="#3b82f6"
     232                                <StatCard
     233                                        icon={TemplateIcon}
     234                                        accent="amber"
     235                                        value={adminData.templatesCount || 0}
     236                                        label={__('Builder templates', 'ultimate-store-kit')}
     237                                        pill={Number(adminData.templatesActive) > 0 ? sprintf(/* translators: %d: active templates. */ __('%d active', 'ultimate-store-kit'), Number(adminData.templatesActive)) : null}
     238                                        pillTone="green"
    83239                                />
    84240                        </div>
    85241
    86                         {(() => {
    87                                 const WelcomeExtra = applyFilters('usk.admin.welcomeExtra', null);
    88                                 return WelcomeExtra ? <WelcomeExtra /> : null;
    89                         })()}
    90 
    91                         <div className="mb-4 grid grid-cols-1 gap-4 sm:grid-cols-2">
    92                                 <div className="rounded-lg border border-solid border-gray-100 bg-white p-5">
    93                                         <h3 className="m-0 mb-2 text-base font-bold text-slate-800">
    94                                                 {__('Support And Feedback', 'ultimate-store-kit')}
    95                                         </h3>
    96                                         <p className="my-2 text-[13px] leading-relaxed text-slate-500">
    97                                                 {__(
    98                                                         'Feeling like to consult with an expert? Take live Chat support immediately from',
    99                                                         'ultimate-store-kit'
    100                                                 )}{' '}
    101                                                 <a
    102                                                         href="https://storekit.pro/"
    103                                                         target="_blank"
    104                                                         rel="noopener noreferrer"
    105                                                         className={linkInline}
     242                        <div className="mt-[14px] grid grid-cols-3 gap-[14px] max-[1024px]:grid-cols-2 max-[640px]:grid-cols-1">
     243                                <HealthCard icon={CartIcon} accent="green" metric={stats.wc} label={__('WooCommerce widgets', 'ultimate-store-kit')} />
     244                                <HealthCard icon={DownloadIcon} accent="violet" metric={stats.edd} label={__('EDD widgets', 'ultimate-store-kit')} />
     245                                <HealthCard icon={LayersIcon} accent="amber" metric={stats.other} label={__('Other widgets', 'ultimate-store-kit')} />
     246                        </div>
     247
     248                        <div className="mt-[14px] grid grid-cols-[minmax(0,1fr)_400px] items-start gap-[14px] max-[1180px]:grid-cols-1">
     249                                <div className="flex min-w-0 flex-col gap-[14px]">
     250                                        <Card title={__('Quick actions', 'ultimate-store-kit')}>
     251                                                <div className="grid grid-cols-3 gap-[10px] max-[720px]:grid-cols-2 max-[440px]:grid-cols-1">
     252                                                        <ActionTile
     253                                                                icon={WidgetsIcon}
     254                                                                accent="blue"
     255                                                                title={__('Widgets', 'ultimate-store-kit')}
     256                                                                sub={sprintf(/* translators: %d: number of widgets. */ __('Toggle %d elements', 'ultimate-store-kit'), stats.total)}
     257                                                                onClick={() => go('woocommerce-widgets')}
     258                                                        />
     259                                                        <ActionTile
     260                                                                icon={ModulesIcon}
     261                                                                accent="violet"
     262                                                                title={__('Modules', 'ultimate-store-kit')}
     263                                                                sub={sprintf(/* translators: %d: number of modules. */ __('%d store features', 'ultimate-store-kit'), moduleItems.length)}
     264                                                                onClick={() => go('modules')}
     265                                                        />
     266                                                        <ActionTile
     267                                                                icon={TemplateIcon}
     268                                                                accent="amber"
     269                                                                title={__('Template Builder', 'ultimate-store-kit')}
     270                                                                sub={__('Shop, product & cart pages', 'ultimate-store-kit')}
     271                                                                href={adminData.templateBuilderUrl}
     272                                                        />
     273                                                        {hasLicensePage ? (
     274                                                                <ActionTile icon={KeyIcon} accent="green" title={__('License', 'ultimate-store-kit')} sub={isPro ? __('Pro is active', 'ultimate-store-kit') : __('Activate Pro', 'ultimate-store-kit')} onClick={() => go('license')} />
     275                                                        ) : (
     276                                                                <ActionTile icon={ZapIcon} accent="rose" title={__('Get Pro', 'ultimate-store-kit')} sub={__('Unlock every module', 'ultimate-store-kit')} onClick={() => go('get-pro')} />
     277                                                        )}
     278                                                        <ActionTile icon={BookIcon} accent="teal" title={__('Documentation', 'ultimate-store-kit')} sub={__('Guides & tutorials', 'ultimate-store-kit')} href="https://bdthemes.com/knowledge-base/ultimate-store-kit/" external />
     279                                                        <ActionTile icon={HeadsetIcon} accent="slate" title={__('Support', 'ultimate-store-kit')} sub={__('Get help from the team', 'ultimate-store-kit')} href="https://bdthemes.com/support/" external />
     280                                                </div>
     281                                        </Card>
     282
     283                                        {WelcomeExtra ? <WelcomeExtra /> : null}
     284
     285                                        {releases.length ? (
     286                                                <Card
     287                                                        title={__('Recent activity', 'ultimate-store-kit')}
     288                                                        action={
     289                                                                <a href="https://wordpress.org/plugins/ultimate-store-kit/#developers" target="_blank" rel="noopener noreferrer" className="text-[13px] font-bold text-[#e30c1d] no-underline hover:underline">
     290                                                                        {__('View all', 'ultimate-store-kit')}
     291                                                                </a>
     292                                                        }
    106293                                                >
    107                                                         UltimateStoreKit
    108                                                 </a>
    109                                                 .{' '}
    110                                                 {__(
    111                                                         'We are always ready to help you 24/7.',
    112                                                         'ultimate-store-kit'
    113                                                 )}
    114                                         </p>
    115                                         <p className="my-2 text-[13px] leading-relaxed text-slate-500">
    116                                                 <strong>
    117                                                         {__(
    118                                                                 "Or if you're facing technical issues with our plugin, then please create a support ticket",
    119                                                                 'ultimate-store-kit'
    120                                                         )}
    121                                                 </strong>
    122                                         </p>
    123                                         <div className="mt-3 flex flex-wrap gap-2">
    124                                                 <a
    125                                                         className={btnPrimary}
    126                                                         target="_blank"
    127                                                         rel="noopener noreferrer"
    128                                                         href="https://bdthemes.com/knowledge-base/ultimate-store-kit/"
     294                                                        <ul className="m-0 list-none p-0">
     295                                                                {releases.map((release, index) => (
     296                                                                        <ReleaseRow key={release.version} release={release} current={release.version === adminData.version} color={RELEASE_COLORS[index % RELEASE_COLORS.length]} />
     297                                                                ))}
     298                                                        </ul>
     299                                                </Card>
     300                                        ) : null}
     301                                </div>
     302
     303                                <div className="flex min-w-0 flex-col gap-[14px]">
     304                                        {suggestions.length ? (
     305                                                <Card
     306                                                        title={__('Suggestions', 'ultimate-store-kit')}
     307                                                        action={<Pill tone="blue">{sprintf(/* translators: %d: number of suggestions. */ __('%d new', 'ultimate-store-kit'), suggestions.length)}</Pill>}
    129308                                                >
    130                                                         {__('Knowledge Base', 'ultimate-store-kit')}
    131                                                 </a>
    132                                                 <a
    133                                                         className={btnSecondary}
    134                                                         target="_blank"
    135                                                         rel="noopener noreferrer"
    136                                                         href="https://bdthemes.com/support/"
     309                                                        <div className="flex flex-col gap-2">
     310                                                                {suggestions.map((item) => {
     311                                                                        const inner = (
     312                                                                                <>
     313                                                                                        <IconTile icon={item.icon} accent={item.accent} size="md" iconSize={16} />
     314                                                                                        <span className="min-w-0 flex-1">
     315                                                                                                <span className="block text-[13.5px] font-bold text-[#0f1115]">{item.title}</span>
     316                                                                                                <span className="mt-0.5 block text-[12px] leading-relaxed text-[#6c6c75]">{item.text}</span>
     317                                                                                                <span className="mt-1.5 inline-flex items-center gap-1 text-[12.5px] font-bold text-[#e30c1d]">
     318                                                                                                        {item.link}
     319                                                                                                        <ArrowRightIcon size={13} />
     320                                                                                                </span>
     321                                                                                        </span>
     322                                                                                </>
     323                                                                        );
     324                                                                        const rowClass =
     325                                                                                'box-border flex w-full cursor-pointer gap-3 rounded-panel border border-solid border-[#ececf0] bg-white p-3 text-left no-underline transition-colors hover:border-[#fbc8cd]';
     326                                                                        return item.href ? (
     327                                                                                <a key={item.key} href={item.href} className={rowClass}>
     328                                                                                        {inner}
     329                                                                                </a>
     330                                                                        ) : (
     331                                                                                <button key={item.key} type="button" onClick={() => go(item.page)} className={rowClass}>
     332                                                                                        {inner}
     333                                                                                </button>
     334                                                                        );
     335                                                                })}
     336                                                        </div>
     337                                                </Card>
     338                                        ) : null}
     339
     340                                        {isPro ? (
     341                                                <div className="relative overflow-hidden rounded-card bg-[linear-gradient(135deg,#3a0a10,#8f0b16_55%,#e30c1d)] p-[22px] text-white">
     342                                                        <span className="absolute -right-10 -top-10 h-40 w-40 rounded-full bg-white/10" aria-hidden="true" />
     343                                                        <span className="inline-flex items-center gap-1.5 rounded-full bg-white/15 px-2.5 py-1 text-[11px] font-bold uppercase tracking-[.06em]">
     344                                                                <SparkIcon size={12} />
     345                                                                {__("What's new", 'ultimate-store-kit')}
     346                                                        </span>
     347                                                        <h3 className="m-0 mt-3 text-[20px] font-extrabold text-white">
     348                                                                {sprintf(/* translators: %s: version. */ __('Ultimate Store Kit %s', 'ultimate-store-kit'), adminData.version)}
     349                                                        </h3>
     350                                                        <p className="m-0 mt-1.5 line-clamp-3 text-[13px] leading-relaxed text-white/80">
     351                                                                {releases[0]?.summary || __('See everything added, fixed and improved in this update.', 'ultimate-store-kit')}
     352                                                        </p>
     353                                                        <button type="button" onClick={() => go('modules')} className="mt-4 inline-flex cursor-pointer items-center gap-1.5 rounded-full border-0 bg-white px-4 py-2 text-[13px] font-bold text-[#e30c1d]">
     354                                                                {__('Explore modules', 'ultimate-store-kit')}
     355                                                                <ChevronRightIcon size={14} />
     356                                                        </button>
     357                                                </div>
     358                                        ) : (
     359                                                <div className="relative overflow-hidden rounded-card bg-[linear-gradient(135deg,#3a0a10,#8f0b16_55%,#e30c1d)] p-[22px] text-white">
     360                                                        <span className="absolute -right-10 -top-10 h-40 w-40 rounded-full bg-white/10" aria-hidden="true" />
     361                                                        <span className="inline-flex items-center gap-1.5 rounded-full bg-white/15 px-2.5 py-1 text-[11px] font-bold uppercase tracking-[.06em]">
     362                                                                <ZapIcon size={12} />
     363                                                                {__('Go Pro', 'ultimate-store-kit')}
     364                                                        </span>
     365                                                        <h3 className="m-0 mt-3 text-[20px] font-extrabold text-white">{__('Sell more with Pro modules', 'ultimate-store-kit')}</h3>
     366                                                        <p className="m-0 mt-1.5 text-[13px] leading-relaxed text-white/80">
     367                                                                {__('Partial payments, cart recovery, size charts, badges, upsells, currency switcher and every Pro widget.', 'ultimate-store-kit')}
     368                                                        </p>
     369                                                        <a href="https://storekit.pro/pricing/" target="_blank" rel="noopener noreferrer" className="mt-4 inline-flex items-center gap-1.5 rounded-full bg-white px-4 py-2 text-[13px] font-bold text-[#e30c1d] no-underline">
     370                                                                {__('Get Pro', 'ultimate-store-kit')}
     371                                                                <ChevronRightIcon size={14} />
     372                                                        </a>
     373                                                </div>
     374                                        )}
     375
     376                                        {system.length ? (
     377                                                <Card
     378                                                        title={__('System status', 'ultimate-store-kit')}
     379                                                        action={
     380                                                                <button type="button" onClick={() => go('about')} className="cursor-pointer border-0 bg-transparent p-0 text-[13px] font-bold text-[#e30c1d] hover:underline">
     381                                                                        {__('Details', 'ultimate-store-kit')}
     382                                                                </button>
     383                                                        }
    137384                                                >
    138                                                         {__('Get Support', 'ultimate-store-kit')}
    139                                                 </a>
    140                                         </div>
    141                                 </div>
    142 
    143                                 <div className="rounded-lg border border-solid border-gray-100 bg-white p-5">
    144                                         <h3 className="m-0 mb-2 text-base font-bold text-slate-800">
    145                                                 {__('System Requirement', 'ultimate-store-kit')}
    146                                         </h3>
    147                                         <p className="mb-3 text-[13px] leading-relaxed text-slate-500">
    148                                                 {__(
    149                                                         'Make sure your server meets the minimum requirements for optimal performance.',
    150                                                         'ultimate-store-kit'
    151                                                 )}
    152                                         </p>
    153                                         <div>
    154                                                 <div className="flex items-center justify-between border-b border-slate-100 py-2 text-[13px] text-slate-700 last:border-b-0">
    155                                                         <span>{__('PHP Version', 'ultimate-store-kit')}</span>
    156                                                         <span className="rounded-lg bg-emerald-100 px-2.5 py-0.5 text-[11px] font-semibold text-emerald-800">
    157                                                                 {__('OK', 'ultimate-store-kit')}
    158                                                         </span>
     385                                                        <ul className="m-0 list-none p-0">
     386                                                                {system.map((row) => (
     387                                                                        <li key={row.label} className="m-0 flex items-center justify-between gap-3 border-0 border-b border-solid border-[#f0f0f3] py-[9px] text-[13px] last:border-b-0">
     388                                                                                <span className="text-[#3f3f46]">{row.label}</span>
     389                                                                                <span className={`flex items-center gap-1.5 font-bold ${STATUS_TEXT[row.status] || STATUS_TEXT.ok}`}>
     390                                                                                        <span className={`h-[7px] w-[7px] rounded-full ${STATUS_DOT[row.status] || STATUS_DOT.ok}`} />
     391                                                                                        {row.value}
     392                                                                                </span>
     393                                                                        </li>
     394                                                                ))}
     395                                                        </ul>
     396                                                </Card>
     397                                        ) : null}
     398
     399                                        <Card title={__('Resources & help', 'ultimate-store-kit')}>
     400                                                <div className="flex flex-col gap-2">
     401                                                        {[
     402                                                                { icon: BookIcon, accent: 'blue', title: __('Documentation', 'ultimate-store-kit'), sub: __('Guides & tutorials', 'ultimate-store-kit'), href: 'https://bdthemes.com/knowledge-base/ultimate-store-kit/' },
     403                                                                { icon: ActivityIcon, accent: 'rose', title: __("What's new", 'ultimate-store-kit'), sub: __('Release notes', 'ultimate-store-kit'), href: 'https://wordpress.org/plugins/ultimate-store-kit/#developers' },
     404                                                                { icon: HeadsetIcon, accent: 'violet', title: __('Support', 'ultimate-store-kit'), sub: __('Get help from the team', 'ultimate-store-kit'), href: 'https://bdthemes.com/support/' },
     405                                                                { icon: MessageIcon, accent: 'green', title: __('Request a feature', 'ultimate-store-kit'), sub: __('Tell us what to build next', 'ultimate-store-kit'), href: 'https://feedback.bdthemes.com/b/6vr2250l/feature-requests/' },
     406                                                        ].map((link) => (
     407                                                                <a
     408                                                                        key={link.title}
     409                                                                        href={link.href}
     410                                                                        target="_blank"
     411                                                                        rel="noopener noreferrer"
     412                                                                        className="flex items-center gap-3 rounded-panel border border-solid border-[#ececf0] px-3 py-[10px] no-underline transition-colors hover:border-[#fbc8cd]"
     413                                                                >
     414                                                                        <IconTile icon={link.icon} accent={link.accent} size="md" iconSize={16} />
     415                                                                        <span className="flex-1">
     416                                                                                <span className="block text-[13.5px] font-bold text-[#0f1115]">{link.title}</span>
     417                                                                                <span className="block text-[12px] text-[#8a8a93]">{link.sub}</span>
     418                                                                        </span>
     419                                                                        <span className="text-[#a1a1aa]">
     420                                                                                <ExternalIcon size={14} />
     421                                                                        </span>
     422                                                                </a>
     423                                                        ))}
    159424                                                </div>
    160                                                 <div className="flex items-center justify-between border-b border-slate-100 py-2 text-[13px] text-slate-700 last:border-b-0">
    161                                                         <span>{__('Memory Limit', 'ultimate-store-kit')}</span>
    162                                                         <span className="rounded-lg bg-emerald-100 px-2.5 py-0.5 text-[11px] font-semibold text-emerald-800">
    163                                                                 {__('OK', 'ultimate-store-kit')}
    164                                                         </span>
    165                                                 </div>
    166                                                 <div className="flex items-center justify-between border-b border-slate-100 py-2 text-[13px] text-slate-700 last:border-b-0">
    167                                                         <span>{__('Max Execution Time', 'ultimate-store-kit')}</span>
    168                                                         <span className="rounded-lg bg-emerald-100 px-2.5 py-0.5 text-[11px] font-semibold text-emerald-800">
    169                                                                 {__('OK', 'ultimate-store-kit')}
    170                                                         </span>
    171                                                 </div>
    172                                         </div>
     425                                        </Card>
    173426                                </div>
    174427                        </div>
    175 
    176                         <div className="grid grid-cols-1 gap-4 sm:grid-cols-2">
    177                                 <div className="rounded-lg border border-solid border-gray-100 bg-white p-5">
    178                                         <h3 className="m-0 mb-2 text-base font-bold text-slate-800">
    179                                                 {__('Feedback', 'ultimate-store-kit')}
    180                                         </h3>
    181                                         <p className="my-2 text-[13px] leading-relaxed text-slate-500">
    182                                                 {__(
    183                                                         'We are always looking for feedback from our users. If you have any suggestions or feedback, please let us know.',
    184                                                         'ultimate-store-kit'
    185                                                 )}
    186                                         </p>
    187                                         <div className="mt-3 flex flex-wrap gap-2">
    188                                                 <a
    189                                                         className={btnSecondary}
    190                                                         target="_blank"
    191                                                         rel="noopener noreferrer"
    192                                                         href="https://feedback.bdthemes.com/b/6vr2250l/feature-requests/"
    193                                                 >
    194                                                         {__('Request Feature', 'ultimate-store-kit')}
    195                                                 </a>
    196                                         </div>
    197                                 </div>
    198 
    199                                 <div className="rounded-lg border border-solid border-gray-100 bg-white p-5">
    200                                         <h3 className="m-0 mb-2 text-base font-bold text-slate-800">
    201                                                 {__('Try Our Other Plugins', 'ultimate-store-kit')}
    202                                         </h3>
    203                                         <p className="my-2 text-[13px] leading-relaxed text-slate-500">
    204                                                 {__(
    205                                                         'Element Pack, Prime Slider, Ultimate Post Kit, Pixel Gallery & Live Copy Paste addons for Elementor.',
    206                                                         'ultimate-store-kit'
    207                                                 )}
    208                                         </p>
    209                                         <div className="mt-3 flex flex-wrap gap-2">
    210                                                 <a
    211                                                         className={`${btnSm} ${btnEp}`}
    212                                                         target="_blank"
    213                                                         rel="noopener noreferrer"
    214                                                         href="https://wordpress.org/plugins/bdthemes-element-pack-lite/"
    215                                                 >
    216                                                         {__('Element Pack', 'ultimate-store-kit')}
    217                                                 </a>
    218                                                 <a
    219                                                         className={`${btnSm} ${btnPs}`}
    220                                                         target="_blank"
    221                                                         rel="noopener noreferrer"
    222                                                         href="https://wordpress.org/plugins/bdthemes-prime-slider-lite/"
    223                                                 >
    224                                                         {__('Prime Slider', 'ultimate-store-kit')}
    225                                                 </a>
    226                                                 <a
    227                                                         className={`${btnSm} ${btnUpk}`}
    228                                                         target="_blank"
    229                                                         rel="noopener noreferrer"
    230                                                         href="https://wordpress.org/plugins/ultimate-post-kit/"
    231                                                 >
    232                                                         {__('Ultimate Post Kit', 'ultimate-store-kit')}
    233                                                 </a>
    234                                                 <a
    235                                                         className={`${btnSm} ${btnPg}`}
    236                                                         target="_blank"
    237                                                         rel="noopener noreferrer"
    238                                                         href="https://wordpress.org/plugins/pixel-gallery/"
    239                                                 >
    240                                                         {__('Pixel Gallery', 'ultimate-store-kit')}
    241                                                 </a>
    242                                                 <a
    243                                                         className={`${btnSm} ${btnZb}`}
    244                                                         target="_blank"
    245                                                         rel="noopener noreferrer"
    246                                                         href="https://wordpress.org/plugins/zoloblocks/"
    247                                                 >
    248                                                         {__('ZoloBlocks', 'ultimate-store-kit')}
    249                                                 </a>
    250                                         </div>
    251                                 </div>
    252                         </div>
    253428                </div>
    254429        );
  • ultimate-store-kit/trunk/src/admin/pages/WidgetsPage.js

    r3757742 r3790891  
     1/**
     2 * Widgets, laid out like Element Pack's: heading with bulk actions, a toolbar
     3 * (search, WooCommerce/EDD/Others switch, Free/Pro/New chips), a three-column
     4 * card grid and a sticky save bar while there are unsaved changes.
     5 */
    16import { useState, useMemo, useCallback, useEffect } from '@wordpress/element';
    2 import { __ } from '@wordpress/i18n';
    3 import {
    4         CheckIcon,
    5         CloseIcon,
    6         EyeIcon,
    7         LinkPluginIcon,
    8         PlayIcon,
    9         SearchIcon,
    10 } from '../icons';
    11 import {
    12         btnLg,
    13         btnPrimary,
    14         proBadge,
    15         selectInput,
    16         selectLabel,
    17         Toggle,
    18 } from '../tw';
     7import { __, sprintf } from '@wordpress/i18n';
     8import { Toggle } from '../tw';
    199import { isWidgetEffectivelyOn } from '../utils';
    20 
    21 const WidgetsPage = ({
    22         allWidgets,
    23         allSettings,
    24         onSave,
    25         saving,
    26         isPro,
    27         widgetType = 'wc',
    28 }) => {
    29         const [search, setSearch] = useState('');
     10import { SearchIcon, EyeIcon, PlayIcon, PlugIcon, CheckIcon, XIcon, WidgetsIcon } from '../components/ui/Icons';
     11import { ProTag, Pill } from '../components/ui/Primitives';
     12
     13const SECTION_KEYS = {
     14        wc: 'ultimate_store_kit_active_modules',
     15        edd: 'ultimate_store_kit_edd_modules',
     16        other: 'ultimate_store_kit_general_modules',
     17};
     18
     19const PAGE_FOR_TYPE = {
     20        wc: 'woocommerce-widgets',
     21        edd: 'edd-widgets',
     22        other: 'other-widgets',
     23};
     24
     25const searchFromHash = () => {
     26        const query = window.location.hash.split('?')[1] || '';
     27        try {
     28                return new URLSearchParams(query).get('search') || '';
     29        } catch (e) {
     30                return '';
     31        }
     32};
     33
     34const initialValues = (allWidgets, allSettings) => {
     35        const initial = {};
     36        Object.values(SECTION_KEYS).forEach((sectionKey) => {
     37                const sectionSettings = allSettings[sectionKey] || {};
     38                (allWidgets[sectionKey] || []).forEach((w) => {
     39                        if (w.type !== 'checkbox') return;
     40                        initial[w.name] = sectionSettings[w.name] !== undefined ? sectionSettings[w.name] : w.default || 'off';
     41                });
     42        });
     43        return initial;
     44};
     45
     46const linkClass =
     47        'inline-flex items-center gap-1 text-[11.5px] font-semibold text-[#8a8a93] no-underline transition-colors hover:text-[#e30c1d]';
     48
     49const WidgetsPage = ({ allWidgets, allSettings, onSave, saving, isPro, widgetType = 'wc', onNavigate }) => {
     50        const [search, setSearch] = useState(searchFromHash);
    3051        const [filter, setFilter] = useState('all');
    3152        const [contentTypeFilter, setContentTypeFilter] = useState('all');
    32 
    33         const widgetTypeConfig = {
    34                 wc: {
    35                         title: __('WooCommerce Widgets', 'ultimate-store-kit'),
    36                         key: 'ultimate_store_kit_active_modules',
    37                 },
    38                 edd: {
    39                         title: __('Easy Digital Downloads Widgets', 'ultimate-store-kit'),
    40                         key: 'ultimate_store_kit_edd_modules',
    41                 },
    42                 other: {
    43                         title: __('Other Widgets', 'ultimate-store-kit'),
    44                         key: 'ultimate_store_kit_general_modules',
    45                 },
    46         };
    47 
    48         const currentConfig = widgetTypeConfig[widgetType];
    49         const widgets = allWidgets[currentConfig.key] || [];
    50         const settings = allSettings[currentConfig.key] || {};
    51 
    52         const [localSettings, setLocalSettings] = useState(() => {
    53                 const initial = {};
    54                 Object.keys(allSettings).forEach((sectionKey) => {
    55                         const sectionSettings = allSettings[sectionKey] || {};
    56                         const sectionWidgets = allWidgets[sectionKey] || [];
    57                         sectionWidgets.forEach((w) => {
    58                                 if (w.type !== 'checkbox') return;
    59                                 initial[w.name] =
    60                                         sectionSettings[w.name] !== undefined
    61                                                 ? sectionSettings[w.name]
    62                                                 : w.default || 'off';
    63                         });
    64                 });
    65                 return initial;
    66         });
     53        const [localSettings, setLocalSettings] = useState(() => initialValues(allWidgets, allSettings));
     54
     55        const sectionKey = SECTION_KEYS[widgetType] || SECTION_KEYS.wc;
     56        const widgets = useMemo(() => (allWidgets[sectionKey] || []).filter((w) => w.type === 'checkbox'), [allWidgets, sectionKey]);
     57
     58        // Saved values (re-read after a save) to tell what changed.
     59        const savedValues = useMemo(() => initialValues(allWidgets, allSettings), [allWidgets, allSettings]);
    6760
    6861        useEffect(() => {
    69                 setSearch('');
     62                setSearch(searchFromHash());
    7063                setFilter('all');
    7164                setContentTypeFilter('all');
    7265        }, [widgetType]);
    7366
     67        useEffect(() => {
     68                const onHash = () => setSearch(searchFromHash());
     69                window.addEventListener('hashchange', onHash);
     70                return () => window.removeEventListener('hashchange', onHash);
     71        }, []);
     72
     73        const isLocked = useCallback(
     74                (w) => {
     75                        const dep = w.dependency;
     76                        return (w.widget_type === 'pro' && !isPro) || (dep && (!dep.isInstalled || !dep.isActive));
     77                },
     78                [isPro]
     79        );
     80
    7481        const contentTypes = useMemo(() => {
    7582                const types = new Set();
    7683                widgets.forEach((w) => {
    77                         if (w.content_type) {
    78                                 w.content_type.split(' ').forEach((t) => {
    79                                         if (
    80                                                 t &&
    81                                                 t !== 'woocommerce' &&
    82                                                 t !== 'edd' &&
    83                                                 t !== 'new'
    84                                         ) {
    85                                                 types.add(t);
    86                                         }
    87                                 });
    88                         }
     84                        (w.content_type || '').split(' ').forEach((t) => {
     85                                if (t && !['woocommerce', 'edd', 'new', 'others'].includes(t)) {
     86                                        types.add(t);
     87                                }
     88                        });
    8989                });
    9090                return Array.from(types);
    9191        }, [widgets]);
    9292
    93         const filteredWidgets = useMemo(() => {
    94                 return widgets.filter((w) => {
    95                         if (w.type !== 'checkbox') return false;
    96 
    97                         if (search && !w.label.toLowerCase().includes(search.toLowerCase()))
    98                                 return false;
    99 
    100                         if (filter === 'free' && w.widget_type !== 'free') return false;
    101                         if (filter === 'pro' && w.widget_type !== 'pro') return false;
    102 
    103                         if (
    104                                 contentTypeFilter !== 'all' &&
    105                                 (!w.content_type || !w.content_type.includes(contentTypeFilter))
    106                         )
    107                                 return false;
    108 
    109                         return true;
    110                 });
    111         }, [widgets, search, filter, contentTypeFilter]);
    112 
    113         const handleToggle = useCallback(
    114                 (name) => {
    115                         setLocalSettings((prev) => ({
    116                                 ...prev,
    117                                 [name]: prev[name] === 'on' ? 'off' : 'on',
    118                         }));
    119                 },
    120                 []
     93        const isNew = (w) => (w.content_type || '').split(' ').includes('new');
     94
     95        const counts = useMemo(
     96                () => ({
     97                        all: widgets.length,
     98                        free: widgets.filter((w) => w.widget_type !== 'pro').length,
     99                        pro: widgets.filter((w) => w.widget_type === 'pro').length,
     100                        new: widgets.filter(isNew).length,
     101                }),
     102                [widgets]
    121103        );
    122104
    123         const handleActivateAll = useCallback(() => {
     105        const filteredWidgets = useMemo(
     106                () =>
     107                        widgets.filter((w) => {
     108                                if (search && !w.label.toLowerCase().includes(search.toLowerCase())) return false;
     109                                if (filter === 'free' && w.widget_type === 'pro') return false;
     110                                if (filter === 'pro' && w.widget_type !== 'pro') return false;
     111                                if (filter === 'new' && !isNew(w)) return false;
     112                                if (contentTypeFilter !== 'all' && !(w.content_type || '').split(' ').includes(contentTypeFilter)) return false;
     113                                return true;
     114                        }),
     115                [widgets, search, filter, contentTypeFilter]
     116        );
     117
     118        const activeCount = widgets.filter((w) => isWidgetEffectivelyOn(w, localSettings[w.name], isPro)).length;
     119
     120        const dirtyNames = widgets.filter((w) => localSettings[w.name] !== savedValues[w.name]).map((w) => w.name);
     121
     122        const setAll = (value) => {
    124123                setLocalSettings((prev) => {
    125                         const updated = { ...prev };
     124                        const next = { ...prev };
    126125                        filteredWidgets.forEach((w) => {
    127                                 if (w.widget_type === 'pro' && !isPro) return;
    128                                 const dep = w.dependency;
    129                                 if (dep && (!dep.isInstalled || !dep.isActive)) return;
    130                                 updated[w.name] = 'on';
     126                                if (!isLocked(w)) {
     127                                        next[w.name] = value;
     128                                }
    131129                        });
    132                         return updated;
    133                 });
    134         }, [filteredWidgets, isPro]);
    135 
    136         const handleDeactivateAll = useCallback(() => {
     130                        return next;
     131                });
     132        };
     133
     134        const handleSave = () => {
     135                const current = {};
     136                widgets.forEach((w) => {
     137                        if (localSettings[w.name] !== undefined) {
     138                                current[w.name] = localSettings[w.name];
     139                        }
     140                });
     141                onSave(sectionKey, current);
     142        };
     143
     144        const discard = () => {
    137145                setLocalSettings((prev) => {
    138                         const updated = { ...prev };
    139                         filteredWidgets.forEach((w) => {
    140                                 if (w.widget_type === 'pro' && !isPro) return;
    141                                 updated[w.name] = 'off';
     146                        const next = { ...prev };
     147                        widgets.forEach((w) => {
     148                                next[w.name] = savedValues[w.name];
    142149                        });
    143                         return updated;
    144                 });
    145         }, [filteredWidgets, isPro]);
    146 
    147         const handleSave = () => {
    148                 const currentSettings = {};
    149                 widgets.forEach((w) => {
    150                         if (w.type === 'checkbox' && localSettings[w.name] !== undefined) {
    151                                 currentSettings[w.name] = localSettings[w.name];
    152                         }
    153                 });
    154                 onSave(currentConfig.key, currentSettings);
     150                        return next;
     151                });
    155152        };
    156153
    157         const activeCount = useMemo(() => {
    158                 return widgets.filter(
    159                         (w) =>
    160                                 w.type === 'checkbox' &&
    161                                 isWidgetEffectivelyOn(w, localSettings[w.name], isPro)
    162                 ).length;
    163         }, [widgets, localSettings, isPro]);
    164 
    165         const cardBase =
    166                 'flex flex-col justify-between gap-3 rounded-lg border border-solid border-gray-200 p-4';
    167 
    168         const toolbarControl = 'h-9 min-h-9 py-0 text-[13px] leading-none';
    169         const toolbarBtn =
    170                 'inline-flex h-9 min-h-9 shrink-0 cursor-pointer items-center gap-1.5 rounded-md border px-3 py-0 text-[13px] font-semibold leading-none no-underline transition-all duration-200';
     154        const categories = [
     155                { type: 'wc', label: __('WooCommerce', 'ultimate-store-kit') },
     156                { type: 'edd', label: __('EDD', 'ultimate-store-kit') },
     157                { type: 'other', label: __('Others', 'ultimate-store-kit') },
     158        ];
     159
     160        const chips = [
     161                { key: 'all', label: __('All', 'ultimate-store-kit') },
     162                { key: 'new', label: __('New', 'ultimate-store-kit') },
     163                { key: 'free', label: __('Free', 'ultimate-store-kit') },
     164                { key: 'pro', label: __('Pro', 'ultimate-store-kit') },
     165        ];
     166
     167        const pillBtn =
     168                'inline-flex cursor-pointer items-center gap-1.5 rounded-full border border-solid border-[#e2e2e6] bg-white px-4 py-2 text-[13px] font-bold text-[#27272a] transition-colors hover:border-[#e30c1d] hover:text-[#e30c1d]';
    171169
    172170        return (
    173                 <div>
    174                 <div className="mb-5 flex flex-wrap items-center justify-between gap-2">
    175                         <h2 className="m-0 text-xl font-bold text-slate-800">
    176                                 {currentConfig.title}
    177                         </h2>
    178                         <span className="rounded-2xl border border-slate-200 bg-white px-3 py-1 text-[13px] text-slate-500">
    179                                 {activeCount} / {widgets.filter((w) => w.type === 'checkbox').length}{' '}
    180                                 {__('Active', 'ultimate-store-kit')}
    181                         </span>
    182                 </div>
    183 
    184                 <div className="mb-5 flex flex-wrap items-center justify-between gap-3 rounded-lg border border-solid border-gray-100 bg-white px-4 py-3">
    185                         {/* Filters group — wraps on small screens */}
    186                         <div className="flex flex-wrap items-center gap-3">
    187                                 <div className="relative flex items-center">
    188                                         <SearchIcon className="pointer-events-none absolute right-3 inset-y-0 my-auto h-4 w-4 block text-gray-400" />
    189                                         <input
    190                                                 type="text"
    191                                                 className={`${toolbarControl} block w-full rounded-md border border-solid border-gray-200 bg-transparent pr-10 pl-3 text-slate-700 placeholder:text-gray-500 focus:border-uks-brand focus:outline-none focus:ring-2 focus:ring-uks-brand/25 sm:w-48`}
    192                                                 placeholder={__('Search widgets...', 'ultimate-store-kit')}
    193                                                 value={search}
    194                                                 onChange={(e) => setSearch(e.target.value)}
    195                                         />
    196                                 </div>
    197 
    198                                 <div className="flex items-center gap-1.5">
    199                                         <label className={selectLabel}>
    200                                                 {__('Status:', 'ultimate-store-kit')}
     171                <div className={dirtyNames.length ? 'pb-20' : ''}>
     172                        <div className="mb-[18px] flex flex-wrap items-end justify-between gap-3">
     173                                <div>
     174                                        <h1 className="m-0 text-[26px] font-extrabold tracking-[-.02em] text-[#0f1115]">{__('Widgets', 'ultimate-store-kit')}</h1>
     175                                        <p className="m-0 mt-1.5 text-[13.5px] text-[#6c6c75]">
     176                                                {sprintf(
     177                                                        /* translators: 1: enabled widgets, 2: all widgets in this category. */
     178                                                        __('%1$d of %2$d enabled - disable unused widgets for faster pages.', 'ultimate-store-kit'),
     179                                                        activeCount,
     180                                                        widgets.length
     181                                                )}
     182                                        </p>
     183                                </div>
     184                                <div className="flex flex-wrap items-center gap-2">
     185                                        <span className="inline-flex items-center gap-[7px] rounded-full border border-solid border-[#c6f0d4] bg-[#ecfdf3] px-3 py-[7px] text-[12.5px] font-bold text-[#15803d]">
     186                                                <span className="h-2 w-2 rounded-full bg-[#22c55e]" />
     187                                                {sprintf(
     188                                                        /* translators: 1: enabled, 2: total. */
     189                                                        __('%1$d of %2$d active', 'ultimate-store-kit'),
     190                                                        activeCount,
     191                                                        widgets.length
     192                                                )}
     193                                        </span>
     194                                        <button type="button" className={pillBtn} onClick={() => setAll('on')}>
     195                                                <CheckIcon size={14} />
     196                                                {__('Enable all', 'ultimate-store-kit')}
     197                                        </button>
     198                                        <button type="button" className={pillBtn} onClick={() => setAll('off')}>
     199                                                <XIcon size={14} />
     200                                                {__('Disable all', 'ultimate-store-kit')}
     201                                        </button>
     202                                </div>
     203                        </div>
     204
     205                        <div className="mb-[14px] flex flex-wrap items-center justify-between gap-3 rounded-card border border-solid border-[#e9e9ed] bg-white px-[14px] py-3">
     206                                <div className="flex flex-wrap items-center gap-3">
     207                                        <label className="relative flex w-[260px] max-w-full items-center">
     208                                                <span className="sr-only">{__('Search widgets', 'ultimate-store-kit')}</span>
     209                                                <span className="pointer-events-none absolute left-3 text-[#8a8a93]">
     210                                                        <SearchIcon size={15} />
     211                                                </span>
     212                                                <input
     213                                                        type="search"
     214                                                        value={search}
     215                                                        onChange={(event) => setSearch(event.target.value)}
     216                                                        placeholder={__('Search widgets…', 'ultimate-store-kit')}
     217                                                        className="!m-0 box-border w-full !rounded-full !border !border-solid !border-[#e6e6ea] !bg-[#fafbfc] !py-2 !pl-9 !pr-3 text-[13.5px] !shadow-none focus:!border-[#e30c1d]"
     218                                                />
    201219                                        </label>
    202                                         <select
    203                                                 className={`${selectInput} ${toolbarControl}`}
    204                                                 value={filter}
    205                                                 onChange={(e) => setFilter(e.target.value)}
    206                                         >
    207                                                 <option value="all">{__('All', 'ultimate-store-kit')}</option>
    208                                                 <option value="free">{__('Free', 'ultimate-store-kit')}</option>
    209                                                 <option value="pro">{__('Pro', 'ultimate-store-kit')}</option>
    210                                         </select>
    211                                 </div>
    212 
    213                                 {contentTypes.length > 0 && (
    214                                         <div className="flex items-center gap-1.5">
    215                                                 <label className={selectLabel}>
    216                                                         {__('Template:', 'ultimate-store-kit')}
    217                                                 </label>
     220
     221                                        <div className="flex items-center gap-1 rounded-full bg-[#f4f5f7] p-1" role="group" aria-label={__('Widget category', 'ultimate-store-kit')}>
     222                                                {categories.map((cat) => {
     223                                                        const total = (allWidgets[SECTION_KEYS[cat.type]] || []).filter((w) => w.type === 'checkbox').length;
     224                                                        const active = cat.type === widgetType;
     225                                                        return (
     226                                                                <button
     227                                                                        key={cat.type}
     228                                                                        type="button"
     229                                                                        aria-pressed={active}
     230                                                                        onClick={() => onNavigate && onNavigate(PAGE_FOR_TYPE[cat.type])}
     231                                                                        className={`cursor-pointer rounded-full border-0 px-3 py-1.5 text-[12.5px] font-bold transition-colors ${
     232                                                                                active ? 'bg-white text-[#0f1115] shadow-[0_1px_3px_rgba(0,0,0,.12)]' : 'bg-transparent text-[#52525b] hover:text-[#18181b]'
     233                                                                        }`}
     234                                                                >
     235                                                                        {cat.label} <span className="text-[#8a8a93]">{total}</span>
     236                                                                </button>
     237                                                        );
     238                                                })}
     239                                        </div>
     240
     241                                        {contentTypes.length > 0 ? (
    218242                                                <select
    219                                                         className={`${selectInput} ${toolbarControl}`}
    220243                                                        value={contentTypeFilter}
    221                                                         onChange={(e) => setContentTypeFilter(e.target.value)}
     244                                                        onChange={(event) => setContentTypeFilter(event.target.value)}
     245                                                        className="!m-0 !rounded-full !border !border-solid !border-[#e6e6ea] !bg-white !py-1.5 !pl-3 !pr-8 text-[12.5px] font-semibold !text-[#3f3f46] !shadow-none"
     246                                                        aria-label={__('Template type', 'ultimate-store-kit')}
    222247                                                >
    223                                                         <option value="all">{__('All Templates', 'ultimate-store-kit')}</option>
     248                                                        <option value="all">{__('All templates', 'ultimate-store-kit')}</option>
    224249                                                        {contentTypes.map((type) => (
    225250                                                                <option key={type} value={type}>
    … …  
    228253                                                        ))}
    229254                                                </select>
    230                                         </div>
    231                                 )}
     255                                        ) : null}
     256                                </div>
     257
     258                                <div className="flex items-center gap-1 rounded-full bg-[#f4f5f7] p-1" role="group" aria-label={__('Filter widgets', 'ultimate-store-kit')}>
     259                                        {chips.map((chip) => (
     260                                                <button
     261                                                        key={chip.key}
     262                                                        type="button"
     263                                                        onClick={() => setFilter(chip.key)}
     264                                                        aria-pressed={filter === chip.key}
     265                                                        className={`cursor-pointer rounded-full border-0 px-3 py-1.5 text-[12.5px] font-bold transition-colors ${
     266                                                                filter === chip.key ? 'bg-gradient-brand text-white shadow-glow' : 'bg-transparent text-[#52525b] hover:text-[#18181b]'
     267                                                        }`}
     268                                                >
     269                                                        {chip.label} <span className={filter === chip.key ? 'opacity-80' : 'text-[#8a8a93]'}>{counts[chip.key]}</span>
     270                                                </button>
     271                                        ))}
     272                                </div>
    232273                        </div>
    233274
    234                         {/* Action buttons — always pinned to the right, never wrap */}
    235                         <div className="flex flex-wrap items-center gap-1.5">
    236                                 <button
    237                                         type="button"
    238                                         className={`${toolbarBtn} ${
    239                                                 activeCount > 0
    240                                                         ? '!bg-uks-brand !text-white hover:!bg-uks-brand-dark border-none'
    241                                                         : '!border !border-uks-brand/25 bg-uks-brand/5 text-uks-brand hover:bg-uks-brand/10 hover:text-uks-brand-dark'
    242                                         } focus:outline-none focus:ring-2 focus:ring-uks-brand focus:ring-offset-2 focus:ring-offset-white`}
    243                                         onClick={handleActivateAll}
    244                                 >
    245                                         <CheckIcon className="h-3.5 w-3.5" />
    246                                         {__('Activate All', 'ultimate-store-kit')}
    247                                 </button>
    248                                 <button
    249                                         type="button"
    250                                         className={`${toolbarBtn} ${
    251                                                 activeCount === 0
    252                                                         ? '!bg-uks-brand !text-white hover:!bg-uks-brand-dark border-none'
    253                                                         : '!border !border-uks-brand/25 bg-uks-brand/5 text-uks-brand hover:bg-uks-brand/10 hover:text-uks-brand-dark'
    254                                         } focus:outline-none focus:ring-2 focus:ring-uks-brand focus:ring-offset-2 focus:ring-offset-white`}
    255                                         onClick={handleDeactivateAll}
    256                                 >
    257                                         <CloseIcon className="h-3.5 w-3.5" />
    258                                         {__('Deactivate All', 'ultimate-store-kit')}
    259                                 </button>
    260                         </div>
    261                 </div>
    262 
    263                         <div className="grid grid-cols-1 gap-3 rounded-lg border border-solid border-gray-100 bg-white p-5 sm:grid-cols-2 lg:grid-cols-3 2xl:grid-cols-4">
    264                                 {filteredWidgets.length === 0 && (
    265                                         <div className="col-span-full py-10 text-center text-sm text-slate-400">
    266                                                 {__('No widgets found.', 'ultimate-store-kit')}
    267                                         </div>
    268                                 )}
    269                                 {filteredWidgets.map((widget) => {
    270                                         const isProWidget = widget.widget_type === 'pro';
    271                                         const dependency = widget.dependency || null;
    272                                         const hasMissingDependency =
    273                                                 dependency && (!dependency.isInstalled || !dependency.isActive);
    274                                         const isDisabled = (isProWidget && !isPro) || hasMissingDependency;
    275                                         const isActive = isWidgetEffectivelyOn(
    276                                                 widget,
    277                                                 localSettings[widget.name],
    278                                                 isPro
    279                                         );
    280 
    281                                         return (
    282                                                 <div
    283                                                         key={widget.name}
    284                                                         className={`${cardBase} ${isActive ? 'border-emerald-300' : ''
    285                                                                 } ${isDisabled ? 'opacity-60 cursor-not-allowed bg-slate-100' : ''}`}
    286                                                 >
    287                                                         <div className="flex items-start justify-between gap-2">
    288                                                                 <span className="text-base font-semibold leading-snug text-slate-800">
    289                                                                         {widget.label}
     275                        {filteredWidgets.length === 0 ? (
     276                                <div className="rounded-card border border-solid border-[#e9e9ed] bg-white px-6 py-14 text-center text-[13.5px] text-[#6c6c75]">
     277                                        {__('No widgets found.', 'ultimate-store-kit')}
     278                                </div>
     279                        ) : (
     280                                <div className="grid grid-cols-3 gap-[10px] max-[1180px]:grid-cols-2 max-[700px]:grid-cols-1">
     281                                        {filteredWidgets.map((widget) => {
     282                                                const dependency = widget.dependency || null;
     283                                                const missingDependency = dependency && (!dependency.isInstalled || !dependency.isActive);
     284                                                const locked = isLocked(widget);
     285                                                const isActive = isWidgetEffectivelyOn(widget, localSettings[widget.name], isPro);
     286                                                const changed = localSettings[widget.name] !== savedValues[widget.name];
     287
     288                                                return (
     289                                                        <div
     290                                                                key={widget.name}
     291                                                                className={`flex items-center gap-3 rounded-panel border border-solid bg-white px-[14px] py-3 transition-colors ${
     292                                                                        changed ? 'border-[#fbc8cd] bg-[#fffbfb]' : 'border-[#e9e9ed] hover:border-[#d4d4dc]'
     293                                                                }`}
     294                                                        >
     295                                                                <span
     296                                                                        className={`grid h-10 w-10 shrink-0 place-items-center rounded-tile ${isActive ? 'bg-[#fff1f2] text-[#e30c1d]' : 'bg-[#f4f4f5] text-[#8a8a93]'}`}
     297                                                                        aria-hidden="true"
     298                                                                >
     299                                                                        <i className={`usk-icon-${widget.name} text-[18px] leading-none`} />
    290300                                                                </span>
    291                                                                 {isProWidget && (
    292                                                                         <span className={proBadge}>
    293                                                                                 {__('Pro', 'ultimate-store-kit')}
    294                                                                         </span>
    295                                                                 )}
    296                                                         </div>
    297                                                         <div className="flex items-center justify-between">
    298                                                                 <div className="flex gap-2 items-center">
    299                                                                         {dependency?.actionUrl && (
    300                                                                                 <a
    301 
    302                                                                                         href={dependency.actionUrl}
    303                                                                                         target={dependency.actionType === 'install' ? '_blank' : undefined}
    304                                                                                         rel={dependency.actionType === 'install' ? 'noopener noreferrer' : undefined}
    305                                                                                         title={dependency.message || dependency.actionLabel}
    306                                                                                         className="text-gray-400 transition-colors hover:text-uks-brand flex items-center gap-1 decoration-none"
    307                                                                                         style={{
    308                                                                                                 textDecoration: 'none',
    309                                                                                         }}
    310                                                                                 >
    311                                                                                         <LinkPluginIcon className="w-4 h-4 block" />
    312 
    313                                                                                         {__('Install', 'ultimate-store-kit')}
    314                                                                                 </a>
    315                                                                         )}
    316                                                                         {widget.demo_url &&
    317                                                                                 !widget.demo_url.startsWith('#') && (
     301                                                                <span className="min-w-0 flex-1">
     302                                                                        <span className={`block truncate text-[13.5px] font-bold ${locked ? 'text-[#8a8a93]' : 'text-[#0f1115]'}`}>{widget.label}</span>
     303                                                                        <span className="mt-1 flex flex-wrap items-center gap-x-2.5 gap-y-1">
     304                                                                                {missingDependency && dependency?.actionUrl ? (
    318305                                                                                        <a
    319                                                                                                 href={widget.demo_url}
    320                                                                                                 target="_blank"
    321                                                                                                 rel="noopener noreferrer"
    322                                                                                                 title={__(
    323                                                                                                         'Demo',
    324                                                                                                         'ultimate-store-kit'
    325                                                                                                 )}
    326                                                                                                 className="text-gray-400 transition-colors hover:text-uks-brand flex items-center gap-1 decoration-none"
    327                                                                                                 style={{
    328                                                                                                         textDecoration: 'none',
    329                                                                                                 }}
     306                                                                                                href={dependency.actionUrl}
     307                                                                                                target={dependency.actionType === 'install' ? '_blank' : undefined}
     308                                                                                                rel={dependency.actionType === 'install' ? 'noopener noreferrer' : undefined}
     309                                                                                                title={dependency.message}
     310                                                                                                className={`${linkClass} !text-[#b45309]`}
    330311                                                                                        >
    331                                                                                                 <EyeIcon className="w-4 h-4 block" />
    332 
     312                                                                                                <PlugIcon size={12} />
     313                                                                                                {dependency.actionLabel || __('Install', 'ultimate-store-kit')}
     314                                                                                        </a>
     315                                                                                ) : null}
     316                                                                                {widget.demo_url && !widget.demo_url.startsWith('#') ? (
     317                                                                                        <a href={widget.demo_url} target="_blank" rel="noopener noreferrer" className={linkClass}>
     318                                                                                                <EyeIcon size={12} />
    333319                                                                                                {__('Demo', 'ultimate-store-kit')}
    334320                                                                                        </a>
    335                                                                                 )}
    336                                                                         {widget.video_url && (
    337                                                                                 <a
    338                                                                                         href={widget.video_url}
    339                                                                                         target="_blank"
    340                                                                                         rel="noopener noreferrer"
    341                                                                                         title={__(
    342                                                                                                 'Video',
    343                                                                                                 'ultimate-store-kit'
    344                                                                                         )}
    345                                                                                         className="text-gray-400 transition-colors hover:text-uks-brand flex items-center gap-1 decoration-none"
    346 
    347                                                                                                 style={{
    348                                                                                                         textDecoration: 'none',
    349                                                                                                 }}
    350                                                                                 >
    351                                                                                         <PlayIcon className="w-4 h-4 block" />
    352 
    353                                                                                         {__('Video', 'ultimate-store-kit')}
    354                                                                                 </a>
    355                                                                         )}
    356                                                                 </div>
    357                                                                 <Toggle
    358                                                                         checked={isActive}
    359                                                                         disabled={isDisabled}
    360                                                                         onChange={() =>
    361                                                                                 handleToggle(widget.name)
    362                                                                         }
    363                                                                 />
     321                                                                                ) : null}
     322                                                                                {widget.video_url ? (
     323                                                                                        <a href={widget.video_url} target="_blank" rel="noopener noreferrer" className={linkClass}>
     324                                                                                                <PlayIcon size={12} />
     325                                                                                                {__('Video', 'ultimate-store-kit')}
     326                                                                                        </a>
     327                                                                                ) : null}
     328                                                                        </span>
     329                                                                </span>
     330                                                                <span className="flex shrink-0 items-center gap-2">
     331                                                                        {isNew(widget) ? <Pill tone="rose">{__('NEW', 'ultimate-store-kit')}</Pill> : null}
     332                                                                        {widget.widget_type === 'pro' ? <ProTag /> : null}
     333                                                                        <span title={locked ? (missingDependency ? dependency?.message : __('Available in Pro', 'ultimate-store-kit')) : undefined}>
     334                                                                                <Toggle
     335                                                                                        checked={isActive}
     336                                                                                        disabled={locked}
     337                                                                                        onChange={() =>
     338                                                                                                setLocalSettings((prev) => ({
     339                                                                                                        ...prev,
     340                                                                                                        [widget.name]: prev[widget.name] === 'on' ? 'off' : 'on',
     341                                                                                                }))
     342                                                                                        }
     343                                                                                />
     344                                                                        </span>
     345                                                                </span>
    364346                                                        </div>
    365                                                         {hasMissingDependency && dependency?.actionUrl && (
    366                                                                 <div className="text-[13px] leading-relaxed text-slate-500">
    367                                                                         {dependency.message}{' '}
    368                                                                         <a
    369                                                                                 href={dependency.actionUrl}
    370                                                                                 className="font-semibold text-uks-brand hover:underline"
    371                                                                                 target={dependency.actionType === 'install' ? '_blank' : undefined}
    372                                                                                 rel={dependency.actionType === 'install' ? 'noopener noreferrer' : undefined}
    373                                                                         >
    374                                                                                 {dependency.actionLabel}
    375                                                                         </a>
    376                                                                 </div>
    377                                                         )}
    378                                                 </div>
    379                                         );
    380                                 })}
    381                         </div>
    382 
    383                         <div className="mt-6 flex justify-end pt-4">
    384                                 <button
    385                                         type="button"
    386                                         className={`${btnLg} ${btnPrimary}`}
    387                                         onClick={handleSave}
    388                                         disabled={saving}
    389                                 >
    390                                         {saving
    391                                                 ? __('Saving...', 'ultimate-store-kit')
    392                                                 : __('Save Changes', 'ultimate-store-kit')}
    393                                 </button>
    394                         </div>
     347                                                );
     348                                        })}
     349                                </div>
     350                        )}
     351
     352                        {dirtyNames.length ? (
     353                                <div className="fixed bottom-5 left-1/2 z-[9990] box-border flex w-[min(640px,calc(100vw-32px))] -translate-x-1/2 animate-usk-pop items-center justify-between gap-3 rounded-full border border-solid border-[#e6e6ea] bg-white py-2 pl-5 pr-2 shadow-pop">
     354                                        <span className="flex items-center gap-2 text-[13.5px] font-bold text-[#0f1115]">
     355                                                <span className="text-[#e30c1d]">
     356                                                        <WidgetsIcon size={16} />
     357                                                </span>
     358                                                {sprintf(
     359                                                        /* translators: %d: number of changed widgets. */
     360                                                        __('%d unsaved change(s)', 'ultimate-store-kit'),
     361                                                        dirtyNames.length
     362                                                )}
     363                                        </span>
     364                                        <span className="flex items-center gap-2">
     365                                                <button type="button" onClick={discard} className="cursor-pointer rounded-full border-0 bg-transparent px-4 py-2 text-[13px] font-bold text-[#52525b] hover:text-[#0f1115]">
     366                                                        {__('Discard', 'ultimate-store-kit')}
     367                                                </button>
     368                                                <button
     369                                                        type="button"
     370                                                        onClick={handleSave}
     371                                                        disabled={saving}
     372                                                        className="cursor-pointer rounded-full border-0 bg-gradient-brand px-5 py-2.5 text-[13px] font-extrabold text-white shadow-glow disabled:cursor-wait disabled:opacity-70"
     373                                                >
     374                                                        {saving ? __('Saving…', 'ultimate-store-kit') : __('Save changes', 'ultimate-store-kit')}
     375                                                </button>
     376                                        </span>
     377                                </div>
     378                        ) : null}
    395379                </div>
    396380        );
  • ultimate-store-kit/trunk/src/admin/style.scss

    r3650790 r3790891  
    22@tailwind components;
    33@tailwind utilities;
     4
     5/* Element Pack dashboard typeface (SIL Open Font License), scoped to the app. */
     6@font-face {
     7        font-family: "IBM Plex Sans";
     8        src: url("../../includes/Admin/assets/fonts/IBMPlexSans-Variable.woff2") format("woff2-variations"),
     9                url("../../includes/Admin/assets/fonts/IBMPlexSans-Variable.woff2") format("woff2");
     10        font-weight: 100 700;
     11        font-style: normal;
     12        font-display: swap;
     13}
     14
     15/* Set on the app wrapper rather than through `font-sans`: Ultimate Store Kit
     16   Pro ships its own Tailwind build, loaded later, with a different font-sans. */
     17.ultimate-store-kit-admin-root .usk-app {
     18        font-family: "IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, sans-serif;
     19        -webkit-font-smoothing: antialiased;
     20}
     21
     22.ultimate-store-kit-admin-root .usk-app :is(h1, h2, h3, h4, button, input, select, textarea) {
     23        font-family: inherit;
     24}
     25
     26/* WordPress admin styles links and buttons globally; the app's own classes decide. */
     27.ultimate-store-kit-admin-root a:focus,
     28.ultimate-store-kit-admin-root button:focus {
     29        box-shadow: none;
     30}
     31
     32.ultimate-store-kit-admin-root a:focus-visible,
     33.ultimate-store-kit-admin-root button:focus-visible {
     34        outline: 2px solid #e30c1d;
     35        outline-offset: 2px;
     36}
     37
     38/* The tab strip scrolls sideways on small screens without a visible bar. */
     39.usk-tabstrip-scroll {
     40        scrollbar-width: none;
     41}
     42
     43.usk-tabstrip-scroll::-webkit-scrollbar {
     44        display: none;
     45}
    446
    547/* ==================== FIXED TOAST NOTIFICATION ==================== */
  • ultimate-store-kit/trunk/src/admin/utils.js

    r3765614 r3790891  
    197197};
    198198
     199/**
     200 * Description and on/off state of a module item, for the Modules page and the
     201 * dashboard. State comes from ultimate_store_kit_other_settings, where module
     202 * switches are stored (core groups use their slug, Pro modules their page id).
     203 *
     204 * @param {object} item     Module item ({ id, icon, … }).
     205 * @param {object} settings All saved settings.
     206 * @returns {{description: string, status: ('on'|'off')}}
     207 */
     208const getModuleInfo = (item, settings) => {
     209        const placeholder = getPlaceholderModules().find((p) => p.id === item.id);
     210        const proPage = ((window.ultimateStoreKitProData || {}).pages || {})[item.id];
     211        const key = item.id.startsWith('settings-') ? item.id.slice('settings-'.length) : item.id;
     212        const other = (settings && settings.ultimate_store_kit_other_settings) || {};
     213        // A module whose switch was never saved is off: the loaders only start a
     214        // module when its key is 'on'.
     215        const status = other[key] === 'on' || other[key] === 'yes' ? 'on' : 'off';
     216
     217        return {
     218                description: (proPage && proPage.description) || (placeholder && placeholder.description) || proGroupDescriptions[item.icon] || '',
     219                status,
     220        };
     221};
     222
    199223const getAdminBarHeight = () =>
    200224        document.getElementById('wpadminbar')?.offsetHeight || 0;
    … …  
    245269export {
    246270        buildSidebarSections,
     271        getModuleInfo,
    247272        getAdminBarHeight,
    248273        getModuleSidebarIcon,
  • ultimate-store-kit/trunk/tailwind.config.js

    r3650790 r3790891  
    1111        // never match — put Tailwind classes only on descendants, or use a wrapper with
    1212        // `display: contents` around portaled UI (see OfferEditor).
    13         important: '.ultimate-store-kit-admin-root',
     13        // Prefixed with #wpbody-content so these utilities outrank the same class names
     14        // in Ultimate Store Kit Pro's own Tailwind build, which loads later with the
     15        // plain root scope: otherwise its `.hidden`, `.grid-cols-3`, `.font-sans`…
     16        // override this build's responsive variants. This build already scans Pro's
     17        // admin source (see `content`), so Pro pages render from these rules too;
     18        // Pro's portals outside #wpbody-content keep its own stylesheet.
     19        important: '#wpbody-content .ultimate-store-kit-admin-root',
    1420
    1521        corePlugins: {
    … …  
    2127                        fontFamily: {
    2228                                sans: [
     29                                        '"IBM Plex Sans"',
    2330                                        '-apple-system',
    2431                                        'BlinkMacSystemFont',
    … …  
    3239                        colors: {
    3340                                uks: {
    34                                         brand: '#00216A',
    35                                         'brand-dark': '#00216A',
     41                                        brand: '#E30C1D',
     42                                        'brand-dark': '#B80A17',
    3643                                        dark: '#1a2332',
    3744                                        /** ~darken($dark, 3%) for sidebar promo */
    … …  
    4451                        borderRadius: {
    4552                                usk: '10px',
     53                                // Element Pack dashboard radii.
     54                                tile: '11px',
     55                                panel: '16px',
     56                                card: '18px',
    4657                        },
    4758                        boxShadow: {
    4859                                usk: '0 2px 8px rgba(0, 0, 0, 0.06)',
     60                                pop: '0 24px 60px -16px rgba(0, 0, 0, 0.32)',
     61                                glow: '0 6px 18px rgba(227, 12, 29, 0.28)',
     62                                'glow-lg': '0 8px 24px rgba(227, 12, 29, 0.38)',
     63                                lift: '0 12px 26px -14px rgba(0, 0, 0, 0.22)',
     64                        },
     65                        backgroundImage: {
     66                                'gradient-brand': 'linear-gradient(135deg, #ff4f57, #E30C1D)',
    4967                        },
    5068                        keyframes: {
     69                                uskPop: {
     70                                        from: { opacity: '0', transform: 'translateY(6px) scale(.98)' },
     71                                        to: { opacity: '1', transform: 'none' },
     72                                },
    5173                                uskSlideIn: {
    5274                                        from: { opacity: '0', transform: 'translateY(-8px)' },
    … …  
    6183                        animation: {
    6284                                'usk-slide-in': 'uskSlideIn 0.3s ease',
     85                                'usk-pop': 'uskPop .25s cubic-bezier(.16,1,.3,1) both',
    6386                                'offer-drawer': 'offerDrawerSlide 200ms ease-out',
    6487                        },
  • ultimate-store-kit/trunk/traits/global-widget-template.php

    r3684617 r3790891  
    254254                        }
    255255                endif;
     256
     257                /**
     258                 * Fires at the end of a product's badge area in the grid, carousel,
     259                 * list and slider widgets, so add-ons can print extra badges there
     260                 * (used by Ultimate Store Kit Pro's Product Badges module).
     261                 *
     262                 * @param \WC_Product $product  Product being rendered.
     263                 * @param array       $settings Widget settings.
     264                 */
     265                do_action('ultimate_store_kit/product_badges', $product, $settings);
    256266        }
    257267        protected function register_global_template_navigation()
  • ultimate-store-kit/trunk/ultimate-store-kit.php

    r3777913 r3790891  
    55 * Plugin URI: https://storekit.pro/
    66 * Description: Build online stores in WordPress with the powerful store builder addon for Elementor. Enjoy a wide range of customizations and easily build product grids, carousels, single product/page elements, checkouts and more.
    7  * Version: 4.0.2
     7 * Version: 4.1.0
    88 * Author: BdThemes
    99 * Author URI: https://bdthemes.com/
    … …  
    3636
    3737// Some pre define value for easy use
    38 define('BDTUSK_VER', '4.0.2');
     38define('BDTUSK_VER', '4.1.0');
    3939define('BDTUSK__FILE__', __FILE__);
    4040define('BDTUSK_PNAME', basename(dirname(BDTUSK__FILE__)));
  • ultimate-store-kit/trunk/vendor/composer/autoload_classmap.php

    r3504294 r3790891  
    99    'Composer\\InstalledVersions' => $vendorDir . '/composer/InstalledVersions.php',
    1010    'UltimateStoreKit\\API\\Base' => $baseDir . '/includes/API/Base.php',
     11    'UltimateStoreKit\\API\\OtherPlugins' => $baseDir . '/includes/API/OtherPlugins.php',
    1112    'UltimateStoreKit\\API\\Settings' => $baseDir . '/includes/API/Settings.php',
    1213    'UltimateStoreKit\\Admin\\Biggopties' => $baseDir . '/includes/Admin/Biggopties.php',
  • ultimate-store-kit/trunk/vendor/composer/autoload_static.php

    r3504294 r3790891  
    2424        'Composer\\InstalledVersions' => __DIR__ . '/..' . '/composer/InstalledVersions.php',
    2525        'UltimateStoreKit\\API\\Base' => __DIR__ . '/../..' . '/includes/API/Base.php',
     26        'UltimateStoreKit\\API\\OtherPlugins' => __DIR__ . '/../..' . '/includes/API/OtherPlugins.php',
    2627        'UltimateStoreKit\\API\\Settings' => __DIR__ . '/../..' . '/includes/API/Settings.php',
    2728        'UltimateStoreKit\\Admin\\Biggopties' => __DIR__ . '/../..' . '/includes/Admin/Biggopties.php',
  • ultimate-store-kit/trunk/vendor/composer/installed.php

    r3777913 r3790891  
    22    'root' => array(
    33        'name' => 'bdthemes/ultimate-store-kit',
    4         'pretty_version' => '4.0.2',
    5         'version' => '4.0.2.0',
    6         'reference' => 'bd6926078449740f623381f628551acbb24fe470',
     4        'pretty_version' => '4.1.0',
     5        'version' => '4.1.0.0',
     6        'reference' => '1e200970e2e85946f0fd3a3c0ab1fcd48c5b075c',
    77        'type' => 'wordpress-plugin',
    88        'install_path' => __DIR__ . '/../../',
    … …  
    1212    'versions' => array(
    1313        'bdthemes/ultimate-store-kit' => array(
    14             'pretty_version' => '4.0.2',
    15             'version' => '4.0.2.0',
    16             'reference' => 'bd6926078449740f623381f628551acbb24fe470',
     14            'pretty_version' => '4.1.0',
     15            'version' => '4.1.0.0',
     16            'reference' => '1e200970e2e85946f0fd3a3c0ab1fcd48c5b075c',
    1717            'type' => 'wordpress-plugin',
    1818            'install_path' => __DIR__ . '/../../',
Note: See TracChangeset for help on using the changeset viewer.