| 12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- const parseInt10 = (d) => (d ? parseInt(d) : 0);
- /**
- * @description Get the element's bounding size.
- * @param container dom element.
- * @returns the element width and height
- */
- export function getContainerSize(container) {
- // size = width/height - padding.
- const style = getComputedStyle(container);
- const wrapperWidth = container.clientWidth || parseInt10(style.width);
- const wrapperHeight = container.clientHeight || parseInt10(style.height);
- const widthPadding = parseInt10(style.paddingLeft) + parseInt10(style.paddingRight);
- const heightPadding = parseInt10(style.paddingTop) + parseInt10(style.paddingBottom);
- return {
- width: wrapperWidth - widthPadding,
- height: wrapperHeight - heightPadding,
- };
- }
- /**
- * @description Calculate the real canvas size by view options.
- */
- export function getBBoxSize(options) {
- const { height, width, padding = 0, paddingLeft = padding, paddingRight = padding, paddingTop = padding, paddingBottom = padding, margin = 0, marginLeft = margin, marginRight = margin, marginTop = margin, marginBottom = margin, inset = 0, insetLeft = inset, insetRight = inset, insetTop = inset, insetBottom = inset, } = options;
- // @todo Add this padding to theme.
- // 30 is default size for padding, which defined in runtime.
- const maybeAuto = (padding) => (padding === 'auto' ? 30 : padding);
- const finalWidth = width -
- maybeAuto(paddingLeft) -
- maybeAuto(paddingRight) -
- marginLeft -
- marginRight -
- insetLeft -
- insetRight;
- const finalHeight = height -
- maybeAuto(paddingTop) -
- maybeAuto(paddingBottom) -
- marginTop -
- marginBottom -
- insetTop -
- insetBottom;
- return { width: finalWidth, height: finalHeight };
- }
- //# sourceMappingURL=size.js.map
|