@helpdice/ui 2.6.0-beta.9 → 2.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/container/index.js +655 -8
- package/dist/expandable/index.js +1496 -10
- package/dist/index.js +1 -2
- package/esm/expandable/expand.js +1 -1
- package/package.json +1 -1
package/dist/container/index.js
CHANGED
|
@@ -5,7 +5,6 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
var React = require('react');
|
|
6
6
|
var theme = require('@helpdice/theme');
|
|
7
7
|
var jsxRuntime = require('react/jsx-runtime');
|
|
8
|
-
var Button = require('components/button');
|
|
9
8
|
|
|
10
9
|
function _arrayLikeToArray(r, a) {
|
|
11
10
|
(null == a || a > r.length) && (a = r.length);
|
|
@@ -82,7 +81,10 @@ function _iterableToArrayLimit(r, l) {
|
|
|
82
81
|
f = true,
|
|
83
82
|
o = false;
|
|
84
83
|
try {
|
|
85
|
-
if (i = (t = t.call(r)).next, 0 === l)
|
|
84
|
+
if (i = (t = t.call(r)).next, 0 === l) {
|
|
85
|
+
if (Object(t) !== t) return;
|
|
86
|
+
f = !1;
|
|
87
|
+
} else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);
|
|
86
88
|
} catch (r) {
|
|
87
89
|
o = true, n = r;
|
|
88
90
|
} finally {
|
|
@@ -713,7 +715,7 @@ var ScalePropKeys = ['width', 'height', 'padding', 'margin', 'w', 'h', 'paddingL
|
|
|
713
715
|
var defaultDynamicLayoutPipe = function defaultDynamicLayoutPipe(scale1x) {
|
|
714
716
|
return "".concat(scale1x);
|
|
715
717
|
};
|
|
716
|
-
var defaultContext = {
|
|
718
|
+
var defaultContext$1 = {
|
|
717
719
|
getScaleProps: function getScaleProps() {
|
|
718
720
|
return undefined;
|
|
719
721
|
},
|
|
@@ -739,7 +741,7 @@ var defaultContext = {
|
|
|
739
741
|
},
|
|
740
742
|
unit: '16px'
|
|
741
743
|
};
|
|
742
|
-
var ScaleContext = /*#__PURE__*/React.createContext(defaultContext);
|
|
744
|
+
var ScaleContext = /*#__PURE__*/React.createContext(defaultContext$1);
|
|
743
745
|
var useScale = function useScale() {
|
|
744
746
|
return React.useContext(ScaleContext);
|
|
745
747
|
};
|
|
@@ -796,7 +798,7 @@ var generateGetAllScaleProps = function generateGetAllScaleProps(props) {
|
|
|
796
798
|
return getAllScaleProps;
|
|
797
799
|
};
|
|
798
800
|
|
|
799
|
-
var _excluded$
|
|
801
|
+
var _excluded$5 = ["children"];
|
|
800
802
|
var reduceScaleCoefficient = function reduceScaleCoefficient(scale) {
|
|
801
803
|
if (scale === 1) return scale;
|
|
802
804
|
var diff = Math.abs((scale - 1) / 2);
|
|
@@ -806,7 +808,7 @@ var withScale = function withScale(Render) {
|
|
|
806
808
|
var ScaleFC = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
807
809
|
var _ref2, _ref3, _ref4, _ref5, _ref6, _ref7, _ref8, _ref9, _ref0, _ref1, _ref10, _ref11, _ref12, _ref13, _ref14, _ref15, _ref16, _ref17, _ref18, _ref19, _ref20, _ref21, _ref22, _ref23, _ref24, _ref25, _ref26, _ref27, _ref28, _ref29, _ref30, _ref31;
|
|
808
810
|
var children = _ref.children,
|
|
809
|
-
props = _objectWithoutProperties(_ref, _excluded$
|
|
811
|
+
props = _objectWithoutProperties(_ref, _excluded$5);
|
|
810
812
|
var _useTheme = theme.useTheme(),
|
|
811
813
|
layout = _useTheme.layout;
|
|
812
814
|
var paddingLeft = props.paddingLeft,
|
|
@@ -891,7 +893,7 @@ var withScale = function withScale(Render) {
|
|
|
891
893
|
return ScaleFC;
|
|
892
894
|
};
|
|
893
895
|
|
|
894
|
-
var _excluded$
|
|
896
|
+
var _excluded$4 = ["xs", "sm", "md", "lg", "xl", "justify", "direction", "alignItems", "alignContent", "children", "className"];
|
|
895
897
|
var getItemLayout = function getItemLayout(val) {
|
|
896
898
|
var display = val === 0 ? 'display: none;' : 'display: inherit;';
|
|
897
899
|
if (typeof val === 'number') {
|
|
@@ -929,7 +931,7 @@ var GridBasicItem = function GridBasicItem(_ref) {
|
|
|
929
931
|
children = _ref.children,
|
|
930
932
|
_ref$className = _ref.className,
|
|
931
933
|
className = _ref$className === void 0 ? '' : _ref$className,
|
|
932
|
-
props = _objectWithoutProperties(_ref, _excluded$
|
|
934
|
+
props = _objectWithoutProperties(_ref, _excluded$4);
|
|
933
935
|
var theme$1 = theme.useTheme();
|
|
934
936
|
var _useScale = useScale(),
|
|
935
937
|
SCALES = _useScale.SCALES;
|
|
@@ -986,6 +988,651 @@ tuple('hover', 'click');
|
|
|
986
988
|
tuple('top', 'topStart', 'topEnd', 'left', 'leftStart', 'leftEnd', 'bottom', 'bottomStart', 'bottomEnd', 'right', 'rightStart', 'rightEnd');
|
|
987
989
|
tuple('start', 'center', 'end', 'left', 'right');
|
|
988
990
|
|
|
991
|
+
var ButtonDrip = function ButtonDrip(_ref) {
|
|
992
|
+
var _ref$x = _ref.x,
|
|
993
|
+
x = _ref$x === void 0 ? 0 : _ref$x,
|
|
994
|
+
_ref$y = _ref.y,
|
|
995
|
+
y = _ref$y === void 0 ? 0 : _ref$y,
|
|
996
|
+
color = _ref.color,
|
|
997
|
+
onCompleted = _ref.onCompleted;
|
|
998
|
+
var dripRef = React.useRef(null);
|
|
999
|
+
/* istanbul ignore next */
|
|
1000
|
+
var top = Number.isNaN(+y) ? 0 : y - 10;
|
|
1001
|
+
/* istanbul ignore next */
|
|
1002
|
+
var left = Number.isNaN(+x) ? 0 : x - 10;
|
|
1003
|
+
React.useEffect(function () {
|
|
1004
|
+
/* istanbul ignore next */
|
|
1005
|
+
if (!dripRef.current) return;
|
|
1006
|
+
dripRef.current.addEventListener('animationend', onCompleted);
|
|
1007
|
+
return function () {
|
|
1008
|
+
/* istanbul ignore next */
|
|
1009
|
+
if (!dripRef.current) return;
|
|
1010
|
+
dripRef.current.removeEventListener('animationend', onCompleted);
|
|
1011
|
+
};
|
|
1012
|
+
});
|
|
1013
|
+
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
1014
|
+
ref: dripRef,
|
|
1015
|
+
className: "jsx-3424889537" + " " + "drip",
|
|
1016
|
+
children: [/*#__PURE__*/jsxRuntime.jsx("svg", {
|
|
1017
|
+
width: "20",
|
|
1018
|
+
height: "20",
|
|
1019
|
+
viewBox: "0 0 20 20",
|
|
1020
|
+
style: {
|
|
1021
|
+
top: top,
|
|
1022
|
+
left: left
|
|
1023
|
+
},
|
|
1024
|
+
className: "jsx-3424889537",
|
|
1025
|
+
children: /*#__PURE__*/jsxRuntime.jsx("g", {
|
|
1026
|
+
stroke: "none",
|
|
1027
|
+
strokeWidth: "1",
|
|
1028
|
+
fill: "none",
|
|
1029
|
+
fillRule: "evenodd",
|
|
1030
|
+
className: "jsx-3424889537",
|
|
1031
|
+
children: /*#__PURE__*/jsxRuntime.jsx("g", {
|
|
1032
|
+
fill: color,
|
|
1033
|
+
className: "jsx-3424889537",
|
|
1034
|
+
children: /*#__PURE__*/jsxRuntime.jsx("rect", {
|
|
1035
|
+
width: "100%",
|
|
1036
|
+
height: "100%",
|
|
1037
|
+
rx: "10",
|
|
1038
|
+
className: "jsx-3424889537"
|
|
1039
|
+
})
|
|
1040
|
+
})
|
|
1041
|
+
})
|
|
1042
|
+
}), /*#__PURE__*/jsxRuntime.jsx(_JSXStyle, {
|
|
1043
|
+
id: "3424889537",
|
|
1044
|
+
children: ".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;}}"
|
|
1045
|
+
})]
|
|
1046
|
+
});
|
|
1047
|
+
};
|
|
1048
|
+
ButtonDrip.displayName = 'ButtonDrip';
|
|
1049
|
+
|
|
1050
|
+
var _excluded$3 = ["children", "type", "color", "className", "spaceRatio"];
|
|
1051
|
+
var getIconBgColor = function getIconBgColor(type, palette, color) {
|
|
1052
|
+
var colors = {
|
|
1053
|
+
"default": palette.accents_6,
|
|
1054
|
+
secondary: palette.secondary,
|
|
1055
|
+
success: palette.success,
|
|
1056
|
+
warning: palette.warning,
|
|
1057
|
+
error: palette.error
|
|
1058
|
+
};
|
|
1059
|
+
return color ? color : colors[type];
|
|
1060
|
+
};
|
|
1061
|
+
var LoadingComponent = function LoadingComponent(_ref) {
|
|
1062
|
+
var children = _ref.children,
|
|
1063
|
+
_ref$type = _ref.type,
|
|
1064
|
+
type = _ref$type === void 0 ? 'default' : _ref$type,
|
|
1065
|
+
color = _ref.color,
|
|
1066
|
+
_ref$className = _ref.className,
|
|
1067
|
+
className = _ref$className === void 0 ? '' : _ref$className,
|
|
1068
|
+
_ref$spaceRatio = _ref.spaceRatio,
|
|
1069
|
+
spaceRatio = _ref$spaceRatio === void 0 ? 1 : _ref$spaceRatio,
|
|
1070
|
+
props = _objectWithoutProperties(_ref, _excluded$3);
|
|
1071
|
+
var theme$1 = theme.useTheme();
|
|
1072
|
+
var _useScale = useScale(),
|
|
1073
|
+
SCALES = _useScale.SCALES;
|
|
1074
|
+
var classes = theme.useClasses('loading-container', className);
|
|
1075
|
+
var bgColor = React.useMemo(function () {
|
|
1076
|
+
return getIconBgColor(type, theme$1.palette, color);
|
|
1077
|
+
}, [type, theme$1.palette, color]);
|
|
1078
|
+
return /*#__PURE__*/jsxRuntime.jsxs("div", _objectSpread2(_objectSpread2({}, props), {}, {
|
|
1079
|
+
className: _JSXStyle.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$1.palette.accents_5, bgColor, spaceRatio]]]) + " " + (props && props.className != null && props.className || classes || ""),
|
|
1080
|
+
children: [/*#__PURE__*/jsxRuntime.jsxs("span", {
|
|
1081
|
+
className: _JSXStyle.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$1.palette.accents_5, bgColor, spaceRatio]]]) + " " + "loading",
|
|
1082
|
+
children: [children && /*#__PURE__*/jsxRuntime.jsx("label", {
|
|
1083
|
+
className: _JSXStyle.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$1.palette.accents_5, bgColor, spaceRatio]]]),
|
|
1084
|
+
children: children
|
|
1085
|
+
}), /*#__PURE__*/jsxRuntime.jsx("i", {
|
|
1086
|
+
className: _JSXStyle.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$1.palette.accents_5, bgColor, spaceRatio]]])
|
|
1087
|
+
}), /*#__PURE__*/jsxRuntime.jsx("i", {
|
|
1088
|
+
className: _JSXStyle.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$1.palette.accents_5, bgColor, spaceRatio]]])
|
|
1089
|
+
}), /*#__PURE__*/jsxRuntime.jsx("i", {
|
|
1090
|
+
className: _JSXStyle.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$1.palette.accents_5, bgColor, spaceRatio]]])
|
|
1091
|
+
})]
|
|
1092
|
+
}), /*#__PURE__*/jsxRuntime.jsx(_JSXStyle, {
|
|
1093
|
+
id: "2201634259",
|
|
1094
|
+
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$1.palette.accents_5, bgColor, spaceRatio],
|
|
1095
|
+
children: ".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$1.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;}}")
|
|
1096
|
+
})]
|
|
1097
|
+
}));
|
|
1098
|
+
};
|
|
1099
|
+
LoadingComponent.displayName = 'Loading';
|
|
1100
|
+
var Loading = withScale(LoadingComponent);
|
|
1101
|
+
|
|
1102
|
+
var ButtonLoading = function ButtonLoading(_ref) {
|
|
1103
|
+
var color = _ref.color;
|
|
1104
|
+
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
1105
|
+
className: "jsx-212623367" + " " + "btn-loading",
|
|
1106
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(Loading, {
|
|
1107
|
+
color: color
|
|
1108
|
+
}), /*#__PURE__*/jsxRuntime.jsx(_JSXStyle, {
|
|
1109
|
+
id: "212623367",
|
|
1110
|
+
children: ".btn-loading.jsx-212623367{position:absolute;top:0;left:0;right:0;bottom:0;z-index:2;background-color:var(--helpdice-ui-button-bg);}"
|
|
1111
|
+
})]
|
|
1112
|
+
});
|
|
1113
|
+
};
|
|
1114
|
+
ButtonLoading.displayName = 'ButtonLoading';
|
|
1115
|
+
|
|
1116
|
+
var _excluded$2 = ["isRight", "isSingle", "children", "className"];
|
|
1117
|
+
var ButtonIcon = function ButtonIcon(_ref) {
|
|
1118
|
+
var _ref$isRight = _ref.isRight,
|
|
1119
|
+
isRight = _ref$isRight === void 0 ? false : _ref$isRight,
|
|
1120
|
+
isSingle = _ref.isSingle,
|
|
1121
|
+
children = _ref.children,
|
|
1122
|
+
_ref$className = _ref.className,
|
|
1123
|
+
className = _ref$className === void 0 ? '' : _ref$className,
|
|
1124
|
+
props = _objectWithoutProperties(_ref, _excluded$2);
|
|
1125
|
+
var classes = theme.useClasses('icon', {
|
|
1126
|
+
right: isRight,
|
|
1127
|
+
single: isSingle
|
|
1128
|
+
}, className);
|
|
1129
|
+
return /*#__PURE__*/jsxRuntime.jsxs("span", _objectSpread2(_objectSpread2({}, props), {}, {
|
|
1130
|
+
className: "jsx-2467502931" + " " + (props && props.className != null && props.className || classes || ""),
|
|
1131
|
+
children: [children, /*#__PURE__*/jsxRuntime.jsx(_JSXStyle, {
|
|
1132
|
+
id: "2467502931",
|
|
1133
|
+
children: ".icon.jsx-2467502931{position:absolute;left:var(--helpdice-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(--helpdice-ui-button-color);z-index:1;}.right.jsx-2467502931{right:var(--helpdice-ui-button-icon-padding);left:auto;}.icon.jsx-2467502931 svg{background:transparent;height:calc(var(--helpdice-ui-button-height) / 2.35);width:calc(var(--helpdice-ui-button-height) / 2.35);}.single.jsx-2467502931{position:static;-webkit-transform:none;-ms-transform:none;transform:none;}"
|
|
1134
|
+
})]
|
|
1135
|
+
}));
|
|
1136
|
+
};
|
|
1137
|
+
ButtonIcon.displayName = 'ButtonIcon';
|
|
1138
|
+
|
|
1139
|
+
var getButtonChildrenWithIcon = function getButtonChildrenWithIcon(auto, children, icons) {
|
|
1140
|
+
var icon = icons.icon,
|
|
1141
|
+
iconRight = icons.iconRight;
|
|
1142
|
+
var hasIcon = icon || iconRight;
|
|
1143
|
+
var isRight = Boolean(iconRight);
|
|
1144
|
+
var paddingForAutoMode = auto ? "calc(var(--helpdice-ui-button-height) / 2 + var(--helpdice-ui-button-icon-padding) * .5)" : 0;
|
|
1145
|
+
var classes = theme.useClasses('text', isRight ? 'right' : 'left');
|
|
1146
|
+
if (!hasIcon) return /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
1147
|
+
className: "text",
|
|
1148
|
+
children: children
|
|
1149
|
+
});
|
|
1150
|
+
if (React.Children.count(children) === 0) {
|
|
1151
|
+
return /*#__PURE__*/jsxRuntime.jsx(ButtonIcon, {
|
|
1152
|
+
isRight: isRight,
|
|
1153
|
+
isSingle: true,
|
|
1154
|
+
children: hasIcon
|
|
1155
|
+
});
|
|
1156
|
+
}
|
|
1157
|
+
return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
1158
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(ButtonIcon, {
|
|
1159
|
+
isRight: isRight,
|
|
1160
|
+
children: hasIcon
|
|
1161
|
+
}), /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
1162
|
+
className: _JSXStyle.dynamic([["3568181479", [paddingForAutoMode, paddingForAutoMode]]]) + " " + (classes || ""),
|
|
1163
|
+
children: [children, /*#__PURE__*/jsxRuntime.jsx(_JSXStyle, {
|
|
1164
|
+
id: "3568181479",
|
|
1165
|
+
dynamic: [paddingForAutoMode, paddingForAutoMode],
|
|
1166
|
+
children: ".left.__jsx-style-dynamic-selector{padding-left:".concat(paddingForAutoMode, ";}.right.__jsx-style-dynamic-selector{padding-right:").concat(paddingForAutoMode, ";}")
|
|
1167
|
+
})]
|
|
1168
|
+
})]
|
|
1169
|
+
});
|
|
1170
|
+
};
|
|
1171
|
+
var filterPropsWithGroup = function filterPropsWithGroup(props, config) {
|
|
1172
|
+
if (!config.isButtonGroup) return props;
|
|
1173
|
+
return _objectSpread2(_objectSpread2({}, props), {}, {
|
|
1174
|
+
auto: true,
|
|
1175
|
+
shadow: false,
|
|
1176
|
+
ghost: config.ghost || props.ghost,
|
|
1177
|
+
type: config.type || props.type,
|
|
1178
|
+
disabled: config.disabled || props.disabled
|
|
1179
|
+
});
|
|
1180
|
+
};
|
|
1181
|
+
|
|
1182
|
+
/* "use client" */
|
|
1183
|
+
|
|
1184
|
+
var defaultContext = {
|
|
1185
|
+
isButtonGroup: false,
|
|
1186
|
+
disabled: false
|
|
1187
|
+
};
|
|
1188
|
+
var ButtonGroupContext = /*#__PURE__*/React.createContext(defaultContext);
|
|
1189
|
+
var useButtonGroupContext = function useButtonGroupContext() {
|
|
1190
|
+
return React.useContext(ButtonGroupContext);
|
|
1191
|
+
};
|
|
1192
|
+
|
|
1193
|
+
var hexToRgb = function hexToRgb(color) {
|
|
1194
|
+
var fullReg = /^#?([a-f\d])([a-f\d])([a-f\d])$/i;
|
|
1195
|
+
var full = color.replace(fullReg, function (_, r, g, b) {
|
|
1196
|
+
return "".concat(r).concat(r).concat(g).concat(g).concat(b).concat(b);
|
|
1197
|
+
});
|
|
1198
|
+
var values = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(full);
|
|
1199
|
+
if (!values) {
|
|
1200
|
+
throw new Error("Helpdice UI: Unsupported ".concat(color, " color."));
|
|
1201
|
+
}
|
|
1202
|
+
return [Number.parseInt(values[1], 16), Number.parseInt(values[2], 16), Number.parseInt(values[3], 16)];
|
|
1203
|
+
};
|
|
1204
|
+
var colorToRgbValues = function colorToRgbValues(color) {
|
|
1205
|
+
if (color.charAt(0) === '#') return hexToRgb(color);
|
|
1206
|
+
var safeColor = color.replace(/ /g, '');
|
|
1207
|
+
var colorType = color.substr(0, 4);
|
|
1208
|
+
var regArray = safeColor.match(/\((.+)\)/);
|
|
1209
|
+
if (!colorType.startsWith('rgb') || !regArray) {
|
|
1210
|
+
console.log(color);
|
|
1211
|
+
throw new Error("Helpdice UI: Only support [\"RGB\", \"RGBA\", \"HEX\"] color.");
|
|
1212
|
+
}
|
|
1213
|
+
return regArray[1].split(',').map(function (str) {
|
|
1214
|
+
return Number.parseFloat(str);
|
|
1215
|
+
});
|
|
1216
|
+
};
|
|
1217
|
+
var addColorAlpha = function addColorAlpha(color, alpha) {
|
|
1218
|
+
if (!/^#|rgb|RGB/.test(color)) return color;
|
|
1219
|
+
var _colorToRgbValues = colorToRgbValues(color),
|
|
1220
|
+
_colorToRgbValues2 = _slicedToArray(_colorToRgbValues, 3),
|
|
1221
|
+
r = _colorToRgbValues2[0],
|
|
1222
|
+
g = _colorToRgbValues2[1],
|
|
1223
|
+
b = _colorToRgbValues2[2];
|
|
1224
|
+
var safeAlpha = alpha > 1 ? 1 : alpha < 0 ? 0 : alpha;
|
|
1225
|
+
return "rgba(".concat(r, ", ").concat(g, ", ").concat(b, ", ").concat(safeAlpha, ")");
|
|
1226
|
+
};
|
|
1227
|
+
|
|
1228
|
+
var getButtonGhostColors = function getButtonGhostColors(palette, _color) {
|
|
1229
|
+
var colors = {
|
|
1230
|
+
secondary: {
|
|
1231
|
+
bg: palette.background,
|
|
1232
|
+
border: palette.foreground,
|
|
1233
|
+
color: palette.foreground,
|
|
1234
|
+
ripple: ''
|
|
1235
|
+
},
|
|
1236
|
+
success: {
|
|
1237
|
+
bg: palette.background,
|
|
1238
|
+
border: palette.success,
|
|
1239
|
+
color: palette.success,
|
|
1240
|
+
ripple: ''
|
|
1241
|
+
},
|
|
1242
|
+
warning: {
|
|
1243
|
+
bg: palette.background,
|
|
1244
|
+
border: palette.warning,
|
|
1245
|
+
color: palette.warning,
|
|
1246
|
+
ripple: ''
|
|
1247
|
+
},
|
|
1248
|
+
error: {
|
|
1249
|
+
bg: palette.background,
|
|
1250
|
+
border: palette.error,
|
|
1251
|
+
color: palette.error,
|
|
1252
|
+
ripple: ''
|
|
1253
|
+
}
|
|
1254
|
+
};
|
|
1255
|
+
return colors[_color] || null;
|
|
1256
|
+
};
|
|
1257
|
+
var getButtonColors = function getButtonColors(palette, props) {
|
|
1258
|
+
var color = props.color,
|
|
1259
|
+
disabled = props.disabled,
|
|
1260
|
+
ghost = props.ghost;
|
|
1261
|
+
var colors = {
|
|
1262
|
+
"default": {
|
|
1263
|
+
bg: palette.background,
|
|
1264
|
+
border: palette.border,
|
|
1265
|
+
color: palette.accents_5,
|
|
1266
|
+
ripple: palette.accents_1
|
|
1267
|
+
},
|
|
1268
|
+
secondary: {
|
|
1269
|
+
bg: palette.foreground,
|
|
1270
|
+
border: palette.foreground,
|
|
1271
|
+
color: palette.background,
|
|
1272
|
+
ripple: palette.accents_1
|
|
1273
|
+
},
|
|
1274
|
+
success: {
|
|
1275
|
+
bg: palette.success,
|
|
1276
|
+
border: palette.success,
|
|
1277
|
+
color: '#fff',
|
|
1278
|
+
ripple: '#1f93ffff'
|
|
1279
|
+
},
|
|
1280
|
+
warning: {
|
|
1281
|
+
bg: palette.warning,
|
|
1282
|
+
border: palette.warning,
|
|
1283
|
+
color: '#fff',
|
|
1284
|
+
ripple: '#ffca29ff'
|
|
1285
|
+
},
|
|
1286
|
+
error: {
|
|
1287
|
+
bg: palette.error,
|
|
1288
|
+
border: palette.error,
|
|
1289
|
+
color: '#fff',
|
|
1290
|
+
ripple: '#ff5a55ff'
|
|
1291
|
+
},
|
|
1292
|
+
abort: {
|
|
1293
|
+
bg: 'transparent',
|
|
1294
|
+
border: 'transparent',
|
|
1295
|
+
color: palette.accents_5,
|
|
1296
|
+
ripple: palette.accents_1
|
|
1297
|
+
}
|
|
1298
|
+
};
|
|
1299
|
+
if (disabled) return {
|
|
1300
|
+
bg: palette.accents_1,
|
|
1301
|
+
border: palette.accents_2,
|
|
1302
|
+
color: '#ccc',
|
|
1303
|
+
ripple: ''
|
|
1304
|
+
};
|
|
1305
|
+
|
|
1306
|
+
/**
|
|
1307
|
+
* The '-light' type is the same color as the common type,
|
|
1308
|
+
* only hover's color is different.
|
|
1309
|
+
* e.g.
|
|
1310
|
+
* Color['success'] === Color['success-light']
|
|
1311
|
+
* Color['warning'] === Color['warning-light']
|
|
1312
|
+
*/
|
|
1313
|
+
var withoutLightType = color === null || color === void 0 ? void 0 : color.replace('-light', '');
|
|
1314
|
+
var defaultColor = colors["default"];
|
|
1315
|
+
if (ghost) return getButtonGhostColors(palette, withoutLightType) || defaultColor;
|
|
1316
|
+
return colors[withoutLightType] || defaultColor;
|
|
1317
|
+
};
|
|
1318
|
+
var getButtonGhostHoverColors = function getButtonGhostHoverColors(palette, _color) {
|
|
1319
|
+
var colors = {
|
|
1320
|
+
secondary: {
|
|
1321
|
+
bg: palette.foreground,
|
|
1322
|
+
border: palette.background,
|
|
1323
|
+
color: palette.background
|
|
1324
|
+
},
|
|
1325
|
+
success: {
|
|
1326
|
+
bg: palette.success,
|
|
1327
|
+
border: palette.background,
|
|
1328
|
+
color: 'white'
|
|
1329
|
+
},
|
|
1330
|
+
warning: {
|
|
1331
|
+
bg: palette.warning,
|
|
1332
|
+
border: palette.background,
|
|
1333
|
+
color: 'white'
|
|
1334
|
+
},
|
|
1335
|
+
error: {
|
|
1336
|
+
bg: palette.error,
|
|
1337
|
+
border: palette.background,
|
|
1338
|
+
color: 'white'
|
|
1339
|
+
}
|
|
1340
|
+
};
|
|
1341
|
+
var withoutLightType = _color === null || _color === void 0 ? void 0 : _color.replace('-light', '');
|
|
1342
|
+
return colors[withoutLightType] || null;
|
|
1343
|
+
};
|
|
1344
|
+
var getButtonHoverColors = function getButtonHoverColors(palette, props) {
|
|
1345
|
+
var color = props.color,
|
|
1346
|
+
disabled = props.disabled,
|
|
1347
|
+
loading = props.loading,
|
|
1348
|
+
shadow = props.shadow,
|
|
1349
|
+
ghost = props.ghost;
|
|
1350
|
+
var defaultColor = getButtonColors(palette, props);
|
|
1351
|
+
var alphaBackground = addColorAlpha(defaultColor.bg, 0.85);
|
|
1352
|
+
var colors = {
|
|
1353
|
+
"default": {
|
|
1354
|
+
bg: palette.background,
|
|
1355
|
+
border: palette.foreground
|
|
1356
|
+
},
|
|
1357
|
+
secondary: {
|
|
1358
|
+
bg: palette.background,
|
|
1359
|
+
border: palette.foreground
|
|
1360
|
+
},
|
|
1361
|
+
success: {
|
|
1362
|
+
bg: palette.background,
|
|
1363
|
+
border: palette.success
|
|
1364
|
+
},
|
|
1365
|
+
warning: {
|
|
1366
|
+
bg: palette.background,
|
|
1367
|
+
border: palette.warning
|
|
1368
|
+
},
|
|
1369
|
+
error: {
|
|
1370
|
+
bg: palette.background,
|
|
1371
|
+
border: palette.error
|
|
1372
|
+
},
|
|
1373
|
+
abort: {
|
|
1374
|
+
bg: 'transparent',
|
|
1375
|
+
border: 'transparent',
|
|
1376
|
+
color: palette.accents_5
|
|
1377
|
+
},
|
|
1378
|
+
'secondary-light': _objectSpread2(_objectSpread2({}, defaultColor), {}, {
|
|
1379
|
+
bg: alphaBackground
|
|
1380
|
+
}),
|
|
1381
|
+
'success-light': _objectSpread2(_objectSpread2({}, defaultColor), {}, {
|
|
1382
|
+
bg: alphaBackground
|
|
1383
|
+
}),
|
|
1384
|
+
'warning-light': _objectSpread2(_objectSpread2({}, defaultColor), {}, {
|
|
1385
|
+
bg: alphaBackground
|
|
1386
|
+
}),
|
|
1387
|
+
'error-light': _objectSpread2(_objectSpread2({}, defaultColor), {}, {
|
|
1388
|
+
bg: alphaBackground
|
|
1389
|
+
})
|
|
1390
|
+
};
|
|
1391
|
+
if (disabled) return {
|
|
1392
|
+
bg: palette.accents_1,
|
|
1393
|
+
border: palette.accents_2,
|
|
1394
|
+
color: '#ccc'
|
|
1395
|
+
};
|
|
1396
|
+
if (loading) return _objectSpread2(_objectSpread2({}, defaultColor), {}, {
|
|
1397
|
+
color: 'transparent'
|
|
1398
|
+
});
|
|
1399
|
+
if (shadow) return defaultColor;
|
|
1400
|
+
var hoverColor = (ghost ? getButtonGhostHoverColors(palette, color) : colors[color]) || colors["default"];
|
|
1401
|
+
return _objectSpread2(_objectSpread2({}, hoverColor), {}, {
|
|
1402
|
+
color: hoverColor.color || hoverColor.border
|
|
1403
|
+
});
|
|
1404
|
+
};
|
|
1405
|
+
var getButtonCursor = function getButtonCursor(disabled, loading) {
|
|
1406
|
+
if (disabled) return {
|
|
1407
|
+
cursor: 'not-allowed',
|
|
1408
|
+
events: 'auto'
|
|
1409
|
+
};
|
|
1410
|
+
if (loading) return {
|
|
1411
|
+
cursor: 'default',
|
|
1412
|
+
events: 'none'
|
|
1413
|
+
};
|
|
1414
|
+
return {
|
|
1415
|
+
cursor: 'pointer',
|
|
1416
|
+
events: 'auto'
|
|
1417
|
+
};
|
|
1418
|
+
};
|
|
1419
|
+
var getButtonDripColor = function getButtonDripColor(palette, props) {
|
|
1420
|
+
var type = props.type;
|
|
1421
|
+
var isLightHover = type ? type.endsWith('light') : false;
|
|
1422
|
+
var hoverColors = getButtonHoverColors(palette, props);
|
|
1423
|
+
return isLightHover ? addColorAlpha(hoverColors.bg, 0.65) : addColorAlpha(palette.accents_2, 0.65);
|
|
1424
|
+
};
|
|
1425
|
+
|
|
1426
|
+
var _excluded$1 = ["children", "disabled", "color", "loading", "shadow", "ghost", "effect", "round", "relative", "replace", "a", "to", "onClick", "auto", "icon", "type", "iconRight", "className", "crossOrigin"];
|
|
1427
|
+
var ButtonComponent = /*#__PURE__*/React.forwardRef(function (btnProps, ref) {
|
|
1428
|
+
var theme$1 = theme.useTheme();
|
|
1429
|
+
// const navigate = useNavigate();
|
|
1430
|
+
var _useScale = useScale(),
|
|
1431
|
+
SCALES = _useScale.SCALES;
|
|
1432
|
+
var buttonRef = React.useRef(null);
|
|
1433
|
+
React.useImperativeHandle(ref, function () {
|
|
1434
|
+
return buttonRef.current;
|
|
1435
|
+
}); // Changed with !
|
|
1436
|
+
|
|
1437
|
+
var _useState = React.useState(false),
|
|
1438
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
1439
|
+
dripShow = _useState2[0],
|
|
1440
|
+
setDripShow = _useState2[1];
|
|
1441
|
+
var _useState3 = React.useState(0),
|
|
1442
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
1443
|
+
dripX = _useState4[0],
|
|
1444
|
+
setDripX = _useState4[1];
|
|
1445
|
+
var _useState5 = React.useState(0),
|
|
1446
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
1447
|
+
dripY = _useState6[0],
|
|
1448
|
+
setDripY = _useState6[1];
|
|
1449
|
+
var groupConfig = useButtonGroupContext();
|
|
1450
|
+
var filteredProps = filterPropsWithGroup(btnProps, groupConfig);
|
|
1451
|
+
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
1452
|
+
var children = filteredProps.children,
|
|
1453
|
+
_filteredProps$disabl = filteredProps.disabled,
|
|
1454
|
+
disabled = _filteredProps$disabl === void 0 ? false : _filteredProps$disabl;
|
|
1455
|
+
filteredProps.color;
|
|
1456
|
+
var _filteredProps$loadin = filteredProps.loading,
|
|
1457
|
+
loading = _filteredProps$loadin === void 0 ? false : _filteredProps$loadin,
|
|
1458
|
+
_filteredProps$shadow = filteredProps.shadow,
|
|
1459
|
+
shadow = _filteredProps$shadow === void 0 ? false : _filteredProps$shadow,
|
|
1460
|
+
_filteredProps$ghost = filteredProps.ghost,
|
|
1461
|
+
ghost = _filteredProps$ghost === void 0 ? false : _filteredProps$ghost,
|
|
1462
|
+
_filteredProps$effect = filteredProps.effect,
|
|
1463
|
+
effect = _filteredProps$effect === void 0 ? true : _filteredProps$effect,
|
|
1464
|
+
_filteredProps$round = filteredProps.round,
|
|
1465
|
+
round = _filteredProps$round === void 0 ? false : _filteredProps$round;
|
|
1466
|
+
filteredProps.relative;
|
|
1467
|
+
filteredProps.replace;
|
|
1468
|
+
filteredProps.a;
|
|
1469
|
+
var to = filteredProps.to,
|
|
1470
|
+
onClick = filteredProps.onClick,
|
|
1471
|
+
_filteredProps$auto = filteredProps.auto,
|
|
1472
|
+
auto = _filteredProps$auto === void 0 ? false : _filteredProps$auto,
|
|
1473
|
+
icon = filteredProps.icon,
|
|
1474
|
+
_filteredProps$type = filteredProps.type,
|
|
1475
|
+
type = _filteredProps$type === void 0 ? 'button' : _filteredProps$type,
|
|
1476
|
+
iconRight = filteredProps.iconRight,
|
|
1477
|
+
_filteredProps$classN = filteredProps.className,
|
|
1478
|
+
className = _filteredProps$classN === void 0 ? '' : _filteredProps$classN;
|
|
1479
|
+
filteredProps.crossOrigin;
|
|
1480
|
+
var props = _objectWithoutProperties(filteredProps, _excluded$1);
|
|
1481
|
+
/* eslint-enable @typescript-eslint/no-unused-vars */
|
|
1482
|
+
|
|
1483
|
+
var _useMemo = React.useMemo(function () {
|
|
1484
|
+
return getButtonColors(theme$1.palette, filteredProps);
|
|
1485
|
+
}, [theme$1.palette, filteredProps]),
|
|
1486
|
+
bg = _useMemo.bg,
|
|
1487
|
+
border = _useMemo.border,
|
|
1488
|
+
color = _useMemo.color,
|
|
1489
|
+
rippleColor = _useMemo.ripple;
|
|
1490
|
+
var hover = React.useMemo(function () {
|
|
1491
|
+
return getButtonHoverColors(theme$1.palette, filteredProps);
|
|
1492
|
+
}, [theme$1.palette, filteredProps]);
|
|
1493
|
+
var _useMemo2 = React.useMemo(function () {
|
|
1494
|
+
return getButtonCursor(disabled, loading);
|
|
1495
|
+
}, [disabled, loading]),
|
|
1496
|
+
cursor = _useMemo2.cursor,
|
|
1497
|
+
events = _useMemo2.events;
|
|
1498
|
+
var dripColor = React.useMemo(function () {
|
|
1499
|
+
return getButtonDripColor(theme$1.palette, filteredProps);
|
|
1500
|
+
}, [theme$1.palette, filteredProps]);
|
|
1501
|
+
|
|
1502
|
+
/* istanbul ignore next */
|
|
1503
|
+
var dripCompletedHandle = function dripCompletedHandle() {
|
|
1504
|
+
setDripShow(false);
|
|
1505
|
+
setDripX(0);
|
|
1506
|
+
setDripY(0);
|
|
1507
|
+
};
|
|
1508
|
+
var createRipple = function createRipple(event) {
|
|
1509
|
+
var button = buttonRef.current;
|
|
1510
|
+
if (!button) return;
|
|
1511
|
+
var rect = button.getBoundingClientRect();
|
|
1512
|
+
var size = Math.max(rect.width, rect.height);
|
|
1513
|
+
var x = event.clientX - rect.left - size / 2;
|
|
1514
|
+
var y = event.clientY - rect.top - size / 2;
|
|
1515
|
+
var rippleCount = 1; // number of rings
|
|
1516
|
+
var rippleDelay = 500; // ms between each ripple
|
|
1517
|
+
var _loop = function _loop() {
|
|
1518
|
+
var ripple = document.createElement('span');
|
|
1519
|
+
Object.assign(ripple.style, {
|
|
1520
|
+
position: 'absolute',
|
|
1521
|
+
borderRadius: '50%',
|
|
1522
|
+
backgroundColor: rippleColor,
|
|
1523
|
+
width: "".concat(size, "px"),
|
|
1524
|
+
height: "".concat(size, "px"),
|
|
1525
|
+
left: "".concat(x, "px"),
|
|
1526
|
+
top: "".concat(y, "px"),
|
|
1527
|
+
pointerEvents: 'none',
|
|
1528
|
+
transform: 'scale(0)',
|
|
1529
|
+
opacity: '1',
|
|
1530
|
+
transition: "transform 600ms ease-out ".concat(i * rippleDelay, "ms, opacity 600ms ease-out ").concat(i * rippleDelay, "ms"),
|
|
1531
|
+
zIndex: 1
|
|
1532
|
+
});
|
|
1533
|
+
button.appendChild(ripple);
|
|
1534
|
+
|
|
1535
|
+
// Force reflow to start transition
|
|
1536
|
+
window.getComputedStyle(ripple).opacity;
|
|
1537
|
+
ripple.style.transform = 'scale(2.5)';
|
|
1538
|
+
ripple.style.opacity = '0';
|
|
1539
|
+
ripple.addEventListener('transitionend', function () {
|
|
1540
|
+
ripple.remove();
|
|
1541
|
+
});
|
|
1542
|
+
};
|
|
1543
|
+
for (var i = 0; i < rippleCount; i++) {
|
|
1544
|
+
_loop();
|
|
1545
|
+
}
|
|
1546
|
+
};
|
|
1547
|
+
var clickHandler = function clickHandler(event) {
|
|
1548
|
+
if (disabled || loading) return;
|
|
1549
|
+
var showDrip = !shadow && !ghost && effect;
|
|
1550
|
+
/* istanbul ignore next */
|
|
1551
|
+
if (showDrip && buttonRef.current) {
|
|
1552
|
+
var rect = buttonRef.current.getBoundingClientRect();
|
|
1553
|
+
setDripShow(true);
|
|
1554
|
+
setDripX(event.clientX - rect.left);
|
|
1555
|
+
setDripY(event.clientY - rect.top);
|
|
1556
|
+
}
|
|
1557
|
+
if (shadow) {
|
|
1558
|
+
createRipple(event);
|
|
1559
|
+
}
|
|
1560
|
+
onClick && onClick(event);
|
|
1561
|
+
};
|
|
1562
|
+
var childrenWithIcon = React.useMemo(function () {
|
|
1563
|
+
return getButtonChildrenWithIcon(auto, children, {
|
|
1564
|
+
icon: icon,
|
|
1565
|
+
iconRight: iconRight
|
|
1566
|
+
});
|
|
1567
|
+
}, [auto, children, icon, iconRight]);
|
|
1568
|
+
var paddingLeft = auto ? SCALES.pl(1.15) : SCALES.pl(1.375),
|
|
1569
|
+
paddingRight = auto ? SCALES.pr(1.15) : SCALES.pr(1.375);
|
|
1570
|
+
|
|
1571
|
+
// If shadow provided is string then value other default
|
|
1572
|
+
var btnShadow = typeof shadow === 'string' ? shadow : shadow ? theme$1.shadows.level.z2 : 'none';
|
|
1573
|
+
return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
1574
|
+
children: [to ? /*#__PURE__*/jsxRuntime.jsxs("a", _objectSpread2(_objectSpread2({
|
|
1575
|
+
href: to
|
|
1576
|
+
}, props), {}, {
|
|
1577
|
+
className: _JSXStyle.dynamic([["612376042", [SCALES.height(2.5), round ? '50%' : theme$1.layout.radius, SCALES.font(0.875), color, bg, shadow ? 'transparent' : border, cursor !== null && cursor !== void 0 ? cursor : 'pointer', events, shadow ? btnShadow : 'none', SCALES.pl(0.727), SCALES.height(2.5), color, bg, auto ? 'min-content' : SCALES.width(10.5), auto ? 'auto' : 'initial', SCALES.height(2.5), SCALES.pt(0), paddingRight, SCALES.pb(0), paddingLeft, SCALES.mt(0), SCALES.mr(0), SCALES.mb(0), SCALES.ml(0), hover.color, hover.color, hover.bg, hover.border, cursor, events, btnShadow, shadow ? '-1px' : '0px']]]) + " " + (props && props.className != null && props.className || theme.useClasses('btn', 'btn-link', className) || ""),
|
|
1578
|
+
children: [loading && /*#__PURE__*/jsxRuntime.jsx(ButtonLoading, {
|
|
1579
|
+
color: color
|
|
1580
|
+
}), childrenWithIcon]
|
|
1581
|
+
})) : /*#__PURE__*/jsxRuntime.jsxs("button", _objectSpread2(_objectSpread2({
|
|
1582
|
+
ref: buttonRef,
|
|
1583
|
+
type: type,
|
|
1584
|
+
disabled: disabled,
|
|
1585
|
+
onClick: clickHandler
|
|
1586
|
+
}, props), {}, {
|
|
1587
|
+
className: _JSXStyle.dynamic([["612376042", [SCALES.height(2.5), round ? '50%' : theme$1.layout.radius, SCALES.font(0.875), color, bg, shadow ? 'transparent' : border, cursor !== null && cursor !== void 0 ? cursor : 'pointer', events, shadow ? btnShadow : 'none', SCALES.pl(0.727), SCALES.height(2.5), color, bg, auto ? 'min-content' : SCALES.width(10.5), auto ? 'auto' : 'initial', SCALES.height(2.5), SCALES.pt(0), paddingRight, SCALES.pb(0), paddingLeft, SCALES.mt(0), SCALES.mr(0), SCALES.mb(0), SCALES.ml(0), hover.color, hover.color, hover.bg, hover.border, cursor, events, btnShadow, shadow ? '-1px' : '0px']]]) + " " + (props && props.className != null && props.className || theme.useClasses('btn', className) || ""),
|
|
1588
|
+
children: [loading && /*#__PURE__*/jsxRuntime.jsx(ButtonLoading, {
|
|
1589
|
+
color: color
|
|
1590
|
+
}), childrenWithIcon, dripShow && /*#__PURE__*/jsxRuntime.jsx(ButtonDrip, {
|
|
1591
|
+
x: dripX,
|
|
1592
|
+
y: dripY,
|
|
1593
|
+
color: dripColor,
|
|
1594
|
+
onCompleted: dripCompletedHandle
|
|
1595
|
+
})]
|
|
1596
|
+
})), /*#__PURE__*/jsxRuntime.jsx(_JSXStyle, {
|
|
1597
|
+
id: "612376042",
|
|
1598
|
+
dynamic: [SCALES.height(2.5), round ? '50%' : theme$1.layout.radius, SCALES.font(0.875), color, bg, shadow ? 'transparent' : border, cursor !== null && cursor !== void 0 ? cursor : 'pointer', events, shadow ? btnShadow : 'none', SCALES.pl(0.727), SCALES.height(2.5), color, bg, auto ? 'min-content' : SCALES.width(10.5), auto ? 'auto' : 'initial', SCALES.height(2.5), SCALES.pt(0), paddingRight, SCALES.pb(0), paddingLeft, SCALES.mt(0), SCALES.mr(0), SCALES.mb(0), SCALES.ml(0), hover.color, hover.color, hover.bg, hover.border, cursor, events, btnShadow, shadow ? '-1px' : '0px'],
|
|
1599
|
+
children: ".btn.__jsx-style-dynamic-selector{box-sizing:border-box;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;line-height:".concat(SCALES.height(2.5), ";border-radius:").concat(round ? '50%' : theme$1.layout.radius, ";font-weight:400;font-size:").concat(SCALES.font(0.875), ";-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;outline:none;text-transform:capitalize;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;text-align:center;white-space:nowrap;-webkit-transition:background-color 200ms ease 0ms,box-shadow 200ms ease 0ms, border 200ms ease 0ms,color 200ms ease 0ms;transition:background-color 200ms ease 0ms,box-shadow 200ms ease 0ms, border 200ms ease 0ms,color 200ms ease 0ms;position:relative;overflow:hidden;color:").concat(color, ";background-color:").concat(bg, ";border:1px solid ").concat(shadow ? 'transparent' : border, ";cursor:").concat(cursor !== null && cursor !== void 0 ? cursor : 'pointer', ";pointer-events:").concat(events, ";box-shadow:").concat(shadow ? btnShadow : 'none', ";--helpdice-ui-button-icon-padding:").concat(SCALES.pl(0.727), ";--helpdice-ui-button-height:").concat(SCALES.height(2.5), ";--helpdice-ui-button-color:").concat(color, ";--helpdice-ui-button-bg:").concat(bg, ";min-width:").concat(auto ? 'min-content' : SCALES.width(10.5), ";width:").concat(auto ? 'auto' : 'initial', ";height:").concat(SCALES.height(2.5), ";padding:").concat(SCALES.pt(0), " ").concat(paddingRight, " ").concat(SCALES.pb(0), " ").concat(paddingLeft, ";margin:").concat(SCALES.mt(0), " ").concat(SCALES.mr(0), " ").concat(SCALES.mb(0), " ").concat(SCALES.ml(0), ";}.btn.__jsx-style-dynamic-selector:hover,.btn.__jsx-style-dynamic-selector:focus{color:").concat(hover.color, ";--helpdice-ui-button-color:").concat(hover.color, ";background-color:").concat(hover.bg, ";border-color:").concat(hover.border, ";cursor:").concat(cursor, ";pointer-events:").concat(events, ";box-shadow:").concat(btnShadow, ";}.btn-link.__jsx-style-dynamic-selector{-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}.btn.__jsx-style-dynamic-selector .text{position:relative;z-index:1;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-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;text-align:center;line-height:inherit;top:-1px;}.btn.__jsx-style-dynamic-selector .text p,.btn.__jsx-style-dynamic-selector .text pre,.btn.__jsx-style-dynamic-selector .text div{margin:0;}.ripple.__jsx-style-dynamic-selector{position:absolute;border-radius:50%;-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0);-webkit-animation:ripple-animation-__jsx-style-dynamic-selector 600ms ease-out;animation:ripple-animation-__jsx-style-dynamic-selector 600ms ease-out;background-color:rgba(0,0,0,0.3);pointer-events:none;z-index:1;}@-webkit-keyframes ripple-animation-__jsx-style-dynamic-selector{to{-webkit-transform:scale(2.5);-ms-transform:scale(2.5);transform:scale(2.5);opacity:0;}}@keyframes ripple-animation-__jsx-style-dynamic-selector{to{-webkit-transform:scale(2.5);-ms-transform:scale(2.5);transform:scale(2.5);opacity:0;}}")
|
|
1600
|
+
})]
|
|
1601
|
+
});
|
|
1602
|
+
});
|
|
1603
|
+
ButtonComponent.displayName = 'Button';
|
|
1604
|
+
var Button = withScale(ButtonComponent);
|
|
1605
|
+
|
|
1606
|
+
var CompactButton = function CompactButton(props) {
|
|
1607
|
+
// const theme = useTheme();
|
|
1608
|
+
return /*#__PURE__*/jsxRuntime.jsx(Button, _objectSpread2(_objectSpread2({
|
|
1609
|
+
scale: 2 / 3,
|
|
1610
|
+
px: 0.6
|
|
1611
|
+
}, _objectSpread2({
|
|
1612
|
+
auto: true
|
|
1613
|
+
}, props)), {}, {
|
|
1614
|
+
children: props.children
|
|
1615
|
+
}));
|
|
1616
|
+
};
|
|
1617
|
+
var IconButton = /*#__PURE__*/React.memo(CompactButton);
|
|
1618
|
+
|
|
1619
|
+
var SmallButton = function SmallButton(props) {
|
|
1620
|
+
// const theme = useTheme();
|
|
1621
|
+
return /*#__PURE__*/jsxRuntime.jsx(Button, _objectSpread2(_objectSpread2({
|
|
1622
|
+
auto: true,
|
|
1623
|
+
scale: 2 / 3,
|
|
1624
|
+
px: 0.6
|
|
1625
|
+
}, props), {}, {
|
|
1626
|
+
children: props.children
|
|
1627
|
+
}));
|
|
1628
|
+
};
|
|
1629
|
+
var SmallButton$1 = /*#__PURE__*/React.memo(SmallButton);
|
|
1630
|
+
|
|
1631
|
+
/* "use client" */
|
|
1632
|
+
|
|
1633
|
+
Button.Icon = IconButton;
|
|
1634
|
+
Button.Small = SmallButton$1;
|
|
1635
|
+
|
|
989
1636
|
var Expandable = function Expandable(_ref) {
|
|
990
1637
|
var children = _ref.children,
|
|
991
1638
|
_ref$collapsedHeight = _ref.collapsedHeight,
|