@spothero/ui 22.0.0-beta.1 → 22.0.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,16 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
9
+ var _react = _interopRequireDefault(require("react"));
10
+ var _react2 = require("@chakra-ui/react");
11
+ const Menu = (0, _react2.forwardRef)((props, ref) => {
12
+ return /*#__PURE__*/_react.default.createElement(_react2.Menu, (0, _extends2.default)({}, props, {
13
+ ref: ref
14
+ }));
15
+ });
16
+ var _default = exports.default = Menu;
@@ -0,0 +1,159 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = exports.Complex = exports.Basic = void 0;
8
+ var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
9
+ var _react = _interopRequireDefault(require("react"));
10
+ var _Menu = _interopRequireDefault(require("./Menu"));
11
+ var _index = require("./index");
12
+ var _disableArgs = _interopRequireDefault(require("storybook/utils/disable-args"));
13
+ var _react2 = require("@chakra-ui/react");
14
+ var _default = exports.default = {
15
+ title: 'v2/Menu',
16
+ component: {
17
+ Menu: _Menu.default
18
+ },
19
+ parameters: {
20
+ importedBy: 'Menu',
21
+ removeBaseHtmlClass: true,
22
+ chakraLink: 'https://v1.chakra-ui.com/docs/components/overlay/menu'
23
+ },
24
+ argTypes: {
25
+ variant: {
26
+ control: {
27
+ type: 'select',
28
+ options: ['basic', 'full']
29
+ }
30
+ }
31
+ }
32
+ };
33
+ const BasicMenuTemplate = props => {
34
+ return /*#__PURE__*/_react.default.createElement(_Menu.default, props, /*#__PURE__*/_react.default.createElement(_index.MenuButton, null, "MenuItem"), /*#__PURE__*/_react.default.createElement(_index.MenuList, null, /*#__PURE__*/_react.default.createElement(_index.MenuOptionGroup, {
35
+ title: "Order",
36
+ type: "radio"
37
+ }, /*#__PURE__*/_react.default.createElement(_index.MenuItemOption, {
38
+ value: "asc"
39
+ }, "Ascending"), /*#__PURE__*/_react.default.createElement(_index.MenuItemOption, {
40
+ value: "desc"
41
+ }, "Descending")), /*#__PURE__*/_react.default.createElement(_index.MenuDivider, null), /*#__PURE__*/_react.default.createElement(_index.MenuOptionGroup, {
42
+ title: "Country",
43
+ type: "checkbox"
44
+ }, /*#__PURE__*/_react.default.createElement(_index.MenuItemOption, {
45
+ value: "email"
46
+ }, "Email"), /*#__PURE__*/_react.default.createElement(_index.MenuItemOption, {
47
+ value: "phone"
48
+ }, "Phone"), /*#__PURE__*/_react.default.createElement(_index.MenuItemOption, {
49
+ value: "country"
50
+ }, "Country")), /*#__PURE__*/_react.default.createElement(_index.MenuGroup, {
51
+ title: "Profile"
52
+ }, /*#__PURE__*/_react.default.createElement(_index.MenuItem, null, "My Account"), /*#__PURE__*/_react.default.createElement(_index.MenuItem, null, "Payments "))));
53
+ };
54
+ const ComplexMenuTemplate = props => {
55
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_react2.Text, {
56
+ variant: "body2",
57
+ marginBottom: 8
58
+ }, "NOTE: This is a fairly contrived example. Chakra's", ' ', /*#__PURE__*/_react.default.createElement(_react2.Text, {
59
+ as: "code"
60
+ }, '<Menu />'), " (and child components) allow for the building of a complex menu using other components like", ' ', /*#__PURE__*/_react.default.createElement(_react2.Text, {
61
+ as: "code"
62
+ }, '<Flex />'), ",", ' ', /*#__PURE__*/_react.default.createElement(_react2.Text, {
63
+ as: "code"
64
+ }, '<Box />'), ",", ' ', /*#__PURE__*/_react.default.createElement(_react2.Text, {
65
+ as: "code"
66
+ }, '<Text />'), ", etc. The example below is leveraging the ", /*#__PURE__*/_react.default.createElement(_react2.Text, {
67
+ as: "code"
68
+ }, 'full'), " variant to allow for a more complex layout."), /*#__PURE__*/_react.default.createElement(_Menu.default, (0, _extends2.default)({}, props, {
69
+ placement: "bottom"
70
+ }), /*#__PURE__*/_react.default.createElement(_index.MenuButton, null, "Menu Button"), /*#__PURE__*/_react.default.createElement(_index.MenuList, null, /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_react2.Flex, {
71
+ gap: 4
72
+ }, /*#__PURE__*/_react.default.createElement(_react2.Text, {
73
+ fontSize: "sm",
74
+ fontWeight: "semibold"
75
+ }, "102 S Ada St. Chicago, IL"), /*#__PURE__*/_react.default.createElement(_react2.Text, {
76
+ fontSize: "sm"
77
+ }, "102 S Ada St. - Self Park Garage")), /*#__PURE__*/_react.default.createElement(_react2.Divider, {
78
+ marginY: 4
79
+ })), /*#__PURE__*/_react.default.createElement(_react2.Flex, {
80
+ alignItems: "flex-start",
81
+ gap: 2.5
82
+ }, /*#__PURE__*/_react.default.createElement(_index.MenuGroup, {
83
+ title: "Facility Management",
84
+ paddingX: 3.5
85
+ }, /*#__PURE__*/_react.default.createElement(_index.MenuItem, null, /*#__PURE__*/_react.default.createElement(_react2.Text, {
86
+ fontSize: "sm"
87
+ }, "Location Information"), /*#__PURE__*/_react.default.createElement(_react2.Text, {
88
+ fontSize: "xs",
89
+ fontWeight: "light"
90
+ }, "Manage the details provided to drivers about a facility")), /*#__PURE__*/_react.default.createElement(_index.MenuItem, null, /*#__PURE__*/_react.default.createElement(_react2.Text, {
91
+ fontSize: "sm"
92
+ }, "Changelog"), /*#__PURE__*/_react.default.createElement(_react2.Text, {
93
+ fontSize: "xs",
94
+ fontWeight: "light"
95
+ }, "Track changes made to your facilities")), /*#__PURE__*/_react.default.createElement(_index.MenuItem, null, /*#__PURE__*/_react.default.createElement(_react2.Text, {
96
+ fontSize: "sm"
97
+ }, "Email Recipients"), /*#__PURE__*/_react.default.createElement(_react2.Text, {
98
+ fontSize: "xs",
99
+ fontWeight: "light"
100
+ }, "View recipients of recurring operational emails"))), /*#__PURE__*/_react.default.createElement(_react2.Box, {
101
+ height: 80
102
+ }, /*#__PURE__*/_react.default.createElement(_react2.Divider, {
103
+ orientation: "vertical"
104
+ })), /*#__PURE__*/_react.default.createElement(_index.MenuGroup, {
105
+ title: "Events",
106
+ paddingX: 3.5
107
+ }, /*#__PURE__*/_react.default.createElement(_index.MenuItem, null, /*#__PURE__*/_react.default.createElement(_react2.Text, {
108
+ fontSize: "sm"
109
+ }, "Event Schedule"), /*#__PURE__*/_react.default.createElement(_react2.Text, {
110
+ fontSize: "xs",
111
+ fontWeight: "light"
112
+ }, "Manage upcoming event rates and track sales")), /*#__PURE__*/_react.default.createElement(_index.MenuItem, null, /*#__PURE__*/_react.default.createElement(_react2.Text, {
113
+ fontSize: "sm"
114
+ }, "Event Pricing Defaults"), /*#__PURE__*/_react.default.createElement(_react2.Text, {
115
+ fontSize: "xs",
116
+ fontWeight: "light"
117
+ }, "Set rate and inventory rules for various types of events"))), /*#__PURE__*/_react.default.createElement(_react2.Box, {
118
+ height: 80
119
+ }, /*#__PURE__*/_react.default.createElement(_react2.Divider, {
120
+ orientation: "vertical"
121
+ })), /*#__PURE__*/_react.default.createElement(_react2.Box, null, /*#__PURE__*/_react.default.createElement(_index.MenuGroup, {
122
+ title: "Monthly",
123
+ paddingX: 3.5
124
+ }, /*#__PURE__*/_react.default.createElement(_index.MenuItem, null, /*#__PURE__*/_react.default.createElement(_react2.Text, {
125
+ fontSize: "sm"
126
+ }, "Monthly Rates"), /*#__PURE__*/_react.default.createElement(_react2.Text, {
127
+ fontSize: "xs",
128
+ fontWeight: "light"
129
+ }, "Manage upcoming event rates and track sales")), /*#__PURE__*/_react.default.createElement(_index.MenuItem, null, /*#__PURE__*/_react.default.createElement(_react2.Text, {
130
+ fontSize: "sm"
131
+ }, "Monthly Inventory"), /*#__PURE__*/_react.default.createElement(_react2.Text, {
132
+ fontSize: "xs",
133
+ fontWeight: "light"
134
+ }, "Manage total monthly inventory and track utilization"))), /*#__PURE__*/_react.default.createElement(_index.MenuGroup, {
135
+ title: "Airport",
136
+ paddingX: 3.5
137
+ }, /*#__PURE__*/_react.default.createElement(_index.MenuItem, null, /*#__PURE__*/_react.default.createElement(_react2.Text, {
138
+ fontSize: "sm"
139
+ }, "Airport Rates"), /*#__PURE__*/_react.default.createElement(_react2.Text, {
140
+ fontSize: "xs",
141
+ fontWeight: "light"
142
+ }, "Manage airport rates")), /*#__PURE__*/_react.default.createElement(_index.MenuItem, null, /*#__PURE__*/_react.default.createElement(_react2.Text, {
143
+ fontSize: "sm"
144
+ }, "Airport Inventory"), /*#__PURE__*/_react.default.createElement(_react2.Text, {
145
+ fontSize: "xs",
146
+ fontWeight: "light"
147
+ }, "Manage total airport inventory and exceptions"))))))));
148
+ };
149
+ const Basic = exports.Basic = BasicMenuTemplate.bind({});
150
+ Basic.args = {
151
+ variant: 'basic'
152
+ };
153
+ const Complex = exports.Complex = ComplexMenuTemplate.bind({});
154
+ Complex.argTypes = {
155
+ ...(0, _disableArgs.default)(['variant'])
156
+ };
157
+ Complex.args = {
158
+ variant: 'full'
159
+ };
@@ -0,0 +1,173 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _merge = _interopRequireDefault(require("lodash/merge"));
9
+ var _theme = _interopRequireDefault(require("@chakra-ui/theme"));
10
+ const baseStyle = {
11
+ button: {
12
+ px: 8,
13
+ py: 3,
14
+ fontSize: 'base',
15
+ fontFamily: 'body',
16
+ lineHeight: 0.875,
17
+ fontWeight: 'semibold',
18
+ borderWidth: '1px',
19
+ borderStyle: 'solid',
20
+ borderRadius: 'base',
21
+ textTransform: 'capitalize',
22
+ transition: 'all normal ease',
23
+ _hover: {
24
+ bg: 'gray.50',
25
+ borderColor: 'gray.200'
26
+ },
27
+ _disabled: {
28
+ cursor: 'not-allowed',
29
+ opacity: 1,
30
+ bg: 'gray.200',
31
+ borderColor: 'gray.200',
32
+ color: 'gray.600'
33
+ },
34
+ _focus: {
35
+ zIndex: 1,
36
+ boxShadow: 'outline'
37
+ }
38
+ },
39
+ list: {
40
+ bg: 'white',
41
+ boxShadow: 'base',
42
+ padding: 6,
43
+ zIndex: 'layer1',
44
+ width: 64
45
+ },
46
+ item: {
47
+ paddingX: 2,
48
+ paddingY: 1.5,
49
+ _focus: {
50
+ zIndex: 1,
51
+ boxShadow: 'outline'
52
+ }
53
+ },
54
+ groupTitle: {
55
+ fontWeight: 'semibold',
56
+ color: 'gray.600',
57
+ padding: 2
58
+ },
59
+ command: {
60
+ // this will style the text defined by the command
61
+ // prop in the MenuItem and MenuItemOption components
62
+ opacity: '0.8',
63
+ fontFamily: 'mono',
64
+ fontSize: 'sm',
65
+ letterSpacing: 'tighter',
66
+ paddingL: 4
67
+ },
68
+ divider: {
69
+ marginY: 2,
70
+ borderColor: 'gray.200'
71
+ }
72
+ };
73
+ const variants = {
74
+ basic: {
75
+ button: {
76
+ bg: 'primary.default',
77
+ borderColor: 'primary.default',
78
+ color: 'white',
79
+ _hover: {
80
+ bg: 'primary.600',
81
+ borderColor: 'primary.600',
82
+ color: 'white',
83
+ _disabled: {
84
+ bg: 'gray.200',
85
+ borderColor: 'gray.200',
86
+ color: 'gray.600'
87
+ }
88
+ }
89
+ },
90
+ list: {
91
+ bg: 'white',
92
+ boxShadow: 'base',
93
+ zIndex: 'layer1',
94
+ borderColor: 'gray.100',
95
+ borderWidth: '1px',
96
+ borderStyle: 'solid',
97
+ borderRadius: 'base',
98
+ padding: 4,
99
+ width: 64
100
+ },
101
+ groupTitle: {
102
+ fontWeight: 'semibold',
103
+ fontSize: 'md',
104
+ color: 'gray.600',
105
+ padding: 2
106
+ },
107
+ item: {
108
+ fontWeight: 'semibold',
109
+ _hover: {
110
+ color: 'gray.600'
111
+ }
112
+ }
113
+ },
114
+ full: {
115
+ button: {
116
+ height: 8,
117
+ fontSize: 'sm',
118
+ fontWeight: 'semibold',
119
+ color: 'black',
120
+ borderColor: 'white',
121
+ backgroundColor: 'white',
122
+ borderRadius: 'base',
123
+ paddingX: 3,
124
+ paddingY: 'auto',
125
+ _hover: {
126
+ color: 'black',
127
+ backgroundColor: 'gray.50',
128
+ borderColor: 'gray.50'
129
+ },
130
+ _active: {
131
+ color: 'primary.default',
132
+ backgroundColor: 'gray.50',
133
+ borderColor: 'gray.50',
134
+ _hover: {
135
+ color: 'primary.600',
136
+ backgroundColor: 'gray.50',
137
+ borderColor: 'gray.50'
138
+ }
139
+ }
140
+ },
141
+ list: {
142
+ height: '30rem',
143
+ width: '100vw',
144
+ padding: 8,
145
+ backgroundColor: 'white'
146
+ },
147
+ groupTitle: {
148
+ fontSize: 'sm',
149
+ weight: 'normal',
150
+ color: 'gray.600'
151
+ },
152
+ item: {
153
+ display: 'block',
154
+ paddingX: 3.5,
155
+ paddingY: 2.5,
156
+ marginBottom: 2,
157
+ _last: {
158
+ marginBottom: 0
159
+ },
160
+ _hover: {
161
+ backgroundColor: 'gray.50'
162
+ },
163
+ _focus: {
164
+ boxShadow: 'none',
165
+ backgroundColor: 'gray.50'
166
+ }
167
+ }
168
+ }
169
+ };
170
+ var _default = exports.default = (0, _merge.default)(_theme.default.components.Menu, {
171
+ baseStyle,
172
+ variants
173
+ });
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ Object.defineProperty(exports, "MenuButton", {
8
+ enumerable: true,
9
+ get: function () {
10
+ return _react.MenuButton;
11
+ }
12
+ });
13
+ Object.defineProperty(exports, "MenuDivider", {
14
+ enumerable: true,
15
+ get: function () {
16
+ return _react.MenuDivider;
17
+ }
18
+ });
19
+ Object.defineProperty(exports, "MenuGroup", {
20
+ enumerable: true,
21
+ get: function () {
22
+ return _react.MenuGroup;
23
+ }
24
+ });
25
+ Object.defineProperty(exports, "MenuItem", {
26
+ enumerable: true,
27
+ get: function () {
28
+ return _react.MenuItem;
29
+ }
30
+ });
31
+ Object.defineProperty(exports, "MenuItemOption", {
32
+ enumerable: true,
33
+ get: function () {
34
+ return _react.MenuItemOption;
35
+ }
36
+ });
37
+ Object.defineProperty(exports, "MenuList", {
38
+ enumerable: true,
39
+ get: function () {
40
+ return _react.MenuList;
41
+ }
42
+ });
43
+ Object.defineProperty(exports, "MenuOptionGroup", {
44
+ enumerable: true,
45
+ get: function () {
46
+ return _react.MenuOptionGroup;
47
+ }
48
+ });
49
+ Object.defineProperty(exports, "default", {
50
+ enumerable: true,
51
+ get: function () {
52
+ return _Menu.default;
53
+ }
54
+ });
55
+ var _Menu = _interopRequireDefault(require("./Menu"));
56
+ var _react = require("@chakra-ui/react");
@@ -4,7 +4,7 @@ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequ
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.default = exports.Variant = exports.Placement = exports.NoHeader = exports.NoCloseButton = void 0;
7
+ exports.default = exports.Variant = exports.Placement = exports.NoHeader = exports.NoCloseButton = exports.NoArrow = void 0;
8
8
  var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
9
9
  var _react = _interopRequireDefault(require("react"));
10
10
  var _disableArgs = _interopRequireDefault(require("storybook/utils/disable-args"));
@@ -67,4 +67,14 @@ const NoCloseButtonTemplate = props => /*#__PURE__*/_react.default.createElement
67
67
  const NoCloseButton = exports.NoCloseButton = NoCloseButtonTemplate.bind({});
68
68
  NoCloseButton.argTypes = {
69
69
  ...(0, _disableArgs.default)(['variant', 'placement'])
70
+ };
71
+ const NoArrowTemplate = props => /*#__PURE__*/_react.default.createElement(_index.Popover, (0, _extends2.default)({
72
+ defaultIsOpen: true
73
+ }, props), /*#__PURE__*/_react.default.createElement(_index.PopoverTrigger, null, /*#__PURE__*/_react.default.createElement(_Button.default, null, "Trigger")), /*#__PURE__*/_react.default.createElement(_index.PopoverContent, {
74
+ hideArrow: true,
75
+ header: "Confirmation!"
76
+ }, "Are you sure you want to have that milkshake?"));
77
+ const NoArrow = exports.NoArrow = NoArrowTemplate.bind({});
78
+ NoArrow.argTypes = {
79
+ ...(0, _disableArgs.default)(['variant', 'placement'])
70
80
  };
@@ -18,18 +18,21 @@ const PopoverContent = /*#__PURE__*/(0, _react.forwardRef)((props, ref) => {
18
18
  variant,
19
19
  children,
20
20
  hideCloseButton,
21
+ hideArrow,
22
+ popoverBodyProps,
21
23
  ...rest
22
24
  } = props;
23
25
  return /*#__PURE__*/_react.default.createElement(_react2.PopoverContent, (0, _extends2.default)({}, rest, {
24
26
  ref: ref
25
- }), /*#__PURE__*/_react.default.createElement(_PopoverArrow.default, {
27
+ }), hideArrow ? null : /*#__PURE__*/_react.default.createElement(_PopoverArrow.default, {
26
28
  variant: variant
27
29
  }), hideCloseButton ? null : /*#__PURE__*/_react.default.createElement(_PopoverCloseButton.default, {
28
30
  variant: variant
29
- }), header ? /*#__PURE__*/_react.default.createElement(_react2.PopoverHeader, null, header) : null, /*#__PURE__*/_react.default.createElement(_react2.PopoverBody, null, children));
31
+ }), header ? /*#__PURE__*/_react.default.createElement(_react2.PopoverHeader, null, header) : null, /*#__PURE__*/_react.default.createElement(_react2.PopoverBody, popoverBodyProps, children));
30
32
  });
31
33
  PopoverContent.defaultProps = {
32
34
  variant: 'light',
33
- hideCloseButton: false
35
+ hideCloseButton: false,
36
+ hideArrow: false
34
37
  };
35
38
  var _default = exports.default = PopoverContent;
@@ -16,6 +16,12 @@ Object.defineProperty(exports, "PopoverAnchor", {
16
16
  return _react.PopoverAnchor;
17
17
  }
18
18
  });
19
+ Object.defineProperty(exports, "PopoverArrow", {
20
+ enumerable: true,
21
+ get: function () {
22
+ return _PopoverArrow.default;
23
+ }
24
+ });
19
25
  Object.defineProperty(exports, "PopoverContent", {
20
26
  enumerable: true,
21
27
  get: function () {
@@ -30,4 +36,5 @@ Object.defineProperty(exports, "PopoverTrigger", {
30
36
  });
31
37
  var _react = require("@chakra-ui/react");
32
38
  var _Popover = _interopRequireDefault(require("./Popover"));
33
- var _PopoverContent = _interopRequireDefault(require("./PopoverContent"));
39
+ var _PopoverContent = _interopRequireDefault(require("./PopoverContent"));
40
+ var _PopoverArrow = _interopRequireDefault(require("./PopoverArrow"));
@@ -22,6 +22,12 @@ var _default = exports.default = {
22
22
  type: 'select',
23
23
  options: [_Tabs.SIZE_SMALL, _Tabs.SIZE_BODY, _Tabs.SIZE_HEADING]
24
24
  }
25
+ },
26
+ variant: {
27
+ control: {
28
+ type: 'select',
29
+ options: ['line', 'enclosed']
30
+ }
25
31
  }
26
32
  }
27
33
  };
@@ -35,6 +35,34 @@ const variants = {
35
35
  color: 'black'
36
36
  }
37
37
  }
38
+ },
39
+ enclosed: {
40
+ tablist: {
41
+ backgroundColor: 'white',
42
+ borderRadius: '8px',
43
+ borederColor: 'gray.200',
44
+ borderWidth: '1px',
45
+ paddingY: 1
46
+ },
47
+ tab: {
48
+ borderRadius: '6px',
49
+ marginX: 1,
50
+ _selected: {
51
+ fontWeight: 'semibold',
52
+ color: 'white',
53
+ backgroundColor: 'primary.default',
54
+ _hover: {
55
+ backgroundColor: 'primary.600'
56
+ }
57
+ },
58
+ _active: {
59
+ backgroundColor: 'gray.200'
60
+ },
61
+ _disabled: {
62
+ opacity: 0.4,
63
+ cursor: 'not-allowed'
64
+ }
65
+ }
38
66
  }
39
67
  };
40
68
  var _default = exports.default = (0, _merge.default)(_theme.default.components.Tabs, {
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
9
+ var _react = _interopRequireWildcard(require("react"));
10
+ var _classnames = _interopRequireDefault(require("classnames"));
11
+ var _react2 = require("@chakra-ui/react");
12
+ var _FormControl = _interopRequireDefault(require("../FormControl/FormControl"));
13
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
14
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
15
+ const Textarea = /*#__PURE__*/(0, _react.forwardRef)(({
16
+ label,
17
+ helperText,
18
+ errorMessage,
19
+ isInvalid,
20
+ isDisabled,
21
+ isRequired,
22
+ isOptional,
23
+ customRequiredText,
24
+ ...props
25
+ }, ref) => {
26
+ const classes = (0, _classnames.default)({
27
+ 'FormElement-contains-error': isInvalid
28
+ });
29
+ return /*#__PURE__*/_react.default.createElement(_FormControl.default, {
30
+ isInvalid: isInvalid,
31
+ isDisabled: isDisabled,
32
+ isRequired: isRequired,
33
+ isOptional: isOptional,
34
+ errorMessage: errorMessage,
35
+ helperText: helperText,
36
+ label: label,
37
+ inputId: props.id,
38
+ customRequiredText: customRequiredText
39
+ }, /*#__PURE__*/_react.default.createElement(_react2.Textarea, (0, _extends2.default)({
40
+ ref: ref,
41
+ className: classes
42
+ }, props)));
43
+ });
44
+ var _default = exports.default = Textarea;
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = exports.Textarea = void 0;
8
+ var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
9
+ var _react = _interopRequireDefault(require("react"));
10
+ var _Textarea = _interopRequireDefault(require("./Textarea.stories"));
11
+ var _react2 = require("@chakra-ui/react");
12
+ var _default = exports.default = {
13
+ title: 'v2/Textarea',
14
+ component: _Textarea.default,
15
+ parameters: {
16
+ importBy: 'Textarea',
17
+ removeBaseHtmlClass: true,
18
+ chakraLink: 'https://chakra-ui.com/docs/components/textarea'
19
+ }
20
+ };
21
+ const TextareaTemplate = props => /*#__PURE__*/_react.default.createElement(_Textarea.default, (0, _extends2.default)({
22
+ variant: "outline",
23
+ maxWidth: "200px"
24
+ }, props));
25
+ const Textarea = exports.Textarea = TextareaTemplate.bind({});
26
+ Textarea.argTypes = {
27
+ placeholder: {
28
+ control: {
29
+ type: 'text'
30
+ }
31
+ },
32
+ label: {
33
+ control: {
34
+ type: 'text'
35
+ }
36
+ },
37
+ helperText: {
38
+ control: {
39
+ type: 'text'
40
+ }
41
+ },
42
+ errorMessage: {
43
+ control: {
44
+ type: 'text'
45
+ }
46
+ }
47
+ };
48
+ Textarea.args = {
49
+ id: 'textarea_id',
50
+ placeholder: 'Placeholder text',
51
+ label: 'Label',
52
+ helperText: 'Helper text',
53
+ errorMessage: 'Error message',
54
+ isInvalid: false,
55
+ isDisabled: false,
56
+ isReadOnly: false,
57
+ isRequired: false,
58
+ isOptional: false
59
+ };
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ Object.defineProperty(exports, "default", {
8
+ enumerable: true,
9
+ get: function () {
10
+ return _Textarea.default;
11
+ }
12
+ });
13
+ var _Textarea = _interopRequireDefault(require("./Textarea"));
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _merge = _interopRequireDefault(require("lodash/merge"));
9
+ var _theme = _interopRequireDefault(require("@chakra-ui/theme"));
10
+ const baseStyle = {
11
+ field: {
12
+ _placeholder: {
13
+ color: 'text.secondary.light',
14
+ fontWeight: 'normal',
15
+ _disabled: {
16
+ color: 'text.secondary.light',
17
+ opacity: 1
18
+ }
19
+ }
20
+ }
21
+ };
22
+ const variants = {
23
+ outline: {
24
+ field: {
25
+ border: '1px solid',
26
+ borderColor: 'gray.200',
27
+ fontSize: 'base',
28
+ paddingLeft: 3,
29
+ paddingRight: 3,
30
+ bg: 'inherit',
31
+ fontWeight: 'normal',
32
+ boxShadow: 'none !important',
33
+ _placeholder: {
34
+ color: 'text.secondary.light',
35
+ fontWeight: 'normal'
36
+ },
37
+ _focus: {
38
+ borderColor: 'primary.default'
39
+ },
40
+ _hover: {
41
+ borderColor: 'gray.300'
42
+ },
43
+ _readOnly: {
44
+ boxShadow: 'none !important',
45
+ userSelect: 'all'
46
+ },
47
+ _disabled: {
48
+ backgroundColor: 'gray.50',
49
+ opacity: 1,
50
+ cursor: 'not-allowed'
51
+ },
52
+ _invalid: {
53
+ borderColor: 'error',
54
+ _focus: {
55
+ borderColor: 'error'
56
+ }
57
+ }
58
+ }
59
+ }
60
+ };
61
+ var _default = exports.default = (0, _merge.default)(_theme.default.components.Textarea, {
62
+ baseStyle,
63
+ variants
64
+ });
@@ -32,8 +32,10 @@ var _exportNames = {
32
32
  Input: true,
33
33
  SelectionCard: true,
34
34
  Divider: true,
35
+ Textarea: true,
35
36
  Popover: true,
36
37
  PopoverAnchor: true,
38
+ PopoverArrow: true,
37
39
  PopoverTrigger: true,
38
40
  PopoverContent: true,
39
41
  Radio: true,
@@ -42,6 +44,14 @@ var _exportNames = {
42
44
  Badge: true,
43
45
  ToggleButtonGroup: true,
44
46
  CreatableSelect: true,
47
+ Menu: true,
48
+ MenuButton: true,
49
+ MenuList: true,
50
+ MenuItem: true,
51
+ MenuItemOption: true,
52
+ MenuGroup: true,
53
+ MenuOptionGroup: true,
54
+ MenuDivider: true,
45
55
  Box: true,
46
56
  Kbd: true,
47
57
  Code: true,
@@ -70,6 +80,8 @@ var _exportNames = {
70
80
  useClipboard: true,
71
81
  useDisclosure: true,
72
82
  useMediaQuery: true,
83
+ CheckboxGroup: true,
84
+ useStyleConfig: true,
73
85
  BreadcrumbItem: true,
74
86
  BreadcrumbLink: true,
75
87
  InputLeftAddon: true,
@@ -83,7 +95,7 @@ var _exportNames = {
83
95
  usePrefersReducedMotion: true,
84
96
  keyframes: true,
85
97
  BoxProps: true,
86
- Textarea: true
98
+ BasicTextarea: true
87
99
  };
88
100
  Object.defineProperty(exports, "Alert", {
89
101
  enumerable: true,
@@ -115,6 +127,12 @@ Object.defineProperty(exports, "BasicInput", {
115
127
  return _react.Input;
116
128
  }
117
129
  });
130
+ Object.defineProperty(exports, "BasicTextarea", {
131
+ enumerable: true,
132
+ get: function () {
133
+ return _react.Textarea;
134
+ }
135
+ });
118
136
  Object.defineProperty(exports, "Box", {
119
137
  enumerable: true,
120
138
  get: function () {
@@ -163,6 +181,12 @@ Object.defineProperty(exports, "Checkbox", {
163
181
  return _Checkbox.default;
164
182
  }
165
183
  });
184
+ Object.defineProperty(exports, "CheckboxGroup", {
185
+ enumerable: true,
186
+ get: function () {
187
+ return _react.CheckboxGroup;
188
+ }
189
+ });
166
190
  Object.defineProperty(exports, "Circle", {
167
191
  enumerable: true,
168
192
  get: function () {
@@ -325,6 +349,54 @@ Object.defineProperty(exports, "Loader", {
325
349
  return _Loader.default;
326
350
  }
327
351
  });
352
+ Object.defineProperty(exports, "Menu", {
353
+ enumerable: true,
354
+ get: function () {
355
+ return _Menu.default;
356
+ }
357
+ });
358
+ Object.defineProperty(exports, "MenuButton", {
359
+ enumerable: true,
360
+ get: function () {
361
+ return _Menu.MenuButton;
362
+ }
363
+ });
364
+ Object.defineProperty(exports, "MenuDivider", {
365
+ enumerable: true,
366
+ get: function () {
367
+ return _Menu.MenuDivider;
368
+ }
369
+ });
370
+ Object.defineProperty(exports, "MenuGroup", {
371
+ enumerable: true,
372
+ get: function () {
373
+ return _Menu.MenuGroup;
374
+ }
375
+ });
376
+ Object.defineProperty(exports, "MenuItem", {
377
+ enumerable: true,
378
+ get: function () {
379
+ return _Menu.MenuItem;
380
+ }
381
+ });
382
+ Object.defineProperty(exports, "MenuItemOption", {
383
+ enumerable: true,
384
+ get: function () {
385
+ return _Menu.MenuItemOption;
386
+ }
387
+ });
388
+ Object.defineProperty(exports, "MenuList", {
389
+ enumerable: true,
390
+ get: function () {
391
+ return _Menu.MenuList;
392
+ }
393
+ });
394
+ Object.defineProperty(exports, "MenuOptionGroup", {
395
+ enumerable: true,
396
+ get: function () {
397
+ return _Menu.MenuOptionGroup;
398
+ }
399
+ });
328
400
  Object.defineProperty(exports, "Popover", {
329
401
  enumerable: true,
330
402
  get: function () {
@@ -337,6 +409,12 @@ Object.defineProperty(exports, "PopoverAnchor", {
337
409
  return _Popover.PopoverAnchor;
338
410
  }
339
411
  });
412
+ Object.defineProperty(exports, "PopoverArrow", {
413
+ enumerable: true,
414
+ get: function () {
415
+ return _Popover.PopoverArrow;
416
+ }
417
+ });
340
418
  Object.defineProperty(exports, "PopoverContent", {
341
419
  enumerable: true,
342
420
  get: function () {
@@ -466,7 +544,7 @@ Object.defineProperty(exports, "Text", {
466
544
  Object.defineProperty(exports, "Textarea", {
467
545
  enumerable: true,
468
546
  get: function () {
469
- return _react.Textarea;
547
+ return _Textarea.default;
470
548
  }
471
549
  });
472
550
  Object.defineProperty(exports, "ThemeProvider", {
@@ -541,6 +619,12 @@ Object.defineProperty(exports, "usePrefersReducedMotion", {
541
619
  return _react.usePrefersReducedMotion;
542
620
  }
543
621
  });
622
+ Object.defineProperty(exports, "useStyleConfig", {
623
+ enumerable: true,
624
+ get: function () {
625
+ return _react.useStyleConfig;
626
+ }
627
+ });
544
628
  Object.defineProperty(exports, "useTheme", {
545
629
  enumerable: true,
546
630
  get: function () {
@@ -652,12 +736,14 @@ var _Checkbox = _interopRequireDefault(require("./Checkbox"));
652
736
  var _Input = _interopRequireDefault(require("./Input"));
653
737
  var _SelectionCard = require("./SelectionCard");
654
738
  var _Divider = _interopRequireDefault(require("./Divider/Divider"));
739
+ var _Textarea = _interopRequireDefault(require("./Textarea"));
655
740
  var _Popover = require("./Popover");
656
741
  var _Radio = require("./Radio");
657
742
  var _AutoSuggestSelect = require("./AutoSuggestSelect");
658
743
  var _Badge = _interopRequireDefault(require("./Badge/Badge"));
659
744
  var _ToggleButtonGroup = _interopRequireDefault(require("./ToggleButtonGroup/ToggleButtonGroup"));
660
745
  var _CreatableSelect = require("./CreatableSelect");
746
+ var _Menu = _interopRequireWildcard(require("./Menu"));
661
747
  var _react = require("@chakra-ui/react");
662
748
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
663
749
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
@@ -70,6 +70,12 @@ Object.defineProperty(exports, "List", {
70
70
  return _styles.default;
71
71
  }
72
72
  });
73
+ Object.defineProperty(exports, "Menu", {
74
+ enumerable: true,
75
+ get: function () {
76
+ return _Menu.default;
77
+ }
78
+ });
73
79
  Object.defineProperty(exports, "Modal", {
74
80
  enumerable: true,
75
81
  get: function () {
@@ -157,4 +163,5 @@ var _styles10 = _interopRequireDefault(require("./Radio/styles"));
157
163
  var _Skeleton = _interopRequireDefault(require("./Skeleton/Skeleton.styles"));
158
164
  var _styles11 = _interopRequireDefault(require("./Badge/styles"));
159
165
  var _styles12 = _interopRequireDefault(require("./Drawer/styles"));
160
- var _Progress = _interopRequireDefault(require("./Progress/Progress.styles"));
166
+ var _Progress = _interopRequireDefault(require("./Progress/Progress.styles"));
167
+ var _Menu = _interopRequireDefault(require("./Menu/Menu.styles"));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@spothero/ui",
3
- "version": "22.0.0-beta.1",
3
+ "version": "22.0.0",
4
4
  "description": "SpotHero's React component UI library.",
5
5
  "main": "./dist/components/index.js",
6
6
  "exports": "./dist/components/index.js",
@@ -94,13 +94,13 @@
94
94
  "webpack-merge": "5.1.4",
95
95
  "css-loader": "5.1.3",
96
96
  "sass-loader": "10.2.1",
97
+ "@spothero/babel-preset-spothero": "5.1.0",
97
98
  "@spothero/browserslist-config": "4.0.0",
98
- "@spothero/core": "7.0.0",
99
99
  "@spothero/eslint-config": "6.1.0",
100
- "@spothero/npm-publisher": "7.0.0",
101
- "@spothero/icons": "9.0.0-beta.1",
102
- "@spothero/babel-preset-spothero": "5.1.0",
100
+ "@spothero/icons": "9.0.0",
103
101
  "@spothero/prettier-config": "4.0.0",
102
+ "@spothero/core": "7.0.0",
103
+ "@spothero/npm-publisher": "7.0.0",
104
104
  "@spothero/stylelint-config": "6.0.0"
105
105
  },
106
106
  "dependencies": {
@@ -117,7 +117,7 @@
117
117
  "regenerator-runtime": "0.13.7",
118
118
  "ssr-window": "1.0.1",
119
119
  "transitionEnd": "1.0.2",
120
- "@spothero/utils": "15.0.0-beta.1"
120
+ "@spothero/utils": "15.0.0"
121
121
  },
122
122
  "peerDependencies": {
123
123
  "classnames": "^2.2.6",