1.1.75 • Published 1 month ago

@ptp-us/power-the-polls-form v1.1.75

Weekly downloads
163
License
MIT
Repository
github
Last release
1 month ago

Power the Polls

https://www.npmjs.com/package/@ptp-us/power-the-polls-form

This is a custom web component that allows our partners to embed the Power the Polls signup form on their own web sites and intranets. Contact info@powerthepolls.org to discuss any partnerships.

America needs poll workers to power our democracy

Power the Polls is working every day to recruit a new generation of poll workers — folks excited to serve their communities, help their neighbors vote, and ensure safe access to the ballot box for years to come.

You can help make sure we have a safe, fair, efficient election for all voters, and potentially get paid to do it!

Visit https://powerthepolls.org to sign-up and learn more.

How to embed the form

How to embed in HTML

Include the latest version of the scripts (use module and non-module to support down to IE11) and then use the <power-the-polls-form> element like any other HTML element:

<html>

<head>
   <script type="module"
      src="https://unpkg.com/@ptp-us/power-the-polls-form/power-the-polls-form/power-the-polls-form.esm.js"></script>
   <script nomodule
      src="https://unpkg.com/@ptp-us/power-the-polls-form/power-the-polls-form/power-the-polls-form.js"></script>
</head>

<body>
   <power-the-polls-form partner-id="your-ptp-partner-id" />
</body>

</html>

How to embed in React

Add to your project:

npm install @ptp-us/power-the-polls-form

In your index.jsx, add the following code to initialize the form element:

import { applyPolyfills, defineCustomElements } from "@ptp-us/power-the-polls-form/loader";

applyPolyfills().then(() => {
   defineCustomElements();
});

// ReactDOM.render( ... )

Include the form in your component:

import "@ptp-us/power-the-polls-form";

// ...

<power-the-polls-form
   partner-id={partnerId}
   custom-form-field-label={customFieldLabel}
/>

Note: in our testing with React, attribute names must be kebab-case and not camelCase

To test in your environment, set customFormFieldLabel to a non-null value and if it doesn't show up in the form, you need to use kebab-case.

How to customize the form

How to customize: Attributes

partner-id

This will allow us to track the source of signups back to you.

<power-the-polls-form
   partner-id="your-ptp-partner-id"
/>

custom-form-field-label

Optional label for an additional <input type="text"> field on the form. If null, no additional field will be displayed.

<power-the-polls-form
   custom-form-field-label="Union name"
/>

How to customize: Styles

The form does add some basic styling, but you can override with your own CSS. The elements in use are: <form>, <input>, <select>, <h3>, <h4>, <p>, <button>, and <a> as well as three relevant classes: a.poll-worker-action, a.poll-worker-action.cta, and a.jurisdiction.

Also of note, button and a.poll-worker-action.cta are styled the same and both set a background-color.

You can use the power-the-polls-form element in CSS, e.g.:

power-the-polls-form button {
  background-color: #f0f;
  color: #fff;
}

power-the-polls-form a.poll-worker-action.cta {
  background-color: #f0f;
  color: #fff;
}

How to customize: Events

You can listen for a submitCompleted or submitError event if desired in order to provide additional feedback to your users.

const form = document.querySelector("power-the-polls-form");

form.addEventListener("submitCompleted", () => {
   console.log("Power the Polls form has been submitted");
});

form.addEventListener("submitError", () => {
   console.log("Power the Polls form has encountered an error")
});
1.1.75

1 month ago

1.1.73

1 month ago

1.1.66

4 months ago

1.1.65

5 months ago

1.1.62

7 months ago

1.1.64

6 months ago

1.1.56

11 months ago

1.1.55

11 months ago

1.1.54

11 months ago

1.1.44

1 year ago

1.1.4

1 year ago

1.1.33-beta.1

2 years ago

1.1.34

2 years ago

1.1.33

2 years ago

1.1.38

2 years ago

1.1.37

2 years ago

1.1.36

2 years ago

1.1.35

2 years ago

1.1.39

2 years ago

1.1.35-beta.1

2 years ago

1.1.29

2 years ago

1.1.28

2 years ago

1.1.30

2 years ago

1.1.32

2 years ago

1.1.31

2 years ago

1.1.27

2 years ago

1.1.32-beta.1

2 years ago

1.1.32-beta.2

2 years ago

1.1.30-beta.1

2 years ago

1.1.30-beta.2

2 years ago

1.1.30-beta.3

2 years ago

1.1.23

2 years ago

1.1.22

2 years ago

1.1.26

2 years ago

1.1.25

2 years ago

1.1.24

2 years ago

1.1.21-beta.1

2 years ago

1.1.19

2 years ago

1.1.21

2 years ago

1.1.20

2 years ago

1.1.18

2 years ago

1.1.17

3 years ago

1.1.16

3 years ago

1.1.16-beta.1

3 years ago

1.1.15

3 years ago

1.1.14

4 years ago

1.1.13

4 years ago

1.1.13-beta.3

4 years ago

1.1.13-beta.2

4 years ago

1.1.13-beta.1

4 years ago

1.1.12

4 years ago

1.1.12-beta.11

4 years ago

1.1.12-beta.10

4 years ago

1.1.12-beta.9

4 years ago

1.1.11-beta.8

4 years ago

1.1.12-beta.4

4 years ago

1.1.12-beta.5

4 years ago

1.1.12-beta.2

4 years ago

1.1.12-beta.3

4 years ago

1.1.11-beta.7

4 years ago

1.1.11-beta.6

4 years ago

1.1.11-beta.5

4 years ago

1.1.11-beta.4

4 years ago

1.1.11

4 years ago

1.1.11-beta.3

4 years ago

1.1.12-beta.1

4 years ago

1.1.11-beta.2

4 years ago

1.1.11-beta.1

4 years ago

1.1.10

4 years ago

1.1.9-beta.4

4 years ago

1.1.9-beta.3

4 years ago

1.1.8

4 years ago

1.1.9-beta.1

4 years ago

1.1.8-beta.2

4 years ago

1.1.8-beta.1

4 years ago

1.1.7

4 years ago

1.1.6

4 years ago

1.1.5-beta.6

4 years ago

1.1.6-beta.2

4 years ago

1.1.6-beta.4

4 years ago

1.1.6-beta.5

4 years ago

1.1.5-beta.5

4 years ago

1.1.5-beta.4

4 years ago

1.1.6-beta.1

4 years ago

1.1.5-beta.3

4 years ago

1.1.5-beta.2

4 years ago

1.1.5-beta.1

4 years ago

1.1.3

4 years ago

1.1.2-beta.2

4 years ago

1.1.2-beta.1

4 years ago

1.1.1

4 years ago

1.1.0-beta.5

4 years ago

1.1.0-beta.4

4 years ago

1.1.0-beta.3

4 years ago

1.1.0

4 years ago

1.1.0-beta.2

4 years ago

1.1.0-beta.1

4 years ago

1.0.8

4 years ago

1.0.8-beta.4

4 years ago

1.0.8-beta.3

4 years ago

1.0.8-beta.2

4 years ago

1.0.8-beta.1

4 years ago

1.0.7

4 years ago

1.0.7-beta.1

4 years ago

1.0.6-beta.3

4 years ago

1.0.6-beta.1

4 years ago

1.0.6-beta.2

4 years ago

1.0.6

4 years ago

1.0.5

4 years ago

1.0.4

4 years ago

1.0.4-beta.1

4 years ago

1.0.3

4 years ago

1.0.2

4 years ago

1.0.1

4 years ago

1.0.0

4 years ago

1.0.0-beta.2

4 years ago

1.0.2-beta.1

4 years ago

1.0.0-beta.1

4 years ago

0.15.1

4 years ago

0.15.0

4 years ago

0.15.0-beta.1

4 years ago

0.14.4-beta.1

4 years ago

0.14.2-beta.1

4 years ago

0.14.1-beta.1

4 years ago

0.14.1

4 years ago

0.14.2

4 years ago

0.14.3

4 years ago

0.14.0

4 years ago

0.13.0

4 years ago

0.13.0-beta.2

4 years ago

0.12.1

4 years ago

0.13.0-beta.1

4 years ago

0.12.0-beta.1

4 years ago

0.12.0

4 years ago

0.11.4

4 years ago

0.11.4-beta.3

4 years ago

0.11.4-beta.2

4 years ago

0.11.4-beta.1

4 years ago

0.11.3

4 years ago

0.11.2

4 years ago

0.11.1-beta.2

4 years ago

0.11.1-beta.1

4 years ago

0.11.1

4 years ago

0.11.0

4 years ago

0.11.0-beta.2

4 years ago

0.11.0-beta.1

4 years ago

0.10.2

4 years ago

0.10.1

4 years ago

0.10.0

4 years ago

0.9.3

4 years ago

0.9.2

4 years ago

0.9.1

4 years ago

0.9.0

4 years ago