UNPKG

142 kBJavaScriptView Raw
1'use strict';
2
3Object.defineProperty(exports, '__esModule', { value: true });
4
5function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
6
7var React = require('react');
8var React__default = _interopDefault(React);
9var shouldForwardProp = require('@styled-system/should-forward-prop');
10var styled = require('styled-components');
11var styled__default = _interopDefault(styled);
12var css = _interopDefault(require('@styled-system/css'));
13var styledSystem = require('styled-system');
14var useEvents = require('use-events');
15var Prism = _interopDefault(require('prismjs'));
16var Highlight = _interopDefault(require('prism-react-renderer'));
17var autoId = require('@reach/auto-id');
18var Color = _interopDefault(require('color'));
19var themeGet = require('@styled-system/theme-get');
20var propTypes = require('prop-types');
21var useOnClickOutside = _interopDefault(require('use-onclickoutside'));
22var core = require('@popperjs/core');
23var reactDom = require('react-dom');
24var ReachAlert = _interopDefault(require('@reach/alert'));
25var rect = require('@reach/rect');
26var CSSTransition = _interopDefault(require('react-transition-group/Transition'));
27var flushable = _interopDefault(require('flushable'));
28
29function _defineProperty(obj, key, value) {
30 if (key in obj) {
31 Object.defineProperty(obj, key, {
32 value: value,
33 enumerable: true,
34 configurable: true,
35 writable: true
36 });
37 } else {
38 obj[key] = value;
39 }
40
41 return obj;
42}
43
44function ownKeys(object, enumerableOnly) {
45 var keys = Object.keys(object);
46
47 if (Object.getOwnPropertySymbols) {
48 var symbols = Object.getOwnPropertySymbols(object);
49 if (enumerableOnly) symbols = symbols.filter(function (sym) {
50 return Object.getOwnPropertyDescriptor(object, sym).enumerable;
51 });
52 keys.push.apply(keys, symbols);
53 }
54
55 return keys;
56}
57
58function _objectSpread2(target) {
59 for (var i = 1; i < arguments.length; i++) {
60 var source = arguments[i] != null ? arguments[i] : {};
61
62 if (i % 2) {
63 ownKeys(Object(source), true).forEach(function (key) {
64 _defineProperty(target, key, source[key]);
65 });
66 } else if (Object.getOwnPropertyDescriptors) {
67 Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
68 } else {
69 ownKeys(Object(source)).forEach(function (key) {
70 Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
71 });
72 }
73 }
74
75 return target;
76}
77
78function _objectWithoutPropertiesLoose(source, excluded) {
79 if (source == null) return {};
80 var target = {};
81 var sourceKeys = Object.keys(source);
82 var key, i;
83
84 for (i = 0; i < sourceKeys.length; i++) {
85 key = sourceKeys[i];
86 if (excluded.indexOf(key) >= 0) continue;
87 target[key] = source[key];
88 }
89
90 return target;
91}
92
93function _taggedTemplateLiteralLoose(strings, raw) {
94 if (!raw) {
95 raw = strings.slice(0);
96 }
97
98 strings.raw = raw;
99 return strings;
100}
101
102function _unsupportedIterableToArray(o, minLen) {
103 if (!o) return;
104 if (typeof o === "string") return _arrayLikeToArray(o, minLen);
105 var n = Object.prototype.toString.call(o).slice(8, -1);
106 if (n === "Object" && o.constructor) n = o.constructor.name;
107 if (n === "Map" || n === "Set") return Array.from(o);
108 if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
109}
110
111function _arrayLikeToArray(arr, len) {
112 if (len == null || len > arr.length) len = arr.length;
113
114 for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
115
116 return arr2;
117}
118
119function _createForOfIteratorHelperLoose(o, allowArrayLike) {
120 var it;
121
122 if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) {
123 if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") {
124 if (it) o = it;
125 var i = 0;
126 return function () {
127 if (i >= o.length) return {
128 done: true
129 };
130 return {
131 done: false,
132 value: o[i++]
133 };
134 };
135 }
136
137 throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
138 }
139
140 it = o[Symbol.iterator]();
141 return it.next.bind(it);
142}
143
144var config = {
145 roundedTop: {
146 properties: ['borderTopLeftRadius', 'borderTopRightRadius'],
147 scale: 'radii'
148 },
149 roundedBottom: {
150 properties: ['borderBottomLeftRadius', 'borderBottomRightRadius'],
151 scale: 'radii'
152 },
153 roundedLeft: {
154 properties: ['borderTopLeftRadius', 'borderBottomLeftRadius'],
155 scale: 'radii'
156 },
157 roundedRight: {
158 properties: ['borderTopRightRadius', 'borderBottomRightRadius'],
159 scale: 'radii'
160 },
161 roundedTopRight: {
162 property: 'borderTopRightRadius',
163 scale: 'radii'
164 },
165 roundedTopLeft: {
166 property: 'borderTopLeftRadius',
167 scale: 'radii'
168 },
169 roundedBottomRight: {
170 property: 'borderBottomRightRadius',
171 scale: 'radii'
172 },
173 roundedBottomLeft: {
174 property: 'borderBottomLeftRadius',
175 scale: 'radii'
176 },
177 rounded: {
178 property: 'borderRadius',
179 scale: 'radii'
180 },
181 d: {
182 property: 'display'
183 },
184 w: {
185 property: 'width',
186 scale: 'sizes'
187 },
188 minW: {
189 property: 'minWidth',
190 scale: 'sizes'
191 },
192 maxW: {
193 property: 'maxWidth',
194 scale: 'sizes'
195 },
196 h: {
197 property: 'height',
198 scale: 'sizes'
199 },
200 minH: {
201 property: 'minHeight',
202 scale: 'sizes'
203 },
204 maxH: {
205 property: 'maxHeight',
206 scale: 'sizes'
207 },
208 bgImg: {
209 property: 'backgroundImage'
210 },
211 bgSize: {
212 property: 'backgroundSize'
213 },
214 bgPos: {
215 property: 'backgroundPosition'
216 },
217 bgRepeat: {
218 property: 'backgroundRepeat'
219 },
220 pos: {
221 property: 'position'
222 },
223 flexDir: {
224 property: 'flexDirection'
225 },
226 shadow: {
227 property: 'boxShadow',
228 scale: 'shadows'
229 },
230 textDecoration: true,
231 overflowX: true,
232 overflowY: true,
233 textTransform: true,
234 animation: true,
235 appearance: true,
236 transform: true,
237 transformOrigin: true,
238 visibility: true,
239 whiteSpace: true,
240 userSelect: true,
241 pointerEvents: true,
242 wordBreak: true,
243 overflowWrap: true,
244 textOverflow: true,
245 boxSizing: true,
246 cursor: true,
247 resize: true,
248 transition: true,
249 listStyleType: true,
250 listStylePosition: true,
251 listStyleImage: true,
252 fill: {
253 property: 'fill',
254 scale: 'colors'
255 },
256 stroke: {
257 property: 'stroke',
258 scale: 'colors'
259 },
260 objectFit: true,
261 objectPosition: true,
262 backgroundAttachment: true,
263 outline: true
264};
265config.bgAttachment = config.backgroundAttachment;
266config.textDecor = config.textDecoration;
267config.listStylePos = config.listStylePosition;
268config.listStyleImg = config.listStyleImage;
269var extraConfig = /*#__PURE__*/styledSystem.system(config);
270
271var transformAlias = function transformAlias(prop, propValue) {
272 var configKeys = Object.keys(config);
273 var result = {};
274
275 if (configKeys.includes(prop)) {
276 var _config$prop = config[prop],
277 properties = _config$prop.properties,
278 property = _config$prop.property;
279
280 if (properties) {
281 properties.forEach(function (_cssProp) {
282 return result[_cssProp] = propValue;
283 });
284 }
285
286 if (property) {
287 result[property] = propValue;
288 }
289
290 if (config[prop] === true) {
291 result[prop] = propValue;
292 }
293 } else {
294 result[prop] = propValue;
295 }
296
297 return result;
298};
299
300var transformAliasProps = function transformAliasProps(props) {
301 var result = {};
302
303 for (var prop in props) {
304 if (typeof props[prop] === 'object' && !Array.isArray(props[prop])) {
305 var _objectSpread2$1;
306
307 result = _objectSpread2({}, result, (_objectSpread2$1 = {}, _objectSpread2$1[prop] = transformAliasProps(props[prop]), _objectSpread2$1));
308 } else {
309 result = _objectSpread2({}, result, {}, transformAlias(prop, props[prop]));
310 }
311 }
312
313 return result;
314};
315var extraProps = /*#__PURE__*/Object.keys(config);
316
317function _templateObject() {
318 var data = _taggedTemplateLiteralLoose(["\n ", ";\n ", ";\n"]);
319
320 _templateObject = function _templateObject() {
321 return data;
322 };
323
324 return data;
325}
326var systemProps = /*#__PURE__*/styledSystem.compose(styledSystem.layout, styledSystem.color, styledSystem.space, styledSystem.background, styledSystem.border, styledSystem.grid, styledSystem.position, styledSystem.shadow, styledSystem.typography, styledSystem.flexbox, styledSystem.textStyle, styledSystem.buttonStyle, styledSystem.colorStyle);
327
328var _shouldForwardProp = /*#__PURE__*/shouldForwardProp.createShouldForwardProp( /*#__PURE__*/[].concat(shouldForwardProp.props, extraProps));
329
330var StyledBox = /*#__PURE__*/styled__default('div').withConfig({
331 shouldForwardProp: function shouldForwardProp(prop) {
332 return _shouldForwardProp(prop);
333 }
334})( /*#__PURE__*/_templateObject(), systemProps, extraConfig);
335var hover = '&:hover';
336var active = '&:active, &[data-active=true]';
337var focus = '&:focus';
338var visited = '&:visited';
339var even = '&:nth-of-type(even)';
340var odd = '&:nth-of-type(odd)';
341var disabled = '&:disabled, &:disabled:focus, &:disabled:hover, &[aria-disabled=true], &[aria-disabled=true]:focus, &[aria-disabled=true]:hover';
342var checked = '&[aria-checked=true]';
343var mixed = '&[aria-checked=mixed]';
344var selected = '&[aria-selected=true]';
345var invalid = '&[aria-invalid=true]';
346var pressed = '&[aria-pressed=true]';
347var readOnly = '&[aria-readonly=true], &[readonly]';
348var first = '&:first-of-type';
349var last = '&:last-of-type';
350var expanded = '&[aria-expanded=true]';
351var grabbed = '&[aria-grabbed=true]';
352var notFirst = '&:not(:first-of-type)';
353var notLast = '&:not(:last-of-type)';
354var groupHover = '[role=group]:hover &';
355var BoxWithPseudoStyles = /*#__PURE__*/styled__default(StyledBox)(function (_ref) {
356 var _css;
357
358 var _after = _ref._after,
359 _focus = _ref._focus,
360 _selected = _ref._selected,
361 _focusWithin = _ref._focusWithin,
362 _hover = _ref._hover,
363 _invalid = _ref._invalid,
364 _active = _ref._active,
365 _disabled = _ref._disabled,
366 _grabbed = _ref._grabbed,
367 _pressed = _ref._pressed,
368 _expanded = _ref._expanded,
369 _visited = _ref._visited,
370 _before = _ref._before,
371 _readOnly = _ref._readOnly,
372 _first = _ref._first,
373 _notFirst = _ref._notFirst,
374 _notLast = _ref._notLast,
375 _last = _ref._last,
376 _placeholder = _ref._placeholder,
377 _checked = _ref._checked,
378 _groupHover = _ref._groupHover,
379 _mixed = _ref._mixed,
380 _odd = _ref._odd,
381 _even = _ref._even;
382 return css((_css = {}, _css[hover] = transformAliasProps(_hover), _css[focus] = transformAliasProps(_focus), _css[active] = transformAliasProps(_active), _css[visited] = transformAliasProps(_visited), _css[disabled] = transformAliasProps(_disabled), _css[selected] = transformAliasProps(_selected), _css[invalid] = transformAliasProps(_invalid), _css[expanded] = transformAliasProps(_expanded), _css[grabbed] = transformAliasProps(_grabbed), _css[readOnly] = transformAliasProps(_readOnly), _css[first] = transformAliasProps(_first), _css[notFirst] = transformAliasProps(_notFirst), _css[notLast] = transformAliasProps(_notLast), _css[last] = transformAliasProps(_last), _css[odd] = transformAliasProps(_odd), _css[even] = transformAliasProps(_even), _css[mixed] = transformAliasProps(_mixed), _css[checked] = transformAliasProps(_checked), _css[pressed] = transformAliasProps(_pressed), _css[groupHover] = transformAliasProps(_groupHover), _css['&:before'] = transformAliasProps(_before), _css['&:after'] = transformAliasProps(_after), _css['&:focus-within'] = transformAliasProps(_focusWithin), _css['&::placeholder'] = transformAliasProps(_placeholder), _css));
383});
384var Box = /*#__PURE__*/React.forwardRef(function (props, ref) {
385 return React__default.createElement(BoxWithPseudoStyles, Object.assign({
386 ref: ref
387 }, props));
388});
389Box.displayName = 'Box';
390
391var ButtonGroup = function ButtonGroup(_ref) {
392 var size = _ref.size,
393 variantColor = _ref.variantColor,
394 variant = _ref.variant,
395 isAttached = _ref.isAttached,
396 _ref$spacing = _ref.spacing,
397 spacing = _ref$spacing === void 0 ? 2 : _ref$spacing,
398 children = _ref.children,
399 rest = _objectWithoutPropertiesLoose(_ref, ["size", "variantColor", "variant", "isAttached", "spacing", "children"]);
400
401 var clones = React.Children.map(children, function (child, index) {
402 var isFirst = index === 0;
403 var isLast = index === React.Children.count(children) - 1;
404
405 if (!React__default.isValidElement(child)) {
406 return null;
407 }
408
409 return React.cloneElement(child, _objectSpread2({
410 size: size || child.props.size,
411 variantColor: child.props.variantColor || variantColor,
412 variant: child.props.variant || variant,
413 _focus: {
414 boxShadow: 'outline',
415 zIndex: 1
416 }
417 }, !isLast && !isAttached && {
418 mr: spacing
419 }, {}, isFirst && isAttached && {
420 roundedRight: 0
421 }, {}, isLast && isAttached && {
422 roundedLeft: 0
423 }, {}, !isFirst && !isLast && isAttached && {
424 rounded: 0
425 }));
426 });
427 return React__default.createElement(Box, Object.assign({
428 display: "inline-block"
429 }, rest), clones);
430};
431
432ButtonGroup.displayName = 'ButtonGroup';
433
434var colors = {
435 transparent: 'transparent',
436 current: 'currentColor',
437 black: '#000000',
438 white: '#ffffff',
439 blue: /*#__PURE__*/Object.assign('#3700ff', {
440 100: '#F2F2FF',
441 200: '#E3E5FF',
442 300: '#C5CCFF',
443 400: '#AAB3FF',
444 900: '#5548ff',
445 hover: '#3100DC'
446 }),
447 ink: /*#__PURE__*/Object.assign('#0f1117', {
448 50: '#f4f4f5',
449 100: '#F9F9FC',
450 150: '#F4F4F5',
451 200: '#E7E7E8',
452 250: '#C8C8CC',
453 300: '#C8C8CC',
454 400: '#A7A7AD',
455 600: '#677282',
456 900: '#222933'
457 }),
458 darken: {
459 50: 'rgba(15, 17, 23, 0.05)',
460 100: 'rgba(15, 17, 23, 0.1)',
461 150: 'rgba(15, 17, 23, 0.15)'
462 },
463 red: '#de0014',
464 green: '#00a73e',
465 orange: '#f7aa00',
466 cyan: '#00d4ff',
467 feedback: {}
468};
469colors.feedback = {
470 error: colors.red,
471 success: colors.green,
472 warning: colors.orange,
473 info: colors.cyan
474};
475
476var containers = {
477 'screen-sm': '640px',
478 'screen-md': '768px',
479 'screen-lg': '1024px',
480 'screen-xl': '1280px'
481};
482var baseSizes = {
483 '0': '0px',
484 px: '1px',
485 '1': '4px',
486 '2': '8px',
487 '3': '12px',
488 '4': '16px',
489 '5': '20px',
490 '6': '24px',
491 '8': '32px',
492 '10': '40px',
493 '12': '48px',
494 '16': '64px',
495 '20': '80px',
496 '24': '96px',
497 '32': '128px',
498 '40': '160px',
499 '48': '192px',
500 '56': '224px',
501 '64': '256px'
502};
503var namedSpacingUnits = {
504 none: baseSizes[0],
505 'extra-tight': baseSizes[1],
506 tight: baseSizes[2],
507 'base-tight': baseSizes[3],
508 base: baseSizes[4],
509 'base-loose': baseSizes[5],
510 loose: baseSizes[6],
511 'extra-loose': baseSizes[8]
512};
513var space = function space(spacing) {
514 return spacing;
515};
516var sizes = /*#__PURE__*/_objectSpread2({}, baseSizes, {
517 containers: containers
518}, namedSpacingUnits);
519
520var typography = {
521 letterSpacings: {
522 tighter: '-0.02em',
523 tight: '-0.01em',
524 normal: '0',
525 wide: '0.025em',
526 wider: '0.05em',
527 widest: '0.1em'
528 },
529 lineHeights: {
530 normal: 'normal',
531 none: '1',
532 shorter: '1.333',
533 "short": '1.4',
534 base: '1.5',
535 tall: '1.625',
536 taller: '2'
537 },
538 fontWeights: {
539 hairline: 100,
540 thin: 200,
541 light: 300,
542 normal: 400,
543 medium: 500,
544 semibold: 600,
545 bold: 700,
546 extrabold: 800,
547 black: 900
548 },
549 fonts: {
550 heading: '"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"',
551 body: '"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"',
552 mono: 'SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace'
553 },
554 fontSizes: [12, 14, 16, 20, 24, 28, 32, 36, 48, 64, 96, 128]
555};
556var displayLarge = {
557 fontWeight: typography.fontWeights.semibold,
558 fontSize: typography.fontSizes[4],
559 lineHeight: typography.lineHeights.shorter,
560 letterSpacing: '-0.02em'
561};
562var displaySmall = {
563 fontWeight: typography.fontWeights.medium,
564 fontSize: typography.fontSizes[3],
565 lineHeight: typography.lineHeights["short"],
566 letterSpacing: '-0.02em'
567};
568var bodyLarge = {
569 fontWeight: typography.fontWeights.normal,
570 fontSize: typography.fontSizes[2],
571 lineHeight: typography.lineHeights.base,
572 letterSpacing: '-0.01em'
573};
574
575var bodyLargeMedium = /*#__PURE__*/_objectSpread2({}, bodyLarge, {
576 fontWeight: typography.fontWeights.medium
577});
578
579var bodySmall = {
580 fontWeight: typography.fontWeights.normal,
581 fontSize: typography.fontSizes[1],
582 lineHeight: typography.lineHeights["short"],
583 letterSpacing: '-0.01em'
584};
585
586var bodySmallMedium = /*#__PURE__*/_objectSpread2({}, bodySmall, {
587 fontWeight: typography.fontWeights.medium
588});
589
590var caption = {
591 fontSize: typography.fontSizes[0],
592 lineHeight: typography.lineHeights.shorter,
593 letterSpacing: '0.00em'
594};
595
596var captionMedium = /*#__PURE__*/_objectSpread2({}, bodySmall, {
597 fontWeight: typography.fontWeights.medium
598});
599
600var textStyles = {
601 display: {
602 large: displayLarge,
603 small: displaySmall
604 },
605 body: {
606 large: /*#__PURE__*/_objectSpread2({}, bodyLarge, {
607 medium: bodyLargeMedium
608 }),
609 small: /*#__PURE__*/_objectSpread2({}, bodySmall, {
610 medium: bodySmallMedium
611 })
612 },
613 caption: /*#__PURE__*/_objectSpread2({}, caption, {
614 medium: captionMedium
615 })
616};
617var typography$1 = /*#__PURE__*/_objectSpread2({}, typography, {
618 textStyles: textStyles
619});
620
621var space$1 = sizes;
622var shadows = {
623 low: '0px 1px 2px rgba(0, 0, 0, 0.04)',
624 mid: '0px 1px 2px rgba(27, 39, 51, 0.04), 0px 4px 8px rgba(27, 39, 51, 0.04)',
625 high: '0px 8px 16px rgba(27, 39, 51, 0.08)',
626 inner: 'inset 0 2px 4px 0 rgba(0,0,0,0.06)',
627 none: 'none',
628 focus: '0 0 0 3px rgba(170, 179, 255, 0.75)',
629 'button.secondary': '0px 1px 2px rgba(0, 0, 0, 0.08), 0px 1px 4px rgba(0, 0, 0, 0.08)'
630};
631var breakpoints = ['30em', '48em', '62em', '80em'];
632breakpoints.sm = breakpoints[0];
633breakpoints.md = breakpoints[1];
634breakpoints.lg = breakpoints[2];
635breakpoints.xl = breakpoints[3];
636var zIndices = {
637 hide: -1,
638 auto: 'auto',
639 '0': 0,
640 '10': 10,
641 '20': 20,
642 '30': 30,
643 '40': 40,
644 '50': 50,
645 '60': 60,
646 '70': 70,
647 '80': 80
648};
649var radii = {
650 none: '0',
651 sm: '0.125rem',
652 md: '0.25rem',
653 lg: '0.5rem',
654 full: '9999px'
655};
656var opacity = {
657 '0': '0',
658 '20%': '0.2',
659 '40%': '0.4',
660 '60%': '0.6',
661 '80%': '0.8',
662 '100%': '1'
663};
664var borders = {
665 none: 0,
666 '1px': '1px solid',
667 '2px': '2px solid',
668 '4px': '4px solid'
669};
670
671var theme = /*#__PURE__*/_objectSpread2({
672 breakpoints: breakpoints,
673 zIndices: zIndices,
674 radii: radii,
675 opacity: opacity,
676 borders: borders,
677 colors: colors
678}, typography$1, {
679 sizes: sizes,
680 shadows: shadows,
681 space: space$1
682});
683
684var transition = 'all 0.2s cubic-bezier(0.23, 1, 0.32, 1)';
685
686var baseProps = {
687 display: 'inline-flex',
688 appearance: 'none',
689 alignItems: 'center',
690 justifyContent: 'center',
691 transition: 'all 250ms',
692 userSelect: 'none',
693 position: 'relative',
694 whiteSpace: 'nowrap',
695 verticalAlign: 'middle',
696 lineHeight: 'shorter',
697 outline: 'none',
698 border: '1px solid',
699 borderColor: 'transparent'
700};
701var sizes$1 = {
702 lg: {
703 minHeight: 12,
704 minWidth: 9 * 14,
705 fontSize: '14px !important',
706 px: 5
707 },
708 md: {
709 minHeight: 10,
710 minWidth: 10,
711 fontSize: '14px !important',
712 px: 4
713 },
714 sm: {
715 minHeight: 6,
716 minWidth: 10,
717 fontSize: '11px !important',
718 px: 3
719 }
720};
721var unstyledStyle = {
722 userSelect: 'inherit',
723 bg: 'none',
724 border: 0,
725 color: 'inherit',
726 display: 'inline',
727 font: 'inherit',
728 lineHeight: 'inherit',
729 m: 0,
730 p: 0,
731 textAlign: 'inherit'
732};
733
734var linkVariantProps = function linkVariantProps() {
735 return {
736 p: 0,
737 height: 'unset',
738 lineHeight: 'normal',
739 color: 'blue',
740 minWidth: 'unset',
741 _hover: {
742 color: 'blue.hover',
743 textDecoration: 'underline'
744 },
745 _active: {
746 textDecoration: 'underline'
747 },
748 _focus: {
749 textDecoration: 'underline'
750 },
751 _disabled: {
752 color: '#A7A7AD'
753 }
754 };
755};
756
757var solidVariantProps = function solidVariantProps(_ref) {
758 var mode = _ref.mode,
759 customStyles = _ref.customStyles;
760 var style = {
761 primary: {
762 bg: 'blue',
763 color: 'white',
764 _hover: {
765 cursor: 'pointer'
766 },
767 _focus: {
768 borderColor: 'blue.300',
769 boxShadow: shadows.focus
770 },
771 _disabled: {
772 bg: 'blue.200',
773 cursor: 'not-allowed'
774 }
775 },
776 secondary: {
777 bg: 'blue.100',
778 color: 'blue',
779 border: '1px solid',
780 borderColor: 'blue.300',
781 boxShadow: null,
782 _hover: {
783 cursor: 'pointer',
784 bg: 'blue.200'
785 },
786 _focus: {
787 borderColor: 'blue.300',
788 boxShadow: shadows.focus
789 },
790 _disabled: {
791 bg: 'blue.200',
792 cursor: 'not-allowed',
793 color: 'white',
794 border: 'none'
795 }
796 },
797 tertiary: {
798 bg: 'white',
799 color: 'blue',
800 boxShadow: shadows['button.secondary'],
801 _hover: {
802 cursor: 'pointer',
803 bg: 'white',
804 boxShadow: shadows['button.secondary']
805 },
806 _focus: {
807 borderColor: 'blue.300',
808 boxShadow: shadows.focus
809 },
810 _disabled: {
811 bg: 'white',
812 pointerEvents: 'none',
813 cursor: 'not-allowed',
814 color: 'blue.300'
815 }
816 }
817 };
818
819 if (customStyles) {
820 return customStyles[mode];
821 }
822
823 return style[mode];
824};
825
826var sizeProps = function sizeProps(_ref2) {
827 var size = _ref2.size;
828 return sizes$1[size];
829};
830
831var variantProps = function variantProps(props) {
832 switch (props.variant) {
833 case 'solid':
834 return solidVariantProps(props);
835
836 case 'link':
837 return linkVariantProps();
838
839 case 'unstyled':
840 return unstyledStyle;
841
842 default:
843 return {};
844 }
845};
846
847var useButtonStyle = function useButtonStyle(props) {
848 return _objectSpread2({}, baseProps, {}, variantProps(props), {}, sizeProps(props));
849};
850
851function _templateObject$1() {
852 var data = _taggedTemplateLiteralLoose(["\n border: 0px;\n clip: rect(0px, 0px, 0px, 0px);\n height: 1px;\n width: 1px;\n margin: -1px;\n padding: 0px;\n overflow: hidden;\n white-space: nowrap;\n position: absolute;\n"]);
853
854 _templateObject$1 = function _templateObject() {
855 return data;
856 };
857
858 return data;
859}
860var VisuallyHidden = /*#__PURE__*/styled__default(Box)( /*#__PURE__*/_templateObject$1());
861
862function _templateObject$2() {
863 var data = _taggedTemplateLiteralLoose(["\n animation: ", " ", " linear infinite;\n"]);
864
865 _templateObject$2 = function _templateObject() {
866 return data;
867 };
868
869 return data;
870}
871var spin = /*#__PURE__*/styled.keyframes(["0%{transform:rotate(0deg);}100%{transform:rotate(360deg);}"]);
872var StyledBox$1 = /*#__PURE__*/styled__default(Box)( /*#__PURE__*/_templateObject$2(), spin, function (props) {
873 return props.speed;
874});
875
876var getSize = function getSize(size) {
877 switch (size) {
878 case 'xs':
879 return '0.75rem';
880
881 case 'sm':
882 return '1rem';
883
884 case 'md':
885 return '1.5rem';
886
887 case 'lg':
888 return '2rem';
889
890 case 'xl':
891 return '3rem';
892
893 default:
894 return size;
895 }
896};
897
898var Spinner = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
899 var _ref$size = _ref.size,
900 size = _ref$size === void 0 ? 'md' : _ref$size,
901 _ref$label = _ref.label,
902 label = _ref$label === void 0 ? 'Loading...' : _ref$label,
903 _ref$thickness = _ref.thickness,
904 thickness = _ref$thickness === void 0 ? '2px' : _ref$thickness,
905 _ref$speed = _ref.speed,
906 speed = _ref$speed === void 0 ? '0.85s' : _ref$speed,
907 color = _ref.color,
908 _ref$emptyColor = _ref.emptyColor,
909 emptyColor = _ref$emptyColor === void 0 ? 'transparent' : _ref$emptyColor,
910 props = _objectWithoutPropertiesLoose(_ref, ["size", "label", "thickness", "speed", "color", "emptyColor"]);
911
912 var _size = getSize(size);
913
914 return React__default.createElement(StyledBox$1, Object.assign({
915 ref: ref,
916 display: "inline-block",
917 borderWidth: thickness,
918 borderColor: "currentColor",
919 borderBottomColor: emptyColor,
920 borderLeftColor: emptyColor,
921 borderRadius: "100%",
922 speed: speed,
923 color: color,
924 size: _size
925 }, props), label && React__default.createElement(VisuallyHidden, null, label));
926});
927Spinner.displayName = 'Spinner';
928
929var HoverChange = function HoverChange(_ref) {
930 var isHovered = _ref.isHovered,
931 isDisabled = _ref.isDisabled;
932 return React__default.createElement(Box, {
933 borderRadius: "6px",
934 position: "absolute",
935 width: "100%",
936 height: "100%",
937 left: 0,
938 top: 0,
939 bg: "darken.150",
940 opacity: !isDisabled && isHovered ? 1 : 0,
941 zIndex: 1,
942 transition: "all 250ms"
943 });
944};
945
946var Button = /*#__PURE__*/React.forwardRef(function (_ref2, ref) {
947 var isDisabled = _ref2.isDisabled,
948 isActive = _ref2.isActive,
949 children = _ref2.children,
950 Comp = _ref2.as,
951 _ref2$mode = _ref2.mode,
952 mode = _ref2$mode === void 0 ? 'primary' : _ref2$mode,
953 _ref2$variant = _ref2.variant,
954 variant = _ref2$variant === void 0 ? 'solid' : _ref2$variant,
955 type = _ref2.type,
956 _ref2$size = _ref2.size,
957 size = _ref2$size === void 0 ? 'md' : _ref2$size,
958 isLoading = _ref2.isLoading,
959 loadingText = _ref2.loadingText,
960 customStyles = _ref2.customStyles,
961 rest = _objectWithoutPropertiesLoose(_ref2, ["isDisabled", "isActive", "children", "as", "mode", "variant", "type", "size", "isLoading", "loadingText", "customStyles"]);
962
963 var styles = useButtonStyle({
964 variant: variant,
965 mode: mode,
966 size: size,
967 customStyles: customStyles
968 });
969
970 var _useHover = useEvents.useHover(),
971 hovered = _useHover[0],
972 bind = _useHover[1];
973
974 return React__default.createElement(Box, Object.assign({
975 disabled: isDisabled,
976 "aria-disabled": isDisabled,
977 ref: ref,
978 type: type,
979 borderRadius: "6px",
980 fontWeight: "medium",
981 position: "relative",
982 "data-active": isActive ? 'true' : undefined,
983 as: Comp || 'button'
984 }, rest, styles, bind), React__default.createElement(Box, {
985 as: "span",
986 display: "flex",
987 alignItems: "center",
988 justifyContent: "center",
989 position: "relative",
990 zIndex: 5
991 }, isLoading && React__default.createElement(Spinner, {
992 position: loadingText ? 'relative' : 'absolute',
993 mx: !loadingText ? 'auto' : 'unset',
994 color: "currentColor",
995 size: size === 'sm' ? 'xs' : 'sm'
996 }), isLoading ? React__default.createElement(Box, {
997 ml: "tight"
998 }, loadingText) || React__default.createElement(Box, {
999 ml: "tight",
1000 as: "span",
1001 opacity: 0
1002 }, children) : children), mode === 'primary' ? React__default.createElement(HoverChange, {
1003 isDisabled: isDisabled || false,
1004 isHovered: hovered
1005 }) : null);
1006});
1007Button.displayName = 'Button';
1008
1009var Flex = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
1010 var align = _ref.align,
1011 justify = _ref.justify,
1012 wrap = _ref.wrap,
1013 direction = _ref.direction,
1014 rest = _objectWithoutPropertiesLoose(_ref, ["align", "justify", "wrap", "direction"]);
1015
1016 return React__default.createElement(Box, Object.assign({
1017 ref: ref,
1018 display: "flex",
1019 flexDirection: direction,
1020 alignItems: align,
1021 justifyContent: justify,
1022 flexWrap: wrap
1023 }, rest));
1024});
1025Flex.displayName = 'Flex';
1026
1027var _window = undefined;
1028
1029try {
1030 _window = window;
1031} catch (e) {}
1032
1033function getWindow(node) {
1034 var _node$ownerDocument$d, _node$ownerDocument;
1035
1036 return (_node$ownerDocument$d = node === null || node === void 0 ? void 0 : (_node$ownerDocument = node.ownerDocument) === null || _node$ownerDocument === void 0 ? void 0 : _node$ownerDocument.defaultView) !== null && _node$ownerDocument$d !== void 0 ? _node$ownerDocument$d : _window;
1037}
1038
1039function checkIsBrowser() {
1040 var _window = getWindow();
1041
1042 return Boolean(typeof _window !== 'undefined' && _window.document && _window.document.createElement);
1043}
1044
1045var isBrowser = /*#__PURE__*/checkIsBrowser();
1046function isFunction(value) {
1047 return typeof value === 'function';
1048}
1049function createContext(options) {
1050 if (options === void 0) {
1051 options = {};
1052 }
1053
1054 var _options = options,
1055 _options$strict = _options.strict,
1056 strict = _options$strict === void 0 ? true : _options$strict,
1057 _options$errorMessage = _options.errorMessage,
1058 errorMessage = _options$errorMessage === void 0 ? 'useContext must be inside a Provider with a value' : _options$errorMessage,
1059 name = _options.name;
1060 var Context = React__default.createContext(undefined);
1061 Context.displayName = name;
1062
1063 function useContext() {
1064 var context = React__default.useContext(Context);
1065 if (!context && strict) throw new Error(errorMessage);
1066 return context;
1067 }
1068
1069 return [Context.Provider, useContext, Context];
1070}
1071function assignRef(ref, value) {
1072 if (ref == null) return;
1073
1074 if (isFunction(ref)) {
1075 ref(value);
1076 return;
1077 }
1078
1079 try {
1080 ref.current = value;
1081 } catch (error) {
1082 throw new Error("Cannot assign value '" + value + "' to ref '" + ref + "'");
1083 }
1084}
1085function mergeRefs() {
1086 for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) {
1087 refs[_key] = arguments[_key];
1088 }
1089
1090 return function (value) {
1091 refs.forEach(function (ref) {
1092 return assignRef(ref, value);
1093 });
1094 };
1095}
1096var __DEV__ = "development" !== 'production';
1097function runIfFn(valueOrFn) {
1098 for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
1099 args[_key2 - 1] = arguments[_key2];
1100 }
1101
1102 return isFunction(valueOrFn) ? valueOrFn.apply(void 0, args) : valueOrFn;
1103}
1104function warn(options) {
1105 if (options.condition && __DEV__) {
1106 console.warn(options.message);
1107 }
1108}
1109function callAllHandlers() {
1110 for (var _len3 = arguments.length, fns = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
1111 fns[_key3] = arguments[_key3];
1112 }
1113
1114 return function (event) {
1115 fns.some(function (fn) {
1116 fn && fn(event);
1117 return event && event.defaultPrevented;
1118 });
1119 };
1120}
1121function isString(value) {
1122 return Object.prototype.toString.call(value) === '[object String]';
1123}
1124function omit(object, keys) {
1125 var result = {};
1126
1127 for (var key in object) {
1128 if (keys.includes(key)) continue;
1129 result[key] = object[key];
1130 }
1131
1132 return result;
1133}
1134function pick(object, keys) {
1135 var result = {};
1136
1137 for (var _iterator = _createForOfIteratorHelperLoose(keys), _step; !(_step = _iterator()).done;) {
1138 var key = _step.value;
1139
1140 if (key in object) {
1141 result[key] = object[key];
1142 }
1143 }
1144
1145 return result;
1146}
1147var startPad = function startPad(n, z, s) {
1148 if (z === void 0) {
1149 z = 2;
1150 }
1151
1152 if (s === void 0) {
1153 s = '0';
1154 }
1155
1156 return (n + '').length <= z ? ['', '-'][+(n < 0)] + (s.repeat(z) + Math.abs(n)).slice(-1 * z) : n + '';
1157};
1158
1159function useControllableProp(propValue, stateValue) {
1160 var _React$useRef = React.useRef(propValue !== undefined),
1161 isControlled = _React$useRef.current;
1162
1163 var value = isControlled && typeof propValue !== 'undefined' ? propValue : stateValue;
1164 return [isControlled, value];
1165}
1166var defaultPropsMap = {
1167 value: 'value',
1168 defaultValue: 'defaultValue',
1169 onChange: 'onChange'
1170};
1171function useControllableState(props) {
1172 var valueProp = props.value,
1173 defaultValue = props.defaultValue,
1174 onChange = props.onChange,
1175 _props$shouldUpdate = props.shouldUpdate,
1176 shouldUpdate = _props$shouldUpdate === void 0 ? function () {
1177 return true;
1178 } : _props$shouldUpdate,
1179 _props$name = props.name,
1180 name = _props$name === void 0 ? 'Component' : _props$name,
1181 _props$propsMap = props.propsMap,
1182 propsMap = _props$propsMap === void 0 ? defaultPropsMap : _props$propsMap;
1183
1184 var _React$useState = React.useState(defaultValue),
1185 valueState = _React$useState[0],
1186 setValue = _React$useState[1];
1187
1188 var _React$useRef2 = React.useRef(valueProp !== undefined),
1189 isControlled = _React$useRef2.current;
1190
1191 React.useEffect(function () {
1192 var nextIsControlled = valueProp !== undefined;
1193 var nextMode = nextIsControlled ? 'a controlled' : 'an uncontrolled';
1194 var mode = isControlled ? 'a controlled' : 'an uncontrolled';
1195 warn({
1196 condition: isControlled !== nextIsControlled,
1197 message: "Warning: " + name + " is changing from " + mode + " to " + nextMode + " component. " + 'Components should not switch from controlled to uncontrolled (or vice versa). ' + ("Use the '" + propsMap['value'] + "' with an '" + propsMap['onChange'] + "' handler. ") + ("If you want an uncontrolled component, remove the " + propsMap['value'] + " prop and use '" + propsMap['defaultValue'] + "' instead. \"") + 'More info: https://fb.me/react-controlled-components'
1198 });
1199 }, [valueProp, isControlled, name]);
1200
1201 var _React$useRef3 = React.useRef(defaultValue),
1202 _defaultValue = _React$useRef3.current;
1203
1204 React.useEffect(function () {
1205 warn({
1206 condition: _defaultValue !== defaultValue,
1207 message: "Warning: A component is changing the default value of an uncontrolled " + name + " after being initialized. " + ("To suppress this warning opt to use a controlled " + name + ".")
1208 });
1209 }, [JSON.stringify(defaultValue)]);
1210 var value = isControlled ? valueProp : valueState;
1211 var updateValue = React.useCallback(function (next) {
1212 var nextValue = runIfFn(next, value);
1213 var shouldUpdateState = shouldUpdate(value, nextValue);
1214 if (!shouldUpdateState) return;
1215
1216 if (!isControlled) {
1217 setValue(next);
1218 }
1219
1220 onChange === null || onChange === void 0 ? void 0 : onChange(nextValue);
1221 }, [onChange, shouldUpdate, isControlled, value]);
1222 return [value, updateValue];
1223}
1224
1225function usePrevious(value) {
1226 var valueRef = React.useRef();
1227 React.useEffect(function () {
1228 valueRef.current = value;
1229 }, [value]);
1230 return valueRef.current;
1231}
1232
1233function useDisclosure(props) {
1234 if (props === void 0) {
1235 props = {};
1236 }
1237
1238 var _props = props,
1239 onCloseProp = _props.onClose,
1240 onOpenProp = _props.onOpen;
1241
1242 var _React$useState = React.useState(props.defaultIsOpen || false),
1243 isOpenState = _React$useState[0],
1244 setIsOpen = _React$useState[1];
1245
1246 var _useControllableProp = useControllableProp(props.isOpen, isOpenState),
1247 isControlled = _useControllableProp[0],
1248 isOpen = _useControllableProp[1];
1249
1250 var prevIsOpen = usePrevious(isOpen);
1251 var onClose = React.useCallback(function () {
1252 if (!isControlled) {
1253 setIsOpen(false);
1254 }
1255
1256 if (onCloseProp) {
1257 onCloseProp();
1258 }
1259 }, [isControlled, onCloseProp]);
1260 var onOpen = React.useCallback(function () {
1261 if (!isControlled) {
1262 setIsOpen(true);
1263 }
1264
1265 if (onOpenProp) {
1266 onOpenProp();
1267 }
1268 }, [isControlled, onOpenProp]);
1269 var onToggle = React.useCallback(function () {
1270 var action = isOpen ? onClose : onOpen;
1271 action();
1272 }, [isOpen, onOpen, onClose]);
1273 return {
1274 isOpen: Boolean(isOpen),
1275 prevIsOpen: Boolean(prevIsOpen),
1276 onOpen: onOpen,
1277 onClose: onClose,
1278 onToggle: onToggle,
1279 isControlled: isControlled
1280 };
1281}
1282
1283function useLatestRef(value) {
1284 var ref = React.useRef(value);
1285 React.useEffect(function () {
1286 ref.current = value;
1287 }, [value]);
1288 return ref;
1289}
1290
1291function useEventListener(event, handler, doc, options) {
1292 if (doc === void 0) {
1293 doc = isBrowser ? document : null;
1294 }
1295
1296 var savedHandler = useLatestRef(handler);
1297 React.useEffect(function () {
1298 if (!doc) return;
1299
1300 var listener = function listener(event) {
1301 savedHandler.current(event);
1302 };
1303
1304 doc.addEventListener(event, listener, options);
1305 return function () {
1306 doc.removeEventListener(event, listener, options);
1307 };
1308 }, [event, doc, options, savedHandler]);
1309 return function () {
1310 var _doc;
1311
1312 (_doc = doc) === null || _doc === void 0 ? void 0 : _doc.removeEventListener(event, savedHandler.current, options);
1313 };
1314}
1315
1316function useForceUpdate() {
1317 var _React$useState = React.useState(0),
1318 count = _React$useState[0],
1319 setCount = _React$useState[1];
1320
1321 return React.useCallback(function () {
1322 return setCount(count + 1);
1323 }, [count]);
1324}
1325
1326function generatePrefix(prefix, id) {
1327 return prefix + "-" + id;
1328}
1329
1330function useId(idProp, prefix) {
1331 var uuid = autoId.useId();
1332 var id = idProp !== null && idProp !== void 0 ? idProp : uuid;
1333 return prefix ? generatePrefix(prefix, id) : id;
1334}
1335function useIds(idProp) {
1336 var id = useId(idProp);
1337
1338 for (var _len = arguments.length, prefixes = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
1339 prefixes[_key - 1] = arguments[_key];
1340 }
1341
1342 return prefixes.map(function (prefix) {
1343 return generatePrefix(prefix, id);
1344 });
1345}
1346
1347function assignRef$1(ref, value) {
1348 if (ref == null) return;
1349
1350 if (typeof ref === 'function') {
1351 ref(value);
1352 } else {
1353 try {
1354 ref.current = value;
1355 } catch (error) {
1356 throw new Error("Cannot assign value \"" + value + "\" to ref \"" + ref + "\"");
1357 }
1358 }
1359}
1360function useMergeRefs() {
1361 for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) {
1362 refs[_key] = arguments[_key];
1363 }
1364
1365 return React.useMemo(function () {
1366 if (refs.every(function (ref) {
1367 return ref == null;
1368 })) {
1369 return null;
1370 }
1371
1372 return function (node) {
1373 refs.forEach(function (ref) {
1374 if (ref) assignRef$1(ref, node);
1375 });
1376 };
1377 }, refs);
1378}
1379
1380var useSafeLayoutEffect = isBrowser ? React.useLayoutEffect : React.useEffect;
1381
1382var useTimeout = function useTimeout(_ref) {
1383 var onTimeout = _ref.onTimeout,
1384 duration = _ref.duration;
1385
1386 var _useState = React.useState(true),
1387 activated = _useState[0],
1388 setActivated = _useState[1];
1389
1390 var timeoutRef = React.useRef();
1391 var stopTimeout = React.useCallback(function () {
1392 window.clearTimeout(timeoutRef.current);
1393 setActivated(false);
1394 }, []);
1395 React.useEffect(function () {
1396 if (activated) {
1397 timeoutRef.current = window.setTimeout(function () {
1398 onTimeout();
1399 }, duration);
1400 return function () {
1401 stopTimeout();
1402 };
1403 }
1404
1405 return;
1406 }, [onTimeout, activated, duration, stopTimeout]);
1407 var startTimeout = React.useCallback(function () {
1408 setActivated(true);
1409 }, []);
1410 return {
1411 stopTimeout: stopTimeout,
1412 startTimeout: startTimeout
1413 };
1414};
1415
1416var get = function get(color, hue) {
1417 return color + "." + hue;
1418};
1419var addOpacity = function addOpacity(color, opacity) {
1420 return Color(color).fade(1 - opacity).rgb().string();
1421};
1422var addWhite = function addWhite(color, opacity) {
1423 return Color(color).mix(Color('#fff'), opacity).hex();
1424};
1425var addBlack = function addBlack(color, opacity) {
1426 return Color(color).mix(Color('#000'), opacity).hex();
1427};
1428var isDarkColor = function isDarkColor(color) {
1429 return Color(color).isDark();
1430};
1431var generateAlphaColors = function generateAlphaColors(color) {
1432 return {
1433 900: addOpacity(color, 0.92),
1434 800: addOpacity(color, 0.8),
1435 700: addOpacity(color, 0.6),
1436 600: addOpacity(color, 0.48),
1437 500: addOpacity(color, 0.38),
1438 400: addOpacity(color, 0.24),
1439 300: addOpacity(color, 0.16),
1440 200: addOpacity(color, 0.12),
1441 100: addOpacity(color, 0.08),
1442 50: addOpacity(color, 0.04)
1443 };
1444};
1445var colorEmphasis = function colorEmphasis(color, emphasis) {
1446 switch (emphasis) {
1447 case 'high':
1448 return color;
1449
1450 case 'medium':
1451 return generateAlphaColors(color)[700];
1452
1453 case 'low':
1454 return generateAlphaColors(color)[500];
1455
1456 case 'lowest':
1457 return generateAlphaColors(color)[300];
1458
1459 default:
1460 return undefined;
1461 }
1462};
1463var generateStripe = function generateStripe(_ref) {
1464 var _ref$size = _ref.size,
1465 size = _ref$size === void 0 ? '1rem' : _ref$size,
1466 _ref$color = _ref.color,
1467 color = _ref$color === void 0 ? 'rgba(255, 255, 255, 0.15)' : _ref$color;
1468 return styled.css(["background-image:linear-gradient( 45deg,", " 25%,transparent 25%,transparent 50%,", " 50%,", " 75%,transparent 75%,transparent );background-size:", " ", ";"], color, color, color, size, size);
1469};
1470
1471var ThemeContext = /*#__PURE__*/React__default.createContext(theme);
1472
1473var ThemeProvider = function ThemeProvider(_ref) {
1474 var _ref$theme = _ref.theme,
1475 theme$1 = _ref$theme === void 0 ? theme : _ref$theme,
1476 children = _ref.children;
1477 return React__default.createElement(styled.ThemeProvider, {
1478 theme: theme$1
1479 }, children);
1480};
1481
1482var useTheme = function useTheme() {
1483 var theme = React.useContext(ThemeContext);
1484
1485 if (theme === undefined) {
1486 throw new Error('useTheme must be used within a ThemeProvider');
1487 }
1488
1489 return theme;
1490};
1491
1492var isBrowser$1 = typeof window !== 'undefined';
1493
1494var isSupported = function isSupported(api) {
1495 return isBrowser$1 && api in window;
1496};
1497
1498function useMediaQuery(query) {
1499 var _React$useState = React.useState(function () {
1500 if (!isSupported('matchMedia')) return false;
1501 return window.matchMedia(query).matches;
1502 }),
1503 matches = _React$useState[0],
1504 setMatches = _React$useState[1];
1505
1506 useSafeLayoutEffect(function () {
1507 if (!isSupported('matchMedia')) return;
1508 var mediaQueryList = window.matchMedia(query);
1509
1510 var listener = function listener() {
1511 return setMatches(mediaQueryList.matches);
1512 };
1513
1514 mediaQueryList.addListener(listener);
1515 listener();
1516 return function () {
1517 mediaQueryList.removeListener(listener);
1518 };
1519 }, [query]);
1520 return [matches, setMatches];
1521}
1522
1523(function (Color) {
1524 Color["Accent"] = "accent";
1525 Color["Bg"] = "bg";
1526 Color["BgAlt"] = "bg-alt";
1527 Color["BgLight"] = "bg-light";
1528 Color["Invert"] = "invert";
1529 Color["TextHover"] = "text-hover";
1530 Color["TextTitle"] = "text-title";
1531 Color["TextCaption"] = "text-caption";
1532 Color["TextBody"] = "text-body";
1533 Color["InputPlaceholder"] = "input-placeholder";
1534 Color["Border"] = "border";
1535 Color["FeedbackAlert"] = "feedback-alert";
1536 Color["FeedbackError"] = "feedback-error";
1537 Color["FeedbackSuccess"] = "feedback-success";
1538})(exports.Color || (exports.Color = {}));
1539
1540var colorGet = function colorGet(path, fallback) {
1541 return themeGet.themeGet('colors.' + path, fallback);
1542};
1543
1544var colors$1 = function colors(props) {
1545 var _light, _dark;
1546
1547 return {
1548 light: (_light = {}, _light[exports.Color.Accent] = colorGet('blue')(props), _light[exports.Color.Bg] = 'white', _light[exports.Color.BgAlt] = colorGet('ink.50')(props), _light[exports.Color.BgLight] = 'white', _light[exports.Color.Invert] = colorGet('ink')(props), _light[exports.Color.TextHover] = colorGet('blue')(props), _light[exports.Color.TextTitle] = colorGet('ink')(props), _light[exports.Color.TextCaption] = colorGet('ink.600')(props), _light[exports.Color.TextBody] = colorGet('ink.900')(props), _light[exports.Color.InputPlaceholder] = colorGet('ink.400')(props), _light[exports.Color.Border] = 'rgb(229, 229, 236)', _light[exports.Color.FeedbackAlert] = colorGet('orange')(props), _light[exports.Color.FeedbackError] = colorGet('red')(props), _light[exports.Color.FeedbackSuccess] = colorGet('green')(props), _light),
1549 dark: (_dark = {}, _dark[exports.Color.Accent] = colorGet('blue.400')(props), _dark[exports.Color.Bg] = colorGet('ink')(props), _dark[exports.Color.BgAlt] = 'rgba(255,255,255,0.05)', _dark[exports.Color.BgLight] = 'rgba(255,255,255,0.08)', _dark[exports.Color.Invert] = 'white', _dark[exports.Color.TextHover] = colorGet('blue.300')(props), _dark[exports.Color.TextTitle] = 'white', _dark[exports.Color.TextCaption] = '#a7a7ad', _dark[exports.Color.TextBody] = colorGet('ink.300')(props), _dark[exports.Color.InputPlaceholder] = 'rgba(255,255,255,0.3)', _dark[exports.Color.Border] = 'rgb(39, 41, 46)', _dark[exports.Color.FeedbackAlert] = colorGet('orange')(props), _dark[exports.Color.FeedbackError] = colorGet('red')(props), _dark[exports.Color.FeedbackSuccess] = colorGet('green')(props), _dark)
1550 };
1551};
1552
1553var colorModeStyles = function colorModeStyles(props) {
1554 return colors$1(props)[props.colorMode];
1555};
1556
1557var colorMap = function colorMap(props) {
1558 return Object.keys(colors$1(props)[props.colorMode]);
1559};
1560
1561var color = function color(name) {
1562 return "var(--colors-" + name + ")";
1563};
1564var themeColor = function themeColor(name) {
1565 return name;
1566};
1567var generateCssVariables = function generateCssVariables(mode) {
1568 return function (_ref) {
1569 var _ref$colorMode = _ref.colorMode,
1570 colorMode = _ref$colorMode === void 0 ? mode : _ref$colorMode,
1571 rest = _objectWithoutPropertiesLoose(_ref, ["colorMode"]);
1572
1573 return colorMap(_objectSpread2({
1574 colorMode: colorMode
1575 }, rest)).map(function (key) {
1576 return "--colors-" + key + ": " + colorModeStyles(_objectSpread2({
1577 colorMode: colorMode
1578 }, rest))[key] + ";";
1579 });
1580 };
1581};
1582
1583function _templateObject$3() {
1584 var data = _taggedTemplateLiteralLoose(["\n :root{\n ", ";\n }\n\n @media (prefers-color-scheme: dark) {\n :root {\n ", ";\n }\n }\n\n @media (prefers-color-scheme: light) {\n :root {\n ", ";\n }\n }\n\n html, body, #__next {\n background: var(--colors-bg);\n border-color: var(--colors-border);\n }\n\n input:-webkit-autofill,\n input:-webkit-autofill:hover,\n input:-webkit-autofill:focus,\n textarea:-webkit-autofill,\n textarea:-webkit-autofill:hover,\n textarea:-webkit-autofill:focus,\n select:-webkit-autofill,\n select:-webkit-autofill:hover,\n select:-webkit-autofill:focus {\n -webkit-text-fill-color: var(--colors-text-body);\n font-size: 16px !important;\n transition: background-color 5000s ease-in-out 0s;\n }\n\n input:-ms-input-placeholder,\n textarea:-ms-input-placeholder {\n color: var(--colors-input-placeholder) !important;\n }\n\n input::-ms-input-placeholder,\n textarea::-ms-input-placeholder {\n color: var(--colors-input-placeholder) !important;\n }\n\n input::placeholder,\n textarea::placeholder {\n color: var(--colors-input-placeholder) !important;\n }\n "]);
1585
1586 _templateObject$3 = function _templateObject() {
1587 return data;
1588 };
1589
1590 return data;
1591}
1592var ColorModes = /*#__PURE__*/styled.createGlobalStyle( /*#__PURE__*/_templateObject$3(), /*#__PURE__*/generateCssVariables('light'), /*#__PURE__*/generateCssVariables('dark'), /*#__PURE__*/generateCssVariables('light'));
1593
1594var ColorModeContext = /*#__PURE__*/React__default.createContext({
1595 colorMode: undefined
1596});
1597var ColorModeProvider = function ColorModeProvider(_ref) {
1598 var colorMode = _ref.colorMode,
1599 children = _ref.children,
1600 onChange = _ref.onChange;
1601
1602 var _React$useState = React__default.useState(colorMode),
1603 mode = _React$useState[0],
1604 setMode = _React$useState[1];
1605
1606 var _useMediaQuery = useMediaQuery('(prefers-color-scheme: dark)'),
1607 darkmode = _useMediaQuery[0];
1608
1609 var _useMediaQuery2 = useMediaQuery('(prefers-color-scheme: light)'),
1610 lightmode = _useMediaQuery2[0];
1611
1612 React.useEffect(function () {
1613 if (!mode) {
1614 setMode(darkmode ? 'dark' : 'light');
1615 }
1616 }, [mode, darkmode, lightmode]);
1617 var setColorMode = React.useCallback(function (mode) {
1618 setMode(mode);
1619 onChange && onChange(mode);
1620 }, [mode]);
1621 var toggleColorMode = React.useCallback(function () {
1622 if (mode === 'light') {
1623 setColorMode('dark');
1624 return;
1625 }
1626
1627 if (mode === 'dark') {
1628 setColorMode('light');
1629 return;
1630 }
1631
1632 if (!colorMode && darkmode) {
1633 setColorMode('light');
1634 return;
1635 }
1636
1637 if (!mode && lightmode) {
1638 setColorMode('dark');
1639 return;
1640 }
1641 }, [mode, lightmode, darkmode]);
1642 return React__default.createElement(ColorModeContext.Provider, {
1643 value: {
1644 colorMode: mode,
1645 toggleColorMode: toggleColorMode
1646 }
1647 }, React__default.createElement(ColorModes, {
1648 colorMode: mode
1649 }), children);
1650};
1651
1652var useColorMode = function useColorMode() {
1653 var _useContext = React.useContext(ColorModeContext),
1654 colorMode = _useContext.colorMode,
1655 toggleColorMode = _useContext.toggleColorMode;
1656
1657 return {
1658 colorMode: colorMode,
1659 toggleColorMode: toggleColorMode
1660 };
1661};
1662
1663var theme$1 = {
1664 plain: {
1665 color: '#fff',
1666 backgroundColor: 'transparent'
1667 },
1668 styles: [{
1669 types: ['prolog'],
1670 style: {
1671 color: 'rgb(0, 0, 128)'
1672 }
1673 }, {
1674 types: ['comment', 'punctuation'],
1675 style: {
1676 color: 'rgb(106, 153, 85)'
1677 }
1678 }, {
1679 types: ['builtin', 'tag', 'changed', 'function', 'keyword'],
1680 style: {
1681 color: 'rgb(86, 156, 214)'
1682 }
1683 }, {
1684 types: ['number', 'variable', 'inserted'],
1685 style: {
1686 color: '#A58FFF'
1687 }
1688 }, {
1689 types: ['operator'],
1690 style: {
1691 color: 'rgb(212, 212, 212)'
1692 }
1693 }, {
1694 types: ['constant'],
1695 style: {
1696 color: 'rgb(100, 102, 149)'
1697 }
1698 }, {
1699 types: ['attr-name'],
1700 style: {
1701 color: 'rgb(156, 220, 254)'
1702 }
1703 }, {
1704 types: ['car'],
1705 style: {
1706 color: 'rgb(156, 220, 254)'
1707 }
1708 }, {
1709 types: ['deleted', 'string'],
1710 style: {
1711 color: '#FF7B48'
1712 }
1713 }, {
1714 types: ['class-name'],
1715 style: {
1716 color: 'rgb(78, 201, 176)'
1717 }
1718 }, {
1719 types: ['char'],
1720 style: {
1721 color: '#FF7B48'
1722 }
1723 }]
1724};
1725
1726(function (Prism) {
1727
1728 function primitive(pattern) {
1729 return RegExp('([\\s([])' + pattern + '(?=[\\s)])');
1730 }
1731
1732 var par = '(\\()';
1733 var space = '(?=\\s)';
1734 var language = {
1735 heading: {
1736 pattern: /;;;.*/,
1737 alias: ['comment', 'title']
1738 },
1739 comment: /;;.*/,
1740 string: [{
1741 pattern: /"(?:[^"\\]|\\.)*"/,
1742 greedy: true
1743 }, {
1744 pattern: /0x[0-9a-fA-F]*/,
1745 greedy: true
1746 }],
1747 symbol: {
1748 pattern: /'[^()#'\s]+/,
1749 greedy: true
1750 },
1751 keyword: [{
1752 pattern: /*#__PURE__*/RegExp(par + '(?:or|and|xor|not|begin|let|if|ok|err|unwrap\\!|unwrap-err\\!|unwrap-panic|unwrap-err-panic|match|try\\!|asserts\\!|\
1753map-get\\?|var-get|contract-map-get\\?|get|tuple|\
1754define-public|define-private|define-constant|define-map|define-data-var|\
1755define-fungible-token|define-non-fungible-token|\
1756define-read-only)' + space),
1757 lookbehind: true
1758 }, {
1759 pattern: /*#__PURE__*/RegExp(par + '(?:is-eq|is-some|is-none|is-ok|is-er)' + space),
1760 lookbehind: true
1761 }, {
1762 pattern: /*#__PURE__*/RegExp(par + '(?:var-set|map-set|map-delete|map-insert|\
1763ft-transfer\\?|nft-transfer\\?|nft-mint\\?|ft-mint\\?|nft-get-owner\\?|ft-get-balance\\?|\
1764contract-call\\?)' + space),
1765 lookbehind: true
1766 }, {
1767 pattern: /*#__PURE__*/RegExp(par + '(?:list|map|filter|fold|len|concat|append|as-max-len\\?|to-int|to-uint|\
1768buff|hash160|sha256|sha512|sha512/256|keccak256|true|false|none)' + space),
1769 lookbehind: true
1770 }, {
1771 pattern: /*#__PURE__*/RegExp(par + '(?:as-contract|contract-caller|tx-sender|block-height|at-block|get-block-info\\?)' + space),
1772 lookbehind: true
1773 }, {
1774 pattern: /*#__PURE__*/RegExp(par + '(?:is-eq|is-some|is-none|is-ok|is-err)' + space),
1775 lookbehind: true
1776 }],
1777 "boolean": /(?:false|true|none)/,
1778 number: {
1779 pattern: /*#__PURE__*/primitive('[-]?u?\\d+'),
1780 lookbehind: true
1781 },
1782 address: {
1783 pattern: /([\s()])(?:\'[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{28,41})(?=[()\s]|$)/,
1784 lookbehind: true
1785 },
1786 operator: {
1787 pattern: /(\()(?:[-+*\/]|[<>]=?|=>?)(?=[()\s]|$)/,
1788 lookbehind: true
1789 },
1790 "function": {
1791 pattern: /(\()[^()'\s]+(?=[()\s]|$)/,
1792 lookbehind: true
1793 },
1794 punctuation: /[()']/
1795 };
1796 Prism.languages.clarity = language;
1797})(Prism);
1798
1799var lineNumberWidth = 60;
1800
1801var getLineNumber = function getLineNumber(n, length) {
1802 return startPad(n + 1, length.toString().length);
1803};
1804
1805var Tokens = function Tokens(_ref) {
1806 var tokens = _ref.tokens,
1807 getTokenProps = _ref.getTokenProps,
1808 showLineNumbers = _ref.showLineNumbers,
1809 rest = _objectWithoutPropertiesLoose(_ref, ["tokens", "getTokenProps", "showLineNumbers"]);
1810
1811 var bsTheme = useTheme();
1812 var pl = "calc(" + (showLineNumbers ? lineNumberWidth : '0') + "px + " + (bsTheme.sizes['base'] || '16px') + ")";
1813 return React__default.createElement(Box, Object.assign({
1814 pl: pl,
1815 pr: "base",
1816 position: "relative",
1817 zIndex: 2
1818 }, rest), tokens.map(function (token, key) {
1819 return React__default.createElement(Box, Object.assign({
1820 py: "2px",
1821 display: "inline-block"
1822 }, getTokenProps({
1823 token: token,
1824 key: key
1825 })));
1826 }));
1827};
1828
1829var LineNumber = function LineNumber(_ref2) {
1830 var number = _ref2.number,
1831 length = _ref2.length,
1832 rest = _objectWithoutPropertiesLoose(_ref2, ["number", "length"]);
1833
1834 return React__default.createElement(Flex, Object.assign({
1835 textAlign: "right",
1836 pr: "base",
1837 pl: "base",
1838 width: lineNumberWidth,
1839 borderRight: "1px solid",
1840 borderRightColor: "inherit",
1841 color: "ink.400",
1842 flexShrink: 0,
1843 style: {
1844 userSelect: 'none'
1845 },
1846 position: "absolute",
1847 left: 0,
1848 height: "100%",
1849 align: "baseline",
1850 justify: "center",
1851 zIndex: 1
1852 }, rest), getLineNumber(number, length));
1853};
1854
1855var Line = function Line(_ref3) {
1856 var tokens = _ref3.tokens,
1857 getTokenProps = _ref3.getTokenProps,
1858 index = _ref3.index,
1859 length = _ref3.length,
1860 showLineNumbers = _ref3.showLineNumbers,
1861 hideLineHover = _ref3.hideLineHover,
1862 rest = _objectWithoutPropertiesLoose(_ref3, ["tokens", "getTokenProps", "index", "length", "showLineNumbers", "hideLineHover"]);
1863
1864 return React__default.createElement(Flex, Object.assign({
1865 height: "loose",
1866 align: "baseline",
1867 borderColor: "ink.900",
1868 _hover: hideLineHover ? undefined : {
1869 bg: ['unset', 'unset', 'ink.900'],
1870 borderColor: ['ink.900', 'ink.900', 'ink.600']
1871 },
1872 position: "relative"
1873 }, rest), showLineNumbers ? React__default.createElement(LineNumber, {
1874 number: index,
1875 length: length
1876 }) : null, React__default.createElement(Tokens, {
1877 showLineNumbers: showLineNumbers,
1878 getTokenProps: getTokenProps,
1879 tokens: tokens
1880 }));
1881};
1882
1883var Lines = function Lines(_ref4) {
1884 var lines = _ref4.tokens,
1885 getLineProps = _ref4.getLineProps,
1886 getTokenProps = _ref4.getTokenProps,
1887 className = _ref4.className,
1888 showLineNumbers = _ref4.showLineNumbers,
1889 hideLineHover = _ref4.hideLineHover;
1890 return React__default.createElement(Box, {
1891 display: "block",
1892 className: className
1893 }, React__default.createElement(Box, {
1894 display: "block",
1895 style: {
1896 fontFamily: 'Fira Code'
1897 }
1898 }, lines.map(function (tokens, i) {
1899 return React__default.createElement(Line, Object.assign({
1900 index: i,
1901 tokens: tokens,
1902 getTokenProps: getTokenProps,
1903 length: lines.length + 1,
1904 showLineNumbers: showLineNumbers,
1905 hideLineHover: hideLineHover || lines.length < 3
1906 }, getLineProps({
1907 line: tokens,
1908 key: i
1909 })));
1910 })));
1911};
1912
1913var Highlighter = /*#__PURE__*/React__default.memo(function (_ref5) {
1914 var code = _ref5.code,
1915 _ref5$language = _ref5.language,
1916 language = _ref5$language === void 0 ? 'clarity' : _ref5$language,
1917 showLineNumbers = _ref5.showLineNumbers,
1918 hideLineHover = _ref5.hideLineHover;
1919 return React__default.createElement(Highlight, {
1920 theme: theme$1,
1921 code: code,
1922 language: language,
1923 Prism: Prism
1924 }, function (props) {
1925 return React__default.createElement(Lines, Object.assign({
1926 showLineNumbers: showLineNumbers,
1927 hideLineHover: hideLineHover
1928 }, props));
1929 });
1930});
1931Highlighter.displayName = 'Highlighter';
1932
1933var CodeBlock = /*#__PURE__*/React__default.forwardRef(function (_ref, ref) {
1934 var code = _ref.code,
1935 showLineNumbers = _ref.showLineNumbers,
1936 hideLineHover = _ref.hideLineHover,
1937 _ref$style = _ref.style,
1938 style = _ref$style === void 0 ? {} : _ref$style,
1939 language = _ref.language,
1940 rest = _objectWithoutPropertiesLoose(_ref, ["code", "showLineNumbers", "hideLineHover", "style", "language"]);
1941
1942 return React__default.createElement(Box, Object.assign({
1943 overflowX: "auto",
1944 bg: "ink",
1945 borderRadius: [0, 0, '12px'],
1946 py: "base",
1947 width: "100%",
1948 ref: ref,
1949 style: _objectSpread2({}, style, {
1950 whiteSpace: 'pre',
1951 fontFamily: 'Fira Code, Consolata, monospace',
1952 fontSize: '14px'
1953 })
1954 }, rest), React__default.createElement(Highlighter, {
1955 language: language,
1956 code: code.toString().trim(),
1957 showLineNumbers: showLineNumbers,
1958 hideLineHover: hideLineHover
1959 }));
1960});
1961
1962var tailwindPreflight = /*#__PURE__*/styled.css(["/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */ html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0;}main{display:block;}h1{font-size:2em;margin:0.67em 0;}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace,monospace;font-size:1em;}a{background-color:transparent;}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder;}code,kbd,samp{font-family:monospace,monospace;font-size:1em;}small{font-size:80%;}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline;}sub{bottom:-0.25em;}sup{top:-0.5em;}img{border-style:none;}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible;}button,select{text-transform:none;}button::-moz-focus-inner,[type='button']::-moz-focus-inner,[type='reset']::-moz-focus-inner,[type='submit']::-moz-focus-inner{border-style:none;padding:0;}fieldset{padding:0.35em 0.75em 0.625em;}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline;}textarea{overflow:auto;}[type='checkbox'],[type='radio']{box-sizing:border-box;padding:0;}[type='number']::-webkit-inner-spin-button,[type='number']::-webkit-outer-spin-button{-webkit-appearance:none !important;}[type='search']{-webkit-appearance:textfield;outline-offset:-2px;}[type='search']::-webkit-search-decoration{-webkit-appearance:none !important;}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block;}summary{display:list-item;}template{display:none;}[hidden]{display:none !important;}html{box-sizing:border-box;font-family:sans-serif;}*,*::before,*::after{box-sizing:border-box;}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0;}button{background:transparent;padding:0;}fieldset{margin:0;padding:0;}ol,ul{margin:0;padding:0;}html{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';line-height:1.5;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;text-rendering:optimizelegibility;}hr{border-top-width:1px;}img{border-style:solid;}textarea{resize:vertical;}button,[role='button']{cursor:pointer;}button::-moz-focus-inner{border:0 !important;}table{border-collapse:collapse;}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit;}a{color:inherit;text-decoration:inherit;}button,input,optgroup,select,textarea{padding:0;line-height:inherit;color:inherit;}pre,code,kbd,samp{font-family:Menlo,Monaco,Consolas,'Liberation Mono','Courier New',monospace;}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle;}img,video{max-width:100%;height:auto;}"]);
1963
1964function _templateObject2() {
1965 var data = _taggedTemplateLiteralLoose(["\n *,\n *::before,\n *::after {\n box-sizing: border-box;\n border-color: ", ";\n }\n\n input:-ms-input-placeholder,\n textarea:-ms-input-placeholder {\n color: ", ";\n }\n\n input::-ms-input-placeholder,\n textarea::-ms-input-placeholder {\n color: ", ";\n }\n\n input::placeholder,\n textarea::placeholder {\n color: ", ";\n }\n"]);
1966
1967 _templateObject2 = function _templateObject2() {
1968 return data;
1969 };
1970
1971 return data;
1972}
1973
1974function _templateObject$4() {
1975 var data = _taggedTemplateLiteralLoose(["", ""]);
1976
1977 _templateObject$4 = function _templateObject() {
1978 return data;
1979 };
1980
1981 return data;
1982}
1983
1984var defaultConfig = function defaultConfig(theme) {
1985 return {
1986 light: {
1987 color: theme.colors.ink[900],
1988 bg: undefined,
1989 borderColor: '#E5E5EC',
1990 placeholderColor: theme.colors.ink[400]
1991 },
1992 dark: {
1993 color: 'white',
1994 bg: theme.colors.ink[900],
1995 borderColor: theme.colors.ink[600],
1996 placeholderColor: theme.colors.ink[500]
1997 }
1998 };
1999};
2000
2001var _defaultConfig$light = /*#__PURE__*/defaultConfig(theme).light,
2002 color$1 = _defaultConfig$light.color,
2003 bg = _defaultConfig$light.bg,
2004 borderColor = _defaultConfig$light.borderColor,
2005 placeholderColor = _defaultConfig$light.placeholderColor;
2006var cssReset = /*#__PURE__*/styled.css(["", ";html{line-height:1.5;color:", ";background-color:", ";font-family:", ";}*,*::before,*::after{box-sizing:border-box;border-width:0;border-style:solid;border-color:", ";}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:", ";}input::-ms-input-placeholder,textarea::-ms-input-placeholder{color:", ";}input::placeholder,textarea::placeholder{color:", ";}"], tailwindPreflight, color$1, bg, theme && theme.fonts && theme.fonts.body, borderColor, placeholderColor, placeholderColor, placeholderColor);
2007var CSSReset = /*#__PURE__*/styled.createGlobalStyle( /*#__PURE__*/_templateObject$4(), cssReset);
2008var ScopedCSSReset = /*#__PURE__*/styled__default.div( /*#__PURE__*/_templateObject2(), borderColor, placeholderColor, placeholderColor, placeholderColor);
2009
2010var FormControlContext = /*#__PURE__*/React.createContext({});
2011var useFormControlContext = function useFormControlContext() {
2012 return React.useContext(FormControlContext);
2013};
2014var useFormControl = function useFormControl(props) {
2015 var context = useFormControlContext();
2016
2017 if (!context) {
2018 return props;
2019 }
2020
2021 var keys = Object.keys(context);
2022 return keys.reduce(function (acc, prop) {
2023 acc[prop] = props[prop];
2024
2025 if (context) {
2026 if (props[prop] == null) {
2027 acc[prop] = context[prop];
2028 }
2029 }
2030
2031 return acc;
2032 }, {});
2033};
2034var FormControl = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
2035 var isInvalid = _ref.isInvalid,
2036 isRequired = _ref.isRequired,
2037 isDisabled = _ref.isDisabled,
2038 isReadOnly = _ref.isReadOnly,
2039 rest = _objectWithoutPropertiesLoose(_ref, ["isInvalid", "isRequired", "isDisabled", "isReadOnly"]);
2040
2041 var context = {
2042 isRequired: isRequired,
2043 isDisabled: isDisabled,
2044 isInvalid: isInvalid,
2045 isReadOnly: isReadOnly
2046 };
2047 return React__default.createElement(FormControlContext.Provider, {
2048 value: context
2049 }, React__default.createElement(Box, Object.assign({
2050 role: "group",
2051 ref: ref
2052 }, rest)));
2053});
2054FormControl.displayName = 'FormControl';
2055
2056var assumeTextStyle = function assumeTextStyle(as) {
2057 switch (as) {
2058 case 'h1':
2059 return 'display.large';
2060
2061 case 'h2':
2062 return 'display.small';
2063
2064 case 'h3':
2065 return 'body.large.medium';
2066
2067 default:
2068 return undefined;
2069 }
2070};
2071
2072var Text = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
2073 var textStyle = _ref.textStyle,
2074 _ref$as = _ref.as,
2075 as = _ref$as === void 0 ? 'span' : _ref$as,
2076 rest = _objectWithoutPropertiesLoose(_ref, ["textStyle", "as"]);
2077
2078 return React__default.createElement(Box, Object.assign({
2079 ref: ref,
2080 as: as,
2081 whiteSpace: "unset",
2082 display: "inline",
2083 textStyle: textStyle || assumeTextStyle(as)
2084 }, rest));
2085});
2086Text.displayName = 'Text';
2087
2088var RequiredIndicator = function RequiredIndicator(props) {
2089 return React__default.createElement(Box, Object.assign({
2090 as: "span",
2091 ml: 1,
2092 color: "red",
2093 "aria-hidden": "true",
2094 children: "*"
2095 }, props));
2096};
2097var FormLabel = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
2098 var children = _ref.children,
2099 props = _objectWithoutPropertiesLoose(_ref, ["children"]);
2100
2101 var formControl = useFormControl(props);
2102 return React__default.createElement(Text, Object.assign({
2103 ref: ref,
2104 pb: "4px",
2105 opacity: formControl.isDisabled ? 0.4 : 1,
2106 textAlign: "left",
2107 verticalAlign: "middle",
2108 display: "inline-block",
2109 as: "label",
2110 textStyle: "body.small.medium"
2111 }, props), children, formControl.isRequired && React__default.createElement(RequiredIndicator, null));
2112});
2113FormLabel.displayName = 'FormLabel';
2114
2115var Grid = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
2116 var templateColumns = _ref.templateColumns,
2117 gap = _ref.gap,
2118 rowGap = _ref.rowGap,
2119 columnGap = _ref.columnGap,
2120 autoFlow = _ref.autoFlow,
2121 autoRows = _ref.autoRows,
2122 autoColumns = _ref.autoColumns,
2123 templateRows = _ref.templateRows,
2124 templateAreas = _ref.templateAreas,
2125 area = _ref.area,
2126 column = _ref.column,
2127 row = _ref.row,
2128 props = _objectWithoutPropertiesLoose(_ref, ["templateColumns", "gap", "rowGap", "columnGap", "autoFlow", "autoRows", "autoColumns", "templateRows", "templateAreas", "area", "column", "row"]);
2129
2130 return React__default.createElement(Box, Object.assign({
2131 ref: ref,
2132 display: "grid",
2133 gridArea: area,
2134 gridTemplateAreas: templateAreas,
2135 gridGap: gap,
2136 gridRowGap: rowGap,
2137 gridColumnGap: columnGap,
2138 gridAutoColumns: autoColumns,
2139 gridColumn: column,
2140 gridRow: row,
2141 gridAutoFlow: autoFlow,
2142 gridAutoRows: autoRows,
2143 gridTemplateRows: templateRows,
2144 gridTemplateColumns: templateColumns
2145 }, props));
2146});
2147Grid.displayName = 'Grid';
2148
2149var Svg = function Svg(_ref) {
2150 var _ref$width = _ref.width,
2151 width = _ref$width === void 0 ? '24px' : _ref$width,
2152 _ref$height = _ref.height,
2153 height = _ref$height === void 0 ? 'auto' : _ref$height,
2154 _ref$viewBox = _ref.viewBox,
2155 viewBox = _ref$viewBox === void 0 ? '0 0 24 24' : _ref$viewBox,
2156 _ref$fill = _ref.fill,
2157 fill = _ref$fill === void 0 ? 'none' : _ref$fill,
2158 rest = _objectWithoutPropertiesLoose(_ref, ["width", "height", "viewBox", "fill"]);
2159
2160 return React.createElement(Box, Object.assign({
2161 as: "svg",
2162 width: width,
2163 height: height,
2164 viewBox: viewBox,
2165 fill: fill
2166 }, rest));
2167};
2168
2169var AppsIcon = function AppsIcon(props) {
2170 return React__default.createElement(Svg, Object.assign({}, props), React__default.createElement("rect", {
2171 y: "1.02686",
2172 width: "10.0435",
2173 height: "9.88235",
2174 rx: "1.75",
2175 fill: "currentColor"
2176 }), React__default.createElement("path", {
2177 opacity: "0.8",
2178 d: "M13.5697 10.9091H22.2999C23.0625 10.9091 23.5444 10.0897 23.1739 9.42317L18.8088 1.57201C18.4277 0.886573 17.4419 0.886572 17.0608 1.572L12.6957 9.42316C12.3251 10.0897 12.8071 10.9091 13.5697 10.9091Z",
2179 fill: "currentColor"
2180 }), React__default.createElement("rect", {
2181 opacity: "0.64",
2182 y: "13.7327",
2183 width: "10.4348",
2184 height: "10.2674",
2185 rx: "5.13369",
2186 fill: "currentColor"
2187 }), React__default.createElement("path", {
2188 opacity: "0.4",
2189 fillRule: "evenodd",
2190 clipRule: "evenodd",
2191 d: "M14.672 14.0339C14.4783 13.8498 14.2188 13.7479 13.9494 13.7502C13.68 13.7525 13.4224 13.8588 13.2319 14.0462C13.0414 14.2337 12.9334 14.4872 12.931 14.7523C12.9287 15.0173 13.0322 15.2726 13.2194 15.4633L16.4894 18.6809L13.2194 21.8984C13.0266 22.088 12.9182 22.3451 12.9182 22.6133C12.9181 22.746 12.9446 22.8775 12.9962 23.0002C13.0478 23.1229 13.1235 23.2344 13.2189 23.3283C13.3142 23.4222 13.4275 23.4967 13.5521 23.5476C13.6768 23.5984 13.8104 23.6246 13.9453 23.6247C14.2179 23.6248 14.4793 23.5183 14.672 23.3288L17.9421 20.1112L21.2121 23.3288C21.4049 23.5185 21.6663 23.625 21.9389 23.625C22.2116 23.625 22.473 23.5185 22.6658 23.3288C22.8585 23.1391 22.9668 22.8819 22.9668 22.6136C22.9668 22.3454 22.8585 22.0881 22.6658 21.8984L19.3957 18.6809L22.6658 15.4633C22.7612 15.3694 22.8368 15.2579 22.8884 15.1352C22.94 15.0125 22.9665 14.881 22.9665 14.7483C22.9664 14.6155 22.9398 14.484 22.8881 14.3614C22.8364 14.2387 22.7607 14.1273 22.6653 14.0334C22.5698 13.9396 22.4565 13.8651 22.3318 13.8144C22.2071 13.7636 22.0735 13.7375 21.9386 13.7375C21.8036 13.7376 21.67 13.7638 21.5454 13.8146C21.4207 13.8655 21.3075 13.94 21.2121 14.0339L17.9421 17.2515L14.672 14.0339Z",
2192 fill: "currentColor"
2193 }));
2194};
2195
2196var rotate = function rotate(direction) {
2197 if (direction === void 0) {
2198 direction = 'up';
2199 }
2200
2201 switch (direction) {
2202 case 'up':
2203 return 0;
2204
2205 case 'right':
2206 return '90';
2207
2208 case 'down':
2209 return '180';
2210
2211 case 'left':
2212 return '270';
2213
2214 default:
2215 throw new Error('`rotate` must receive direction parameter');
2216 }
2217};
2218
2219var ArrowIcon = function ArrowIcon(_ref) {
2220 var direction = _ref.direction,
2221 style = _ref.style,
2222 props = _objectWithoutPropertiesLoose(_ref, ["direction", "style"]);
2223
2224 return React.createElement(Svg, Object.assign({
2225 width: "11px",
2226 height: "14px",
2227 viewBox: "0 0 11 14",
2228 style: _objectSpread2({}, style, {
2229 transform: "rotate(" + rotate(direction) + "deg)"
2230 })
2231 }, props), React.createElement("path", {
2232 d: "M5.5 13.559c.444 0 .759-.315.759-.766V4.351l-.055-1.477 1.77 1.976 1.56 1.545a.765.765 0 00.54.225c.416 0 .73-.314.73-.745a.754.754 0 00-.239-.547L6.061.816a.78.78 0 00-1.128 0L.435 5.328a.754.754 0 00-.24.547c0 .43.308.745.725.745.219 0 .41-.089.547-.225L3.019 4.85l1.777-1.983-.062 1.484v8.442c0 .451.315.766.766.766z",
2233 fill: "currentColor"
2234 }));
2235};
2236
2237var BlockchainIcon = function BlockchainIcon(props) {
2238 var color = props.color || 'currentColor';
2239 return React.createElement(Svg, Object.assign({}, props), React.createElement("rect", {
2240 width: "12",
2241 height: "12",
2242 rx: "2.25",
2243 fill: color
2244 }), React.createElement("rect", {
2245 opacity: "0.6",
2246 x: "12",
2247 y: "12",
2248 width: "12",
2249 height: "12",
2250 rx: "2.25",
2251 fill: color
2252 }), React.createElement("rect", {
2253 opacity: "0.4",
2254 x: "14.75",
2255 y: "2.75",
2256 width: "6.5",
2257 height: "6.5",
2258 rx: "1",
2259 stroke: color,
2260 strokeWidth: "1.5",
2261 strokeLinejoin: "round"
2262 }), React.createElement("rect", {
2263 opacity: "0.4",
2264 x: "2.75",
2265 y: "14.75",
2266 width: "6.5",
2267 height: "6.5",
2268 rx: "1",
2269 stroke: color,
2270 strokeWidth: "1.5",
2271 strokeLinejoin: "round"
2272 }));
2273};
2274
2275var BlockstackIcon = function BlockstackIcon(props) {
2276 return React.createElement(Svg, Object.assign({
2277 width: "12",
2278 height: "12",
2279 viewBox: "0 0 12 12",
2280 fill: "none"
2281 }, props), React.createElement("path", {
2282 fillRule: "evenodd",
2283 clipRule: "evenodd",
2284 d: "M0.148042 1.08513C-5.58794e-08 1.42724 -3.80998e-08 1.86349 0 2.736L1.42713e-07 6L2.85387e-07 9.264C3.23525e-07 10.1365 0 10.5728 0.148042 10.9149C0.329866 11.335 0.664964 11.6701 1.08513 11.852C1.42724 12 1.86349 12 2.736 12H6H9.264C10.1365 12 10.5728 12 10.9149 11.852C11.335 11.6701 11.6701 11.335 11.852 10.9149C12 10.5728 12 10.1365 12 9.264V6V2.736C12 1.86349 12 1.42724 11.852 1.08513C11.6701 0.664963 11.335 0.329865 10.9149 0.148041C10.5728 -6.70552e-08 10.1365 -3.80998e-08 9.264 0L6 1.42713e-07L2.736 2.85387e-07C1.86349 3.23525e-07 1.40625 2.90573e-07 1.08513 0.148042C0.664964 0.329867 0.329866 0.664963 0.148042 1.08513ZM7.91566 5.16965C7.31682 5.16965 6.83125 4.68409 6.83125 4.08511C6.83125 3.48644 7.31682 3.00088 7.91566 3.00088C8.5145 3.00088 9.00007 3.48644 9.00007 4.08511C9.00007 4.68409 8.5145 5.16965 7.91566 5.16965ZM5.16787 4.085C5.16787 4.68358 4.68253 5.16893 4.08382 5.16893C3.48541 5.16893 3.00007 4.68358 3.00007 4.085C3.00007 3.48643 3.48541 3.00107 4.08382 3.00107C4.68253 3.00107 5.16787 3.48643 5.16787 4.085ZM7.91576 6.83459C7.31679 6.83459 6.83123 7.32016 6.83123 7.919C6.83123 8.51785 7.31679 9.00342 7.91576 9.00342C8.51444 9.00342 9 8.51785 9 7.919C9 7.32016 8.51444 6.83459 7.91576 6.83459ZM4.08392 6.83565C4.68248 6.83565 5.16783 7.32098 5.16783 7.91969C5.16783 8.51809 4.68248 9.00342 4.08392 9.00342C3.48535 9.00342 3 8.51809 3 7.91969C3 7.32098 3.48535 6.83565 4.08392 6.83565Z",
2285 fill: props.color || 'currentColor'
2286 }));
2287};
2288
2289var CheckmarkIcon = function CheckmarkIcon(_ref) {
2290 var _ref$size = _ref.size,
2291 size = _ref$size === void 0 ? 72 : _ref$size,
2292 _ref$color = _ref.color,
2293 color = _ref$color === void 0 ? 'currentColor' : _ref$color,
2294 props = _objectWithoutPropertiesLoose(_ref, ["size", "color"]);
2295
2296 return React.createElement(Svg, Object.assign({
2297 width: size,
2298 height: size,
2299 fill: "none",
2300 viewBox: "0 0 72 72"
2301 }, props), React.createElement("circle", {
2302 cx: "36",
2303 cy: "36",
2304 r: "34.5",
2305 fill: "#fff",
2306 stroke: color,
2307 strokeWidth: "3"
2308 }), React.createElement("path", {
2309 stroke: color,
2310 strokeLinecap: "round",
2311 strokeLinejoin: "round",
2312 strokeWidth: "3",
2313 d: "M21 37l10 10 20-22"
2314 }));
2315};
2316
2317var CheckmarkCircleIcon = function CheckmarkCircleIcon(props) {
2318 return React__default.createElement(Box, Object.assign({}, props), React__default.createElement("svg", {
2319 width: "100%",
2320 viewBox: "0 0 16 17",
2321 fill: "none"
2322 }, React__default.createElement("path", {
2323 d: "M7.99613 16.9961C12.3809 16.9961 16 13.377 16 8.99996C16 4.61523 12.3731 0.996094 7.9884 0.996094C3.61141 0.996094 0 4.61523 0 8.99996C0 13.377 3.61914 16.9961 7.99613 16.9961ZM6.94442 13.0367C6.65056 13.0367 6.41856 12.9052 6.1943 12.6423L3.96713 9.92794C3.82794 9.75781 3.75834 9.56448 3.75834 9.37889C3.75834 8.96129 4.08313 8.64423 4.47753 8.64423C4.71725 8.64423 4.91832 8.74476 5.11165 8.97676L6.92122 11.2581L10.4089 5.69015C10.579 5.41175 10.8033 5.28029 11.043 5.28029C11.4297 5.28029 11.8009 5.55095 11.8009 5.96081C11.8009 6.14641 11.7081 6.33974 11.5998 6.50987L7.67134 12.6191C7.48574 12.8975 7.23828 13.0367 6.94442 13.0367Z",
2324 fill: "currentColor"
2325 })));
2326};
2327
2328var rotate$1 = function rotate(direction) {
2329 if (direction === void 0) {
2330 direction = 'right';
2331 }
2332
2333 switch (direction) {
2334 case 'left':
2335 return '90';
2336
2337 case 'up':
2338 return '180';
2339
2340 case 'right':
2341 return '270';
2342
2343 case 'down':
2344 return 0;
2345
2346 default:
2347 throw new Error('`rotate` must receive direction parameter');
2348 }
2349};
2350
2351var ChevronIcon = function ChevronIcon(_ref) {
2352 var direction = _ref.direction,
2353 _ref$size = _ref.size,
2354 size = _ref$size === void 0 ? '16px' : _ref$size,
2355 _ref$style = _ref.style,
2356 style = _ref$style === void 0 ? {} : _ref$style,
2357 props = _objectWithoutPropertiesLoose(_ref, ["direction", "size", "style"]);
2358
2359 return React.createElement(Svg, Object.assign({
2360 width: size,
2361 height: size,
2362 viewBox: "0 0 16 16",
2363 style: _objectSpread2({}, style, {
2364 transform: "rotate(" + rotate$1(direction) + "deg)"
2365 })
2366 }, props), React.createElement("path", {
2367 fill: props.color || 'currentColor',
2368 d: "M4.7 7.367l3.3 3.3 3.3-3.3-.943-.943L8 8.78 5.643 6.424l-.943.943z"
2369 }));
2370};
2371
2372var ConnectLogoIcon = function ConnectLogoIcon(_ref) {
2373 var _ref$color = _ref.color,
2374 color = _ref$color === void 0 ? 'currentColor' : _ref$color,
2375 props = _objectWithoutPropertiesLoose(_ref, ["color"]);
2376
2377 return React.createElement(Svg, Object.assign({
2378 color: color
2379 }, props), React.createElement("rect", {
2380 width: "24",
2381 height: "24",
2382 rx: "12",
2383 fill: "currentColor",
2384 opacity: "0.15"
2385 }), React.createElement("path", {
2386 d: "M15.2727 10.0179H14.8636V8.8125C14.8636 8.06658 14.5619 7.35121 14.0249 6.82376C13.4879 6.29632 12.7595 6 12 6C11.2405 6 10.5121 6.29632 9.9751 6.82376C9.43807 7.35121 9.13636 8.06658 9.13636 8.8125V10.0179H8.72727C8.40189 10.0182 8.08994 10.1453 7.85985 10.3713C7.62977 10.5973 7.50036 10.9036 7.5 11.2232V16.0446C7.50036 16.3642 7.62977 16.6706 7.85985 16.8966C8.08994 17.1225 8.40189 17.2497 8.72727 17.25H15.2727C15.5981 17.2497 15.9101 17.1225 16.1401 16.8966C16.3702 16.6706 16.4996 16.3642 16.5 16.0446V11.2232C16.4996 10.9036 16.3702 10.5973 16.1401 10.3713C15.9101 10.1453 15.5981 10.0182 15.2727 10.0179ZM9.95455 8.8125C9.95455 8.2797 10.17 7.76872 10.5536 7.39197C10.9372 7.01523 11.4575 6.80357 12 6.80357C12.5425 6.80357 13.0628 7.01523 13.4464 7.39197C13.83 7.76872 14.0455 8.2797 14.0455 8.8125V10.0179H9.95455V8.8125ZM12.4091 13.7231V14.6384C12.4091 14.745 12.366 14.8471 12.2893 14.9225C12.2126 14.9978 12.1085 15.0402 12 15.0402C11.8915 15.0402 11.7874 14.9978 11.7107 14.9225C11.634 14.8471 11.5909 14.745 11.5909 14.6384V13.7231C11.4349 13.6346 11.313 13.4981 11.2441 13.3347C11.1752 13.1712 11.1631 12.99 11.2097 12.8192C11.2563 12.6483 11.359 12.4973 11.5019 12.3896C11.6448 12.282 11.8199 12.2236 12 12.2236C12.1801 12.2236 12.3552 12.282 12.4981 12.3896C12.641 12.4973 12.7437 12.6483 12.7903 12.8192C12.8369 12.99 12.8248 13.1712 12.7559 13.3347C12.687 13.4981 12.5651 13.6346 12.4091 13.7231Z",
2387 fill: "currentColor"
2388 }), React.createElement("rect", {
2389 x: "10.5",
2390 y: "11.25",
2391 width: "3",
2392 height: "5.25",
2393 fill: "currentColor"
2394 }));
2395};
2396
2397var EncryptionIcon = function EncryptionIcon(props) {
2398 return React.createElement(Svg, Object.assign({}, props), React.createElement("path", {
2399 d: "M18.5818 8.57143H17.7091V6C17.7091 4.4087 17.0655 2.88258 15.9198 1.75736C14.7741 0.632141 13.2202 0 11.6 0C9.97977 0 8.4259 0.632141 7.28022 1.75736C6.13454 2.88258 5.49091 4.4087 5.49091 6V8.57143H4.61818C3.92403 8.57218 3.25853 8.84334 2.76769 9.32541C2.27685 9.80748 2.00076 10.4611 2 11.1429V21.4286C2.00076 22.1103 2.27685 22.7639 2.76769 23.246C3.25853 23.7281 3.92403 23.9993 4.61818 24H18.5818C19.276 23.9993 19.9415 23.7281 20.4323 23.246C20.9231 22.7639 21.1992 22.1103 21.2 21.4286V11.1429C21.1992 10.4611 20.9231 9.80748 20.4323 9.32541C19.9415 8.84334 19.276 8.57218 18.5818 8.57143ZM7.23636 6C7.23636 4.86336 7.6961 3.77327 8.51444 2.96954C9.33278 2.16582 10.4427 1.71429 11.6 1.71429C12.7573 1.71429 13.8672 2.16582 14.6856 2.96954C15.5039 3.77327 15.9636 4.86336 15.9636 6V8.57143H7.23636V6Z",
2400 fill: "currentColor"
2401 }));
2402};
2403
2404var ExclamationMarkIcon = function ExclamationMarkIcon(props) {
2405 return React.createElement(Svg, Object.assign({
2406 width: "12",
2407 height: "12",
2408 fill: "none",
2409 viewBox: "0 0 12 12"
2410 }, props), React.createElement("circle", {
2411 cx: "6",
2412 cy: "6",
2413 r: "6",
2414 fill: props.color || 'currentColor'
2415 }), React.createElement("path", {
2416 fill: "#fff",
2417 d: "M6.62 3.64a.622.622 0 10-1.244 0l.083 2.983a.54.54 0 001.081 0l.08-2.984zM6 9c.368 0 .687-.31.69-.694A.7.7 0 006 7.617.69.69 0 006 9z"
2418 }));
2419};
2420
2421var ExclamationMarkCircleIcon = function ExclamationMarkCircleIcon(props) {
2422 return React__default.createElement(Box, Object.assign({}, props), React__default.createElement("svg", {
2423 width: "100%",
2424 viewBox: "0 0 16 16",
2425 fill: "none"
2426 }, React__default.createElement("path", {
2427 fillRule: "evenodd",
2428 clipRule: "evenodd",
2429 d: "M8 16C12.4183 16 16 12.4183 16 8C16 3.58172 12.4183 0 8 0C3.58172 0 0 3.58172 0 8C0 12.4183 3.58172 16 8 16ZM7.9983 4C8.46541 4 8.84049 4.38536 8.82787 4.8523L8.72037 8.82986C8.70981 9.22031 8.39026 9.53134 7.99967 9.53134C7.60928 9.53134 7.28981 9.2206 7.279 8.83036L7.16874 4.85287C7.15579 4.38572 7.53096 4 7.9983 4ZM8.9199 11.0743C8.91607 11.5873 8.49058 12 7.99992 12C7.49392 12 7.0761 11.5873 7.07993 11.0743C7.0761 10.569 7.49392 10.1562 7.99992 10.1562C8.49058 10.1562 8.91607 10.569 8.9199 11.0743Z",
2430 fill: "currentColor"
2431 })));
2432};
2433
2434var EyeIcon = function EyeIcon(props) {
2435 return React.createElement(Svg, Object.assign({
2436 width: "24",
2437 height: "20",
2438 viewBox: "0 0 24 20"
2439 }, props), React.createElement("path", {
2440 fillRule: "evenodd",
2441 clipRule: "evenodd",
2442 d: "M19.695 0.351482C19.9032 0.135371 20.1868 0.00948757 20.4855 0.000511017C20.7171 -0.00642408 20.9454 0.057366 21.1405 0.183512C21.3356 0.309658 21.4883 0.492283 21.5786 0.707441C21.669 0.922599 21.6927 1.16026 21.6468 1.38926C21.6008 1.61827 21.4873 1.82793 21.3212 1.99078L4.3048 19.1469C4.19867 19.2575 4.07178 19.3456 3.93152 19.4062C3.79125 19.4668 3.64043 19.4987 3.48783 19.5C3.33523 19.5012 3.1839 19.4718 3.04268 19.4135C2.90146 19.3552 2.77316 19.2691 2.66526 19.1603C2.55735 19.0515 2.47201 18.9222 2.4142 18.7798C2.35639 18.6374 2.32727 18.4849 2.32854 18.331C2.3298 18.1771 2.36143 18.0251 2.42157 17.8837C2.48171 17.7423 2.56917 17.6143 2.67885 17.5074L19.695 0.351482ZM0.193655 8.95376C2.47935 4.5123 7.03523 1.71636 11.9982 1.71636C13.5143 1.71601 14.9919 1.97725 16.3789 2.46512L14.7583 4.09901C13.9263 3.68538 12.9904 3.45188 12 3.45188C8.55044 3.45188 5.754 6.27118 5.75403 9.74917C5.75404 10.7476 5.98562 11.6913 6.39588 12.5301L3.92169 15.0246C2.39514 13.8491 1.11258 12.3359 0.194802 10.5571C-0.0645738 10.0547 -0.0649106 9.45653 0.193655 8.95376ZM17.6041 6.96802L20.0781 4.47375C21.6047 5.64932 22.8874 7.16248 23.8052 8.94153C24.0646 9.44387 24.0649 10.042 23.8064 10.5448C21.5205 14.9863 16.9647 17.7818 12.0018 17.7818C10.4857 17.7821 9.00815 17.5209 7.62116 17.033L9.2415 15.3994C10.0735 15.813 11.0096 16.0465 12 16.0465C15.4496 16.0465 18.246 13.227 18.246 9.74917C18.246 8.75058 18.0145 7.80688 17.6041 6.96802ZM9.24284 6.96914C10.0042 6.20163 11.0022 5.81824 12 5.81824C12.3155 5.81824 12.6308 5.85684 12.9387 5.93349L8.2154 10.6956C7.89855 9.40286 8.24082 7.97945 9.24284 6.96914ZM11.0613 13.5647L15.7846 8.80249C16.1013 10.0952 15.7589 11.5184 14.7569 12.5285C13.755 13.5388 12.3434 13.8839 11.0613 13.5647Z",
2443 fill: props.color || 'currentColor'
2444 }), React.createElement("path", {
2445 d: "M19.6951 0.351482C19.9034 0.135371 20.1869 0.00948757 20.4856 0.000511017C20.7173 -0.00642408 20.9456 0.057366 21.1406 0.183512C21.3357 0.309658 21.4884 0.492283 21.5787 0.707441C21.6691 0.922599 21.6928 1.16026 21.6469 1.38926C21.6009 1.61827 21.4874 1.82793 21.3213 1.99078L4.30491 19.1469C4.19879 19.2575 4.07189 19.3456 3.93163 19.4062C3.79137 19.4668 3.64054 19.4987 3.48794 19.5C3.33534 19.5012 3.18402 19.4718 3.0428 19.4135C2.90157 19.3552 2.77327 19.2691 2.66537 19.1603C2.55747 19.0515 2.47213 18.9222 2.41432 18.7798C2.35651 18.6374 2.32739 18.4849 2.32865 18.331C2.32992 18.1771 2.36154 18.0251 2.42169 17.8837C2.48183 17.7423 2.56929 17.6143 2.67896 17.5074L19.6951 0.351482Z",
2446 fill: props.color || 'currentColor'
2447 }));
2448};
2449
2450var PadlockIcon = function PadlockIcon(props) {
2451 return React.createElement(Svg, Object.assign({
2452 width: "64",
2453 height: "64",
2454 fill: "none",
2455 viewBox: "0 0 64 64"
2456 }, props), React.createElement("path", {
2457 d: "M0 25.6C0 16.6392 0 12.1587 1.7439 8.73615C3.27787 5.72556 5.72556 3.27787 8.73615 1.7439C12.1587 0 16.6392 0 25.6 0L38.4 0C47.3608 0 51.8413 0 55.2638 1.7439C58.2744 3.27787 60.7221 5.72556 62.2561 8.73615C64 12.1587 64 16.6392 64 25.6V38.4C64 47.3608 64 51.8413 62.2561 55.2638C60.7221 58.2744 58.2744 60.7221 55.2638 62.2561C51.8413 64 47.3608 64 38.4 64H25.6C16.6392 64 12.1587 64 8.73615 62.2561C5.72556 60.7221 3.27787 58.2744 1.7439 55.2638C0 51.8413 0 47.3608 0 38.4L0 25.6Z",
2458 fill: "currentColor",
2459 opacity: "0.15"
2460 }), React.createElement("path", {
2461 d: "M40.7273 26.7143H39.6364V23.5C39.6364 21.5109 38.8318 19.6032 37.3997 18.1967C35.9676 16.7902 34.0253 16 32 16C29.9747 16 28.0324 16.7902 26.6003 18.1967C25.1682 19.6032 24.3636 21.5109 24.3636 23.5V26.7143H23.2727C22.405 26.7152 21.5732 27.0542 20.9596 27.6568C20.3461 28.2594 20.001 29.0764 20 29.9286V42.7857C20.001 43.6379 20.3461 44.4549 20.9596 45.0575C21.5732 45.6601 22.405 45.9991 23.2727 46H40.7273C41.595 45.9991 42.4268 45.6601 43.0404 45.0575C43.6539 44.4549 43.999 43.6379 44 42.7857V29.9286C43.999 29.0764 43.6539 28.2594 43.0404 27.6568C42.4268 27.0542 41.595 26.7152 40.7273 26.7143ZM26.5455 23.5C26.5455 22.0792 27.1201 20.7166 28.1431 19.7119C29.166 18.7073 30.5534 18.1429 32 18.1429C33.4466 18.1429 34.834 18.7073 35.8569 19.7119C36.8799 20.7166 37.4545 22.0792 37.4545 23.5V26.7143H26.5455V23.5Z",
2462 fill: "currentColor"
2463 }));
2464};
2465
2466var PlusCircleIcon = function PlusCircleIcon(props) {
2467 return React.createElement(Svg, Object.assign({}, props), React.createElement("circle", {
2468 cx: "12",
2469 cy: "12",
2470 r: "12",
2471 fill: "currentColor"
2472 }), React.createElement("g", {
2473 clipPath: "url(#clip0)"
2474 }, React.createElement("path", {
2475 fill: "#fff",
2476 fillRule: "evenodd",
2477 d: "M8.36 11.25a.75.75 0 000 1.5h3.375v3.376a.75.75 0 001.5 0V12.75h3.377a.75.75 0 000-1.5h-3.376V7.874a.75.75 0 10-1.5 0v3.376H8.358z",
2478 clipRule: "evenodd"
2479 })), React.createElement("defs", null, React.createElement("clipPath", {
2480 id: "clip0"
2481 }, React.createElement("path", {
2482 fill: "#fff",
2483 d: "M4 12H16V24H4z",
2484 transform: "rotate(-45 4 12)"
2485 }))));
2486};
2487
2488var PrivateIcon = function PrivateIcon(props) {
2489 return React.createElement(Svg, Object.assign({
2490 width: "18",
2491 height: "24",
2492 viewBox: "0 0 18 24",
2493 fill: "none"
2494 }, props), React.createElement("path", {
2495 d: "M15.5455 8.57143H14.7273V6C14.7273 4.4087 14.1239 2.88258 13.0498 1.75736C11.9757 0.632141 10.519 0 9 0C7.48103 0 6.02428 0.632141 4.95021 1.75736C3.87614 2.88258 3.27273 4.4087 3.27273 6V8.57143H2.45455C1.80378 8.57218 1.17987 8.84334 0.719709 9.32541C0.259547 9.80748 0.000714665 10.4611 0 11.1429V21.4286C0.000714665 22.1103 0.259547 22.7639 0.719709 23.246C1.17987 23.7281 1.80378 23.9993 2.45455 24H15.5455C16.1962 23.9993 16.8201 23.7281 17.2803 23.246C17.7405 22.7639 17.9993 22.1103 18 21.4286V11.1429C17.9993 10.4611 17.7405 9.80748 17.2803 9.32541C16.8201 8.84334 16.1962 8.57218 15.5455 8.57143ZM4.90909 6C4.90909 4.86336 5.3401 3.77327 6.10729 2.96954C6.87449 2.16582 7.91502 1.71429 9 1.71429C10.085 1.71429 11.1255 2.16582 11.8927 2.96954C12.6599 3.77327 13.0909 4.86336 13.0909 6V8.57143H4.90909V6Z",
2496 fill: "currentColor"
2497 }));
2498};
2499
2500var UnionLineIcon = function UnionLineIcon(props) {
2501 return React.createElement(Svg, Object.assign({
2502 width: "32",
2503 height: "7",
2504 fill: "none",
2505 viewBox: "0 0 32 7"
2506 }, props), React.createElement("mask", {
2507 id: "a",
2508 width: "32",
2509 height: "7",
2510 x: "0",
2511 y: "0",
2512 fill: "#000",
2513 maskUnits: "userSpaceOnUse"
2514 }, React.createElement("path", {
2515 fill: "#fff",
2516 d: "M0 0H32V7H0z"
2517 }), React.createElement("path", {
2518 fillRule: "evenodd",
2519 d: "M3.5 5a1.5 1.5 0 001.415-1h22.17a1.5 1.5 0 100-1H4.915A1.5 1.5 0 103.5 5z",
2520 clipRule: "evenodd"
2521 })), React.createElement("path", {
2522 fill: "#677282",
2523 fillRule: "evenodd",
2524 d: "M3.5 5a1.5 1.5 0 001.415-1h22.17a1.5 1.5 0 100-1H4.915A1.5 1.5 0 103.5 5z",
2525 clipRule: "evenodd"
2526 }), React.createElement("path", {
2527 fill: "#fff",
2528 d: "M4.915 4V2H3.5L3.03 3.334 4.915 4zm22.17 0l1.886-.667L28.5 2h-1.415v2zm0-1v2H28.5l.471-1.333L27.085 3zM4.915 3l-1.886.666L3.5 5h1.415V3zm-1.886.334A.5.5 0 013.5 3v4a3.5 3.5 0 003.3-2.334L3.03 3.334zM27.085 2H4.915v4h22.17V2zM28.5 3a.5.5 0 01.471.333L25.2 4.667A3.5 3.5 0 0028.5 7V3zm-.5.5a.5.5 0 01.5-.5v4A3.5 3.5 0 0032 3.5h-4zm.5.5a.5.5 0 01-.5-.5h4A3.5 3.5 0 0028.5 0v4zm.471-.333A.5.5 0 0128.5 4V0a3.5 3.5 0 00-3.3 2.333l3.771 1.333zM4.915 5h22.17V1H4.915v4zM3.5 4a.5.5 0 01-.471-.334L6.8 2.334A3.5 3.5 0 003.5 0v4zm.5-.5a.5.5 0 01-.5.5V0A3.5 3.5 0 000 3.5h4zM3.5 3a.5.5 0 01.5.5H0A3.5 3.5 0 003.5 7V3z",
2529 mask: "url(#a)"
2530 }));
2531};
2532
2533var CloseIcon = function CloseIcon(props) {
2534 return React__default.createElement(Box, Object.assign({}, props), React__default.createElement(Svg, {
2535 width: "100%",
2536 viewBox: "0 0 10 10"
2537 }, React__default.createElement("path", {
2538 fillRule: "evenodd",
2539 clipRule: "evenodd",
2540 d: "M1.81707 0.403005C1.62846 0.220847 1.37586 0.120052 1.11366 0.122331C0.851468 0.124609 0.600656 0.229778 0.415247 0.415186C0.229839 0.600595 0.12467 0.851407 0.122392 1.1136C0.120113 1.3758 0.220908 1.6284 0.403066 1.81701L3.58607 5L0.403066 8.183C0.215425 8.37051 0.109957 8.62488 0.109863 8.89015C0.109817 9.0215 0.135642 9.15157 0.185864 9.27294C0.236086 9.39431 0.309721 9.50459 0.402566 9.5975C0.495411 9.69041 0.605646 9.76413 0.726978 9.81444C0.848311 9.86475 0.978364 9.89066 1.10971 9.89071C1.37498 9.8908 1.62943 9.78551 1.81707 9.598L5.00007 6.415L8.18307 9.598C8.37071 9.78564 8.6252 9.89106 8.89057 9.89106C9.15593 9.89106 9.41043 9.78564 9.59807 9.598C9.78571 9.41036 9.89112 9.15587 9.89112 8.8905C9.89112 8.62514 9.78571 8.37065 9.59807 8.183L6.41507 5L9.59807 1.81701C9.69091 1.7241 9.76454 1.61381 9.81477 1.49244C9.86499 1.37107 9.89082 1.241 9.89077 1.10965C9.89072 0.978303 9.86481 0.84825 9.8145 0.726917C9.76419 0.605585 9.69048 0.49535 9.59757 0.402505C9.50466 0.30966 9.39437 0.236025 9.273 0.185803C9.15163 0.135581 9.02156 0.109756 8.89021 0.109802C8.75886 0.109849 8.62881 0.135766 8.50748 0.186073C8.38615 0.236381 8.27591 0.310094 8.18307 0.403005L5.00007 3.58601L1.81707 0.403005Z",
2541 fill: "currentColor"
2542 })));
2543};
2544
2545var ExternalIcon = function ExternalIcon(props) {
2546 return React.createElement(Svg, Object.assign({
2547 width: "8",
2548 height: "9",
2549 viewBox: "0 0 8 9",
2550 fill: "none"
2551 }, props), React.createElement("path", {
2552 fillRule: "evenodd",
2553 clipRule: "evenodd",
2554 d: "M1.30849 0H7.04391H7.99975H7.99981V6.6919H7.04391V1.66447L0.707141 8.00185L0 7.29477L6.33818 0.955986H1.30849V0Z",
2555 fill: "#677282"
2556 }));
2557};
2558
2559var FailedIcon = function FailedIcon(_ref) {
2560 var _ref$size = _ref.size,
2561 size = _ref$size === void 0 ? 64 : _ref$size,
2562 props = _objectWithoutPropertiesLoose(_ref, ["size"]);
2563
2564 return React.createElement(Svg, Object.assign({
2565 width: size,
2566 height: size,
2567 viewBox: "0 0 64 64",
2568 fill: "none"
2569 }, props), React.createElement("circle", {
2570 cx: "32",
2571 cy: "32",
2572 r: "30",
2573 stroke: "#D4001A",
2574 strokeWidth: "4",
2575 strokeLinecap: "round"
2576 }), React.createElement("path", {
2577 d: "M23 41L40.9995 23",
2578 stroke: "#D4001A",
2579 strokeWidth: "4",
2580 strokeLinecap: "round",
2581 strokeLinejoin: "round"
2582 }), React.createElement("path", {
2583 d: "M41 41L23.0005 23",
2584 stroke: "#D4001A",
2585 strokeWidth: "4",
2586 strokeLinecap: "round",
2587 strokeLinejoin: "round"
2588 }));
2589};
2590
2591var defaultStyle = {
2592 height: 12,
2593 border: '1px solid',
2594 borderBottomColor: 'inherit',
2595 borderLeftColor: 'inherit',
2596 borderRightColor: 'inherit',
2597 borderTopColor: 'inherit',
2598 borderColor: 'inherit',
2599 bg: 'white',
2600 _hover: {
2601 borderBottomColor: 'ink.300',
2602 borderLeftColor: 'ink.300',
2603 borderRightColor: 'ink.300',
2604 borderTopColor: 'ink.300',
2605 borderColor: 'ink.300'
2606 },
2607 _disabled: {
2608 bg: '#f9f9fc',
2609 cursor: 'not-allowed',
2610 pointerEvents: 'none'
2611 },
2612 _focus: {
2613 borderBottomColor: 'blue.300',
2614 borderLeftColor: 'blue.300',
2615 borderRightColor: 'blue.300',
2616 borderTopColor: 'blue.300',
2617 borderColor: 'blue.300',
2618 boxShadow: '0 0 0 1px rgba(170, 179, 255, 0.75)'
2619 },
2620 _invalid: {
2621 borderBottomColor: 'red',
2622 borderLeftColor: 'red',
2623 borderRightColor: 'red',
2624 borderTopColor: 'red',
2625 borderColor: 'red'
2626 }
2627};
2628var baseProps$1 = {
2629 display: 'flex',
2630 alignItems: 'center',
2631 position: 'relative',
2632 transition: 'all 0.2s',
2633 outline: 'none',
2634 borderRadius: '6px',
2635 p: '14px 16px'
2636};
2637var inputSizes = {
2638 "default": {
2639 fontSize: 'body.small',
2640 height: '12',
2641 lineHeight: 'base'
2642 }
2643};
2644
2645var useInputStyle = function useInputStyle(props) {
2646 return _objectSpread2({
2647 width: props.isFullWidth ? '100%' : undefined
2648 }, baseProps$1, {}, defaultStyle);
2649};
2650
2651var InputAddon = function InputAddon(_ref) {
2652 var _ref$placement = _ref.placement,
2653 placement = _ref$placement === void 0 ? 'left' : _ref$placement,
2654 props = _objectWithoutPropertiesLoose(_ref, ["placement"]);
2655
2656 var _placement = {
2657 left: {
2658 mr: '-1px',
2659 roundedRight: 0,
2660 borderRightColor: 'transparent',
2661 borderLeftWidth: 0
2662 },
2663 right: {
2664 order: 1,
2665 roundedLeft: 0,
2666 borderLeftColor: 'transparent',
2667 borderLeftWidth: 0
2668 }
2669 };
2670
2671 var styleProps = _objectSpread2({}, useInputStyle({
2672 variant: 'outline'
2673 }), {
2674 flex: '0 0 auto',
2675 whiteSpace: 'nowrap',
2676 bg: 'white',
2677 fontSize: 'body.small'
2678 }, _placement[placement]);
2679
2680 return React__default.createElement(Box, Object.assign({}, styleProps, props, {
2681 css: {
2682 'input:focus + &': {
2683 zIndex: -1
2684 }
2685 }
2686 }));
2687};
2688
2689 InputAddon.propTypes = {
2690 placement: /*#__PURE__*/propTypes.oneOf(['left', 'right'])
2691} ;
2692InputAddon.displayName = 'InputAddon';
2693
2694var InputLeftAddon = function InputLeftAddon(props) {
2695 return React__default.createElement(InputAddon, Object.assign({
2696 placement: "left"
2697 }, props));
2698};
2699
2700var InputRightAddon = function InputRightAddon(props) {
2701 return React__default.createElement(InputAddon, Object.assign({
2702 placement: "right"
2703 }, props));
2704};
2705
2706var InputElement = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
2707 var _placementProp;
2708
2709 var _ref$size = _ref.size,
2710 size = _ref$size === void 0 ? 'default' : _ref$size,
2711 children = _ref.children,
2712 _ref$placement = _ref.placement,
2713 placement = _ref$placement === void 0 ? 'left' : _ref$placement,
2714 _ref$disablePointerEv = _ref.disablePointerEvents,
2715 disablePointerEvents = _ref$disablePointerEv === void 0 ? false : _ref$disablePointerEv,
2716 props = _objectWithoutPropertiesLoose(_ref, ["size", "children", "placement", "disablePointerEvents"]);
2717
2718 var height = inputSizes[size] && inputSizes[size].height;
2719 var fontSize = inputSizes[size] && inputSizes[size].fontSize;
2720 var placementProp = (_placementProp = {}, _placementProp[placement] = '0', _placementProp);
2721 return React__default.createElement(Box, Object.assign({
2722 display: "flex",
2723 alignItems: "center",
2724 justifyContent: "center",
2725 position: "absolute",
2726 height: height,
2727 width: height,
2728 fontSize: fontSize,
2729 top: "0",
2730 zIndex: 1,
2731 ref: ref
2732 }, disablePointerEvents && {
2733 pointerEvents: 'none'
2734 }, placementProp, props), children);
2735});
2736var InputLeftElement = /*#__PURE__*/React.forwardRef(function (props, ref) {
2737 return React__default.createElement(InputElement, Object.assign({
2738 ref: ref,
2739 placement: "left"
2740 }, props));
2741});
2742var InputRightElement = /*#__PURE__*/React.forwardRef(function (props, ref) {
2743 return React__default.createElement(InputElement, Object.assign({
2744 ref: ref,
2745 placement: "right"
2746 }, props));
2747});
2748InputElement.displayName = 'InputElement';
2749InputLeftElement.displayName = 'InputLeftElement';
2750InputRightElement.displayName = 'InputRightElement';
2751
2752var Input = /*#__PURE__*/React.forwardRef(function (props, ref) {
2753 var as = props.as,
2754 ariaLabel = props['aria-label'],
2755 ariaDescribedby = props['aria-describedby'],
2756 isReadOnly = props.isReadOnly,
2757 _props$style = props.style,
2758 style = _props$style === void 0 ? {} : _props$style,
2759 rest = _objectWithoutPropertiesLoose(props, ["as", "aria-label", "aria-describedby", "isReadOnly", "style"]);
2760
2761 var inputStyleProps = useInputStyle(props);
2762 var formControl = useFormControl(props);
2763 return React__default.createElement(Box, Object.assign({
2764 ref: ref,
2765 as: as,
2766 _readOnly: formControl.isReadOnly,
2767 "aria-readonly": isReadOnly,
2768 isDisabled: formControl.isDisabled,
2769 "aria-label": ariaLabel,
2770 "aria-invalid": formControl.isInvalid,
2771 isRequired: formControl.isRequired,
2772 "aria-required": formControl.isRequired,
2773 "aria-disabled": formControl.isDisabled,
2774 "aria-describedby": ariaDescribedby,
2775 textStyle: "body.small",
2776 style: _objectSpread2({
2777 WebkitAppearance: 'none'
2778 }, style)
2779 }, inputStyleProps, rest));
2780});
2781Input.defaultProps = {
2782 as: 'input',
2783 isFullWidth: true,
2784 focusBorderColor: 'blue.300'
2785};
2786Input.displayName = 'Input';
2787
2788var InputGroup = function InputGroup(_ref) {
2789 var children = _ref.children,
2790 _ref$size = _ref.size,
2791 size = _ref$size === void 0 ? 'default' : _ref$size,
2792 props = _objectWithoutPropertiesLoose(_ref, ["children", "size"]);
2793
2794 var _useTheme = useTheme(),
2795 sizes = _useTheme.sizes;
2796
2797 var height = inputSizes[size] && inputSizes[size].height;
2798 var pl = null;
2799 var pr = null;
2800 return React__default.createElement(Box, Object.assign({
2801 display: "flex",
2802 position: "relative"
2803 }, props), React.Children.map(children, function (child) {
2804 if (!React__default.isValidElement(child)) {
2805 return null;
2806 }
2807
2808 if (child.type === InputLeftElement) {
2809 pl = sizes[height];
2810 }
2811
2812 if (child.type === InputRightElement) {
2813 pr = sizes[height];
2814 }
2815
2816 if (child.type === Input) {
2817 return React.cloneElement(child, {
2818 width: '100%',
2819 pl: child.props.pl || pl,
2820 pr: child.props.pr || pr
2821 });
2822 }
2823
2824 return React.cloneElement(child, {
2825 size: size
2826 });
2827 }));
2828};
2829
2830var ModalContext = /*#__PURE__*/React__default.createContext({
2831 isOpen: false
2832});
2833var useModalState = function useModalState() {
2834 return React__default.useContext(ModalContext);
2835};
2836var Header = /*#__PURE__*/React__default.memo(function (_ref) {
2837 var component = _ref.component;
2838 return component ? React__default.createElement(Box, {
2839 borderTopRightRadius: "6px",
2840 borderTopLeftRadius: "6px"
2841 }, component) : null;
2842});
2843var Footer = /*#__PURE__*/React__default.memo(function (_ref2) {
2844 var component = _ref2.component;
2845 return component ? React__default.createElement(Box, {
2846 borderBottomRightRadius: "6px",
2847 borderBottomLeftRadius: "6px"
2848 }, component) : null;
2849});
2850
2851var ModalUnderlay = function ModalUnderlay(_ref3) {
2852 var isOpen = _ref3.isOpen,
2853 noAnimation = _ref3.noAnimation;
2854 return React__default.createElement(Box, {
2855 position: "fixed",
2856 size: "100%",
2857 left: 0,
2858 right: 0,
2859 top: 0,
2860 bottom: 0,
2861 bg: "rgba(0,0,0," + (isOpen ? '0.48' : '0') + ")",
2862 transition: noAnimation ? 'unset' : 'all 0.15s',
2863 zIndex: 99999,
2864 style: {
2865 userSelect: isOpen ? 'unset' : 'none',
2866 pointerEvents: isOpen ? 'unset' : 'none',
2867 willChange: 'background'
2868 }
2869 });
2870};
2871
2872var ModalWrapper = function ModalWrapper(_ref4) {
2873 var isOpen = _ref4.isOpen,
2874 rest = _objectWithoutPropertiesLoose(_ref4, ["isOpen"]);
2875
2876 return React__default.createElement(Flex, Object.assign({
2877 zIndex: 999999,
2878 position: "fixed",
2879 bottom: [0, 'unset'],
2880 width: "100%",
2881 top: 0,
2882 left: 0,
2883 height: "100%",
2884 maxHeight: ['100vh', 'unset'],
2885 alignItems: "center",
2886 justifyContent: ['flex-end', 'center'],
2887 flexDirection: "column",
2888 opacity: isOpen ? 1 : 0,
2889 style: {
2890 userSelect: isOpen ? 'unset' : 'none',
2891 pointerEvents: isOpen ? 'unset' : 'none'
2892 }
2893 }, rest));
2894};
2895
2896var ModalCardContainer = /*#__PURE__*/React__default.forwardRef(function (_ref5, ref) {
2897 var noAnimation = _ref5.noAnimation,
2898 isOpen = _ref5.isOpen,
2899 rest = _objectWithoutPropertiesLoose(_ref5, ["noAnimation", "isOpen"]);
2900
2901 return React__default.createElement(Flex, Object.assign({
2902 flexDirection: "column",
2903 position: "relative",
2904 bg: "white",
2905 mx: "auto",
2906 minWidth: ['100%', '396px'],
2907 maxWidth: ['100%', '396px'],
2908 maxHeight: ['100%', 'calc(100% - 48px)'],
2909 borderRadius: ['unset', '6px'],
2910 boxShadow: "high",
2911 transform: noAnimation ? 'translateY(0px)' : isOpen ? 'translateY(0px)' : 'translateY(15px)',
2912 transition: noAnimation ? 'unset' : 'all 0.2s ease-in-out',
2913 style: {
2914 willChange: 'transform'
2915 },
2916 ref: ref
2917 }, rest));
2918});
2919var Modal = /*#__PURE__*/React__default.memo(function (_ref6) {
2920 var _ref6$footerComponent = _ref6.footerComponent,
2921 FooterComponent = _ref6$footerComponent === void 0 ? null : _ref6$footerComponent,
2922 _ref6$headerComponent = _ref6.headerComponent,
2923 HeaderComponent = _ref6$headerComponent === void 0 ? null : _ref6$headerComponent,
2924 _ref6$isOpen = _ref6.isOpen,
2925 isOpen = _ref6$isOpen === void 0 ? false : _ref6$isOpen,
2926 children = _ref6.children,
2927 _ref6$noAnimation = _ref6.noAnimation,
2928 noAnimation = _ref6$noAnimation === void 0 ? false : _ref6$noAnimation,
2929 close = _ref6.close,
2930 props = _objectWithoutPropertiesLoose(_ref6, ["footerComponent", "headerComponent", "isOpen", "children", "noAnimation", "close"]);
2931
2932 var _useModalState = useModalState(),
2933 doCloseModal = _useModalState.doCloseModal;
2934
2935 var ref = React__default.useRef(null);
2936 React__default.useEffect(function () {
2937 var func = function func(event) {
2938 if (event.key === 'Escape') {
2939 if (close) {
2940 close();
2941 } else if (doCloseModal) {
2942 doCloseModal();
2943 }
2944 }
2945 };
2946
2947 if (isOpen) {
2948 var _window, _window$document;
2949
2950 typeof window !== 'undefined' && ((_window = window) === null || _window === void 0 ? void 0 : (_window$document = _window.document) === null || _window$document === void 0 ? void 0 : _window$document.createElement) && document.addEventListener('keydown', func);
2951 }
2952
2953 return function () {
2954 var _window2, _window2$document;
2955
2956 typeof window !== 'undefined' && ((_window2 = window) === null || _window2 === void 0 ? void 0 : (_window2$document = _window2.document) === null || _window2$document === void 0 ? void 0 : _window2$document.createElement) && document.removeEventListener('keydown', func);
2957 };
2958 }, [isOpen, close]);
2959 var handler = isOpen ? close || doCloseModal || null : null;
2960 useOnClickOutside(ref, handler);
2961 return React__default.createElement(React__default.Fragment, null, React__default.createElement(ModalUnderlay, {
2962 isOpen: isOpen,
2963 noAnimation: noAnimation
2964 }), React__default.createElement(ModalWrapper, {
2965 isOpen: isOpen
2966 }, React__default.createElement(ModalCardContainer, Object.assign({
2967 ref: ref,
2968 isOpen: isOpen,
2969 noAnimation: noAnimation
2970 }, props), React__default.createElement(Header, {
2971 component: HeaderComponent
2972 }), React__default.createElement(Box, {
2973 overflowY: "auto"
2974 }, children), React__default.createElement(Footer, {
2975 component: FooterComponent
2976 }))));
2977});
2978var ModalProvider = function ModalProvider(props) {
2979 var _React$useState = React__default.useState(false),
2980 isOpen = _React$useState[0],
2981 setIsOpen = _React$useState[1];
2982
2983 var doOpenModal = function doOpenModal() {
2984 return !isOpen ? setIsOpen(true) : null;
2985 };
2986
2987 var doCloseModal = function doCloseModal() {
2988 return isOpen ? setIsOpen(false) : null;
2989 };
2990
2991 return React__default.createElement(ModalContext.Provider, {
2992 value: {
2993 isOpen: isOpen,
2994 doOpenModal: doOpenModal,
2995 doCloseModal: doCloseModal
2996 }
2997 }, props.children);
2998};
2999
3000var oppositeDirections = {
3001 top: 'bottom',
3002 bottom: 'top',
3003 right: 'left',
3004 left: 'right'
3005};
3006var getOppositePosition = function getOppositePosition(position) {
3007 return oppositeDirections[position];
3008};
3009
3010var splitPlacement = function splitPlacement(placement) {
3011 return placement.split('-');
3012};
3013
3014function getArrowStyles(placement, arrowSize) {
3015 var _ref;
3016
3017 var _splitPlacement = splitPlacement(placement),
3018 position = _splitPlacement[0];
3019
3020 var oppositePosition = getOppositePosition(position);
3021 if (!oppositePosition) return {};
3022 return _ref = {}, _ref[oppositePosition] = "-" + arrowSize / 2 + "px", _ref.width = arrowSize, _ref.height = arrowSize, _ref.position = 'absolute', _ref.transform = 'rotate(45deg)', _ref;
3023}
3024var isBrowser$2 = typeof window !== 'undefined';
3025var useSafeLayoutEffect$1 = isBrowser$2 ? React.useLayoutEffect : React.useEffect;
3026function usePopper(props) {
3027 var _props$placement = props.placement,
3028 initialPlacement = _props$placement === void 0 ? 'bottom' : _props$placement,
3029 offsetProp = props.offset,
3030 _props$preventOverflo = props.preventOverflow,
3031 preventOverflow = _props$preventOverflo === void 0 ? true : _props$preventOverflo,
3032 _props$fixed = props.fixed,
3033 fixed = _props$fixed === void 0 ? false : _props$fixed,
3034 _props$forceUpdate = props.forceUpdate,
3035 forceUpdate = _props$forceUpdate === void 0 ? true : _props$forceUpdate,
3036 _props$flip = props.flip,
3037 flip = _props$flip === void 0 ? true : _props$flip,
3038 _props$arrowSize = props.arrowSize,
3039 arrowSize = _props$arrowSize === void 0 ? 10 : _props$arrowSize,
3040 _props$gutter = props.gutter,
3041 gutter = _props$gutter === void 0 ? arrowSize : _props$gutter,
3042 _props$eventsEnabled = props.eventsEnabled,
3043 eventsEnabled = _props$eventsEnabled === void 0 ? true : _props$eventsEnabled;
3044 var popper = React.useRef(null);
3045 var referenceRef = React.useRef(null);
3046 var popoverRef = React.useRef(null);
3047 var arrowRef = React.useRef(null);
3048
3049 var _React$useState = React.useState(initialPlacement),
3050 originalPlacement = _React$useState[0],
3051 place = _React$useState[1];
3052
3053 var _React$useState2 = React.useState(initialPlacement),
3054 placement = _React$useState2[0],
3055 setPlacement = _React$useState2[1];
3056
3057 var _React$useState3 = React.useState(offsetProp || [0, gutter]),
3058 offset = _React$useState3[0];
3059
3060 var _React$useState4 = React.useState({}),
3061 popoverStyles = _React$useState4[0],
3062 setPopoverStyles = _React$useState4[1];
3063
3064 var _React$useState5 = React.useState({}),
3065 arrowStyles = _React$useState5[0],
3066 setArrowStyles = _React$useState5[1];
3067
3068 var update = React.useCallback(function () {
3069 if (popper.current) {
3070 popper.current.forceUpdate();
3071 return true;
3072 }
3073
3074 return false;
3075 }, []);
3076 useSafeLayoutEffect$1(function () {
3077 if (referenceRef.current && popoverRef.current) {
3078 popper.current = core.createPopper(referenceRef.current, popoverRef.current, {
3079 placement: originalPlacement,
3080 strategy: fixed ? 'fixed' : 'absolute',
3081 modifiers: [{
3082 name: 'eventListener',
3083 phase: 'write',
3084 enabled: eventsEnabled
3085 }, {
3086 name: 'applyStyles',
3087 enabled: false
3088 }, {
3089 name: 'flip',
3090 enabled: flip,
3091 options: {
3092 padding: 8
3093 }
3094 }, {
3095 name: 'computeStyles',
3096 options: {
3097 gpuAcceleration: false
3098 }
3099 }, {
3100 name: 'offset',
3101 options: {
3102 offset: offset
3103 }
3104 }, {
3105 name: 'preventOverflow',
3106 enabled: preventOverflow,
3107 options: {
3108 tetherOffset: function tetherOffset() {
3109 var _arrowRef$current;
3110
3111 return ((_arrowRef$current = arrowRef.current) === null || _arrowRef$current === void 0 ? void 0 : _arrowRef$current.clientWidth) || 0;
3112 }
3113 }
3114 }, {
3115 name: 'arrow',
3116 enabled: Boolean(arrowRef.current),
3117 options: {
3118 element: arrowRef.current
3119 }
3120 }, {
3121 name: 'updateState',
3122 phase: 'write',
3123 enabled: true,
3124 fn: function fn(_ref2) {
3125 var state = _ref2.state;
3126 setPlacement(state.placement);
3127 setPopoverStyles(state.styles.popper);
3128 setArrowStyles(state.styles.arrow);
3129 }
3130 }]
3131 });
3132 }
3133
3134 return function () {
3135 if (popper.current) {
3136 popper.current.destroy();
3137 popper.current = null;
3138 }
3139 };
3140 }, [originalPlacement, fixed, forceUpdate, flip, offset, preventOverflow]);
3141 useSafeLayoutEffect$1(function () {
3142 requestAnimationFrame(function () {
3143 if (forceUpdate) {
3144 var _popper$current;
3145
3146 (_popper$current = popper.current) === null || _popper$current === void 0 ? void 0 : _popper$current.forceUpdate();
3147 }
3148 });
3149 }, [forceUpdate]);
3150
3151 var computedArrowStyles = _objectSpread2({}, arrowStyles, {}, getArrowStyles(placement, arrowSize));
3152
3153 return {
3154 popperInstance: popper.current,
3155 reference: {
3156 ref: referenceRef
3157 },
3158 popper: {
3159 ref: popoverRef,
3160 style: popoverStyles
3161 },
3162 arrow: {
3163 ref: arrowRef,
3164 style: computedArrowStyles
3165 },
3166 update: update,
3167 placement: placement,
3168 place: place
3169 };
3170}
3171
3172var _createContext = /*#__PURE__*/createContext({
3173 strict: false
3174}),
3175 usePortalManager = _createContext[1];
3176
3177var _createContext$1 = /*#__PURE__*/createContext({
3178 strict: false
3179}),
3180 PortalCtxProvider = _createContext$1[0],
3181 usePortalContext = _createContext$1[1];
3182
3183function Portal(props) {
3184 var onMount = props.onMount,
3185 onUnmount = props.onUnmount,
3186 children = props.children,
3187 containerProp = props.container;
3188
3189 var _React$useState = React.useState(function () {
3190 if (isBrowser) {
3191 var div = document.createElement('div');
3192 div.className = 'portal';
3193 return div;
3194 }
3195
3196 return null;
3197 }),
3198 portal = _React$useState[0];
3199
3200 var parentPortal = usePortalContext();
3201 var manager = usePortalManager();
3202 var append = React.useCallback(function (container) {
3203 if (!portal || !container) return;
3204 container.appendChild(portal);
3205 }, [portal]);
3206 useSafeLayoutEffect(function () {
3207 var _ref, _ref2;
3208
3209 var mountNode = containerProp === null || containerProp === void 0 ? void 0 : containerProp();
3210 var container = (_ref = (_ref2 = mountNode !== null && mountNode !== void 0 ? mountNode : parentPortal) !== null && _ref2 !== void 0 ? _ref2 : manager === null || manager === void 0 ? void 0 : manager.node) !== null && _ref !== void 0 ? _ref : document.body;
3211 append(container);
3212 onMount === null || onMount === void 0 ? void 0 : onMount();
3213 return function () {
3214 onUnmount === null || onUnmount === void 0 ? void 0 : onUnmount();
3215 if (!portal) return;
3216
3217 if (container === null || container === void 0 ? void 0 : container.contains(portal)) {
3218 container === null || container === void 0 ? void 0 : container.removeChild(portal);
3219 }
3220 };
3221 }, [containerProp, portal, parentPortal, onMount, onUnmount, manager && manager.node, append]);
3222 var finalChildren = (manager === null || manager === void 0 ? void 0 : manager.zIndex) ? React.createElement("div", {
3223 className: "portal-zIndex",
3224 style: {
3225 zIndex: manager.zIndex
3226 }
3227 }, children) : children;
3228
3229 if (!portal) {
3230 return React.createElement(React.Fragment, null, finalChildren);
3231 }
3232
3233 return reactDom.createPortal(React.createElement(PortalCtxProvider, {
3234 value: portal
3235 }, finalChildren), portal);
3236}
3237
3238{
3239 Portal.displayName = 'Portal';
3240}
3241
3242var Stack = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
3243 var isInline = _ref.isInline,
3244 children = _ref.children,
3245 align = _ref.align,
3246 justify = _ref.justify,
3247 _ref$spacing = _ref.spacing,
3248 spacing = _ref$spacing === void 0 ? 2 : _ref$spacing,
3249 shouldWrapChildren = _ref.shouldWrapChildren,
3250 rest = _objectWithoutPropertiesLoose(_ref, ["isInline", "children", "align", "justify", "spacing", "shouldWrapChildren"]);
3251
3252 var validChildren = Array.isArray(children) ? children.filter(React.isValidElement) : [];
3253 return React__default.createElement(Flex, Object.assign({
3254 align: align,
3255 justify: justify,
3256 flexDir: isInline ? 'row' : 'column',
3257 ref: ref
3258 }, rest), React.Children.map(validChildren, function (child, index) {
3259 if (!React.isValidElement(child)) {
3260 return null;
3261 }
3262
3263 if (!Array.isArray(children)) {
3264 return null;
3265 }
3266
3267 var isLastChild = validChildren.length === index + 1;
3268 var spacingProps = isInline ? {
3269 mr: isLastChild ? undefined : spacing
3270 } : {
3271 mb: isLastChild ? undefined : spacing
3272 };
3273
3274 if (shouldWrapChildren) {
3275 return React__default.createElement(Box, Object.assign({
3276 d: "inline-block"
3277 }, spacingProps), child);
3278 }
3279
3280 return React.cloneElement(child, spacingProps);
3281 }));
3282});
3283Stack.displayName = 'Stack';
3284
3285var Transition = function Transition(_ref) {
3286 var styles = _ref.styles,
3287 inProp = _ref["in"],
3288 _ref$timeout = _ref.timeout,
3289 timeout = _ref$timeout === void 0 ? 200 : _ref$timeout,
3290 _ref$transition = _ref.transition,
3291 transition = _ref$transition === void 0 ? "all " + timeout + "ms cubic-bezier(0.23, 1, 0.32, 1)" : _ref$transition,
3292 children = _ref.children,
3293 rest = _objectWithoutPropertiesLoose(_ref, ["styles", "in", "timeout", "transition", "children"]);
3294
3295 var computedStyle = function computedStyle(state) {
3296 return _objectSpread2({}, styles.init, {
3297 transition: transition
3298 }, styles[state]);
3299 };
3300
3301 return React.createElement(CSSTransition, Object.assign({
3302 appear: true,
3303 unmountOnExit: true,
3304 "in": inProp,
3305 timeout: timeout
3306 }, rest), function (state) {
3307 return children(computedStyle(state));
3308 });
3309};
3310
3311var styles = {
3312 init: {
3313 opacity: 0
3314 },
3315 entered: {
3316 opacity: 1
3317 },
3318 exiting: {
3319 opacity: 0
3320 }
3321};
3322var Fade = function Fade(_ref) {
3323 var _ref$timeout = _ref.timeout,
3324 timeout = _ref$timeout === void 0 ? 250 : _ref$timeout,
3325 rest = _objectWithoutPropertiesLoose(_ref, ["timeout"]);
3326
3327 return React.createElement(Transition, Object.assign({
3328 transition: "all " + timeout + "ms cubic-bezier(0.175, 0.885, 0.320, 1.175)",
3329 styles: styles,
3330 timeout: {
3331 enter: 50,
3332 exit: timeout
3333 }
3334 }, rest));
3335};
3336
3337var getTransitionStyles = function getTransitionStyles(initialScale) {
3338 return {
3339 init: {
3340 opacity: 0,
3341 transform: "scale(" + initialScale + ")"
3342 },
3343 entered: {
3344 opacity: 1,
3345 transform: 'scale(1)'
3346 },
3347 exiting: {
3348 opacity: 0,
3349 transform: "scale(" + initialScale + ")"
3350 }
3351 };
3352};
3353
3354var ScaleFade = function ScaleFade(_ref) {
3355 var _ref$initialScale = _ref.initialScale,
3356 initialScale = _ref$initialScale === void 0 ? 0.9 : _ref$initialScale,
3357 _ref$timeout = _ref.timeout,
3358 timeout = _ref$timeout === void 0 ? 300 : _ref$timeout,
3359 rest = _objectWithoutPropertiesLoose(_ref, ["initialScale", "timeout"]);
3360
3361 return React.createElement(Transition, Object.assign({
3362 styles: React.useMemo(function () {
3363 return getTransitionStyles(initialScale);
3364 }, [initialScale]),
3365 transition: "all " + timeout + "ms cubic-bezier(0.45, 0, 0.40, 1)",
3366 timeout: {
3367 enter: 50,
3368 exit: timeout
3369 },
3370 unmountOnExit: true
3371 }, rest));
3372};
3373
3374var createBaseStyle = function createBaseStyle(placement) {
3375 switch (placement) {
3376 case 'bottom':
3377 {
3378 return {
3379 maxWidth: '100vw',
3380 bottom: 0,
3381 left: 0,
3382 right: 0
3383 };
3384 }
3385
3386 case 'top':
3387 {
3388 return {
3389 maxWidth: '100vw',
3390 top: 0,
3391 left: 0,
3392 right: 0
3393 };
3394 }
3395
3396 case 'left':
3397 {
3398 return {
3399 width: '100%',
3400 height: '100vh',
3401 left: 0,
3402 top: 0
3403 };
3404 }
3405
3406 case 'right':
3407 {
3408 return {
3409 width: '100%',
3410 right: 0,
3411 top: 0,
3412 height: '100vh'
3413 };
3414 }
3415
3416 default:
3417 return undefined;
3418 }
3419};
3420
3421var getTransformStyle = function getTransformStyle(placement, value) {
3422 var axis = '';
3423 if (placement === 'left' || placement === 'right') axis = 'X';
3424 if (placement === 'top' || placement === 'bottom') axis = 'Y';
3425 return "translate" + axis + "(" + value + ")";
3426};
3427
3428var getTransitionStyles$1 = function getTransitionStyles(placement) {
3429 var offset = {
3430 bottom: '100%',
3431 top: '-100%',
3432 left: '-100%',
3433 right: '100%'
3434 };
3435 return {
3436 init: {
3437 transform: getTransformStyle(placement, offset[placement])
3438 },
3439 entered: {
3440 transform: getTransformStyle(placement, '0%')
3441 },
3442 exiting: {
3443 transform: getTransformStyle(placement, offset[placement])
3444 }
3445 };
3446};
3447
3448function Slide(props) {
3449 var _props$placement = props.placement,
3450 placement = _props$placement === void 0 ? 'left' : _props$placement,
3451 _props$timeout = props.timeout,
3452 timeout = _props$timeout === void 0 ? 250 : _props$timeout,
3453 children = props.children,
3454 rest = _objectWithoutPropertiesLoose(props, ["placement", "timeout", "children"]);
3455
3456 var styles = getTransitionStyles$1(placement);
3457
3458 var positionStyles = _objectSpread2({
3459 position: 'fixed',
3460 willChange: 'transform'
3461 }, createBaseStyle(placement));
3462
3463 return React.createElement(Transition, Object.assign({
3464 styles: styles,
3465 transition: "all " + timeout + "ms cubic-bezier(0, 0, 0.2, 1)",
3466 timeout: {
3467 enter: 50,
3468 exit: timeout
3469 }
3470 }, rest), function (styles) {
3471 return children(_objectSpread2({}, positionStyles, {}, styles));
3472 });
3473}
3474
3475function getTransitionStyles$2(initialOffset) {
3476 return {
3477 init: {
3478 opacity: 0,
3479 transform: "translateY(" + initialOffset + ")"
3480 },
3481 entered: {
3482 opacity: 1,
3483 transform: 'translateY(0px)'
3484 },
3485 exiting: {
3486 opacity: 0,
3487 transform: "translateY(" + initialOffset + ")"
3488 }
3489 };
3490}
3491
3492var SlideFade = function SlideFade(props) {
3493 var _props$initialOffset = props.initialOffset,
3494 initialOffset = _props$initialOffset === void 0 ? '20px' : _props$initialOffset,
3495 _props$timeout = props.timeout,
3496 timeout = _props$timeout === void 0 ? 150 : _props$timeout,
3497 rest = _objectWithoutPropertiesLoose(props, ["initialOffset", "timeout"]);
3498
3499 var styles = getTransitionStyles$2(initialOffset);
3500 return React.createElement(Transition, Object.assign({
3501 styles: styles,
3502 transition: "all " + timeout + "ms cubic-bezier(0.4, 0.14, 0.3, 1)",
3503 timeout: {
3504 enter: 50,
3505 exit: timeout
3506 }
3507 }, rest));
3508};
3509
3510var toneToIcon = {
3511 critical: ExclamationMarkCircleIcon,
3512 positive: CheckmarkCircleIcon,
3513 none: function none() {
3514 return null;
3515 }
3516};
3517
3518var Action = function Action(_ref) {
3519 var label = _ref.label,
3520 onClick = _ref.onClick,
3521 removeToast = _ref.removeToast,
3522 rest = _objectWithoutPropertiesLoose(_ref, ["label", "onClick", "removeToast"]);
3523
3524 var handleClick = React.useCallback(function () {
3525 removeToast();
3526 onClick();
3527 }, [removeToast, onClick]);
3528 return React__default.createElement(Box, Object.assign({
3529 _hover: {
3530 cursor: 'pointer',
3531 textDecoration: 'underline'
3532 },
3533 onClick: handleClick,
3534 "aria-hidden": true
3535 }, rest), React__default.createElement(Text, null, label));
3536};
3537
3538var getCustomProps = function getCustomProps(props) {
3539 var _props, _props2, _props3, _props4, _props5, _props5$icon, _props6, _props7;
3540
3541 if (props === void 0) {
3542 props = {};
3543 }
3544
3545 return {
3546 message: _objectSpread2({
3547 color: 'ink'
3548 }, (_props = props) === null || _props === void 0 ? void 0 : _props.message),
3549 description: _objectSpread2({
3550 color: 'ink.600'
3551 }, (_props2 = props) === null || _props2 === void 0 ? void 0 : _props2.description),
3552 toast: _objectSpread2({
3553 background: 'white',
3554 borderColor: 'inherit',
3555 boxShadow: 'high'
3556 }, (_props3 = props) === null || _props3 === void 0 ? void 0 : _props3.toast),
3557 icon: _objectSpread2({}, (_props4 = props) === null || _props4 === void 0 ? void 0 : _props4.icon, {
3558 color: _objectSpread2({
3559 critical: 'red',
3560 positive: 'green'
3561 }, (_props5 = props) === null || _props5 === void 0 ? void 0 : (_props5$icon = _props5.icon) === null || _props5$icon === void 0 ? void 0 : _props5$icon.color)
3562 }),
3563 close: _objectSpread2({
3564 color: 'ink.600'
3565 }, (_props6 = props) === null || _props6 === void 0 ? void 0 : _props6.close),
3566 action: _objectSpread2({
3567 color: 'blue',
3568 fontSize: '14px'
3569 }, (_props7 = props) === null || _props7 === void 0 ? void 0 : _props7.action)
3570 };
3571};
3572
3573var CloseButton = function CloseButton(_ref2) {
3574 var onClick = _ref2.onClick,
3575 rest = _objectWithoutPropertiesLoose(_ref2, ["onClick"]);
3576
3577 var _useHover = useEvents.useHover(),
3578 hover = _useHover[0],
3579 bind = _useHover[1];
3580
3581 var _useFocus = useEvents.useFocus(),
3582 focus = _useFocus[0],
3583 focusBind = _useFocus[1];
3584
3585 return React__default.createElement(Flex, Object.assign({
3586 position: "relative",
3587 justify: "center",
3588 cursor: hover ? 'pointer' : 'unset',
3589 onClick: onClick
3590 }, bind, rest), React__default.createElement(Box, Object.assign({
3591 ml: "tight",
3592 mt: "extra-tight",
3593 opacity: hover ? 1 : 0.5,
3594 as: "button",
3595 role: "button",
3596 "aria-label": "Close popup",
3597 title: "Close",
3598 style: {
3599 outline: 'none'
3600 },
3601 position: "relative",
3602 zIndex: 99,
3603 transition: transition
3604 }, focusBind), React__default.createElement(CloseIcon, {
3605 size: "12px"
3606 })), React__default.createElement(Box, {
3607 size: "24px",
3608 bg: "currentColor",
3609 borderRadius: "100%",
3610 position: "absolute",
3611 left: "-50%",
3612 top: "-50%",
3613 opacity: hover ? 0.1 : 0,
3614 transform: "translate3d(12px, 6px, 0)",
3615 transition: transition,
3616 boxShadow: focus ? 'focus' : 'unset'
3617 }));
3618};
3619
3620var Description = function Description(_ref3) {
3621 var children = _ref3.children,
3622 rest = _objectWithoutPropertiesLoose(_ref3, ["children"]);
3623
3624 return React__default.createElement(Text, Object.assign({
3625 fontSize: "14px",
3626 style: {
3627 wordBreak: 'break-word'
3628 },
3629 display: "block"
3630 }, rest), children);
3631};
3632
3633var Message = function Message(_ref4) {
3634 var children = _ref4.children,
3635 rest = _objectWithoutPropertiesLoose(_ref4, ["children"]);
3636
3637 return React__default.createElement(Text, Object.assign({
3638 fontWeight: "600",
3639 display: "block"
3640 }, rest), children);
3641};
3642
3643var ToastContent = function ToastContent(_ref5) {
3644 var _ref5$styles = _ref5.styles,
3645 styles = _ref5$styles === void 0 ? {} : _ref5$styles,
3646 message = _ref5.message,
3647 description = _ref5.description,
3648 action = _ref5.action,
3649 remove = _ref5.remove,
3650 rest = _objectWithoutPropertiesLoose(_ref5, ["styles", "message", "description", "action", "remove"]);
3651
3652 return description ? React__default.createElement(Stack, Object.assign({
3653 spacing: "tight"
3654 }, rest), React__default.createElement(Message, Object.assign({}, styles === null || styles === void 0 ? void 0 : styles.message), message), description ? React__default.createElement(Description, Object.assign({}, styles === null || styles === void 0 ? void 0 : styles.description), description) : null, action ? React__default.createElement(Action, Object.assign({
3655 key: action.label,
3656 removeToast: remove
3657 }, action, styles.action)) : null) : React__default.createElement(Stack, Object.assign({
3658 spacing: "tight"
3659 }, rest), React__default.createElement(Message, Object.assign({}, styles === null || styles === void 0 ? void 0 : styles.message), message), action ? React__default.createElement(Action, Object.assign({
3660 key: action.label,
3661 removeToast: remove
3662 }, action, styles.action)) : null);
3663};
3664
3665var Toast = /*#__PURE__*/React__default.forwardRef(function (_ref6, ref) {
3666 var _rect$height;
3667
3668 var propsId = _ref6.id,
3669 message = _ref6.message,
3670 description = _ref6.description,
3671 _ref6$tone = _ref6.tone,
3672 tone = _ref6$tone === void 0 ? 'none' : _ref6$tone,
3673 onClear = _ref6.onClear,
3674 action = _ref6.action,
3675 _ref6$toastProps = _ref6.toastProps,
3676 toastProps = _ref6$toastProps === void 0 ? {} : _ref6$toastProps;
3677 var id = autoId.useId(propsId);
3678 var styles = React.useMemo(function () {
3679 return getCustomProps(toastProps);
3680 }, [toastProps]);
3681 var remove = React.useCallback(function () {
3682 return onClear(id);
3683 }, [onClear, id]);
3684 var toastRef = React.useRef(null);
3685 var rect$1 = rect.useRect(toastRef);
3686
3687 var _React$useState = React__default.useState(true),
3688 show = _React$useState[0],
3689 setShow = _React$useState[1];
3690
3691 var height = (_rect$height = rect$1 === null || rect$1 === void 0 ? void 0 : rect$1.height) !== null && _rect$height !== void 0 ? _rect$height : 0;
3692
3693 var onExit = function onExit() {
3694 if (!show) {
3695 onClear(id);
3696 }
3697 };
3698
3699 var onClose = React__default.useCallback(function () {
3700 setShow(false);
3701 }, []);
3702
3703 var _useTimeout = useTimeout({
3704 duration: 7200,
3705 onTimeout: onClose
3706 }),
3707 stopTimeout = _useTimeout.stopTimeout,
3708 startTimeout = _useTimeout.startTimeout;
3709
3710 var animationStyles = {
3711 init: {
3712 opacity: 0,
3713 height: 0,
3714 transform: 'scale(1)'
3715 },
3716 entered: {
3717 opacity: 1,
3718 height: height,
3719 transform: 'scale(1)'
3720 },
3721 exiting: {
3722 opacity: 0,
3723 height: 0,
3724 transform: 'scale(0.9)'
3725 }
3726 };
3727 var noIcon = tone === 'none';
3728 var Icon = toneToIcon[tone];
3729 return React__default.createElement(Transition, {
3730 styles: animationStyles,
3731 "in": show,
3732 onExited: onExit,
3733 timeout: 350
3734 }, function (transitionStyles) {
3735 return React__default.createElement(Box, {
3736 onMouseEnter: stopTimeout,
3737 onMouseLeave: startTimeout,
3738 style: _objectSpread2({
3739 willChange: 'transform, height, opacity'
3740 }, transitionStyles),
3741 ref: ref
3742 }, React__default.createElement(Flex, {
3743 justify: "center",
3744 as: ReachAlert,
3745 maxWidth: "100%",
3746 pb: "tight",
3747 px: "tight",
3748 ref: toastRef
3749 }, React__default.createElement(Box, Object.assign({
3750 p: "base",
3751 border: "1px solid",
3752 borderColor: "inherit",
3753 borderRadius: "6px",
3754 maxWidth: "100%"
3755 }, styles.toast, {
3756 style: {
3757 pointerEvents: 'all'
3758 }
3759 }), React__default.createElement(Box, {
3760 position: "relative"
3761 }, React__default.createElement(Flex, {
3762 align: "flex-start"
3763 }, tone !== 'none' ? React__default.createElement(Box, Object.assign({
3764 pt: "extra-tight",
3765 pr: "tight"
3766 }, styles === null || styles === void 0 ? void 0 : styles.icon, {
3767 color: styles.icon.color[tone]
3768 }), React__default.createElement(Icon, {
3769 size: "16px"
3770 })) : null, React__default.createElement(Box, {
3771 pr: noIcon ? 'unset' : 'base'
3772 }, React__default.createElement(ToastContent, {
3773 message: message,
3774 description: description,
3775 action: action,
3776 styles: styles,
3777 remove: remove
3778 })), React__default.createElement(CloseButton, {
3779 onClick: onClose
3780 }))))));
3781 });
3782});
3783
3784var Toaster = function Toaster(_ref) {
3785 var toasts = _ref.toasts,
3786 removeToast = _ref.removeToast,
3787 rest = _objectWithoutPropertiesLoose(_ref, ["toasts", "removeToast"]);
3788
3789 var onClear = React.useCallback(function (id) {
3790 removeToast(id);
3791 }, [removeToast]);
3792 return React__default.createElement(Flex, Object.assign({
3793 align: "center",
3794 justify: "flex-end",
3795 flexDirection: "column",
3796 position: "fixed",
3797 width: "100%",
3798 height: "100vh",
3799 bottom: 0,
3800 zIndex: 9999999,
3801 style: {
3802 pointerEvents: 'none'
3803 }
3804 }, rest), toasts.map(function (_ref2) {
3805 var id = _ref2.id,
3806 rest = _objectWithoutPropertiesLoose(_ref2, ["id"]);
3807
3808 return React__default.createElement(Box, {
3809 key: id
3810 }, React__default.createElement(Toast, Object.assign({
3811 id: id,
3812 onClear: onClear
3813 }, rest)));
3814 }));
3815};
3816
3817var toastCounter = 0;
3818var ToastControllerContext = /*#__PURE__*/React.createContext(null);
3819var QUEUE_TOAST = 0;
3820var REMOVE_TOAST = 1;
3821
3822function reducer(state, action) {
3823 switch (action.type) {
3824 case QUEUE_TOAST:
3825 {
3826 return _objectSpread2({}, state, {
3827 toasts: [].concat(state.toasts, [action.payload])
3828 });
3829 }
3830
3831 case REMOVE_TOAST:
3832 {
3833 var toasts = state.toasts.filter(function (_ref) {
3834 var id = _ref.id;
3835 return id !== action.payload;
3836 });
3837 return _objectSpread2({}, state, {
3838 toasts: toasts
3839 });
3840 }
3841 }
3842
3843 return state;
3844}
3845
3846var InternalToastProvider = function InternalToastProvider(_ref2) {
3847 var children = _ref2.children;
3848
3849 var _useReducer = React.useReducer(reducer, {
3850 toasts: []
3851 }),
3852 toasts = _useReducer[0].toasts,
3853 dispatch = _useReducer[1];
3854
3855 var addToast = React.useCallback(function (props) {
3856 return dispatch({
3857 type: QUEUE_TOAST,
3858 payload: props
3859 });
3860 }, []);
3861 var removeToast = React.useCallback(function (id) {
3862 return dispatch({
3863 type: REMOVE_TOAST,
3864 payload: id
3865 });
3866 }, []);
3867 return React__default.createElement(ToastControllerContext.Provider, {
3868 value: addToast
3869 }, children, React__default.createElement(Portal, null, React__default.createElement(Toaster, {
3870 toasts: toasts,
3871 removeToast: removeToast
3872 })));
3873};
3874
3875var ToastProvider = function ToastProvider(_ref3) {
3876 var children = _ref3.children;
3877 var currentContext = React.useContext(ToastControllerContext);
3878
3879 if (currentContext !== null) {
3880 return React__default.createElement(React__default.Fragment, null, children);
3881 }
3882
3883 return React__default.createElement(InternalToastProvider, null, children);
3884};
3885var useToast = function useToast() {
3886 var addToast = React.useContext(ToastControllerContext);
3887
3888 if (addToast === null) {
3889 throw new Error('No "ToastProvider" configured');
3890 }
3891
3892 return React.useCallback(function (props) {
3893 return addToast(_objectSpread2({}, props, {
3894 id: "" + toastCounter++
3895 }));
3896 }, [addToast]);
3897};
3898
3899var hideOperation;
3900var activeId = null;
3901
3902function show(fn, delay) {
3903 var _hideOperation;
3904
3905 var isHidePending = (_hideOperation = hideOperation) === null || _hideOperation === void 0 ? void 0 : _hideOperation.pending();
3906
3907 if (isHidePending) {
3908 hideOperation.flush();
3909 }
3910
3911 var showOperation = flushable(function () {
3912 return fn(isHidePending);
3913 }, isHidePending ? 0 : delay);
3914 return showOperation.cancel;
3915}
3916
3917function hide(fn, delay) {
3918 hideOperation = flushable(function (flushed) {
3919 return fn(flushed);
3920 }, delay);
3921 return hideOperation.cancel;
3922}
3923
3924function useTooltip(props) {
3925 if (props === void 0) {
3926 props = {};
3927 }
3928
3929 var _props = props,
3930 _props$showDelay = _props.showDelay,
3931 showDelay = _props$showDelay === void 0 ? 200 : _props$showDelay,
3932 _props$hideDelay = _props.hideDelay,
3933 hideDelay = _props$hideDelay === void 0 ? 200 : _props$hideDelay,
3934 _props$hideOnClick = _props.hideOnClick,
3935 hideOnClick = _props$hideOnClick === void 0 ? false : _props$hideOnClick,
3936 onShow = _props.onShow,
3937 onHide = _props.onHide,
3938 hideOnMouseDown = _props.hideOnMouseDown,
3939 placement = _props.placement,
3940 id = _props.id,
3941 isOpenProp = _props.isOpen,
3942 defaultIsOpen = _props.defaultIsOpen,
3943 _props$arrowSize = _props.arrowSize,
3944 arrowSize = _props$arrowSize === void 0 ? 10 : _props$arrowSize,
3945 _label = _props.label;
3946
3947 var _React$useState = React.useState(_label),
3948 label = _React$useState[0],
3949 setLabel = _React$useState[1];
3950
3951 var labelIsUpToDate = _label === label;
3952 if (!labelIsUpToDate) setLabel(_label);
3953
3954 var _useDisclosure = useDisclosure({
3955 isOpen: isOpenProp,
3956 defaultIsOpen: defaultIsOpen,
3957 onOpen: onShow,
3958 onClose: onHide
3959 }),
3960 isOpen = _useDisclosure.isOpen,
3961 open = _useDisclosure.onOpen,
3962 close = _useDisclosure.onClose;
3963
3964 var popper = usePopper({
3965 forceUpdate: isOpen && labelIsUpToDate,
3966 placement: placement,
3967 arrowSize: arrowSize
3968 });
3969 var tooltipId = useId(id, 'tooltip');
3970 var ref = React.useRef(null);
3971 var triggerRef = useMergeRefs(ref, popper.reference.ref);
3972 var flushRef = React.useRef();
3973 React.useEffect(function () {
3974 return function () {
3975 var _flushRef$current;
3976
3977 return (_flushRef$current = flushRef.current) === null || _flushRef$current === void 0 ? void 0 : _flushRef$current.call(flushRef);
3978 };
3979 }, []);
3980 var hideImmediately = React.useCallback(function () {
3981 var _flushRef$current2;
3982
3983 (_flushRef$current2 = flushRef.current) === null || _flushRef$current2 === void 0 ? void 0 : _flushRef$current2.call(flushRef);
3984 close();
3985 }, [close]);
3986 var onClick = React.useCallback(function () {
3987 if (hideOnClick) {
3988 hideImmediately();
3989 }
3990 }, [hideOnClick, hideImmediately]);
3991 var onMouseDown = React.useCallback(function () {
3992 if (hideOnMouseDown) {
3993 hideImmediately();
3994 }
3995 }, [hideOnMouseDown, hideImmediately]);
3996 var showTooltip = React.useCallback(function () {
3997 var _flushRef$current3;
3998
3999 (_flushRef$current3 = flushRef.current) === null || _flushRef$current3 === void 0 ? void 0 : _flushRef$current3.call(flushRef);
4000
4001 if (tooltipId !== activeId) {
4002 hideImmediately();
4003 }
4004
4005 activeId = tooltipId;
4006
4007 if (!isOpen) {
4008 flushRef.current = show(function () {
4009 open();
4010 }, showDelay);
4011 }
4012 }, [isOpen, showDelay, open, tooltipId, hideImmediately]);
4013 var hideTooltip = React.useCallback(function () {
4014 var _flushRef$current4;
4015
4016 (_flushRef$current4 = flushRef.current) === null || _flushRef$current4 === void 0 ? void 0 : _flushRef$current4.call(flushRef);
4017 activeId = null;
4018
4019 if (isOpen) {
4020 flushRef.current = hide(function () {
4021 close();
4022 }, hideDelay);
4023 }
4024 }, [isOpen, hideDelay, close]);
4025 var onMouseOver = React.useCallback(function (event) {
4026 var isSelf = event.target === ref.current;
4027
4028 if (isOpen && isSelf) {
4029 return;
4030 }
4031
4032 showTooltip();
4033 }, [isOpen, showTooltip]);
4034 var onKeyDown = React.useCallback(function (event) {
4035 if (isOpen && event.key === 'Escape') {
4036 hideImmediately();
4037 }
4038 }, [isOpen, hideImmediately]);
4039 useEventListener('keydown', onKeyDown);
4040 return {
4041 isOpen: isOpen,
4042 show: open,
4043 hide: close,
4044 placement: popper.placement,
4045 getTriggerProps: function getTriggerProps(props) {
4046 if (props === void 0) {
4047 props = {};
4048 }
4049
4050 return _objectSpread2({}, props, {
4051 ref: mergeRefs(props.ref, triggerRef),
4052 onMouseOut: callAllHandlers(props.onMouseOut, hideTooltip),
4053 onMouseOver: callAllHandlers(props.onMouseOver, onMouseOver),
4054 onClick: callAllHandlers(props.onClick, onClick),
4055 onMouseDown: callAllHandlers(props.onMouseDown, onMouseDown),
4056 onFocus: callAllHandlers(props.onFocus, showTooltip),
4057 onBlur: callAllHandlers(props.onBlur, hideTooltip),
4058 'aria-describedby': isOpen ? tooltipId : undefined
4059 });
4060 },
4061 getTooltipProps: function getTooltipProps(props) {
4062 if (props === void 0) {
4063 props = {};
4064 }
4065
4066 return _objectSpread2({}, props, {
4067 id: tooltipId,
4068 role: 'tooltip',
4069 ref: mergeRefs(props.ref, popper.popper.ref),
4070 style: _objectSpread2({}, props.style, {}, popper.popper.style)
4071 });
4072 },
4073 getArrowProps: function getArrowProps(props) {
4074 if (props === void 0) {
4075 props = {};
4076 }
4077
4078 return _objectSpread2({}, props, {
4079 ref: mergeRefs(props.ref, popper.arrow.ref),
4080 style: _objectSpread2({}, props.style, {}, popper.arrow.style)
4081 });
4082 }
4083 };
4084}
4085
4086function Tooltip(props) {
4087 var children = props.children,
4088 label = props.label,
4089 shouldWrapChildren = props.shouldWrapChildren,
4090 ariaLabel = props['aria-label'],
4091 hasArrow = props.hasArrow,
4092 rest = _objectWithoutPropertiesLoose(props, ["children", "label", "shouldWrapChildren", "aria-label", "hasArrow"]);
4093
4094 if (!label || label === '') {
4095 var child = React.Children.only(children);
4096 return React.cloneElement(child, _objectSpread2({}, child.props, {}, rest));
4097 }
4098
4099 var _useTooltip = useTooltip(props),
4100 isOpen = _useTooltip.isOpen,
4101 getTriggerProps = _useTooltip.getTriggerProps,
4102 getTooltipProps = _useTooltip.getTooltipProps,
4103 getArrowProps = _useTooltip.getArrowProps;
4104
4105 var trigger;
4106
4107 if (isString(children) || shouldWrapChildren) {
4108 trigger = React.createElement(Box, Object.assign({
4109 as: "span",
4110 tabIndex: 0
4111 }, getTriggerProps()), children);
4112 } else {
4113 var _child = React.Children.only(children);
4114
4115 trigger = React.cloneElement(_child, getTriggerProps(_child.props));
4116 }
4117
4118 var hasAriaLabel = Boolean(ariaLabel);
4119 var baseTooltipProps = getTooltipProps(rest);
4120
4121 var _ref = hasAriaLabel ? omit(baseTooltipProps, ['role', 'id']) : baseTooltipProps,
4122 style = _ref.style,
4123 tooltipProps = _objectWithoutPropertiesLoose(_ref, ["style"]);
4124
4125 var hiddenProps = pick(baseTooltipProps, ['role', 'id']);
4126 return React.createElement(React.Fragment, null, trigger, isOpen && React.createElement(Portal, null, React.createElement(Box, Object.assign({
4127 paddingX: "8px",
4128 paddingY: "tight",
4129 bg: "ink",
4130 color: "white",
4131 borderRadius: "6px",
4132 textStyle: "caption.medium",
4133 maxWidth: "320px"
4134 }, tooltipProps, {
4135 style: _objectSpread2({}, style, {
4136 useSelect: 'none'
4137 })
4138 }), label, hasAriaLabel && React.createElement(VisuallyHidden, Object.assign({}, hiddenProps), ariaLabel), hasArrow && React.createElement(Box, Object.assign({
4139 "data-arrow": "",
4140 bg: "inherit"
4141 }, getArrowProps())))));
4142}
4143
4144var copyToClipboard = function copyToClipboard(value) {
4145 var el = document.createElement('textarea');
4146 el.value = value;
4147 el.setAttribute('readonly', '');
4148 el.style.position = 'absolute';
4149 el.style.left = '-9999px';
4150 document.body.appendChild(el);
4151 var curSelection = document.getSelection();
4152 var selected = curSelection && curSelection.rangeCount > 0 ? curSelection.getRangeAt(0) : false;
4153 el.select();
4154 document.execCommand('copy');
4155 document.body.removeChild(el);
4156
4157 if (selected) {
4158 var _document$getSelectio, _document$getSelectio2;
4159
4160 (_document$getSelectio = document.getSelection()) === null || _document$getSelectio === void 0 ? void 0 : _document$getSelectio.removeAllRanges();
4161 (_document$getSelectio2 = document.getSelection()) === null || _document$getSelectio2 === void 0 ? void 0 : _document$getSelectio2.addRange(selected);
4162 }
4163};
4164
4165function useClipboard(value) {
4166 var _useState = React.useState(false),
4167 hasCopied = _useState[0],
4168 setHasCopied = _useState[1];
4169
4170 var onCopy = function onCopy() {
4171 copyToClipboard(value);
4172 setHasCopied(true);
4173 setTimeout(function () {
4174 return setHasCopied(false);
4175 }, 1500);
4176 };
4177
4178 return {
4179 value: value,
4180 onCopy: onCopy,
4181 hasCopied: hasCopied
4182 };
4183}
4184
4185var nativeExceptions = /*#__PURE__*/[EvalError, RangeError, ReferenceError, SyntaxError, TypeError, URIError].filter(function (except) {
4186 return typeof except === 'function';
4187});
4188
4189function throwNative(error) {
4190 for (var _iterator = _createForOfIteratorHelperLoose(nativeExceptions), _step; !(_step = _iterator()).done;) {
4191 var Exception = _step.value;
4192 if (error instanceof Exception) throw error;
4193 }
4194}
4195
4196function safeAwait(promise, finallyFn) {
4197 return promise.then(function (data) {
4198 if (data instanceof Error) {
4199 throwNative(data);
4200 return [data];
4201 }
4202
4203 return [undefined, data];
4204 })["catch"](function (error) {
4205 throwNative(error);
4206 return [error];
4207 })["finally"](function () {
4208 if (finallyFn) finallyFn();
4209 });
4210}
4211
4212exports.AppsIcon = AppsIcon;
4213exports.ArrowIcon = ArrowIcon;
4214exports.BlockchainIcon = BlockchainIcon;
4215exports.BlockstackIcon = BlockstackIcon;
4216exports.Box = Box;
4217exports.Button = Button;
4218exports.ButtonGroup = ButtonGroup;
4219exports.CSSReset = CSSReset;
4220exports.CheckmarkCircleIcon = CheckmarkCircleIcon;
4221exports.CheckmarkIcon = CheckmarkIcon;
4222exports.ChevronIcon = ChevronIcon;
4223exports.CloseIcon = CloseIcon;
4224exports.CodeBlock = CodeBlock;
4225exports.ColorModeContext = ColorModeContext;
4226exports.ColorModeProvider = ColorModeProvider;
4227exports.ColorModes = ColorModes;
4228exports.ConnectLogoIcon = ConnectLogoIcon;
4229exports.EncryptionIcon = EncryptionIcon;
4230exports.ExclamationMarkCircleIcon = ExclamationMarkCircleIcon;
4231exports.ExclamationMarkIcon = ExclamationMarkIcon;
4232exports.ExternalIcon = ExternalIcon;
4233exports.EyeIcon = EyeIcon;
4234exports.Fade = Fade;
4235exports.FailedIcon = FailedIcon;
4236exports.Flex = Flex;
4237exports.FormControl = FormControl;
4238exports.FormLabel = FormLabel;
4239exports.Grid = Grid;
4240exports.Highlighter = Highlighter;
4241exports.Input = Input;
4242exports.InputAddon = InputAddon;
4243exports.InputElement = InputElement;
4244exports.InputGroup = InputGroup;
4245exports.InputLeftAddon = InputLeftAddon;
4246exports.InputLeftElement = InputLeftElement;
4247exports.InputRightAddon = InputRightAddon;
4248exports.InputRightElement = InputRightElement;
4249exports.Modal = Modal;
4250exports.ModalProvider = ModalProvider;
4251exports.PadlockIcon = PadlockIcon;
4252exports.PlusCircleIcon = PlusCircleIcon;
4253exports.Portal = Portal;
4254exports.PrivateIcon = PrivateIcon;
4255exports.PseudoBox = Box;
4256exports.RequiredIndicator = RequiredIndicator;
4257exports.ScaleFade = ScaleFade;
4258exports.ScopedCSSReset = ScopedCSSReset;
4259exports.Slide = Slide;
4260exports.SlideFade = SlideFade;
4261exports.Spinner = Spinner;
4262exports.Stack = Stack;
4263exports.StyledBox = StyledBox;
4264exports.Svg = Svg;
4265exports.Text = Text;
4266exports.ThemeContext = ThemeContext;
4267exports.ThemeProvider = ThemeProvider;
4268exports.Toast = Toast;
4269exports.ToastProvider = ToastProvider;
4270exports.Toaster = Toaster;
4271exports.Tooltip = Tooltip;
4272exports.Transition = Transition;
4273exports.UnionLineIcon = UnionLineIcon;
4274exports.VisuallyHidden = VisuallyHidden;
4275exports.addBlack = addBlack;
4276exports.addOpacity = addOpacity;
4277exports.addWhite = addWhite;
4278exports.assignRef = assignRef$1;
4279exports.baseSizes = baseSizes;
4280exports.color = color;
4281exports.colorEmphasis = colorEmphasis;
4282exports.colorGet = colorGet;
4283exports.generateAlphaColors = generateAlphaColors;
4284exports.generateCssVariables = generateCssVariables;
4285exports.generateStripe = generateStripe;
4286exports.get = get;
4287exports.getArrowStyles = getArrowStyles;
4288exports.getOppositePosition = getOppositePosition;
4289exports.isDarkColor = isDarkColor;
4290exports.namedSpacingUnits = namedSpacingUnits;
4291exports.safeAwait = safeAwait;
4292exports.shadows = shadows;
4293exports.sizes = sizes;
4294exports.space = space;
4295exports.systemProps = systemProps;
4296exports.textStyles = textStyles;
4297exports.theme = theme;
4298exports.themeColor = themeColor;
4299exports.transition = transition;
4300exports.useClipboard = useClipboard;
4301exports.useColorMode = useColorMode;
4302exports.useControllableProp = useControllableProp;
4303exports.useControllableState = useControllableState;
4304exports.useDisclosure = useDisclosure;
4305exports.useEventListener = useEventListener;
4306exports.useForceUpdate = useForceUpdate;
4307exports.useFormControl = useFormControl;
4308exports.useFormControlContext = useFormControlContext;
4309exports.useId = useId;
4310exports.useIds = useIds;
4311exports.useLatestRef = useLatestRef;
4312exports.useMergeRefs = useMergeRefs;
4313exports.useModalState = useModalState;
4314exports.usePopper = usePopper;
4315exports.usePrevious = usePrevious;
4316exports.useSafeLayoutEffect = useSafeLayoutEffect;
4317exports.useTheme = useTheme;
4318exports.useTimeout = useTimeout;
4319exports.useToast = useToast;
4320//# sourceMappingURL=ui.cjs.development.js.map