JSPM

@asutrick/react-new-window

1.1.1
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 9
  • Score
    100M100P100Q73071F
  • License MIT

Pop a new window in React, using window.open API

Package Exports

  • @asutrick/react-new-window
  • @asutrick/react-new-window/es/react-new-window.js
  • @asutrick/react-new-window/lib/react-new-window.js
  • @asutrick/react-new-window/umd/react-new-window.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@asutrick/react-new-window) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

Original Repository

This Fork

  • Removes center prop so window features (top, left, width, height) work as intended.

Features

  • Only 3.68KB (gzipped!).
  • Support the full window.open api.
  • Built for React 16 & React 18 (uses ReactDOM.createPortal).
  • Handler for blocked popups (via onBlock prop).

Installation

npm i @asutrick/react-new-window --save

Usage

import React from 'react'
import NewWindow from '@asutrick/react-new-window'

const Demo = () => (
  <NewWindow>
    <h1>Hi 👋</h1>
  </NewWindow>
)

When <NewWindow /> is mounted a popup window will be opened. When unmounted then the popup will be closed.

The children contents is what will be rendered into the new popup window. In that case Hi 👋 will be the content. The content can include any react-stateful code.

Documentation

Properties Type Default Description
url String The URL to open, if specified any children will be overriden (more details on url).
name String The name of the window (more details on windowName).
title String The title of the new window document.
features Object {} The set of window features (more details on windowFeatures).
onUnload Function undefined A function to be triggered before the new window unload.
onBlock Function undefined A function to be triggered when the new window could not be opened.
onOpen Function(w: Window) undefined A function to be triggered when window open by library.
closeOnUnmount Boolean true If specified, close the new window on unmount.