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