@radix-ui/themes
Version:
[](https://radix-ui.com/themes)
3 lines (2 loc) • 1.42 kB
JavaScript
import{breakpoints as a}from"../props/prop-def.js";import{hasOwnProperty as c}from"./has-own-property.js";import{isResponsiveObject as d}from"./is-responsive-object.js";function R({className:r,customProperties:s,...i}){const p=g({allowArbitraryValues:!0,className:r,...i}),n=m({customProperties:s,...i});return[p,n]}function g({allowArbitraryValues:r,value:s,className:i,propValues:p,parseValue:n=e=>e}){const e=[];if(s){if(typeof s=="string"&&p.includes(s))return l(i,s,n);if(d(s)){const t=s;for(const o in t){if(!c(t,o)||!a.has(o))continue;const u=t[o];if(u!==void 0){if(p.includes(u)){const f=l(i,u,n),v=o==="initial"?f:`${o}:${f}`;e.push(v)}else if(r){const f=o==="initial"?i:`${o}:${i}`;e.push(f)}}}return e.join(" ")}if(r)return i}}function l(r,s,i){const p=r?"-":"",n=i(s),e=n?.startsWith("-"),t=e?"-":"",o=e?n?.substring(1):n;return`${t}${r}${p}${o}`}function m({customProperties:r,value:s,propValues:i,parseValue:p=n=>n}){let n={};if(!(!s||typeof s=="string"&&i.includes(s))){if(typeof s=="string"&&(n=Object.fromEntries(r.map(e=>[e,s]))),d(s)){const e=s;for(const t in e){if(!c(e,t)||!a.has(t))continue;const o=e[t];if(!i.includes(o))for(const u of r)n={[t==="initial"?u:`${u}-${t}`]:o,...n}}}for(const e in n){const t=n[e];t!==void 0&&(n[e]=p(t))}return n}}export{g as getResponsiveClassNames,m as getResponsiveCustomProperties,R as getResponsiveStyles};
//# sourceMappingURL=get-responsive-styles.js.map