@cbpds/web-components
Version:
Web components for the CBP Design System.
5 lines • 1.79 kB
JavaScript
/*!
* CPB Design System web components - built with Stencil
*/
import{r as i,h as e,a as t,g as n}from"./p-654179c2.js";import{s}from"./p-93ade441.js";const d=":root{--cbp-flex-linearized-margin:0}cbp-flex:not([hidden]){display:flex}cbp-flex:not([hidden])[display=inline-flex]{display:inline-flex}cbp-flex:not([hidden]).cbp-flex-linearized{display:block !important}cbp-flex:not([hidden]).cbp-flex-linearized>*{margin-block-end:var(--cbp-flex-linearized-margin)}";const l=d;const a=class{constructor(e){i(this,e);this.display="flex";this.wrap=undefined;this.direction="row";this.alignItems="stretch";this.alignContent="stretch";this.justifyContent="flex-start";this.gap=undefined;this.breakpoint=undefined;this.contentBreakpoint=undefined;this.sx={}}handleBreakpointChange(i){i.matches?this.host.classList.add("cbp-flex-linearized"):this.host.classList.remove("cbp-flex-linearized")}componentWillLoad(){var i;if(typeof this.sx=="string"){this.sx=JSON.parse(this.sx)||{}}s(this.host,Object.assign({display:this.display,"flex-wrap":this.wrap,"flex-direction":this.direction,"align-items":this.alignItems,"align-content":this.alignContent,"justify-content":this.justifyContent,gap:this.gap,"--cbp-flex-linearized-margin":this.gap!=undefined?(i=this.gap.split(" "))===null||i===void 0?void 0:i[0]:undefined},this.sx))}componentDidLoad(){if(this.breakpoint){const i=window===null||window===void 0?void 0:window.matchMedia(`(max-width: ${this.breakpoint})`);if(i){i.addEventListener("change",(i=>this.handleBreakpointChange(i)));this.handleBreakpointChange(i)}}}render(){return e(t,{key:"fdb7a14b3d02594f182eefbeb92d3c50ba8f006f"},e("slot",{key:"af9652912b7528de4aa3ccbcb227d1b7b94e7d1e"}))}get host(){return n(this)}};a.style=l;export{a as cbp_flex};
//# sourceMappingURL=p-db08e612.entry.js.map