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.92 kB
"use strict";var a=Object.defineProperty;var b=Object.getOwnPropertyDescriptor;var C=Object.getOwnPropertyNames;var $=Object.prototype.hasOwnProperty;var O=(e,s)=>{for(var t in s)a(e,t,{get:s[t],enumerable:!0})},P=(e,s,t,p)=>{if(s&&typeof s=="object"||typeof s=="function")for(let n of C(s))!$.call(e,n)&&n!==t&&a(e,n,{get:()=>s[n],enumerable:!(p=b(s,n))||p.enumerable});return e};var h=e=>P(a({},"__esModule",{value:!0}),e);var N={};O(N,{getResponsiveClassNames:()=>l,getResponsiveCustomProperties:()=>m,getResponsiveStyles:()=>R});module.exports=h(N);var c=require("../props/prop-def.js"),d=require("./has-own-property.js"),g=require("./is-responsive-object.js");function R({className:e,customProperties:s,...t}){const p=l({allowArbitraryValues:!0,className:e,...t}),n=m({customProperties:s,...t});return[p,n]}function l({allowArbitraryValues:e,value:s,className:t,propValues:p,parseValue:n=i=>i}){const i=[];if(s){if(typeof s=="string"&&p.includes(s))return v(t,s,n);if((0,g.isResponsiveObject)(s)){const o=s;for(const r in o){if(!(0,d.hasOwnProperty)(o,r)||!c.breakpoints.has(r))continue;const u=o[r];if(u!==void 0){if(p.includes(u)){const f=v(t,u,n),y=r==="initial"?f:`${r}:${f}`;i.push(y)}else if(e){const f=r==="initial"?t:`${r}:${t}`;i.push(f)}}}return i.join(" ")}if(e)return t}}function v(e,s,t){const p=e?"-":"",n=t(s),i=n?.startsWith("-"),o=i?"-":"",r=i?n?.substring(1):n;return`${o}${e}${p}${r}`}function m({customProperties:e,value:s,propValues:t,parseValue:p=n=>n}){let n={};if(!(!s||typeof s=="string"&&t.includes(s))){if(typeof s=="string"&&(n=Object.fromEntries(e.map(i=>[i,s]))),(0,g.isResponsiveObject)(s)){const i=s;for(const o in i){if(!(0,d.hasOwnProperty)(i,o)||!c.breakpoints.has(o))continue;const r=i[o];if(!t.includes(r))for(const u of e)n={[o==="initial"?u:`${u}-${o}`]:r,...n}}}for(const i in n){const o=n[i];o!==void 0&&(n[i]=p(o))}return n}} //# sourceMappingURL=get-responsive-styles.js.map