Provides a store for position following the subscriber protocol in addition to providing individual writable derived stores for each independent variable.

Constructors

Accessors

  • get dimension(): {
        height: number | "auto";
        width: number | "auto";
    }
  • Returns the dimension data for the readable store.

    Returns {
        height: number | "auto";
        width: number | "auto";
    }

    Dimension data.

    • height: number | "auto"
    • width: number | "auto"
  • get element(): HTMLElement
  • Returns the current HTMLElement being positioned.

    Returns HTMLElement

    Current HTMLElement being positioned.

  • get elementUpdated(): Promise<number>
  • Returns a promise that is resolved on the next element update with the time of the update.

    Returns Promise<number>

    Promise resolved on element update.

  • get enabled(): boolean
  • Returns the enabled state.

    Returns boolean

    Enabled state.

  • set enabled(arg): void
  • Sets the enabled state.

    Parameters

    • arg: boolean

    Returns void

  • get height(): number | "auto" | "inherit"
  • Returns number | "auto" | "inherit"

    height

  • set height(arg): void
  • Parameters

    • arg: number | "auto" | "inherit"

    Returns void

  • get left(): number
  • Returns number

    left

  • set left(arg): void
  • Parameters

    • arg: number

    Returns void

  • get maxHeight(): number
  • Returns number

    maxHeight

  • set maxHeight(arg): void
  • Parameters

    • arg: number

    Returns void

  • get maxWidth(): number
  • Returns number

    maxWidth

  • set maxWidth(arg): void
  • Parameters

    • arg: number

    Returns void

  • get minHeight(): number
  • Returns number

    minHeight

  • set minHeight(arg): void
  • Parameters

    • arg: number

    Returns void

  • get minWidth(): number
  • Returns number

    minWidth

  • set minWidth(arg): void
  • Parameters

    • arg: number

    Returns void

  • get rotateX(): number
  • Returns number

    rotateX

  • set rotateX(arg): void
  • Parameters

    • arg: number

    Returns void

  • get rotateY(): number
  • Returns number

    rotateY

  • set rotateY(arg): void
  • Parameters

    • arg: number

    Returns void

  • get rotateZ(): number
  • Returns number

    rotateZ

  • set rotateZ(arg): void
  • Parameters

    • arg: number

    Returns void

  • get rotation(): number
  • Returns number

    alias for rotateZ

  • set rotation(arg): void
  • Parameters

    • arg: number

    Returns void

  • get scale(): number
  • Returns number

    scale

  • set scale(arg): void
  • Parameters

    • arg: number

    Returns void

  • get top(): number
  • Returns number

    top

  • set top(arg): void
  • Parameters

    • arg: number

    Returns void

  • get translateX(): number
  • Returns number

    translateX

  • set translateX(arg): void
  • Parameters

    • arg: number

    Returns void

  • get translateY(): number
  • Returns number

    translateY

  • set translateY(arg): void
  • Parameters

    • arg: number

    Returns void

  • get translateZ(): number
  • Returns number

    translateZ

  • set translateZ(arg): void
  • Parameters

    • arg: number

    Returns void

  • get width(): number | "auto" | "inherit"
  • Returns number | "auto" | "inherit"

    width

  • set width(arg): void
  • Parameters

    • arg: number | "auto" | "inherit"

    Returns void

  • get zIndex(): number
  • Returns number

    z-index

  • set zIndex(arg): void
  • Parameters

    • arg: number

    Returns void

Methods

  • Assigns current position to object passed into method.

    Parameters

    • Optional position: object | TJSPositionData

      Target to assign current position data.

    • Optional options: TJSPositionGetOptions

      Defines options for specific keys and substituting null for numeric default values.

    Returns TJSPositionData

    Passed in object with current position data.

  • All calculation and updates of position are implemented in TJSPosition. This allows position to be fully reactive and in control of updating inline styles for the application.

    Note: the logic for updating position is improved and changes a few aspects from the default globalThis.Application.setPosition. The gate on popOut is removed, so to ensure no positional application occurs popOut applications can set this.options.positionable to false ensuring no positional inline styles are applied.

    The initial set call on an application with a target element will always set width / height as this is necessary for correct calculations.

    When a target element is present updated styles are applied after validation. To modify the behavior of set implement one or more validator functions and add them from the application via this.position.validators.add(<Function>).

    Updates to any target element are decoupled from the underlying TJSPosition data. This method returns this instance that you can then await on the target element inline style update by using TJSPosition.elementUpdated.

    Parameters

    Returns TJSPosition

    This TJSPosition instance.

  • Returns a duplicate of a given position instance copying any options and validators.

    // TODO: Consider more safety over options processing.

    Parameters

    Returns TJSPosition

    A duplicate position instance.