UNPKG

149 kBJavaScriptView Raw
1(function (global, factory) {
2 typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('react'), require('@styled-system/should-forward-prop'), require('styled-components'), require('@styled-system/css'), require('styled-system'), require('use-events'), require('prism-react-renderer'), require('@reach/auto-id'), require('color'), require('@styled-system/theme-get'), require('prop-types'), require('use-onclickoutside'), require('@popperjs/core'), require('react-dom'), require('@reach/alert'), require('@reach/rect'), require('react-transition-group/Transition'), require('flushable')) :
3 typeof define === 'function' && define.amd ? define(['exports', 'react', '@styled-system/should-forward-prop', 'styled-components', '@styled-system/css', 'styled-system', 'use-events', 'prism-react-renderer', '@reach/auto-id', 'color', '@styled-system/theme-get', 'prop-types', 'use-onclickoutside', '@popperjs/core', 'react-dom', '@reach/alert', '@reach/rect', 'react-transition-group/Transition', 'flushable'], factory) :
4 (global = global || self, factory(global['@blockstack/ui'] = {}, global.React, global.shouldForwardProp, global.styled, global.css, global.styledSystem, global.useEvents, global.Highlight, global.autoId, global.Color, global.themeGet, global.propTypes, global.useOnClickOutside, global.core, global.reactDom, global.ReachAlert, global.rect, global.CSSTransition, global.flushable));
5}(this, (function (exports, React, shouldForwardProp, styled, css, styledSystem, useEvents, Highlight, autoId, Color, themeGet, propTypes, useOnClickOutside, core, reactDom, ReachAlert, rect, CSSTransition, flushable) { 'use strict';
6
7 var React__default = 'default' in React ? React['default'] : React;
8 var styled__default = 'default' in styled ? styled['default'] : styled;
9 css = css && Object.prototype.hasOwnProperty.call(css, 'default') ? css['default'] : css;
10 Highlight = Highlight && Object.prototype.hasOwnProperty.call(Highlight, 'default') ? Highlight['default'] : Highlight;
11 Color = Color && Object.prototype.hasOwnProperty.call(Color, 'default') ? Color['default'] : Color;
12 useOnClickOutside = useOnClickOutside && Object.prototype.hasOwnProperty.call(useOnClickOutside, 'default') ? useOnClickOutside['default'] : useOnClickOutside;
13 ReachAlert = ReachAlert && Object.prototype.hasOwnProperty.call(ReachAlert, 'default') ? ReachAlert['default'] : ReachAlert;
14 CSSTransition = CSSTransition && Object.prototype.hasOwnProperty.call(CSSTransition, 'default') ? CSSTransition['default'] : CSSTransition;
15 flushable = flushable && Object.prototype.hasOwnProperty.call(flushable, 'default') ? flushable['default'] : flushable;
16
17 function _defineProperty(obj, key, value) {
18 if (key in obj) {
19 Object.defineProperty(obj, key, {
20 value: value,
21 enumerable: true,
22 configurable: true,
23 writable: true
24 });
25 } else {
26 obj[key] = value;
27 }
28
29 return obj;
30 }
31
32 function ownKeys(object, enumerableOnly) {
33 var keys = Object.keys(object);
34
35 if (Object.getOwnPropertySymbols) {
36 var symbols = Object.getOwnPropertySymbols(object);
37 if (enumerableOnly) symbols = symbols.filter(function (sym) {
38 return Object.getOwnPropertyDescriptor(object, sym).enumerable;
39 });
40 keys.push.apply(keys, symbols);
41 }
42
43 return keys;
44 }
45
46 function _objectSpread2(target) {
47 for (var i = 1; i < arguments.length; i++) {
48 var source = arguments[i] != null ? arguments[i] : {};
49
50 if (i % 2) {
51 ownKeys(Object(source), true).forEach(function (key) {
52 _defineProperty(target, key, source[key]);
53 });
54 } else if (Object.getOwnPropertyDescriptors) {
55 Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
56 } else {
57 ownKeys(Object(source)).forEach(function (key) {
58 Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
59 });
60 }
61 }
62
63 return target;
64 }
65
66 function _objectWithoutPropertiesLoose(source, excluded) {
67 if (source == null) return {};
68 var target = {};
69 var sourceKeys = Object.keys(source);
70 var key, i;
71
72 for (i = 0; i < sourceKeys.length; i++) {
73 key = sourceKeys[i];
74 if (excluded.indexOf(key) >= 0) continue;
75 target[key] = source[key];
76 }
77
78 return target;
79 }
80
81 function _taggedTemplateLiteralLoose(strings, raw) {
82 if (!raw) {
83 raw = strings.slice(0);
84 }
85
86 strings.raw = raw;
87 return strings;
88 }
89
90 function _unsupportedIterableToArray(o, minLen) {
91 if (!o) return;
92 if (typeof o === "string") return _arrayLikeToArray(o, minLen);
93 var n = Object.prototype.toString.call(o).slice(8, -1);
94 if (n === "Object" && o.constructor) n = o.constructor.name;
95 if (n === "Map" || n === "Set") return Array.from(o);
96 if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
97 }
98
99 function _arrayLikeToArray(arr, len) {
100 if (len == null || len > arr.length) len = arr.length;
101
102 for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
103
104 return arr2;
105 }
106
107 function _createForOfIteratorHelperLoose(o, allowArrayLike) {
108 var it;
109
110 if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) {
111 if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") {
112 if (it) o = it;
113 var i = 0;
114 return function () {
115 if (i >= o.length) return {
116 done: true
117 };
118 return {
119 done: false,
120 value: o[i++]
121 };
122 };
123 }
124
125 throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
126 }
127
128 it = o[Symbol.iterator]();
129 return it.next.bind(it);
130 }
131
132 var config = {
133 roundedTop: {
134 properties: ['borderTopLeftRadius', 'borderTopRightRadius'],
135 scale: 'radii'
136 },
137 roundedBottom: {
138 properties: ['borderBottomLeftRadius', 'borderBottomRightRadius'],
139 scale: 'radii'
140 },
141 roundedLeft: {
142 properties: ['borderTopLeftRadius', 'borderBottomLeftRadius'],
143 scale: 'radii'
144 },
145 roundedRight: {
146 properties: ['borderTopRightRadius', 'borderBottomRightRadius'],
147 scale: 'radii'
148 },
149 roundedTopRight: {
150 property: 'borderTopRightRadius',
151 scale: 'radii'
152 },
153 roundedTopLeft: {
154 property: 'borderTopLeftRadius',
155 scale: 'radii'
156 },
157 roundedBottomRight: {
158 property: 'borderBottomRightRadius',
159 scale: 'radii'
160 },
161 roundedBottomLeft: {
162 property: 'borderBottomLeftRadius',
163 scale: 'radii'
164 },
165 rounded: {
166 property: 'borderRadius',
167 scale: 'radii'
168 },
169 d: {
170 property: 'display'
171 },
172 w: {
173 property: 'width',
174 scale: 'sizes'
175 },
176 minW: {
177 property: 'minWidth',
178 scale: 'sizes'
179 },
180 maxW: {
181 property: 'maxWidth',
182 scale: 'sizes'
183 },
184 h: {
185 property: 'height',
186 scale: 'sizes'
187 },
188 minH: {
189 property: 'minHeight',
190 scale: 'sizes'
191 },
192 maxH: {
193 property: 'maxHeight',
194 scale: 'sizes'
195 },
196 bgImg: {
197 property: 'backgroundImage'
198 },
199 bgSize: {
200 property: 'backgroundSize'
201 },
202 bgPos: {
203 property: 'backgroundPosition'
204 },
205 bgRepeat: {
206 property: 'backgroundRepeat'
207 },
208 pos: {
209 property: 'position'
210 },
211 flexDir: {
212 property: 'flexDirection'
213 },
214 shadow: {
215 property: 'boxShadow',
216 scale: 'shadows'
217 },
218 textDecoration: true,
219 overflowX: true,
220 overflowY: true,
221 textTransform: true,
222 animation: true,
223 appearance: true,
224 transform: true,
225 transformOrigin: true,
226 visibility: true,
227 whiteSpace: true,
228 userSelect: true,
229 pointerEvents: true,
230 wordBreak: true,
231 overflowWrap: true,
232 textOverflow: true,
233 boxSizing: true,
234 cursor: true,
235 resize: true,
236 transition: true,
237 listStyleType: true,
238 listStylePosition: true,
239 listStyleImage: true,
240 fill: {
241 property: 'fill',
242 scale: 'colors'
243 },
244 stroke: {
245 property: 'stroke',
246 scale: 'colors'
247 },
248 objectFit: true,
249 objectPosition: true,
250 backgroundAttachment: true,
251 outline: true
252 };
253 config.bgAttachment = config.backgroundAttachment;
254 config.textDecor = config.textDecoration;
255 config.listStylePos = config.listStylePosition;
256 config.listStyleImg = config.listStyleImage;
257 var extraConfig = /*#__PURE__*/styledSystem.system(config);
258
259 var transformAlias = function transformAlias(prop, propValue) {
260 var configKeys = Object.keys(config);
261 var result = {};
262
263 if (configKeys.includes(prop)) {
264 var _config$prop = config[prop],
265 properties = _config$prop.properties,
266 property = _config$prop.property;
267
268 if (properties) {
269 properties.forEach(function (_cssProp) {
270 return result[_cssProp] = propValue;
271 });
272 }
273
274 if (property) {
275 result[property] = propValue;
276 }
277
278 if (config[prop] === true) {
279 result[prop] = propValue;
280 }
281 } else {
282 result[prop] = propValue;
283 }
284
285 return result;
286 };
287
288 var transformAliasProps = function transformAliasProps(props) {
289 var result = {};
290
291 for (var prop in props) {
292 if (typeof props[prop] === 'object' && !Array.isArray(props[prop])) {
293 var _objectSpread2$1;
294
295 result = _objectSpread2({}, result, (_objectSpread2$1 = {}, _objectSpread2$1[prop] = transformAliasProps(props[prop]), _objectSpread2$1));
296 } else {
297 result = _objectSpread2({}, result, {}, transformAlias(prop, props[prop]));
298 }
299 }
300
301 return result;
302 };
303 var extraProps = /*#__PURE__*/Object.keys(config);
304
305 function _templateObject() {
306 var data = _taggedTemplateLiteralLoose(["\n ", ";\n ", ";\n"]);
307
308 _templateObject = function _templateObject() {
309 return data;
310 };
311
312 return data;
313 }
314 var 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);
315
316 var _shouldForwardProp = /*#__PURE__*/shouldForwardProp.createShouldForwardProp( /*#__PURE__*/[].concat(shouldForwardProp.props, extraProps));
317
318 var StyledBox = /*#__PURE__*/styled__default('div').withConfig({
319 shouldForwardProp: function shouldForwardProp(prop) {
320 return _shouldForwardProp(prop);
321 }
322 })( /*#__PURE__*/_templateObject(), systemProps, extraConfig);
323 var hover = '&:hover';
324 var active = '&:active, &[data-active=true]';
325 var focus = '&:focus';
326 var visited = '&:visited';
327 var even = '&:nth-of-type(even)';
328 var odd = '&:nth-of-type(odd)';
329 var disabled = '&:disabled, &:disabled:focus, &:disabled:hover, &[aria-disabled=true], &[aria-disabled=true]:focus, &[aria-disabled=true]:hover';
330 var checked = '&[aria-checked=true]';
331 var mixed = '&[aria-checked=mixed]';
332 var selected = '&[aria-selected=true]';
333 var invalid = '&[aria-invalid=true]';
334 var pressed = '&[aria-pressed=true]';
335 var readOnly = '&[aria-readonly=true], &[readonly]';
336 var first = '&:first-of-type';
337 var last = '&:last-of-type';
338 var expanded = '&[aria-expanded=true]';
339 var grabbed = '&[aria-grabbed=true]';
340 var notFirst = '&:not(:first-of-type)';
341 var notLast = '&:not(:last-of-type)';
342 var groupHover = '[role=group]:hover &';
343 var BoxWithPseudoStyles = /*#__PURE__*/styled__default(StyledBox)(function (_ref) {
344 var _css;
345
346 var _after = _ref._after,
347 _focus = _ref._focus,
348 _selected = _ref._selected,
349 _focusWithin = _ref._focusWithin,
350 _hover = _ref._hover,
351 _invalid = _ref._invalid,
352 _active = _ref._active,
353 _disabled = _ref._disabled,
354 _grabbed = _ref._grabbed,
355 _pressed = _ref._pressed,
356 _expanded = _ref._expanded,
357 _visited = _ref._visited,
358 _before = _ref._before,
359 _readOnly = _ref._readOnly,
360 _first = _ref._first,
361 _notFirst = _ref._notFirst,
362 _notLast = _ref._notLast,
363 _last = _ref._last,
364 _placeholder = _ref._placeholder,
365 _checked = _ref._checked,
366 _groupHover = _ref._groupHover,
367 _mixed = _ref._mixed,
368 _odd = _ref._odd,
369 _even = _ref._even;
370 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));
371 });
372 var Box = /*#__PURE__*/React.forwardRef(function (props, ref) {
373 return React__default.createElement(BoxWithPseudoStyles, Object.assign({
374 ref: ref
375 }, props));
376 });
377 Box.displayName = 'Box';
378
379 var ButtonGroup = function ButtonGroup(_ref) {
380 var size = _ref.size,
381 variantColor = _ref.variantColor,
382 variant = _ref.variant,
383 isAttached = _ref.isAttached,
384 _ref$spacing = _ref.spacing,
385 spacing = _ref$spacing === void 0 ? 2 : _ref$spacing,
386 children = _ref.children,
387 rest = _objectWithoutPropertiesLoose(_ref, ["size", "variantColor", "variant", "isAttached", "spacing", "children"]);
388
389 var clones = React.Children.map(children, function (child, index) {
390 var isFirst = index === 0;
391 var isLast = index === React.Children.count(children) - 1;
392
393 if (!React__default.isValidElement(child)) {
394 return null;
395 }
396
397 return React.cloneElement(child, _objectSpread2({
398 size: size || child.props.size,
399 variantColor: child.props.variantColor || variantColor,
400 variant: child.props.variant || variant,
401 _focus: {
402 boxShadow: 'outline',
403 zIndex: 1
404 }
405 }, !isLast && !isAttached && {
406 mr: spacing
407 }, {}, isFirst && isAttached && {
408 roundedRight: 0
409 }, {}, isLast && isAttached && {
410 roundedLeft: 0
411 }, {}, !isFirst && !isLast && isAttached && {
412 rounded: 0
413 }));
414 });
415 return React__default.createElement(Box, Object.assign({
416 display: "inline-block"
417 }, rest), clones);
418 };
419
420 ButtonGroup.displayName = 'ButtonGroup';
421
422 var colors = {
423 transparent: 'transparent',
424 current: 'currentColor',
425 black: '#000000',
426 white: '#ffffff',
427 blue: /*#__PURE__*/Object.assign('#3700ff', {
428 100: '#F2F2FF',
429 200: '#E3E5FF',
430 300: '#C5CCFF',
431 400: '#AAB3FF',
432 900: '#5548ff',
433 hover: '#3100DC'
434 }),
435 ink: /*#__PURE__*/Object.assign('#0f1117', {
436 50: '#f4f4f5',
437 100: '#F9F9FC',
438 150: '#F4F4F5',
439 200: '#E7E7E8',
440 250: '#C8C8CC',
441 300: '#C8C8CC',
442 400: '#A7A7AD',
443 600: '#677282',
444 900: '#222933'
445 }),
446 darken: {
447 50: 'rgba(15, 17, 23, 0.05)',
448 100: 'rgba(15, 17, 23, 0.1)',
449 150: 'rgba(15, 17, 23, 0.15)'
450 },
451 red: '#de0014',
452 green: '#00a73e',
453 orange: '#f7aa00',
454 cyan: '#00d4ff',
455 feedback: {}
456 };
457 colors.feedback = {
458 error: colors.red,
459 success: colors.green,
460 warning: colors.orange,
461 info: colors.cyan
462 };
463
464 var containers = {
465 'screen-sm': '640px',
466 'screen-md': '768px',
467 'screen-lg': '1024px',
468 'screen-xl': '1280px'
469 };
470 var baseSizes = {
471 '0': '0px',
472 px: '1px',
473 '1': '4px',
474 '2': '8px',
475 '3': '12px',
476 '4': '16px',
477 '5': '20px',
478 '6': '24px',
479 '8': '32px',
480 '10': '40px',
481 '12': '48px',
482 '16': '64px',
483 '20': '80px',
484 '24': '96px',
485 '32': '128px',
486 '40': '160px',
487 '48': '192px',
488 '56': '224px',
489 '64': '256px'
490 };
491 var namedSpacingUnits = {
492 none: baseSizes[0],
493 'extra-tight': baseSizes[1],
494 tight: baseSizes[2],
495 'base-tight': baseSizes[3],
496 base: baseSizes[4],
497 'base-loose': baseSizes[5],
498 loose: baseSizes[6],
499 'extra-loose': baseSizes[8]
500 };
501 var space = function space(spacing) {
502 return spacing;
503 };
504 var sizes = /*#__PURE__*/_objectSpread2({}, baseSizes, {
505 containers: containers
506 }, namedSpacingUnits);
507
508 var typography = {
509 letterSpacings: {
510 tighter: '-0.02em',
511 tight: '-0.01em',
512 normal: '0',
513 wide: '0.025em',
514 wider: '0.05em',
515 widest: '0.1em'
516 },
517 lineHeights: {
518 normal: 'normal',
519 none: '1',
520 shorter: '1.333',
521 "short": '1.4',
522 base: '1.5',
523 tall: '1.625',
524 taller: '2'
525 },
526 fontWeights: {
527 hairline: 100,
528 thin: 200,
529 light: 300,
530 normal: 400,
531 medium: 500,
532 semibold: 600,
533 bold: 700,
534 extrabold: 800,
535 black: 900
536 },
537 fonts: {
538 heading: '"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"',
539 body: '"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"',
540 mono: 'SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace'
541 },
542 fontSizes: [12, 14, 16, 20, 24, 28, 32, 36, 48, 64, 96, 128]
543 };
544 var displayLarge = {
545 fontWeight: typography.fontWeights.semibold,
546 fontSize: typography.fontSizes[4],
547 lineHeight: typography.lineHeights.shorter,
548 letterSpacing: '-0.02em'
549 };
550 var displaySmall = {
551 fontWeight: typography.fontWeights.medium,
552 fontSize: typography.fontSizes[3],
553 lineHeight: typography.lineHeights["short"],
554 letterSpacing: '-0.02em'
555 };
556 var bodyLarge = {
557 fontWeight: typography.fontWeights.normal,
558 fontSize: typography.fontSizes[2],
559 lineHeight: typography.lineHeights.base,
560 letterSpacing: '-0.01em'
561 };
562
563 var bodyLargeMedium = /*#__PURE__*/_objectSpread2({}, bodyLarge, {
564 fontWeight: typography.fontWeights.medium
565 });
566
567 var bodySmall = {
568 fontWeight: typography.fontWeights.normal,
569 fontSize: typography.fontSizes[1],
570 lineHeight: typography.lineHeights["short"],
571 letterSpacing: '-0.01em'
572 };
573
574 var bodySmallMedium = /*#__PURE__*/_objectSpread2({}, bodySmall, {
575 fontWeight: typography.fontWeights.medium
576 });
577
578 var caption = {
579 fontSize: typography.fontSizes[0],
580 lineHeight: typography.lineHeights.shorter,
581 letterSpacing: '0.00em'
582 };
583
584 var captionMedium = /*#__PURE__*/_objectSpread2({}, bodySmall, {
585 fontWeight: typography.fontWeights.medium
586 });
587
588 var textStyles = {
589 display: {
590 large: displayLarge,
591 small: displaySmall
592 },
593 body: {
594 large: /*#__PURE__*/_objectSpread2({}, bodyLarge, {
595 medium: bodyLargeMedium
596 }),
597 small: /*#__PURE__*/_objectSpread2({}, bodySmall, {
598 medium: bodySmallMedium
599 })
600 },
601 caption: /*#__PURE__*/_objectSpread2({}, caption, {
602 medium: captionMedium
603 })
604 };
605 var typography$1 = /*#__PURE__*/_objectSpread2({}, typography, {
606 textStyles: textStyles
607 });
608
609 var space$1 = sizes;
610 var shadows = {
611 low: '0px 1px 2px rgba(0, 0, 0, 0.04)',
612 mid: '0px 1px 2px rgba(27, 39, 51, 0.04), 0px 4px 8px rgba(27, 39, 51, 0.04)',
613 high: '0px 8px 16px rgba(27, 39, 51, 0.08)',
614 inner: 'inset 0 2px 4px 0 rgba(0,0,0,0.06)',
615 none: 'none',
616 focus: '0 0 0 3px rgba(170, 179, 255, 0.75)',
617 'button.secondary': '0px 1px 2px rgba(0, 0, 0, 0.08), 0px 1px 4px rgba(0, 0, 0, 0.08)'
618 };
619 var breakpoints = ['30em', '48em', '62em', '80em'];
620 breakpoints.sm = breakpoints[0];
621 breakpoints.md = breakpoints[1];
622 breakpoints.lg = breakpoints[2];
623 breakpoints.xl = breakpoints[3];
624 var zIndices = {
625 hide: -1,
626 auto: 'auto',
627 '0': 0,
628 '10': 10,
629 '20': 20,
630 '30': 30,
631 '40': 40,
632 '50': 50,
633 '60': 60,
634 '70': 70,
635 '80': 80
636 };
637 var radii = {
638 none: '0',
639 sm: '0.125rem',
640 md: '0.25rem',
641 lg: '0.5rem',
642 full: '9999px'
643 };
644 var opacity = {
645 '0': '0',
646 '20%': '0.2',
647 '40%': '0.4',
648 '60%': '0.6',
649 '80%': '0.8',
650 '100%': '1'
651 };
652 var borders = {
653 none: 0,
654 '1px': '1px solid',
655 '2px': '2px solid',
656 '4px': '4px solid'
657 };
658
659 var theme = /*#__PURE__*/_objectSpread2({
660 breakpoints: breakpoints,
661 zIndices: zIndices,
662 radii: radii,
663 opacity: opacity,
664 borders: borders,
665 colors: colors
666 }, typography$1, {
667 sizes: sizes,
668 shadows: shadows,
669 space: space$1
670 });
671
672 var transition = 'all 0.2s cubic-bezier(0.23, 1, 0.32, 1)';
673
674 var baseProps = {
675 display: 'inline-flex',
676 appearance: 'none',
677 alignItems: 'center',
678 justifyContent: 'center',
679 transition: 'all 250ms',
680 userSelect: 'none',
681 position: 'relative',
682 whiteSpace: 'nowrap',
683 verticalAlign: 'middle',
684 lineHeight: 'shorter',
685 outline: 'none',
686 border: '1px solid',
687 borderColor: 'transparent'
688 };
689 var sizes$1 = {
690 lg: {
691 minHeight: 12,
692 minWidth: 9 * 14,
693 fontSize: '14px !important',
694 px: 5
695 },
696 md: {
697 minHeight: 10,
698 minWidth: 10,
699 fontSize: '14px !important',
700 px: 4
701 },
702 sm: {
703 minHeight: 6,
704 minWidth: 10,
705 fontSize: '11px !important',
706 px: 3
707 }
708 };
709 var unstyledStyle = {
710 userSelect: 'inherit',
711 bg: 'none',
712 border: 0,
713 color: 'inherit',
714 display: 'inline',
715 font: 'inherit',
716 lineHeight: 'inherit',
717 m: 0,
718 p: 0,
719 textAlign: 'inherit'
720 };
721
722 var linkVariantProps = function linkVariantProps() {
723 return {
724 p: 0,
725 height: 'unset',
726 lineHeight: 'normal',
727 color: 'blue',
728 minWidth: 'unset',
729 _hover: {
730 color: 'blue.hover',
731 textDecoration: 'underline'
732 },
733 _active: {
734 textDecoration: 'underline'
735 },
736 _focus: {
737 textDecoration: 'underline'
738 },
739 _disabled: {
740 color: '#A7A7AD'
741 }
742 };
743 };
744
745 var solidVariantProps = function solidVariantProps(_ref) {
746 var mode = _ref.mode,
747 customStyles = _ref.customStyles;
748 var style = {
749 primary: {
750 bg: 'blue',
751 color: 'white',
752 _hover: {
753 cursor: 'pointer'
754 },
755 _focus: {
756 borderColor: 'blue.300',
757 boxShadow: shadows.focus
758 },
759 _disabled: {
760 bg: 'blue.200',
761 cursor: 'not-allowed'
762 }
763 },
764 secondary: {
765 bg: 'blue.100',
766 color: 'blue',
767 border: '1px solid',
768 borderColor: 'blue.300',
769 boxShadow: null,
770 _hover: {
771 cursor: 'pointer',
772 bg: 'blue.200'
773 },
774 _focus: {
775 borderColor: 'blue.300',
776 boxShadow: shadows.focus
777 },
778 _disabled: {
779 bg: 'blue.200',
780 cursor: 'not-allowed',
781 color: 'white',
782 border: 'none'
783 }
784 },
785 tertiary: {
786 bg: 'white',
787 color: 'blue',
788 boxShadow: shadows['button.secondary'],
789 _hover: {
790 cursor: 'pointer',
791 bg: 'white',
792 boxShadow: shadows['button.secondary']
793 },
794 _focus: {
795 borderColor: 'blue.300',
796 boxShadow: shadows.focus
797 },
798 _disabled: {
799 bg: 'white',
800 pointerEvents: 'none',
801 cursor: 'not-allowed',
802 color: 'blue.300'
803 }
804 }
805 };
806
807 if (customStyles) {
808 return customStyles[mode];
809 }
810
811 return style[mode];
812 };
813
814 var sizeProps = function sizeProps(_ref2) {
815 var size = _ref2.size;
816 return sizes$1[size];
817 };
818
819 var variantProps = function variantProps(props) {
820 switch (props.variant) {
821 case 'solid':
822 return solidVariantProps(props);
823
824 case 'link':
825 return linkVariantProps();
826
827 case 'unstyled':
828 return unstyledStyle;
829
830 default:
831 return {};
832 }
833 };
834
835 var useButtonStyle = function useButtonStyle(props) {
836 return _objectSpread2({}, baseProps, {}, variantProps(props), {}, sizeProps(props));
837 };
838
839 function _templateObject$1() {
840 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"]);
841
842 _templateObject$1 = function _templateObject() {
843 return data;
844 };
845
846 return data;
847 }
848 var VisuallyHidden = /*#__PURE__*/styled__default(Box)( /*#__PURE__*/_templateObject$1());
849
850 function _templateObject$2() {
851 var data = _taggedTemplateLiteralLoose(["\n animation: ", " ", " linear infinite;\n"]);
852
853 _templateObject$2 = function _templateObject() {
854 return data;
855 };
856
857 return data;
858 }
859 var spin = /*#__PURE__*/styled.keyframes(["0%{transform:rotate(0deg);}100%{transform:rotate(360deg);}"]);
860 var StyledBox$1 = /*#__PURE__*/styled__default(Box)( /*#__PURE__*/_templateObject$2(), spin, function (props) {
861 return props.speed;
862 });
863
864 var getSize = function getSize(size) {
865 switch (size) {
866 case 'xs':
867 return '0.75rem';
868
869 case 'sm':
870 return '1rem';
871
872 case 'md':
873 return '1.5rem';
874
875 case 'lg':
876 return '2rem';
877
878 case 'xl':
879 return '3rem';
880
881 default:
882 return size;
883 }
884 };
885
886 var Spinner = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
887 var _ref$size = _ref.size,
888 size = _ref$size === void 0 ? 'md' : _ref$size,
889 _ref$label = _ref.label,
890 label = _ref$label === void 0 ? 'Loading...' : _ref$label,
891 _ref$thickness = _ref.thickness,
892 thickness = _ref$thickness === void 0 ? '2px' : _ref$thickness,
893 _ref$speed = _ref.speed,
894 speed = _ref$speed === void 0 ? '0.85s' : _ref$speed,
895 color = _ref.color,
896 _ref$emptyColor = _ref.emptyColor,
897 emptyColor = _ref$emptyColor === void 0 ? 'transparent' : _ref$emptyColor,
898 props = _objectWithoutPropertiesLoose(_ref, ["size", "label", "thickness", "speed", "color", "emptyColor"]);
899
900 var _size = getSize(size);
901
902 return React__default.createElement(StyledBox$1, Object.assign({
903 ref: ref,
904 display: "inline-block",
905 borderWidth: thickness,
906 borderColor: "currentColor",
907 borderBottomColor: emptyColor,
908 borderLeftColor: emptyColor,
909 borderRadius: "100%",
910 speed: speed,
911 color: color,
912 size: _size
913 }, props), label && React__default.createElement(VisuallyHidden, null, label));
914 });
915 Spinner.displayName = 'Spinner';
916
917 var HoverChange = function HoverChange(_ref) {
918 var isHovered = _ref.isHovered,
919 isDisabled = _ref.isDisabled;
920 return React__default.createElement(Box, {
921 borderRadius: "6px",
922 position: "absolute",
923 width: "100%",
924 height: "100%",
925 left: 0,
926 top: 0,
927 bg: "darken.150",
928 opacity: !isDisabled && isHovered ? 1 : 0,
929 zIndex: 1,
930 transition: "all 250ms"
931 });
932 };
933
934 var Button = /*#__PURE__*/React.forwardRef(function (_ref2, ref) {
935 var isDisabled = _ref2.isDisabled,
936 isActive = _ref2.isActive,
937 children = _ref2.children,
938 Comp = _ref2.as,
939 _ref2$mode = _ref2.mode,
940 mode = _ref2$mode === void 0 ? 'primary' : _ref2$mode,
941 _ref2$variant = _ref2.variant,
942 variant = _ref2$variant === void 0 ? 'solid' : _ref2$variant,
943 type = _ref2.type,
944 _ref2$size = _ref2.size,
945 size = _ref2$size === void 0 ? 'md' : _ref2$size,
946 isLoading = _ref2.isLoading,
947 loadingText = _ref2.loadingText,
948 customStyles = _ref2.customStyles,
949 rest = _objectWithoutPropertiesLoose(_ref2, ["isDisabled", "isActive", "children", "as", "mode", "variant", "type", "size", "isLoading", "loadingText", "customStyles"]);
950
951 var styles = useButtonStyle({
952 variant: variant,
953 mode: mode,
954 size: size,
955 customStyles: customStyles
956 });
957
958 var _useHover = useEvents.useHover(),
959 hovered = _useHover[0],
960 bind = _useHover[1];
961
962 return React__default.createElement(Box, Object.assign({
963 disabled: isDisabled,
964 "aria-disabled": isDisabled,
965 ref: ref,
966 type: type,
967 borderRadius: "6px",
968 fontWeight: "medium",
969 position: "relative",
970 "data-active": isActive ? 'true' : undefined,
971 as: Comp || 'button'
972 }, rest, styles, bind), React__default.createElement(Box, {
973 as: "span",
974 display: "flex",
975 alignItems: "center",
976 justifyContent: "center",
977 position: "relative",
978 zIndex: 5
979 }, isLoading && React__default.createElement(Spinner, {
980 position: loadingText ? 'relative' : 'absolute',
981 mx: !loadingText ? 'auto' : 'unset',
982 color: "currentColor",
983 size: size === 'sm' ? 'xs' : 'sm'
984 }), isLoading ? React__default.createElement(Box, {
985 ml: "tight"
986 }, loadingText) || React__default.createElement(Box, {
987 ml: "tight",
988 as: "span",
989 opacity: 0
990 }, children) : children), mode === 'primary' ? React__default.createElement(HoverChange, {
991 isDisabled: isDisabled || false,
992 isHovered: hovered
993 }) : null);
994 });
995 Button.displayName = 'Button';
996
997 var Flex = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
998 var align = _ref.align,
999 justify = _ref.justify,
1000 wrap = _ref.wrap,
1001 direction = _ref.direction,
1002 rest = _objectWithoutPropertiesLoose(_ref, ["align", "justify", "wrap", "direction"]);
1003
1004 return React__default.createElement(Box, Object.assign({
1005 ref: ref,
1006 display: "flex",
1007 flexDirection: direction,
1008 alignItems: align,
1009 justifyContent: justify,
1010 flexWrap: wrap
1011 }, rest));
1012 });
1013 Flex.displayName = 'Flex';
1014
1015 var _window = undefined;
1016
1017 try {
1018 _window = window;
1019 } catch (e) {}
1020
1021 function getWindow(node) {
1022 var _node$ownerDocument$d, _node$ownerDocument;
1023
1024 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;
1025 }
1026
1027 function checkIsBrowser() {
1028 var _window = getWindow();
1029
1030 return Boolean(typeof _window !== 'undefined' && _window.document && _window.document.createElement);
1031 }
1032
1033 var isBrowser = /*#__PURE__*/checkIsBrowser();
1034 function isFunction(value) {
1035 return typeof value === 'function';
1036 }
1037 function createContext(options) {
1038 if (options === void 0) {
1039 options = {};
1040 }
1041
1042 var _options = options,
1043 _options$strict = _options.strict,
1044 strict = _options$strict === void 0 ? true : _options$strict,
1045 _options$errorMessage = _options.errorMessage,
1046 errorMessage = _options$errorMessage === void 0 ? 'useContext must be inside a Provider with a value' : _options$errorMessage,
1047 name = _options.name;
1048 var Context = React__default.createContext(undefined);
1049 Context.displayName = name;
1050
1051 function useContext() {
1052 var context = React__default.useContext(Context);
1053 if (!context && strict) throw new Error(errorMessage);
1054 return context;
1055 }
1056
1057 return [Context.Provider, useContext, Context];
1058 }
1059 function assignRef(ref, value) {
1060 if (ref == null) return;
1061
1062 if (isFunction(ref)) {
1063 ref(value);
1064 return;
1065 }
1066
1067 try {
1068 ref.current = value;
1069 } catch (error) {
1070 throw new Error("Cannot assign value '" + value + "' to ref '" + ref + "'");
1071 }
1072 }
1073 function mergeRefs() {
1074 for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) {
1075 refs[_key] = arguments[_key];
1076 }
1077
1078 return function (value) {
1079 refs.forEach(function (ref) {
1080 return assignRef(ref, value);
1081 });
1082 };
1083 }
1084 var __DEV__ = "development" !== 'production';
1085 function runIfFn(valueOrFn) {
1086 for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
1087 args[_key2 - 1] = arguments[_key2];
1088 }
1089
1090 return isFunction(valueOrFn) ? valueOrFn.apply(void 0, args) : valueOrFn;
1091 }
1092 function warn(options) {
1093 if (options.condition && __DEV__) {
1094 console.warn(options.message);
1095 }
1096 }
1097 function callAllHandlers() {
1098 for (var _len3 = arguments.length, fns = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
1099 fns[_key3] = arguments[_key3];
1100 }
1101
1102 return function (event) {
1103 fns.some(function (fn) {
1104 fn && fn(event);
1105 return event && event.defaultPrevented;
1106 });
1107 };
1108 }
1109 function isString(value) {
1110 return Object.prototype.toString.call(value) === '[object String]';
1111 }
1112 function omit(object, keys) {
1113 var result = {};
1114
1115 for (var key in object) {
1116 if (keys.includes(key)) continue;
1117 result[key] = object[key];
1118 }
1119
1120 return result;
1121 }
1122 function pick(object, keys) {
1123 var result = {};
1124
1125 for (var _iterator = _createForOfIteratorHelperLoose(keys), _step; !(_step = _iterator()).done;) {
1126 var key = _step.value;
1127
1128 if (key in object) {
1129 result[key] = object[key];
1130 }
1131 }
1132
1133 return result;
1134 }
1135 var startPad = function startPad(n, z, s) {
1136 if (z === void 0) {
1137 z = 2;
1138 }
1139
1140 if (s === void 0) {
1141 s = '0';
1142 }
1143
1144 return (n + '').length <= z ? ['', '-'][+(n < 0)] + (s.repeat(z) + Math.abs(n)).slice(-1 * z) : n + '';
1145 };
1146
1147 function useControllableProp(propValue, stateValue) {
1148 var _React$useRef = React.useRef(propValue !== undefined),
1149 isControlled = _React$useRef.current;
1150
1151 var value = isControlled && typeof propValue !== 'undefined' ? propValue : stateValue;
1152 return [isControlled, value];
1153 }
1154 var defaultPropsMap = {
1155 value: 'value',
1156 defaultValue: 'defaultValue',
1157 onChange: 'onChange'
1158 };
1159 function useControllableState(props) {
1160 var valueProp = props.value,
1161 defaultValue = props.defaultValue,
1162 onChange = props.onChange,
1163 _props$shouldUpdate = props.shouldUpdate,
1164 shouldUpdate = _props$shouldUpdate === void 0 ? function () {
1165 return true;
1166 } : _props$shouldUpdate,
1167 _props$name = props.name,
1168 name = _props$name === void 0 ? 'Component' : _props$name,
1169 _props$propsMap = props.propsMap,
1170 propsMap = _props$propsMap === void 0 ? defaultPropsMap : _props$propsMap;
1171
1172 var _React$useState = React.useState(defaultValue),
1173 valueState = _React$useState[0],
1174 setValue = _React$useState[1];
1175
1176 var _React$useRef2 = React.useRef(valueProp !== undefined),
1177 isControlled = _React$useRef2.current;
1178
1179 React.useEffect(function () {
1180 var nextIsControlled = valueProp !== undefined;
1181 var nextMode = nextIsControlled ? 'a controlled' : 'an uncontrolled';
1182 var mode = isControlled ? 'a controlled' : 'an uncontrolled';
1183 warn({
1184 condition: isControlled !== nextIsControlled,
1185 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'
1186 });
1187 }, [valueProp, isControlled, name]);
1188
1189 var _React$useRef3 = React.useRef(defaultValue),
1190 _defaultValue = _React$useRef3.current;
1191
1192 React.useEffect(function () {
1193 warn({
1194 condition: _defaultValue !== defaultValue,
1195 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 + ".")
1196 });
1197 }, [JSON.stringify(defaultValue)]);
1198 var value = isControlled ? valueProp : valueState;
1199 var updateValue = React.useCallback(function (next) {
1200 var nextValue = runIfFn(next, value);
1201 var shouldUpdateState = shouldUpdate(value, nextValue);
1202 if (!shouldUpdateState) return;
1203
1204 if (!isControlled) {
1205 setValue(next);
1206 }
1207
1208 onChange === null || onChange === void 0 ? void 0 : onChange(nextValue);
1209 }, [onChange, shouldUpdate, isControlled, value]);
1210 return [value, updateValue];
1211 }
1212
1213 function usePrevious(value) {
1214 var valueRef = React.useRef();
1215 React.useEffect(function () {
1216 valueRef.current = value;
1217 }, [value]);
1218 return valueRef.current;
1219 }
1220
1221 function useDisclosure(props) {
1222 if (props === void 0) {
1223 props = {};
1224 }
1225
1226 var _props = props,
1227 onCloseProp = _props.onClose,
1228 onOpenProp = _props.onOpen;
1229
1230 var _React$useState = React.useState(props.defaultIsOpen || false),
1231 isOpenState = _React$useState[0],
1232 setIsOpen = _React$useState[1];
1233
1234 var _useControllableProp = useControllableProp(props.isOpen, isOpenState),
1235 isControlled = _useControllableProp[0],
1236 isOpen = _useControllableProp[1];
1237
1238 var prevIsOpen = usePrevious(isOpen);
1239 var onClose = React.useCallback(function () {
1240 if (!isControlled) {
1241 setIsOpen(false);
1242 }
1243
1244 if (onCloseProp) {
1245 onCloseProp();
1246 }
1247 }, [isControlled, onCloseProp]);
1248 var onOpen = React.useCallback(function () {
1249 if (!isControlled) {
1250 setIsOpen(true);
1251 }
1252
1253 if (onOpenProp) {
1254 onOpenProp();
1255 }
1256 }, [isControlled, onOpenProp]);
1257 var onToggle = React.useCallback(function () {
1258 var action = isOpen ? onClose : onOpen;
1259 action();
1260 }, [isOpen, onOpen, onClose]);
1261 return {
1262 isOpen: Boolean(isOpen),
1263 prevIsOpen: Boolean(prevIsOpen),
1264 onOpen: onOpen,
1265 onClose: onClose,
1266 onToggle: onToggle,
1267 isControlled: isControlled
1268 };
1269 }
1270
1271 function useLatestRef(value) {
1272 var ref = React.useRef(value);
1273 React.useEffect(function () {
1274 ref.current = value;
1275 }, [value]);
1276 return ref;
1277 }
1278
1279 function useEventListener(event, handler, doc, options) {
1280 if (doc === void 0) {
1281 doc = isBrowser ? document : null;
1282 }
1283
1284 var savedHandler = useLatestRef(handler);
1285 React.useEffect(function () {
1286 if (!doc) return;
1287
1288 var listener = function listener(event) {
1289 savedHandler.current(event);
1290 };
1291
1292 doc.addEventListener(event, listener, options);
1293 return function () {
1294 doc.removeEventListener(event, listener, options);
1295 };
1296 }, [event, doc, options, savedHandler]);
1297 return function () {
1298 var _doc;
1299
1300 (_doc = doc) === null || _doc === void 0 ? void 0 : _doc.removeEventListener(event, savedHandler.current, options);
1301 };
1302 }
1303
1304 function useForceUpdate() {
1305 var _React$useState = React.useState(0),
1306 count = _React$useState[0],
1307 setCount = _React$useState[1];
1308
1309 return React.useCallback(function () {
1310 return setCount(count + 1);
1311 }, [count]);
1312 }
1313
1314 function generatePrefix(prefix, id) {
1315 return prefix + "-" + id;
1316 }
1317
1318 function useId(idProp, prefix) {
1319 var uuid = autoId.useId();
1320 var id = idProp !== null && idProp !== void 0 ? idProp : uuid;
1321 return prefix ? generatePrefix(prefix, id) : id;
1322 }
1323 function useIds(idProp) {
1324 var id = useId(idProp);
1325
1326 for (var _len = arguments.length, prefixes = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
1327 prefixes[_key - 1] = arguments[_key];
1328 }
1329
1330 return prefixes.map(function (prefix) {
1331 return generatePrefix(prefix, id);
1332 });
1333 }
1334
1335 function assignRef$1(ref, value) {
1336 if (ref == null) return;
1337
1338 if (typeof ref === 'function') {
1339 ref(value);
1340 } else {
1341 try {
1342 ref.current = value;
1343 } catch (error) {
1344 throw new Error("Cannot assign value \"" + value + "\" to ref \"" + ref + "\"");
1345 }
1346 }
1347 }
1348 function useMergeRefs() {
1349 for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) {
1350 refs[_key] = arguments[_key];
1351 }
1352
1353 return React.useMemo(function () {
1354 if (refs.every(function (ref) {
1355 return ref == null;
1356 })) {
1357 return null;
1358 }
1359
1360 return function (node) {
1361 refs.forEach(function (ref) {
1362 if (ref) assignRef$1(ref, node);
1363 });
1364 };
1365 }, refs);
1366 }
1367
1368 var useSafeLayoutEffect = isBrowser ? React.useLayoutEffect : React.useEffect;
1369
1370 var useTimeout = function useTimeout(_ref) {
1371 var onTimeout = _ref.onTimeout,
1372 duration = _ref.duration;
1373
1374 var _useState = React.useState(true),
1375 activated = _useState[0],
1376 setActivated = _useState[1];
1377
1378 var timeoutRef = React.useRef();
1379 var stopTimeout = React.useCallback(function () {
1380 window.clearTimeout(timeoutRef.current);
1381 setActivated(false);
1382 }, []);
1383 React.useEffect(function () {
1384 if (activated) {
1385 timeoutRef.current = window.setTimeout(function () {
1386 onTimeout();
1387 }, duration);
1388 return function () {
1389 stopTimeout();
1390 };
1391 }
1392
1393 return;
1394 }, [onTimeout, activated, duration, stopTimeout]);
1395 var startTimeout = React.useCallback(function () {
1396 setActivated(true);
1397 }, []);
1398 return {
1399 stopTimeout: stopTimeout,
1400 startTimeout: startTimeout
1401 };
1402 };
1403
1404 var get = function get(color, hue) {
1405 return color + "." + hue;
1406 };
1407 var addOpacity = function addOpacity(color, opacity) {
1408 return Color(color).fade(1 - opacity).rgb().string();
1409 };
1410 var addWhite = function addWhite(color, opacity) {
1411 return Color(color).mix(Color('#fff'), opacity).hex();
1412 };
1413 var addBlack = function addBlack(color, opacity) {
1414 return Color(color).mix(Color('#000'), opacity).hex();
1415 };
1416 var isDarkColor = function isDarkColor(color) {
1417 return Color(color).isDark();
1418 };
1419 var generateAlphaColors = function generateAlphaColors(color) {
1420 return {
1421 900: addOpacity(color, 0.92),
1422 800: addOpacity(color, 0.8),
1423 700: addOpacity(color, 0.6),
1424 600: addOpacity(color, 0.48),
1425 500: addOpacity(color, 0.38),
1426 400: addOpacity(color, 0.24),
1427 300: addOpacity(color, 0.16),
1428 200: addOpacity(color, 0.12),
1429 100: addOpacity(color, 0.08),
1430 50: addOpacity(color, 0.04)
1431 };
1432 };
1433 var colorEmphasis = function colorEmphasis(color, emphasis) {
1434 switch (emphasis) {
1435 case 'high':
1436 return color;
1437
1438 case 'medium':
1439 return generateAlphaColors(color)[700];
1440
1441 case 'low':
1442 return generateAlphaColors(color)[500];
1443
1444 case 'lowest':
1445 return generateAlphaColors(color)[300];
1446
1447 default:
1448 return undefined;
1449 }
1450 };
1451 var generateStripe = function generateStripe(_ref) {
1452 var _ref$size = _ref.size,
1453 size = _ref$size === void 0 ? '1rem' : _ref$size,
1454 _ref$color = _ref.color,
1455 color = _ref$color === void 0 ? 'rgba(255, 255, 255, 0.15)' : _ref$color;
1456 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);
1457 };
1458
1459 var ThemeContext = /*#__PURE__*/React__default.createContext(theme);
1460
1461 var ThemeProvider = function ThemeProvider(_ref) {
1462 var _ref$theme = _ref.theme,
1463 theme$1 = _ref$theme === void 0 ? theme : _ref$theme,
1464 children = _ref.children;
1465 return React__default.createElement(styled.ThemeProvider, {
1466 theme: theme$1
1467 }, children);
1468 };
1469
1470 var useTheme = function useTheme() {
1471 var theme = React.useContext(ThemeContext);
1472
1473 if (theme === undefined) {
1474 throw new Error('useTheme must be used within a ThemeProvider');
1475 }
1476
1477 return theme;
1478 };
1479
1480 var isBrowser$1 = typeof window !== 'undefined';
1481
1482 var isSupported = function isSupported(api) {
1483 return isBrowser$1 && api in window;
1484 };
1485
1486 function useMediaQuery(query) {
1487 var _React$useState = React.useState(function () {
1488 if (!isSupported('matchMedia')) return false;
1489 return window.matchMedia(query).matches;
1490 }),
1491 matches = _React$useState[0],
1492 setMatches = _React$useState[1];
1493
1494 useSafeLayoutEffect(function () {
1495 if (!isSupported('matchMedia')) return;
1496 var mediaQueryList = window.matchMedia(query);
1497
1498 var listener = function listener() {
1499 return setMatches(mediaQueryList.matches);
1500 };
1501
1502 mediaQueryList.addListener(listener);
1503 listener();
1504 return function () {
1505 mediaQueryList.removeListener(listener);
1506 };
1507 }, [query]);
1508 return [matches, setMatches];
1509 }
1510
1511 (function (Color) {
1512 Color["Accent"] = "accent";
1513 Color["Bg"] = "bg";
1514 Color["BgAlt"] = "bg-alt";
1515 Color["BgLight"] = "bg-light";
1516 Color["Invert"] = "invert";
1517 Color["TextHover"] = "text-hover";
1518 Color["TextTitle"] = "text-title";
1519 Color["TextCaption"] = "text-caption";
1520 Color["TextBody"] = "text-body";
1521 Color["InputPlaceholder"] = "input-placeholder";
1522 Color["Border"] = "border";
1523 Color["FeedbackAlert"] = "feedback-alert";
1524 Color["FeedbackError"] = "feedback-error";
1525 Color["FeedbackSuccess"] = "feedback-success";
1526 })(exports.Color || (exports.Color = {}));
1527
1528 var colorGet = function colorGet(path, fallback) {
1529 return themeGet.themeGet('colors.' + path, fallback);
1530 };
1531
1532 var colors$1 = function colors(props) {
1533 var _light, _dark;
1534
1535 return {
1536 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),
1537 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)
1538 };
1539 };
1540
1541 var colorModeStyles = function colorModeStyles(props) {
1542 return colors$1(props)[props.colorMode];
1543 };
1544
1545 var colorMap = function colorMap(props) {
1546 return Object.keys(colors$1(props)[props.colorMode]);
1547 };
1548
1549 var color = function color(name) {
1550 return "var(--colors-" + name + ")";
1551 };
1552 var themeColor = function themeColor(name) {
1553 return name;
1554 };
1555 var generateCssVariables = function generateCssVariables(mode) {
1556 return function (_ref) {
1557 var _ref$colorMode = _ref.colorMode,
1558 colorMode = _ref$colorMode === void 0 ? mode : _ref$colorMode,
1559 rest = _objectWithoutPropertiesLoose(_ref, ["colorMode"]);
1560
1561 return colorMap(_objectSpread2({
1562 colorMode: colorMode
1563 }, rest)).map(function (key) {
1564 return "--colors-" + key + ": " + colorModeStyles(_objectSpread2({
1565 colorMode: colorMode
1566 }, rest))[key] + ";";
1567 });
1568 };
1569 };
1570
1571 function _templateObject$3() {
1572 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 "]);
1573
1574 _templateObject$3 = function _templateObject() {
1575 return data;
1576 };
1577
1578 return data;
1579 }
1580 var ColorModes = /*#__PURE__*/styled.createGlobalStyle( /*#__PURE__*/_templateObject$3(), /*#__PURE__*/generateCssVariables('light'), /*#__PURE__*/generateCssVariables('dark'), /*#__PURE__*/generateCssVariables('light'));
1581
1582 var ColorModeContext = /*#__PURE__*/React__default.createContext({
1583 colorMode: undefined
1584 });
1585 var ColorModeProvider = function ColorModeProvider(_ref) {
1586 var colorMode = _ref.colorMode,
1587 children = _ref.children,
1588 onChange = _ref.onChange;
1589
1590 var _React$useState = React__default.useState(colorMode),
1591 mode = _React$useState[0],
1592 setMode = _React$useState[1];
1593
1594 var _useMediaQuery = useMediaQuery('(prefers-color-scheme: dark)'),
1595 darkmode = _useMediaQuery[0];
1596
1597 var _useMediaQuery2 = useMediaQuery('(prefers-color-scheme: light)'),
1598 lightmode = _useMediaQuery2[0];
1599
1600 React.useEffect(function () {
1601 if (!mode) {
1602 setMode(darkmode ? 'dark' : 'light');
1603 }
1604 }, [mode, darkmode, lightmode]);
1605 var setColorMode = React.useCallback(function (mode) {
1606 setMode(mode);
1607 onChange && onChange(mode);
1608 }, [mode]);
1609 var toggleColorMode = React.useCallback(function () {
1610 if (mode === 'light') {
1611 setColorMode('dark');
1612 return;
1613 }
1614
1615 if (mode === 'dark') {
1616 setColorMode('light');
1617 return;
1618 }
1619
1620 if (!colorMode && darkmode) {
1621 setColorMode('light');
1622 return;
1623 }
1624
1625 if (!mode && lightmode) {
1626 setColorMode('dark');
1627 return;
1628 }
1629 }, [mode, lightmode, darkmode]);
1630 return React__default.createElement(ColorModeContext.Provider, {
1631 value: {
1632 colorMode: mode,
1633 toggleColorMode: toggleColorMode
1634 }
1635 }, React__default.createElement(ColorModes, {
1636 colorMode: mode
1637 }), children);
1638 };
1639
1640 var useColorMode = function useColorMode() {
1641 var _useContext = React.useContext(ColorModeContext),
1642 colorMode = _useContext.colorMode,
1643 toggleColorMode = _useContext.toggleColorMode;
1644
1645 return {
1646 colorMode: colorMode,
1647 toggleColorMode: toggleColorMode
1648 };
1649 };
1650
1651 var theme$1 = {
1652 plain: {
1653 color: '#fff',
1654 backgroundColor: 'transparent'
1655 },
1656 styles: [{
1657 types: ['prolog'],
1658 style: {
1659 color: 'rgb(0, 0, 128)'
1660 }
1661 }, {
1662 types: ['comment', 'punctuation'],
1663 style: {
1664 color: 'rgb(106, 153, 85)'
1665 }
1666 }, {
1667 types: ['builtin', 'tag', 'changed', 'function', 'keyword'],
1668 style: {
1669 color: 'rgb(86, 156, 214)'
1670 }
1671 }, {
1672 types: ['number', 'variable', 'inserted'],
1673 style: {
1674 color: '#A58FFF'
1675 }
1676 }, {
1677 types: ['operator'],
1678 style: {
1679 color: 'rgb(212, 212, 212)'
1680 }
1681 }, {
1682 types: ['constant'],
1683 style: {
1684 color: 'rgb(100, 102, 149)'
1685 }
1686 }, {
1687 types: ['attr-name'],
1688 style: {
1689 color: 'rgb(156, 220, 254)'
1690 }
1691 }, {
1692 types: ['car'],
1693 style: {
1694 color: 'rgb(156, 220, 254)'
1695 }
1696 }, {
1697 types: ['deleted', 'string'],
1698 style: {
1699 color: '#FF7B48'
1700 }
1701 }, {
1702 types: ['class-name'],
1703 style: {
1704 color: 'rgb(78, 201, 176)'
1705 }
1706 }, {
1707 types: ['char'],
1708 style: {
1709 color: '#FF7B48'
1710 }
1711 }]
1712 };
1713
1714 var lineNumberWidth = 60;
1715
1716 var getLineNumber = function getLineNumber(n, length) {
1717 return startPad(n + 1, length.toString().length);
1718 };
1719
1720 var Tokens = function Tokens(_ref) {
1721 var tokens = _ref.tokens,
1722 getTokenProps = _ref.getTokenProps,
1723 showLineNumbers = _ref.showLineNumbers,
1724 rest = _objectWithoutPropertiesLoose(_ref, ["tokens", "getTokenProps", "showLineNumbers"]);
1725
1726 var bsTheme = useTheme();
1727 var pl = "calc(" + (showLineNumbers ? lineNumberWidth : '0') + "px + " + (bsTheme.sizes['base'] || '16px') + ")";
1728 return React__default.createElement(Box, Object.assign({
1729 pl: pl,
1730 pr: "base",
1731 position: "relative",
1732 zIndex: 2
1733 }, rest), tokens.map(function (token, key) {
1734 return React__default.createElement(Box, Object.assign({
1735 py: "2px",
1736 display: "inline-block"
1737 }, getTokenProps({
1738 token: token,
1739 key: key
1740 })));
1741 }));
1742 };
1743
1744 var LineNumber = function LineNumber(_ref2) {
1745 var number = _ref2.number,
1746 length = _ref2.length,
1747 rest = _objectWithoutPropertiesLoose(_ref2, ["number", "length"]);
1748
1749 return React__default.createElement(Flex, Object.assign({
1750 textAlign: "right",
1751 pr: "base",
1752 pl: "base",
1753 width: lineNumberWidth,
1754 borderRight: "1px solid",
1755 borderRightColor: "inherit",
1756 color: "ink.400",
1757 flexShrink: 0,
1758 style: {
1759 userSelect: 'none'
1760 },
1761 position: "absolute",
1762 left: 0,
1763 height: "100%",
1764 align: "baseline",
1765 justify: "center",
1766 zIndex: 1
1767 }, rest), getLineNumber(number, length));
1768 };
1769
1770 var Line = function Line(_ref3) {
1771 var tokens = _ref3.tokens,
1772 getTokenProps = _ref3.getTokenProps,
1773 index = _ref3.index,
1774 length = _ref3.length,
1775 showLineNumbers = _ref3.showLineNumbers,
1776 hideLineHover = _ref3.hideLineHover,
1777 rest = _objectWithoutPropertiesLoose(_ref3, ["tokens", "getTokenProps", "index", "length", "showLineNumbers", "hideLineHover"]);
1778
1779 return React__default.createElement(Flex, Object.assign({
1780 height: "loose",
1781 align: "baseline",
1782 borderColor: "ink.900",
1783 _hover: hideLineHover ? undefined : {
1784 bg: ['unset', 'unset', 'ink.900'],
1785 borderColor: ['ink.900', 'ink.900', 'ink.600']
1786 },
1787 position: "relative"
1788 }, rest), showLineNumbers ? React__default.createElement(LineNumber, {
1789 number: index,
1790 length: length
1791 }) : null, React__default.createElement(Tokens, {
1792 showLineNumbers: showLineNumbers,
1793 getTokenProps: getTokenProps,
1794 tokens: tokens
1795 }));
1796 };
1797
1798 var Lines = function Lines(_ref4) {
1799 var lines = _ref4.tokens,
1800 getLineProps = _ref4.getLineProps,
1801 getTokenProps = _ref4.getTokenProps,
1802 className = _ref4.className,
1803 showLineNumbers = _ref4.showLineNumbers,
1804 hideLineHover = _ref4.hideLineHover;
1805 return React__default.createElement(Box, {
1806 display: "block",
1807 className: className
1808 }, React__default.createElement(Box, {
1809 display: "block",
1810 style: {
1811 fontFamily: 'Fira Code'
1812 }
1813 }, lines.map(function (tokens, i) {
1814 return React__default.createElement(Line, Object.assign({
1815 index: i,
1816 tokens: tokens,
1817 getTokenProps: getTokenProps,
1818 length: lines.length + 1,
1819 showLineNumbers: showLineNumbers,
1820 hideLineHover: hideLineHover || lines.length < 3
1821 }, getLineProps({
1822 line: tokens,
1823 key: i
1824 })));
1825 })));
1826 };
1827
1828 var Highlighter = /*#__PURE__*/React__default.memo(function (_ref5) {
1829 var code = _ref5.code,
1830 _ref5$language = _ref5.language,
1831 language = _ref5$language === void 0 ? 'clarity' : _ref5$language,
1832 showLineNumbers = _ref5.showLineNumbers,
1833 hideLineHover = _ref5.hideLineHover,
1834 Prism = _ref5.Prism;
1835 return React__default.createElement(Highlight, {
1836 theme: theme$1,
1837 code: code,
1838 language: language,
1839 Prism: Prism
1840 }, function (props) {
1841 return React__default.createElement(Lines, Object.assign({
1842 showLineNumbers: showLineNumbers,
1843 hideLineHover: hideLineHover
1844 }, props));
1845 });
1846 });
1847 Highlighter.displayName = 'Highlighter';
1848
1849 var CodeBlock = /*#__PURE__*/React__default.forwardRef(function (_ref, ref) {
1850 var code = _ref.code,
1851 showLineNumbers = _ref.showLineNumbers,
1852 hideLineHover = _ref.hideLineHover,
1853 _ref$style = _ref.style,
1854 style = _ref$style === void 0 ? {} : _ref$style,
1855 language = _ref.language,
1856 Prism = _ref.Prism,
1857 rest = _objectWithoutPropertiesLoose(_ref, ["code", "showLineNumbers", "hideLineHover", "style", "language", "Prism"]);
1858
1859 return React__default.createElement(Box, Object.assign({
1860 overflowX: "auto",
1861 bg: "ink",
1862 borderRadius: [0, 0, '12px'],
1863 py: "base",
1864 width: "100%",
1865 ref: ref,
1866 style: _objectSpread2({}, style, {
1867 whiteSpace: 'pre',
1868 fontFamily: 'Fira Code, Consolata, monospace',
1869 fontSize: '14px'
1870 })
1871 }, rest), React__default.createElement(Highlighter, {
1872 language: language,
1873 code: code.toString().trim(),
1874 showLineNumbers: showLineNumbers,
1875 hideLineHover: hideLineHover,
1876 Prism: Prism
1877 }));
1878 });
1879
1880 var 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;}"]);
1881
1882 function _templateObject2() {
1883 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\n body,\n div,\n span {\n text-align: initial;\n font-family: ", ";\n }\n"]);
1884
1885 _templateObject2 = function _templateObject2() {
1886 return data;
1887 };
1888
1889 return data;
1890 }
1891
1892 function _templateObject$4() {
1893 var data = _taggedTemplateLiteralLoose(["", ""]);
1894
1895 _templateObject$4 = function _templateObject() {
1896 return data;
1897 };
1898
1899 return data;
1900 }
1901
1902 var defaultConfig = function defaultConfig(theme) {
1903 return {
1904 light: {
1905 color: theme.colors.ink[900],
1906 bg: undefined,
1907 borderColor: '#E5E5EC',
1908 placeholderColor: theme.colors.ink[400]
1909 },
1910 dark: {
1911 color: 'white',
1912 bg: theme.colors.ink[900],
1913 borderColor: theme.colors.ink[600],
1914 placeholderColor: theme.colors.ink[500]
1915 }
1916 };
1917 };
1918
1919 var _defaultConfig$light = /*#__PURE__*/defaultConfig(theme).light,
1920 color$1 = _defaultConfig$light.color,
1921 bg = _defaultConfig$light.bg,
1922 borderColor = _defaultConfig$light.borderColor,
1923 placeholderColor = _defaultConfig$light.placeholderColor;
1924 var 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);
1925 var CSSReset = /*#__PURE__*/styled.createGlobalStyle( /*#__PURE__*/_templateObject$4(), cssReset);
1926 var ScopedCSSReset = /*#__PURE__*/styled__default.div( /*#__PURE__*/_templateObject2(), borderColor, placeholderColor, placeholderColor, placeholderColor, theme && theme.fonts && theme.fonts.body);
1927
1928 var FormControlContext = /*#__PURE__*/React.createContext({});
1929 var useFormControlContext = function useFormControlContext() {
1930 return React.useContext(FormControlContext);
1931 };
1932 var useFormControl = function useFormControl(props) {
1933 var context = useFormControlContext();
1934
1935 if (!context) {
1936 return props;
1937 }
1938
1939 var keys = Object.keys(context);
1940 return keys.reduce(function (acc, prop) {
1941 acc[prop] = props[prop];
1942
1943 if (context) {
1944 if (props[prop] == null) {
1945 acc[prop] = context[prop];
1946 }
1947 }
1948
1949 return acc;
1950 }, {});
1951 };
1952 var FormControl = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
1953 var isInvalid = _ref.isInvalid,
1954 isRequired = _ref.isRequired,
1955 isDisabled = _ref.isDisabled,
1956 isReadOnly = _ref.isReadOnly,
1957 rest = _objectWithoutPropertiesLoose(_ref, ["isInvalid", "isRequired", "isDisabled", "isReadOnly"]);
1958
1959 var context = {
1960 isRequired: isRequired,
1961 isDisabled: isDisabled,
1962 isInvalid: isInvalid,
1963 isReadOnly: isReadOnly
1964 };
1965 return React__default.createElement(FormControlContext.Provider, {
1966 value: context
1967 }, React__default.createElement(Box, Object.assign({
1968 role: "group",
1969 ref: ref
1970 }, rest)));
1971 });
1972 FormControl.displayName = 'FormControl';
1973
1974 var assumeTextStyle = function assumeTextStyle(as) {
1975 switch (as) {
1976 case 'h1':
1977 return 'display.large';
1978
1979 case 'h2':
1980 return 'display.small';
1981
1982 case 'h3':
1983 return 'body.large.medium';
1984
1985 default:
1986 return undefined;
1987 }
1988 };
1989
1990 var Text = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
1991 var textStyle = _ref.textStyle,
1992 _ref$as = _ref.as,
1993 as = _ref$as === void 0 ? 'span' : _ref$as,
1994 rest = _objectWithoutPropertiesLoose(_ref, ["textStyle", "as"]);
1995
1996 return React__default.createElement(Box, Object.assign({
1997 ref: ref,
1998 as: as,
1999 whiteSpace: "unset",
2000 display: "inline",
2001 textStyle: textStyle || assumeTextStyle(as)
2002 }, rest));
2003 });
2004 Text.displayName = 'Text';
2005
2006 var RequiredIndicator = function RequiredIndicator(props) {
2007 return React__default.createElement(Box, Object.assign({
2008 as: "span",
2009 ml: 1,
2010 color: "red",
2011 "aria-hidden": "true",
2012 children: "*"
2013 }, props));
2014 };
2015 var FormLabel = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
2016 var children = _ref.children,
2017 props = _objectWithoutPropertiesLoose(_ref, ["children"]);
2018
2019 var formControl = useFormControl(props);
2020 return React__default.createElement(Text, Object.assign({
2021 ref: ref,
2022 pb: "4px",
2023 opacity: formControl.isDisabled ? 0.4 : 1,
2024 textAlign: "left",
2025 verticalAlign: "middle",
2026 display: "inline-block",
2027 as: "label",
2028 textStyle: "body.small.medium"
2029 }, props), children, formControl.isRequired && React__default.createElement(RequiredIndicator, null));
2030 });
2031 FormLabel.displayName = 'FormLabel';
2032
2033 var Grid = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
2034 var templateColumns = _ref.templateColumns,
2035 gap = _ref.gap,
2036 rowGap = _ref.rowGap,
2037 columnGap = _ref.columnGap,
2038 autoFlow = _ref.autoFlow,
2039 autoRows = _ref.autoRows,
2040 autoColumns = _ref.autoColumns,
2041 templateRows = _ref.templateRows,
2042 templateAreas = _ref.templateAreas,
2043 area = _ref.area,
2044 column = _ref.column,
2045 row = _ref.row,
2046 props = _objectWithoutPropertiesLoose(_ref, ["templateColumns", "gap", "rowGap", "columnGap", "autoFlow", "autoRows", "autoColumns", "templateRows", "templateAreas", "area", "column", "row"]);
2047
2048 return React__default.createElement(Box, Object.assign({
2049 ref: ref,
2050 display: "grid",
2051 gridArea: area,
2052 gridTemplateAreas: templateAreas,
2053 gridGap: gap,
2054 gridRowGap: rowGap,
2055 gridColumnGap: columnGap,
2056 gridAutoColumns: autoColumns,
2057 gridColumn: column,
2058 gridRow: row,
2059 gridAutoFlow: autoFlow,
2060 gridAutoRows: autoRows,
2061 gridTemplateRows: templateRows,
2062 gridTemplateColumns: templateColumns
2063 }, props));
2064 });
2065 Grid.displayName = 'Grid';
2066
2067 var Svg = function Svg(_ref) {
2068 var _ref$width = _ref.width,
2069 width = _ref$width === void 0 ? '24px' : _ref$width,
2070 _ref$height = _ref.height,
2071 height = _ref$height === void 0 ? 'auto' : _ref$height,
2072 _ref$viewBox = _ref.viewBox,
2073 viewBox = _ref$viewBox === void 0 ? '0 0 24 24' : _ref$viewBox,
2074 _ref$fill = _ref.fill,
2075 fill = _ref$fill === void 0 ? 'none' : _ref$fill,
2076 rest = _objectWithoutPropertiesLoose(_ref, ["width", "height", "viewBox", "fill"]);
2077
2078 return React.createElement(Box, Object.assign({
2079 as: "svg",
2080 width: width,
2081 height: height,
2082 viewBox: viewBox,
2083 fill: fill
2084 }, rest));
2085 };
2086
2087 var AppsIcon = function AppsIcon(props) {
2088 return React__default.createElement(Svg, Object.assign({}, props), React__default.createElement("rect", {
2089 y: "1.02686",
2090 width: "10.0435",
2091 height: "9.88235",
2092 rx: "1.75",
2093 fill: "currentColor"
2094 }), React__default.createElement("path", {
2095 opacity: "0.8",
2096 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",
2097 fill: "currentColor"
2098 }), React__default.createElement("rect", {
2099 opacity: "0.64",
2100 y: "13.7327",
2101 width: "10.4348",
2102 height: "10.2674",
2103 rx: "5.13369",
2104 fill: "currentColor"
2105 }), React__default.createElement("path", {
2106 opacity: "0.4",
2107 fillRule: "evenodd",
2108 clipRule: "evenodd",
2109 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",
2110 fill: "currentColor"
2111 }));
2112 };
2113
2114 var rotate = function rotate(direction) {
2115 if (direction === void 0) {
2116 direction = 'up';
2117 }
2118
2119 switch (direction) {
2120 case 'up':
2121 return 0;
2122
2123 case 'right':
2124 return '90';
2125
2126 case 'down':
2127 return '180';
2128
2129 case 'left':
2130 return '270';
2131
2132 default:
2133 throw new Error('`rotate` must receive direction parameter');
2134 }
2135 };
2136
2137 var ArrowIcon = function ArrowIcon(_ref) {
2138 var direction = _ref.direction,
2139 style = _ref.style,
2140 props = _objectWithoutPropertiesLoose(_ref, ["direction", "style"]);
2141
2142 return React.createElement(Svg, Object.assign({
2143 width: "11px",
2144 height: "14px",
2145 viewBox: "0 0 11 14",
2146 style: _objectSpread2({}, style, {
2147 transform: "rotate(" + rotate(direction) + "deg)"
2148 })
2149 }, props), React.createElement("path", {
2150 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",
2151 fill: "currentColor"
2152 }));
2153 };
2154
2155 var BlockchainIcon = function BlockchainIcon(props) {
2156 var color = props.color || 'currentColor';
2157 return React.createElement(Svg, Object.assign({}, props), React.createElement("rect", {
2158 width: "12",
2159 height: "12",
2160 rx: "2.25",
2161 fill: color
2162 }), React.createElement("rect", {
2163 opacity: "0.6",
2164 x: "12",
2165 y: "12",
2166 width: "12",
2167 height: "12",
2168 rx: "2.25",
2169 fill: color
2170 }), React.createElement("rect", {
2171 opacity: "0.4",
2172 x: "14.75",
2173 y: "2.75",
2174 width: "6.5",
2175 height: "6.5",
2176 rx: "1",
2177 stroke: color,
2178 strokeWidth: "1.5",
2179 strokeLinejoin: "round"
2180 }), React.createElement("rect", {
2181 opacity: "0.4",
2182 x: "2.75",
2183 y: "14.75",
2184 width: "6.5",
2185 height: "6.5",
2186 rx: "1",
2187 stroke: color,
2188 strokeWidth: "1.5",
2189 strokeLinejoin: "round"
2190 }));
2191 };
2192
2193 var BlockstackIcon = function BlockstackIcon(props) {
2194 return React.createElement(Svg, Object.assign({
2195 width: "12",
2196 height: "12",
2197 viewBox: "0 0 12 12",
2198 fill: "none"
2199 }, props), React.createElement("path", {
2200 fillRule: "evenodd",
2201 clipRule: "evenodd",
2202 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",
2203 fill: props.color || 'currentColor'
2204 }));
2205 };
2206
2207 var CheckmarkIcon = function CheckmarkIcon(_ref) {
2208 var _ref$size = _ref.size,
2209 size = _ref$size === void 0 ? 72 : _ref$size,
2210 _ref$color = _ref.color,
2211 color = _ref$color === void 0 ? 'currentColor' : _ref$color,
2212 props = _objectWithoutPropertiesLoose(_ref, ["size", "color"]);
2213
2214 return React.createElement(Svg, Object.assign({
2215 width: size,
2216 height: size,
2217 fill: "none",
2218 viewBox: "0 0 72 72"
2219 }, props), React.createElement("circle", {
2220 cx: "36",
2221 cy: "36",
2222 r: "34.5",
2223 fill: "#fff",
2224 stroke: color,
2225 strokeWidth: "3"
2226 }), React.createElement("path", {
2227 stroke: color,
2228 strokeLinecap: "round",
2229 strokeLinejoin: "round",
2230 strokeWidth: "3",
2231 d: "M21 37l10 10 20-22"
2232 }));
2233 };
2234
2235 var CheckmarkCircleIcon = function CheckmarkCircleIcon(props) {
2236 return React__default.createElement(Box, Object.assign({}, props), React__default.createElement("svg", {
2237 width: "100%",
2238 viewBox: "0 0 16 17",
2239 fill: "none"
2240 }, React__default.createElement("path", {
2241 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",
2242 fill: "currentColor"
2243 })));
2244 };
2245
2246 var rotate$1 = function rotate(direction) {
2247 if (direction === void 0) {
2248 direction = 'right';
2249 }
2250
2251 switch (direction) {
2252 case 'left':
2253 return '90';
2254
2255 case 'up':
2256 return '180';
2257
2258 case 'right':
2259 return '270';
2260
2261 case 'down':
2262 return 0;
2263
2264 default:
2265 throw new Error('`rotate` must receive direction parameter');
2266 }
2267 };
2268
2269 var ChevronIcon = function ChevronIcon(_ref) {
2270 var direction = _ref.direction,
2271 _ref$size = _ref.size,
2272 size = _ref$size === void 0 ? '16px' : _ref$size,
2273 _ref$style = _ref.style,
2274 style = _ref$style === void 0 ? {} : _ref$style,
2275 props = _objectWithoutPropertiesLoose(_ref, ["direction", "size", "style"]);
2276
2277 return React.createElement(Svg, Object.assign({
2278 width: size,
2279 height: size,
2280 viewBox: "0 0 16 16",
2281 style: _objectSpread2({}, style, {
2282 transform: "rotate(" + rotate$1(direction) + "deg)"
2283 })
2284 }, props), React.createElement("path", {
2285 fill: props.color || 'currentColor',
2286 d: "M4.7 7.367l3.3 3.3 3.3-3.3-.943-.943L8 8.78 5.643 6.424l-.943.943z"
2287 }));
2288 };
2289
2290 var ConnectLogoIcon = function ConnectLogoIcon(_ref) {
2291 var _ref$color = _ref.color,
2292 color = _ref$color === void 0 ? 'currentColor' : _ref$color,
2293 props = _objectWithoutPropertiesLoose(_ref, ["color"]);
2294
2295 return React.createElement(Svg, Object.assign({
2296 color: color
2297 }, props), React.createElement("rect", {
2298 width: "24",
2299 height: "24",
2300 rx: "12",
2301 fill: "currentColor",
2302 opacity: "0.15"
2303 }), React.createElement("path", {
2304 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",
2305 fill: "currentColor"
2306 }), React.createElement("rect", {
2307 x: "10.5",
2308 y: "11.25",
2309 width: "3",
2310 height: "5.25",
2311 fill: "currentColor"
2312 }));
2313 };
2314
2315 var EncryptionIcon = function EncryptionIcon(props) {
2316 return React.createElement(Svg, Object.assign({}, props), React.createElement("path", {
2317 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",
2318 fill: "currentColor"
2319 }));
2320 };
2321
2322 var ExclamationMarkIcon = function ExclamationMarkIcon(props) {
2323 return React.createElement(Svg, Object.assign({
2324 width: "12",
2325 height: "12",
2326 fill: "none",
2327 viewBox: "0 0 12 12"
2328 }, props), React.createElement("circle", {
2329 cx: "6",
2330 cy: "6",
2331 r: "6",
2332 fill: props.color || 'currentColor'
2333 }), React.createElement("path", {
2334 fill: "#fff",
2335 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"
2336 }));
2337 };
2338
2339 var ExclamationMarkCircleIcon = function ExclamationMarkCircleIcon(props) {
2340 return React__default.createElement(Box, Object.assign({}, props), React__default.createElement("svg", {
2341 width: "100%",
2342 viewBox: "0 0 16 16",
2343 fill: "none"
2344 }, React__default.createElement("path", {
2345 fillRule: "evenodd",
2346 clipRule: "evenodd",
2347 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",
2348 fill: "currentColor"
2349 })));
2350 };
2351
2352 var EyeIcon = function EyeIcon(props) {
2353 return React.createElement(Svg, Object.assign({
2354 width: "24",
2355 height: "20",
2356 viewBox: "0 0 24 20"
2357 }, props), React.createElement("path", {
2358 fillRule: "evenodd",
2359 clipRule: "evenodd",
2360 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",
2361 fill: props.color || 'currentColor'
2362 }), React.createElement("path", {
2363 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",
2364 fill: props.color || 'currentColor'
2365 }));
2366 };
2367
2368 var PadlockIcon = function PadlockIcon(props) {
2369 return React.createElement(Svg, Object.assign({
2370 width: "64",
2371 height: "64",
2372 fill: "none",
2373 viewBox: "0 0 64 64"
2374 }, props), React.createElement("path", {
2375 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",
2376 fill: "currentColor",
2377 opacity: "0.15"
2378 }), React.createElement("path", {
2379 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",
2380 fill: "currentColor"
2381 }));
2382 };
2383
2384 var PlusCircleIcon = function PlusCircleIcon(props) {
2385 return React.createElement(Svg, Object.assign({}, props), React.createElement("circle", {
2386 cx: "12",
2387 cy: "12",
2388 r: "12",
2389 fill: "currentColor"
2390 }), React.createElement("g", {
2391 clipPath: "url(#clip0)"
2392 }, React.createElement("path", {
2393 fill: "#fff",
2394 fillRule: "evenodd",
2395 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",
2396 clipRule: "evenodd"
2397 })), React.createElement("defs", null, React.createElement("clipPath", {
2398 id: "clip0"
2399 }, React.createElement("path", {
2400 fill: "#fff",
2401 d: "M4 12H16V24H4z",
2402 transform: "rotate(-45 4 12)"
2403 }))));
2404 };
2405
2406 var PrivateIcon = function PrivateIcon(props) {
2407 return React.createElement(Svg, Object.assign({
2408 width: "18",
2409 height: "24",
2410 viewBox: "0 0 18 24",
2411 fill: "none"
2412 }, props), React.createElement("path", {
2413 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",
2414 fill: "currentColor"
2415 }));
2416 };
2417
2418 var UnionLineIcon = function UnionLineIcon(props) {
2419 return React.createElement(Svg, Object.assign({
2420 width: "32",
2421 height: "7",
2422 fill: "none",
2423 viewBox: "0 0 32 7"
2424 }, props), React.createElement("mask", {
2425 id: "a",
2426 width: "32",
2427 height: "7",
2428 x: "0",
2429 y: "0",
2430 fill: "#000",
2431 maskUnits: "userSpaceOnUse"
2432 }, React.createElement("path", {
2433 fill: "#fff",
2434 d: "M0 0H32V7H0z"
2435 }), React.createElement("path", {
2436 fillRule: "evenodd",
2437 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",
2438 clipRule: "evenodd"
2439 })), React.createElement("path", {
2440 fill: "#677282",
2441 fillRule: "evenodd",
2442 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",
2443 clipRule: "evenodd"
2444 }), React.createElement("path", {
2445 fill: "#fff",
2446 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",
2447 mask: "url(#a)"
2448 }));
2449 };
2450
2451 var CloseIcon = function CloseIcon(props) {
2452 return React__default.createElement(Box, Object.assign({}, props), React__default.createElement(Svg, {
2453 width: "100%",
2454 viewBox: "0 0 10 10"
2455 }, React__default.createElement("path", {
2456 fillRule: "evenodd",
2457 clipRule: "evenodd",
2458 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",
2459 fill: "currentColor"
2460 })));
2461 };
2462
2463 var ExternalIcon = function ExternalIcon(props) {
2464 return React.createElement(Svg, Object.assign({
2465 width: "8",
2466 height: "9",
2467 viewBox: "0 0 8 9",
2468 fill: "none"
2469 }, props), React.createElement("path", {
2470 fillRule: "evenodd",
2471 clipRule: "evenodd",
2472 d: "M1.30849 0H7.04391H7.99975H7.99981V6.6919H7.04391V1.66447L0.707141 8.00185L0 7.29477L6.33818 0.955986H1.30849V0Z",
2473 fill: "#677282"
2474 }));
2475 };
2476
2477 var FailedIcon = function FailedIcon(_ref) {
2478 var _ref$size = _ref.size,
2479 size = _ref$size === void 0 ? 64 : _ref$size,
2480 props = _objectWithoutPropertiesLoose(_ref, ["size"]);
2481
2482 return React.createElement(Svg, Object.assign({
2483 width: size,
2484 height: size,
2485 viewBox: "0 0 64 64",
2486 fill: "none"
2487 }, props), React.createElement("circle", {
2488 cx: "32",
2489 cy: "32",
2490 r: "30",
2491 stroke: "#D4001A",
2492 strokeWidth: "4",
2493 strokeLinecap: "round"
2494 }), React.createElement("path", {
2495 d: "M23 41L40.9995 23",
2496 stroke: "#D4001A",
2497 strokeWidth: "4",
2498 strokeLinecap: "round",
2499 strokeLinejoin: "round"
2500 }), React.createElement("path", {
2501 d: "M41 41L23.0005 23",
2502 stroke: "#D4001A",
2503 strokeWidth: "4",
2504 strokeLinecap: "round",
2505 strokeLinejoin: "round"
2506 }));
2507 };
2508
2509 var defaultStyle = {
2510 height: 12,
2511 border: '1px solid',
2512 borderBottomColor: 'inherit',
2513 borderLeftColor: 'inherit',
2514 borderRightColor: 'inherit',
2515 borderTopColor: 'inherit',
2516 borderColor: 'inherit',
2517 bg: 'white',
2518 _hover: {
2519 borderBottomColor: 'ink.300',
2520 borderLeftColor: 'ink.300',
2521 borderRightColor: 'ink.300',
2522 borderTopColor: 'ink.300',
2523 borderColor: 'ink.300'
2524 },
2525 _disabled: {
2526 bg: '#f9f9fc',
2527 cursor: 'not-allowed',
2528 pointerEvents: 'none'
2529 },
2530 _focus: {
2531 borderBottomColor: 'blue.300',
2532 borderLeftColor: 'blue.300',
2533 borderRightColor: 'blue.300',
2534 borderTopColor: 'blue.300',
2535 borderColor: 'blue.300',
2536 boxShadow: '0 0 0 1px rgba(170, 179, 255, 0.75)'
2537 },
2538 _invalid: {
2539 borderBottomColor: 'red',
2540 borderLeftColor: 'red',
2541 borderRightColor: 'red',
2542 borderTopColor: 'red',
2543 borderColor: 'red'
2544 }
2545 };
2546 var baseProps$1 = {
2547 display: 'flex',
2548 alignItems: 'center',
2549 position: 'relative',
2550 transition: 'all 0.2s',
2551 outline: 'none',
2552 borderRadius: '6px',
2553 p: '14px 16px'
2554 };
2555 var inputSizes = {
2556 "default": {
2557 fontSize: 'body.small',
2558 height: '12',
2559 lineHeight: 'base'
2560 }
2561 };
2562
2563 var useInputStyle = function useInputStyle(props) {
2564 return _objectSpread2({
2565 width: props.isFullWidth ? '100%' : undefined
2566 }, baseProps$1, {}, defaultStyle);
2567 };
2568
2569 var InputAddon = function InputAddon(_ref) {
2570 var _ref$placement = _ref.placement,
2571 placement = _ref$placement === void 0 ? 'left' : _ref$placement,
2572 props = _objectWithoutPropertiesLoose(_ref, ["placement"]);
2573
2574 var _placement = {
2575 left: {
2576 mr: '-1px',
2577 roundedRight: 0,
2578 borderRightColor: 'transparent',
2579 borderLeftWidth: 0
2580 },
2581 right: {
2582 order: 1,
2583 roundedLeft: 0,
2584 borderLeftColor: 'transparent',
2585 borderLeftWidth: 0
2586 }
2587 };
2588
2589 var styleProps = _objectSpread2({}, useInputStyle({
2590 variant: 'outline'
2591 }), {
2592 flex: '0 0 auto',
2593 whiteSpace: 'nowrap',
2594 bg: 'white',
2595 fontSize: 'body.small'
2596 }, _placement[placement]);
2597
2598 return React__default.createElement(Box, Object.assign({}, styleProps, props, {
2599 css: {
2600 'input:focus + &': {
2601 zIndex: -1
2602 }
2603 }
2604 }));
2605 };
2606
2607 InputAddon.propTypes = {
2608 placement: /*#__PURE__*/propTypes.oneOf(['left', 'right'])
2609 } ;
2610 InputAddon.displayName = 'InputAddon';
2611
2612 var InputLeftAddon = function InputLeftAddon(props) {
2613 return React__default.createElement(InputAddon, Object.assign({
2614 placement: "left"
2615 }, props));
2616 };
2617
2618 var InputRightAddon = function InputRightAddon(props) {
2619 return React__default.createElement(InputAddon, Object.assign({
2620 placement: "right"
2621 }, props));
2622 };
2623
2624 var InputElement = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
2625 var _placementProp;
2626
2627 var _ref$size = _ref.size,
2628 size = _ref$size === void 0 ? 'default' : _ref$size,
2629 children = _ref.children,
2630 _ref$placement = _ref.placement,
2631 placement = _ref$placement === void 0 ? 'left' : _ref$placement,
2632 _ref$disablePointerEv = _ref.disablePointerEvents,
2633 disablePointerEvents = _ref$disablePointerEv === void 0 ? false : _ref$disablePointerEv,
2634 props = _objectWithoutPropertiesLoose(_ref, ["size", "children", "placement", "disablePointerEvents"]);
2635
2636 var height = inputSizes[size] && inputSizes[size].height;
2637 var fontSize = inputSizes[size] && inputSizes[size].fontSize;
2638 var placementProp = (_placementProp = {}, _placementProp[placement] = '0', _placementProp);
2639 return React__default.createElement(Box, Object.assign({
2640 display: "flex",
2641 alignItems: "center",
2642 justifyContent: "center",
2643 position: "absolute",
2644 height: height,
2645 width: height,
2646 fontSize: fontSize,
2647 top: "0",
2648 zIndex: 1,
2649 ref: ref
2650 }, disablePointerEvents && {
2651 pointerEvents: 'none'
2652 }, placementProp, props), children);
2653 });
2654 var InputLeftElement = /*#__PURE__*/React.forwardRef(function (props, ref) {
2655 return React__default.createElement(InputElement, Object.assign({
2656 ref: ref,
2657 placement: "left"
2658 }, props));
2659 });
2660 var InputRightElement = /*#__PURE__*/React.forwardRef(function (props, ref) {
2661 return React__default.createElement(InputElement, Object.assign({
2662 ref: ref,
2663 placement: "right"
2664 }, props));
2665 });
2666 InputElement.displayName = 'InputElement';
2667 InputLeftElement.displayName = 'InputLeftElement';
2668 InputRightElement.displayName = 'InputRightElement';
2669
2670 var Input = /*#__PURE__*/React.forwardRef(function (props, ref) {
2671 var as = props.as,
2672 ariaLabel = props['aria-label'],
2673 ariaDescribedby = props['aria-describedby'],
2674 isReadOnly = props.isReadOnly,
2675 _props$style = props.style,
2676 style = _props$style === void 0 ? {} : _props$style,
2677 rest = _objectWithoutPropertiesLoose(props, ["as", "aria-label", "aria-describedby", "isReadOnly", "style"]);
2678
2679 var inputStyleProps = useInputStyle(props);
2680 var formControl = useFormControl(props);
2681 return React__default.createElement(Box, Object.assign({
2682 ref: ref,
2683 as: as,
2684 _readOnly: formControl.isReadOnly,
2685 "aria-readonly": isReadOnly,
2686 isDisabled: formControl.isDisabled,
2687 "aria-label": ariaLabel,
2688 "aria-invalid": formControl.isInvalid,
2689 isRequired: formControl.isRequired,
2690 "aria-required": formControl.isRequired,
2691 "aria-disabled": formControl.isDisabled,
2692 "aria-describedby": ariaDescribedby,
2693 textStyle: "body.small",
2694 style: _objectSpread2({
2695 WebkitAppearance: 'none'
2696 }, style)
2697 }, inputStyleProps, rest));
2698 });
2699 Input.defaultProps = {
2700 as: 'input',
2701 isFullWidth: true,
2702 focusBorderColor: 'blue.300'
2703 };
2704 Input.displayName = 'Input';
2705
2706 var InputGroup = function InputGroup(_ref) {
2707 var children = _ref.children,
2708 _ref$size = _ref.size,
2709 size = _ref$size === void 0 ? 'default' : _ref$size,
2710 props = _objectWithoutPropertiesLoose(_ref, ["children", "size"]);
2711
2712 var _useTheme = useTheme(),
2713 sizes = _useTheme.sizes;
2714
2715 var height = inputSizes[size] && inputSizes[size].height;
2716 var pl = null;
2717 var pr = null;
2718 return React__default.createElement(Box, Object.assign({
2719 display: "flex",
2720 position: "relative"
2721 }, props), React.Children.map(children, function (child) {
2722 if (!React__default.isValidElement(child)) {
2723 return null;
2724 }
2725
2726 if (child.type === InputLeftElement) {
2727 pl = sizes[height];
2728 }
2729
2730 if (child.type === InputRightElement) {
2731 pr = sizes[height];
2732 }
2733
2734 if (child.type === Input) {
2735 return React.cloneElement(child, {
2736 width: '100%',
2737 pl: child.props.pl || pl,
2738 pr: child.props.pr || pr
2739 });
2740 }
2741
2742 return React.cloneElement(child, {
2743 size: size
2744 });
2745 }));
2746 };
2747
2748 var ModalContext = /*#__PURE__*/React__default.createContext({
2749 isOpen: false
2750 });
2751 var useModalState = function useModalState() {
2752 return React__default.useContext(ModalContext);
2753 };
2754 var Header = /*#__PURE__*/React__default.memo(function (_ref) {
2755 var component = _ref.component;
2756 return component ? React__default.createElement(Box, {
2757 borderTopRightRadius: "6px",
2758 borderTopLeftRadius: "6px"
2759 }, component) : null;
2760 });
2761 var Footer = /*#__PURE__*/React__default.memo(function (_ref2) {
2762 var component = _ref2.component;
2763 return component ? React__default.createElement(Box, {
2764 borderBottomRightRadius: "6px",
2765 borderBottomLeftRadius: "6px"
2766 }, component) : null;
2767 });
2768
2769 var ModalUnderlay = function ModalUnderlay(_ref3) {
2770 var isOpen = _ref3.isOpen,
2771 noAnimation = _ref3.noAnimation;
2772 return React__default.createElement(Box, {
2773 position: "fixed",
2774 size: "100%",
2775 left: 0,
2776 right: 0,
2777 top: 0,
2778 bottom: 0,
2779 bg: "rgba(0,0,0," + (isOpen ? '0.48' : '0') + ")",
2780 transition: noAnimation ? 'unset' : 'all 0.15s',
2781 zIndex: 99999,
2782 style: {
2783 userSelect: isOpen ? 'unset' : 'none',
2784 pointerEvents: isOpen ? 'unset' : 'none',
2785 willChange: 'background'
2786 }
2787 });
2788 };
2789
2790 var ModalWrapper = function ModalWrapper(_ref4) {
2791 var isOpen = _ref4.isOpen,
2792 rest = _objectWithoutPropertiesLoose(_ref4, ["isOpen"]);
2793
2794 return React__default.createElement(Flex, Object.assign({
2795 zIndex: 999999,
2796 position: "fixed",
2797 bottom: [0, 'unset'],
2798 width: "100%",
2799 top: 0,
2800 left: 0,
2801 height: "100%",
2802 maxHeight: ['100vh', 'unset'],
2803 alignItems: "center",
2804 justifyContent: ['flex-end', 'center'],
2805 flexDirection: "column",
2806 opacity: isOpen ? 1 : 0,
2807 style: {
2808 userSelect: isOpen ? 'unset' : 'none',
2809 pointerEvents: isOpen ? 'unset' : 'none'
2810 }
2811 }, rest));
2812 };
2813
2814 var ModalCardContainer = /*#__PURE__*/React__default.forwardRef(function (_ref5, ref) {
2815 var noAnimation = _ref5.noAnimation,
2816 isOpen = _ref5.isOpen,
2817 rest = _objectWithoutPropertiesLoose(_ref5, ["noAnimation", "isOpen"]);
2818
2819 return React__default.createElement(Flex, Object.assign({
2820 flexDirection: "column",
2821 position: "relative",
2822 bg: "white",
2823 mx: "auto",
2824 minWidth: ['100%', '396px'],
2825 maxWidth: ['100%', '396px'],
2826 maxHeight: ['100%', 'calc(100% - 48px)'],
2827 borderRadius: ['unset', '6px'],
2828 boxShadow: "high",
2829 transform: noAnimation ? 'translateY(0px)' : isOpen ? 'translateY(0px)' : 'translateY(15px)',
2830 transition: noAnimation ? 'unset' : 'all 0.2s ease-in-out',
2831 style: {
2832 willChange: 'transform'
2833 },
2834 ref: ref
2835 }, rest));
2836 });
2837 var Modal = /*#__PURE__*/React__default.memo(function (_ref6) {
2838 var _ref6$footerComponent = _ref6.footerComponent,
2839 FooterComponent = _ref6$footerComponent === void 0 ? null : _ref6$footerComponent,
2840 _ref6$headerComponent = _ref6.headerComponent,
2841 HeaderComponent = _ref6$headerComponent === void 0 ? null : _ref6$headerComponent,
2842 _ref6$isOpen = _ref6.isOpen,
2843 isOpen = _ref6$isOpen === void 0 ? false : _ref6$isOpen,
2844 children = _ref6.children,
2845 _ref6$noAnimation = _ref6.noAnimation,
2846 noAnimation = _ref6$noAnimation === void 0 ? false : _ref6$noAnimation,
2847 close = _ref6.close,
2848 props = _objectWithoutPropertiesLoose(_ref6, ["footerComponent", "headerComponent", "isOpen", "children", "noAnimation", "close"]);
2849
2850 var _useModalState = useModalState(),
2851 doCloseModal = _useModalState.doCloseModal;
2852
2853 var ref = React__default.useRef(null);
2854 React__default.useEffect(function () {
2855 var func = function func(event) {
2856 if (event.key === 'Escape') {
2857 if (close) {
2858 close();
2859 } else if (doCloseModal) {
2860 doCloseModal();
2861 }
2862 }
2863 };
2864
2865 if (isOpen) {
2866 var _window, _window$document;
2867
2868 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);
2869 }
2870
2871 return function () {
2872 var _window2, _window2$document;
2873
2874 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);
2875 };
2876 }, [isOpen, close]);
2877 var handler = isOpen ? close || doCloseModal || null : null;
2878 useOnClickOutside(ref, handler);
2879 return React__default.createElement(React__default.Fragment, null, React__default.createElement(ModalUnderlay, {
2880 isOpen: isOpen,
2881 noAnimation: noAnimation
2882 }), React__default.createElement(ModalWrapper, {
2883 isOpen: isOpen
2884 }, React__default.createElement(ModalCardContainer, Object.assign({
2885 ref: ref,
2886 isOpen: isOpen,
2887 noAnimation: noAnimation
2888 }, props), React__default.createElement(Header, {
2889 component: HeaderComponent
2890 }), React__default.createElement(Box, {
2891 overflowY: "auto"
2892 }, children), React__default.createElement(Footer, {
2893 component: FooterComponent
2894 }))));
2895 });
2896 var ModalProvider = function ModalProvider(props) {
2897 var _React$useState = React__default.useState(false),
2898 isOpen = _React$useState[0],
2899 setIsOpen = _React$useState[1];
2900
2901 var doOpenModal = function doOpenModal() {
2902 return !isOpen ? setIsOpen(true) : null;
2903 };
2904
2905 var doCloseModal = function doCloseModal() {
2906 return isOpen ? setIsOpen(false) : null;
2907 };
2908
2909 return React__default.createElement(ModalContext.Provider, {
2910 value: {
2911 isOpen: isOpen,
2912 doOpenModal: doOpenModal,
2913 doCloseModal: doCloseModal
2914 }
2915 }, props.children);
2916 };
2917
2918 var oppositeDirections = {
2919 top: 'bottom',
2920 bottom: 'top',
2921 right: 'left',
2922 left: 'right'
2923 };
2924 var getOppositePosition = function getOppositePosition(position) {
2925 return oppositeDirections[position];
2926 };
2927
2928 var splitPlacement = function splitPlacement(placement) {
2929 return placement.split('-');
2930 };
2931
2932 function getArrowStyles(placement, arrowSize) {
2933 var _ref;
2934
2935 var _splitPlacement = splitPlacement(placement),
2936 position = _splitPlacement[0];
2937
2938 var oppositePosition = getOppositePosition(position);
2939 if (!oppositePosition) return {};
2940 return _ref = {}, _ref[oppositePosition] = "-" + arrowSize / 2 + "px", _ref.width = arrowSize, _ref.height = arrowSize, _ref.position = 'absolute', _ref.transform = 'rotate(45deg)', _ref;
2941 }
2942 var isBrowser$2 = typeof window !== 'undefined';
2943 var useSafeLayoutEffect$1 = isBrowser$2 ? React.useLayoutEffect : React.useEffect;
2944 function usePopper(props) {
2945 var _props$placement = props.placement,
2946 initialPlacement = _props$placement === void 0 ? 'bottom' : _props$placement,
2947 offsetProp = props.offset,
2948 _props$preventOverflo = props.preventOverflow,
2949 preventOverflow = _props$preventOverflo === void 0 ? true : _props$preventOverflo,
2950 _props$fixed = props.fixed,
2951 fixed = _props$fixed === void 0 ? false : _props$fixed,
2952 _props$forceUpdate = props.forceUpdate,
2953 forceUpdate = _props$forceUpdate === void 0 ? true : _props$forceUpdate,
2954 _props$flip = props.flip,
2955 flip = _props$flip === void 0 ? true : _props$flip,
2956 _props$arrowSize = props.arrowSize,
2957 arrowSize = _props$arrowSize === void 0 ? 10 : _props$arrowSize,
2958 _props$gutter = props.gutter,
2959 gutter = _props$gutter === void 0 ? arrowSize : _props$gutter,
2960 _props$eventsEnabled = props.eventsEnabled,
2961 eventsEnabled = _props$eventsEnabled === void 0 ? true : _props$eventsEnabled;
2962 var popper = React.useRef(null);
2963 var referenceRef = React.useRef(null);
2964 var popoverRef = React.useRef(null);
2965 var arrowRef = React.useRef(null);
2966
2967 var _React$useState = React.useState(initialPlacement),
2968 originalPlacement = _React$useState[0],
2969 place = _React$useState[1];
2970
2971 var _React$useState2 = React.useState(initialPlacement),
2972 placement = _React$useState2[0],
2973 setPlacement = _React$useState2[1];
2974
2975 var _React$useState3 = React.useState(offsetProp || [0, gutter]),
2976 offset = _React$useState3[0];
2977
2978 var _React$useState4 = React.useState({}),
2979 popoverStyles = _React$useState4[0],
2980 setPopoverStyles = _React$useState4[1];
2981
2982 var _React$useState5 = React.useState({}),
2983 arrowStyles = _React$useState5[0],
2984 setArrowStyles = _React$useState5[1];
2985
2986 var update = React.useCallback(function () {
2987 if (popper.current) {
2988 popper.current.forceUpdate();
2989 return true;
2990 }
2991
2992 return false;
2993 }, []);
2994 useSafeLayoutEffect$1(function () {
2995 if (referenceRef.current && popoverRef.current) {
2996 popper.current = core.createPopper(referenceRef.current, popoverRef.current, {
2997 placement: originalPlacement,
2998 strategy: fixed ? 'fixed' : 'absolute',
2999 modifiers: [{
3000 name: 'eventListener',
3001 phase: 'write',
3002 enabled: eventsEnabled
3003 }, {
3004 name: 'applyStyles',
3005 enabled: false
3006 }, {
3007 name: 'flip',
3008 enabled: flip,
3009 options: {
3010 padding: 8
3011 }
3012 }, {
3013 name: 'computeStyles',
3014 options: {
3015 gpuAcceleration: false
3016 }
3017 }, {
3018 name: 'offset',
3019 options: {
3020 offset: offset
3021 }
3022 }, {
3023 name: 'preventOverflow',
3024 enabled: preventOverflow,
3025 options: {
3026 tetherOffset: function tetherOffset() {
3027 var _arrowRef$current;
3028
3029 return ((_arrowRef$current = arrowRef.current) === null || _arrowRef$current === void 0 ? void 0 : _arrowRef$current.clientWidth) || 0;
3030 }
3031 }
3032 }, {
3033 name: 'arrow',
3034 enabled: Boolean(arrowRef.current),
3035 options: {
3036 element: arrowRef.current
3037 }
3038 }, {
3039 name: 'updateState',
3040 phase: 'write',
3041 enabled: true,
3042 fn: function fn(_ref2) {
3043 var state = _ref2.state;
3044 setPlacement(state.placement);
3045 setPopoverStyles(state.styles.popper);
3046 setArrowStyles(state.styles.arrow);
3047 }
3048 }]
3049 });
3050 }
3051
3052 return function () {
3053 if (popper.current) {
3054 popper.current.destroy();
3055 popper.current = null;
3056 }
3057 };
3058 }, [originalPlacement, fixed, forceUpdate, flip, offset, preventOverflow]);
3059 useSafeLayoutEffect$1(function () {
3060 requestAnimationFrame(function () {
3061 if (forceUpdate) {
3062 var _popper$current;
3063
3064 (_popper$current = popper.current) === null || _popper$current === void 0 ? void 0 : _popper$current.forceUpdate();
3065 }
3066 });
3067 }, [forceUpdate]);
3068
3069 var computedArrowStyles = _objectSpread2({}, arrowStyles, {}, getArrowStyles(placement, arrowSize));
3070
3071 return {
3072 popperInstance: popper.current,
3073 reference: {
3074 ref: referenceRef
3075 },
3076 popper: {
3077 ref: popoverRef,
3078 style: popoverStyles
3079 },
3080 arrow: {
3081 ref: arrowRef,
3082 style: computedArrowStyles
3083 },
3084 update: update,
3085 placement: placement,
3086 place: place
3087 };
3088 }
3089
3090 var _createContext = /*#__PURE__*/createContext({
3091 strict: false
3092 }),
3093 usePortalManager = _createContext[1];
3094
3095 var _createContext$1 = /*#__PURE__*/createContext({
3096 strict: false
3097 }),
3098 PortalCtxProvider = _createContext$1[0],
3099 usePortalContext = _createContext$1[1];
3100
3101 function Portal(props) {
3102 var onMount = props.onMount,
3103 onUnmount = props.onUnmount,
3104 children = props.children,
3105 containerProp = props.container;
3106
3107 var _React$useState = React.useState(function () {
3108 if (isBrowser) {
3109 var div = document.createElement('div');
3110 div.className = 'portal';
3111 return div;
3112 }
3113
3114 return null;
3115 }),
3116 portal = _React$useState[0];
3117
3118 var parentPortal = usePortalContext();
3119 var manager = usePortalManager();
3120 var append = React.useCallback(function (container) {
3121 if (!portal || !container) return;
3122 container.appendChild(portal);
3123 }, [portal]);
3124 useSafeLayoutEffect(function () {
3125 var _ref, _ref2;
3126
3127 var mountNode = containerProp === null || containerProp === void 0 ? void 0 : containerProp();
3128 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;
3129 append(container);
3130 onMount === null || onMount === void 0 ? void 0 : onMount();
3131 return function () {
3132 onUnmount === null || onUnmount === void 0 ? void 0 : onUnmount();
3133 if (!portal) return;
3134
3135 if (container === null || container === void 0 ? void 0 : container.contains(portal)) {
3136 container === null || container === void 0 ? void 0 : container.removeChild(portal);
3137 }
3138 };
3139 }, [containerProp, portal, parentPortal, onMount, onUnmount, manager && manager.node, append]);
3140 var finalChildren = (manager === null || manager === void 0 ? void 0 : manager.zIndex) ? React.createElement("div", {
3141 className: "portal-zIndex",
3142 style: {
3143 zIndex: manager.zIndex
3144 }
3145 }, children) : children;
3146
3147 if (!portal) {
3148 return React.createElement(React.Fragment, null, finalChildren);
3149 }
3150
3151 return reactDom.createPortal(React.createElement(PortalCtxProvider, {
3152 value: portal
3153 }, finalChildren), portal);
3154 }
3155
3156 {
3157 Portal.displayName = 'Portal';
3158 }
3159
3160 var Stack = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
3161 var isInline = _ref.isInline,
3162 children = _ref.children,
3163 align = _ref.align,
3164 justify = _ref.justify,
3165 _ref$spacing = _ref.spacing,
3166 spacing = _ref$spacing === void 0 ? 2 : _ref$spacing,
3167 shouldWrapChildren = _ref.shouldWrapChildren,
3168 rest = _objectWithoutPropertiesLoose(_ref, ["isInline", "children", "align", "justify", "spacing", "shouldWrapChildren"]);
3169
3170 var validChildren = Array.isArray(children) ? children.filter(React.isValidElement) : [];
3171 return React__default.createElement(Flex, Object.assign({
3172 align: align,
3173 justify: justify,
3174 flexDir: isInline ? 'row' : 'column',
3175 ref: ref
3176 }, rest), React.Children.map(validChildren, function (child, index) {
3177 if (!React.isValidElement(child)) {
3178 return null;
3179 }
3180
3181 if (!Array.isArray(children)) {
3182 return null;
3183 }
3184
3185 var isLastChild = validChildren.length === index + 1;
3186 var spacingProps = isInline ? {
3187 mr: isLastChild ? undefined : spacing
3188 } : {
3189 mb: isLastChild ? undefined : spacing
3190 };
3191
3192 if (shouldWrapChildren) {
3193 return React__default.createElement(Box, Object.assign({
3194 d: "inline-block"
3195 }, spacingProps), child);
3196 }
3197
3198 return React.cloneElement(child, spacingProps);
3199 }));
3200 });
3201 Stack.displayName = 'Stack';
3202
3203 var Transition = function Transition(_ref) {
3204 var styles = _ref.styles,
3205 inProp = _ref["in"],
3206 _ref$timeout = _ref.timeout,
3207 timeout = _ref$timeout === void 0 ? 200 : _ref$timeout,
3208 _ref$transition = _ref.transition,
3209 transition = _ref$transition === void 0 ? "all " + timeout + "ms cubic-bezier(0.23, 1, 0.32, 1)" : _ref$transition,
3210 children = _ref.children,
3211 rest = _objectWithoutPropertiesLoose(_ref, ["styles", "in", "timeout", "transition", "children"]);
3212
3213 var computedStyle = function computedStyle(state) {
3214 return _objectSpread2({}, styles.init, {
3215 transition: transition
3216 }, styles[state]);
3217 };
3218
3219 return React.createElement(CSSTransition, Object.assign({
3220 appear: true,
3221 unmountOnExit: true,
3222 "in": inProp,
3223 timeout: timeout
3224 }, rest), function (state) {
3225 return children(computedStyle(state));
3226 });
3227 };
3228
3229 var styles = {
3230 init: {
3231 opacity: 0
3232 },
3233 entered: {
3234 opacity: 1
3235 },
3236 exiting: {
3237 opacity: 0
3238 }
3239 };
3240 var Fade = function Fade(_ref) {
3241 var _ref$timeout = _ref.timeout,
3242 timeout = _ref$timeout === void 0 ? 250 : _ref$timeout,
3243 rest = _objectWithoutPropertiesLoose(_ref, ["timeout"]);
3244
3245 return React.createElement(Transition, Object.assign({
3246 transition: "all " + timeout + "ms cubic-bezier(0.175, 0.885, 0.320, 1.175)",
3247 styles: styles,
3248 timeout: {
3249 enter: 50,
3250 exit: timeout
3251 }
3252 }, rest));
3253 };
3254
3255 var getTransitionStyles = function getTransitionStyles(initialScale) {
3256 return {
3257 init: {
3258 opacity: 0,
3259 transform: "scale(" + initialScale + ")"
3260 },
3261 entered: {
3262 opacity: 1,
3263 transform: 'scale(1)'
3264 },
3265 exiting: {
3266 opacity: 0,
3267 transform: "scale(" + initialScale + ")"
3268 }
3269 };
3270 };
3271
3272 var ScaleFade = function ScaleFade(_ref) {
3273 var _ref$initialScale = _ref.initialScale,
3274 initialScale = _ref$initialScale === void 0 ? 0.9 : _ref$initialScale,
3275 _ref$timeout = _ref.timeout,
3276 timeout = _ref$timeout === void 0 ? 300 : _ref$timeout,
3277 rest = _objectWithoutPropertiesLoose(_ref, ["initialScale", "timeout"]);
3278
3279 return React.createElement(Transition, Object.assign({
3280 styles: React.useMemo(function () {
3281 return getTransitionStyles(initialScale);
3282 }, [initialScale]),
3283 transition: "all " + timeout + "ms cubic-bezier(0.45, 0, 0.40, 1)",
3284 timeout: {
3285 enter: 50,
3286 exit: timeout
3287 },
3288 unmountOnExit: true
3289 }, rest));
3290 };
3291
3292 var createBaseStyle = function createBaseStyle(placement) {
3293 switch (placement) {
3294 case 'bottom':
3295 {
3296 return {
3297 maxWidth: '100vw',
3298 bottom: 0,
3299 left: 0,
3300 right: 0
3301 };
3302 }
3303
3304 case 'top':
3305 {
3306 return {
3307 maxWidth: '100vw',
3308 top: 0,
3309 left: 0,
3310 right: 0
3311 };
3312 }
3313
3314 case 'left':
3315 {
3316 return {
3317 width: '100%',
3318 height: '100vh',
3319 left: 0,
3320 top: 0
3321 };
3322 }
3323
3324 case 'right':
3325 {
3326 return {
3327 width: '100%',
3328 right: 0,
3329 top: 0,
3330 height: '100vh'
3331 };
3332 }
3333
3334 default:
3335 return undefined;
3336 }
3337 };
3338
3339 var getTransformStyle = function getTransformStyle(placement, value) {
3340 var axis = '';
3341 if (placement === 'left' || placement === 'right') axis = 'X';
3342 if (placement === 'top' || placement === 'bottom') axis = 'Y';
3343 return "translate" + axis + "(" + value + ")";
3344 };
3345
3346 var getTransitionStyles$1 = function getTransitionStyles(placement) {
3347 var offset = {
3348 bottom: '100%',
3349 top: '-100%',
3350 left: '-100%',
3351 right: '100%'
3352 };
3353 return {
3354 init: {
3355 transform: getTransformStyle(placement, offset[placement])
3356 },
3357 entered: {
3358 transform: getTransformStyle(placement, '0%')
3359 },
3360 exiting: {
3361 transform: getTransformStyle(placement, offset[placement])
3362 }
3363 };
3364 };
3365
3366 function Slide(props) {
3367 var _props$placement = props.placement,
3368 placement = _props$placement === void 0 ? 'left' : _props$placement,
3369 _props$timeout = props.timeout,
3370 timeout = _props$timeout === void 0 ? 250 : _props$timeout,
3371 children = props.children,
3372 rest = _objectWithoutPropertiesLoose(props, ["placement", "timeout", "children"]);
3373
3374 var styles = getTransitionStyles$1(placement);
3375
3376 var positionStyles = _objectSpread2({
3377 position: 'fixed',
3378 willChange: 'transform'
3379 }, createBaseStyle(placement));
3380
3381 return React.createElement(Transition, Object.assign({
3382 styles: styles,
3383 transition: "all " + timeout + "ms cubic-bezier(0, 0, 0.2, 1)",
3384 timeout: {
3385 enter: 50,
3386 exit: timeout
3387 }
3388 }, rest), function (styles) {
3389 return children(_objectSpread2({}, positionStyles, {}, styles));
3390 });
3391 }
3392
3393 function getTransitionStyles$2(initialOffset) {
3394 return {
3395 init: {
3396 opacity: 0,
3397 transform: "translateY(" + initialOffset + ")"
3398 },
3399 entered: {
3400 opacity: 1,
3401 transform: 'translateY(0px)'
3402 },
3403 exiting: {
3404 opacity: 0,
3405 transform: "translateY(" + initialOffset + ")"
3406 }
3407 };
3408 }
3409
3410 var SlideFade = function SlideFade(props) {
3411 var _props$initialOffset = props.initialOffset,
3412 initialOffset = _props$initialOffset === void 0 ? '20px' : _props$initialOffset,
3413 _props$timeout = props.timeout,
3414 timeout = _props$timeout === void 0 ? 150 : _props$timeout,
3415 rest = _objectWithoutPropertiesLoose(props, ["initialOffset", "timeout"]);
3416
3417 var styles = getTransitionStyles$2(initialOffset);
3418 return React.createElement(Transition, Object.assign({
3419 styles: styles,
3420 transition: "all " + timeout + "ms cubic-bezier(0.4, 0.14, 0.3, 1)",
3421 timeout: {
3422 enter: 50,
3423 exit: timeout
3424 }
3425 }, rest));
3426 };
3427
3428 var toneToIcon = {
3429 critical: ExclamationMarkCircleIcon,
3430 positive: CheckmarkCircleIcon,
3431 none: function none() {
3432 return null;
3433 }
3434 };
3435
3436 var Action = function Action(_ref) {
3437 var label = _ref.label,
3438 onClick = _ref.onClick,
3439 removeToast = _ref.removeToast,
3440 rest = _objectWithoutPropertiesLoose(_ref, ["label", "onClick", "removeToast"]);
3441
3442 var handleClick = React.useCallback(function () {
3443 removeToast();
3444 onClick();
3445 }, [removeToast, onClick]);
3446 return React__default.createElement(Box, Object.assign({
3447 _hover: {
3448 cursor: 'pointer',
3449 textDecoration: 'underline'
3450 },
3451 onClick: handleClick,
3452 "aria-hidden": true
3453 }, rest), React__default.createElement(Text, null, label));
3454 };
3455
3456 var getCustomProps = function getCustomProps(props) {
3457 var _props, _props2, _props3, _props4, _props5, _props5$icon, _props6, _props7;
3458
3459 if (props === void 0) {
3460 props = {};
3461 }
3462
3463 return {
3464 message: _objectSpread2({
3465 color: 'ink'
3466 }, (_props = props) === null || _props === void 0 ? void 0 : _props.message),
3467 description: _objectSpread2({
3468 color: 'ink.600'
3469 }, (_props2 = props) === null || _props2 === void 0 ? void 0 : _props2.description),
3470 toast: _objectSpread2({
3471 background: 'white',
3472 borderColor: 'inherit',
3473 boxShadow: 'high'
3474 }, (_props3 = props) === null || _props3 === void 0 ? void 0 : _props3.toast),
3475 icon: _objectSpread2({}, (_props4 = props) === null || _props4 === void 0 ? void 0 : _props4.icon, {
3476 color: _objectSpread2({
3477 critical: 'red',
3478 positive: 'green'
3479 }, (_props5 = props) === null || _props5 === void 0 ? void 0 : (_props5$icon = _props5.icon) === null || _props5$icon === void 0 ? void 0 : _props5$icon.color)
3480 }),
3481 close: _objectSpread2({
3482 color: 'ink.600'
3483 }, (_props6 = props) === null || _props6 === void 0 ? void 0 : _props6.close),
3484 action: _objectSpread2({
3485 color: 'blue',
3486 fontSize: '14px'
3487 }, (_props7 = props) === null || _props7 === void 0 ? void 0 : _props7.action)
3488 };
3489 };
3490
3491 var CloseButton = function CloseButton(_ref2) {
3492 var onClick = _ref2.onClick,
3493 rest = _objectWithoutPropertiesLoose(_ref2, ["onClick"]);
3494
3495 var _useHover = useEvents.useHover(),
3496 hover = _useHover[0],
3497 bind = _useHover[1];
3498
3499 var _useFocus = useEvents.useFocus(),
3500 focus = _useFocus[0],
3501 focusBind = _useFocus[1];
3502
3503 return React__default.createElement(Flex, Object.assign({
3504 position: "relative",
3505 justify: "center",
3506 cursor: hover ? 'pointer' : 'unset',
3507 onClick: onClick
3508 }, bind, rest), React__default.createElement(Box, Object.assign({
3509 ml: "tight",
3510 mt: "extra-tight",
3511 opacity: hover ? 1 : 0.5,
3512 as: "button",
3513 role: "button",
3514 "aria-label": "Close popup",
3515 title: "Close",
3516 style: {
3517 outline: 'none'
3518 },
3519 position: "relative",
3520 zIndex: 99,
3521 transition: transition
3522 }, focusBind), React__default.createElement(CloseIcon, {
3523 size: "12px"
3524 })), React__default.createElement(Box, {
3525 size: "24px",
3526 bg: "currentColor",
3527 borderRadius: "100%",
3528 position: "absolute",
3529 left: "-50%",
3530 top: "-50%",
3531 opacity: hover ? 0.1 : 0,
3532 transform: "translate3d(12px, 6px, 0)",
3533 transition: transition,
3534 boxShadow: focus ? 'focus' : 'unset'
3535 }));
3536 };
3537
3538 var Description = function Description(_ref3) {
3539 var children = _ref3.children,
3540 rest = _objectWithoutPropertiesLoose(_ref3, ["children"]);
3541
3542 return React__default.createElement(Text, Object.assign({
3543 fontSize: "14px",
3544 style: {
3545 wordBreak: 'break-word'
3546 },
3547 display: "block"
3548 }, rest), children);
3549 };
3550
3551 var Message = function Message(_ref4) {
3552 var children = _ref4.children,
3553 rest = _objectWithoutPropertiesLoose(_ref4, ["children"]);
3554
3555 return React__default.createElement(Text, Object.assign({
3556 fontWeight: "600",
3557 display: "block"
3558 }, rest), children);
3559 };
3560
3561 var ToastContent = function ToastContent(_ref5) {
3562 var _ref5$styles = _ref5.styles,
3563 styles = _ref5$styles === void 0 ? {} : _ref5$styles,
3564 message = _ref5.message,
3565 description = _ref5.description,
3566 action = _ref5.action,
3567 remove = _ref5.remove,
3568 rest = _objectWithoutPropertiesLoose(_ref5, ["styles", "message", "description", "action", "remove"]);
3569
3570 return description ? React__default.createElement(Stack, Object.assign({
3571 spacing: "tight"
3572 }, 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({
3573 key: action.label,
3574 removeToast: remove
3575 }, action, styles.action)) : null) : React__default.createElement(Stack, Object.assign({
3576 spacing: "tight"
3577 }, rest), React__default.createElement(Message, Object.assign({}, styles === null || styles === void 0 ? void 0 : styles.message), message), action ? React__default.createElement(Action, Object.assign({
3578 key: action.label,
3579 removeToast: remove
3580 }, action, styles.action)) : null);
3581 };
3582
3583 var Toast = /*#__PURE__*/React__default.forwardRef(function (_ref6, ref) {
3584 var _rect$height;
3585
3586 var propsId = _ref6.id,
3587 message = _ref6.message,
3588 description = _ref6.description,
3589 _ref6$tone = _ref6.tone,
3590 tone = _ref6$tone === void 0 ? 'none' : _ref6$tone,
3591 onClear = _ref6.onClear,
3592 action = _ref6.action,
3593 _ref6$toastProps = _ref6.toastProps,
3594 toastProps = _ref6$toastProps === void 0 ? {} : _ref6$toastProps;
3595 var id = autoId.useId(propsId);
3596 var styles = React.useMemo(function () {
3597 return getCustomProps(toastProps);
3598 }, [toastProps]);
3599 var remove = React.useCallback(function () {
3600 return onClear(id);
3601 }, [onClear, id]);
3602 var toastRef = React.useRef(null);
3603 var rect$1 = rect.useRect(toastRef);
3604
3605 var _React$useState = React__default.useState(true),
3606 show = _React$useState[0],
3607 setShow = _React$useState[1];
3608
3609 var height = (_rect$height = rect$1 === null || rect$1 === void 0 ? void 0 : rect$1.height) !== null && _rect$height !== void 0 ? _rect$height : 0;
3610
3611 var onExit = function onExit() {
3612 if (!show) {
3613 onClear(id);
3614 }
3615 };
3616
3617 var onClose = React__default.useCallback(function () {
3618 setShow(false);
3619 }, []);
3620
3621 var _useTimeout = useTimeout({
3622 duration: 7200,
3623 onTimeout: onClose
3624 }),
3625 stopTimeout = _useTimeout.stopTimeout,
3626 startTimeout = _useTimeout.startTimeout;
3627
3628 var animationStyles = {
3629 init: {
3630 opacity: 0,
3631 height: 0,
3632 transform: 'scale(1)'
3633 },
3634 entered: {
3635 opacity: 1,
3636 height: height,
3637 transform: 'scale(1)'
3638 },
3639 exiting: {
3640 opacity: 0,
3641 height: 0,
3642 transform: 'scale(0.9)'
3643 }
3644 };
3645 var noIcon = tone === 'none';
3646 var Icon = toneToIcon[tone];
3647 return React__default.createElement(Transition, {
3648 styles: animationStyles,
3649 "in": show,
3650 onExited: onExit,
3651 timeout: 350
3652 }, function (transitionStyles) {
3653 return React__default.createElement(Box, {
3654 onMouseEnter: stopTimeout,
3655 onMouseLeave: startTimeout,
3656 style: _objectSpread2({
3657 willChange: 'transform, height, opacity'
3658 }, transitionStyles),
3659 ref: ref
3660 }, React__default.createElement(Flex, {
3661 justify: "center",
3662 as: ReachAlert,
3663 maxWidth: "100%",
3664 pb: "tight",
3665 px: "tight",
3666 ref: toastRef
3667 }, React__default.createElement(Box, Object.assign({
3668 p: "base",
3669 border: "1px solid",
3670 borderColor: "inherit",
3671 borderRadius: "6px",
3672 maxWidth: "100%"
3673 }, styles.toast, {
3674 style: {
3675 pointerEvents: 'all'
3676 }
3677 }), React__default.createElement(Box, {
3678 position: "relative"
3679 }, React__default.createElement(Flex, {
3680 align: "flex-start"
3681 }, tone !== 'none' ? React__default.createElement(Box, Object.assign({
3682 pt: "extra-tight",
3683 pr: "tight"
3684 }, styles === null || styles === void 0 ? void 0 : styles.icon, {
3685 color: styles.icon.color[tone]
3686 }), React__default.createElement(Icon, {
3687 size: "16px"
3688 })) : null, React__default.createElement(Box, {
3689 pr: noIcon ? 'unset' : 'base'
3690 }, React__default.createElement(ToastContent, {
3691 message: message,
3692 description: description,
3693 action: action,
3694 styles: styles,
3695 remove: remove
3696 })), React__default.createElement(CloseButton, {
3697 onClick: onClose
3698 }))))));
3699 });
3700 });
3701
3702 var Toaster = function Toaster(_ref) {
3703 var toasts = _ref.toasts,
3704 removeToast = _ref.removeToast,
3705 rest = _objectWithoutPropertiesLoose(_ref, ["toasts", "removeToast"]);
3706
3707 var onClear = React.useCallback(function (id) {
3708 removeToast(id);
3709 }, [removeToast]);
3710 return React__default.createElement(Flex, Object.assign({
3711 align: "center",
3712 justify: "flex-end",
3713 flexDirection: "column",
3714 position: "fixed",
3715 width: "100%",
3716 height: "100vh",
3717 bottom: 0,
3718 zIndex: 9999999,
3719 style: {
3720 pointerEvents: 'none'
3721 }
3722 }, rest), toasts.map(function (_ref2) {
3723 var id = _ref2.id,
3724 rest = _objectWithoutPropertiesLoose(_ref2, ["id"]);
3725
3726 return React__default.createElement(Box, {
3727 key: id
3728 }, React__default.createElement(Toast, Object.assign({
3729 id: id,
3730 onClear: onClear
3731 }, rest)));
3732 }));
3733 };
3734
3735 var toastCounter = 0;
3736 var ToastControllerContext = /*#__PURE__*/React.createContext(null);
3737 var QUEUE_TOAST = 0;
3738 var REMOVE_TOAST = 1;
3739
3740 function reducer(state, action) {
3741 switch (action.type) {
3742 case QUEUE_TOAST:
3743 {
3744 return _objectSpread2({}, state, {
3745 toasts: [].concat(state.toasts, [action.payload])
3746 });
3747 }
3748
3749 case REMOVE_TOAST:
3750 {
3751 var toasts = state.toasts.filter(function (_ref) {
3752 var id = _ref.id;
3753 return id !== action.payload;
3754 });
3755 return _objectSpread2({}, state, {
3756 toasts: toasts
3757 });
3758 }
3759 }
3760
3761 return state;
3762 }
3763
3764 var InternalToastProvider = function InternalToastProvider(_ref2) {
3765 var children = _ref2.children;
3766
3767 var _useReducer = React.useReducer(reducer, {
3768 toasts: []
3769 }),
3770 toasts = _useReducer[0].toasts,
3771 dispatch = _useReducer[1];
3772
3773 var addToast = React.useCallback(function (props) {
3774 return dispatch({
3775 type: QUEUE_TOAST,
3776 payload: props
3777 });
3778 }, []);
3779 var removeToast = React.useCallback(function (id) {
3780 return dispatch({
3781 type: REMOVE_TOAST,
3782 payload: id
3783 });
3784 }, []);
3785 return React__default.createElement(ToastControllerContext.Provider, {
3786 value: addToast
3787 }, children, React__default.createElement(Portal, null, React__default.createElement(Toaster, {
3788 toasts: toasts,
3789 removeToast: removeToast
3790 })));
3791 };
3792
3793 var ToastProvider = function ToastProvider(_ref3) {
3794 var children = _ref3.children;
3795 var currentContext = React.useContext(ToastControllerContext);
3796
3797 if (currentContext !== null) {
3798 return React__default.createElement(React__default.Fragment, null, children);
3799 }
3800
3801 return React__default.createElement(InternalToastProvider, null, children);
3802 };
3803 var useToast = function useToast() {
3804 var addToast = React.useContext(ToastControllerContext);
3805
3806 if (addToast === null) {
3807 throw new Error('No "ToastProvider" configured');
3808 }
3809
3810 return React.useCallback(function (props) {
3811 return addToast(_objectSpread2({}, props, {
3812 id: "" + toastCounter++
3813 }));
3814 }, [addToast]);
3815 };
3816
3817 var hideOperation;
3818 var activeId = null;
3819
3820 function show(fn, delay) {
3821 var _hideOperation;
3822
3823 var isHidePending = (_hideOperation = hideOperation) === null || _hideOperation === void 0 ? void 0 : _hideOperation.pending();
3824
3825 if (isHidePending) {
3826 hideOperation.flush();
3827 }
3828
3829 var showOperation = flushable(function () {
3830 return fn(isHidePending);
3831 }, isHidePending ? 0 : delay);
3832 return showOperation.cancel;
3833 }
3834
3835 function hide(fn, delay) {
3836 hideOperation = flushable(function (flushed) {
3837 return fn(flushed);
3838 }, delay);
3839 return hideOperation.cancel;
3840 }
3841
3842 function useTooltip(props) {
3843 if (props === void 0) {
3844 props = {};
3845 }
3846
3847 var _props = props,
3848 _props$showDelay = _props.showDelay,
3849 showDelay = _props$showDelay === void 0 ? 200 : _props$showDelay,
3850 _props$hideDelay = _props.hideDelay,
3851 hideDelay = _props$hideDelay === void 0 ? 200 : _props$hideDelay,
3852 _props$hideOnClick = _props.hideOnClick,
3853 hideOnClick = _props$hideOnClick === void 0 ? false : _props$hideOnClick,
3854 onShow = _props.onShow,
3855 onHide = _props.onHide,
3856 hideOnMouseDown = _props.hideOnMouseDown,
3857 placement = _props.placement,
3858 id = _props.id,
3859 isOpenProp = _props.isOpen,
3860 defaultIsOpen = _props.defaultIsOpen,
3861 _props$arrowSize = _props.arrowSize,
3862 arrowSize = _props$arrowSize === void 0 ? 10 : _props$arrowSize,
3863 _label = _props.label;
3864
3865 var _React$useState = React.useState(_label),
3866 label = _React$useState[0],
3867 setLabel = _React$useState[1];
3868
3869 var labelIsUpToDate = _label === label;
3870 if (!labelIsUpToDate) setLabel(_label);
3871
3872 var _useDisclosure = useDisclosure({
3873 isOpen: isOpenProp,
3874 defaultIsOpen: defaultIsOpen,
3875 onOpen: onShow,
3876 onClose: onHide
3877 }),
3878 isOpen = _useDisclosure.isOpen,
3879 open = _useDisclosure.onOpen,
3880 close = _useDisclosure.onClose;
3881
3882 var popper = usePopper({
3883 forceUpdate: isOpen && labelIsUpToDate,
3884 placement: placement,
3885 arrowSize: arrowSize
3886 });
3887 var tooltipId = useId(id, 'tooltip');
3888 var ref = React.useRef(null);
3889 var triggerRef = useMergeRefs(ref, popper.reference.ref);
3890 var flushRef = React.useRef();
3891 React.useEffect(function () {
3892 return function () {
3893 var _flushRef$current;
3894
3895 return (_flushRef$current = flushRef.current) === null || _flushRef$current === void 0 ? void 0 : _flushRef$current.call(flushRef);
3896 };
3897 }, []);
3898 var hideImmediately = React.useCallback(function () {
3899 var _flushRef$current2;
3900
3901 (_flushRef$current2 = flushRef.current) === null || _flushRef$current2 === void 0 ? void 0 : _flushRef$current2.call(flushRef);
3902 close();
3903 }, [close]);
3904 var onClick = React.useCallback(function () {
3905 if (hideOnClick) {
3906 hideImmediately();
3907 }
3908 }, [hideOnClick, hideImmediately]);
3909 var onMouseDown = React.useCallback(function () {
3910 if (hideOnMouseDown) {
3911 hideImmediately();
3912 }
3913 }, [hideOnMouseDown, hideImmediately]);
3914 var showTooltip = React.useCallback(function () {
3915 var _flushRef$current3;
3916
3917 (_flushRef$current3 = flushRef.current) === null || _flushRef$current3 === void 0 ? void 0 : _flushRef$current3.call(flushRef);
3918
3919 if (tooltipId !== activeId) {
3920 hideImmediately();
3921 }
3922
3923 activeId = tooltipId;
3924
3925 if (!isOpen) {
3926 flushRef.current = show(function () {
3927 open();
3928 }, showDelay);
3929 }
3930 }, [isOpen, showDelay, open, tooltipId, hideImmediately]);
3931 var hideTooltip = React.useCallback(function () {
3932 var _flushRef$current4;
3933
3934 (_flushRef$current4 = flushRef.current) === null || _flushRef$current4 === void 0 ? void 0 : _flushRef$current4.call(flushRef);
3935 activeId = null;
3936
3937 if (isOpen) {
3938 flushRef.current = hide(function () {
3939 close();
3940 }, hideDelay);
3941 }
3942 }, [isOpen, hideDelay, close]);
3943 var onMouseOver = React.useCallback(function (event) {
3944 var isSelf = event.target === ref.current;
3945
3946 if (isOpen && isSelf) {
3947 return;
3948 }
3949
3950 showTooltip();
3951 }, [isOpen, showTooltip]);
3952 var onKeyDown = React.useCallback(function (event) {
3953 if (isOpen && event.key === 'Escape') {
3954 hideImmediately();
3955 }
3956 }, [isOpen, hideImmediately]);
3957 useEventListener('keydown', onKeyDown);
3958 return {
3959 isOpen: isOpen,
3960 show: open,
3961 hide: close,
3962 placement: popper.placement,
3963 getTriggerProps: function getTriggerProps(props) {
3964 if (props === void 0) {
3965 props = {};
3966 }
3967
3968 return _objectSpread2({}, props, {
3969 ref: mergeRefs(props.ref, triggerRef),
3970 onMouseOut: callAllHandlers(props.onMouseOut, hideTooltip),
3971 onMouseOver: callAllHandlers(props.onMouseOver, onMouseOver),
3972 onClick: callAllHandlers(props.onClick, onClick),
3973 onMouseDown: callAllHandlers(props.onMouseDown, onMouseDown),
3974 onFocus: callAllHandlers(props.onFocus, showTooltip),
3975 onBlur: callAllHandlers(props.onBlur, hideTooltip),
3976 'aria-describedby': isOpen ? tooltipId : undefined
3977 });
3978 },
3979 getTooltipProps: function getTooltipProps(props) {
3980 if (props === void 0) {
3981 props = {};
3982 }
3983
3984 return _objectSpread2({}, props, {
3985 id: tooltipId,
3986 role: 'tooltip',
3987 ref: mergeRefs(props.ref, popper.popper.ref),
3988 style: _objectSpread2({}, props.style, {}, popper.popper.style)
3989 });
3990 },
3991 getArrowProps: function getArrowProps(props) {
3992 if (props === void 0) {
3993 props = {};
3994 }
3995
3996 return _objectSpread2({}, props, {
3997 ref: mergeRefs(props.ref, popper.arrow.ref),
3998 style: _objectSpread2({}, props.style, {}, popper.arrow.style)
3999 });
4000 }
4001 };
4002 }
4003
4004 function Tooltip(props) {
4005 var children = props.children,
4006 label = props.label,
4007 shouldWrapChildren = props.shouldWrapChildren,
4008 ariaLabel = props['aria-label'],
4009 hasArrow = props.hasArrow,
4010 rest = _objectWithoutPropertiesLoose(props, ["children", "label", "shouldWrapChildren", "aria-label", "hasArrow"]);
4011
4012 if (!label || label === '') {
4013 var child = React.Children.only(children);
4014 return React.cloneElement(child, _objectSpread2({}, child.props, {}, rest));
4015 }
4016
4017 var _useTooltip = useTooltip(props),
4018 isOpen = _useTooltip.isOpen,
4019 getTriggerProps = _useTooltip.getTriggerProps,
4020 getTooltipProps = _useTooltip.getTooltipProps,
4021 getArrowProps = _useTooltip.getArrowProps;
4022
4023 var trigger;
4024
4025 if (isString(children) || shouldWrapChildren) {
4026 trigger = React.createElement(Box, Object.assign({
4027 as: "span",
4028 tabIndex: 0
4029 }, getTriggerProps()), children);
4030 } else {
4031 var _child = React.Children.only(children);
4032
4033 trigger = React.cloneElement(_child, getTriggerProps(_child.props));
4034 }
4035
4036 var hasAriaLabel = Boolean(ariaLabel);
4037 var baseTooltipProps = getTooltipProps(rest);
4038
4039 var _ref = hasAriaLabel ? omit(baseTooltipProps, ['role', 'id']) : baseTooltipProps,
4040 style = _ref.style,
4041 tooltipProps = _objectWithoutPropertiesLoose(_ref, ["style"]);
4042
4043 var hiddenProps = pick(baseTooltipProps, ['role', 'id']);
4044 return React.createElement(React.Fragment, null, trigger, isOpen && React.createElement(Portal, null, React.createElement(Box, Object.assign({
4045 paddingX: "8px",
4046 paddingY: "tight",
4047 bg: "ink",
4048 color: "white",
4049 borderRadius: "6px",
4050 textStyle: "caption.medium",
4051 maxWidth: "320px"
4052 }, tooltipProps, {
4053 style: _objectSpread2({}, style, {
4054 useSelect: 'none'
4055 })
4056 }), label, hasAriaLabel && React.createElement(VisuallyHidden, Object.assign({}, hiddenProps), ariaLabel), hasArrow && React.createElement(Box, Object.assign({
4057 "data-arrow": "",
4058 bg: "inherit"
4059 }, getArrowProps())))));
4060 }
4061
4062 var copyToClipboard = function copyToClipboard(value) {
4063 var el = document.createElement('textarea');
4064 el.value = value;
4065 el.setAttribute('readonly', '');
4066 el.style.position = 'absolute';
4067 el.style.left = '-9999px';
4068 document.body.appendChild(el);
4069 var curSelection = document.getSelection();
4070 var selected = curSelection && curSelection.rangeCount > 0 ? curSelection.getRangeAt(0) : false;
4071 el.select();
4072 document.execCommand('copy');
4073 document.body.removeChild(el);
4074
4075 if (selected) {
4076 var _document$getSelectio, _document$getSelectio2;
4077
4078 (_document$getSelectio = document.getSelection()) === null || _document$getSelectio === void 0 ? void 0 : _document$getSelectio.removeAllRanges();
4079 (_document$getSelectio2 = document.getSelection()) === null || _document$getSelectio2 === void 0 ? void 0 : _document$getSelectio2.addRange(selected);
4080 }
4081 };
4082
4083 function useClipboard(value) {
4084 var _useState = React.useState(false),
4085 hasCopied = _useState[0],
4086 setHasCopied = _useState[1];
4087
4088 var onCopy = function onCopy() {
4089 copyToClipboard(value);
4090 setHasCopied(true);
4091 setTimeout(function () {
4092 return setHasCopied(false);
4093 }, 1500);
4094 };
4095
4096 return {
4097 value: value,
4098 onCopy: onCopy,
4099 hasCopied: hasCopied
4100 };
4101 }
4102
4103 var nativeExceptions = /*#__PURE__*/[EvalError, RangeError, ReferenceError, SyntaxError, TypeError, URIError].filter(function (except) {
4104 return typeof except === 'function';
4105 });
4106
4107 function throwNative(error) {
4108 for (var _iterator = _createForOfIteratorHelperLoose(nativeExceptions), _step; !(_step = _iterator()).done;) {
4109 var Exception = _step.value;
4110 if (error instanceof Exception) throw error;
4111 }
4112 }
4113
4114 function safeAwait(promise, finallyFn) {
4115 return promise.then(function (data) {
4116 if (data instanceof Error) {
4117 throwNative(data);
4118 return [data];
4119 }
4120
4121 return [undefined, data];
4122 })["catch"](function (error) {
4123 throwNative(error);
4124 return [error];
4125 })["finally"](function () {
4126 if (finallyFn) finallyFn();
4127 });
4128 }
4129
4130 exports.AppsIcon = AppsIcon;
4131 exports.ArrowIcon = ArrowIcon;
4132 exports.BlockchainIcon = BlockchainIcon;
4133 exports.BlockstackIcon = BlockstackIcon;
4134 exports.Box = Box;
4135 exports.Button = Button;
4136 exports.ButtonGroup = ButtonGroup;
4137 exports.CSSReset = CSSReset;
4138 exports.CheckmarkCircleIcon = CheckmarkCircleIcon;
4139 exports.CheckmarkIcon = CheckmarkIcon;
4140 exports.ChevronIcon = ChevronIcon;
4141 exports.CloseIcon = CloseIcon;
4142 exports.CodeBlock = CodeBlock;
4143 exports.ColorModeContext = ColorModeContext;
4144 exports.ColorModeProvider = ColorModeProvider;
4145 exports.ColorModes = ColorModes;
4146 exports.ConnectLogoIcon = ConnectLogoIcon;
4147 exports.EncryptionIcon = EncryptionIcon;
4148 exports.ExclamationMarkCircleIcon = ExclamationMarkCircleIcon;
4149 exports.ExclamationMarkIcon = ExclamationMarkIcon;
4150 exports.ExternalIcon = ExternalIcon;
4151 exports.EyeIcon = EyeIcon;
4152 exports.Fade = Fade;
4153 exports.FailedIcon = FailedIcon;
4154 exports.Flex = Flex;
4155 exports.FormControl = FormControl;
4156 exports.FormLabel = FormLabel;
4157 exports.Grid = Grid;
4158 exports.Highlighter = Highlighter;
4159 exports.Input = Input;
4160 exports.InputAddon = InputAddon;
4161 exports.InputElement = InputElement;
4162 exports.InputGroup = InputGroup;
4163 exports.InputLeftAddon = InputLeftAddon;
4164 exports.InputLeftElement = InputLeftElement;
4165 exports.InputRightAddon = InputRightAddon;
4166 exports.InputRightElement = InputRightElement;
4167 exports.Modal = Modal;
4168 exports.ModalProvider = ModalProvider;
4169 exports.PadlockIcon = PadlockIcon;
4170 exports.PlusCircleIcon = PlusCircleIcon;
4171 exports.Portal = Portal;
4172 exports.PrivateIcon = PrivateIcon;
4173 exports.PseudoBox = Box;
4174 exports.RequiredIndicator = RequiredIndicator;
4175 exports.ScaleFade = ScaleFade;
4176 exports.ScopedCSSReset = ScopedCSSReset;
4177 exports.Slide = Slide;
4178 exports.SlideFade = SlideFade;
4179 exports.Spinner = Spinner;
4180 exports.Stack = Stack;
4181 exports.StyledBox = StyledBox;
4182 exports.Svg = Svg;
4183 exports.Text = Text;
4184 exports.ThemeContext = ThemeContext;
4185 exports.ThemeProvider = ThemeProvider;
4186 exports.Toast = Toast;
4187 exports.ToastProvider = ToastProvider;
4188 exports.Toaster = Toaster;
4189 exports.Tooltip = Tooltip;
4190 exports.Transition = Transition;
4191 exports.UnionLineIcon = UnionLineIcon;
4192 exports.VisuallyHidden = VisuallyHidden;
4193 exports.addBlack = addBlack;
4194 exports.addOpacity = addOpacity;
4195 exports.addWhite = addWhite;
4196 exports.assignRef = assignRef$1;
4197 exports.baseSizes = baseSizes;
4198 exports.color = color;
4199 exports.colorEmphasis = colorEmphasis;
4200 exports.colorGet = colorGet;
4201 exports.generateAlphaColors = generateAlphaColors;
4202 exports.generateCssVariables = generateCssVariables;
4203 exports.generateStripe = generateStripe;
4204 exports.get = get;
4205 exports.getArrowStyles = getArrowStyles;
4206 exports.getOppositePosition = getOppositePosition;
4207 exports.isDarkColor = isDarkColor;
4208 exports.namedSpacingUnits = namedSpacingUnits;
4209 exports.safeAwait = safeAwait;
4210 exports.shadows = shadows;
4211 exports.sizes = sizes;
4212 exports.space = space;
4213 exports.systemProps = systemProps;
4214 exports.textStyles = textStyles;
4215 exports.theme = theme;
4216 exports.themeColor = themeColor;
4217 exports.transition = transition;
4218 exports.useClipboard = useClipboard;
4219 exports.useColorMode = useColorMode;
4220 exports.useControllableProp = useControllableProp;
4221 exports.useControllableState = useControllableState;
4222 exports.useDisclosure = useDisclosure;
4223 exports.useEventListener = useEventListener;
4224 exports.useForceUpdate = useForceUpdate;
4225 exports.useFormControl = useFormControl;
4226 exports.useFormControlContext = useFormControlContext;
4227 exports.useId = useId;
4228 exports.useIds = useIds;
4229 exports.useLatestRef = useLatestRef;
4230 exports.useMergeRefs = useMergeRefs;
4231 exports.useModalState = useModalState;
4232 exports.usePopper = usePopper;
4233 exports.usePrevious = usePrevious;
4234 exports.useSafeLayoutEffect = useSafeLayoutEffect;
4235 exports.useTheme = useTheme;
4236 exports.useTimeout = useTimeout;
4237 exports.useToast = useToast;
4238
4239 Object.defineProperty(exports, '__esModule', { value: true });
4240
4241})));
4242//# sourceMappingURL=ui.umd.development.js.map