Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

css-surveyor

Package Overview
Dependencies
Maintainers
0
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

css-surveyor

Easily calculate pixel values for CSS length expressions

  • 1.0.3
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
0
Created
Source

css-surveyor

English | 中文

Easily calculate pixel values for CSS length expressions

Installation

npm i css-surveyor

Usage

import { CssSurveyor } from 'css-surveyor'

const surveyor = new CssSurveyor()

surveyor.widthExpr = '100%'
surveyor.heightExpr = 'calc(100vh - 50px)'

console.log(surveyor.width, surveyor.height)

surveyor.events.on('widthChanged', w => console.log('Width updated to:', w))
surveyor.events.on('heightChanged', h => console.log('Height updated to:', h))

// Call cleanup method to release resources when no longer in use
surveyor.cleanup()

API

Constructor

new CssSurveyor(connectTo?: HTMLElement | string | null)

connectTo: Optional parameter specifying the element to connect to. Subsequent size calculations will be based on this element.

  • If a string, it represents a selector and will use document.querySelector to find the element
  • If an HTMLElement, it will use that element directly
  • If not provided or undefined, it will default to connecting to document.body
  • If null, it won't connect immediately, and you'll need to manually call the connect method later

Methods

  • connect(elemOrSelector?: HTMLElement | string): Connect to the specified element. Same as constructor parameter but cannot be null
  • disconnect(): Disconnect from the current element
  • remeasure(): Manually trigger remeasurement, usually not needed to call manually
  • cleanup(): Call this function when no longer in use. It will disconnect and clear all event listeners

Properties

  • widthExpr?: string: Get or set the width expression
  • heightExpr?: string: Get or set the height expression
  • width: number: Get the currently measured width
  • height: number: Get the currently measured height
  • connected?: HTMLElement: Get the currently connected element
  • events: Event emitter for subscribing to widthChanged and heightChanged events. Refer to mitt

Attention

  • CssSurveyor uses a hidden div element for measurements, which won't affect page layout but may impact :empty pseudo-class selector results
  • Make sure to call the cleanup() method when monitoring is no longer needed to release resources
  • You can use any valid CSS size expression, but CssSurveyor won't perform any validation on the expressions
  • There are separate widthExpr and heightExpr expressions because CSS percentage values may reference either width or height. So if the expression you want to calculate doesn't include percentage values, it doesn't matter which one you use

Keywords

FAQs

Package last updated on 28 Oct 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc