UNPKG

@radix-ui/themes

Version:

[![Radix Themes Logo](https://radix-ui.com/social/themes.png)](https://radix-ui.com/themes)

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