@helpdice/ui 2.5.3 → 2.5.8-beta.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.
Files changed (48) hide show
  1. package/dist/auto-complete/index.js +913 -102
  2. package/dist/avatar/index.js +11 -9
  3. package/dist/button/button.icon.d.ts +0 -1
  4. package/dist/button/button.small.d.ts +0 -1
  5. package/dist/button/index.js +7 -9
  6. package/dist/carousal/index.js +7 -9
  7. package/dist/container/index.js +7 -9
  8. package/dist/copy-to-clipboard/index.js +7 -9
  9. package/dist/index.js +3047 -2977
  10. package/dist/input/index.js +906 -47
  11. package/dist/modal/index.js +5 -5
  12. package/dist/pagination/index.js +6 -6
  13. package/dist/placeholder/index.js +16 -11
  14. package/dist/select/index.js +912 -14
  15. package/dist/select/select.d.ts +2 -0
  16. package/dist/table/index.js +21629 -21561
  17. package/dist/table/table-body.d.ts +1 -2
  18. package/dist/table/table.d.ts +1 -0
  19. package/dist/text/index.js +16 -11
  20. package/dist/text/text.d.ts +3 -0
  21. package/dist/textarea/index.js +881 -7
  22. package/dist/textarea/textarea.d.ts +3 -0
  23. package/dist/tooltip/index.d.ts +6 -1
  24. package/dist/tooltip/index.js +12 -0
  25. package/dist/tooltip/tooltip-small.d.ts +4 -0
  26. package/dist/user/index.js +11 -9
  27. package/esm/avatar/avatar.js +8 -6
  28. package/esm/button/button.icon.d.ts +0 -1
  29. package/esm/button/button.js +5 -5
  30. package/esm/button/button.small.d.ts +0 -1
  31. package/esm/button/button.small.js +2 -4
  32. package/esm/input/input-field.js +11 -9
  33. package/esm/pagination/pagination-item.js +6 -6
  34. package/esm/select/select.d.ts +2 -0
  35. package/esm/select/select.js +15 -2
  36. package/esm/table/table-body.d.ts +1 -2
  37. package/esm/table/table-body.js +16 -11
  38. package/esm/table/table.d.ts +1 -0
  39. package/esm/table/table.js +45 -25
  40. package/esm/text/text.d.ts +3 -0
  41. package/esm/text/text.js +9 -2
  42. package/esm/textarea/textarea.d.ts +3 -0
  43. package/esm/textarea/textarea.js +19 -2
  44. package/esm/tooltip/index.d.ts +6 -1
  45. package/esm/tooltip/index.js +2 -0
  46. package/esm/tooltip/tooltip-small.d.ts +4 -0
  47. package/esm/tooltip/tooltip-small.js +12 -0
  48. package/package.json +2 -2
@@ -810,45 +810,13 @@ var InputIconClear = function InputIconClear(_ref) {
810
810
  };
811
811
  var MemoInputIconClear = /*#__PURE__*/React.memo(InputIconClear);
812
812
 
813
- var getColors = function getColors(palette, status) {
814
- var colors = {
815
- "default": {
816
- color: palette.foreground,
817
- borderColor: palette.border,
818
- hoverBorder: palette.accents_5
819
- },
820
- secondary: {
821
- color: palette.foreground,
822
- borderColor: palette.secondary,
823
- hoverBorder: palette.secondary
824
- },
825
- success: {
826
- color: palette.foreground,
827
- borderColor: palette.successLight,
828
- hoverBorder: palette.success
829
- },
830
- warning: {
831
- color: palette.foreground,
832
- borderColor: palette.warningLight,
833
- hoverBorder: palette.warning
834
- },
835
- error: {
836
- color: palette.error,
837
- borderColor: palette.error,
838
- hoverBorder: palette.errorDark
839
- }
840
- };
841
- if (!status) return colors["default"];
842
- return colors[status];
843
- };
844
-
845
813
  /* "use client" */
846
814
 
847
815
  var ScalePropKeys = ['width', 'height', 'padding', 'margin', 'w', 'h', 'paddingLeft', 'paddingRight', 'paddingTop', 'paddingBottom', 'pl', 'pr', 'pt', 'pb', 'marginLeft', 'marginRight', 'marginTop', 'marginBottom', 'ml', 'mr', 'mt', 'mb', 'px', 'py', 'mx', 'my', 'font', 'unit', 'scale'];
848
816
  var defaultDynamicLayoutPipe = function defaultDynamicLayoutPipe(scale1x) {
849
817
  return "".concat(scale1x);
850
818
  };
851
- var defaultContext = {
819
+ var defaultContext$1 = {
852
820
  getScaleProps: function getScaleProps() {
853
821
  return undefined;
854
822
  },
@@ -874,7 +842,7 @@ var defaultContext = {
874
842
  },
875
843
  unit: '16px'
876
844
  };
877
- var ScaleContext = /*#__PURE__*/React.createContext(defaultContext);
845
+ var ScaleContext = /*#__PURE__*/React.createContext(defaultContext$1);
878
846
  var useScale = function useScale() {
879
847
  return React.useContext(ScaleContext);
880
848
  };
@@ -931,7 +899,7 @@ var generateGetAllScaleProps = function generateGetAllScaleProps(props) {
931
899
  return getAllScaleProps;
932
900
  };
933
901
 
934
- var _excluded$4 = ["children"];
902
+ var _excluded$9 = ["children"];
935
903
  var reduceScaleCoefficient = function reduceScaleCoefficient(scale) {
936
904
  if (scale === 1) return scale;
937
905
  var diff = Math.abs((scale - 1) / 2);
@@ -941,7 +909,7 @@ var withScale = function withScale(Render) {
941
909
  var ScaleFC = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
942
910
  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;
943
911
  var children = _ref.children,
944
- props = _objectWithoutProperties(_ref, _excluded$4);
912
+ props = _objectWithoutProperties(_ref, _excluded$9);
945
913
  var _useTheme = theme.useTheme(),
946
914
  layout = _useTheme.layout;
947
915
  var paddingLeft = props.paddingLeft,
@@ -1024,6 +992,881 @@ var withScale = function withScale(Render) {
1024
992
  return ScaleFC;
1025
993
  };
1026
994
 
995
+ var _excluded$8 = ["children", "tag", "className", "color"];
996
+ var getTypeColor = function getTypeColor(type, palette) {
997
+ var colors = {
998
+ "default": 'inherit',
999
+ secondary: palette.secondary,
1000
+ success: palette.success,
1001
+ warning: palette.warning,
1002
+ error: palette.error
1003
+ };
1004
+ return colors[type] || colors["default"];
1005
+ };
1006
+ var TextChild = function TextChild(_ref) {
1007
+ var children = _ref.children,
1008
+ tag = _ref.tag,
1009
+ _ref$className = _ref.className,
1010
+ className = _ref$className === void 0 ? '' : _ref$className,
1011
+ _ref$color = _ref.color,
1012
+ color = _ref$color === void 0 ? 'default' : _ref$color,
1013
+ props = _objectWithoutProperties(_ref, _excluded$8);
1014
+ var Component = tag;
1015
+ var theme$1 = theme.useTheme();
1016
+ var _useScale = useScale(),
1017
+ SCALES = _useScale.SCALES,
1018
+ getScaleProps = _useScale.getScaleProps;
1019
+ var font = getScaleProps('font');
1020
+ var mx = getScaleProps(['margin', 'marginLeft', 'marginRight', 'mx', 'ml', 'mr']);
1021
+ var my = getScaleProps(['margin', 'marginTop', 'marginBottom', 'my', 'mt', 'mb']);
1022
+ var px = getScaleProps(['padding', 'paddingLeft', 'paddingRight', 'pl', 'pr', 'px']);
1023
+ var py = getScaleProps(['padding', 'paddingTop', 'paddingBottom', 'pt', 'pb', 'py']);
1024
+ var _color = React.useMemo(function () {
1025
+ return getTypeColor(color, theme$1.palette);
1026
+ }, [color, theme$1.palette]);
1027
+ var classNames = React.useMemo(function () {
1028
+ var keys = [{
1029
+ value: mx,
1030
+ className: 'mx'
1031
+ }, {
1032
+ value: my,
1033
+ className: 'my'
1034
+ }, {
1035
+ value: px,
1036
+ className: 'px'
1037
+ }, {
1038
+ value: py,
1039
+ className: 'py'
1040
+ }, {
1041
+ value: font,
1042
+ className: 'font'
1043
+ }];
1044
+ var scaleClassNames = keys.reduce(function (pre, next) {
1045
+ if (typeof next.value === 'undefined') return pre;
1046
+ return "".concat(pre, " ").concat(next.className);
1047
+ }, '');
1048
+ return "".concat(scaleClassNames, " ").concat(className).trim();
1049
+ }, [mx, my, px, py, font, className]);
1050
+ return /*#__PURE__*/React.createElement(Component, _extends({}, props, {
1051
+ className: _JSXStyle.dynamic([["2277774325", [tag, _color, SCALES.width(1, 'auto'), SCALES.height(1, 'auto'), SCALES.font(1, 'inherit'), SCALES.ml(0, 'revert'), SCALES.mr(0, 'revert'), SCALES.mt(0, 'revert'), SCALES.mb(0, 'revert'), SCALES.pl(0, 'revert'), SCALES.pr(0, 'revert'), SCALES.pt(0, 'revert'), SCALES.pb(0, 'revert')]]]) + " " + (props && props.className != null && props.className || classNames || "")
1052
+ }), children, /*#__PURE__*/React.createElement(_JSXStyle, {
1053
+ id: "2277774325",
1054
+ dynamic: [tag, _color, SCALES.width(1, 'auto'), SCALES.height(1, 'auto'), SCALES.font(1, 'inherit'), SCALES.ml(0, 'revert'), SCALES.mr(0, 'revert'), SCALES.mt(0, 'revert'), SCALES.mb(0, 'revert'), SCALES.pl(0, 'revert'), SCALES.pr(0, 'revert'), SCALES.pt(0, 'revert'), SCALES.pb(0, 'revert')]
1055
+ }, "".concat(tag, ".__jsx-style-dynamic-selector{color:").concat(_color, ";width:").concat(SCALES.width(1, 'auto'), ";height:").concat(SCALES.height(1, 'auto'), ";}.font.__jsx-style-dynamic-selector{font-size:").concat(SCALES.font(1, 'inherit'), ";}.mx.__jsx-style-dynamic-selector{margin-left:").concat(SCALES.ml(0, 'revert'), ";margin-right:").concat(SCALES.mr(0, 'revert'), ";}.my.__jsx-style-dynamic-selector{margin-top:").concat(SCALES.mt(0, 'revert'), ";margin-bottom:").concat(SCALES.mb(0, 'revert'), ";}.px.__jsx-style-dynamic-selector{padding-left:").concat(SCALES.pl(0, 'revert'), ";padding-right:").concat(SCALES.pr(0, 'revert'), ";}.py.__jsx-style-dynamic-selector{padding-top:").concat(SCALES.pt(0, 'revert'), ";padding-bottom:").concat(SCALES.pb(0, 'revert'), ";}.no-wrap.__jsx-style-dynamic-selector{white-space:nowrap;}")));
1056
+ };
1057
+ TextChild.displayName = 'TextChild';
1058
+
1059
+ var ButtonDrip = function ButtonDrip(_ref) {
1060
+ var _ref$x = _ref.x,
1061
+ x = _ref$x === void 0 ? 0 : _ref$x,
1062
+ _ref$y = _ref.y,
1063
+ y = _ref$y === void 0 ? 0 : _ref$y,
1064
+ color = _ref.color,
1065
+ onCompleted = _ref.onCompleted;
1066
+ var dripRef = React.useRef(null);
1067
+ /* istanbul ignore next */
1068
+ var top = Number.isNaN(+y) ? 0 : y - 10;
1069
+ /* istanbul ignore next */
1070
+ var left = Number.isNaN(+x) ? 0 : x - 10;
1071
+ React.useEffect(function () {
1072
+ /* istanbul ignore next */
1073
+ if (!dripRef.current) return;
1074
+ dripRef.current.addEventListener('animationend', onCompleted);
1075
+ return function () {
1076
+ /* istanbul ignore next */
1077
+ if (!dripRef.current) return;
1078
+ dripRef.current.removeEventListener('animationend', onCompleted);
1079
+ };
1080
+ });
1081
+ return /*#__PURE__*/React.createElement("div", {
1082
+ ref: dripRef,
1083
+ className: "jsx-3424889537" + " " + "drip"
1084
+ }, /*#__PURE__*/React.createElement("svg", {
1085
+ width: "20",
1086
+ height: "20",
1087
+ viewBox: "0 0 20 20",
1088
+ style: {
1089
+ top: top,
1090
+ left: left
1091
+ },
1092
+ className: "jsx-3424889537"
1093
+ }, /*#__PURE__*/React.createElement("g", {
1094
+ stroke: "none",
1095
+ strokeWidth: "1",
1096
+ fill: "none",
1097
+ fillRule: "evenodd",
1098
+ className: "jsx-3424889537"
1099
+ }, /*#__PURE__*/React.createElement("g", {
1100
+ fill: color,
1101
+ className: "jsx-3424889537"
1102
+ }, /*#__PURE__*/React.createElement("rect", {
1103
+ width: "100%",
1104
+ height: "100%",
1105
+ rx: "10",
1106
+ className: "jsx-3424889537"
1107
+ })))), /*#__PURE__*/React.createElement(_JSXStyle, {
1108
+ id: "3424889537"
1109
+ }, ".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;}}"));
1110
+ };
1111
+ ButtonDrip.displayName = 'ButtonDrip';
1112
+
1113
+ var _excluded$7 = ["children", "type", "color", "className", "spaceRatio"];
1114
+ var getIconBgColor = function getIconBgColor(type, palette, color) {
1115
+ var colors = {
1116
+ "default": palette.accents_6,
1117
+ secondary: palette.secondary,
1118
+ success: palette.success,
1119
+ warning: palette.warning,
1120
+ error: palette.error
1121
+ };
1122
+ return color ? color : colors[type];
1123
+ };
1124
+ var LoadingComponent = function LoadingComponent(_ref) {
1125
+ var children = _ref.children,
1126
+ _ref$type = _ref.type,
1127
+ type = _ref$type === void 0 ? 'default' : _ref$type,
1128
+ color = _ref.color,
1129
+ _ref$className = _ref.className,
1130
+ className = _ref$className === void 0 ? '' : _ref$className,
1131
+ _ref$spaceRatio = _ref.spaceRatio,
1132
+ spaceRatio = _ref$spaceRatio === void 0 ? 1 : _ref$spaceRatio,
1133
+ props = _objectWithoutProperties(_ref, _excluded$7);
1134
+ var theme$1 = theme.useTheme();
1135
+ var _useScale = useScale(),
1136
+ SCALES = _useScale.SCALES;
1137
+ var classes = theme.useClasses('loading-container', className);
1138
+ var bgColor = React.useMemo(function () {
1139
+ return getIconBgColor(type, theme$1.palette, color);
1140
+ }, [type, theme$1.palette, color]);
1141
+ return /*#__PURE__*/React.createElement("div", _extends({}, props, {
1142
+ 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 || "")
1143
+ }), /*#__PURE__*/React.createElement("span", {
1144
+ 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"
1145
+ }, children && /*#__PURE__*/React.createElement("label", {
1146
+ 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]]])
1147
+ }, children), /*#__PURE__*/React.createElement("i", {
1148
+ 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]]])
1149
+ }), /*#__PURE__*/React.createElement("i", {
1150
+ 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]]])
1151
+ }), /*#__PURE__*/React.createElement("i", {
1152
+ 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]]])
1153
+ })), /*#__PURE__*/React.createElement(_JSXStyle, {
1154
+ id: "2201634259",
1155
+ 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]
1156
+ }, ".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;}}")));
1157
+ };
1158
+ LoadingComponent.displayName = 'Loading';
1159
+ var Loading = withScale(LoadingComponent);
1160
+
1161
+ var ButtonLoading = function ButtonLoading(_ref) {
1162
+ var color = _ref.color;
1163
+ return /*#__PURE__*/React.createElement("div", {
1164
+ className: "jsx-212623367" + " " + "btn-loading"
1165
+ }, /*#__PURE__*/React.createElement(Loading, {
1166
+ color: color
1167
+ }), /*#__PURE__*/React.createElement(_JSXStyle, {
1168
+ id: "212623367"
1169
+ }, ".btn-loading.jsx-212623367{position:absolute;top:0;left:0;right:0;bottom:0;z-index:2;background-color:var(--helpdice-ui-button-bg);}"));
1170
+ };
1171
+ ButtonLoading.displayName = 'ButtonLoading';
1172
+
1173
+ var _excluded$6 = ["isRight", "isSingle", "children", "className"];
1174
+ var ButtonIcon = function ButtonIcon(_ref) {
1175
+ var _ref$isRight = _ref.isRight,
1176
+ isRight = _ref$isRight === void 0 ? false : _ref$isRight,
1177
+ isSingle = _ref.isSingle,
1178
+ children = _ref.children,
1179
+ _ref$className = _ref.className,
1180
+ className = _ref$className === void 0 ? '' : _ref$className,
1181
+ props = _objectWithoutProperties(_ref, _excluded$6);
1182
+ var classes = theme.useClasses('icon', {
1183
+ right: isRight,
1184
+ single: isSingle
1185
+ }, className);
1186
+ return /*#__PURE__*/React.createElement("span", _extends({}, props, {
1187
+ className: "jsx-2467502931" + " " + (props && props.className != null && props.className || classes || "")
1188
+ }), children, /*#__PURE__*/React.createElement(_JSXStyle, {
1189
+ id: "2467502931"
1190
+ }, ".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;}"));
1191
+ };
1192
+ ButtonIcon.displayName = 'ButtonIcon';
1193
+
1194
+ var getButtonChildrenWithIcon = function getButtonChildrenWithIcon(auto, children, icons) {
1195
+ var icon = icons.icon,
1196
+ iconRight = icons.iconRight;
1197
+ var hasIcon = icon || iconRight;
1198
+ var isRight = Boolean(iconRight);
1199
+ var paddingForAutoMode = auto ? "calc(var(--helpdice-ui-button-height) / 2 + var(--helpdice-ui-button-icon-padding) * .5)" : 0;
1200
+ var classes = theme.useClasses('text', isRight ? 'right' : 'left');
1201
+ if (!hasIcon) return /*#__PURE__*/React.createElement("div", {
1202
+ className: "text"
1203
+ }, children);
1204
+ if (React.Children.count(children) === 0) {
1205
+ return /*#__PURE__*/React.createElement(ButtonIcon, {
1206
+ isRight: isRight,
1207
+ isSingle: true
1208
+ }, hasIcon);
1209
+ }
1210
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(ButtonIcon, {
1211
+ isRight: isRight
1212
+ }, hasIcon), /*#__PURE__*/React.createElement("div", {
1213
+ className: _JSXStyle.dynamic([["3568181479", [paddingForAutoMode, paddingForAutoMode]]]) + " " + (classes || "")
1214
+ }, children, /*#__PURE__*/React.createElement(_JSXStyle, {
1215
+ id: "3568181479",
1216
+ dynamic: [paddingForAutoMode, paddingForAutoMode]
1217
+ }, ".left.__jsx-style-dynamic-selector{padding-left:".concat(paddingForAutoMode, ";}.right.__jsx-style-dynamic-selector{padding-right:").concat(paddingForAutoMode, ";}"))));
1218
+ };
1219
+ var filterPropsWithGroup = function filterPropsWithGroup(props, config) {
1220
+ if (!config.isButtonGroup) return props;
1221
+ return _objectSpread2(_objectSpread2({}, props), {}, {
1222
+ auto: true,
1223
+ shadow: false,
1224
+ ghost: config.ghost || props.ghost,
1225
+ type: config.type || props.type,
1226
+ disabled: config.disabled || props.disabled
1227
+ });
1228
+ };
1229
+
1230
+ /* "use client" */
1231
+
1232
+ var defaultContext = {
1233
+ isButtonGroup: false,
1234
+ disabled: false
1235
+ };
1236
+ var ButtonGroupContext = /*#__PURE__*/React.createContext(defaultContext);
1237
+ var useButtonGroupContext = function useButtonGroupContext() {
1238
+ return React.useContext(ButtonGroupContext);
1239
+ };
1240
+
1241
+ var hexToRgb = function hexToRgb(color) {
1242
+ var fullReg = /^#?([a-f\d])([a-f\d])([a-f\d])$/i;
1243
+ var full = color.replace(fullReg, function (_, r, g, b) {
1244
+ return "".concat(r).concat(r).concat(g).concat(g).concat(b).concat(b);
1245
+ });
1246
+ var values = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(full);
1247
+ if (!values) {
1248
+ throw new Error("Helpdice UI: Unsupported ".concat(color, " color."));
1249
+ }
1250
+ return [Number.parseInt(values[1], 16), Number.parseInt(values[2], 16), Number.parseInt(values[3], 16)];
1251
+ };
1252
+ var colorToRgbValues = function colorToRgbValues(color) {
1253
+ if (color.charAt(0) === '#') return hexToRgb(color);
1254
+ var safeColor = color.replace(/ /g, '');
1255
+ var colorType = color.substr(0, 4);
1256
+ var regArray = safeColor.match(/\((.+)\)/);
1257
+ if (!colorType.startsWith('rgb') || !regArray) {
1258
+ console.log(color);
1259
+ throw new Error("Helpdice UI: Only support [\"RGB\", \"RGBA\", \"HEX\"] color.");
1260
+ }
1261
+ return regArray[1].split(',').map(function (str) {
1262
+ return Number.parseFloat(str);
1263
+ });
1264
+ };
1265
+ var addColorAlpha = function addColorAlpha(color, alpha) {
1266
+ if (!/^#|rgb|RGB/.test(color)) return color;
1267
+ var _colorToRgbValues = colorToRgbValues(color),
1268
+ _colorToRgbValues2 = _slicedToArray(_colorToRgbValues, 3),
1269
+ r = _colorToRgbValues2[0],
1270
+ g = _colorToRgbValues2[1],
1271
+ b = _colorToRgbValues2[2];
1272
+ var safeAlpha = alpha > 1 ? 1 : alpha < 0 ? 0 : alpha;
1273
+ return "rgba(".concat(r, ", ").concat(g, ", ").concat(b, ", ").concat(safeAlpha, ")");
1274
+ };
1275
+
1276
+ var getButtonGhostColors = function getButtonGhostColors(palette, _color) {
1277
+ var colors = {
1278
+ secondary: {
1279
+ bg: palette.background,
1280
+ border: palette.foreground,
1281
+ color: palette.foreground,
1282
+ ripple: ''
1283
+ },
1284
+ success: {
1285
+ bg: palette.background,
1286
+ border: palette.success,
1287
+ color: palette.success,
1288
+ ripple: ''
1289
+ },
1290
+ warning: {
1291
+ bg: palette.background,
1292
+ border: palette.warning,
1293
+ color: palette.warning,
1294
+ ripple: ''
1295
+ },
1296
+ error: {
1297
+ bg: palette.background,
1298
+ border: palette.error,
1299
+ color: palette.error,
1300
+ ripple: ''
1301
+ }
1302
+ };
1303
+ return colors[_color] || null;
1304
+ };
1305
+ var getButtonColors = function getButtonColors(palette, props) {
1306
+ var color = props.color,
1307
+ disabled = props.disabled,
1308
+ ghost = props.ghost;
1309
+ var colors = {
1310
+ "default": {
1311
+ bg: palette.background,
1312
+ border: palette.border,
1313
+ color: palette.accents_5,
1314
+ ripple: palette.accents_1
1315
+ },
1316
+ secondary: {
1317
+ bg: palette.foreground,
1318
+ border: palette.foreground,
1319
+ color: palette.background,
1320
+ ripple: palette.accents_1
1321
+ },
1322
+ success: {
1323
+ bg: palette.success,
1324
+ border: palette.success,
1325
+ color: '#fff',
1326
+ ripple: '#1f93ffff'
1327
+ },
1328
+ warning: {
1329
+ bg: palette.warning,
1330
+ border: palette.warning,
1331
+ color: '#fff',
1332
+ ripple: '#ffca29ff'
1333
+ },
1334
+ error: {
1335
+ bg: palette.error,
1336
+ border: palette.error,
1337
+ color: '#fff',
1338
+ ripple: '#ff5a55ff'
1339
+ },
1340
+ abort: {
1341
+ bg: 'transparent',
1342
+ border: 'transparent',
1343
+ color: palette.accents_5,
1344
+ ripple: palette.accents_1
1345
+ }
1346
+ };
1347
+ if (disabled) return {
1348
+ bg: palette.accents_1,
1349
+ border: palette.accents_2,
1350
+ color: '#ccc',
1351
+ ripple: ''
1352
+ };
1353
+
1354
+ /**
1355
+ * The '-light' type is the same color as the common type,
1356
+ * only hover's color is different.
1357
+ * e.g.
1358
+ * Color['success'] === Color['success-light']
1359
+ * Color['warning'] === Color['warning-light']
1360
+ */
1361
+ var withoutLightType = color === null || color === void 0 ? void 0 : color.replace('-light', '');
1362
+ var defaultColor = colors["default"];
1363
+ if (ghost) return getButtonGhostColors(palette, withoutLightType) || defaultColor;
1364
+ return colors[withoutLightType] || defaultColor;
1365
+ };
1366
+ var getButtonGhostHoverColors = function getButtonGhostHoverColors(palette, _color) {
1367
+ var colors = {
1368
+ secondary: {
1369
+ bg: palette.foreground,
1370
+ border: palette.background,
1371
+ color: palette.background
1372
+ },
1373
+ success: {
1374
+ bg: palette.success,
1375
+ border: palette.background,
1376
+ color: 'white'
1377
+ },
1378
+ warning: {
1379
+ bg: palette.warning,
1380
+ border: palette.background,
1381
+ color: 'white'
1382
+ },
1383
+ error: {
1384
+ bg: palette.error,
1385
+ border: palette.background,
1386
+ color: 'white'
1387
+ }
1388
+ };
1389
+ var withoutLightType = _color === null || _color === void 0 ? void 0 : _color.replace('-light', '');
1390
+ return colors[withoutLightType] || null;
1391
+ };
1392
+ var getButtonHoverColors = function getButtonHoverColors(palette, props) {
1393
+ var color = props.color,
1394
+ disabled = props.disabled,
1395
+ loading = props.loading,
1396
+ shadow = props.shadow,
1397
+ ghost = props.ghost;
1398
+ var defaultColor = getButtonColors(palette, props);
1399
+ var alphaBackground = addColorAlpha(defaultColor.bg, 0.85);
1400
+ var colors = {
1401
+ "default": {
1402
+ bg: palette.background,
1403
+ border: palette.foreground
1404
+ },
1405
+ secondary: {
1406
+ bg: palette.background,
1407
+ border: palette.foreground
1408
+ },
1409
+ success: {
1410
+ bg: palette.background,
1411
+ border: palette.success
1412
+ },
1413
+ warning: {
1414
+ bg: palette.background,
1415
+ border: palette.warning
1416
+ },
1417
+ error: {
1418
+ bg: palette.background,
1419
+ border: palette.error
1420
+ },
1421
+ abort: {
1422
+ bg: 'transparent',
1423
+ border: 'transparent',
1424
+ color: palette.accents_5
1425
+ },
1426
+ 'secondary-light': _objectSpread2(_objectSpread2({}, defaultColor), {}, {
1427
+ bg: alphaBackground
1428
+ }),
1429
+ 'success-light': _objectSpread2(_objectSpread2({}, defaultColor), {}, {
1430
+ bg: alphaBackground
1431
+ }),
1432
+ 'warning-light': _objectSpread2(_objectSpread2({}, defaultColor), {}, {
1433
+ bg: alphaBackground
1434
+ }),
1435
+ 'error-light': _objectSpread2(_objectSpread2({}, defaultColor), {}, {
1436
+ bg: alphaBackground
1437
+ })
1438
+ };
1439
+ if (disabled) return {
1440
+ bg: palette.accents_1,
1441
+ border: palette.accents_2,
1442
+ color: '#ccc'
1443
+ };
1444
+ if (loading) return _objectSpread2(_objectSpread2({}, defaultColor), {}, {
1445
+ color: 'transparent'
1446
+ });
1447
+ if (shadow) return defaultColor;
1448
+ var hoverColor = (ghost ? getButtonGhostHoverColors(palette, color) : colors[color]) || colors["default"];
1449
+ return _objectSpread2(_objectSpread2({}, hoverColor), {}, {
1450
+ color: hoverColor.color || hoverColor.border
1451
+ });
1452
+ };
1453
+ var getButtonCursor = function getButtonCursor(disabled, loading) {
1454
+ if (disabled) return {
1455
+ cursor: 'not-allowed',
1456
+ events: 'auto'
1457
+ };
1458
+ if (loading) return {
1459
+ cursor: 'default',
1460
+ events: 'none'
1461
+ };
1462
+ return {
1463
+ cursor: 'pointer',
1464
+ events: 'auto'
1465
+ };
1466
+ };
1467
+ var getButtonDripColor = function getButtonDripColor(palette, props) {
1468
+ var type = props.type;
1469
+ var isLightHover = type ? type.endsWith('light') : false;
1470
+ var hoverColors = getButtonHoverColors(palette, props);
1471
+ return isLightHover ? addColorAlpha(hoverColors.bg, 0.65) : addColorAlpha(palette.accents_2, 0.65);
1472
+ };
1473
+
1474
+ var _excluded$5 = ["children", "disabled", "color", "loading", "shadow", "ghost", "effect", "round", "relative", "replace", "a", "to", "onClick", "auto", "icon", "type", "iconRight", "className", "crossOrigin"];
1475
+ var ButtonComponent = /*#__PURE__*/React.forwardRef(function (btnProps, ref) {
1476
+ var theme$1 = theme.useTheme();
1477
+ // const navigate = useNavigate();
1478
+ var _useScale = useScale(),
1479
+ SCALES = _useScale.SCALES;
1480
+ var buttonRef = React.useRef(null);
1481
+ React.useImperativeHandle(ref, function () {
1482
+ return buttonRef.current;
1483
+ }); // Changed with !
1484
+
1485
+ var _useState = React.useState(false),
1486
+ _useState2 = _slicedToArray(_useState, 2),
1487
+ dripShow = _useState2[0],
1488
+ setDripShow = _useState2[1];
1489
+ var _useState3 = React.useState(0),
1490
+ _useState4 = _slicedToArray(_useState3, 2),
1491
+ dripX = _useState4[0],
1492
+ setDripX = _useState4[1];
1493
+ var _useState5 = React.useState(0),
1494
+ _useState6 = _slicedToArray(_useState5, 2),
1495
+ dripY = _useState6[0],
1496
+ setDripY = _useState6[1];
1497
+ var groupConfig = useButtonGroupContext();
1498
+ var filteredProps = filterPropsWithGroup(btnProps, groupConfig);
1499
+ /* eslint-disable @typescript-eslint/no-unused-vars */
1500
+ var children = filteredProps.children,
1501
+ _filteredProps$disabl = filteredProps.disabled,
1502
+ disabled = _filteredProps$disabl === void 0 ? false : _filteredProps$disabl;
1503
+ filteredProps.color;
1504
+ var _filteredProps$loadin = filteredProps.loading,
1505
+ loading = _filteredProps$loadin === void 0 ? false : _filteredProps$loadin,
1506
+ _filteredProps$shadow = filteredProps.shadow,
1507
+ shadow = _filteredProps$shadow === void 0 ? false : _filteredProps$shadow,
1508
+ _filteredProps$ghost = filteredProps.ghost,
1509
+ ghost = _filteredProps$ghost === void 0 ? false : _filteredProps$ghost,
1510
+ _filteredProps$effect = filteredProps.effect,
1511
+ effect = _filteredProps$effect === void 0 ? true : _filteredProps$effect,
1512
+ _filteredProps$round = filteredProps.round,
1513
+ round = _filteredProps$round === void 0 ? false : _filteredProps$round;
1514
+ filteredProps.relative;
1515
+ filteredProps.replace;
1516
+ filteredProps.a;
1517
+ var to = filteredProps.to,
1518
+ onClick = filteredProps.onClick,
1519
+ _filteredProps$auto = filteredProps.auto,
1520
+ auto = _filteredProps$auto === void 0 ? false : _filteredProps$auto,
1521
+ icon = filteredProps.icon,
1522
+ _filteredProps$type = filteredProps.type,
1523
+ type = _filteredProps$type === void 0 ? 'button' : _filteredProps$type,
1524
+ iconRight = filteredProps.iconRight,
1525
+ _filteredProps$classN = filteredProps.className,
1526
+ className = _filteredProps$classN === void 0 ? '' : _filteredProps$classN;
1527
+ filteredProps.crossOrigin;
1528
+ var props = _objectWithoutProperties(filteredProps, _excluded$5);
1529
+ /* eslint-enable @typescript-eslint/no-unused-vars */
1530
+
1531
+ var _useMemo = React.useMemo(function () {
1532
+ return getButtonColors(theme$1.palette, filteredProps);
1533
+ }, [theme$1.palette, filteredProps]),
1534
+ bg = _useMemo.bg,
1535
+ border = _useMemo.border,
1536
+ color = _useMemo.color,
1537
+ rippleColor = _useMemo.ripple;
1538
+ var hover = React.useMemo(function () {
1539
+ return getButtonHoverColors(theme$1.palette, filteredProps);
1540
+ }, [theme$1.palette, filteredProps]);
1541
+ var _useMemo2 = React.useMemo(function () {
1542
+ return getButtonCursor(disabled, loading);
1543
+ }, [disabled, loading]),
1544
+ cursor = _useMemo2.cursor,
1545
+ events = _useMemo2.events;
1546
+ var dripColor = React.useMemo(function () {
1547
+ return getButtonDripColor(theme$1.palette, filteredProps);
1548
+ }, [theme$1.palette, filteredProps]);
1549
+
1550
+ /* istanbul ignore next */
1551
+ var dripCompletedHandle = function dripCompletedHandle() {
1552
+ setDripShow(false);
1553
+ setDripX(0);
1554
+ setDripY(0);
1555
+ };
1556
+ var createRipple = function createRipple(event) {
1557
+ var button = buttonRef.current;
1558
+ if (!button) return;
1559
+ var rect = button.getBoundingClientRect();
1560
+ var size = Math.max(rect.width, rect.height);
1561
+ var x = event.clientX - rect.left - size / 2;
1562
+ var y = event.clientY - rect.top - size / 2;
1563
+ var rippleCount = 1; // number of rings
1564
+ var rippleDelay = 500; // ms between each ripple
1565
+ var _loop = function _loop() {
1566
+ var ripple = document.createElement('span');
1567
+ Object.assign(ripple.style, {
1568
+ position: 'absolute',
1569
+ borderRadius: '50%',
1570
+ backgroundColor: rippleColor,
1571
+ width: "".concat(size, "px"),
1572
+ height: "".concat(size, "px"),
1573
+ left: "".concat(x, "px"),
1574
+ top: "".concat(y, "px"),
1575
+ pointerEvents: 'none',
1576
+ transform: 'scale(0)',
1577
+ opacity: '1',
1578
+ transition: "transform 600ms ease-out ".concat(i * rippleDelay, "ms, opacity 600ms ease-out ").concat(i * rippleDelay, "ms"),
1579
+ zIndex: 1
1580
+ });
1581
+ button.appendChild(ripple);
1582
+
1583
+ // Force reflow to start transition
1584
+ window.getComputedStyle(ripple).opacity;
1585
+ ripple.style.transform = 'scale(2.5)';
1586
+ ripple.style.opacity = '0';
1587
+ ripple.addEventListener('transitionend', function () {
1588
+ ripple.remove();
1589
+ });
1590
+ };
1591
+ for (var i = 0; i < rippleCount; i++) {
1592
+ _loop();
1593
+ }
1594
+ };
1595
+ var clickHandler = function clickHandler(event) {
1596
+ if (disabled || loading) return;
1597
+ var showDrip = !shadow && !ghost && effect;
1598
+ /* istanbul ignore next */
1599
+ if (showDrip && buttonRef.current) {
1600
+ var rect = buttonRef.current.getBoundingClientRect();
1601
+ setDripShow(true);
1602
+ setDripX(event.clientX - rect.left);
1603
+ setDripY(event.clientY - rect.top);
1604
+ }
1605
+ if (shadow) {
1606
+ createRipple(event);
1607
+ }
1608
+ onClick && onClick(event);
1609
+ };
1610
+ var childrenWithIcon = React.useMemo(function () {
1611
+ return getButtonChildrenWithIcon(auto, children, {
1612
+ icon: icon,
1613
+ iconRight: iconRight
1614
+ });
1615
+ }, [auto, children, icon, iconRight]);
1616
+ var paddingLeft = auto ? SCALES.pl(1.15) : SCALES.pl(1.375),
1617
+ paddingRight = auto ? SCALES.pr(1.15) : SCALES.pr(1.375);
1618
+
1619
+ // If shadow provided is string then value other default
1620
+ var btnShadow = typeof shadow === 'string' ? shadow : shadow ? theme$1.shadows.level.z2 : 'none';
1621
+ return /*#__PURE__*/React.createElement(React.Fragment, null, to ? /*#__PURE__*/React.createElement("a", _extends({
1622
+ href: to
1623
+ }, props, {
1624
+ className: _JSXStyle.dynamic([["331518307", [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) || "")
1625
+ }), loading && /*#__PURE__*/React.createElement(ButtonLoading, {
1626
+ color: color
1627
+ }), childrenWithIcon) : /*#__PURE__*/React.createElement("button", _extends({
1628
+ ref: buttonRef,
1629
+ type: type,
1630
+ disabled: disabled,
1631
+ onClick: clickHandler
1632
+ }, props, {
1633
+ className: _JSXStyle.dynamic([["331518307", [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) || "")
1634
+ }), loading && /*#__PURE__*/React.createElement(ButtonLoading, {
1635
+ color: color
1636
+ }), childrenWithIcon, dripShow && /*#__PURE__*/React.createElement(ButtonDrip, {
1637
+ x: dripX,
1638
+ y: dripY,
1639
+ color: dripColor,
1640
+ onCompleted: dripCompletedHandle
1641
+ })), /*#__PURE__*/React.createElement(_JSXStyle, {
1642
+ id: "331518307",
1643
+ 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']
1644
+ }, ".btn.__jsx-style-dynamic-selector{box-sizing:border-box;display:inline-block;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{display:-webkit-box !important;display:-webkit-flex !important;display:-ms-flexbox !important;display:flex !important;-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;}}")));
1645
+ });
1646
+ ButtonComponent.displayName = 'Button';
1647
+ var Button = withScale(ButtonComponent);
1648
+
1649
+ // import { useTheme } from '@helpdice/theme';
1650
+
1651
+ var CompactButton = function CompactButton(_ref) {
1652
+ _ref.color;
1653
+ var children = _ref.children,
1654
+ iconRight = _ref.iconRight,
1655
+ icon = _ref.icon,
1656
+ _ref$scale = _ref.scale,
1657
+ scale = _ref$scale === void 0 ? 2 / 3 : _ref$scale,
1658
+ type = _ref.type,
1659
+ style = _ref.style,
1660
+ onClick = _ref.onClick,
1661
+ to = _ref.to;
1662
+ // const theme = useTheme();
1663
+ return /*#__PURE__*/React.createElement(Button, {
1664
+ to: to,
1665
+ icon: icon,
1666
+ style: style,
1667
+ type: type,
1668
+ onClick: onClick,
1669
+ auto: true,
1670
+ scale: scale,
1671
+ px: 0.6,
1672
+ iconRight: iconRight
1673
+ }, children);
1674
+ };
1675
+ var IconButton = /*#__PURE__*/React.memo(CompactButton);
1676
+
1677
+ // import { useTheme } from '@helpdice/theme';
1678
+
1679
+ var SmallButton = function SmallButton(_ref) {
1680
+ _ref.color;
1681
+ var children = _ref.children,
1682
+ iconRight = _ref.iconRight,
1683
+ icon = _ref.icon,
1684
+ _ref$scale = _ref.scale,
1685
+ scale = _ref$scale === void 0 ? 2 / 3 : _ref$scale,
1686
+ type = _ref.type,
1687
+ style = _ref.style,
1688
+ onClick = _ref.onClick,
1689
+ to = _ref.to;
1690
+ // const theme = useTheme();
1691
+ return /*#__PURE__*/React.createElement(Button, {
1692
+ to: to,
1693
+ icon: icon,
1694
+ style: style,
1695
+ type: type,
1696
+ onClick: onClick,
1697
+ auto: true,
1698
+ scale: scale,
1699
+ px: 0.6,
1700
+ iconRight: iconRight
1701
+ }, children);
1702
+ };
1703
+ var SmallButton$1 = /*#__PURE__*/React.memo(SmallButton);
1704
+
1705
+ /* "use client" */
1706
+
1707
+ Button.Icon = IconButton;
1708
+ Button.Small = SmallButton$1;
1709
+
1710
+ var _excluded$4 = ["h1", "h2", "h3", "h4", "h5", "h6", "p", "b", "small", "i", "span", "del", "em", "blockquote", "noWrap", "collapse", "children", "className", "display", "alignItems", "justify"];
1711
+ var _getModifierChild = function getModifierChild(tags, children) {
1712
+ if (!tags.length) return children;
1713
+ var nextTag = tags.slice(1, tags.length);
1714
+ return /*#__PURE__*/React.createElement(TextChild, {
1715
+ tag: tags[0]
1716
+ }, _getModifierChild(nextTag, children));
1717
+ };
1718
+ var TextComponent = function TextComponent(_ref) {
1719
+ var _ref$h = _ref.h1,
1720
+ h1 = _ref$h === void 0 ? false : _ref$h,
1721
+ _ref$h2 = _ref.h2,
1722
+ h2 = _ref$h2 === void 0 ? false : _ref$h2,
1723
+ _ref$h3 = _ref.h3,
1724
+ h3 = _ref$h3 === void 0 ? false : _ref$h3,
1725
+ _ref$h4 = _ref.h4,
1726
+ h4 = _ref$h4 === void 0 ? false : _ref$h4,
1727
+ _ref$h5 = _ref.h5,
1728
+ h5 = _ref$h5 === void 0 ? false : _ref$h5,
1729
+ _ref$h6 = _ref.h6,
1730
+ h6 = _ref$h6 === void 0 ? false : _ref$h6,
1731
+ _ref$p = _ref.p,
1732
+ p = _ref$p === void 0 ? false : _ref$p,
1733
+ _ref$b = _ref.b,
1734
+ b = _ref$b === void 0 ? false : _ref$b,
1735
+ _ref$small = _ref.small,
1736
+ small = _ref$small === void 0 ? false : _ref$small,
1737
+ _ref$i = _ref.i,
1738
+ i = _ref$i === void 0 ? false : _ref$i,
1739
+ _ref$span = _ref.span,
1740
+ span = _ref$span === void 0 ? false : _ref$span,
1741
+ _ref$del = _ref.del,
1742
+ del = _ref$del === void 0 ? false : _ref$del,
1743
+ _ref$em = _ref.em,
1744
+ em = _ref$em === void 0 ? false : _ref$em,
1745
+ _ref$blockquote = _ref.blockquote,
1746
+ blockquote = _ref$blockquote === void 0 ? false : _ref$blockquote,
1747
+ _ref$noWrap = _ref.noWrap,
1748
+ noWrap = _ref$noWrap === void 0 ? false : _ref$noWrap,
1749
+ _ref$collapse = _ref.collapse,
1750
+ collapse = _ref$collapse === void 0 ? 0 : _ref$collapse,
1751
+ children = _ref.children,
1752
+ _ref$className = _ref.className,
1753
+ className = _ref$className === void 0 ? '' : _ref$className,
1754
+ _ref$display = _ref.display,
1755
+ display = _ref$display === void 0 ? 'block' : _ref$display,
1756
+ alignItems = _ref.alignItems,
1757
+ justify = _ref.justify,
1758
+ props = _objectWithoutProperties(_ref, _excluded$4);
1759
+ var elements = {
1760
+ h1: h1,
1761
+ h2: h2,
1762
+ h3: h3,
1763
+ h4: h4,
1764
+ h5: h5,
1765
+ h6: h6,
1766
+ p: p,
1767
+ blockquote: blockquote
1768
+ };
1769
+ var inlineElements = {
1770
+ span: span,
1771
+ small: small,
1772
+ b: b,
1773
+ em: em,
1774
+ i: i,
1775
+ del: del
1776
+ };
1777
+ var names = Object.keys(elements).filter(function (name) {
1778
+ return elements[name];
1779
+ });
1780
+ var inlineNames = Object.keys(inlineElements).filter(function (name) {
1781
+ return inlineElements[name];
1782
+ });
1783
+
1784
+ /**
1785
+ * Render element "p" only if no element is found.
1786
+ * If there is only one modifier, just rendered one modifier element
1787
+ * e.g.
1788
+ * <Text /> => <p />
1789
+ * <Text em /> => <em />
1790
+ * <Text p em /> => <p><em>children</em></p>
1791
+ *
1792
+ */
1793
+
1794
+ var _useState = React.useState(false),
1795
+ _useState2 = _slicedToArray(_useState, 2),
1796
+ expand = _useState2[0],
1797
+ setExpand = _useState2[1];
1798
+ var tag = React.useMemo(function () {
1799
+ if (names[0]) return names[0];
1800
+ if (inlineNames[0]) return inlineNames[0];
1801
+ return 'p';
1802
+ }, [names, inlineNames]);
1803
+ var renderableChildElements = inlineNames.filter(function (name) {
1804
+ return name !== tag;
1805
+ });
1806
+ var modifers = React.useMemo(function () {
1807
+ if (!renderableChildElements.length) return children;
1808
+ return _getModifierChild(renderableChildElements, children);
1809
+ }, [renderableChildElements, children]);
1810
+ return /*#__PURE__*/React.createElement(TextChild, _extends({
1811
+ style: {
1812
+ textAlign: props.align,
1813
+ display: display,
1814
+ alignItems: alignItems,
1815
+ justifyContent: justify
1816
+ },
1817
+ className: "".concat(className, " ").concat(noWrap ? 'no-wrap' : ''),
1818
+ tag: tag
1819
+ }, props), typeof children === 'string' && collapse > 50 ? /*#__PURE__*/React.createElement(React.Fragment, null, expand ? modifers : (modifers === null || modifers === void 0 ? void 0 : modifers.toString().substring(0, collapse)) + '...', /*#__PURE__*/React.createElement(Button, {
1820
+ margin: 0,
1821
+ onClick: function onClick() {
1822
+ return setExpand(!expand);
1823
+ },
1824
+ style: {
1825
+ textTransform: 'lowercase'
1826
+ },
1827
+ effect: false,
1828
+ color: "abort",
1829
+ scale: 2 / 3,
1830
+ px: 0.2,
1831
+ py: 0,
1832
+ auto: true
1833
+ }, /*#__PURE__*/React.createElement("b", null, expand ? 'less' : 'more'))) : modifers);
1834
+ };
1835
+ TextComponent.displayName = 'Text';
1836
+ var Text = withScale(TextComponent);
1837
+
1838
+ var getColors = function getColors(palette, status) {
1839
+ var colors = {
1840
+ "default": {
1841
+ color: palette.foreground,
1842
+ borderColor: palette.border,
1843
+ hoverBorder: palette.accents_5
1844
+ },
1845
+ secondary: {
1846
+ color: palette.foreground,
1847
+ borderColor: palette.secondary,
1848
+ hoverBorder: palette.secondary
1849
+ },
1850
+ success: {
1851
+ color: palette.foreground,
1852
+ borderColor: palette.successLight,
1853
+ hoverBorder: palette.success
1854
+ },
1855
+ warning: {
1856
+ color: palette.foreground,
1857
+ borderColor: palette.warningLight,
1858
+ hoverBorder: palette.warning
1859
+ },
1860
+ error: {
1861
+ color: palette.error,
1862
+ borderColor: palette.error,
1863
+ hoverBorder: palette.errorDark
1864
+ }
1865
+ };
1866
+ if (!status) return colors["default"];
1867
+ return colors[status];
1868
+ };
1869
+
1027
1870
  var _excluded$3 = ["label", "labelRight", "error", "color", "helperText", "type", "icon", "variant", "iconRight", "iconClickable", "onIconClick", "initialValue", "onChange", "readOnly", "value", "onClearClick", "clearable", "className", "onBlur", "onFocus", "onEnter", "autoComplete", "placeholder", "children", "disabled", "fullWidth"];
1028
1871
  var simulateChangeEvent = function simulateChangeEvent(el, event) {
1029
1872
  return _objectSpread2(_objectSpread2({}, event), {}, {
@@ -1153,11 +1996,11 @@ var InputComponent = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
1153
1996
  var inputProps = _objectSpread2(_objectSpread2({}, props), controlledValue);
1154
1997
  var defaultWidth = fullWidth ? '100%' : 'initial';
1155
1998
  return /*#__PURE__*/React.createElement("div", {
1156
- className: _JSXStyle.dynamic([["2582554466", [SCALES.height(2.25), SCALES.font(0.875), SCALES.width(1, defaultWidth), SCALES.pt(0), SCALES.pr(0), SCALES.pb(0), SCALES.pl(0), SCALES.mt(0), SCALES.mr(0), SCALES.mb(0), SCALES.ml(0), SCALES.width(1, defaultWidth), variant === 'normal' ? theme$1.layout.radius : '', variant === 'none' ? '' : variant === 'line' ? "border-bottom: 1px solid ".concat(borderColor) : "border: 1px solid ".concat(borderColor), theme$1.palette.accents_1, theme$1.palette.accents_2, hoverBorder, SCALES.font(0.875), color, theme$1.palette.accents_3, theme$1.palette.background, color]]]) + " " + "with-label"
1999
+ className: _JSXStyle.dynamic([["1343268165", [SCALES.height(2.25), SCALES.font(0.875), SCALES.width(1, defaultWidth), SCALES.pt(0), SCALES.pr(0), SCALES.pb(0), SCALES.pl(0), SCALES.mt(0), SCALES.mr(0), SCALES.mb(0), SCALES.ml(0), SCALES.width(1, defaultWidth), variant === 'normal' ? theme$1.layout.radius : '', variant === 'none' ? '' : variant === 'line' ? "border-bottom: 1px solid ".concat(borderColor) : "border: 1px solid ".concat(borderColor), theme$1.palette.accents_1, theme$1.palette.accents_2, hoverBorder, SCALES.font(0.875), color, theme$1.palette.accents_3, theme$1.palette.background, color]]]) + " " + "with-label"
1157
2000
  }, children && /*#__PURE__*/React.createElement(InputBlockLabel, null, children), /*#__PURE__*/React.createElement("div", {
1158
- className: _JSXStyle.dynamic([["2582554466", [SCALES.height(2.25), SCALES.font(0.875), SCALES.width(1, defaultWidth), SCALES.pt(0), SCALES.pr(0), SCALES.pb(0), SCALES.pl(0), SCALES.mt(0), SCALES.mr(0), SCALES.mb(0), SCALES.ml(0), SCALES.width(1, defaultWidth), variant === 'normal' ? theme$1.layout.radius : '', variant === 'none' ? '' : variant === 'line' ? "border-bottom: 1px solid ".concat(borderColor) : "border: 1px solid ".concat(borderColor), theme$1.palette.accents_1, theme$1.palette.accents_2, hoverBorder, SCALES.font(0.875), color, theme$1.palette.accents_3, theme$1.palette.background, color]]]) + " " + (theme.useClasses('input-container', className) || "")
2001
+ className: _JSXStyle.dynamic([["1343268165", [SCALES.height(2.25), SCALES.font(0.875), SCALES.width(1, defaultWidth), SCALES.pt(0), SCALES.pr(0), SCALES.pb(0), SCALES.pl(0), SCALES.mt(0), SCALES.mr(0), SCALES.mb(0), SCALES.ml(0), SCALES.width(1, defaultWidth), variant === 'normal' ? theme$1.layout.radius : '', variant === 'none' ? '' : variant === 'line' ? "border-bottom: 1px solid ".concat(borderColor) : "border: 1px solid ".concat(borderColor), theme$1.palette.accents_1, theme$1.palette.accents_2, hoverBorder, SCALES.font(0.875), color, theme$1.palette.accents_3, theme$1.palette.background, color]]]) + " " + (theme.useClasses('input-container', className) || "")
1159
2002
  }, label && /*#__PURE__*/React.createElement(MemoInputLabel, null, label), /*#__PURE__*/React.createElement("div", {
1160
- className: _JSXStyle.dynamic([["2582554466", [SCALES.height(2.25), SCALES.font(0.875), SCALES.width(1, defaultWidth), SCALES.pt(0), SCALES.pr(0), SCALES.pb(0), SCALES.pl(0), SCALES.mt(0), SCALES.mr(0), SCALES.mb(0), SCALES.ml(0), SCALES.width(1, defaultWidth), variant === 'normal' ? theme$1.layout.radius : '', variant === 'none' ? '' : variant === 'line' ? "border-bottom: 1px solid ".concat(borderColor) : "border: 1px solid ".concat(borderColor), theme$1.palette.accents_1, theme$1.palette.accents_2, hoverBorder, SCALES.font(0.875), color, theme$1.palette.accents_3, theme$1.palette.background, color]]]) + " " + (theme.useClasses('input-wrapper', {
2003
+ className: _JSXStyle.dynamic([["1343268165", [SCALES.height(2.25), SCALES.font(0.875), SCALES.width(1, defaultWidth), SCALES.pt(0), SCALES.pr(0), SCALES.pb(0), SCALES.pl(0), SCALES.mt(0), SCALES.mr(0), SCALES.mb(0), SCALES.ml(0), SCALES.width(1, defaultWidth), variant === 'normal' ? theme$1.layout.radius : '', variant === 'none' ? '' : variant === 'line' ? "border-bottom: 1px solid ".concat(borderColor) : "border: 1px solid ".concat(borderColor), theme$1.palette.accents_1, theme$1.palette.accents_2, hoverBorder, SCALES.font(0.875), color, theme$1.palette.accents_3, theme$1.palette.background, color]]]) + " " + (theme.useClasses('input-wrapper', {
1161
2004
  hover: hover,
1162
2005
  disabled: disabled
1163
2006
  }, labelClasses) || "")
@@ -1175,7 +2018,7 @@ var InputComponent = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
1175
2018
  autoComplete: autoComplete,
1176
2019
  onKeyDown: handleKeyDown
1177
2020
  }, inputProps, {
1178
- className: _JSXStyle.dynamic([["2582554466", [SCALES.height(2.25), SCALES.font(0.875), SCALES.width(1, defaultWidth), SCALES.pt(0), SCALES.pr(0), SCALES.pb(0), SCALES.pl(0), SCALES.mt(0), SCALES.mr(0), SCALES.mb(0), SCALES.ml(0), SCALES.width(1, defaultWidth), variant === 'normal' ? theme$1.layout.radius : '', variant === 'none' ? '' : variant === 'line' ? "border-bottom: 1px solid ".concat(borderColor) : "border: 1px solid ".concat(borderColor), theme$1.palette.accents_1, theme$1.palette.accents_2, hoverBorder, SCALES.font(0.875), color, theme$1.palette.accents_3, theme$1.palette.background, color]]]) + " " + (inputProps && inputProps.className != null && inputProps.className || theme.useClasses({
2021
+ className: _JSXStyle.dynamic([["1343268165", [SCALES.height(2.25), SCALES.font(0.875), SCALES.width(1, defaultWidth), SCALES.pt(0), SCALES.pr(0), SCALES.pb(0), SCALES.pl(0), SCALES.mt(0), SCALES.mr(0), SCALES.mb(0), SCALES.ml(0), SCALES.width(1, defaultWidth), variant === 'normal' ? theme$1.layout.radius : '', variant === 'none' ? '' : variant === 'line' ? "border-bottom: 1px solid ".concat(borderColor) : "border: 1px solid ".concat(borderColor), theme$1.palette.accents_1, theme$1.palette.accents_2, hoverBorder, SCALES.font(0.875), color, theme$1.palette.accents_3, theme$1.palette.background, color]]]) + " " + (inputProps && inputProps.className != null && inputProps.className || theme.useClasses({
1179
2022
  disabled: disabled
1180
2023
  }, iconClasses) || "")
1181
2024
  })), clearable && /*#__PURE__*/React.createElement(MemoInputIconClear, {
@@ -1187,8 +2030,9 @@ var InputComponent = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
1187
2030
  }, iconProps))), labelRight && /*#__PURE__*/React.createElement(MemoInputLabel, {
1188
2031
  isRight: true
1189
2032
  }, labelRight), /*#__PURE__*/React.createElement("br", {
1190
- className: _JSXStyle.dynamic([["2582554466", [SCALES.height(2.25), SCALES.font(0.875), SCALES.width(1, defaultWidth), SCALES.pt(0), SCALES.pr(0), SCALES.pb(0), SCALES.pl(0), SCALES.mt(0), SCALES.mr(0), SCALES.mb(0), SCALES.ml(0), SCALES.width(1, defaultWidth), variant === 'normal' ? theme$1.layout.radius : '', variant === 'none' ? '' : variant === 'line' ? "border-bottom: 1px solid ".concat(borderColor) : "border: 1px solid ".concat(borderColor), theme$1.palette.accents_1, theme$1.palette.accents_2, hoverBorder, SCALES.font(0.875), color, theme$1.palette.accents_3, theme$1.palette.background, color]]])
1191
- })), helperText && /*#__PURE__*/React.createElement("p", {
2033
+ className: _JSXStyle.dynamic([["1343268165", [SCALES.height(2.25), SCALES.font(0.875), SCALES.width(1, defaultWidth), SCALES.pt(0), SCALES.pr(0), SCALES.pb(0), SCALES.pl(0), SCALES.mt(0), SCALES.mr(0), SCALES.mb(0), SCALES.ml(0), SCALES.width(1, defaultWidth), variant === 'normal' ? theme$1.layout.radius : '', variant === 'none' ? '' : variant === 'line' ? "border-bottom: 1px solid ".concat(borderColor) : "border: 1px solid ".concat(borderColor), theme$1.palette.accents_1, theme$1.palette.accents_2, hoverBorder, SCALES.font(0.875), color, theme$1.palette.accents_3, theme$1.palette.background, color]]])
2034
+ })), helperText && /*#__PURE__*/React.createElement(Text, {
2035
+ font: 0.8,
1192
2036
  style: {
1193
2037
  marginTop: 0.4,
1194
2038
  marginRight: 0,
@@ -1196,11 +2040,11 @@ var InputComponent = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
1196
2040
  marginBottom: '0.4rem',
1197
2041
  textAlign: 'left'
1198
2042
  },
1199
- className: _JSXStyle.dynamic([["2582554466", [SCALES.height(2.25), SCALES.font(0.875), SCALES.width(1, defaultWidth), SCALES.pt(0), SCALES.pr(0), SCALES.pb(0), SCALES.pl(0), SCALES.mt(0), SCALES.mr(0), SCALES.mb(0), SCALES.ml(0), SCALES.width(1, defaultWidth), variant === 'normal' ? theme$1.layout.radius : '', variant === 'none' ? '' : variant === 'line' ? "border-bottom: 1px solid ".concat(borderColor) : "border: 1px solid ".concat(borderColor), theme$1.palette.accents_1, theme$1.palette.accents_2, hoverBorder, SCALES.font(0.875), color, theme$1.palette.accents_3, theme$1.palette.background, color]]]) + " " + ((error ? "input-error" : '') || "")
2043
+ color: error ? "error" : 'default'
1200
2044
  }, "\xA0", helperText), /*#__PURE__*/React.createElement(_JSXStyle, {
1201
- id: "2582554466",
2045
+ id: "1343268165",
1202
2046
  dynamic: [SCALES.height(2.25), SCALES.font(0.875), SCALES.width(1, defaultWidth), SCALES.pt(0), SCALES.pr(0), SCALES.pb(0), SCALES.pl(0), SCALES.mt(0), SCALES.mr(0), SCALES.mb(0), SCALES.ml(0), SCALES.width(1, defaultWidth), variant === 'normal' ? theme$1.layout.radius : '', variant === 'none' ? '' : variant === 'line' ? "border-bottom: 1px solid ".concat(borderColor) : "border: 1px solid ".concat(borderColor), theme$1.palette.accents_1, theme$1.palette.accents_2, hoverBorder, SCALES.font(0.875), color, theme$1.palette.accents_3, theme$1.palette.background, color]
1203
- }, ".with-label.__jsx-style-dynamic-selector{display:inline-block;box-sizing:border-box;-webkit-box-align:center;--input-height:".concat(SCALES.height(2.25), ";font-size:").concat(SCALES.font(0.875), ";width:").concat(SCALES.width(1, defaultWidth), ";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), ";}.input-error.__jsx-style-dynamic-selector{color:#e00;}.input-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;width:").concat(SCALES.width(1, defaultWidth), ";height:var(--input-height);}.input-wrapper.__jsx-style-dynamic-selector{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;vertical-align:middle;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:100%;-webkit-flex:1;-ms-flex:1;flex:1;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border-radius:").concat(variant === 'normal' ? theme$1.layout.radius : '', ";").concat(variant === 'none' ? '' : variant === 'line' ? "border-bottom: 1px solid ".concat(borderColor) : "border: 1px solid ".concat(borderColor), ";-webkit-transition:border 0.2s ease 0s,color 0.2s ease 0s;transition:border 0.2s ease 0s,color 0.2s ease 0s;}.input-wrapper.left-label.__jsx-style-dynamic-selector{border-top-left-radius:0;border-bottom-left-radius:0;}.input-wrapper.right-label.__jsx-style-dynamic-selector{border-top-right-radius:0;border-bottom-right-radius:0;}.input-wrapper.disabled.__jsx-style-dynamic-selector{background-color:").concat(theme$1.palette.accents_1, ";border-color:").concat(theme$1.palette.accents_2, ";cursor:not-allowed;}input.disabled.__jsx-style-dynamic-selector{cursor:not-allowed;}.input-wrapper.hover.__jsx-style-dynamic-selector{border-color:").concat(hoverBorder, ";}input.__jsx-style-dynamic-selector{margin:0.25em 0.625em;padding:0;box-shadow:none;font-size:").concat(SCALES.font(0.875), ";background-color:transparent;border:none;color:").concat(color, ";outline:none;border-radius:0;width:100%;min-width:0;-webkit-appearance:none;}input.left-icon.__jsx-style-dynamic-selector{margin-left:0;}input.right-icon.__jsx-style-dynamic-selector{margin-right:0;}.__jsx-style-dynamic-selector::-webkit-input-placeholder,.__jsx-style-dynamic-selector::-moz-placeholder,.__jsx-style-dynamic-selector:-ms-input-placeholder,.__jsx-style-dynamic-selector::-webkit-input-placeholder{color:").concat(theme$1.palette.accents_3, ";}.__jsx-style-dynamic-selector::-moz-placeholder,.__jsx-style-dynamic-selector::-moz-placeholder,.__jsx-style-dynamic-selector:-ms-input-placeholder,.__jsx-style-dynamic-selector::-webkit-input-placeholder{color:").concat(theme$1.palette.accents_3, ";}.__jsx-style-dynamic-selector:-ms-input-placeholder,.__jsx-style-dynamic-selector::-moz-placeholder,.__jsx-style-dynamic-selector:-ms-input-placeholder,.__jsx-style-dynamic-selector::-webkit-input-placeholder{color:").concat(theme$1.palette.accents_3, ";}.__jsx-style-dynamic-selector::placeholder,.__jsx-style-dynamic-selector::-moz-placeholder,.__jsx-style-dynamic-selector:-ms-input-placeholder,.__jsx-style-dynamic-selector::-webkit-input-placeholder{color:").concat(theme$1.palette.accents_3, ";}.__jsx-style-dynamic-selector::-ms-reveal{display:none !important;}input.__jsx-style-dynamic-selector:-webkit-autofill,input.__jsx-style-dynamic-selector:-webkit-autofill.__jsx-style-dynamic-selector:hover,input.__jsx-style-dynamic-selector:-webkit-autofill.__jsx-style-dynamic-selector:active,input.__jsx-style-dynamic-selector:-webkit-autofill.__jsx-style-dynamic-selector:focus{-webkit-box-shadow:0 0 0 30px ").concat(theme$1.palette.background, " inset !important;-webkit-text-fill-color:").concat(color, " !important;}")));
2047
+ }, ".with-label.__jsx-style-dynamic-selector{display:inline-block;box-sizing:border-box;-webkit-box-align:center;--input-height:".concat(SCALES.height(2.25), ";font-size:").concat(SCALES.font(0.875), ";width:").concat(SCALES.width(1, defaultWidth), ";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), ";}.input-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;width:").concat(SCALES.width(1, defaultWidth), ";height:var(--input-height);}.input-wrapper.__jsx-style-dynamic-selector{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;vertical-align:middle;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:100%;-webkit-flex:1;-ms-flex:1;flex:1;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border-radius:").concat(variant === 'normal' ? theme$1.layout.radius : '', ";").concat(variant === 'none' ? '' : variant === 'line' ? "border-bottom: 1px solid ".concat(borderColor) : "border: 1px solid ".concat(borderColor), ";-webkit-transition:border 0.2s ease 0s,color 0.2s ease 0s;transition:border 0.2s ease 0s,color 0.2s ease 0s;}.input-wrapper.left-label.__jsx-style-dynamic-selector{border-top-left-radius:0;border-bottom-left-radius:0;}.input-wrapper.right-label.__jsx-style-dynamic-selector{border-top-right-radius:0;border-bottom-right-radius:0;}.input-wrapper.disabled.__jsx-style-dynamic-selector{background-color:").concat(theme$1.palette.accents_1, ";border-color:").concat(theme$1.palette.accents_2, ";cursor:not-allowed;}input.disabled.__jsx-style-dynamic-selector{cursor:not-allowed;}.input-wrapper.hover.__jsx-style-dynamic-selector{border-color:").concat(hoverBorder, ";}input.__jsx-style-dynamic-selector{margin:0.25em 0.625em;padding:0;box-shadow:none;font-size:").concat(SCALES.font(0.875), ";background-color:transparent;border:none;color:").concat(color, ";outline:none;border-radius:0;width:100%;min-width:0;-webkit-appearance:none;}input.left-icon.__jsx-style-dynamic-selector{margin-left:0;}input.right-icon.__jsx-style-dynamic-selector{margin-right:0;}.__jsx-style-dynamic-selector::-webkit-input-placeholder,.__jsx-style-dynamic-selector::-moz-placeholder,.__jsx-style-dynamic-selector:-ms-input-placeholder,.__jsx-style-dynamic-selector::-webkit-input-placeholder{color:").concat(theme$1.palette.accents_3, ";}.__jsx-style-dynamic-selector::-moz-placeholder,.__jsx-style-dynamic-selector::-moz-placeholder,.__jsx-style-dynamic-selector:-ms-input-placeholder,.__jsx-style-dynamic-selector::-webkit-input-placeholder{color:").concat(theme$1.palette.accents_3, ";}.__jsx-style-dynamic-selector:-ms-input-placeholder,.__jsx-style-dynamic-selector::-moz-placeholder,.__jsx-style-dynamic-selector:-ms-input-placeholder,.__jsx-style-dynamic-selector::-webkit-input-placeholder{color:").concat(theme$1.palette.accents_3, ";}.__jsx-style-dynamic-selector::placeholder,.__jsx-style-dynamic-selector::-moz-placeholder,.__jsx-style-dynamic-selector:-ms-input-placeholder,.__jsx-style-dynamic-selector::-webkit-input-placeholder{color:").concat(theme$1.palette.accents_3, ";}.__jsx-style-dynamic-selector::-ms-reveal{display:none !important;}input.__jsx-style-dynamic-selector:-webkit-autofill,input.__jsx-style-dynamic-selector:-webkit-autofill.__jsx-style-dynamic-selector:hover,input.__jsx-style-dynamic-selector:-webkit-autofill.__jsx-style-dynamic-selector:active,input.__jsx-style-dynamic-selector:-webkit-autofill.__jsx-style-dynamic-selector:focus{-webkit-box-shadow:0 0 0 30px ").concat(theme$1.palette.background, " inset !important;-webkit-text-fill-color:").concat(color, " !important;}")));
1204
2048
  });
1205
2049
  InputComponent.displayName = 'Input';
1206
2050
  var Input = withScale(InputComponent);
@@ -1220,7 +2064,7 @@ tuple('hover', 'click');
1220
2064
  tuple('top', 'topStart', 'topEnd', 'left', 'leftStart', 'leftEnd', 'bottom', 'bottomStart', 'bottomEnd', 'right', 'rightStart', 'rightEnd');
1221
2065
  tuple('start', 'center', 'end', 'left', 'right');
1222
2066
 
1223
- var _excluded$2 = ["type", "disabled", "readOnly", "onFocus", "onBlur", "className", "initialValue", "onChange", "value", "placeholder", "resize"];
2067
+ var _excluded$2 = ["type", "disabled", "readOnly", "onFocus", "onBlur", "className", "initialValue", "onChange", "value", "placeholder", "helperText", "error", "label", "resize"];
1224
2068
  tuple('none', 'both', 'horizontal', 'vertical', 'initial', 'inherit');
1225
2069
  var TextareaComponent = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
1226
2070
  var _ref$type = _ref.type,
@@ -1238,6 +2082,9 @@ var TextareaComponent = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
1238
2082
  onChange = _ref.onChange,
1239
2083
  value = _ref.value,
1240
2084
  placeholder = _ref.placeholder,
2085
+ helperText = _ref.helperText,
2086
+ error = _ref.error,
2087
+ label = _ref.label,
1241
2088
  _ref$resize = _ref.resize,
1242
2089
  resize = _ref$resize === void 0 ? 'none' : _ref$resize,
1243
2090
  props = _objectWithoutProperties(_ref, _excluded$2);
@@ -1294,6 +2141,8 @@ var TextareaComponent = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
1294
2141
  };
1295
2142
  var textareaProps = _objectSpread2(_objectSpread2({}, props), controlledValue);
1296
2143
  return /*#__PURE__*/React.createElement("div", {
2144
+ className: "with-label"
2145
+ }, label && /*#__PURE__*/React.createElement(InputBlockLabel, null, label), /*#__PURE__*/React.createElement("div", {
1297
2146
  className: _JSXStyle.dynamic([["12276481", [theme$1.layout.radius, borderColor, color, SCALES.font(0.875), SCALES.height(1, 'auto'), SCALES.width(1, 'initial'), SCALES.mt(0), SCALES.mr(0), SCALES.mb(0), SCALES.ml(0), hoverBorder, theme$1.palette.accents_1, theme$1.palette.accents_2, theme$1.font.sans, SCALES.pt(0.5), SCALES.pr(0.5), SCALES.pb(0.5), SCALES.pl(0.5), resize, theme$1.palette.background]]]) + " " + (classes || "")
1298
2147
  }, /*#__PURE__*/React.createElement("textarea", _extends({
1299
2148
  ref: textareaRef,
@@ -1308,7 +2157,17 @@ var TextareaComponent = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
1308
2157
  })), /*#__PURE__*/React.createElement(_JSXStyle, {
1309
2158
  id: "12276481",
1310
2159
  dynamic: [theme$1.layout.radius, borderColor, color, SCALES.font(0.875), SCALES.height(1, 'auto'), SCALES.width(1, 'initial'), SCALES.mt(0), SCALES.mr(0), SCALES.mb(0), SCALES.ml(0), hoverBorder, theme$1.palette.accents_1, theme$1.palette.accents_2, theme$1.font.sans, SCALES.pt(0.5), SCALES.pr(0.5), SCALES.pb(0.5), SCALES.pl(0.5), resize, theme$1.palette.background]
1311
- }, ".wrapper.__jsx-style-dynamic-selector{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;box-sizing:border-box;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border-radius:".concat(theme$1.layout.radius, ";border:1px solid ").concat(borderColor, ";color:").concat(color, ";-webkit-transition:border 0.2s ease 0s,color 0.2s ease 0s;transition:border 0.2s ease 0s,color 0.2s ease 0s;min-width:12.5rem;max-width:95vw;--textarea-font-size:").concat(SCALES.font(0.875), ";--textarea-height:").concat(SCALES.height(1, 'auto'), ";width:").concat(SCALES.width(1, 'initial'), ";height:var(--textarea-height);margin:").concat(SCALES.mt(0), " ").concat(SCALES.mr(0), " ").concat(SCALES.mb(0), " ").concat(SCALES.ml(0), ";}.wrapper.hover.__jsx-style-dynamic-selector{border-color:").concat(hoverBorder, ";}.wrapper.disabled.__jsx-style-dynamic-selector{background-color:").concat(theme$1.palette.accents_1, ";border-color:").concat(theme$1.palette.accents_2, ";cursor:not-allowed;}textarea.__jsx-style-dynamic-selector{background-color:transparent;box-shadow:none;display:block;font-family:").concat(theme$1.font.sans, ";font-size:var(--textarea-font-size);width:100%;height:var(--textarea-height);border:none;outline:none;padding:").concat(SCALES.pt(0.5), " ").concat(SCALES.pr(0.5), " ").concat(SCALES.pb(0.5), " ").concat(SCALES.pl(0.5), ";resize:").concat(resize, ";}.disabled.__jsx-style-dynamic-selector>textarea.__jsx-style-dynamic-selector{cursor:not-allowed;}textarea.__jsx-style-dynamic-selector:-webkit-autofill,textarea.__jsx-style-dynamic-selector:-webkit-autofill.__jsx-style-dynamic-selector:hover,textarea.__jsx-style-dynamic-selector:-webkit-autofill.__jsx-style-dynamic-selector:active,textarea.__jsx-style-dynamic-selector:-webkit-autofill.__jsx-style-dynamic-selector:focus{-webkit-box-shadow:0 0 0 30px ").concat(theme$1.palette.background, " inset !important;}")));
2160
+ }, ".wrapper.__jsx-style-dynamic-selector{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;box-sizing:border-box;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border-radius:".concat(theme$1.layout.radius, ";border:1px solid ").concat(borderColor, ";color:").concat(color, ";-webkit-transition:border 0.2s ease 0s,color 0.2s ease 0s;transition:border 0.2s ease 0s,color 0.2s ease 0s;min-width:12.5rem;max-width:95vw;--textarea-font-size:").concat(SCALES.font(0.875), ";--textarea-height:").concat(SCALES.height(1, 'auto'), ";width:").concat(SCALES.width(1, 'initial'), ";height:var(--textarea-height);margin:").concat(SCALES.mt(0), " ").concat(SCALES.mr(0), " ").concat(SCALES.mb(0), " ").concat(SCALES.ml(0), ";}.wrapper.hover.__jsx-style-dynamic-selector{border-color:").concat(hoverBorder, ";}.wrapper.disabled.__jsx-style-dynamic-selector{background-color:").concat(theme$1.palette.accents_1, ";border-color:").concat(theme$1.palette.accents_2, ";cursor:not-allowed;}textarea.__jsx-style-dynamic-selector{background-color:transparent;box-shadow:none;display:block;font-family:").concat(theme$1.font.sans, ";font-size:var(--textarea-font-size);width:100%;height:var(--textarea-height);border:none;outline:none;padding:").concat(SCALES.pt(0.5), " ").concat(SCALES.pr(0.5), " ").concat(SCALES.pb(0.5), " ").concat(SCALES.pl(0.5), ";resize:").concat(resize, ";}.disabled.__jsx-style-dynamic-selector>textarea.__jsx-style-dynamic-selector{cursor:not-allowed;}textarea.__jsx-style-dynamic-selector:-webkit-autofill,textarea.__jsx-style-dynamic-selector:-webkit-autofill.__jsx-style-dynamic-selector:hover,textarea.__jsx-style-dynamic-selector:-webkit-autofill.__jsx-style-dynamic-selector:active,textarea.__jsx-style-dynamic-selector:-webkit-autofill.__jsx-style-dynamic-selector:focus{-webkit-box-shadow:0 0 0 30px ").concat(theme$1.palette.background, " inset !important;}"))), helperText && /*#__PURE__*/React.createElement(Text, {
2161
+ font: 0.8,
2162
+ style: {
2163
+ marginTop: 0.4,
2164
+ marginRight: 0,
2165
+ marginLeft: 0,
2166
+ marginBottom: '0.4rem',
2167
+ textAlign: 'left'
2168
+ },
2169
+ color: error ? "error" : 'default'
2170
+ }, "\xA0", helperText));
1312
2171
  });
1313
2172
  TextareaComponent.displayName = 'Textarea';
1314
2173
  var Textarea = withScale(TextareaComponent);