@ikas/bp-storefront 1.4.0-beta.207 → 1.4.0-beta.209
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1 +1 @@
|
|
|
1
|
-
import{__assign as n}from'./../../../ext/tslib/tslib.es6.mjs.js';var
|
|
1
|
+
import{__assign as n,__spreadArray as e}from'./../../../ext/tslib/tslib.es6.mjs.js';var i=new RegExp(["[A-Z]?[a-z]+","[0-9]*(?:1ST|2ND|3RD|(?![123])[0-9]TH)(?=\\b|[a-z_])","[0-9]*(?:1st|2nd|3rd|(?![123])[0-9]th)(?=\\b|[A-Z_])","[A-Z]+(?![a-z])","[0-9]+","[A-Z]"].join("|"),"g");function r(n){return(String(n).match(i)||[]).map(function(n,e){var i=n.toLowerCase();return 0===e?i:i.charAt(0).toUpperCase()+i.slice(1)}).join("")}var t={settings:{},colors:[],typography:[],breakpoints:[],keyframes:[],colorSchemes:{schemes:[],values:[]}},l=function(n,e){return e?"var(--".concat(r(n),", ").concat(e,")"):"var(--".concat(r(n),")")},u=function(n){return"_".concat(n)},o=function(n){return"bp(".concat(n,")")},a=function(n){return n.map(function(n){return{id:n.id,width:Number(n.width)||0}})},d=/\d*\.?\d+(?:e[+-]?\d+)?px|\d*\.?\d+(?:e[+-]?\d+)?|[()+\-*/]|\S/gi,s=function(n,e){var i=c(n,e);return i&&v(n,e,i)},v=function(n,e,i){var r=n[e.i];if("+"!==r&&"-"!==r)return i;e.i+=1;var t=c(n,e);return t&&t.isPx===i.isPx?v(n,e,{n:"+"===r?i.n+t.n:i.n-t.n,isPx:i.isPx}):null},c=function(n,e){var i=p(n,e);return i&&f(n,e,i)},f=function(n,e,i){var r=n[e.i];if("*"!==r&&"/"!==r)return i;e.i+=1;var t=p(n,e);return t?"*"===r?i.isPx&&t.isPx?null:f(n,e,{n:i.n*t.n,isPx:i.isPx||t.isPx}):t.isPx||0===t.n?null:f(n,e,{n:i.n/t.n,isPx:i.isPx}):null},p=function(n,e){var i,r=n[e.i];return"-"===r?(e.i+=1,(i=p(n,e))&&{n:-i.n,isPx:i.isPx}):"+"===r?(e.i+=1,p(n,e)):"("===r?(e.i+=1,(i=s(n,e))&&")"===n[e.i]?(e.i+=1,i):null):"object"==typeof r&&null!==r?(e.i+=1,r):null},m=function(n){var e=function(n){var e=(n.match(d)||[]).map(function(n){return/^\d*\.?\d+(?:e[+-]?\d+)?px$/i.test(n)?{n:parseFloat(n),isPx:!0}:/^\d*\.?\d+(?:e[+-]?\d+)?$/i.test(n)?{n:parseFloat(n),isPx:!1}:"()+-*/".includes(n)?n:null});return e.every(function(n){return null!==n})?e:null}(n.replace(/calc\(/gi,"("));if(!e)return null;var i={i:0},r=s(e,i);return r&&r.isPx&&i.i===e.length&&Number.isFinite(r.n)&&Math.abs(r.n)<1e8?r.n:null},y=function(n,e,i,r){if(e>=n.length||e>r)return-1;var t=n[e],l="("===t?i+1:")"===t?i-1:i;return 0===l?e:y(n,e+1,l,r)},h=function(n,e){return e.reduce(function(n,e){return n.split(o(e.id)).join("".concat(e.width,"px"))},n)},b=/^-(?:webkit|moz|ms|o)-$/i,g=/[-A-Za-z0-9_]+$/,x=function(n,e,i){var r=n.indexOf("bp(",i);if(-1===r)return n;var t=Math.max(i,r-512-5),l=n.slice(t,r+5).indexOf("calc("),u=-1===l?-1:t+l;if(-1===u||u>r)return x(n,e,r+3);var o=g.exec(n.slice(Math.max(0,u-12),u)),a=o?o[0]:"",d=b.test(a)&&!g.test(n.slice(u-a.length-1,u-a.length));if(a&&!d)return x(n,e,u+5);var s=d?u-a.length:u,v=u+4,c=y(n,v,0,v+512);if(-1===c)return x(n,e,u+5);if(c<r)return x(n,e,c+1);var f=h(n.slice(v+1,c),e),p=m(f);if(null===p)return x(n,e,u+5);var N="".concat(parseFloat(p.toFixed(4)),"px");return x(n.slice(0,s)+N+n.slice(c+1),e,s+N.length)};function N(n,e){if(!n||!n.includes("bp("))return n;var i=x(n,e,0);return i.includes("bp(")?h(i,e):i}var S=function(n){var e;if(n)return Array.isArray(n)?null===(e=n[0])||void 0===e?void 0:e.value:n},k=function(n){var e,i=n;if(!i)return null;if(i.patternValueId)return l(i.patternValueId);if(i.colorSchemeId)return l(i.colorSchemeId);if(i.keyframeValueId)return u(i.keyframeValueId);var r=i.value;return null==r?null:"object"==typeof r?"string"==typeof r.css?r.css:null!=r.value?"".concat(r.value).concat(null!==(e=r.unit)&&void 0!==e?e:""):null:String(r)},P=["font-size","line-height","letter-spacing","font-weight"],I=/^__.+__$/,j=function(n){return I.test(null!=n?n:"")},w=function(n){return n.replace("_optional","").replace("_array","")},A=function(n,e){if(!n||!e)return null;var i=w(e),r=n.find(function(n){return(null==n?void 0:n.id)===i});if(!r||"enum"!==r.type||!r.enumOptions||"object"!=typeof r.enumOptions)return null;for(var t={},l=0,u=Object.entries(r.enumOptions);l<u.length;l++){var o=u[l],a=o[0],d=o[1];null!=d&&(t[a]=String(d))}return Object.keys(t).length?t:null},O=function(n,e,i){if("BOOLEAN"===n)return!!e;if("NUMBER"===n){if("number"!=typeof e&&"string"!=typeof e)return null;var r="string"==typeof e&&""===e.trim()?NaN:Number(e);return Number.isFinite(r)?r:null}if("ENUM"===n){if(!i)return null;if("string"!=typeof e&&"number"!=typeof e)return null;var t=String(e);return Object.values(i).includes(t)?t:null}return null!=e?e:null};function _(i){var o,a,d,s,v,c,f,p,m,y,h,b,g,x,N,I,_;if(!i)return t;for(var V=null===(o=i.theme)||void 0===o?void 0:o.pattern,D={},E=0,M=null!==(s=null===(d=null===(a=i.globalsBlueprint)||void 0===a?void 0:a.module)||void 0===d?void 0:d.variables)&&void 0!==s?s:[];E<M.length;E++){var z=M[E];if(!1!==z.isGlobal&&z.variableName&&(!j(z.id)&&!j(z.variableName))){var F=null!==(v=z.variableType)&&void 0!==v?v:"TEXT",T="ENUM"===F?A(i.types,z.typeId):null;D[z.variableName]=n({name:z.variableName,displayName:null!==(c=z.displayName)&&void 0!==c?c:z.variableName,type:F,value:O(F,z.defaultValue,T)},"ENUM"===F?n(n({},z.typeId?{enumTypeId:w(z.typeId)}:{}),{options:null!=T?T:{}}):{})}}var U=(null!==(f=null==V?void 0:V.values)&&void 0!==f?f:[]).map(function(n){var e,i;return{id:n.id,name:null!==(e=n.name)&&void 0!==e?e:n.id,resolved:k(S(null===(i=n.style)||void 0===i?void 0:i.value)),cssVar:l(n.id)}}),Z=function(n){return(null!=n?n:[]).map(function(n){return{property:n.property,value:k(S(n.value))}}).filter(function(n){return null!=n.value})},$=e([],null!==(m=null===(p=i.theme)||void 0===p?void 0:p.breakpoints)&&void 0!==m?m:[],!0).sort(function(n,e){return(Number(e.width)||0)-(Number(n.width)||0)}),B=(null!==(y=null==V?void 0:V.elements)&&void 0!==y?y:[]).map(function(i){for(var t,l={},o=0,a=Z(i.styles);o<a.length;o++){var d=a[o],s=d.property,v=d.value;l[r(s)]=v}var c=function(i,t,l){var u;if(!(null===(u=i.breakpointStyles)||void 0===u?void 0:u.length))return[];var o=n({},t);return l.reduce(function(l,u){for(var a,d,s=null===(a=i.breakpointStyles)||void 0===a?void 0:a.find(function(n){return n.breakpointId===u.id}),v={},c=0,f=null!==(d=null==s?void 0:s.styles)&&void 0!==d?d:[];c<f.length;c++){var p=f[c];if(P.includes(p.property)){var m=r(p.property),y=k(S(p.value));null==y||""===y||null==t[m]||m in v||(v[m]=y)}}return Object.keys(v).length?(Object.assign(o,v),e(e([],l,!0),[{id:u.id,width:Number(u.width)||0,overrides:v,resolved:n({},o)}],!1)):l},[])}(i,l,$);return n({id:i.id,name:null!==(t=i.name)&&void 0!==t?t:i.id,resolved:l,className:u(i.id),isDefault:!!i.isDefault},c.length?{breakpoints:c}:{})}),R=(null!==(b=null===(h=i.theme)||void 0===h?void 0:h.breakpoints)&&void 0!==b?b:[]).map(function(n){var e,i;return{id:n.id,name:null!==(e=n.name)&&void 0!==e?e:n.id,width:null!==(i=n.width)&&void 0!==i?i:0}}),C=(null!==(x=null===(g=i.theme)||void 0===g?void 0:g.keyframes)&&void 0!==x?x:[]).map(function(n){var e,i,r;return{id:n.id,name:null!==(e=n.name)&&void 0!==e?e:n.id,type:null!==(i=n.type)&&void 0!==i?i:"keyframe",ref:u(n.id),settings:Z(n.styles),points:(null!==(r=n.points)&&void 0!==r?r:[]).map(function(n){return{point:n.point,styles:Z(n.styles)}})}}),L=(null!==(N=null==V?void 0:V.colorSchemes)&&void 0!==N?N:[]).map(function(n){var e;return{id:n.id,name:null!==(e=n.name)&&void 0!==e?e:n.id}}),G=null!==(I=null==V?void 0:V.colorSchemes)&&void 0!==I?I:[],H=null!==(_=null==V?void 0:V.colorSchemeValues)&&void 0!==_?_:[],X=H.map(function(n){for(var e,i,r,t,o=function(n){var e,i;return null!==(i=null===(e=H.find(function(e){return e.isDefault&&(n?e.designAssetId===n:!e.designAssetId)}))||void 0===e?void 0:e.colors)&&void 0!==i?i:[]}(n.designAssetId),a={},d=function(t){var u=null===(e=n.colors)||void 0===e?void 0:e.find(function(n){return n.colorSchemeId===t.id}),d=u?void 0:o.find(function(n){return n.colorSchemeId===t.id});a[t.id]={resolved:null!==(r=k(null!==(i=null==u?void 0:u.style)&&void 0!==i?i:null==d?void 0:d.style))&&void 0!==r?r:"#ffffff",cssVar:l(t.id)}},s=0,v=G;s<v.length;s++){d(v[s])}return{id:n.id,name:null!==(t=n.name)&&void 0!==t?t:n.id,isDefault:!!n.isDefault,className:u(n.id),colorsByScheme:a}});return{settings:D,colors:U,typography:B,breakpoints:R,keyframes:C,colorSchemes:{schemes:L,values:X}}}export{t as EMPTY_THEME_GLOBALS,o as breakpointCssToken,r as cssVarCamelCase,l as cssVarRef,j as isReservedVariableId,u as rawClassRef,N as resolveBreakpointMediaTokens,_ as serializeThemeGlobals,a as toResolverBreakpoints};
|
|
@@ -60,6 +60,23 @@ export type TypographyToken = {
|
|
|
60
60
|
className: string;
|
|
61
61
|
/** True when this is the theme's default/global text style (the editor's "Make Default Style"). */
|
|
62
62
|
isDefault: boolean;
|
|
63
|
+
/**
|
|
64
|
+
* Per-breakpoint values, widest first; present only when the style overrides at least one
|
|
65
|
+
* breakpoint. `className` already applies them through media queries — read this only when a
|
|
66
|
+
* value is needed in JS. Breakpoints without their own overrides are omitted: they use the next
|
|
67
|
+
* wider listed breakpoint, or the desktop `resolved` values.
|
|
68
|
+
*/
|
|
69
|
+
breakpoints?: TypographyBreakpointToken[];
|
|
70
|
+
};
|
|
71
|
+
export type TypographyBreakpointToken = {
|
|
72
|
+
/** Theme breakpoint id (see `BreakpointToken`). */
|
|
73
|
+
id: string;
|
|
74
|
+
/** Media query max-width in px. */
|
|
75
|
+
width: number;
|
|
76
|
+
/** Only the values this breakpoint sets itself, keyed like `resolved`. */
|
|
77
|
+
overrides: Record<string, string>;
|
|
78
|
+
/** Full effective values at this breakpoint: desktop values plus inherited and own overrides. */
|
|
79
|
+
resolved: Record<string, string>;
|
|
63
80
|
};
|
|
64
81
|
export type BreakpointToken = {
|
|
65
82
|
id: string;
|
|
@@ -191,6 +208,10 @@ type PatternElementLike = {
|
|
|
191
208
|
name?: string;
|
|
192
209
|
styles?: ElementStyleLike[];
|
|
193
210
|
isDefault?: boolean;
|
|
211
|
+
breakpointStyles?: {
|
|
212
|
+
breakpointId: string;
|
|
213
|
+
styles?: ElementStyleLike[];
|
|
214
|
+
}[];
|
|
194
215
|
};
|
|
195
216
|
type ColorSchemeLike = {
|
|
196
217
|
id: string;
|