@dev-crew-berlin/enter-js-utils 0.11.0 → 0.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,8 @@
1
+ import { FunctionComponent, ReactNode } from 'react';
2
+ declare type Props = {
3
+ checkinCount: number;
4
+ rsvp: number;
5
+ children?: ReactNode;
6
+ };
7
+ export declare const CheckinProgressBar: FunctionComponent<Props>;
8
+ export {};
@@ -0,0 +1,27 @@
1
+ import _JSXStyle from "styled-jsx/style";
2
+ import React from 'react';
3
+ import { theme } from '../lib';
4
+ export const CheckinProgressBar = props => {
5
+ const width = props.rsvp > 0 ? props.checkinCount / props.rsvp : 1;
6
+ return /*#__PURE__*/React.createElement("div", {
7
+ className: _JSXStyle.dynamic([["4246687363", [theme.colors.enterDarkGrey, theme.colors.enterBackground, theme.fonts.primary, theme.colors.enterGreen, theme.fonts.secondary]]]) + " " + 'checkin-progress-bar'
8
+ }, /*#__PURE__*/React.createElement("div", {
9
+ style: {
10
+ width: `${width * 100}%`
11
+ },
12
+ className: _JSXStyle.dynamic([["4246687363", [theme.colors.enterDarkGrey, theme.colors.enterBackground, theme.fonts.primary, theme.colors.enterGreen, theme.fonts.secondary]]]) + " " + 'progress'
13
+ }), /*#__PURE__*/React.createElement("div", {
14
+ className: _JSXStyle.dynamic([["4246687363", [theme.colors.enterDarkGrey, theme.colors.enterBackground, theme.fonts.primary, theme.colors.enterGreen, theme.fonts.secondary]]]) + " " + 'number checkin-count'
15
+ }, props.checkinCount, /*#__PURE__*/React.createElement("label", {
16
+ className: _JSXStyle.dynamic([["4246687363", [theme.colors.enterDarkGrey, theme.colors.enterBackground, theme.fonts.primary, theme.colors.enterGreen, theme.fonts.secondary]]])
17
+ }, "Checkins")), /*#__PURE__*/React.createElement("div", {
18
+ className: _JSXStyle.dynamic([["4246687363", [theme.colors.enterDarkGrey, theme.colors.enterBackground, theme.fonts.primary, theme.colors.enterGreen, theme.fonts.secondary]]]) + " " + 'checkin-tag-display'
19
+ }, props.children), /*#__PURE__*/React.createElement("div", {
20
+ className: _JSXStyle.dynamic([["4246687363", [theme.colors.enterDarkGrey, theme.colors.enterBackground, theme.fonts.primary, theme.colors.enterGreen, theme.fonts.secondary]]]) + " " + 'number confirmations'
21
+ }, props.rsvp, /*#__PURE__*/React.createElement("label", {
22
+ className: _JSXStyle.dynamic([["4246687363", [theme.colors.enterDarkGrey, theme.colors.enterBackground, theme.fonts.primary, theme.colors.enterGreen, theme.fonts.secondary]]])
23
+ }, "Confirmations")), /*#__PURE__*/React.createElement(_JSXStyle, {
24
+ id: "4246687363",
25
+ dynamic: [theme.colors.enterDarkGrey, theme.colors.enterBackground, theme.fonts.primary, theme.colors.enterGreen, theme.fonts.secondary]
26
+ }, `.checkin-progress-bar.__jsx-style-dynamic-selector{position:relative;padding:0.5em 1em 0.7em;background-color:${theme.colors.enterDarkGrey};border:1px solid ${theme.colors.enterBackground};font-family:${theme.fonts.primary};color:white;display:grid;grid-template-columns:1fr auto 1fr;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border-radius:4px;overflow:hidden;cursor:pointer;}.progress.__jsx-style-dynamic-selector{z-index:0;top:0;margin:0;padding:0;position:absolute;height:100%;background-color:${theme.colors.enterGreen};}.number.__jsx-style-dynamic-selector{z-index:1;font-weight:200;font-size:1.4em;}.confirmations.__jsx-style-dynamic-selector{text-align:right;}.number.__jsx-style-dynamic-selector label.__jsx-style-dynamic-selector{display:block;font-family:${theme.fonts.secondary};font-size:0.6rem;-webkit-letter-spacing:0.05em;-moz-letter-spacing:0.05em;-ms-letter-spacing:0.05em;letter-spacing:0.05em;text-transform:uppercase;font-weight:normal;}.checkin-tag-display.__jsx-style-dynamic-selector{z-index:1;font-size:1.3em;}`));
27
+ };
@@ -0,0 +1,38 @@
1
+ import React from 'react';
2
+ import { ComponentStory, ComponentMeta } from '@storybook/react';
3
+ declare const _default: ComponentMeta<React.FunctionComponent<{
4
+ checkinCount: number;
5
+ rsvp: number;
6
+ children?: React.ReactNode;
7
+ }>>;
8
+ export default _default;
9
+ export declare const Basic: ComponentStory<React.FunctionComponent<{
10
+ checkinCount: number;
11
+ rsvp: number;
12
+ children?: React.ReactNode;
13
+ }>>;
14
+ export declare const WithoutTagName: ComponentStory<React.FunctionComponent<{
15
+ checkinCount: number;
16
+ rsvp: number;
17
+ children?: React.ReactNode;
18
+ }>>;
19
+ export declare const NoCheckins: ComponentStory<React.FunctionComponent<{
20
+ checkinCount: number;
21
+ rsvp: number;
22
+ children?: React.ReactNode;
23
+ }>>;
24
+ export declare const AllCheckinsComplete: ComponentStory<React.FunctionComponent<{
25
+ checkinCount: number;
26
+ rsvp: number;
27
+ children?: React.ReactNode;
28
+ }>>;
29
+ export declare const MoreCheckinsThanExpected: ComponentStory<React.FunctionComponent<{
30
+ checkinCount: number;
31
+ rsvp: number;
32
+ children?: React.ReactNode;
33
+ }>>;
34
+ export declare const NoRSVP: ComponentStory<React.FunctionComponent<{
35
+ checkinCount: number;
36
+ rsvp: number;
37
+ children?: React.ReactNode;
38
+ }>>;
@@ -0,0 +1,44 @@
1
+ import React from 'react';
2
+ import { CheckinProgressBar } from './checkin-progress-bar';
3
+ export default {
4
+ title: 'Checkin progress bar',
5
+ component: CheckinProgressBar
6
+ };
7
+
8
+ const Template = args => /*#__PURE__*/React.createElement(CheckinProgressBar, args);
9
+
10
+ export const Basic = Template.bind({});
11
+ Basic.args = {
12
+ rsvp: 250,
13
+ checkinCount: 200,
14
+ children: 'Dinner'
15
+ };
16
+ export const WithoutTagName = Template.bind({});
17
+ WithoutTagName.args = {
18
+ rsvp: 250,
19
+ checkinCount: 200
20
+ };
21
+ export const NoCheckins = Template.bind({});
22
+ NoCheckins.args = {
23
+ rsvp: 250,
24
+ checkinCount: 0,
25
+ children: 'Dinner'
26
+ };
27
+ export const AllCheckinsComplete = Template.bind({});
28
+ AllCheckinsComplete.args = {
29
+ rsvp: 250,
30
+ checkinCount: 250,
31
+ children: 'Dinner'
32
+ };
33
+ export const MoreCheckinsThanExpected = Template.bind({});
34
+ MoreCheckinsThanExpected.args = {
35
+ rsvp: 250,
36
+ checkinCount: 400,
37
+ children: 'Dinner'
38
+ };
39
+ export const NoRSVP = Template.bind({});
40
+ NoRSVP.args = {
41
+ rsvp: 0,
42
+ checkinCount: 200,
43
+ children: 'Dinner'
44
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dev-crew-berlin/enter-js-utils",
3
- "version": "0.11.0",
3
+ "version": "0.12.0",
4
4
  "description": "utils such as vaildation and other helpers to work with data from the enter app",
5
5
  "files": [
6
6
  "dist",