@dev-crew-berlin/enter-js-utils 0.72.0 → 0.80.1

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.
Files changed (67) hide show
  1. package/README.md +1 -1
  2. package/dist/generated/api-schema.d.ts +136 -18
  3. package/dist/lib/result.js +0 -1
  4. package/dist/models/attendee.d.ts +16 -15
  5. package/dist/models/attendee.js +43 -25
  6. package/dist/models/branch.d.ts +9 -0
  7. package/dist/models/branch.js +7 -0
  8. package/dist/models/checkin-counter.d.ts +2 -0
  9. package/dist/models/checkin-counter.js +1 -0
  10. package/dist/models/checkin.d.ts +5 -2
  11. package/dist/models/checkin.js +4 -1
  12. package/dist/models/checkins.d.ts +2 -2
  13. package/dist/models/checkins.js +6 -6
  14. package/dist/models/event.d.ts +1 -0
  15. package/dist/models/field.d.ts +9 -0
  16. package/dist/models/index.d.ts +3 -0
  17. package/dist/models/index.js +1 -0
  18. package/dist/models/instance.d.ts +2 -1
  19. package/dist/models/instance.js +6 -3
  20. package/dist/models/rsvp.d.ts +3 -2
  21. package/dist/models/rsvp.js +7 -4
  22. package/dist/ui/button.js +7 -6
  23. package/dist/ui/button.stories.d.ts +16 -59
  24. package/dist/ui/button.stories.js +66 -54
  25. package/dist/ui/checkin-count-indicator.stories.d.ts +14 -84
  26. package/dist/ui/checkin-count-indicator.stories.js +60 -52
  27. package/dist/ui/checkin-progress-bar.js +11 -11
  28. package/dist/ui/checkin-progress-bar.stories.d.ts +12 -59
  29. package/dist/ui/checkin-progress-bar.stories.js +45 -39
  30. package/dist/ui/companion-info.js +6 -6
  31. package/dist/ui/companion-info.stories.d.ts +8 -44
  32. package/dist/ui/companion-info.stories.js +29 -27
  33. package/dist/ui/enter-logo.js +2 -2
  34. package/dist/ui/enter-logo.stories.d.ts +7 -12
  35. package/dist/ui/enter-logo.stories.js +11 -12
  36. package/dist/ui/form-elements/input.js +6 -6
  37. package/dist/ui/form-elements/input.stories.d.ts +8 -15
  38. package/dist/ui/form-elements/input.stories.js +26 -24
  39. package/dist/ui/form-elements/label.js +6 -6
  40. package/dist/ui/form-elements/label.stories.d.ts +6 -5
  41. package/dist/ui/form-elements/label.stories.js +6 -6
  42. package/dist/ui/form-elements/search-input.js +10 -10
  43. package/dist/ui/form-elements/search-input.stories.d.ts +7 -18
  44. package/dist/ui/form-elements/search-input.stories.js +18 -17
  45. package/dist/ui/form-elements/segmented-control.js +8 -8
  46. package/dist/ui/form-elements/segmented-control.stories.d.ts +6 -17
  47. package/dist/ui/form-elements/segmented-control.stories.js +7 -7
  48. package/dist/ui/guest-card.d.ts +2 -1
  49. package/dist/ui/guest-card.js +17 -16
  50. package/dist/ui/guest-card.stories.d.ts +14 -124
  51. package/dist/ui/guest-card.stories.js +93 -76
  52. package/dist/ui/icons/add-guest-icon.stories.d.ts +7 -12
  53. package/dist/ui/icons/add-guest-icon.stories.js +11 -12
  54. package/dist/ui/icons/caret-icon.stories.d.ts +7 -15
  55. package/dist/ui/icons/caret-icon.stories.js +11 -12
  56. package/dist/ui/icons/filter-icon.stories.d.ts +7 -12
  57. package/dist/ui/icons/filter-icon.stories.js +11 -12
  58. package/dist/ui/icons/search-icon.stories.d.ts +7 -12
  59. package/dist/ui/icons/search-icon.stories.js +11 -12
  60. package/dist/ui/icons/settings-icon.stories.d.ts +7 -12
  61. package/dist/ui/icons/settings-icon.stories.js +11 -12
  62. package/dist/ui/icons/sort-list-icon.stories.d.ts +7 -15
  63. package/dist/ui/icons/sort-list-icon.stories.js +11 -12
  64. package/dist/ui/tag.js +5 -5
  65. package/dist/ui/tag.stories.d.ts +6 -9
  66. package/dist/ui/tag.stories.js +6 -6
  67. package/package.json +19 -18
@@ -1,27 +1,27 @@
1
1
  import _JSXStyle from "styled-jsx/style";
2
- function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
3
3
  import React, { useId } from 'react';
4
- import { theme } from '../../lib';
4
+ import { colors, fonts } from '../../lib/theme';
5
5
  import { SearchIcon } from '../icons/search-icon';
6
6
  export const SearchInput = ({
7
- textColor = theme.colors.enterDarkGrey,
8
- borderColor = theme.colors.enterMediumGrey,
7
+ textColor = colors.enterDarkGrey,
8
+ borderColor = colors.enterMediumGrey,
9
9
  placeholder = 'Search',
10
10
  ...props
11
11
  }) => {
12
12
  const id = useId();
13
13
  return /*#__PURE__*/React.createElement("div", {
14
- className: _JSXStyle.dynamic([["914481870", [theme.fonts.primary, textColor, borderColor, theme.colors.enterRed]]]) + " " + 'search-input'
14
+ className: _JSXStyle.dynamic([["1969077888", [fonts.primary, textColor, borderColor, colors.enterRed]]]) + " " + 'search-input'
15
15
  }, /*#__PURE__*/React.createElement("div", {
16
- className: _JSXStyle.dynamic([["914481870", [theme.fonts.primary, textColor, borderColor, theme.colors.enterRed]]]) + " " + 'icon'
16
+ className: _JSXStyle.dynamic([["1969077888", [fonts.primary, textColor, borderColor, colors.enterRed]]]) + " " + 'icon'
17
17
  }, /*#__PURE__*/React.createElement(SearchIcon, {
18
18
  color: textColor
19
19
  })), /*#__PURE__*/React.createElement("input", _extends({}, props, {
20
20
  placeholder: placeholder,
21
21
  id: id,
22
- className: _JSXStyle.dynamic([["914481870", [theme.fonts.primary, textColor, borderColor, theme.colors.enterRed]]]) + " " + (props && props.className != null && props.className || "")
22
+ className: _JSXStyle.dynamic([["1969077888", [fonts.primary, textColor, borderColor, colors.enterRed]]]) + " " + (props && props.className != null && props.className || "")
23
23
  })), /*#__PURE__*/React.createElement(_JSXStyle, {
24
- id: "914481870",
25
- dynamic: [theme.fonts.primary, textColor, borderColor, theme.colors.enterRed]
26
- }, `.search-input.__jsx-style-dynamic-selector{display:grid;grid-template-areas:'icon-input';-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-bottom:1.1em;}.icon.__jsx-style-dynamic-selector{grid-area:icon-input;width:12px;height:16px;margin:0 0 0 0.2em;}input.__jsx-style-dynamic-selector{grid-area:icon-input;font-family:${theme.fonts.primary};font-size:1.1em;display:block;width:calc(100% - 20px);padding:0.2em 0 0.2em 20px;border:none;outline:none;background-color:transparent;color:${textColor};border-bottom:1px solid ${borderColor};border-radius:0;-webkit-transition:border-color 0.2s;transition:border-color 0.2s;}input.__jsx-style-dynamic-selector:focus{border-color:${theme.colors.enterRed};}`));
24
+ id: "1969077888",
25
+ dynamic: [fonts.primary, textColor, borderColor, colors.enterRed]
26
+ }, `.search-input.__jsx-style-dynamic-selector{display:grid;grid-template-areas:'icon-input';-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-bottom:1.1em;}.icon.__jsx-style-dynamic-selector{grid-area:icon-input;width:12px;height:16px;margin:0 0 0 0.2em;}input.__jsx-style-dynamic-selector{grid-area:icon-input;font-family:${fonts.primary};font-size:1.1em;display:block;width:calc(100% - 20px);padding:0.2em 0 0.2em 20px;border:none;outline:none;background-color:transparent;color:${textColor};border-bottom:1px solid ${borderColor};border-radius:0;-webkit-transition:border-color 0.2s;transition:border-color 0.2s;}input.__jsx-style-dynamic-selector:focus{border-color:${colors.enterRed};}`));
27
27
  };
@@ -1,18 +1,7 @@
1
- import React from 'react';
2
- import { ComponentStory, ComponentMeta } from '@storybook/react';
3
- declare const _default: ComponentMeta<React.FunctionComponent<React.InputHTMLAttributes<HTMLInputElement> & {
4
- textColor?: string | undefined;
5
- borderColor?: string | undefined;
6
- placeholder?: string | undefined;
7
- }>>;
8
- export default _default;
9
- export declare const Basic: ComponentStory<React.FunctionComponent<React.InputHTMLAttributes<HTMLInputElement> & {
10
- textColor?: string | undefined;
11
- borderColor?: string | undefined;
12
- placeholder?: string | undefined;
13
- }>>;
14
- export declare const WhiteText: ComponentStory<React.FunctionComponent<React.InputHTMLAttributes<HTMLInputElement> & {
15
- textColor?: string | undefined;
16
- borderColor?: string | undefined;
17
- placeholder?: string | undefined;
18
- }>>;
1
+ import { Meta, StoryObj } from '@storybook/react';
2
+ import { SearchInput } from './search-input';
3
+ declare const meta: Meta<typeof SearchInput>;
4
+ export default meta;
5
+ declare type Story = StoryObj<typeof SearchInput>;
6
+ export declare const Basic: Story;
7
+ export declare const WhiteText: Story;
@@ -1,24 +1,25 @@
1
- import React from 'react';
2
1
  import { SearchInput } from './search-input';
3
- import { theme } from '../../lib';
4
- export default {
2
+ import { colors } from '../../lib/theme';
3
+ const meta = {
5
4
  title: 'Form Elements/SearchInput',
6
5
  component: SearchInput
7
6
  };
8
- const Template = args => /*#__PURE__*/React.createElement(SearchInput, args);
9
- export const Basic = Template.bind({});
10
- Basic.args = {
11
- textColor: theme.colors.enterDarkGrey,
12
- borderColor: theme.colors.enterMediumGrey,
13
- placeholder: 'Search'
14
- };
15
- export const WhiteText = Template.bind({});
16
- WhiteText.parameters = {
17
- backgrounds: {
18
- default: 'dark'
7
+ export default meta;
8
+ export const Basic = {
9
+ args: {
10
+ textColor: colors.enterDarkGrey,
11
+ borderColor: colors.enterMediumGrey,
12
+ placeholder: 'Search'
19
13
  }
20
14
  };
21
- WhiteText.args = {
22
- textColor: 'white',
23
- borderColor: 'white'
15
+ export const WhiteText = {
16
+ parameters: {
17
+ backgrounds: {
18
+ default: 'dark'
19
+ }
20
+ },
21
+ args: {
22
+ textColor: 'white',
23
+ borderColor: 'white'
24
+ }
24
25
  };
@@ -1,13 +1,13 @@
1
1
  import _JSXStyle from "styled-jsx/style";
2
2
  import React from 'react';
3
- import { theme } from '../../lib';
3
+ import { colors, fonts } from '../../lib/theme';
4
4
  export const SegmentedControl = props => {
5
5
  const name = props.segments.join('');
6
6
  return /*#__PURE__*/React.createElement("div", {
7
- className: _JSXStyle.dynamic([["235524868", [theme.fonts.secondary, theme.colors.enterLightGrey, theme.colors.enterMediumGrey, theme.colors.enterDarkGrey]]]) + " " + 'segmented-controll'
7
+ className: _JSXStyle.dynamic([["2098643240", [fonts.secondary, colors.enterLightGrey, colors.enterMediumGrey, colors.enterDarkGrey]]]) + " " + 'segmented-controll'
8
8
  }, props.segments.map((segment, index) => /*#__PURE__*/React.createElement("div", {
9
9
  key: segment,
10
- className: _JSXStyle.dynamic([["235524868", [theme.fonts.secondary, theme.colors.enterLightGrey, theme.colors.enterMediumGrey, theme.colors.enterDarkGrey]]]) + " " + 'segment'
10
+ className: _JSXStyle.dynamic([["2098643240", [fonts.secondary, colors.enterLightGrey, colors.enterMediumGrey, colors.enterDarkGrey]]]) + " " + 'segment'
11
11
  }, /*#__PURE__*/React.createElement("input", {
12
12
  type: "radio",
13
13
  id: segment,
@@ -15,15 +15,15 @@ export const SegmentedControl = props => {
15
15
  checked: segment === props.activeSegment,
16
16
  onChange: () => props.onChange(segment),
17
17
  onFocus: props.onFocus,
18
- className: _JSXStyle.dynamic([["235524868", [theme.fonts.secondary, theme.colors.enterLightGrey, theme.colors.enterMediumGrey, theme.colors.enterDarkGrey]]])
18
+ className: _JSXStyle.dynamic([["2098643240", [fonts.secondary, colors.enterLightGrey, colors.enterMediumGrey, colors.enterDarkGrey]]])
19
19
  }), /*#__PURE__*/React.createElement("label", {
20
20
  htmlFor: segment,
21
21
  style: props.colors && {
22
22
  backgroundColor: props.colors[index] && segment === props.activeSegment ? props.colors[index] : undefined
23
23
  },
24
- className: _JSXStyle.dynamic([["235524868", [theme.fonts.secondary, theme.colors.enterLightGrey, theme.colors.enterMediumGrey, theme.colors.enterDarkGrey]]])
24
+ className: _JSXStyle.dynamic([["2098643240", [fonts.secondary, colors.enterLightGrey, colors.enterMediumGrey, colors.enterDarkGrey]]])
25
25
  }, segment))), /*#__PURE__*/React.createElement(_JSXStyle, {
26
- id: "235524868",
27
- dynamic: [theme.fonts.secondary, theme.colors.enterLightGrey, theme.colors.enterMediumGrey, theme.colors.enterDarkGrey]
28
- }, `.segmented-controll.__jsx-style-dynamic-selector{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;grid-gap:2px;}.segment.__jsx-style-dynamic-selector{position:relative;}.segment.__jsx-style-dynamic-selector:first-child label.__jsx-style-dynamic-selector,.segment.__jsx-style-dynamic-selector:first-child input.__jsx-style-dynamic-selector{border-radius:2px 0 0 2px;}.segment.__jsx-style-dynamic-selector:last-child label.__jsx-style-dynamic-selector,.segment.__jsx-style-dynamic-selector:last-child input.__jsx-style-dynamic-selector{border-radius:0 2px 2px 0;}label.__jsx-style-dynamic-selector{font-family:${theme.fonts.secondary};text-transform:uppercase;font-size:0.9em;-webkit-letter-spacing:0.05em;-moz-letter-spacing:0.05em;-ms-letter-spacing:0.05em;letter-spacing:0.05em;padding:0.7em 0.5em;text-align:center;background-color:${theme.colors.enterLightGrey};box-sizing:border-box;display:block;width:100%;height:100%;-webkit-transition:background-color 0.1s;transition:background-color 0.1s;cursor:pointer;}label.__jsx-style-dynamic-selector:hover{background-color:${theme.colors.enterMediumGrey};color:white;}input.__jsx-style-dynamic-selector:checked+label.__jsx-style-dynamic-selector{background-color:${theme.colors.enterDarkGrey};color:white;}input.__jsx-style-dynamic-selector{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:absolute;left:0;top:0;margin:0;width:100%;height:100%;background-color:transparent;pointer-events:none;}`));
26
+ id: "2098643240",
27
+ dynamic: [fonts.secondary, colors.enterLightGrey, colors.enterMediumGrey, colors.enterDarkGrey]
28
+ }, `.segmented-controll.__jsx-style-dynamic-selector{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;grid-gap:2px;}.segment.__jsx-style-dynamic-selector{position:relative;}.segment.__jsx-style-dynamic-selector:first-child label.__jsx-style-dynamic-selector,.segment.__jsx-style-dynamic-selector:first-child input.__jsx-style-dynamic-selector{border-radius:2px 0 0 2px;}.segment.__jsx-style-dynamic-selector:last-child label.__jsx-style-dynamic-selector,.segment.__jsx-style-dynamic-selector:last-child input.__jsx-style-dynamic-selector{border-radius:0 2px 2px 0;}label.__jsx-style-dynamic-selector{font-family:${fonts.secondary};text-transform:uppercase;font-size:0.9em;-webkit-letter-spacing:0.05em;-moz-letter-spacing:0.05em;-ms-letter-spacing:0.05em;letter-spacing:0.05em;padding:0.7em 0.5em;text-align:center;background-color:${colors.enterLightGrey};box-sizing:border-box;display:block;width:100%;height:100%;-webkit-transition:background-color 0.1s;transition:background-color 0.1s;cursor:pointer;}label.__jsx-style-dynamic-selector:hover{background-color:${colors.enterMediumGrey};color:white;}input.__jsx-style-dynamic-selector:checked+label.__jsx-style-dynamic-selector{background-color:${colors.enterDarkGrey};color:white;}input.__jsx-style-dynamic-selector{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:absolute;left:0;top:0;margin:0;width:100%;height:100%;background-color:transparent;pointer-events:none;}`));
29
29
  };
@@ -1,17 +1,6 @@
1
- import React from 'react';
2
- import { ComponentStory, ComponentMeta } from '@storybook/react';
3
- declare const _default: ComponentMeta<(<Segment extends string>(props: {
4
- segments: Segment[];
5
- activeSegment?: Segment | undefined;
6
- colors?: string[] | undefined;
7
- onChange: (segment: Segment) => void;
8
- onFocus?: (() => void) | undefined;
9
- }) => React.ReactElement<any, string | React.JSXElementConstructor<any>>)>;
10
- export default _default;
11
- export declare const Basic: ComponentStory<(<Segment extends string>(props: {
12
- segments: Segment[];
13
- activeSegment?: Segment | undefined;
14
- colors?: string[] | undefined;
15
- onChange: (segment: Segment) => void;
16
- onFocus?: (() => void) | undefined;
17
- }) => React.ReactElement<any, string | React.JSXElementConstructor<any>>)>;
1
+ import { Meta, StoryObj } from '@storybook/react';
2
+ import { SegmentedControl } from './segmented-control';
3
+ declare const meta: Meta<typeof SegmentedControl>;
4
+ export default meta;
5
+ declare type Story = StoryObj<typeof SegmentedControl>;
6
+ export declare const Basic: Story;
@@ -1,12 +1,12 @@
1
- import React from 'react';
2
1
  import { SegmentedControl } from './segmented-control';
3
- export default {
2
+ const meta = {
4
3
  title: 'Form Elements/Segmented Control',
5
4
  component: SegmentedControl
6
5
  };
7
- const Template = args => /*#__PURE__*/React.createElement(SegmentedControl, args);
8
- export const Basic = Template.bind({});
9
- Basic.args = {
10
- segments: ['One', 'Two', 'Three'],
11
- activeSegment: 'One'
6
+ export default meta;
7
+ export const Basic = {
8
+ args: {
9
+ segments: ['One', 'Two', 'Three'],
10
+ activeSegment: 'One'
11
+ }
12
12
  };
@@ -3,7 +3,8 @@ import 'styled-jsx';
3
3
  import { Attendee } from '../models';
4
4
  declare type Props = {
5
5
  attendee: Attendee;
6
- checkinTag: string;
6
+ branchName: string;
7
+ counterName: string;
7
8
  plain?: boolean;
8
9
  dense?: boolean;
9
10
  infoText?: string;
@@ -1,25 +1,26 @@
1
1
  import _JSXStyle from "styled-jsx/style";
2
2
  import React from 'react';
3
3
  import 'styled-jsx';
4
- import { classNames as cx, theme } from '../lib';
4
+ import { colors, fonts } from '../lib/theme';
5
+ import { classNames as cx } from '../lib/class-names';
5
6
  import { CheckinCountIndicator } from './checkin-count-indicator';
6
7
  import { CompanionInfo } from './companion-info';
7
8
  import { Tag } from './tag';
8
9
  export const GuestCard = props => {
9
10
  const filterTags = props.filterTags ?? (() => true);
10
- const tags = (props.attendee.tags || []).filter(filterTags);
11
+ const tags = Array.from(props.attendee.tags).filter(filterTags);
11
12
  const getTagColor = props.getTagColor ?? (() => undefined);
12
13
  const onClick = props.onClick ? () => {
13
14
  if (!props.onClick) return;
14
15
  props.onClick(props.attendee.id);
15
16
  } : undefined;
16
17
  return /*#__PURE__*/React.createElement("div", {
17
- className: _JSXStyle.dynamic([["2947209375", [theme.colors.enterGrey, theme.colors.enterBackground, theme.fonts.primary, props.dense ? '0.5em 0' : '1.5em 0']]]) + " " + (cx({
18
+ className: _JSXStyle.dynamic([["1739379681", [colors.enterGrey, colors.enterBackground, fonts.primary, props.dense ? '0.5em 0' : '1.5em 0']]]) + " " + (cx({
18
19
  'guest-card-wrapper': true,
19
20
  plain: props.plain
20
21
  }) || "")
21
22
  }, /*#__PURE__*/React.createElement("div", {
22
- className: _JSXStyle.dynamic([["2947209375", [theme.colors.enterGrey, theme.colors.enterBackground, theme.fonts.primary, props.dense ? '0.5em 0' : '1.5em 0']]]) + " " + 'tag-color-list'
23
+ className: _JSXStyle.dynamic([["1739379681", [colors.enterGrey, colors.enterBackground, fonts.primary, props.dense ? '0.5em 0' : '1.5em 0']]]) + " " + 'tag-color-list'
23
24
  }, tags.map(tag => [tag, getTagColor(tag)]).filter(([, tagColor]) => tagColor).map(([tag, tagColor]) => /*#__PURE__*/React.createElement("div", {
24
25
  key: tag,
25
26
  title: tag,
@@ -27,30 +28,30 @@ export const GuestCard = props => {
27
28
  backgroundColor: tagColor,
28
29
  height: '100%'
29
30
  },
30
- className: _JSXStyle.dynamic([["2947209375", [theme.colors.enterGrey, theme.colors.enterBackground, theme.fonts.primary, props.dense ? '0.5em 0' : '1.5em 0']]]) + " " + 'tag-color'
31
+ className: _JSXStyle.dynamic([["1739379681", [colors.enterGrey, colors.enterBackground, fonts.primary, props.dense ? '0.5em 0' : '1.5em 0']]]) + " " + 'tag-color'
31
32
  }))), /*#__PURE__*/React.createElement("div", {
32
33
  onClick: onClick,
33
- className: _JSXStyle.dynamic([["2947209375", [theme.colors.enterGrey, theme.colors.enterBackground, theme.fonts.primary, props.dense ? '0.5em 0' : '1.5em 0']]]) + " " + 'guest-card'
34
+ className: _JSXStyle.dynamic([["1739379681", [colors.enterGrey, colors.enterBackground, fonts.primary, props.dense ? '0.5em 0' : '1.5em 0']]]) + " " + 'guest-card'
34
35
  }, /*#__PURE__*/React.createElement("div", {
35
- className: _JSXStyle.dynamic([["2947209375", [theme.colors.enterGrey, theme.colors.enterBackground, theme.fonts.primary, props.dense ? '0.5em 0' : '1.5em 0']]])
36
+ className: _JSXStyle.dynamic([["1739379681", [colors.enterGrey, colors.enterBackground, fonts.primary, props.dense ? '0.5em 0' : '1.5em 0']]])
36
37
  }, /*#__PURE__*/React.createElement("h2", {
37
- className: _JSXStyle.dynamic([["2947209375", [theme.colors.enterGrey, theme.colors.enterBackground, theme.fonts.primary, props.dense ? '0.5em 0' : '1.5em 0']]]) + " " + 'name'
38
+ className: _JSXStyle.dynamic([["1739379681", [colors.enterGrey, colors.enterBackground, fonts.primary, props.dense ? '0.5em 0' : '1.5em 0']]]) + " " + 'name'
38
39
  }, props.formatName(props.attendee)), /*#__PURE__*/React.createElement(CompanionInfo, {
39
40
  companionStatus: props.attendee.companions,
40
41
  findMainGuest: props.findMainGuest,
41
42
  formatName: props.formatName
42
43
  }), /*#__PURE__*/React.createElement(CheckinCountIndicator, {
43
- checkins: props.attendee.getCheckinsForTag(props.checkinTag).getActiveCheckins(),
44
- response: props.attendee.getResponseForTag(props.checkinTag),
45
- rsvpCount: props.attendee.getRsvpCountForTag(props.checkinTag)
44
+ checkins: props.attendee.getCheckinsForBranch(props.branchName).getActiveCheckins(props.counterName),
45
+ response: props.attendee.getResponse(props.branchName, props.counterName),
46
+ rsvpCount: props.attendee.getRsvpCount(props.branchName, props.counterName)
46
47
  })), /*#__PURE__*/React.createElement("div", {
47
- className: _JSXStyle.dynamic([["2947209375", [theme.colors.enterGrey, theme.colors.enterBackground, theme.fonts.primary, props.dense ? '0.5em 0' : '1.5em 0']]]) + " " + 'tag-list'
48
+ className: _JSXStyle.dynamic([["1739379681", [colors.enterGrey, colors.enterBackground, fonts.primary, props.dense ? '0.5em 0' : '1.5em 0']]]) + " " + 'tag-list'
48
49
  }, tags.map(tag => /*#__PURE__*/React.createElement(Tag, {
49
50
  key: tag
50
51
  }, tag)), props.infoText && /*#__PURE__*/React.createElement("div", {
51
- className: _JSXStyle.dynamic([["2947209375", [theme.colors.enterGrey, theme.colors.enterBackground, theme.fonts.primary, props.dense ? '0.5em 0' : '1.5em 0']]]) + " " + 'info'
52
+ className: _JSXStyle.dynamic([["1739379681", [colors.enterGrey, colors.enterBackground, fonts.primary, props.dense ? '0.5em 0' : '1.5em 0']]]) + " " + 'info'
52
53
  }, " ", props.infoText))), /*#__PURE__*/React.createElement(_JSXStyle, {
53
- id: "2947209375",
54
- dynamic: [theme.colors.enterGrey, theme.colors.enterBackground, theme.fonts.primary, props.dense ? '0.5em 0' : '1.5em 0']
55
- }, `.guest-card-wrapper.__jsx-style-dynamic-selector{border-radius:2px;border:1px solid ${theme.colors.enterGrey};background-color:${theme.colors.enterBackground};font-family:${theme.fonts.primary};margin:${props.dense ? '0.5em 0' : '1.5em 0'};-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}.guest-card.__jsx-style-dynamic-selector{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;-webkit-align-items:start;-webkit-box-align:start;-ms-flex-align:start;align-items:start;padding:1.1em 1em 0.9em;-webkit-flex:1;-ms-flex:1;flex:1;}.tag-color-list.__jsx-style-dynamic-selector{width:0.35em;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}.tag-color.__jsx-style-dynamic-selector:first-child{border-top-left-radius:1px;}.tag-color.__jsx-style-dynamic-selector:last-child{border-bottom-left-radius:1px;}.plain.__jsx-style-dynamic-selector{border:none;background-color:transparent;}.name.__jsx-style-dynamic-selector{font-size:1.15em;margin:-0.1em 0 0.3em;}.tag-list.__jsx-style-dynamic-selector{max-width:40%;text-align:right;font-size:0.9em;}.info.__jsx-style-dynamic-selector{display:block;width:100%;text-align:right;}`));
54
+ id: "1739379681",
55
+ dynamic: [colors.enterGrey, colors.enterBackground, fonts.primary, props.dense ? '0.5em 0' : '1.5em 0']
56
+ }, `.guest-card-wrapper.__jsx-style-dynamic-selector{border-radius:2px;border:1px solid ${colors.enterGrey};background-color:${colors.enterBackground};font-family:${fonts.primary};margin:${props.dense ? '0.5em 0' : '1.5em 0'};-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}.guest-card.__jsx-style-dynamic-selector{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;-webkit-align-items:start;-webkit-box-align:start;-ms-flex-align:start;align-items:start;padding:1.1em 1em 0.9em;-webkit-flex:1;-ms-flex:1;flex:1;}.tag-color-list.__jsx-style-dynamic-selector{width:0.35em;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}.tag-color.__jsx-style-dynamic-selector:first-child{border-top-left-radius:1px;}.tag-color.__jsx-style-dynamic-selector:last-child{border-bottom-left-radius:1px;}.plain.__jsx-style-dynamic-selector{border:none;background-color:transparent;}.name.__jsx-style-dynamic-selector{font-size:1.15em;margin:-0.1em 0 0.3em;}.tag-list.__jsx-style-dynamic-selector{max-width:40%;text-align:right;font-size:0.9em;}.info.__jsx-style-dynamic-selector{display:block;width:100%;text-align:right;}`));
56
57
  };
@@ -1,124 +1,14 @@
1
- import React from 'react';
2
- import { ComponentStory, ComponentMeta } from '@storybook/react';
3
- import { Attendee } from '../models';
4
- declare const _default: ComponentMeta<React.FunctionComponent<{
5
- attendee: Attendee;
6
- checkinTag: string;
7
- plain?: boolean | undefined;
8
- dense?: boolean | undefined;
9
- infoText?: string | undefined;
10
- formatName: (attendee: Attendee) => string;
11
- filterTags?: ((tag: string) => boolean) | undefined;
12
- getTagColor?: ((tag: string) => string | undefined) | undefined;
13
- findMainGuest?: ((attendeeId: string) => Attendee | undefined) | undefined;
14
- onClick?: ((attendeeId: string) => void) | undefined;
15
- }>>;
16
- export default _default;
17
- export declare const WithBackground: ComponentStory<React.FunctionComponent<{
18
- attendee: Attendee;
19
- checkinTag: string;
20
- plain?: boolean | undefined;
21
- dense?: boolean | undefined;
22
- infoText?: string | undefined;
23
- formatName: (attendee: Attendee) => string;
24
- filterTags?: ((tag: string) => boolean) | undefined;
25
- getTagColor?: ((tag: string) => string | undefined) | undefined;
26
- findMainGuest?: ((attendeeId: string) => Attendee | undefined) | undefined;
27
- onClick?: ((attendeeId: string) => void) | undefined;
28
- }>>;
29
- export declare const Plain: ComponentStory<React.FunctionComponent<{
30
- attendee: Attendee;
31
- checkinTag: string;
32
- plain?: boolean | undefined;
33
- dense?: boolean | undefined;
34
- infoText?: string | undefined;
35
- formatName: (attendee: Attendee) => string;
36
- filterTags?: ((tag: string) => boolean) | undefined;
37
- getTagColor?: ((tag: string) => string | undefined) | undefined;
38
- findMainGuest?: ((attendeeId: string) => Attendee | undefined) | undefined;
39
- onClick?: ((attendeeId: string) => void) | undefined;
40
- }>>;
41
- export declare const Dense: ComponentStory<React.FunctionComponent<{
42
- attendee: Attendee;
43
- checkinTag: string;
44
- plain?: boolean | undefined;
45
- dense?: boolean | undefined;
46
- infoText?: string | undefined;
47
- formatName: (attendee: Attendee) => string;
48
- filterTags?: ((tag: string) => boolean) | undefined;
49
- getTagColor?: ((tag: string) => string | undefined) | undefined;
50
- findMainGuest?: ((attendeeId: string) => Attendee | undefined) | undefined;
51
- onClick?: ((attendeeId: string) => void) | undefined;
52
- }>>;
53
- export declare const FilteredTags: ComponentStory<React.FunctionComponent<{
54
- attendee: Attendee;
55
- checkinTag: string;
56
- plain?: boolean | undefined;
57
- dense?: boolean | undefined;
58
- infoText?: string | undefined;
59
- formatName: (attendee: Attendee) => string;
60
- filterTags?: ((tag: string) => boolean) | undefined;
61
- getTagColor?: ((tag: string) => string | undefined) | undefined;
62
- findMainGuest?: ((attendeeId: string) => Attendee | undefined) | undefined;
63
- onClick?: ((attendeeId: string) => void) | undefined;
64
- }>>;
65
- export declare const WithColorLabel: ComponentStory<React.FunctionComponent<{
66
- attendee: Attendee;
67
- checkinTag: string;
68
- plain?: boolean | undefined;
69
- dense?: boolean | undefined;
70
- infoText?: string | undefined;
71
- formatName: (attendee: Attendee) => string;
72
- filterTags?: ((tag: string) => boolean) | undefined;
73
- getTagColor?: ((tag: string) => string | undefined) | undefined;
74
- findMainGuest?: ((attendeeId: string) => Attendee | undefined) | undefined;
75
- onClick?: ((attendeeId: string) => void) | undefined;
76
- }>>;
77
- export declare const WithMultipleColorLabels: ComponentStory<React.FunctionComponent<{
78
- attendee: Attendee;
79
- checkinTag: string;
80
- plain?: boolean | undefined;
81
- dense?: boolean | undefined;
82
- infoText?: string | undefined;
83
- formatName: (attendee: Attendee) => string;
84
- filterTags?: ((tag: string) => boolean) | undefined;
85
- getTagColor?: ((tag: string) => string | undefined) | undefined;
86
- findMainGuest?: ((attendeeId: string) => Attendee | undefined) | undefined;
87
- onClick?: ((attendeeId: string) => void) | undefined;
88
- }>>;
89
- export declare const WithInfoText: ComponentStory<React.FunctionComponent<{
90
- attendee: Attendee;
91
- checkinTag: string;
92
- plain?: boolean | undefined;
93
- dense?: boolean | undefined;
94
- infoText?: string | undefined;
95
- formatName: (attendee: Attendee) => string;
96
- filterTags?: ((tag: string) => boolean) | undefined;
97
- getTagColor?: ((tag: string) => string | undefined) | undefined;
98
- findMainGuest?: ((attendeeId: string) => Attendee | undefined) | undefined;
99
- onClick?: ((attendeeId: string) => void) | undefined;
100
- }>>;
101
- export declare const WithCompanion: ComponentStory<React.FunctionComponent<{
102
- attendee: Attendee;
103
- checkinTag: string;
104
- plain?: boolean | undefined;
105
- dense?: boolean | undefined;
106
- infoText?: string | undefined;
107
- formatName: (attendee: Attendee) => string;
108
- filterTags?: ((tag: string) => boolean) | undefined;
109
- getTagColor?: ((tag: string) => string | undefined) | undefined;
110
- findMainGuest?: ((attendeeId: string) => Attendee | undefined) | undefined;
111
- onClick?: ((attendeeId: string) => void) | undefined;
112
- }>>;
113
- export declare const WithCompanionButNoMainGuestInfo: ComponentStory<React.FunctionComponent<{
114
- attendee: Attendee;
115
- checkinTag: string;
116
- plain?: boolean | undefined;
117
- dense?: boolean | undefined;
118
- infoText?: string | undefined;
119
- formatName: (attendee: Attendee) => string;
120
- filterTags?: ((tag: string) => boolean) | undefined;
121
- getTagColor?: ((tag: string) => string | undefined) | undefined;
122
- findMainGuest?: ((attendeeId: string) => Attendee | undefined) | undefined;
123
- onClick?: ((attendeeId: string) => void) | undefined;
124
- }>>;
1
+ import { Meta, StoryObj } from '@storybook/react';
2
+ import { GuestCard } from './guest-card';
3
+ declare const meta: Meta<typeof GuestCard>;
4
+ export default meta;
5
+ declare type Story = StoryObj<typeof GuestCard>;
6
+ export declare const WithBackground: Story;
7
+ export declare const Plain: Story;
8
+ export declare const Dense: Story;
9
+ export declare const FilteredTags: Story;
10
+ export declare const WithColorLabel: Story;
11
+ export declare const WithMultipleColorLabels: Story;
12
+ export declare const WithInfoText: Story;
13
+ export declare const WithCompanion: Story;
14
+ export declare const WithCompanionButNoMainGuestInfo: Story;
@@ -1,8 +1,7 @@
1
- import React from 'react';
2
1
  import { GuestCard } from './guest-card';
3
2
  import { Attendee } from '../models';
4
- import { theme } from '../lib';
5
- export default {
3
+ import { colors } from '../lib/theme';
4
+ const meta = {
6
5
  title: 'Guest Card',
7
6
  component: GuestCard,
8
7
  argTypes: {
@@ -11,6 +10,7 @@ export default {
11
10
  }
12
11
  }
13
12
  };
13
+ export default meta;
14
14
  const attendee = new Attendee({
15
15
  id: 'my-attendee',
16
16
  language: 'de',
@@ -79,95 +79,112 @@ const companion = new Attendee({
79
79
  payment: null
80
80
  });
81
81
  const tagColors = {
82
- VIP: theme.colors.enterPink,
83
- tester: theme.colors.enterCyan
82
+ VIP: colors.enterPink,
83
+ tester: colors.enterCyan
84
84
  };
85
- const Template = args => /*#__PURE__*/React.createElement(GuestCard, args);
86
- export const WithBackground = Template.bind({});
87
- WithBackground.args = {
88
- attendee: attendee,
89
- checkinTag: 'default',
90
- formatName(attendee) {
91
- return attendee.userdata.name?.toString() ?? '';
85
+ export const WithBackground = {
86
+ args: {
87
+ attendee: attendee,
88
+ branchName: 'default',
89
+ counterName: 'main',
90
+ formatName(attendee) {
91
+ return attendee.getFieldValueString('name');
92
+ }
92
93
  }
93
94
  };
94
- export const Plain = Template.bind({});
95
- Plain.args = {
96
- plain: true,
97
- attendee: attendee,
98
- checkinTag: 'default',
99
- formatName(attendee) {
100
- return attendee.userdata.name?.toString() ?? '';
95
+ export const Plain = {
96
+ args: {
97
+ plain: true,
98
+ attendee: attendee,
99
+ branchName: 'default',
100
+ counterName: 'main',
101
+ formatName(attendee) {
102
+ return attendee.getFieldValueString('name');
103
+ }
101
104
  }
102
105
  };
103
- export const Dense = Template.bind({});
104
- Dense.args = {
105
- dense: true,
106
- attendee: attendee,
107
- checkinTag: 'default',
108
- formatName(attendee) {
109
- return attendee.userdata.name?.toString() ?? '';
106
+ export const Dense = {
107
+ args: {
108
+ dense: true,
109
+ attendee: attendee,
110
+ branchName: 'default',
111
+ counterName: 'main',
112
+ formatName(attendee) {
113
+ return attendee.getFieldValueString('name');
114
+ }
110
115
  }
111
116
  };
112
- export const FilteredTags = Template.bind({});
113
- FilteredTags.args = {
114
- attendee: attendee,
115
- checkinTag: 'default',
116
- filterTags(tag) {
117
- const allowedTags = ['VIP'];
118
- return allowedTags.includes(tag);
119
- },
120
- formatName(attendee) {
121
- return attendee.userdata.name?.toString() ?? '';
117
+ export const FilteredTags = {
118
+ args: {
119
+ attendee: attendee,
120
+ branchName: 'default',
121
+ counterName: 'main',
122
+ filterTags(tag) {
123
+ const allowedTags = ['VIP'];
124
+ return allowedTags.includes(tag);
125
+ },
126
+ formatName(attendee) {
127
+ return attendee.getFieldValueString('name');
128
+ }
122
129
  }
123
130
  };
124
- export const WithColorLabel = Template.bind({});
125
- WithColorLabel.args = {
126
- attendee: attendee,
127
- checkinTag: 'default',
128
- formatName(attendee) {
129
- return attendee.userdata.name?.toString() ?? '';
130
- },
131
- getTagColor(tag) {
132
- return tagColors[tag] ?? undefined;
131
+ export const WithColorLabel = {
132
+ args: {
133
+ attendee: attendee,
134
+ branchName: 'default',
135
+ counterName: 'main',
136
+ formatName(attendee) {
137
+ return attendee.getFieldValueString('name');
138
+ },
139
+ getTagColor(tag) {
140
+ return tagColors[tag] ?? undefined;
141
+ }
133
142
  }
134
143
  };
135
- export const WithMultipleColorLabels = Template.bind({});
136
- WithMultipleColorLabels.args = {
137
- attendee: attendeeWithMultipleTags,
138
- checkinTag: 'default',
139
- formatName(attendee) {
140
- return attendee.userdata.name?.toString() ?? '';
141
- },
142
- getTagColor(tag) {
143
- return tagColors[tag] ?? undefined;
144
+ export const WithMultipleColorLabels = {
145
+ args: {
146
+ attendee: attendeeWithMultipleTags,
147
+ branchName: 'default',
148
+ counterName: 'main',
149
+ formatName(attendee) {
150
+ return attendee.getFieldValueString('name');
151
+ },
152
+ getTagColor(tag) {
153
+ return tagColors[tag] ?? undefined;
154
+ }
144
155
  }
145
156
  };
146
- export const WithInfoText = Template.bind({});
147
- WithInfoText.args = {
148
- attendee: attendee,
149
- checkinTag: 'default',
150
- infoText: '🥦 Vegetarian',
151
- formatName(attendee) {
152
- return attendee.userdata.name?.toString() ?? '';
157
+ export const WithInfoText = {
158
+ args: {
159
+ attendee: attendee,
160
+ branchName: 'default',
161
+ counterName: 'main',
162
+ infoText: '🥦 Vegetarian',
163
+ formatName(attendee) {
164
+ return attendee.getFieldValueString('name');
165
+ }
153
166
  }
154
167
  };
155
- export const WithCompanion = Template.bind({});
156
- WithCompanion.args = {
157
- attendee: companion,
158
- checkinTag: 'default',
159
- findMainGuest: () => {
160
- return attendee;
161
- },
162
- formatName(attendee) {
163
- return attendee.userdata.name?.toString() ?? '';
168
+ export const WithCompanion = {
169
+ args: {
170
+ attendee: companion,
171
+ branchName: 'default',
172
+ counterName: 'main',
173
+ findMainGuest: () => {
174
+ return attendee;
175
+ },
176
+ formatName(attendee) {
177
+ return attendee.getFieldValueString('name');
178
+ }
164
179
  }
165
180
  };
166
- export const WithCompanionButNoMainGuestInfo = Template.bind({});
167
- WithCompanionButNoMainGuestInfo.args = {
168
- attendee: companion,
169
- checkinTag: 'default',
170
- formatName(attendee) {
171
- return attendee.userdata.name?.toString() ?? '';
181
+ export const WithCompanionButNoMainGuestInfo = {
182
+ args: {
183
+ attendee: companion,
184
+ branchName: 'default',
185
+ counterName: 'main',
186
+ formatName(attendee) {
187
+ return attendee.getFieldValueString('name');
188
+ }
172
189
  }
173
190
  };