UNPKG

@bedrock-layout/frame

Version:
2 lines (1 loc) 1 kB
(function(e,r){typeof exports=="object"&&typeof module<"u"?r(exports,require("@bedrock-layout/spacing-constants"),require("@bedrock-layout/type-utils"),require("react")):typeof define=="function"&&define.amd?define(["exports","@bedrock-layout/spacing-constants","@bedrock-layout/type-utils","react"],r):(e=typeof globalThis<"u"?globalThis:e||self,r(e.frame={},e.spacingConstants,e.typeUtils,e.React))})(this,(function(e,r,o,a){"use strict";function s(t){return(typeof t=="string"?t.split(/[/:]/):t).map(n=>String(n).trim()).join("/")}function c(t){if(Array.isArray(t)&&t.length===2&&t.every(Number.isFinite)||typeof t=="string"&&/^\d{1,1000} ?[/:] ?\d{1,1000}$/.test(t))return s(t)}const u=o.forwardRefWithAs(function({as:i="div",ratio:n,style:d={},position:f,padding:y,...p},g){const m=c(n),l=r.getPaddingAttributes(y).join(" ");return a.createElement(i,{"data-br-frame":l,ref:g,style:{"--ratio":m,"--position":f,...d},...p})});e.Frame=u,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}));