UNPKG

@lanaco/lnc-react-ui

Version:

React component library

64 lines (56 loc) 2.41 kB
"use strict";const e=require("react/jsx-runtime"),d=require("react"),a=require("./emotion-styled.browser.esm-DwHBgTPn.cjs"),s=require("./breakpoints-CcVm-gVm.cjs"),j=require("./index-RrqW9QBJ.cjs"),v=a.styled.div` display: flex; flex-direction: column; padding: 1.25rem; gap: 1.25rem; background-color: var(--white, #fff); box-shadow: 0px 1px 3px 0px rgba(0, 0, 0, 0.1), 0px 1px 2px 0px rgba(0, 0, 0, 0.06); border: 1px solid var(--gray-95008, #14161a14); border-radius: 0.75rem; & .wrapper-title { font-weight: 600; font-size: 1rem; } @media ${s.down("S")} { padding: 0; border-radius: 0; box-shadow: none; border: none; } `,S=a.styled.div` display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.5rem; @media ${s.down("M")} { grid-template-columns: repeat(2, 1fr); } @media ${s.down("S")} { gap: 0.5rem; } @media ${s.down("XS")} { grid-template-columns: 1fr; } `,N=a.styled.div` display: flex; flex-direction: column; gap: 0.75rem; font-weight: 500; font-size: 0.875rem; & .group-items { padding: 0 0.75rem; display: flex; flex-direction: column; gap: 0.5rem; font-size: 0.75rem; font-weight: 400; & .count-txt { color: var(--gray-600, #676e79); } } & .region, .city { cursor: pointer; transition: var(--transition); } `,q=d.forwardRef((c,p)=>{const{title:m,items:i,options:o,selectedOption:g=[],onSelectRegion:u=()=>{},onSelectCity:x=()=>{},onSelectOption:f=()=>{},onSelectAll:h=()=>{},productsToolbarName:w="All"}=c;return e.jsxs(v,{ref:p,className:"lp-section lp-location-search-section",children:[e.jsx("div",{className:"wrapper-title",children:m}),(o==null?void 0:o.length)>0&&e.jsx(j.SelectBar,{items:o,selectedIds:g,onSelect:(r,t)=>{f(r,t)},onSelectAll:h,labelKey:"name",valueKey:"code",noMargin:!0,productsToolbarName:w}),e.jsx(S,{children:i==null?void 0:i.map((r,t)=>{var l;return e.jsxs(N,{children:[e.jsx("div",{className:"region",onClick:()=>u(r),children:r==null?void 0:r.name}),e.jsx("div",{className:"group-items",children:(l=r==null?void 0:r.cities)==null?void 0:l.map((n,b)=>e.jsx(d.Fragment,{children:e.jsxs("div",{className:"city",onClick:()=>x(n),children:[e.jsx("span",{children:n==null?void 0:n.name}),e.jsxs("span",{className:"count-txt",children:["(",n==null?void 0:n.count,")"]})]})},t+b))})]},t)})})]})});module.exports=q;