@geist-ui/react
Version:
Modern and minimalist React UI library.
914 lines (798 loc) • 73.7 kB
JavaScript
'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
var styledJsx_cjs = require('../styled-jsx.cjs.js');
var React = require('react');
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
function ownKeys(object, enumerableOnly) {
var keys = Object.keys(object);
if (Object.getOwnPropertySymbols) {
var symbols = Object.getOwnPropertySymbols(object);
enumerableOnly && (symbols = symbols.filter(function (sym) {
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
})), keys.push.apply(keys, symbols);
}
return keys;
}
function _objectSpread2(target) {
for (var i = 1; i < arguments.length; i++) {
var source = null != arguments[i] ? arguments[i] : {};
i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {
_defineProperty(target, key, source[key]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
});
}
return target;
}
function _typeof(obj) {
"@babel/helpers - typeof";
return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
return typeof obj;
} : function (obj) {
return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
}, _typeof(obj);
}
function _defineProperty(obj, key, value) {
if (key in obj) {
Object.defineProperty(obj, key, {
value: value,
enumerable: true,
configurable: true,
writable: true
});
} else {
obj[key] = value;
}
return obj;
}
function _extends() {
_extends = Object.assign || function (target) {
for (var i = 1; i < arguments.length; i++) {
var source = arguments[i];
for (var key in source) {
if (Object.prototype.hasOwnProperty.call(source, key)) {
target[key] = source[key];
}
}
}
return target;
};
return _extends.apply(this, arguments);
}
function _objectWithoutPropertiesLoose(source, excluded) {
if (source == null) return {};
var target = {};
var sourceKeys = Object.keys(source);
var key, i;
for (i = 0; i < sourceKeys.length; i++) {
key = sourceKeys[i];
if (excluded.indexOf(key) >= 0) continue;
target[key] = source[key];
}
return target;
}
function _objectWithoutProperties(source, excluded) {
if (source == null) return {};
var target = _objectWithoutPropertiesLoose(source, excluded);
var key, i;
if (Object.getOwnPropertySymbols) {
var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
for (i = 0; i < sourceSymbolKeys.length; i++) {
key = sourceSymbolKeys[i];
if (excluded.indexOf(key) >= 0) continue;
if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
target[key] = source[key];
}
}
return target;
}
function _slicedToArray(arr, i) {
return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
}
function _arrayWithHoles(arr) {
if (Array.isArray(arr)) return arr;
}
function _iterableToArrayLimit(arr, i) {
var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
if (_i == null) return;
var _arr = [];
var _n = true;
var _d = false;
var _s, _e;
try {
for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {
_arr.push(_s.value);
if (i && _arr.length === i) break;
}
} catch (err) {
_d = true;
_e = err;
} finally {
try {
if (!_n && _i["return"] != null) _i["return"]();
} finally {
if (_d) throw _e;
}
}
return _arr;
}
function _unsupportedIterableToArray(o, minLen) {
if (!o) return;
if (typeof o === "string") return _arrayLikeToArray(o, minLen);
var n = Object.prototype.toString.call(o).slice(8, -1);
if (n === "Object" && o.constructor) n = o.constructor.name;
if (n === "Map" || n === "Set") return Array.from(o);
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
}
function _arrayLikeToArray(arr, len) {
if (len == null || len > arr.length) len = arr.length;
for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
return arr2;
}
function _nonIterableRest() {
throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
}
function _createForOfIteratorHelper(o, allowArrayLike) {
var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
if (!it) {
if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") {
if (it) o = it;
var i = 0;
var F = function () {};
return {
s: F,
n: function () {
if (i >= o.length) return {
done: true
};
return {
done: false,
value: o[i++]
};
},
e: function (e) {
throw e;
},
f: F
};
}
throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
}
var normalCompletion = true,
didErr = false,
err;
return {
s: function () {
it = it.call(o);
},
n: function () {
var step = it.next();
normalCompletion = step.done;
return step;
},
e: function (e) {
didErr = true;
err = e;
},
f: function () {
try {
if (!normalCompletion && it.return != null) it.return();
} finally {
if (didErr) throw err;
}
}
};
}
var defaultDynamicLayoutPipe = function defaultDynamicLayoutPipe(scale1x) {
return "".concat(scale1x);
};
var defaultContext$1 = {
getScaleableProps: function getScaleableProps() {
return undefined;
},
SCALES: {
pl: defaultDynamicLayoutPipe,
pr: defaultDynamicLayoutPipe,
pb: defaultDynamicLayoutPipe,
pt: defaultDynamicLayoutPipe,
px: defaultDynamicLayoutPipe,
py: defaultDynamicLayoutPipe,
mb: defaultDynamicLayoutPipe,
ml: defaultDynamicLayoutPipe,
mr: defaultDynamicLayoutPipe,
mt: defaultDynamicLayoutPipe,
mx: defaultDynamicLayoutPipe,
my: defaultDynamicLayoutPipe,
width: defaultDynamicLayoutPipe,
height: defaultDynamicLayoutPipe,
font: defaultDynamicLayoutPipe
},
unit: '16px'
};
var ScaleableContext = /*#__PURE__*/React__default["default"].createContext(defaultContext$1);
var useScaleable = function useScaleable() {
return React__default["default"].useContext(ScaleableContext);
};
var defaultFont = {
sans: '"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif',
mono: 'Menlo, Monaco, Lucida Console, Liberation Mono, DejaVu Sans Mono, Bitstream Vera Sans Mono, Courier New, monospace'
};
var defaultBreakpoints = {
xs: {
min: '0',
max: '650px'
},
sm: {
min: '650px',
max: '900px'
},
md: {
min: '900px',
max: '1280px'
},
lg: {
min: '1280px',
max: '1920px'
},
xl: {
min: '1920px',
max: '10000px'
}
};
var defaultLayout = {
gap: '16pt',
gapNegative: '-16pt',
gapHalf: '8pt',
gapHalfNegative: '-8pt',
gapQuarter: '4pt',
gapQuarterNegative: '-4pt',
pageMargin: '16pt',
pageWidth: '750pt',
pageWidthWithMargin: '782pt',
breakpointMobile: defaultBreakpoints.xs.max,
breakpointTablet: defaultBreakpoints.sm.max,
radius: '5px',
unit: '16px'
};
var palette$1 = {
accents_1: '#fafafa',
accents_2: '#eaeaea',
accents_3: '#999',
accents_4: '#888',
accents_5: '#666',
accents_6: '#444',
accents_7: '#333',
accents_8: '#111',
background: '#fff',
foreground: '#000',
selection: '#79ffe1',
secondary: '#666',
code: '#f81ce5',
border: '#eaeaea',
error: '#e00',
errorLight: '#ff1a1a',
errorLighter: '#f7d4d6',
errorDark: '#c50000',
success: '#0070f3',
successLight: '#3291ff',
successLighter: '#d3e5ff',
successDark: '#0761d1',
warning: '#f5a623',
warningLight: '#f7b955',
warningLighter: '#ffefcf',
warningDark: '#ab570a',
cyan: '#50e3c2',
cyanLighter: '#aaffec',
cyanLight: '#79ffe1',
cyanDark: '#29bc9b',
violet: '#7928ca',
violetLighter: '#e3d7fc',
violetLight: '#8a63d2',
violetDark: '#4c2889',
purple: '#f81ce5',
alert: '#ff0080',
magenta: '#eb367f',
link: '#0070f3'
};
var expressiveness$1 = {
linkStyle: 'none',
linkHoverStyle: 'none',
dropdownBoxShadow: '0 4px 4px 0 rgba(0, 0, 0, 0.02)',
scrollerStart: 'rgba(255, 255, 255, 1)',
scrollerEnd: 'rgba(255, 255, 255, 0)',
shadowSmall: '0 5px 10px rgba(0, 0, 0, 0.12)',
shadowMedium: '0 8px 30px rgba(0, 0, 0, 0.12)',
shadowLarge: '0 30px 60px rgba(0, 0, 0, 0.12)',
portalOpacity: 0.25
};
var font$1 = defaultFont;
var breakpoints$1 = defaultBreakpoints;
var layout$1 = defaultLayout;
var themes$1 = {
type: 'light',
font: font$1,
layout: layout$1,
palette: palette$1,
breakpoints: breakpoints$1,
expressiveness: expressiveness$1
};
var palette = {
accents_1: '#111',
accents_2: '#333',
accents_3: '#444',
accents_4: '#666',
accents_5: '#888',
accents_6: '#999',
accents_7: '#eaeaea',
accents_8: '#fafafa',
background: '#000',
foreground: '#fff',
selection: '#f81ce5',
secondary: '#888',
code: '#79ffe1',
border: '#333',
error: '#e00',
errorLighter: '#f7d4d6',
errorLight: '#ff1a1a',
errorDark: '#c50000',
success: '#0070f3',
successLighter: '#d3e5ff',
successLight: '#3291ff',
successDark: '#0761d1',
warning: '#f5a623',
warningLighter: '#ffefcf',
warningLight: '#f7b955',
warningDark: '#ab570a',
cyan: '#50e3c2',
cyanLighter: '#aaffec',
cyanLight: '#79ffe1',
cyanDark: '#29bc9b',
violet: '#7928ca',
violetLighter: '#e3d7fc',
violetLight: '#8a63d2',
violetDark: '#4c2889',
purple: '#f81ce5',
alert: '#ff0080',
magenta: '#eb367f',
link: '#3291ff'
};
var expressiveness = {
linkStyle: 'none',
linkHoverStyle: 'none',
dropdownBoxShadow: '0 0 0 1px #333',
scrollerStart: 'rgba(255, 255, 255, 1)',
scrollerEnd: 'rgba(255, 255, 255, 0)',
shadowSmall: '0 0 0 1px #333',
shadowMedium: '0 0 0 1px #333',
shadowLarge: '0 0 0 1px #333',
portalOpacity: 0.75
};
var font = defaultFont;
var breakpoints = defaultBreakpoints;
var layout = defaultLayout;
var themes = {
type: 'dark',
font: font,
layout: layout,
palette: palette,
breakpoints: breakpoints,
expressiveness: expressiveness
};
var isObject = function isObject(target) {
return target && _typeof(target) === 'object';
};
var deepDuplicable = function deepDuplicable(source, target) {
if (!isObject(target) || !isObject(source)) return source;
var sourceKeys = Object.keys(source);
var result = {};
for (var _i = 0, _sourceKeys = sourceKeys; _i < _sourceKeys.length; _i++) {
var key = _sourceKeys[_i];
var sourceValue = source[key];
var targetValue = target[key];
if (Array.isArray(sourceValue) && Array.isArray(targetValue)) {
result[key] = targetValue.concat(sourceValue);
} else if (isObject(sourceValue) && isObject(targetValue)) {
result[key] = deepDuplicable(sourceValue, _objectSpread2({}, targetValue));
} else if (targetValue) {
result[key] = targetValue;
} else {
result[key] = sourceValue;
}
}
return result;
};
var getPresets = function getPresets() {
return [themes$1, themes];
};
var getPresetStaticTheme = function getPresetStaticTheme() {
return themes$1;
};
var isAvailableThemeType = function isAvailableThemeType(type) {
if (!type) return false;
var presetThemes = getPresets();
var hasType = presetThemes.find(function (theme) {
return theme.type === type;
});
return !hasType;
};
var isPresetTheme = function isPresetTheme(themeOrType) {
if (!themeOrType) return false;
var isType = typeof themeOrType === 'string';
var type = isType ? themeOrType : themeOrType.type;
return !isAvailableThemeType(type);
};
var hasUserCustomTheme = function hasUserCustomTheme() {
var themes = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
return !!themes.find(function (item) {
return isAvailableThemeType(item.type);
});
};
var create = function create(base, custom) {
if (!isAvailableThemeType(custom.type)) {
throw new Error('Duplicate or unavailable theme type');
}
return deepDuplicable(base, custom);
};
var createFromDark = function createFromDark(custom) {
return create(themes, custom);
};
var createFromLight = function createFromLight(custom) {
return create(themes$1, custom);
};
var Themes = {
isPresetTheme: isPresetTheme,
isAvailableThemeType: isAvailableThemeType,
hasUserCustomTheme: hasUserCustomTheme,
getPresets: getPresets,
getPresetStaticTheme: getPresetStaticTheme,
create: create,
createFromDark: createFromDark,
createFromLight: createFromLight
};
var defaultTheme = Themes.getPresetStaticTheme();
var ThemeContext = /*#__PURE__*/React__default["default"].createContext(defaultTheme);
var useTheme = function useTheme() {
return React__default["default"].useContext(ThemeContext);
};
var isCSSNumberValue = function isCSSNumberValue(value) {
return value !== undefined && !Number.isNaN(+value);
};
var _excluded$3 = ["children"];
var reduceScaleCoefficient = function reduceScaleCoefficient(scale) {
if (scale === 1) return scale;
var diff = Math.abs((scale - 1) / 2);
return scale > 1 ? 1 + diff : 1 - diff;
};
var withScaleable = function withScaleable(Render) {
var ScaleableFC = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
var _ref2, _ref3, _ref4, _ref5, _ref6, _ref7, _ref8, _ref9, _ref10, _ref11, _ref12, _ref13, _ref14, _ref15, _ref16, _ref17, _ref18, _ref19, _ref20, _ref21, _ref22, _ref23, _ref24, _ref25, _ref26, _ref27, _ref28, _ref29, _ref30, _ref31, _ref32, _ref33;
var children = _ref.children,
props = _objectWithoutProperties(_ref, _excluded$3);
var _useTheme = useTheme(),
layout = _useTheme.layout;
var paddingLeft = props.paddingLeft,
pl = props.pl,
paddingRight = props.paddingRight,
pr = props.pr,
paddingTop = props.paddingTop,
pt = props.pt,
paddingBottom = props.paddingBottom,
pb = props.pb,
marginTop = props.marginTop,
mt = props.mt,
marginRight = props.marginRight,
mr = props.mr,
marginBottom = props.marginBottom,
mb = props.mb,
marginLeft = props.marginLeft,
ml = props.ml,
px = props.px,
py = props.py,
mx = props.mx,
my = props.my,
width = props.width,
height = props.height,
font = props.font,
w = props.w,
h = props.h,
margin = props.margin,
padding = props.padding,
_props$unit = props.unit,
unit = _props$unit === void 0 ? layout.unit : _props$unit,
_props$scale = props.scale,
scale = _props$scale === void 0 ? 1 : _props$scale;
var makeScaleHandler = function makeScaleHandler(attrValue) {
return function (scale1x, defaultValue) {
// 0 means disable scale and the default value is 0
if (scale1x === 0) {
scale1x = 1;
defaultValue = defaultValue || 0;
}
var factor = reduceScaleCoefficient(scale) * scale1x;
if (typeof attrValue === 'undefined') {
if (typeof defaultValue !== 'undefined') return "".concat(defaultValue);
return "calc(".concat(factor, " * ").concat(unit, ")");
}
if (!isCSSNumberValue(attrValue)) return "".concat(attrValue);
var customFactor = factor * Number(attrValue);
return "calc(".concat(customFactor, " * ").concat(unit, ")");
};
};
var getScaleableProps = function getScaleableProps(keyOrKeys) {
if (!Array.isArray(keyOrKeys)) return props[keyOrKeys];
var value = undefined;
var _iterator = _createForOfIteratorHelper(keyOrKeys),
_step;
try {
for (_iterator.s(); !(_step = _iterator.n()).done;) {
var key = _step.value;
var currentValue = props[key];
if (typeof currentValue !== 'undefined') {
value = currentValue;
}
}
} catch (err) {
_iterator.e(err);
} finally {
_iterator.f();
}
return value;
};
var value = {
unit: unit,
SCALES: {
pt: makeScaleHandler((_ref2 = (_ref3 = paddingTop !== null && paddingTop !== void 0 ? paddingTop : pt) !== null && _ref3 !== void 0 ? _ref3 : py) !== null && _ref2 !== void 0 ? _ref2 : padding),
pr: makeScaleHandler((_ref4 = (_ref5 = paddingRight !== null && paddingRight !== void 0 ? paddingRight : pr) !== null && _ref5 !== void 0 ? _ref5 : px) !== null && _ref4 !== void 0 ? _ref4 : padding),
pb: makeScaleHandler((_ref6 = (_ref7 = paddingBottom !== null && paddingBottom !== void 0 ? paddingBottom : pb) !== null && _ref7 !== void 0 ? _ref7 : py) !== null && _ref6 !== void 0 ? _ref6 : padding),
pl: makeScaleHandler((_ref8 = (_ref9 = paddingLeft !== null && paddingLeft !== void 0 ? paddingLeft : pl) !== null && _ref9 !== void 0 ? _ref9 : px) !== null && _ref8 !== void 0 ? _ref8 : padding),
px: makeScaleHandler((_ref10 = (_ref11 = (_ref12 = (_ref13 = px !== null && px !== void 0 ? px : paddingLeft) !== null && _ref13 !== void 0 ? _ref13 : paddingRight) !== null && _ref12 !== void 0 ? _ref12 : pl) !== null && _ref11 !== void 0 ? _ref11 : pr) !== null && _ref10 !== void 0 ? _ref10 : padding),
py: makeScaleHandler((_ref14 = (_ref15 = (_ref16 = (_ref17 = py !== null && py !== void 0 ? py : paddingTop) !== null && _ref17 !== void 0 ? _ref17 : paddingBottom) !== null && _ref16 !== void 0 ? _ref16 : pt) !== null && _ref15 !== void 0 ? _ref15 : pb) !== null && _ref14 !== void 0 ? _ref14 : padding),
mt: makeScaleHandler((_ref18 = (_ref19 = marginTop !== null && marginTop !== void 0 ? marginTop : mt) !== null && _ref19 !== void 0 ? _ref19 : my) !== null && _ref18 !== void 0 ? _ref18 : margin),
mr: makeScaleHandler((_ref20 = (_ref21 = marginRight !== null && marginRight !== void 0 ? marginRight : mr) !== null && _ref21 !== void 0 ? _ref21 : mx) !== null && _ref20 !== void 0 ? _ref20 : margin),
mb: makeScaleHandler((_ref22 = (_ref23 = marginBottom !== null && marginBottom !== void 0 ? marginBottom : mb) !== null && _ref23 !== void 0 ? _ref23 : my) !== null && _ref22 !== void 0 ? _ref22 : margin),
ml: makeScaleHandler((_ref24 = (_ref25 = marginLeft !== null && marginLeft !== void 0 ? marginLeft : ml) !== null && _ref25 !== void 0 ? _ref25 : mx) !== null && _ref24 !== void 0 ? _ref24 : margin),
mx: makeScaleHandler((_ref26 = (_ref27 = (_ref28 = (_ref29 = mx !== null && mx !== void 0 ? mx : marginLeft) !== null && _ref29 !== void 0 ? _ref29 : marginRight) !== null && _ref28 !== void 0 ? _ref28 : ml) !== null && _ref27 !== void 0 ? _ref27 : mr) !== null && _ref26 !== void 0 ? _ref26 : margin),
my: makeScaleHandler((_ref30 = (_ref31 = (_ref32 = (_ref33 = my !== null && my !== void 0 ? my : marginTop) !== null && _ref33 !== void 0 ? _ref33 : marginBottom) !== null && _ref32 !== void 0 ? _ref32 : mt) !== null && _ref31 !== void 0 ? _ref31 : mb) !== null && _ref30 !== void 0 ? _ref30 : margin),
width: makeScaleHandler(width !== null && width !== void 0 ? width : w),
height: makeScaleHandler(height !== null && height !== void 0 ? height : h),
font: makeScaleHandler(font)
},
getScaleableProps: getScaleableProps
};
return /*#__PURE__*/React__default["default"].createElement(ScaleableContext.Provider, {
value: value
}, /*#__PURE__*/React__default["default"].createElement(Render, _extends({}, props, {
ref: ref
}), children));
});
ScaleableFC.displayName = "Scaleable".concat(Render.displayName || 'Wrapper');
return ScaleableFC;
};
var ScaleablePropKeys = ['paddingLeft', 'pl', 'paddingRight', 'pr', 'paddingTop', 'pt', 'paddingBottom', 'pb', 'marginTop', 'mt', 'marginRight', 'mr', 'marginBottom', 'mb', 'marginLeft', 'ml', 'px', 'py', 'mx', 'my', 'width', 'height', 'font', 'unit', 'scale', 'size'];
var withPureProps = function withPureProps(props) {
if (!props) return {};
var keys = Object.keys(props).filter(function (key) {
return key !== '';
});
var nextProps = {};
var _iterator = _createForOfIteratorHelper(keys),
_step;
try {
for (_iterator.s(); !(_step = _iterator.n()).done;) {
var key = _step.value;
if (!ScaleablePropKeys.includes(key)) {
nextProps[key] = props[key];
}
}
} catch (err) {
_iterator.e(err);
} finally {
_iterator.f();
}
return nextProps;
};
var defaultProps$3 = {
x: 0,
y: 0
};
var ButtonDrip = function ButtonDrip(_ref) {
var x = _ref.x,
y = _ref.y,
color = _ref.color,
onCompleted = _ref.onCompleted;
var dripRef = React.useRef(null);
/* istanbul ignore next */
var top = Number.isNaN(+y) ? 0 : y - 10;
/* istanbul ignore next */
var left = Number.isNaN(+x) ? 0 : x - 10;
React.useEffect(function () {
/* istanbul ignore next */
if (!dripRef.current) return;
dripRef.current.addEventListener('animationend', onCompleted);
return function () {
/* istanbul ignore next */
if (!dripRef.current) return;
dripRef.current.removeEventListener('animationend', onCompleted);
};
});
return /*#__PURE__*/React__default["default"].createElement("div", {
ref: dripRef,
className: "jsx-3424889537" + " " + "drip"
}, /*#__PURE__*/React__default["default"].createElement("svg", {
width: "20",
height: "20",
viewBox: "0 0 20 20",
style: {
top: top,
left: left
},
className: "jsx-3424889537"
}, /*#__PURE__*/React__default["default"].createElement("g", {
stroke: "none",
strokeWidth: "1",
fill: "none",
fillRule: "evenodd",
className: "jsx-3424889537"
}, /*#__PURE__*/React__default["default"].createElement("g", {
fill: color,
className: "jsx-3424889537"
}, /*#__PURE__*/React__default["default"].createElement("rect", {
width: "100%",
height: "100%",
rx: "10",
className: "jsx-3424889537"
})))), /*#__PURE__*/React__default["default"].createElement(styledJsx_cjs.style, {
id: "3424889537"
}, ".drip.jsx-3424889537{position:absolute;left:0;right:0;top:0;bottom:0;}svg.jsx-3424889537{position:absolute;-webkit-animation:350ms ease-in expand-jsx-3424889537;animation:350ms ease-in expand-jsx-3424889537;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;width:1rem;height:1rem;}@-webkit-keyframes expand-jsx-3424889537{0%{opacity:0;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1);}30%{opacity:1;}80%{opacity:0.5;}100%{-webkit-transform:scale(28);-ms-transform:scale(28);transform:scale(28);opacity:0;}}@keyframes expand-jsx-3424889537{0%{opacity:0;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1);}30%{opacity:1;}80%{opacity:0.5;}100%{-webkit-transform:scale(28);-ms-transform:scale(28);transform:scale(28);opacity:0;}}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1dHRvbi5kcmlwLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFpRGtCLEFBRzZCLEFBUUEsQUFTTixBQUlBLEFBR0UsQUFHUSxVQVRELEFBSXJCLEVBR0EsTUF4Qk8sQUFRd0IsT0FQdkIsUUFDRixNQUNHLFNBQ1gsd0JBdUJjLE9BVFosR0FVQSxvQ0FuQjZCLGtFQUNsQixXQUNDLFlBQ2QiLCJmaWxlIjoiYnV0dG9uLmRyaXAudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlUmVmIH0gZnJvbSAncmVhY3QnXG5cbmludGVyZmFjZSBQcm9wcyB7XG4gIHg6IG51bWJlclxuICB5OiBudW1iZXJcbiAgb25Db21wbGV0ZWQ6ICgpID0+IHZvaWRcbiAgY29sb3I6IHN0cmluZ1xufVxuXG5jb25zdCBkZWZhdWx0UHJvcHMgPSB7XG4gIHg6IDAsXG4gIHk6IDAsXG59XG5cbmV4cG9ydCB0eXBlIEJ1dHRvbkRyaXAgPSBQcm9wc1xuXG5jb25zdCBCdXR0b25EcmlwOiBSZWFjdC5GQzxCdXR0b25EcmlwPiA9ICh7XG4gIHgsXG4gIHksXG4gIGNvbG9yLFxuICBvbkNvbXBsZXRlZCxcbn06IEJ1dHRvbkRyaXAgJiB0eXBlb2YgZGVmYXVsdFByb3BzKSA9PiB7XG4gIGNvbnN0IGRyaXBSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpXG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gIGNvbnN0IHRvcCA9IE51bWJlci5pc05hTigreSkgPyAwIDogeSAtIDEwXG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gIGNvbnN0IGxlZnQgPSBOdW1iZXIuaXNOYU4oK3gpID8gMCA6IHggLSAxMFxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICBpZiAoIWRyaXBSZWYuY3VycmVudCkgcmV0dXJuXG4gICAgZHJpcFJlZi5jdXJyZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2FuaW1hdGlvbmVuZCcsIG9uQ29tcGxldGVkKVxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgICAgaWYgKCFkcmlwUmVmLmN1cnJlbnQpIHJldHVyblxuICAgICAgZHJpcFJlZi5jdXJyZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2FuaW1hdGlvbmVuZCcsIG9uQ29tcGxldGVkKVxuICAgIH1cbiAgfSlcblxuICByZXR1cm4gKFxuICAgIDxkaXYgcmVmPXtkcmlwUmVmfSBjbGFzc05hbWU9XCJkcmlwXCI+XG4gICAgICA8c3ZnIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCIwIDAgMjAgMjBcIiBzdHlsZT17eyB0b3AsIGxlZnQgfX0+XG4gICAgICAgIDxnIHN0cm9rZT1cIm5vbmVcIiBzdHJva2VXaWR0aD1cIjFcIiBmaWxsPVwibm9uZVwiIGZpbGxSdWxlPVwiZXZlbm9kZFwiPlxuICAgICAgICAgIDxnIGZpbGw9e2NvbG9yfT5cbiAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMTAwJVwiIGhlaWdodD1cIjEwMCVcIiByeD1cIjEwXCIgLz5cbiAgICAgICAgICA8L2c+XG4gICAgICAgIDwvZz5cbiAgICAgIDwvc3ZnPlxuXG4gICAgICA8c3R5bGUganN4PntgXG4gICAgICAgIC5kcmlwIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgYW5pbWF0aW9uOiAzNTBtcyBlYXNlLWluIGV4cGFuZDtcbiAgICAgICAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcbiAgICAgICAgICB3aWR0aDogMXJlbTtcbiAgICAgICAgICBoZWlnaHQ6IDFyZW07XG4gICAgICAgIH1cblxuICAgICAgICBAa2V5ZnJhbWVzIGV4cGFuZCB7XG4gICAgICAgICAgMCUge1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIDMwJSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIH1cbiAgICAgICAgICA4MCUge1xuICAgICAgICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgICAgIH1cbiAgICAgICAgICAxMDAlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMjgpO1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIGB9PC9zdHlsZT5cbiAgICA8L2Rpdj5cbiAgKVxufVxuXG5CdXR0b25EcmlwLmRlZmF1bHRQcm9wcyA9IGRlZmF1bHRQcm9wc1xuQnV0dG9uRHJpcC5kaXNwbGF5TmFtZSA9ICdHZWlzdEJ1dHRvbkRyaXAnXG5leHBvcnQgZGVmYXVsdCBCdXR0b25EcmlwXG4iXX0= */\n/*@ sourceURL=button.drip.tsx */"));
};
ButtonDrip.defaultProps = defaultProps$3;
ButtonDrip.displayName = 'GeistButtonDrip';
var _excluded$2 = ["children", "type", "color", "className", "spaceRatio"];
var defaultProps$2 = {
type: 'default',
className: '',
spaceRatio: 1
};
var getIconBgColor = function getIconBgColor(type, palette, color) {
var colors = {
"default": palette.accents_6,
secondary: palette.secondary,
success: palette.success,
warning: palette.warning,
error: palette.error
};
return color ? color : colors[type];
};
var LoadingComponent = function LoadingComponent(_ref) {
var children = _ref.children,
type = _ref.type,
color = _ref.color,
className = _ref.className,
spaceRatio = _ref.spaceRatio,
props = _objectWithoutProperties(_ref, _excluded$2);
var theme = useTheme();
var _useScaleable = useScaleable(),
SCALES = _useScaleable.SCALES;
var bgColor = React.useMemo(function () {
return getIconBgColor(type, theme.palette, color);
}, [type, theme.palette, color]);
return /*#__PURE__*/React__default["default"].createElement("div", _extends({}, withPureProps(props), {
className: styledJsx_cjs.style.dynamic([["2201634259", [SCALES.font(1), SCALES.width(1, '100%'), SCALES.height(1, '100%'), SCALES.pt(0), SCALES.pr(0), SCALES.pb(0), SCALES.pl(0), SCALES.mt(0), SCALES.mr(0), SCALES.mb(0), SCALES.ml(0), theme.palette.accents_5, bgColor, spaceRatio]]]) + " " + "loading-container ".concat(className)
}), /*#__PURE__*/React__default["default"].createElement("span", {
className: styledJsx_cjs.style.dynamic([["2201634259", [SCALES.font(1), SCALES.width(1, '100%'), SCALES.height(1, '100%'), SCALES.pt(0), SCALES.pr(0), SCALES.pb(0), SCALES.pl(0), SCALES.mt(0), SCALES.mr(0), SCALES.mb(0), SCALES.ml(0), theme.palette.accents_5, bgColor, spaceRatio]]]) + " " + "loading"
}, children && /*#__PURE__*/React__default["default"].createElement("label", {
className: styledJsx_cjs.style.dynamic([["2201634259", [SCALES.font(1), SCALES.width(1, '100%'), SCALES.height(1, '100%'), SCALES.pt(0), SCALES.pr(0), SCALES.pb(0), SCALES.pl(0), SCALES.mt(0), SCALES.mr(0), SCALES.mb(0), SCALES.ml(0), theme.palette.accents_5, bgColor, spaceRatio]]])
}, children), /*#__PURE__*/React__default["default"].createElement("i", {
className: styledJsx_cjs.style.dynamic([["2201634259", [SCALES.font(1), SCALES.width(1, '100%'), SCALES.height(1, '100%'), SCALES.pt(0), SCALES.pr(0), SCALES.pb(0), SCALES.pl(0), SCALES.mt(0), SCALES.mr(0), SCALES.mb(0), SCALES.ml(0), theme.palette.accents_5, bgColor, spaceRatio]]])
}), /*#__PURE__*/React__default["default"].createElement("i", {
className: styledJsx_cjs.style.dynamic([["2201634259", [SCALES.font(1), SCALES.width(1, '100%'), SCALES.height(1, '100%'), SCALES.pt(0), SCALES.pr(0), SCALES.pb(0), SCALES.pl(0), SCALES.mt(0), SCALES.mr(0), SCALES.mb(0), SCALES.ml(0), theme.palette.accents_5, bgColor, spaceRatio]]])
}), /*#__PURE__*/React__default["default"].createElement("i", {
className: styledJsx_cjs.style.dynamic([["2201634259", [SCALES.font(1), SCALES.width(1, '100%'), SCALES.height(1, '100%'), SCALES.pt(0), SCALES.pr(0), SCALES.pb(0), SCALES.pl(0), SCALES.mt(0), SCALES.mr(0), SCALES.mb(0), SCALES.ml(0), theme.palette.accents_5, bgColor, spaceRatio]]])
})), /*#__PURE__*/React__default["default"].createElement(styledJsx_cjs.style, {
id: "2201634259",
dynamic: [SCALES.font(1), SCALES.width(1, '100%'), SCALES.height(1, '100%'), SCALES.pt(0), SCALES.pr(0), SCALES.pb(0), SCALES.pl(0), SCALES.mt(0), SCALES.mr(0), SCALES.mb(0), SCALES.ml(0), theme.palette.accents_5, bgColor, spaceRatio]
}, ".loading-container.__jsx-style-dynamic-selector{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;position:relative;font-size:".concat(SCALES.font(1), ";width:").concat(SCALES.width(1, '100%'), ";height:").concat(SCALES.height(1, '100%'), ";min-height:1em;padding:").concat(SCALES.pt(0), " ").concat(SCALES.pr(0), " ").concat(SCALES.pb(0), " ").concat(SCALES.pl(0), ";margin:").concat(SCALES.mt(0), " ").concat(SCALES.mr(0), " ").concat(SCALES.mb(0), " ").concat(SCALES.ml(0), ";}label.__jsx-style-dynamic-selector{margin-right:0.5em;color:").concat(theme.palette.accents_5, ";line-height:1;}label.__jsx-style-dynamic-selector *{margin:0;}.loading.__jsx-style-dynamic-selector{position:absolute;top:50%;left:50%;width:100%;height:100%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;}i.__jsx-style-dynamic-selector{width:0.25em;height:0.25em;border-radius:50%;background-color:").concat(bgColor, ";margin:0 calc(0.25em / 2 * ").concat(spaceRatio, ");display:inline-block;-webkit-animation:loading-blink-__jsx-style-dynamic-selector 1.4s infinite both;animation:loading-blink-__jsx-style-dynamic-selector 1.4s infinite both;}i.__jsx-style-dynamic-selector:nth-child(2){-webkit-animation-delay:0.2s;animation-delay:0.2s;}i.__jsx-style-dynamic-selector:nth-child(3){-webkit-animation-delay:0.4s;animation-delay:0.4s;}@-webkit-keyframes loading-blink-__jsx-style-dynamic-selector{0%{opacity:0.2;}20%{opacity:1;}100%{opacity:0.2;}}@keyframes loading-blink-__jsx-style-dynamic-selector{0%{opacity:0.2;}20%{opacity:1;}100%{opacity:0.2;}}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxvYWRpbmcudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQThEa0IsQUFHK0IsQUFZRCxBQU1WLEFBSVMsQUFjTCxBQVVRLEFBSUEsQUFLUCxBQUlGLEFBSUUsU0E1Q2hCLENBeUNFLEVBSkEsQUFRQSxDQTNCYyxLQWROLENBVjRCLE9BVzNCLENBY1MsUUFiUCxVQWNvQyxDQWJuQyxJQXFCZCxBQUlBLEtBckNnQixHQWFrQixXQVpsQyx1QkF5QjRELFVBdkN2QyxnREF3Q0UsYUFiUixRQWM4Qix3QkF4Q3pCLGtCQUNxQix3QkEwQmhCLGVBekJZLG1DQUNDLG9DQUNyQixBQXFDakIsYUFicUIsRUF2QnlHLDJGQXdCL0YsNkJBQ1osSUF4QjJHLGlGQXlCOUgsMkNBeEJBIiwiZmlsZSI6ImxvYWRpbmcudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZU1lbW8gfSBmcm9tICdyZWFjdCdcbmltcG9ydCB1c2VUaGVtZSBmcm9tICcuLi91c2UtdGhlbWUnXG5pbXBvcnQgeyBOb3JtYWxUeXBlcyB9IGZyb20gJy4uL3V0aWxzL3Byb3AtdHlwZXMnXG5pbXBvcnQgeyBHZWlzdFVJVGhlbWVzUGFsZXR0ZSB9IGZyb20gJy4uL3RoZW1lcy9wcmVzZXRzJ1xuaW1wb3J0IHVzZVNjYWxlYWJsZSwgeyB3aXRoUHVyZVByb3BzLCB3aXRoU2NhbGVhYmxlIH0gZnJvbSAnLi4vdXNlLXNjYWxlYWJsZSdcblxuZXhwb3J0IHR5cGUgTG9hZGluZ1R5cGVzID0gTm9ybWFsVHlwZXNcbmludGVyZmFjZSBQcm9wcyB7XG4gIHR5cGU/OiBMb2FkaW5nVHlwZXNcbiAgY29sb3I/OiBzdHJpbmdcbiAgY2xhc3NOYW1lPzogc3RyaW5nXG4gIHNwYWNlUmF0aW8/OiBudW1iZXJcbn1cblxuY29uc3QgZGVmYXVsdFByb3BzID0ge1xuICB0eXBlOiAnZGVmYXVsdCcgYXMgTG9hZGluZ1R5cGVzLFxuICBjbGFzc05hbWU6ICcnLFxuICBzcGFjZVJhdGlvOiAxLFxufVxuXG50eXBlIE5hdGl2ZUF0dHJzID0gT21pdDxSZWFjdC5IVE1MQXR0cmlidXRlczxhbnk+LCBrZXlvZiBQcm9wcz5cbmV4cG9ydCB0eXBlIExvYWRpbmdQcm9wcyA9IFByb3BzICYgTmF0aXZlQXR0cnNcblxuY29uc3QgZ2V0SWNvbkJnQ29sb3IgPSAoXG4gIHR5cGU6IExvYWRpbmdUeXBlcyxcbiAgcGFsZXR0ZTogR2Vpc3RVSVRoZW1lc1BhbGV0dGUsXG4gIGNvbG9yPzogc3RyaW5nLFxuKSA9PiB7XG4gIGNvbnN0IGNvbG9yczogeyBba2V5IGluIExvYWRpbmdUeXBlc106IHN0cmluZyB9ID0ge1xuICAgIGRlZmF1bHQ6IHBhbGV0dGUuYWNjZW50c182LFxuICAgIHNlY29uZGFyeTogcGFsZXR0ZS5zZWNvbmRhcnksXG4gICAgc3VjY2VzczogcGFsZXR0ZS5zdWNjZXNzLFxuICAgIHdhcm5pbmc6IHBhbGV0dGUud2FybmluZyxcbiAgICBlcnJvcjogcGFsZXR0ZS5lcnJvcixcbiAgfVxuXG4gIHJldHVybiBjb2xvciA/IGNvbG9yIDogY29sb3JzW3R5cGVdXG59XG5cbmNvbnN0IExvYWRpbmdDb21wb25lbnQ6IFJlYWN0LkZDPFJlYWN0LlByb3BzV2l0aENoaWxkcmVuPExvYWRpbmdQcm9wcz4+ID0gKHtcbiAgY2hpbGRyZW4sXG4gIHR5cGUsXG4gIGNvbG9yLFxuICBjbGFzc05hbWUsXG4gIHNwYWNlUmF0aW8sXG4gIC4uLnByb3BzXG59OiBSZWFjdC5Qcm9wc1dpdGhDaGlsZHJlbjxMb2FkaW5nUHJvcHM+ICYgdHlwZW9mIGRlZmF1bHRQcm9wcykgPT4ge1xuICBjb25zdCB0aGVtZSA9IHVzZVRoZW1lKClcbiAgY29uc3QgeyBTQ0FMRVMgfSA9IHVzZVNjYWxlYWJsZSgpXG4gIGNvbnN0IGJnQ29sb3IgPSB1c2VNZW1vKFxuICAgICgpID0+IGdldEljb25CZ0NvbG9yKHR5cGUsIHRoZW1lLnBhbGV0dGUsIGNvbG9yKSxcbiAgICBbdHlwZSwgdGhlbWUucGFsZXR0ZSwgY29sb3JdLFxuICApXG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT17YGxvYWRpbmctY29udGFpbmVyICR7Y2xhc3NOYW1lfWB9IHsuLi53aXRoUHVyZVByb3BzKHByb3BzKX0+XG4gICAgICA8c3BhbiBjbGFzc05hbWU9XCJsb2FkaW5nXCI+XG4gICAgICAgIHtjaGlsZHJlbiAmJiA8bGFiZWw+e2NoaWxkcmVufTwvbGFiZWw+fVxuICAgICAgICA8aSAvPlxuICAgICAgICA8aSAvPlxuICAgICAgICA8aSAvPlxuICAgICAgPC9zcGFuPlxuICAgICAgPHN0eWxlIGpzeD57YFxuICAgICAgICAubG9hZGluZy1jb250YWluZXIge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIGZvbnQtc2l6ZTogJHtTQ0FMRVMuZm9udCgxKX07XG4gICAgICAgICAgd2lkdGg6ICR7U0NBTEVTLndpZHRoKDEsICcxMDAlJyl9O1xuICAgICAgICAgIGhlaWdodDogJHtTQ0FMRVMuaGVpZ2h0KDEsICcxMDAlJyl9O1xuICAgICAgICAgIG1pbi1oZWlnaHQ6IDFlbTtcbiAgICAgICAgICBwYWRkaW5nOiAke1NDQUxFUy5wdCgwKX0gJHtTQ0FMRVMucHIoMCl9ICR7U0NBTEVTLnBiKDApfSAke1NDQUxFUy5wbCgwKX07XG4gICAgICAgICAgbWFyZ2luOiAke1NDQUxFUy5tdCgwKX0gJHtTQ0FMRVMubXIoMCl9ICR7U0NBTEVTLm1iKDApfSAke1NDQUxFUy5tbCgwKX07XG4gICAgICAgIH1cblxuICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjVlbTtcbiAgICAgICAgICBjb2xvcjogJHt0aGVtZS5wYWxldHRlLmFjY2VudHNfNX07XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIH1cblxuICAgICAgICBsYWJlbCA6Z2xvYmFsKCopIHtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cblxuICAgICAgICAubG9hZGluZyB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgaSB7XG4gICAgICAgICAgd2lkdGg6IDAuMjVlbTtcbiAgICAgICAgICBoZWlnaHQ6IDAuMjVlbTtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHtiZ0NvbG9yfTtcbiAgICAgICAgICBtYXJnaW46IDAgY2FsYygwLjI1ZW0gLyAyICogJHtzcGFjZVJhdGlvfSk7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIGFuaW1hdGlvbjogbG9hZGluZy1ibGluayAxLjRzIGluZmluaXRlIGJvdGg7XG4gICAgICAgIH1cblxuICAgICAgICBpOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAwLjJzO1xuICAgICAgICB9XG5cbiAgICAgICAgaTpudGgtY2hpbGQoMykge1xuICAgICAgICAgIGFuaW1hdGlvbi1kZWxheTogMC40cztcbiAgICAgICAgfVxuXG4gICAgICAgIEBrZXlmcmFtZXMgbG9hZGluZy1ibGluayB7XG4gICAgICAgICAgMCUge1xuICAgICAgICAgICAgb3BhY2l0eTogMC4yO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIDIwJSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIDEwMCUge1xuICAgICAgICAgICAgb3BhY2l0eTogMC4yO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgYH08L3N0eWxlPlxuICAgIDwvZGl2PlxuICApXG59XG5cbkxvYWRpbmdDb21wb25lbnQuZGVmYXVsdFByb3BzID0gZGVmYXVsdFByb3BzXG5Mb2FkaW5nQ29tcG9uZW50LmRpc3BsYXlOYW1lID0gJ0dlaXN0TG9hZGluZydcbmNvbnN0IExvYWRpbmcgPSB3aXRoU2NhbGVhYmxlKExvYWRpbmdDb21wb25lbnQpXG5leHBvcnQgZGVmYXVsdCBMb2FkaW5nXG4iXX0= */\n/*@ sourceURL=loading.tsx */")));
};
LoadingComponent.defaultProps = defaultProps$2;
LoadingComponent.displayName = 'GeistLoading';
var Loading = withScaleable(LoadingComponent);
var ButtonLoading = function ButtonLoading(_ref) {
var color = _ref.color;
return /*#__PURE__*/React__default["default"].createElement("div", {
className: "jsx-3416748964" + " " + "btn-loading"
}, /*#__PURE__*/React__default["default"].createElement(Loading, {
color: color
}), /*#__PURE__*/React__default["default"].createElement(styledJsx_cjs.style, {
id: "3416748964"
}, ".btn-loading.jsx-3416748964{position:absolute;top:0;left:0;right:0;bottom:0;z-index:2;background-color:var(--geist-ui-button-bg);}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1dHRvbi1sb2FkaW5nLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFXa0IsQUFHNkIsa0JBQ1osTUFDQyxPQUNDLFFBQ0MsU0FDQyxVQUNpQywyQ0FDN0MiLCJmaWxlIjoiYnV0dG9uLWxvYWRpbmcudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0J1xuaW1wb3J0IExvYWRpbmcgZnJvbSAnLi4vbG9hZGluZydcblxuaW50ZXJmYWNlIFByb3BzIHtcbiAgY29sb3I6IHN0cmluZ1xufVxuXG5jb25zdCBCdXR0b25Mb2FkaW5nOiBSZWFjdC5GQzxSZWFjdC5Qcm9wc1dpdGhDaGlsZHJlbjxQcm9wcz4+ID0gKHsgY29sb3IgfSkgPT4ge1xuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPVwiYnRuLWxvYWRpbmdcIj5cbiAgICAgIDxMb2FkaW5nIGNvbG9yPXtjb2xvcn0gLz5cbiAgICAgIDxzdHlsZSBqc3g+e2BcbiAgICAgICAgLmJ0bi1sb2FkaW5nIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZ2Vpc3QtdWktYnV0dG9uLWJnKTtcbiAgICAgICAgfVxuICAgICAgYH08L3N0eWxlPlxuICAgIDwvZGl2PlxuICApXG59XG5cbkJ1dHRvbkxvYWRpbmcuZGlzcGxheU5hbWUgPSAnR2Vpc3RCdXR0b25Mb2FkaW5nJ1xuZXhwb3J0IGRlZmF1bHQgQnV0dG9uTG9hZGluZ1xuIl19 */\n/*@ sourceURL=button-loading.tsx */"));
};
ButtonLoading.displayName = 'GeistButtonLoading';
var _excluded$1 = ["isRight", "isSingle", "children", "className"];
var defaultProps$1 = {
isRight: false,
className: ''
};
var ButtonIcon = function ButtonIcon(_ref) {
var isRight = _ref.isRight,
isSingle = _ref.isSingle,
children = _ref.children,
className = _ref.className,
props = _objectWithoutProperties(_ref, _excluded$1);
return /*#__PURE__*/React__default["default"].createElement("span", _extends({}, withPureProps(props), {
className: "jsx-643337184" + " " + "icon ".concat(isRight ? 'right' : '', " ").concat(isSingle ? 'single' : '', " ").concat(className)
}), children, /*#__PURE__*/React__default["default"].createElement(styledJsx_cjs.style, {
id: "643337184"
}, ".icon.jsx-643337184{position:absolute;left:var(--geist-ui-button-icon-padding);right:auto;top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:var(--geist-ui-button-color);z-index:1;}.right.jsx-643337184{right:var(--geist-ui-button-icon-padding);left:auto;}.icon.jsx-643337184 svg{background:transparent;height:calc(var(--geist-ui-button-height) / 2.35);width:calc(var(--geist-ui-button-height) / 2.35);}.single.jsx-643337184{position:static;-webkit-transform:none;-ms-transform:none;transform:none;}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1dHRvbi1pY29uLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUErQmtCLEFBRzZCLEFBYXdCLEFBS25CLEFBTVAsZ0JBQ0QsRUF4QjBCLEtBa0JTLG1CQUx4QyxVQUNaLE9BYmEsV0FDSCxHQWlCeUMsQUFNbkQsS0F0QjZCLDRDQWlCN0IsaURBaEJlLDBFQUNVLG1HQUNKLDZGQUNnQixtQ0FDekIsVUFDWiIsImZpbGUiOiJidXR0b24taWNvbi50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnXG5pbXBvcnQgeyB3aXRoUHVyZVByb3BzIH0gZnJvbSAnLi4vdXNlLXNjYWxlYWJsZSdcblxuaW50ZXJmYWNlIFByb3BzIHtcbiAgaXNSaWdodD86IGJvb2xlYW5cbiAgaXNTaW5nbGU/OiBib29sZWFuXG4gIGNsYXNzTmFtZT86IHN0cmluZ1xufVxuXG5jb25zdCBkZWZhdWx0UHJvcHMgPSB7XG4gIGlzUmlnaHQ6IGZhbHNlLFxuICBjbGFzc05hbWU6ICcnLFxufVxuXG50eXBlIE5hdGl2ZUF0dHJzID0gT21pdDxSZWFjdC5IVE1MQXR0cmlidXRlczxhbnk+LCBrZXlvZiBQcm9wcz5cbmV4cG9ydCB0eXBlIEJ1dHRvbkljb25Qcm9wcyA9IFByb3BzICYgTmF0aXZlQXR0cnNcblxuY29uc3QgQnV0dG9uSWNvbjogUmVhY3QuRkM8UmVhY3QuUHJvcHNXaXRoQ2hpbGRyZW48QnV0dG9uSWNvblByb3BzPj4gPSAoe1xuICBpc1JpZ2h0LFxuICBpc1NpbmdsZSxcbiAgY2hpbGRyZW4sXG4gIGNsYXNzTmFtZSxcbiAgLi4ucHJvcHNcbn06IEJ1dHRvbkljb25Qcm9wcyAmIHR5cGVvZiBkZWZhdWx0UHJvcHMpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8c3BhblxuICAgICAgY2xhc3NOYW1lPXtgaWNvbiAke2lzUmlnaHQgPyAncmlnaHQnIDogJyd9ICR7XG4gICAgICAgIGlzU2luZ2xlID8gJ3NpbmdsZScgOiAnJ1xuICAgICAgfSAke2NsYXNzTmFtZX1gfVxuICAgICAgey4uLndpdGhQdXJlUHJvcHMocHJvcHMpfT5cbiAgICAgIHtjaGlsZHJlbn1cbiAgICAgIDxzdHlsZSBqc3g+e2BcbiAgICAgICAgLmljb24ge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBsZWZ0OiB2YXIoLS1nZWlzdC11aS1idXR0b24taWNvbi1wYWRkaW5nKTtcbiAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgIGNvbG9yOiB2YXIoLS1nZWlzdC11aS1idXR0b24tY29sb3IpO1xuICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIH1cblxuICAgICAgICAucmlnaHQge1xuICAgICAgICAgIHJpZ2h0OiB2YXIoLS1nZWlzdC11aS1idXR0b24taWNvbi1wYWRkaW5nKTtcbiAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgLmljb24gOmdsb2JhbChzdmcpIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICBoZWlnaHQ6IGNhbGModmFyKC0tZ2Vpc3QtdWktYnV0dG9uLWhlaWdodCkgLyAyLjM1KTtcbiAgICAgICAgICB3aWR0aDogY2FsYyh2YXIoLS1nZWlzdC11aS1idXR0b24taGVpZ2h0KSAvIDIuMzUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnNpbmdsZSB7XG4gICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIGB9PC9zdHlsZT5cbiAgICA8L3NwYW4+XG4gIClcbn1cblxuQnV0dG9uSWNvbi5kZWZhdWx0UHJvcHMgPSBkZWZhdWx0UHJvcHNcbkJ1dHRvbkljb24uZGlzcGxheU5hbWUgPSAnR2Vpc3RCdXR0b25JY29uJ1xuZXhwb3J0IGRlZmF1bHQgQnV0dG9uSWNvblxuIl19 */\n/*@ sourceURL=button-icon.tsx */"));
};
ButtonIcon.defaultProps = defaultProps$1;
ButtonIcon.displayName = 'GeistButtonIcon';
var getButtonChildrenWithIcon = function getButtonChildrenWithIcon(auto, children, icons) {
var icon = icons.icon,
iconRight = icons.iconRight;
var hasIcon = icon || iconRight;
var isRight = Boolean(iconRight);
var paddingForAutoMode = auto ? "calc(var(--geist-ui-button-height) / 2 + var(--geist-ui-button-icon-padding) * .5)" : 0;
if (!hasIcon) return /*#__PURE__*/React__default["default"].createElement("div", {
className: "text"
}, children);
if (React__default["default"].Children.count(children) === 0) {
return /*#__PURE__*/React__default["default"].createElement(ButtonIcon, {
isRight: isRight,
isSingle: true
}, hasIcon);
}
return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(ButtonIcon, {
isRight: isRight
}, hasIcon), /*#__PURE__*/React__default["default"].createElement("div", {
className: styledJsx_cjs.style.dynamic([["3568181479", [paddingForAutoMode, paddingForAutoMode]]]) + " " + "text ".concat(isRight ? 'right' : 'left')
}, children, /*#__PURE__*/React__default["default"].createElement(styledJsx_cjs.style, {
id: "3568181479",
dynamic: [paddingForAutoMode, paddingForAutoMode]
}, ".left.__jsx-style-dynamic-selector{padding-left:".concat(paddingForAutoMode, ";}.right.__jsx-style-dynamic-selector{padding-right:").concat(paddingForAutoMode, ";}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInV0aWxzLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFnQ29CLEFBR3VELEFBR0MsMENBRjdDLENBR0EiLCJmaWxlIjoidXRpbHMudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IFJlYWN0Tm9kZSB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IEJ1dHRvbkljb24gZnJvbSAnLi9idXR0b24taWNvbidcbmltcG9ydCB7IEJ1dHRvblByb3BzIH0gZnJvbSAnLi9idXR0b24nXG5pbXBvcnQgeyBCdXR0b25Hcm91cENvbmZpZyB9IGZyb20gJy4uL2J1dHRvbi1ncm91cC9idXR0b24tZ3JvdXAtY29udGV4dCdcblxuZXhwb3J0IGNvbnN0IGdldEJ1dHRvbkNoaWxkcmVuV2l0aEljb24gPSAoXG4gIGF1dG86IGJvb2xlYW4sXG4gIGNoaWxkcmVuOiBSZWFjdE5vZGUsXG4gIGljb25zOiB7XG4gICAgaWNvbj86IFJlYWN0LlJlYWN0Tm9kZVxuICAgIGljb25SaWdodD86IFJlYWN0LlJlYWN0Tm9kZVxuICB9LFxuKSA9PiB7XG4gIGNvbnN0IHsgaWNvbiwgaWNvblJpZ2h0IH0gPSBpY29uc1xuICBjb25zdCBoYXNJY29uID0gaWNvbiB8fCBpY29uUmlnaHRcbiAgY29uc3QgaXNSaWdodCA9IEJvb2xlYW4oaWNvblJpZ2h0KVxuICBjb25zdCBwYWRkaW5nRm9yQXV0b01vZGUgPSBhdXRvXG4gICAgPyBgY2FsYyh2YXIoLS1nZWlzdC11aS1idXR0b24taGVpZ2h0KSAvIDIgKyB2YXIoLS1nZWlzdC11aS1idXR0b24taWNvbi1wYWRkaW5nKSAqIC41KWBcbiAgICA6IDBcbiAgaWYgKCFoYXNJY29uKSByZXR1cm4gPGRpdiBjbGFzc05hbWU9XCJ0ZXh0XCI+e2NoaWxkcmVufTwvZGl2PlxuICBpZiAoUmVhY3QuQ2hpbGRyZW4uY291bnQoY2hpbGRyZW4pID09PSAwKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxCdXR0b25JY29uIGlzUmlnaHQ9e2lzUmlnaHR9IGlzU2luZ2xlPlxuICAgICAgICB7aGFzSWNvbn1cbiAgICAgIDwvQnV0dG9uSWNvbj5cbiAgICApXG4gIH1cbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAgPEJ1dHRvbkljb24gaXNSaWdodD17aXNSaWdodH0+e2hhc0ljb259PC9CdXR0b25JY29uPlxuICAgICAgPGRpdiBjbGFzc05hbWU9e2B0ZXh0ICR7aXNSaWdodCA/ICdyaWdodCcgOiAnbGVmdCd9YH0+XG4gICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgPHN0eWxlIGpzeD57YFxuICAgICAgICAgIC5sZWZ0IHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJHtwYWRkaW5nRm9yQXV0b01vZGV9O1xuICAgICAgICAgIH1cbiAgICAgICAgICAucmlnaHQge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogJHtwYWRkaW5nRm9yQXV0b01vZGV9O1xuICAgICAgICAgIH1cbiAgICAgICAgYH08L3N0eWxlPlxuICAgICAgPC9kaXY+XG4gICAgPC8+XG4gIClcbn1cblxuZXhwb3J0IGNvbnN0IGZpbHRlclByb3BzV2l0aEdyb3VwID0gPFQgZXh0ZW5kcyBSZWFjdC5Qcm9wc1dpdGhDaGlsZHJlbjxCdXR0b25Qcm9wcz4+KFxuICBwcm9wczogVCxcbiAgY29uZmlnOiBCdXR0b25Hcm91cENvbmZpZyxcbik6IFQgPT4ge1xuICBpZiAoIWNvbmZpZy5pc0J1dHRvbkdyb3VwKSByZXR1cm4gcHJvcHNcbiAgcmV0dXJuIHtcbiAgICAuLi5wcm9wcyxcbiAgICBhdXRvOiB0cnVlLFxuICAgIHNoYWRvdzogZmFsc2UsXG4gICAgZ2hvc3Q6IGNvbmZpZy5naG9zdCB8fCBwcm9wcy5naG9zdCxcbiAgICB0eXBlOiBjb25maWcudHlwZSB8fCBwcm9wcy50eXBlLFxuICAgIGRpc2FibGVkOiBjb25maWcuZGlzYWJsZWQgfHwgcHJvcHMuZGlzYWJsZWQsXG4gIH1cbn1cbiJdfQ== */\n/*@ sourceURL=utils.tsx */"))));
};
var filterPropsWithGroup = function filterPropsWithGroup(props, config) {
if (!config.isButtonGroup) return props;
return _objectSpread2(_objectSpread2({}, props), {}, {
auto: true,
shadow: false,
ghost: config.ghost || props.ghost,
type: config.type || props.type,
disabled: config.disabled || props.disabled
});
};
var defaultContext = {
isButtonGroup: false,
disabled: false
};
var ButtonGroupContext = /*#__PURE__*/React__default["default"].createContext(defaultContext);
var useButtonGroupContext = function useButtonGroupContext() {
return React__default["default"].useContext(ButtonGroupContext);
};
var hexToRgb = function hexToRgb(color) {
var fullReg = /^#?([a-f\d])([a-f\d])([a-f\d])$/i;
var full = color.replace(fullReg, function (_, r, g, b) {
return "".concat(r).concat(r).concat(g).concat(g).concat(b).concat(b);
});
var values = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(full);
if (!values) {
throw new Error("Geist UI: Unsupported ".concat(color, " color."));
}
return [Number.parseInt(values[1], 16), Number.parseInt(values[2], 16), Number.parseInt(values[3], 16)];
};
var colorToRgbValues = function colorToRgbValues(color) {
if (color.charAt(0) === '#') return hexToRgb(color);
var safeColor = color.replace(/ /g, '');
var colorType = color.substr(0, 4);
var regArray = safeColor.match(/\((.+)\)/);
if (!colorType.startsWith('rgb') || !regArray) {
console.log(color);
throw new Error("Geist UI: Only support [\"RGB\", \"RGBA\", \"HEX\"] color.");
}
return regArray[1].split(',').map(function (str) {
return Number.parseFloat(str);
});
};
var addColorAlpha = function addColorAlpha(color, alpha) {
if (!/^#|rgb|RGB/.test(color)) return color;
var _colorToRgbValues