@marigold/components 0.1.0 → 0.3.2

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 (220) hide show
  1. package/CHANGELOG.md +180 -0
  2. package/dist/ActionGroup/ActionGroup.d.ts +8 -0
  3. package/dist/ActionGroup/ActionGroup.stories.d.ts +5 -0
  4. package/dist/ActionGroup/index.d.ts +1 -0
  5. package/dist/Alert/Alert.d.ts +22 -1
  6. package/dist/Alert/Alert.stories.d.ts +5 -0
  7. package/dist/Badge/Badge.d.ts +5 -0
  8. package/dist/Badge/Badge.stories.d.ts +5 -0
  9. package/dist/Box.d.ts +2 -0
  10. package/dist/Button/Button.d.ts +9 -6
  11. package/dist/Button/Button.stories.d.ts +5 -0
  12. package/dist/Card/Card.d.ts +14 -0
  13. package/dist/Card/Card.stories.d.ts +5 -0
  14. package/dist/Card/index.d.ts +1 -0
  15. package/dist/Checkbox/Checkbox.d.ts +12 -4
  16. package/dist/Checkbox/Checkbox.stories.d.ts +5 -0
  17. package/dist/Checkbox/CheckboxIcons.d.ts +9 -0
  18. package/dist/Column/Column.d.ts +3 -1
  19. package/dist/Column/Column.stories.d.ts +5 -0
  20. package/dist/Columns/Columns.d.ts +2 -2
  21. package/dist/Columns/Columns.stories.d.ts +5 -0
  22. package/dist/Container/Container.stories.d.ts +5 -0
  23. package/dist/Dialog/Dialog.d.ts +12 -2
  24. package/dist/Dialog/Dialog.stories.d.ts +5 -0
  25. package/dist/Dialog/ModalDialog.d.ts +8 -0
  26. package/dist/Divider/Divider.d.ts +7 -3
  27. package/dist/Divider/Divider.stories.d.ts +5 -0
  28. package/dist/Field/Field.d.ts +5 -1
  29. package/dist/Field/Field.stories.d.ts +5 -0
  30. package/dist/Image/Image.d.ts +5 -0
  31. package/dist/Image/Image.stories.d.ts +5 -0
  32. package/dist/Inline/Inline.d.ts +7 -0
  33. package/dist/Inline/Inline.stories.d.ts +5 -0
  34. package/dist/Inline/index.d.ts +1 -0
  35. package/dist/Input/Input.d.ts +5 -0
  36. package/dist/Input/Input.stories.d.ts +5 -0
  37. package/dist/Label/Label.d.ts +14 -2
  38. package/dist/Label/Label.stories.d.ts +5 -0
  39. package/dist/Link/Link.d.ts +3 -0
  40. package/dist/Link/Link.stories.d.ts +5 -0
  41. package/dist/Menu/Menu.d.ts +3 -0
  42. package/dist/Menu/Menu.stories.d.ts +5 -0
  43. package/dist/MenuItem/MenuItem.d.ts +5 -0
  44. package/dist/MenuItem/MenuItem.stories.d.ts +5 -0
  45. package/dist/Message/Message.d.ts +5 -0
  46. package/dist/Message/Message.stories.d.ts +5 -0
  47. package/dist/Provider/MarigoldProvider.d.ts +11 -0
  48. package/dist/Provider/index.d.ts +3 -0
  49. package/dist/Radio/Radio.d.ts +11 -4
  50. package/dist/Radio/Radio.stories.d.ts +5 -0
  51. package/dist/Radio/RadioIcon.d.ts +9 -0
  52. package/dist/Select/ListBox.d.ts +9 -0
  53. package/dist/Select/ListBoxSection.d.ts +9 -0
  54. package/dist/Select/Option.d.ts +9 -0
  55. package/dist/Select/Popover.d.ts +9 -0
  56. package/dist/Select/Select.d.ts +25 -4
  57. package/dist/Select/Select.stories.d.ts +5 -0
  58. package/dist/Slider/Slider.d.ts +5 -0
  59. package/dist/Slider/Slider.stories.d.ts +5 -0
  60. package/dist/Stack/Stack.d.ts +1 -3
  61. package/dist/Stack/Stack.stories.d.ts +5 -0
  62. package/dist/Text/Text.d.ts +5 -0
  63. package/dist/Text/Text.stories.d.ts +5 -0
  64. package/dist/Textarea/Textarea.d.ts +7 -1
  65. package/dist/Textarea/Textarea.stories.d.ts +5 -0
  66. package/dist/ValidationMessage/ValidationMessage.d.ts +5 -0
  67. package/dist/ValidationMessage/ValidationMessage.stories.d.ts +5 -0
  68. package/dist/VisuallyHidden/VisuallyHidden.d.ts +1 -0
  69. package/dist/VisuallyHidden/VisuallyHidden.stories.d.ts +5 -0
  70. package/dist/VisuallyHidden/index.d.ts +1 -0
  71. package/dist/components.cjs.development.js +1068 -601
  72. package/dist/components.cjs.development.js.map +1 -1
  73. package/dist/components.cjs.production.min.js +1 -1
  74. package/dist/components.cjs.production.min.js.map +1 -1
  75. package/dist/components.esm.js +1003 -579
  76. package/dist/components.esm.js.map +1 -1
  77. package/dist/index.d.ts +6 -2
  78. package/dist/theme.d.ts +23 -48
  79. package/package.json +22 -3
  80. package/src/ActionGroup/ActionGroup.stories.tsx +47 -0
  81. package/src/ActionGroup/ActionGroup.test.tsx +83 -0
  82. package/src/ActionGroup/ActionGroup.tsx +32 -0
  83. package/src/ActionGroup/index.ts +1 -0
  84. package/src/Alert/Alert.stories.tsx +32 -0
  85. package/src/Alert/Alert.test.tsx +5 -2
  86. package/src/Alert/Alert.tsx +27 -34
  87. package/src/Badge/Badge.stories.tsx +38 -0
  88. package/src/Badge/Badge.test.tsx +12 -16
  89. package/src/Badge/Badge.tsx +14 -3
  90. package/src/Box.ts +2 -0
  91. package/src/Button/Button.stories.tsx +57 -0
  92. package/src/Button/Button.test.tsx +76 -13
  93. package/src/Button/Button.tsx +61 -18
  94. package/src/Card/Card.stories.tsx +41 -0
  95. package/src/Card/Card.test.tsx +71 -0
  96. package/src/Card/Card.tsx +48 -0
  97. package/src/Card/index.ts +1 -0
  98. package/src/Checkbox/Checkbox.stories.tsx +78 -0
  99. package/src/Checkbox/Checkbox.test.tsx +138 -23
  100. package/src/Checkbox/Checkbox.tsx +67 -68
  101. package/src/Checkbox/CheckboxIcons.tsx +59 -0
  102. package/src/Column/Column.stories.tsx +33 -0
  103. package/src/Column/Column.test.tsx +8 -0
  104. package/src/Column/Column.tsx +12 -2
  105. package/src/Columns/Columns.stories.tsx +75 -0
  106. package/src/Columns/Columns.test.tsx +34 -23
  107. package/src/Columns/Columns.tsx +30 -30
  108. package/src/Container/Container.stories.tsx +14 -0
  109. package/src/Dialog/Dialog.stories.tsx +88 -0
  110. package/src/Dialog/Dialog.test.tsx +129 -18
  111. package/src/Dialog/Dialog.tsx +113 -15
  112. package/src/Dialog/ModalDialog.tsx +76 -0
  113. package/src/Divider/Divider.stories.tsx +30 -0
  114. package/src/Divider/Divider.test.tsx +32 -23
  115. package/src/Divider/Divider.tsx +27 -7
  116. package/src/Field/Field.stories.tsx +110 -0
  117. package/src/Field/Field.test.tsx +74 -33
  118. package/src/Field/Field.tsx +27 -20
  119. package/src/Image/Image.stories.tsx +34 -0
  120. package/src/Image/Image.test.tsx +4 -1
  121. package/src/Image/Image.tsx +13 -1
  122. package/src/Inline/Inline.stories.tsx +39 -0
  123. package/src/Inline/Inline.test.tsx +99 -0
  124. package/src/Inline/Inline.tsx +38 -0
  125. package/src/Inline/index.ts +1 -0
  126. package/src/Input/Input.stories.tsx +54 -0
  127. package/src/Input/Input.test.tsx +7 -3
  128. package/src/Input/Input.tsx +13 -1
  129. package/src/Label/Label.stories.tsx +41 -0
  130. package/src/Label/Label.test.tsx +40 -5
  131. package/src/Label/Label.tsx +54 -8
  132. package/src/Link/Link.stories.tsx +35 -0
  133. package/src/Link/Link.test.tsx +6 -2
  134. package/src/Link/Link.tsx +12 -1
  135. package/src/Menu/Menu.stories.tsx +62 -0
  136. package/src/Menu/Menu.test.tsx +11 -6
  137. package/src/Menu/Menu.tsx +22 -14
  138. package/src/MenuItem/MenuItem.stories.tsx +30 -0
  139. package/src/MenuItem/MenuItem.test.tsx +22 -13
  140. package/src/MenuItem/MenuItem.tsx +19 -10
  141. package/src/Message/Message.stories.tsx +30 -0
  142. package/src/Message/Message.test.tsx +4 -1
  143. package/src/Message/Message.tsx +18 -14
  144. package/src/Provider/MarigoldProvider.test.tsx +136 -0
  145. package/src/Provider/MarigoldProvider.tsx +47 -0
  146. package/src/Provider/index.ts +4 -0
  147. package/src/Radio/Radio.stories.tsx +78 -0
  148. package/src/Radio/Radio.test.tsx +129 -18
  149. package/src/Radio/Radio.tsx +62 -71
  150. package/src/Radio/RadioIcon.tsx +49 -0
  151. package/src/Select/ListBox.tsx +40 -0
  152. package/src/Select/ListBoxSection.tsx +40 -0
  153. package/src/Select/Option.tsx +48 -0
  154. package/src/Select/Popover.tsx +50 -0
  155. package/src/Select/Select.stories.tsx +81 -0
  156. package/src/Select/Select.test.tsx +317 -35
  157. package/src/Select/Select.tsx +162 -18
  158. package/src/Slider/Slider.stories.tsx +24 -0
  159. package/src/Slider/Slider.test.tsx +10 -6
  160. package/src/Slider/Slider.tsx +25 -13
  161. package/src/Stack/Stack.stories.tsx +57 -0
  162. package/src/Stack/Stack.test.tsx +93 -65
  163. package/src/Stack/Stack.tsx +25 -41
  164. package/src/Text/Text.stories.tsx +61 -0
  165. package/src/Text/Text.test.tsx +2 -2
  166. package/src/Text/Text.tsx +25 -14
  167. package/src/Textarea/Textarea.stories.tsx +64 -0
  168. package/src/Textarea/Textarea.test.tsx +11 -8
  169. package/src/Textarea/Textarea.tsx +41 -38
  170. package/src/ValidationMessage/ValidationMessage.stories.tsx +27 -0
  171. package/src/ValidationMessage/ValidationMessage.test.tsx +9 -4
  172. package/src/ValidationMessage/ValidationMessage.tsx +23 -12
  173. package/src/VisuallyHidden/VisuallyHidden.stories.tsx +19 -0
  174. package/src/VisuallyHidden/VisuallyHidden.test.tsx +10 -0
  175. package/src/VisuallyHidden/VisuallyHidden.tsx +1 -0
  176. package/src/VisuallyHidden/index.ts +1 -0
  177. package/src/index.ts +7 -2
  178. package/src/theme.ts +49 -48
  179. package/dist/Box/Box.d.ts +0 -46
  180. package/dist/Box/index.d.ts +0 -1
  181. package/dist/Heading/Heading.d.ts +0 -7
  182. package/dist/Heading/index.d.ts +0 -1
  183. package/dist/Hidden/Hidden.d.ts +0 -5
  184. package/dist/Hidden/index.d.ts +0 -1
  185. package/src/Alert/Alert.stories.mdx +0 -45
  186. package/src/Badge/Badge.stories.mdx +0 -43
  187. package/src/Box/Box.stories.mdx +0 -38
  188. package/src/Box/Box.test.tsx +0 -133
  189. package/src/Box/Box.tsx +0 -157
  190. package/src/Box/index.ts +0 -1
  191. package/src/Button/Button.stories.mdx +0 -176
  192. package/src/Checkbox/Checkbox.stories.mdx +0 -81
  193. package/src/Column/Column.stories.mdx +0 -74
  194. package/src/Columns/Columns.stories.mdx +0 -247
  195. package/src/Container/Container.stories.mdx +0 -36
  196. package/src/Dialog/Dialog.stories.mdx +0 -64
  197. package/src/Divider/Divider.stories.mdx +0 -43
  198. package/src/Field/Field.stories.mdx +0 -57
  199. package/src/Heading/Heading.stories.mdx +0 -91
  200. package/src/Heading/Heading.test.tsx +0 -77
  201. package/src/Heading/Heading.tsx +0 -19
  202. package/src/Heading/index.ts +0 -1
  203. package/src/Hidden/Hidden.stories.mdx +0 -64
  204. package/src/Hidden/Hidden.test.tsx +0 -24
  205. package/src/Hidden/Hidden.tsx +0 -16
  206. package/src/Hidden/index.ts +0 -1
  207. package/src/Image/Image.stories.mdx +0 -40
  208. package/src/Input/Input.stories.mdx +0 -45
  209. package/src/Label/Label.stories.mdx +0 -34
  210. package/src/Link/Link.stories.mdx +0 -38
  211. package/src/Menu/Menu.stories.mdx +0 -49
  212. package/src/MenuItem/MenuItem.stories.mdx +0 -32
  213. package/src/Message/Message.stories.mdx +0 -44
  214. package/src/Radio/Radio.stories.mdx +0 -100
  215. package/src/Select/Select.stories.mdx +0 -44
  216. package/src/Slider/Slider.stories.mdx +0 -58
  217. package/src/Stack/Stack.stories.mdx +0 -105
  218. package/src/Text/Text.stories.mdx +0 -60
  219. package/src/Textarea/Textarea.stories.mdx +0 -65
  220. package/src/ValidationMessage/ValidationMessage.stories.mdx +0 -36
@@ -4,10 +4,25 @@ function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'defau
4
4
 
5
5
  var React = require('react');
6
6
  var React__default = _interopDefault(React);
7
- var icons = require('@marigold/icons');
8
- var system = require('@marigold/system');
9
7
  var flattenChildren = _interopDefault(require('react-keyed-flatten-children'));
8
+ var system = require('@marigold/system');
9
+ var icons = require('@marigold/icons');
10
+ var button = require('@react-aria/button');
11
+ var focus = require('@react-aria/focus');
12
+ var visuallyHidden = require('@react-aria/visually-hidden');
13
+ var checkbox = require('@react-aria/checkbox');
14
+ var toggle = require('@react-stately/toggle');
15
+ var overlays = require('@react-stately/overlays');
16
+ var overlays$1 = require('@react-aria/overlays');
17
+ var dialog = require('@react-aria/dialog');
18
+ var separator = require('@react-aria/separator');
10
19
  var link = require('@react-aria/link');
20
+ var ssr = require('@react-aria/ssr');
21
+ var select = require('@react-stately/select');
22
+ var utils = require('@react-aria/utils');
23
+ var select$1 = require('@react-aria/select');
24
+ var listbox = require('@react-aria/listbox');
25
+ var collections = require('@react-stately/collections');
11
26
 
12
27
  function _extends() {
13
28
  _extends = Object.assign || function (target) {
@@ -42,535 +57,744 @@ function _objectWithoutPropertiesLoose(source, excluded) {
42
57
  return target;
43
58
  }
44
59
 
45
- var Box = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
46
- var variant = _ref.variant,
47
- _ref$as = _ref.as,
48
- as = _ref$as === void 0 ? 'div' : _ref$as,
49
- children = _ref.children,
50
- className = _ref.className,
51
- display = _ref.display,
52
- height = _ref.height,
53
- width = _ref.width,
54
- minWidth = _ref.minWidth,
55
- maxWidth = _ref.maxWidth,
56
- position = _ref.position,
57
- top = _ref.top,
58
- bottom = _ref.bottom,
59
- right = _ref.right,
60
- left = _ref.left,
61
- zIndex = _ref.zIndex,
62
- p = _ref.p,
63
- px = _ref.px,
64
- py = _ref.py,
65
- pt = _ref.pt,
66
- pb = _ref.pb,
67
- pl = _ref.pl,
68
- pr = _ref.pr,
69
- m = _ref.m,
70
- mx = _ref.mx,
71
- my = _ref.my,
72
- mt = _ref.mt,
73
- mb = _ref.mb,
74
- ml = _ref.ml,
75
- mr = _ref.mr,
76
- flexDirection = _ref.flexDirection,
77
- flexWrap = _ref.flexWrap,
78
- flexShrink = _ref.flexShrink,
79
- flexGrow = _ref.flexGrow,
80
- alignItems = _ref.alignItems,
81
- justifyContent = _ref.justifyContent,
82
- bg = _ref.bg,
83
- border = _ref.border,
84
- borderRadius = _ref.borderRadius,
85
- boxShadow = _ref.boxShadow,
86
- opacity = _ref.opacity,
87
- overflow = _ref.overflow,
88
- transition = _ref.transition,
89
- props = _objectWithoutPropertiesLoose(_ref, ["variant", "as", "children", "className", "display", "height", "width", "minWidth", "maxWidth", "position", "top", "bottom", "right", "left", "zIndex", "p", "px", "py", "pt", "pb", "pl", "pr", "m", "mx", "my", "mt", "mb", "ml", "mr", "flexDirection", "flexWrap", "flexShrink", "flexGrow", "alignItems", "justifyContent", "bg", "border", "borderRadius", "boxShadow", "opacity", "overflow", "transition"]);
90
-
91
- var cn = system.useStyles({
92
- element: as,
93
- variant: variant,
94
- className: className,
95
- css: {
96
- display: display,
97
- height: height,
98
- width: width,
99
- minWidth: minWidth,
100
- maxWidth: maxWidth,
101
- position: position,
102
- top: top,
103
- bottom: bottom,
104
- right: right,
105
- left: left,
106
- zIndex: zIndex,
107
- p: p,
108
- px: px,
109
- py: py,
110
- pt: pt,
111
- pb: pb,
112
- pl: pl,
113
- pr: pr,
114
- m: m,
115
- mx: mx,
116
- my: my,
117
- mt: mt,
118
- mb: mb,
119
- ml: ml,
120
- mr: mr,
121
- flexDirection: flexDirection,
122
- flexWrap: flexWrap,
123
- flexShrink: flexShrink,
124
- flexGrow: flexGrow,
125
- alignItems: alignItems,
126
- justifyContent: justifyContent,
127
- bg: bg,
128
- border: border,
129
- borderRadius: borderRadius,
130
- boxShadow: boxShadow,
131
- opacity: opacity,
132
- overflow: overflow,
133
- transition: transition
134
- }
135
- });
136
- return React.createElement(as, _extends({}, props, {
137
- ref: ref,
138
- className: cn
139
- }), children);
140
- });
60
+ function _unsupportedIterableToArray(o, minLen) {
61
+ if (!o) return;
62
+ if (typeof o === "string") return _arrayLikeToArray(o, minLen);
63
+ var n = Object.prototype.toString.call(o).slice(8, -1);
64
+ if (n === "Object" && o.constructor) n = o.constructor.name;
65
+ if (n === "Map" || n === "Set") return Array.from(o);
66
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
67
+ }
141
68
 
142
- var Alert = function Alert(_ref) {
143
- var _ref$variant = _ref.variant,
144
- variant = _ref$variant === void 0 ? 'success' : _ref$variant,
69
+ function _arrayLikeToArray(arr, len) {
70
+ if (len == null || len > arr.length) len = arr.length;
71
+
72
+ for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
73
+
74
+ return arr2;
75
+ }
76
+
77
+ function _createForOfIteratorHelperLoose(o, allowArrayLike) {
78
+ var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
79
+ if (it) return (it = it.call(o)).next.bind(it);
80
+
81
+ if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") {
82
+ if (it) o = it;
83
+ var i = 0;
84
+ return function () {
85
+ if (i >= o.length) return {
86
+ done: true
87
+ };
88
+ return {
89
+ done: false,
90
+ value: o[i++]
91
+ };
92
+ };
93
+ }
94
+
95
+ throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
96
+ }
97
+
98
+ var _excluded = ["space", "align", "children"];
99
+ var ALIGNMENT = {
100
+ top: 'flex-start',
101
+ center: 'center',
102
+ bottom: 'flex-end'
103
+ };
104
+ var Inline = function Inline(_ref) {
105
+ var _ref$space = _ref.space,
106
+ space = _ref$space === void 0 ? 'none' : _ref$space,
107
+ _ref$align = _ref.align,
108
+ align = _ref$align === void 0 ? 'center' : _ref$align,
145
109
  children = _ref.children,
146
- className = _ref.className,
147
- props = _objectWithoutPropertiesLoose(_ref, ["variant", "children", "className"]);
110
+ props = _objectWithoutPropertiesLoose(_ref, _excluded);
148
111
 
149
- var classNames = system.useStyles({
112
+ return React__default.createElement(system.Box, Object.assign({
113
+ display: "inline-flex",
150
114
  css: {
151
- display: 'flex',
152
- alignItems: 'center'
115
+ '> * + *': {
116
+ pl: space
117
+ }
153
118
  },
154
- variant: "alerts." + variant,
155
- className: className
156
- });
157
- var bgColor = 'success';
119
+ alignItems: ALIGNMENT[align]
120
+ }, props), React.Children.map(flattenChildren(children), function (child) {
121
+ return React__default.createElement(system.Box, null, React__default.cloneElement(child, {}, child.props.children));
122
+ }));
123
+ };
158
124
 
159
- if (variant === 'warning') {
160
- bgColor = 'warning';
161
- } else if (variant === 'error') {
162
- bgColor = 'error';
163
- }
125
+ var _excluded$1 = ["space", "align", "children"];
126
+ var ALIGNMENT$1 = {
127
+ left: 'flex-start',
128
+ center: 'center',
129
+ right: 'flex-end'
130
+ };
131
+ var Stack = function Stack(_ref) {
132
+ var _ref$space = _ref.space,
133
+ space = _ref$space === void 0 ? 'none' : _ref$space,
134
+ _ref$align = _ref.align,
135
+ align = _ref$align === void 0 ? 'left' : _ref$align,
136
+ children = _ref.children,
137
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$1);
164
138
 
165
- var iconClassName = system.useStyles({
139
+ return React__default.createElement(system.Box, Object.assign({}, props, {
140
+ display: "flex",
141
+ flexDirection: "column",
142
+ alignItems: ALIGNMENT$1[align],
166
143
  css: {
167
- bg: bgColor,
168
- m: '10px'
144
+ '> * + *': {
145
+ pt: space
146
+ }
169
147
  }
170
- });
171
- var icon = React__default.createElement(icons.Check, {
172
- size: 12,
173
- color: "#ffffff",
174
- className: iconClassName
175
- });
148
+ }), React.Children.map(flattenChildren(children), function (child) {
149
+ return React__default.createElement(system.Box, null, React__default.cloneElement(child, {}, child.props.children));
150
+ }));
151
+ };
176
152
 
177
- if (variant === 'warning') {
178
- icon = React__default.createElement(icons.Notification, {
179
- size: 12,
180
- color: "#ffffff",
181
- className: iconClassName
182
- });
183
- } else if (variant === 'error') {
184
- icon = React__default.createElement(icons.Exclamation, {
185
- size: 12,
186
- color: "#ffffff",
187
- className: iconClassName
188
- });
189
- }
153
+ var _excluded$2 = ["space", "verticalAlignment", "children"];
154
+ // ---------------
155
+
156
+ var ActionGroup = function ActionGroup(_ref) {
157
+ var _ref$space = _ref.space,
158
+ space = _ref$space === void 0 ? 'none' : _ref$space,
159
+ _ref$verticalAlignmen = _ref.verticalAlignment,
160
+ verticalAlignment = _ref$verticalAlignmen === void 0 ? false : _ref$verticalAlignmen,
161
+ children = _ref.children,
162
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$2);
190
163
 
191
- return React__default.createElement(Box, Object.assign({}, props, {
192
- className: classNames
193
- }), React__default.createElement(Box, {
164
+ return verticalAlignment ? React__default.createElement(Stack, Object.assign({
165
+ space: space
166
+ }, props), children) : React__default.createElement(Inline, Object.assign({
167
+ space: space
168
+ }, props), children);
169
+ };
170
+
171
+ var _excluded$3 = ["variant", "children"];
172
+ var ICON_MAP = {
173
+ success: icons.Check,
174
+ warning: icons.Notification,
175
+ error: icons.Exclamation
176
+ }; // Component
177
+ // ---------------
178
+
179
+ var Alert = function Alert(_ref) {
180
+ var _ref$variant = _ref.variant,
181
+ variant = _ref$variant === void 0 ? 'success' : _ref$variant,
182
+ children = _ref.children,
183
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$3);
184
+
185
+ var Icon = ICON_MAP[variant];
186
+ return React__default.createElement(system.Box, Object.assign({}, props, {
187
+ display: "flex",
188
+ variant: "alert." + variant
189
+ }), React__default.createElement(system.Box, {
194
190
  display: "inline-block",
195
191
  alignItems: "center",
196
192
  width: "32px",
197
193
  height: "32px",
198
- className: system.useStyles({
199
- css: {
200
- bg: bgColor
201
- }
202
- })
203
- }, icon), React__default.createElement(Box, {
194
+ bg: variant
195
+ }, React__default.createElement(system.Box, {
196
+ as: Icon,
197
+ size: 12,
198
+ color: "#fff",
199
+ bg: variant,
200
+ m: 10
201
+ })), React__default.createElement(system.Box, {
204
202
  mx: "16px"
205
203
  }, children));
206
204
  };
207
205
 
206
+ var _excluded$4 = ["variant", "bgColor", "borderColor", "children"];
207
+ // ---------------
208
+
208
209
  var Badge = function Badge(_ref) {
209
210
  var _ref$variant = _ref.variant,
210
- variant = _ref$variant === void 0 ? 'default' : _ref$variant,
211
+ variant = _ref$variant === void 0 ? '' : _ref$variant,
211
212
  _ref$bgColor = _ref.bgColor,
212
213
  bgColor = _ref$bgColor === void 0 ? 'transparent' : _ref$bgColor,
213
214
  _ref$borderColor = _ref.borderColor,
214
215
  borderColor = _ref$borderColor === void 0 ? 'transparent' : _ref$borderColor,
215
216
  children = _ref.children,
216
- props = _objectWithoutPropertiesLoose(_ref, ["variant", "bgColor", "borderColor", "children"]);
217
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$4);
217
218
 
218
- return React__default.createElement(Box, Object.assign({
219
- className: system.useStyles({
220
- css: {
221
- bg: bgColor,
222
- borderColor: borderColor
223
- }
224
- }),
219
+ return React__default.createElement(system.Box, Object.assign({
220
+ css: {
221
+ bg: bgColor,
222
+ borderColor: borderColor
223
+ },
225
224
  variant: "badge." + variant
226
225
  }, props), children);
227
226
  };
228
227
 
229
- var Button = function Button(_ref) {
230
- var _ref$variant = _ref.variant,
231
- variant = _ref$variant === void 0 ? 'primary.large' : _ref$variant,
228
+ var _excluded$5 = ["as", "variant", "size", "space", "disabled", "children", "className"];
229
+ // ---------------
230
+
231
+ var Button = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
232
+ var _ref$as = _ref.as,
233
+ as = _ref$as === void 0 ? 'button' : _ref$as,
234
+ _ref$variant = _ref.variant,
235
+ variant = _ref$variant === void 0 ? 'primary' : _ref$variant,
236
+ _ref$size = _ref.size,
237
+ size = _ref$size === void 0 ? 'large' : _ref$size,
238
+ _ref$space = _ref.space,
239
+ space = _ref$space === void 0 ? 'none' : _ref$space,
240
+ disabled = _ref.disabled,
232
241
  children = _ref.children,
233
- props = _objectWithoutPropertiesLoose(_ref, ["variant", "children"]);
242
+ className = _ref.className,
243
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$5);
234
244
 
235
- return React__default.createElement(Box, Object.assign({
236
- as: "button"
237
- }, props, {
238
- variant: "button." + variant
239
- }), React__default.createElement(Box, {
240
- as: "span",
245
+ var _useButton = button.useButton(_extends({}, props, {
246
+ elementType: typeof as === 'string' ? as : 'span',
247
+ isDisabled: disabled
248
+ }), ref),
249
+ buttonProps = _useButton.buttonProps;
250
+
251
+ return React__default.createElement(system.Box, Object.assign({}, buttonProps, props, {
252
+ as: as,
241
253
  display: "inline-flex",
242
- alignItems: "center"
243
- }, children));
254
+ alignItems: "center",
255
+ variant: ["button." + variant, "button." + size],
256
+ className: className,
257
+ ref: ref,
258
+ css: {
259
+ columnGap: space
260
+ }
261
+ }), children);
262
+ });
263
+
264
+ var _excluded$6 = ["variant", "title", "width", "className", "children"];
265
+ // ---------------
266
+
267
+ var Card = function Card(_ref) {
268
+ var _ref$variant = _ref.variant,
269
+ variant = _ref$variant === void 0 ? '' : _ref$variant,
270
+ title = _ref.title,
271
+ width = _ref.width,
272
+ className = _ref.className,
273
+ children = _ref.children,
274
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$6);
275
+
276
+ return React__default.createElement(system.Box, Object.assign({}, props, {
277
+ variant: "card." + variant,
278
+ maxWidth: width,
279
+ className: className
280
+ }), title && React__default.createElement(system.Box, {
281
+ as: "h2",
282
+ variant: "text.h2",
283
+ pb: "small"
284
+ }, title), children);
244
285
  };
245
286
 
246
- var Label = function Label(_ref) {
287
+ var CheckboxIcon = function CheckboxIcon(_ref) {
247
288
  var _ref$variant = _ref.variant,
248
- variant = _ref$variant === void 0 ? 'default' : _ref$variant,
289
+ variant = _ref$variant === void 0 ? '' : _ref$variant,
290
+ _ref$checked = _ref.checked,
291
+ checked = _ref$checked === void 0 ? false : _ref$checked,
292
+ _ref$disabled = _ref.disabled,
293
+ disabled = _ref$disabled === void 0 ? false : _ref$disabled,
294
+ _ref$error = _ref.error,
295
+ error = _ref$error === void 0 ? false : _ref$error;
296
+ var conditionalStates = disabled ? {
297
+ disabled: disabled
298
+ } : {
299
+ checked: checked,
300
+ error: error
301
+ };
302
+ return React__default.createElement(system.SVG, {
303
+ width: "16",
304
+ height: "32",
305
+ viewBox: "0 0 16 32",
306
+ fill: "none",
307
+ "aria-hidden": "true"
308
+ }, React__default.createElement(system.Box, {
309
+ as: "rect",
310
+ x: "0.5",
311
+ y: "8.5",
312
+ width: "15px",
313
+ height: "15px",
314
+ rx: "1.5",
315
+ variant: system.conditional("checkbox." + variant, conditionalStates)
316
+ }), checked && React__default.createElement(system.Box, {
317
+ __baseCSS: {
318
+ fill: 'gray00'
319
+ },
320
+ as: "path",
321
+ fillRule: "evenodd",
322
+ clipRule: "evenodd",
323
+ d: "M13.9571 12.8338L12.4085 11.2852L6.08699 17.6007L3.59887 15.1126L2.04163 16.6588L6.08682 20.704L13.9571 12.8338Z"
324
+ }));
325
+ };
326
+
327
+ var _excluded$7 = ["variant", "required", "color", "children"],
328
+ _excluded2 = ["required", "children"];
329
+ var LabelBase = function LabelBase(_ref) {
330
+ var _ref$variant = _ref.variant,
331
+ variant = _ref$variant === void 0 ? 'above' : _ref$variant,
332
+ _ref$color = _ref.color,
333
+ color = _ref$color === void 0 ? 'text' : _ref$color,
249
334
  children = _ref.children,
250
- props = _objectWithoutPropertiesLoose(_ref, ["variant", "children"]);
335
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$7);
251
336
 
252
- return React__default.createElement(Box, Object.assign({}, props, {
337
+ return React__default.createElement(system.Box, Object.assign({}, props, {
253
338
  as: "label",
339
+ __baseCSS: {
340
+ color: color
341
+ },
254
342
  variant: "label." + variant
255
343
  }), children);
256
344
  };
345
+ var Label = function Label(_ref2) {
346
+ var required = _ref2.required,
347
+ children = _ref2.children,
348
+ props = _objectWithoutPropertiesLoose(_ref2, _excluded2);
257
349
 
258
- var CheckboxIcon = function CheckboxIcon(_ref) {
259
- var className = _ref.className,
260
- variant = _ref.variant,
261
- checked = _ref.checked;
262
- var checkboxIconStyle = system.useStyles({
263
- variant: variant,
350
+ return required ? React__default.createElement(system.Box, {
351
+ as: "span",
352
+ display: "inline-flex",
353
+ alignItems: "center"
354
+ }, React__default.createElement(LabelBase, Object.assign({}, props), children), required && React__default.createElement(system.Box, {
355
+ as: icons.Required,
356
+ size: 16,
264
357
  css: {
265
- ariaHidden: 'true',
266
- mr: 2,
267
- verticalAlign: 'middle',
268
- ':hover': {
269
- cursor: 'pointer'
270
- },
271
- 'input:disabled ~ &': {
272
- color: 'disabled',
273
- cursor: 'not-allowed'
274
- }
275
- },
276
- className: className
277
- });
358
+ color: 'error'
359
+ }
360
+ })) : React__default.createElement(LabelBase, Object.assign({}, props), children);
361
+ };
278
362
 
279
- if (checked) {
280
- return React__default.createElement(icons.SquareChecked, {
281
- className: checkboxIconStyle
282
- });
283
- }
363
+ var _excluded$8 = ["variant", "children", "className"];
364
+ // ---------------
284
365
 
285
- return React__default.createElement(icons.SquareUnchecked, {
286
- className: checkboxIconStyle
287
- });
366
+ var ValidationMessage = function ValidationMessage(_ref) {
367
+ var _ref$variant = _ref.variant,
368
+ variant = _ref$variant === void 0 ? 'error' : _ref$variant,
369
+ children = _ref.children,
370
+ className = _ref.className,
371
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$8);
372
+
373
+ return React__default.createElement(system.Box, Object.assign({
374
+ as: "span",
375
+ display: "flex",
376
+ alignItems: "center",
377
+ variant: "validation." + variant,
378
+ className: className
379
+ }, props), children);
288
380
  };
289
381
 
290
- var CheckboxInput = function CheckboxInput(_ref2) {
291
- var className = _ref2.className,
292
- _ref2$variant = _ref2.variant,
293
- variant = _ref2$variant === void 0 ? 'default' : _ref2$variant,
294
- props = _objectWithoutPropertiesLoose(_ref2, ["className", "variant"]);
382
+ var _excluded$9 = ["error"],
383
+ _excluded2$1 = ["label", "required", "labelVariant", "error", "errorMessage"];
295
384
 
296
- var checkboxStyle = system.useStyles({
297
- css: {
298
- position: 'absolute',
299
- opacity: 0,
300
- zIndex: -1,
301
- width: 1,
302
- height: 1,
303
- overflow: 'hidden'
304
- }
305
- });
306
- return React__default.createElement(Box, {
307
- display: "inline-block"
308
- }, React__default.createElement("input", Object.assign({
385
+ var CheckboxInput = function CheckboxInput(_ref) {
386
+ var error = _ref.error,
387
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$9);
388
+
389
+ var state = toggle.useToggleState(props);
390
+ var ref = React__default.useRef(null);
391
+
392
+ var _useCheckbox = checkbox.useCheckbox(props, state, ref),
393
+ inputProps = _useCheckbox.inputProps;
394
+
395
+ var _useFocusRing = focus.useFocusRing(),
396
+ focusProps = _useFocusRing.focusProps;
397
+
398
+ return React__default.createElement(system.Box, {
399
+ pr: "xsmall"
400
+ }, React__default.createElement(visuallyHidden.VisuallyHidden, null, React__default.createElement(system.Box, Object.assign({
401
+ as: "input",
309
402
  type: "checkbox",
310
- className: checkboxStyle
311
- }, props)), React__default.createElement(CheckboxIcon, {
403
+ disabled: props.disabled
404
+ }, inputProps, focusProps, {
405
+ ref: ref
406
+ }, props))), React__default.createElement(CheckboxIcon, {
312
407
  checked: props.checked,
313
- className: className,
314
- variant: variant
408
+ variant: props.variant,
409
+ disabled: props.disabled,
410
+ error: error
315
411
  }));
316
412
  };
317
413
 
318
- var Checkbox = function Checkbox(_ref3) {
319
- var label = _ref3.label,
320
- required = _ref3.required,
321
- props = _objectWithoutPropertiesLoose(_ref3, ["label", "required"]);
414
+ var Checkbox = function Checkbox(_ref2) {
415
+ var label = _ref2.label,
416
+ required = _ref2.required,
417
+ _ref2$labelVariant = _ref2.labelVariant,
418
+ labelVariant = _ref2$labelVariant === void 0 ? 'inline' : _ref2$labelVariant,
419
+ error = _ref2.error,
420
+ errorMessage = _ref2.errorMessage,
421
+ props = _objectWithoutPropertiesLoose(_ref2, _excluded2$1);
422
+
423
+ return React__default.createElement(React__default.Fragment, null, React__default.createElement(system.Box, {
424
+ as: Label,
425
+ __baseCSS: {
426
+ ':hover': {
427
+ cursor: props.disabled ? 'not-allowed' : 'pointer'
428
+ }
429
+ },
430
+ htmlFor: props.id,
431
+ required: required,
432
+ variant: "label." + labelVariant,
433
+ color: props.disabled ? 'disabled' : 'text'
434
+ }, React__default.createElement(system.Box, Object.assign({
435
+ as: CheckboxInput,
436
+ error: error
437
+ }, props)), label), error && errorMessage && React__default.createElement(ValidationMessage, null, React__default.createElement(icons.Exclamation, {
438
+ size: 16
439
+ }), errorMessage));
440
+ };
441
+
442
+ var _excluded$a = ["width", "children"];
322
443
 
323
- if (label) {
324
- return React__default.createElement(Label, {
325
- htmlFor: props.id
326
- }, React__default.createElement(CheckboxInput, Object.assign({}, props)), label, required && React__default.createElement(icons.Required, {
327
- size: 16
328
- }));
444
+ var transform = function transform(width) {
445
+ if (Array.isArray(width)) {
446
+ return width.map(function (v) {
447
+ return v / 12 * 100 + "%";
448
+ });
329
449
  }
330
450
 
331
- return React__default.createElement(CheckboxInput, Object.assign({}, props));
451
+ return width / 12 * 100 + "%";
332
452
  };
333
453
 
334
454
  var Column = function Column(_ref) {
335
455
  var _ref$width = _ref.width,
336
456
  width = _ref$width === void 0 ? 12 : _ref$width,
337
457
  children = _ref.children,
338
- props = _objectWithoutPropertiesLoose(_ref, ["width", "children"]);
458
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$a);
339
459
 
340
- return React__default.createElement(Box, Object.assign({}, props, {
341
- width: width / 12 * 100 + "%"
460
+ return React__default.createElement(system.Box, Object.assign({}, props, {
461
+ width: transform(width)
342
462
  }), children);
343
463
  };
344
464
 
465
+ var _excluded$b = ["space", "horizontalAlign", "verticalAlign", "className", "children"];
466
+
467
+ var useAlignment = function useAlignment(direction) {
468
+ switch (direction) {
469
+ case 'right':
470
+ return 'flex-end';
471
+
472
+ case 'bottom':
473
+ return 'flex-end';
474
+
475
+ case 'center':
476
+ return 'center';
477
+ }
478
+
479
+ return 'flex-start';
480
+ };
481
+
345
482
  var Columns = function Columns(_ref) {
346
483
  var _ref$space = _ref.space,
347
- space = _ref$space === void 0 ? 0 : _ref$space,
484
+ space = _ref$space === void 0 ? 'none' : _ref$space,
348
485
  _ref$horizontalAlign = _ref.horizontalAlign,
349
486
  horizontalAlign = _ref$horizontalAlign === void 0 ? 'left' : _ref$horizontalAlign,
350
487
  _ref$verticalAlign = _ref.verticalAlign,
351
488
  verticalAlign = _ref$verticalAlign === void 0 ? 'top' : _ref$verticalAlign,
352
489
  className = _ref.className,
353
490
  children = _ref.children,
354
- props = _objectWithoutPropertiesLoose(_ref, ["space", "horizontalAlign", "verticalAlign", "className", "children"]);
491
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$b);
355
492
 
356
- var columnItems = flattenChildren(children);
357
- var childClassNames = system.useStyles({
358
- css: {
359
- p: space / 2 + "px"
360
- }
361
- }); // horizontal Alignment
493
+ var justifyContent = useAlignment(horizontalAlign);
494
+ var alignItems = useAlignment(verticalAlign);
495
+ /**
496
+ * transform space string to space value from theme
497
+ */
362
498
 
363
- var justify = 'flex-start';
499
+ var _useTheme = system.useTheme(),
500
+ css = _useTheme.css;
364
501
 
365
- if (horizontalAlign === 'right') {
366
- justify = 'flex-end';
367
- } else if (horizontalAlign === 'center') {
368
- justify = 'center';
369
- } // vertical Alignment
370
-
371
-
372
- var alignItems = 'flex-start';
373
-
374
- if (verticalAlign === 'bottom') {
375
- alignItems = 'flex-end';
376
- } else if (verticalAlign === 'center') {
377
- alignItems = 'center';
378
- }
379
-
380
- return React__default.createElement(Box, {
381
- p: space + "px",
502
+ var spaceObject = css({
503
+ space: space
504
+ });
505
+ var spaceValue = Object.values(spaceObject)[0];
506
+ return React__default.createElement(system.Box, {
507
+ p: space,
382
508
  display: "flex",
383
509
  className: className
384
- }, React__default.createElement(Box, Object.assign({
385
- width: "calc(100% + " + space + "px)",
386
- m: -space / 2 + "px",
510
+ }, React__default.createElement(system.Box, Object.assign({
511
+ width: "calc(100% + " + spaceValue + "px)",
512
+ m: -spaceValue / 2 + "px",
387
513
  display: "flex",
388
514
  flexWrap: "wrap",
389
515
  alignItems: alignItems,
390
- justifyContent: justify
391
- }, props), React.Children.map(columnItems, function (child) {
392
- return React__default.cloneElement(child, {
393
- className: childClassNames
394
- }, React__default.createElement(Box, {
395
- className: child && child.props.className
516
+ justifyContent: justifyContent
517
+ }, props), React.Children.map(flattenChildren(children), function (child) {
518
+ return React__default.cloneElement(child, {}, React__default.createElement(system.Box, {
519
+ css: {
520
+ p: spaceValue / 2 + "px"
521
+ }
396
522
  }, child.props.children));
397
523
  })));
398
524
  };
399
525
 
526
+ var _excluded$c = ["as", "variant", "children", "className", "align", "color", "cursor", "outline", "userSelect"];
527
+ // ---------------
528
+
529
+ var Text = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
530
+ var _ref$as = _ref.as,
531
+ as = _ref$as === void 0 ? 'span' : _ref$as,
532
+ _ref$variant = _ref.variant,
533
+ variant = _ref$variant === void 0 ? 'body' : _ref$variant,
534
+ children = _ref.children,
535
+ className = _ref.className,
536
+ align = _ref.align,
537
+ color = _ref.color,
538
+ cursor = _ref.cursor,
539
+ outline = _ref.outline,
540
+ userSelect = _ref.userSelect,
541
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$c);
542
+
543
+ return React__default.createElement(system.Box, Object.assign({}, props, {
544
+ as: as,
545
+ variant: "text." + variant,
546
+ css: {
547
+ textAlign: align,
548
+ color: color,
549
+ cursor: cursor,
550
+ outline: outline,
551
+ userSelect: userSelect
552
+ },
553
+ className: className,
554
+ ref: ref
555
+ }), children);
556
+ });
557
+
558
+ var _excluded$d = ["variant", "backdropVariant", "children"],
559
+ _excluded2$2 = ["isDismissable", "isOpen", "onClose"];
560
+ // ---------------
561
+
562
+ var ModalDialog = function ModalDialog(_ref) {
563
+ var variant = _ref.variant,
564
+ _ref$backdropVariant = _ref.backdropVariant,
565
+ backdropVariant = _ref$backdropVariant === void 0 ? 'backdrop' : _ref$backdropVariant,
566
+ children = _ref.children,
567
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$d);
568
+
569
+ var isDismissable = props.isDismissable,
570
+ isOpen = props.isOpen,
571
+ onClose = props.onClose,
572
+ restProps = _objectWithoutPropertiesLoose(props, _excluded2$2); // Handle interacting outside the dialog and pressing
573
+ // the Escape key to close the modal.
574
+
575
+
576
+ var ref = React__default.useRef();
577
+
578
+ var _useOverlay = overlays$1.useOverlay({
579
+ isDismissable: isDismissable,
580
+ isOpen: isOpen,
581
+ onClose: onClose
582
+ }, ref),
583
+ overlayProps = _useOverlay.overlayProps,
584
+ underlayProps = _useOverlay.underlayProps; // Prevent scrolling while the modal is open, and hide content
585
+ // outside the modal from screen readers.
586
+
587
+
588
+ overlays$1.usePreventScroll();
589
+
590
+ var _useModal = overlays$1.useModal(),
591
+ modalProps = _useModal.modalProps;
592
+
593
+ var _useDialog = dialog.useDialog(props, ref),
594
+ dialogProps = _useDialog.dialogProps;
595
+
596
+ return React__default.createElement(system.Box, Object.assign({
597
+ __baseCSS: {
598
+ display: 'grid',
599
+ placeItems: 'center',
600
+ position: 'fixed',
601
+ zIndex: 100,
602
+ top: 0,
603
+ left: 0,
604
+ bottom: 0,
605
+ right: 0
606
+ },
607
+ variant: "dialog." + backdropVariant
608
+ }, underlayProps), React__default.createElement(focus.FocusScope, {
609
+ contain: true,
610
+ restoreFocus: true,
611
+ autoFocus: true
612
+ }, React__default.createElement(system.Box, Object.assign({}, overlayProps, dialogProps, modalProps, {
613
+ ref: ref,
614
+ variant: variant ? "dialog." + variant : "dialog"
615
+ }, restProps), children)));
616
+ };
617
+
618
+ var _excluded$e = ["backdropVariant", "children", "className", "close", "isOpen", "title", "variant"];
619
+ // ---------------
620
+
400
621
  var Dialog = function Dialog(_ref) {
401
- var onClose = _ref.onClose,
622
+ var backdropVariant = _ref.backdropVariant,
402
623
  children = _ref.children,
403
624
  className = _ref.className,
404
- props = _objectWithoutPropertiesLoose(_ref, ["onClose", "children", "className"]);
625
+ close = _ref.close,
626
+ isOpen = _ref.isOpen,
627
+ title = _ref.title,
628
+ variant = _ref.variant,
629
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$e);
405
630
 
406
- return React__default.createElement(Box, {
407
- display: "flex",
408
- width: "100%"
409
- }, React__default.createElement(Box, Object.assign({}, props, {
410
- variant: "dialog.wrapper",
631
+ var closeButtonRef = React__default.useRef(); // useButton ensures that focus management is handled correctly,
632
+ // across all browsers. Focus is restored to the button once the
633
+ // dialog closes.
634
+
635
+ var _useButton = button.useButton({
636
+ onPress: function onPress() {
637
+ return close();
638
+ }
639
+ }, closeButtonRef),
640
+ closeButtonProps = _useButton.buttonProps;
641
+
642
+ return React__default.createElement(overlays$1.OverlayContainer, null, React__default.createElement(ModalDialog, Object.assign({
643
+ variant: variant,
644
+ backdropVariant: backdropVariant,
645
+ isOpen: isOpen,
646
+ onClose: close,
647
+ isDismissable: true
648
+ }, props), React__default.createElement(system.Box, {
649
+ __baseCSS: {
650
+ display: 'flex',
651
+ justifyContent: 'space-between',
652
+ borderRadius: 'small',
653
+ pl: 'large',
654
+ pb: 'large'
655
+ },
411
656
  className: className
412
- }), React__default.createElement(Box, {
413
- display: "flex"
414
- }, React__default.createElement(Box, {
415
- variant: "dialog.body"
416
- }, children), React__default.createElement(Box, {
417
- variant: "dialog.onClose"
418
- }, React__default.createElement(Button, {
419
- variant: "text.root",
420
- onClick: onClose
421
- }, React__default.createElement(icons.Close, {
657
+ }, React__default.createElement(system.Box, {
658
+ pt: "medium"
659
+ }, title && React__default.createElement(Text, {
660
+ as: "h4",
661
+ variant: "headline4"
662
+ }, title), children), React__default.createElement(system.Box, {
663
+ __baseCSS: {
664
+ display: 'flex',
665
+ justifyContent: 'flex-end',
666
+ alignItems: 'start',
667
+ paddingTop: 'xsmall',
668
+ paddingX: 'xsmall'
669
+ }
670
+ }, React__default.createElement(system.Box, Object.assign({
671
+ as: Button,
672
+ __baseCSS: {
673
+ color: 'text',
674
+ bg: 'transparent',
675
+ lineHeight: 'xsmall',
676
+ px: 'xxsmall',
677
+ ':hover': {
678
+ color: 'text',
679
+ bg: 'transparent',
680
+ cursor: 'pointer'
681
+ },
682
+ ':focus': {
683
+ outline: 0
684
+ }
685
+ }
686
+ }, closeButtonProps, {
687
+ ref: closeButtonRef
688
+ }), React__default.createElement(icons.Close, {
422
689
  size: 16
423
690
  }))))));
691
+ }; // get the overlayTriggerState and openButton props for using the dialog component
692
+
693
+ var useDialogButtonProps = function useDialogButtonProps() {
694
+ var state = overlays.useOverlayTriggerState({});
695
+ var openButtonRef = React__default.useRef();
696
+
697
+ var _useButton2 = button.useButton({
698
+ onPress: function onPress() {
699
+ return state.open();
700
+ }
701
+ }, openButtonRef),
702
+ openButtonProps = _useButton2.buttonProps;
703
+
704
+ return {
705
+ state: state,
706
+ openButtonProps: openButtonProps,
707
+ openButtonRef: openButtonRef
708
+ };
424
709
  };
425
710
 
711
+ var _excluded$f = ["variant"];
712
+ // ---------------
713
+
426
714
  var Divider = function Divider(_ref) {
427
715
  var _ref$variant = _ref.variant,
428
- variant = _ref$variant === void 0 ? 'regular' : _ref$variant,
429
- props = _objectWithoutPropertiesLoose(_ref, ["variant"]);
430
-
431
- return React__default.createElement(Box, Object.assign({}, props, {
432
- as: "hr",
716
+ variant = _ref$variant === void 0 ? '' : _ref$variant,
717
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$f);
718
+
719
+ var _useSeparator = separator.useSeparator(props),
720
+ separatorProps = _useSeparator.separatorProps;
721
+
722
+ return React__default.createElement(system.Box, Object.assign({
723
+ __baseCSS: {
724
+ width: '100%',
725
+ height: '1px',
726
+ m: 'none',
727
+ bg: 'text'
728
+ },
433
729
  variant: "divider." + variant
434
- }));
730
+ }, props, separatorProps));
435
731
  };
436
732
 
733
+ var _excluded$g = ["variant", "type"];
734
+ // ---------------
735
+
437
736
  var Input = function Input(_ref) {
438
737
  var _ref$variant = _ref.variant,
439
- variant = _ref$variant === void 0 ? 'default' : _ref$variant,
738
+ variant = _ref$variant === void 0 ? '' : _ref$variant,
440
739
  _ref$type = _ref.type,
441
740
  type = _ref$type === void 0 ? 'text' : _ref$type,
442
- props = _objectWithoutPropertiesLoose(_ref, ["variant", "type"]);
741
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$g);
443
742
 
444
- return React__default.createElement(Box, Object.assign({}, props, {
743
+ return React__default.createElement(system.Box, Object.assign({}, props, {
445
744
  as: "input",
446
745
  type: type,
447
746
  variant: "input." + variant
448
747
  }));
449
748
  };
450
749
 
451
- var ValidationMessage = function ValidationMessage(_ref) {
452
- var _ref$variant = _ref.variant,
453
- variant = _ref$variant === void 0 ? 'error' : _ref$variant,
454
- children = _ref.children,
455
- className = _ref.className,
456
- props = _objectWithoutPropertiesLoose(_ref, ["variant", "children", "className"]);
457
-
458
- var classNames = system.useStyles({
459
- variant: "validation." + variant,
460
- css: {
461
- display: 'flex',
462
- alignItems: 'center'
463
- },
464
- className: className
465
- });
466
- return React__default.createElement("span", Object.assign({
467
- className: classNames
468
- }, props), children);
469
- };
750
+ var _excluded$h = ["type", "variant", "labelVariant", "htmlFor", "label", "required", "error", "errorMessage", "disabled"];
751
+ // ---------------
470
752
 
471
753
  var Field = function Field(_ref) {
472
- var _ref$variant = _ref.variant,
473
- variant = _ref$variant === void 0 ? 'default' : _ref$variant,
474
- _ref$type = _ref.type,
754
+ var _ref$type = _ref.type,
475
755
  type = _ref$type === void 0 ? 'text' : _ref$type,
476
- _ref$className = _ref.className,
477
- className = _ref$className === void 0 ? '' : _ref$className,
756
+ _ref$variant = _ref.variant,
757
+ variant = _ref$variant === void 0 ? '' : _ref$variant,
758
+ _ref$labelVariant = _ref.labelVariant,
759
+ labelVariant = _ref$labelVariant === void 0 ? 'above' : _ref$labelVariant,
478
760
  htmlFor = _ref.htmlFor,
479
761
  label = _ref.label,
762
+ required = _ref.required,
480
763
  error = _ref.error,
481
- props = _objectWithoutPropertiesLoose(_ref, ["variant", "type", "className", "htmlFor", "label", "error"]);
764
+ errorMessage = _ref.errorMessage,
765
+ disabled = _ref.disabled,
766
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$h);
482
767
 
483
- var labelClassName = system.useStyles({
484
- variant: "field." + variant,
485
- className: className
486
- });
487
- var errorClassName = system.useStyles({
488
- css: {
489
- color: 'red60'
490
- }
491
- });
492
- return React__default.createElement("div", null, React__default.createElement(Label, {
493
- className: labelClassName,
494
- htmlFor: htmlFor
495
- }, label, error ? React__default.createElement(icons.Required, {
496
- size: 16,
497
- className: errorClassName
498
- }) : ''), React__default.createElement(Input, Object.assign({}, props, {
768
+ return React__default.createElement(React__default.Fragment, null, React__default.createElement(Label, {
769
+ variant: labelVariant,
770
+ htmlFor: htmlFor,
771
+ required: required
772
+ }, label), React__default.createElement(Input, Object.assign({}, props, {
499
773
  type: type,
500
- id: htmlFor
501
- })), error ? React__default.createElement(ValidationMessage, null, React__default.createElement(icons.Exclamation, {
774
+ id: htmlFor,
775
+ disabled: disabled,
776
+ variant: variant
777
+ })), error && errorMessage && React__default.createElement(ValidationMessage, null, React__default.createElement(icons.Exclamation, {
502
778
  size: 16
503
- }), error) : '');
504
- };
505
-
506
- var Heading = function Heading(_ref) {
507
- var _ref$as = _ref.as,
508
- as = _ref$as === void 0 ? 'h2' : _ref$as,
509
- _ref$variant = _ref.variant,
510
- variant = _ref$variant === void 0 ? 'h2' : _ref$variant,
511
- children = _ref.children,
512
- props = _objectWithoutPropertiesLoose(_ref, ["as", "variant", "children"]);
513
-
514
- return React__default.createElement(Box, Object.assign({}, props, {
515
- as: as,
516
- variant: "text." + variant
517
- }), children);
779
+ }), errorMessage));
518
780
  };
519
781
 
520
- var Hidden = function Hidden(_ref) {
521
- var _ref$show = _ref.show,
522
- show = _ref$show === void 0 ? false : _ref$show,
523
- children = _ref.children,
524
- props = _objectWithoutPropertiesLoose(_ref, ["show", "children"]);
525
-
526
- return React__default.createElement(Box, Object.assign({}, props, {
527
- as: "span",
528
- display: show ? 'display' : 'none'
529
- }), children);
530
- };
782
+ var _excluded$i = ["variant"];
783
+ // ---------------
531
784
 
532
785
  var Image = function Image(_ref) {
533
786
  var _ref$variant = _ref.variant,
534
787
  variant = _ref$variant === void 0 ? 'fullWidth' : _ref$variant,
535
- props = _objectWithoutPropertiesLoose(_ref, ["variant"]);
788
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$i);
536
789
 
537
- return React__default.createElement(Box, Object.assign({}, props, {
790
+ return React__default.createElement(system.Box, Object.assign({}, props, {
538
791
  as: "img",
539
- variant: "images." + variant
792
+ variant: "image." + variant
540
793
  }));
541
794
  };
542
795
 
543
- var Text = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
544
- var _ref$as = _ref.as,
545
- as = _ref$as === void 0 ? 'span' : _ref$as,
546
- _ref$variant = _ref.variant,
547
- variant = _ref$variant === void 0 ? 'body' : _ref$variant,
548
- children = _ref.children,
549
- className = _ref.className,
550
- align = _ref.align,
551
- color = _ref.color,
552
- cursor = _ref.cursor,
553
- outline = _ref.outline,
554
- userSelect = _ref.userSelect,
555
- props = _objectWithoutPropertiesLoose(_ref, ["as", "variant", "children", "className", "align", "color", "cursor", "outline", "userSelect"]);
556
-
557
- var cn = system.useStyles({
558
- className: className,
559
- variant: "text." + variant,
560
- css: {
561
- textAlign: align,
562
- color: color,
563
- cursor: cursor,
564
- outline: outline,
565
- userSelect: userSelect
566
- }
567
- });
568
- return React__default.createElement(Box, Object.assign({}, props, {
569
- as: as,
570
- className: cn,
571
- ref: ref
572
- }), children);
573
- });
796
+ var _excluded$j = ["as", "variant", "children", "disabled"];
797
+ // ---------------
574
798
 
575
799
  var Link = function Link(_ref) {
576
800
  var _ref$as = _ref.as,
@@ -579,7 +803,7 @@ var Link = function Link(_ref) {
579
803
  variant = _ref$variant === void 0 ? 'link' : _ref$variant,
580
804
  children = _ref.children,
581
805
  disabled = _ref.disabled,
582
- props = _objectWithoutPropertiesLoose(_ref, ["as", "variant", "children", "disabled"]);
806
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$j);
583
807
 
584
808
  var ref = React.useRef();
585
809
 
@@ -596,60 +820,61 @@ var Link = function Link(_ref) {
596
820
  }), children);
597
821
  };
598
822
 
823
+ var _excluded$k = ["variant", "label", "onClick", "show", "children"];
824
+ // ---------------
825
+
599
826
  var Menu = function Menu(_ref) {
600
827
  var _ref$variant = _ref.variant,
601
- variant = _ref$variant === void 0 ? 'menu' : _ref$variant,
828
+ variant = _ref$variant === void 0 ? 'default' : _ref$variant,
602
829
  _ref$label = _ref.label,
603
830
  label = _ref$label === void 0 ? 'Menu' : _ref$label,
604
831
  onClick = _ref.onClick,
605
832
  _ref$show = _ref.show,
606
833
  show = _ref$show === void 0 ? false : _ref$show,
607
834
  children = _ref.children,
608
- props = _objectWithoutPropertiesLoose(_ref, ["variant", "label", "onClick", "show", "children"]);
835
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$k);
609
836
 
610
- var itemStyles = system.useStyles({
611
- css: {
612
- position: 'absolute',
613
- minWidth: '120px',
614
- display: 'block',
615
- textAlign: 'left',
616
- borderRadius: '2px'
617
- }
618
- });
619
- return React__default.createElement(Box, Object.assign({
620
- variant: "content." + variant
837
+ return React__default.createElement(system.Box, Object.assign({
838
+ variant: "menu." + variant
621
839
  }, props), React__default.createElement(Button, {
622
840
  onClick: onClick,
623
841
  variant: "menu"
624
- }, label), show ? React__default.createElement("div", {
625
- className: itemStyles
842
+ }, label), show ? React__default.createElement(system.Box, {
843
+ display: "block",
844
+ position: "absolute",
845
+ minWidth: "120px",
846
+ borderRadius: "2px"
626
847
  }, children) : null);
627
848
  };
628
849
 
850
+ var _excluded$l = ["variant", "className", "children"];
851
+ // ---------------
852
+
629
853
  var MenuItem = function MenuItem(_ref) {
630
854
  var _ref$variant = _ref.variant,
631
- variant = _ref$variant === void 0 ? 'menuItem' : _ref$variant,
855
+ variant = _ref$variant === void 0 ? 'default' : _ref$variant,
632
856
  className = _ref.className,
633
857
  children = _ref.children,
634
- props = _objectWithoutPropertiesLoose(_ref, ["variant", "className", "children"]);
858
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$l);
635
859
 
636
- var classNames = system.useStyles({
637
- variant: "menu." + variant,
860
+ return React__default.createElement(system.Box, {
861
+ variant: "menuItem." + variant,
638
862
  className: className
639
- });
640
- return React__default.createElement(Link, Object.assign({}, props, {
641
- variant: "menu",
642
- className: classNames
643
- }), children);
863
+ }, React__default.createElement(Link, Object.assign({
864
+ variant: "menuItemLink"
865
+ }, props), children));
644
866
  };
645
867
 
868
+ var _excluded$m = ["messageTitle", "variant", "className", "children"];
869
+ // ---------------
870
+
646
871
  var Message = function Message(_ref) {
647
872
  var messageTitle = _ref.messageTitle,
648
873
  _ref$variant = _ref.variant,
649
874
  variant = _ref$variant === void 0 ? 'info' : _ref$variant,
650
875
  className = _ref.className,
651
876
  children = _ref.children,
652
- props = _objectWithoutPropertiesLoose(_ref, ["messageTitle", "variant", "className", "children"]);
877
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$m);
653
878
 
654
879
  var icon = React__default.createElement(icons.Info, null);
655
880
 
@@ -661,246 +886,486 @@ var Message = function Message(_ref) {
661
886
  icon = React__default.createElement(icons.Exclamation, null);
662
887
  }
663
888
 
664
- return React__default.createElement(Box, Object.assign({
889
+ return React__default.createElement(system.Box, Object.assign({
665
890
  display: "inline-block",
666
- variant: "messages." + variant,
891
+ variant: "message." + variant,
667
892
  className: className
668
- }, props), React__default.createElement(Box, {
893
+ }, props), React__default.createElement(system.Box, {
669
894
  display: "flex",
670
895
  alignItems: "center",
671
- variant: "messages.title"
672
- }, icon, React__default.createElement(Heading, {
673
- variant: "h4",
674
- className: system.useStyles({
675
- css: {
676
- display: 'inline'
677
- }
678
- })
679
- }, messageTitle)), React__default.createElement(Box, {
680
- className: system.useStyles({
681
- css: {
682
- color: 'black'
683
- }
684
- })
896
+ variant: "message.title"
897
+ }, icon, React__default.createElement(Text, {
898
+ as: "h4",
899
+ variant: "headline4"
900
+ }, messageTitle)), React__default.createElement(system.Box, {
901
+ css: {
902
+ color: 'black'
903
+ }
685
904
  }, children));
686
905
  };
687
906
 
688
- var RadioIcon = function RadioIcon(_ref) {
689
- var className = _ref.className,
690
- variant = _ref.variant,
691
- checked = _ref.checked;
692
- var radioIconStyle = system.useStyles({
693
- variant: "form." + variant,
694
- css: {
695
- ariaHidden: 'true',
696
- mr: 2,
697
- verticalAlign: 'middle',
698
- ':hover': {
699
- cursor: 'pointer'
700
- },
701
- 'input:disabled ~ &': {
702
- color: 'muted',
703
- cursor: 'not-allowed'
704
- }
705
- },
706
- className: className
707
- });
907
+ // ---------------
708
908
 
709
- if (checked) {
710
- return React__default.createElement(icons.CircleChecked, {
711
- className: radioIconStyle
712
- });
713
- }
909
+ function MarigoldProvider(_ref) {
910
+ var theme = _ref.theme,
911
+ children = _ref.children;
912
+ var outer = system.useTheme();
913
+ var isTopLevel = outer.theme === system.__defaultTheme;
914
+ return React__default.createElement(system.ThemeProvider, {
915
+ theme: theme
916
+ }, isTopLevel ? React__default.createElement(React__default.Fragment, null, React__default.createElement(system.Global, null), React__default.createElement(overlays$1.OverlayProvider, null, children)) : children);
917
+ }
714
918
 
715
- return React__default.createElement(icons.CircleUnchecked, {
716
- className: radioIconStyle
717
- });
919
+ var RadioIcon = function RadioIcon(_ref) {
920
+ var _ref$variant = _ref.variant,
921
+ variant = _ref$variant === void 0 ? '' : _ref$variant,
922
+ _ref$checked = _ref.checked,
923
+ checked = _ref$checked === void 0 ? false : _ref$checked,
924
+ _ref$disabled = _ref.disabled,
925
+ disabled = _ref$disabled === void 0 ? false : _ref$disabled,
926
+ _ref$error = _ref.error,
927
+ error = _ref$error === void 0 ? false : _ref$error;
928
+ var conditionalStates = disabled ? {
929
+ disabled: disabled
930
+ } : {
931
+ checked: checked,
932
+ error: error
933
+ };
934
+ return React__default.createElement(system.SVG, {
935
+ width: "16",
936
+ height: "32",
937
+ viewBox: "0 0 16 32",
938
+ fill: "none",
939
+ "aria-hidden": "true"
940
+ }, React__default.createElement(system.Box, {
941
+ variant: system.conditional("radio." + variant, conditionalStates),
942
+ as: "circle",
943
+ cx: "8",
944
+ cy: "16",
945
+ r: "7.5"
946
+ }), checked && React__default.createElement("circle", {
947
+ fill: "white",
948
+ cx: "8",
949
+ cy: "16",
950
+ r: "3"
951
+ }));
718
952
  };
719
953
 
720
- var RadioInput = function RadioInput(_ref2) {
721
- var className = _ref2.className,
722
- _ref2$variant = _ref2.variant,
723
- variant = _ref2$variant === void 0 ? 'radio' : _ref2$variant,
724
- props = _objectWithoutPropertiesLoose(_ref2, ["className", "variant"]);
954
+ var _excluded$n = ["error"],
955
+ _excluded2$3 = ["label", "required", "labelVariant", "error", "errorMessage"];
725
956
 
726
- var radioStyle = system.useStyles({
727
- css: {
728
- position: 'absolute',
729
- opacity: 0,
730
- zIndex: -1,
731
- width: 1,
732
- height: 1,
733
- overflow: 'hidden'
734
- }
735
- });
736
- return React__default.createElement(Box, {
737
- display: "inline-block"
738
- }, React__default.createElement("input", Object.assign({
957
+ var RadioInput = function RadioInput(_ref) {
958
+ var error = _ref.error,
959
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$n);
960
+
961
+ var _useFocusRing = focus.useFocusRing(),
962
+ focusProps = _useFocusRing.focusProps;
963
+
964
+ return React__default.createElement(system.Box, {
965
+ pr: "xsmall"
966
+ }, React__default.createElement(visuallyHidden.VisuallyHidden, null, React__default.createElement("input", Object.assign({
739
967
  type: "radio",
740
- className: radioStyle
741
- }, props)), React__default.createElement(RadioIcon, {
968
+ disabled: props.disabled
969
+ }, focusProps, props))), React__default.createElement(RadioIcon, {
970
+ variant: props.variant,
971
+ disabled: props.disabled,
742
972
  checked: props.checked,
743
- className: className,
744
- variant: variant
973
+ error: error
745
974
  }));
746
975
  };
747
976
 
748
- var Radio = function Radio(_ref3) {
749
- var label = _ref3.label,
750
- required = _ref3.required,
751
- props = _objectWithoutPropertiesLoose(_ref3, ["label", "required"]);
752
-
753
- if (label) {
754
- return React__default.createElement(Label, {
755
- htmlFor: props.id
756
- }, React__default.createElement(RadioInput, Object.assign({}, props)), label, required && React__default.createElement(icons.Required, {
757
- size: 16
758
- }));
759
- }
760
-
761
- return React__default.createElement(RadioInput, Object.assign({}, props));
977
+ var Radio = function Radio(_ref2) {
978
+ var label = _ref2.label,
979
+ required = _ref2.required,
980
+ _ref2$labelVariant = _ref2.labelVariant,
981
+ labelVariant = _ref2$labelVariant === void 0 ? 'inline' : _ref2$labelVariant,
982
+ error = _ref2.error,
983
+ errorMessage = _ref2.errorMessage,
984
+ props = _objectWithoutPropertiesLoose(_ref2, _excluded2$3);
985
+
986
+ return React__default.createElement(React__default.Fragment, null, React__default.createElement(system.Box, {
987
+ as: Label,
988
+ htmlFor: props.id,
989
+ required: required,
990
+ variant: "label." + labelVariant,
991
+ css: props.disabled ? {
992
+ color: 'disabled',
993
+ ':hover': {
994
+ cursor: 'not-allowed'
995
+ }
996
+ } : {
997
+ color: 'text',
998
+ ':hover': {
999
+ cursor: 'pointer'
1000
+ }
1001
+ }
1002
+ }, React__default.createElement(system.Box, Object.assign({
1003
+ as: RadioInput,
1004
+ error: error
1005
+ }, props)), label), error && errorMessage && React__default.createElement(ValidationMessage, null, React__default.createElement(icons.Exclamation, {
1006
+ size: 16
1007
+ }), errorMessage));
762
1008
  };
763
1009
 
1010
+ var _excluded$o = ["variant", "className"];
1011
+ // ---------------
1012
+
764
1013
  var Slider = function Slider(_ref) {
765
1014
  var _ref$variant = _ref.variant,
766
- variant = _ref$variant === void 0 ? 'slider' : _ref$variant,
1015
+ variant = _ref$variant === void 0 ? '' : _ref$variant,
767
1016
  className = _ref.className,
768
- props = _objectWithoutPropertiesLoose(_ref, ["variant", "className"]);
1017
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$o);
769
1018
 
770
- var classNames = system.useStyles({
771
- variant: "form." + variant,
1019
+ return React__default.createElement(system.Box, Object.assign({
1020
+ as: "input",
1021
+ type: "range",
772
1022
  css: {
773
1023
  verticalAlign: 'middle'
774
1024
  },
1025
+ variant: "slider." + variant,
775
1026
  className: className
776
- });
777
- return React__default.createElement("input", Object.assign({
778
- type: "range",
779
- className: classNames
780
1027
  }, props));
781
1028
  };
782
1029
 
783
- var Select = function Select(_ref) {
784
- var _ref$variant = _ref.variant,
785
- variant = _ref$variant === void 0 ? 'default' : _ref$variant,
786
- children = _ref.children,
787
- props = _objectWithoutPropertiesLoose(_ref, ["variant", "children"]);
1030
+ var Option = function Option(_ref) {
1031
+ var item = _ref.item,
1032
+ state = _ref.state;
1033
+ var ref = React.useRef(null);
788
1034
 
789
- var iconStyles = system.useStyles({
790
- css: {
791
- alignSelf: 'center',
792
- pointerEvents: 'none',
793
- ml: '-28px'
1035
+ var _useState = React.useState(false),
1036
+ disabled = _useState[0],
1037
+ setDisabled = _useState[1];
1038
+
1039
+ var _useOption = listbox.useOption({
1040
+ key: item.key
1041
+ }, state, ref),
1042
+ optionProps = _useOption.optionProps,
1043
+ isSelected = _useOption.isSelected;
1044
+
1045
+ React.useEffect(function () {
1046
+ for (var _iterator = _createForOfIteratorHelperLoose(state.disabledKeys.values()), _step; !(_step = _iterator()).done;) {
1047
+ var key = _step.value;
1048
+
1049
+ if (key === item.key) {
1050
+ setDisabled(true);
1051
+ }
794
1052
  }
795
- });
796
- return React__default.createElement(Box, {
797
- display: "flex"
798
- }, React__default.createElement(Box, Object.assign({
799
- as: "select",
800
- variant: "select." + variant
801
- }, props), children), React__default.createElement(icons.ArrowDown, {
802
- className: iconStyles
803
- }));
1053
+ }, [state.disabledKeys, item.key]);
1054
+ return React__default.createElement(system.Box, Object.assign({
1055
+ as: "li"
1056
+ }, optionProps, {
1057
+ ref: ref,
1058
+ variant: isSelected ? 'select.option.selected' : disabled ? 'select.option.disabled' : 'select.option'
1059
+ }), item.rendered);
804
1060
  };
805
1061
 
806
- var ALIGN_STYLES = {
807
- left: {
808
- display: 'block',
809
- flexDirection: 'row',
810
- alignItems: 'flex-start'
811
- },
812
- center: {
813
- display: 'flex',
814
- flexDirection: 'column',
815
- alignItems: 'center'
816
- },
817
- right: {
818
- display: 'flex',
819
- flexDirection: 'column',
820
- alignItems: 'flex-end'
821
- }
1062
+ var ListBoxSection = function ListBoxSection(_ref) {
1063
+ var section = _ref.section,
1064
+ state = _ref.state;
1065
+
1066
+ var _useListBoxSection = listbox.useListBoxSection({
1067
+ heading: section.rendered,
1068
+ 'aria-label': section['aria-label']
1069
+ }),
1070
+ itemProps = _useListBoxSection.itemProps,
1071
+ headingProps = _useListBoxSection.headingProps,
1072
+ groupProps = _useListBoxSection.groupProps;
1073
+
1074
+ return React__default.createElement(system.Box, Object.assign({
1075
+ as: "li"
1076
+ }, itemProps, {
1077
+ css: {
1078
+ cursor: 'not-allowed'
1079
+ }
1080
+ }), section.rendered && React__default.createElement(system.Box, Object.assign({
1081
+ as: "span"
1082
+ }, headingProps, {
1083
+ variant: 'select.section'
1084
+ }), section.rendered), React__default.createElement(system.Box, Object.assign({
1085
+ as: "ul"
1086
+ }, groupProps), [].concat(section.childNodes).map(function (node) {
1087
+ return React__default.createElement(Option, {
1088
+ key: node.key,
1089
+ item: node,
1090
+ state: state
1091
+ });
1092
+ })));
822
1093
  };
823
- var Stack = function Stack(_ref) {
824
- var _ref$space = _ref.space,
825
- space = _ref$space === void 0 ? 0 : _ref$space,
826
- _ref$align = _ref.align,
827
- align = _ref$align === void 0 ? 'left' : _ref$align,
828
- children = _ref.children,
829
- props = _objectWithoutPropertiesLoose(_ref, ["space", "align", "children"]);
830
-
831
- var stackItems = flattenChildren(children);
832
- var _ALIGN_STYLES$align = ALIGN_STYLES[align],
833
- display = _ALIGN_STYLES$align.display,
834
- flexDirection = _ALIGN_STYLES$align.flexDirection,
835
- alignItems = _ALIGN_STYLES$align.alignItems;
836
- return React__default.createElement(Box, Object.assign({
837
- p: space,
838
- display: display,
839
- flexDirection: flexDirection
840
- }, props), React.Children.map(stackItems, function (child, index) {
841
- return React__default.createElement(Box, {
842
- display: display,
843
- flexDirection: flexDirection,
844
- alignItems: alignItems,
845
- pt: space,
846
- mt: index === 0 ? -space : 0
847
- }, child);
1094
+
1095
+ var ListBox = function ListBox(props) {
1096
+ var ref = React.useRef(null);
1097
+ var state = props.state,
1098
+ error = props.error;
1099
+
1100
+ var _useListBox = listbox.useListBox(props, state, ref),
1101
+ listBoxProps = _useListBox.listBoxProps;
1102
+
1103
+ return React__default.createElement(system.Box, Object.assign({
1104
+ as: "ul",
1105
+ p: "none",
1106
+ css: {
1107
+ listStyle: 'none'
1108
+ }
1109
+ }, listBoxProps, {
1110
+ variant: error ? 'select.listbox.error' : 'select.listbox',
1111
+ ref: ref
1112
+ }), [].concat(state.collection).map(function (item) {
1113
+ return item.type === 'section' ? React__default.createElement(ListBoxSection, {
1114
+ key: item.key,
1115
+ section: item,
1116
+ state: state
1117
+ }) : React__default.createElement(Option, {
1118
+ key: item.key,
1119
+ item: item,
1120
+ state: state
1121
+ });
848
1122
  }));
849
1123
  };
850
1124
 
1125
+ var _excluded$p = ["children", "className", "isOpen", "onClose"];
1126
+ var Popover = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
1127
+ var children = _ref.children,
1128
+ className = _ref.className,
1129
+ isOpen = _ref.isOpen,
1130
+ onClose = _ref.onClose,
1131
+ otherProps = _objectWithoutPropertiesLoose(_ref, _excluded$p);
1132
+
1133
+ // Handle events that should cause the popup to close,
1134
+ var _useOverlay = overlays$1.useOverlay({
1135
+ isOpen: isOpen,
1136
+ onClose: onClose,
1137
+ shouldCloseOnBlur: true,
1138
+ isDismissable: true
1139
+ }, ref),
1140
+ overlayProps = _useOverlay.overlayProps; // Hide content outside the modal from screen readers.
1141
+
1142
+
1143
+ var _useModal = overlays$1.useModal(),
1144
+ modalProps = _useModal.modalProps;
1145
+
1146
+ return React__default.createElement(overlays$1.OverlayContainer, null, React__default.createElement(focus.FocusScope, {
1147
+ restoreFocus: true
1148
+ }, React__default.createElement(system.Box, Object.assign({}, utils.mergeProps(overlayProps, otherProps, modalProps), {
1149
+ className: className,
1150
+ ref: ref
1151
+ }), children, React__default.createElement(overlays$1.DismissButton, {
1152
+ onDismiss: onClose
1153
+ }))));
1154
+ });
1155
+
1156
+ var _excluded$q = ["labelVariant", "placeholder", "disabled", "required", "error", "errorMessage", "width", "className"];
1157
+ // ---------------
1158
+
1159
+ var Select = function Select(_ref) {
1160
+ var _ref$labelVariant = _ref.labelVariant,
1161
+ labelVariant = _ref$labelVariant === void 0 ? 'above' : _ref$labelVariant,
1162
+ _ref$placeholder = _ref.placeholder,
1163
+ placeholder = _ref$placeholder === void 0 ? 'Select an option' : _ref$placeholder,
1164
+ disabled = _ref.disabled,
1165
+ required = _ref.required,
1166
+ error = _ref.error,
1167
+ errorMessage = _ref.errorMessage,
1168
+ width = _ref.width,
1169
+ className = _ref.className,
1170
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$q);
1171
+
1172
+ var state = select.useSelectState(props);
1173
+ var overlayTriggerState = overlays.useOverlayTriggerState({});
1174
+ var triggerRef = React.useRef();
1175
+ var overlayRef = React.useRef(); // Get props for the overlay
1176
+
1177
+ var _useOverlayTrigger = overlays$1.useOverlayTrigger({
1178
+ type: 'listbox'
1179
+ }, overlayTriggerState, triggerRef),
1180
+ overlayProps = _useOverlayTrigger.overlayProps; // Get popover positioning props relative to the trigger
1181
+
1182
+
1183
+ var _useOverlayPosition = overlays$1.useOverlayPosition({
1184
+ targetRef: triggerRef,
1185
+ overlayRef: overlayRef,
1186
+ placement: 'bottom',
1187
+ shouldFlip: false,
1188
+ isOpen: state.isOpen,
1189
+ onClose: state.close
1190
+ }),
1191
+ positionProps = _useOverlayPosition.overlayProps; // Get props for child elements from useSelect
1192
+
1193
+
1194
+ var _useSelect = select$1.useSelect(props, state, triggerRef),
1195
+ labelProps = _useSelect.labelProps,
1196
+ triggerProps = _useSelect.triggerProps,
1197
+ valueProps = _useSelect.valueProps,
1198
+ menuProps = _useSelect.menuProps; // Get props for the button based on the trigger props from useSelect
1199
+
1200
+
1201
+ var _useButton = button.useButton(triggerProps, triggerRef),
1202
+ buttonProps = _useButton.buttonProps;
1203
+
1204
+ var _useFocusRing = focus.useFocusRing(),
1205
+ focusProps = _useFocusRing.focusProps;
1206
+
1207
+ return React__default.createElement(system.Box, {
1208
+ position: "relative",
1209
+ display: "inline-block",
1210
+ width: width && width
1211
+ }, props.label && React__default.createElement(system.Box, null, React__default.createElement(Label, Object.assign({}, labelProps, {
1212
+ htmlFor: labelProps.id,
1213
+ variant: labelVariant
1214
+ }), required ? React__default.createElement(system.Box, {
1215
+ as: "span",
1216
+ display: "inline-flex",
1217
+ alignItems: "center"
1218
+ }, props.label, React__default.createElement(system.Box, {
1219
+ as: icons.Required,
1220
+ size: 16,
1221
+ css: {
1222
+ color: 'error'
1223
+ }
1224
+ })) : props.label)), React__default.createElement(select$1.HiddenSelect, {
1225
+ state: state,
1226
+ triggerRef: triggerRef,
1227
+ label: props.label,
1228
+ name: props.name,
1229
+ isDisabled: disabled
1230
+ }), React__default.createElement(system.Box, Object.assign({
1231
+ as: "button"
1232
+ }, utils.mergeProps(buttonProps, focusProps), {
1233
+ ref: triggerRef,
1234
+ variant: error && state.isOpen && !disabled ? 'button.select.errorOpened' : error ? 'button.select.error' : state.isOpen && !disabled ? 'button.select.open' : 'button.select',
1235
+ disabled: disabled,
1236
+ className: className
1237
+ }), React__default.createElement(system.Box, Object.assign({
1238
+ as: "span"
1239
+ }, valueProps, {
1240
+ variant: disabled ? 'select.disabled' : 'select'
1241
+ }), state.selectedItem ? state.selectedItem.rendered : placeholder), state.isOpen && !disabled ? React__default.createElement(system.Box, {
1242
+ as: icons.ArrowUp,
1243
+ size: 16,
1244
+ css: {
1245
+ fill: 'text'
1246
+ }
1247
+ }) : React__default.createElement(system.Box, {
1248
+ as: icons.ArrowDown,
1249
+ size: 16,
1250
+ css: {
1251
+ fill: disabled ? 'disabled' : 'text'
1252
+ }
1253
+ })), state.isOpen && !disabled && React__default.createElement(system.Box, Object.assign({
1254
+ as: Popover
1255
+ }, overlayProps, positionProps, {
1256
+ css: {
1257
+ width: triggerRef.current && triggerRef.current.offsetWidth + 'px'
1258
+ },
1259
+ ref: overlayRef,
1260
+ isOpen: state.isOpen,
1261
+ onClose: state.close
1262
+ }), React__default.createElement(ListBox, Object.assign({
1263
+ error: error
1264
+ }, menuProps, {
1265
+ state: state
1266
+ }))), error && errorMessage && React__default.createElement(system.Box, {
1267
+ as: "span",
1268
+ display: "inline-flex",
1269
+ alignItems: "center"
1270
+ }, React__default.createElement(system.Box, {
1271
+ as: icons.Exclamation,
1272
+ size: 16,
1273
+ css: {
1274
+ color: 'error'
1275
+ }
1276
+ }), React__default.createElement(ValidationMessage, null, errorMessage)));
1277
+ };
1278
+
1279
+ var _excluded$r = ["variant", "htmlFor", "label", "error", "errorMessage", "required", "className", "children"];
1280
+ // ---------------
1281
+
851
1282
  var Textarea = function Textarea(_ref) {
852
1283
  var _ref$variant = _ref.variant,
853
- variant = _ref$variant === void 0 ? 'default' : _ref$variant,
1284
+ variant = _ref$variant === void 0 ? '' : _ref$variant,
854
1285
  _ref$htmlFor = _ref.htmlFor,
855
1286
  htmlFor = _ref$htmlFor === void 0 ? 'textarea' : _ref$htmlFor,
856
1287
  label = _ref.label,
1288
+ error = _ref.error,
857
1289
  errorMessage = _ref.errorMessage,
858
- _ref$required = _ref.required,
859
- required = _ref$required === void 0 ? false : _ref$required,
1290
+ required = _ref.required,
860
1291
  _ref$className = _ref.className,
861
1292
  className = _ref$className === void 0 ? '' : _ref$className,
862
- props = _objectWithoutPropertiesLoose(_ref, ["variant", "htmlFor", "label", "errorMessage", "required", "className", "children"]);
1293
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$r);
863
1294
 
864
- var errorClassName = system.useStyles({
865
- css: {
866
- color: 'error'
867
- }
868
- });
869
- var textareaClassNames = system.useStyles({
870
- css: {
871
- outlineColor: errorMessage && 'error'
872
- },
873
- className: className
874
- });
875
- return React__default.createElement(Box, null, label && React__default.createElement(Label, {
876
- htmlFor: htmlFor
877
- }, label, (errorMessage || required) && React__default.createElement(icons.Required, {
878
- size: 16,
879
- className: errorClassName
880
- })), React__default.createElement(Box, Object.assign({
1295
+ return React__default.createElement(system.Box, null, label && React__default.createElement(Label, {
1296
+ htmlFor: htmlFor,
1297
+ required: required
1298
+ }, label), React__default.createElement(system.Box, Object.assign({
881
1299
  as: "textarea"
882
1300
  }, props, {
883
1301
  display: "block",
884
1302
  variant: "textarea." + variant,
885
- className: textareaClassNames
886
- })), errorMessage && React__default.createElement(ValidationMessage, null, React__default.createElement(icons.Exclamation, {
1303
+ css: {
1304
+ outlineColor: error && 'error'
1305
+ },
1306
+ className: className
1307
+ })), error && errorMessage && React__default.createElement(ValidationMessage, null, React__default.createElement(icons.Exclamation, {
887
1308
  size: 16
888
1309
  }), errorMessage));
889
1310
  };
890
1311
 
1312
+ var _excluded$s = ["children"];
891
1313
  var Container = function Container(_ref) {
892
1314
  var children = _ref.children,
893
- props = _objectWithoutPropertiesLoose(_ref, ["children"]);
1315
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$s);
894
1316
 
895
- return React__default.createElement(Box, Object.assign({}, props, {
1317
+ return React__default.createElement(system.Box, Object.assign({}, props, {
896
1318
  width: "100%"
897
1319
  }), children);
898
1320
  };
899
1321
 
1322
+ Object.defineProperty(exports, 'Box', {
1323
+ enumerable: true,
1324
+ get: function () {
1325
+ return system.Box;
1326
+ }
1327
+ });
1328
+ Object.defineProperty(exports, 'ThemeProvider', {
1329
+ enumerable: true,
1330
+ get: function () {
1331
+ return system.ThemeProvider;
1332
+ }
1333
+ });
1334
+ Object.defineProperty(exports, 'useTheme', {
1335
+ enumerable: true,
1336
+ get: function () {
1337
+ return system.useTheme;
1338
+ }
1339
+ });
1340
+ Object.defineProperty(exports, 'VisuallyHidden', {
1341
+ enumerable: true,
1342
+ get: function () {
1343
+ return visuallyHidden.VisuallyHidden;
1344
+ }
1345
+ });
1346
+ Object.defineProperty(exports, 'SSRProvider', {
1347
+ enumerable: true,
1348
+ get: function () {
1349
+ return ssr.SSRProvider;
1350
+ }
1351
+ });
1352
+ Object.defineProperty(exports, 'Item', {
1353
+ enumerable: true,
1354
+ get: function () {
1355
+ return collections.Item;
1356
+ }
1357
+ });
1358
+ Object.defineProperty(exports, 'Section', {
1359
+ enumerable: true,
1360
+ get: function () {
1361
+ return collections.Section;
1362
+ }
1363
+ });
1364
+ exports.ActionGroup = ActionGroup;
900
1365
  exports.Alert = Alert;
901
1366
  exports.Badge = Badge;
902
- exports.Box = Box;
903
1367
  exports.Button = Button;
1368
+ exports.Card = Card;
904
1369
  exports.Checkbox = Checkbox;
905
1370
  exports.Column = Column;
906
1371
  exports.Columns = Columns;
@@ -908,12 +1373,13 @@ exports.Container = Container;
908
1373
  exports.Dialog = Dialog;
909
1374
  exports.Divider = Divider;
910
1375
  exports.Field = Field;
911
- exports.Heading = Heading;
912
- exports.Hidden = Hidden;
913
1376
  exports.Image = Image;
1377
+ exports.Inline = Inline;
914
1378
  exports.Input = Input;
915
1379
  exports.Label = Label;
1380
+ exports.LabelBase = LabelBase;
916
1381
  exports.Link = Link;
1382
+ exports.MarigoldProvider = MarigoldProvider;
917
1383
  exports.Menu = Menu;
918
1384
  exports.MenuItem = MenuItem;
919
1385
  exports.Message = Message;
@@ -924,4 +1390,5 @@ exports.Stack = Stack;
924
1390
  exports.Text = Text;
925
1391
  exports.Textarea = Textarea;
926
1392
  exports.ValidationMessage = ValidationMessage;
1393
+ exports.useDialogButtonProps = useDialogButtonProps;
927
1394
  //# sourceMappingURL=components.cjs.development.js.map