@helpdice/ui 1.1.8 → 1.1.9

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.
@@ -3,6 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var React = require('react');
6
+ var reactDom = require('react-dom');
6
7
 
7
8
  function _arrayLikeToArray(r, a) {
8
9
  (null == a || a > r.length) && (a = r.length);
@@ -94,7 +95,10 @@ function _iterableToArrayLimit(r, l) {
94
95
  f = true,
95
96
  o = false;
96
97
  try {
97
- if (i = (t = t.call(r)).next, 0 === l) ; else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);
98
+ if (i = (t = t.call(r)).next, 0 === l) {
99
+ if (Object(t) !== t) return;
100
+ f = !1;
101
+ } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);
98
102
  } catch (r) {
99
103
  o = true, n = r;
100
104
  } finally {
@@ -1080,7 +1084,7 @@ var InputIconClear = function InputIconClear(_ref) {
1080
1084
  };
1081
1085
  var MemoInputIconClear = /*#__PURE__*/React.memo(InputIconClear);
1082
1086
 
1083
- var getColors = function getColors(palette, status) {
1087
+ var getColors$1 = function getColors(palette, status) {
1084
1088
  var colors = {
1085
1089
  "default": {
1086
1090
  color: palette.foreground,
@@ -1118,7 +1122,7 @@ var ScalePropKeys = ['width', 'height', 'padding', 'margin', 'w', 'h', 'paddingL
1118
1122
  var defaultDynamicLayoutPipe = function defaultDynamicLayoutPipe(scale1x) {
1119
1123
  return "".concat(scale1x);
1120
1124
  };
1121
- var defaultContext$1 = {
1125
+ var defaultContext$2 = {
1122
1126
  getScaleProps: function getScaleProps() {
1123
1127
  return undefined;
1124
1128
  },
@@ -1144,13 +1148,41 @@ var defaultContext$1 = {
1144
1148
  },
1145
1149
  unit: '16px'
1146
1150
  };
1147
- var ScaleContext = /*#__PURE__*/React.createContext(defaultContext$1);
1151
+ var ScaleContext = /*#__PURE__*/React.createContext(defaultContext$2);
1148
1152
  var useScale = function useScale() {
1149
1153
  return React.useContext(ScaleContext);
1150
1154
  };
1151
1155
 
1152
1156
  /* "use client" */
1153
1157
 
1158
+ var getId = function getId() {
1159
+ return Math.random().toString(32).slice(2, 10);
1160
+ };
1161
+ var pickChildByProps = function pickChildByProps(children, key, value) {
1162
+ var target = [];
1163
+ var isArray = Array.isArray(value);
1164
+ var withoutPropChildren = React.Children.map(children, function (item) {
1165
+ if (! /*#__PURE__*/React.isValidElement(item)) return null;
1166
+ if (!item.props) return item;
1167
+ if (isArray) {
1168
+ if (value.includes(item.props[key])) {
1169
+ target.push(item);
1170
+ return null;
1171
+ }
1172
+ return item;
1173
+ }
1174
+ if (item.props[key] === value) {
1175
+ target.push(item);
1176
+ return null;
1177
+ }
1178
+ return item;
1179
+ });
1180
+ var targetChildren = target.length >= 0 ? target : undefined;
1181
+ return [withoutPropChildren, targetChildren];
1182
+ };
1183
+ var isBrowser = function isBrowser() {
1184
+ return Boolean(typeof window !== 'undefined' && window.document && window.document.createElement);
1185
+ };
1154
1186
  var isCSSNumberValue = function isCSSNumberValue(value) {
1155
1187
  return value !== undefined && !Number.isNaN(+value);
1156
1188
  };
@@ -1201,7 +1233,7 @@ var generateGetAllScaleProps = function generateGetAllScaleProps(props) {
1201
1233
  return getAllScaleProps;
1202
1234
  };
1203
1235
 
1204
- var _excluded$4 = ["children"];
1236
+ var _excluded$a = ["children"];
1205
1237
  var reduceScaleCoefficient = function reduceScaleCoefficient(scale) {
1206
1238
  if (scale === 1) return scale;
1207
1239
  var diff = Math.abs((scale - 1) / 2);
@@ -1211,7 +1243,7 @@ var withScale = function withScale(Render) {
1211
1243
  var ScaleFC = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
1212
1244
  var _ref2, _ref3, _ref4, _ref5, _ref6, _ref7, _ref8, _ref9, _ref10, _ref11, _ref12, _ref13, _ref14, _ref15, _ref16, _ref17, _ref18, _ref19, _ref20, _ref21, _ref22, _ref23, _ref24, _ref25, _ref26, _ref27, _ref28, _ref29, _ref30, _ref31, _ref32, _ref33;
1213
1245
  var children = _ref.children,
1214
- props = _objectWithoutProperties(_ref, _excluded$4);
1246
+ props = _objectWithoutProperties(_ref, _excluded$a);
1215
1247
  var _useTheme = useTheme(),
1216
1248
  layout = _useTheme.layout;
1217
1249
  var paddingLeft = props.paddingLeft,
@@ -1294,7 +1326,7 @@ var withScale = function withScale(Render) {
1294
1326
  return ScaleFC;
1295
1327
  };
1296
1328
 
1297
- var _excluded$3 = ["label", "labelRight", "type", "error", "htmlType", "icon", "iconRight", "iconClickable", "onIconClick", "initialValue", "onChange", "readOnly", "value", "onClearClick", "clearable", "className", "onBlur", "onFocus", "autoComplete", "placeholder", "children", "disabled"];
1329
+ var _excluded$9 = ["label", "labelRight", "type", "error", "htmlType", "icon", "iconRight", "iconClickable", "onIconClick", "initialValue", "onChange", "readOnly", "value", "onClearClick", "clearable", "className", "onBlur", "onFocus", "autoComplete", "placeholder", "children", "disabled"];
1298
1330
  var simulateChangeEvent = function simulateChangeEvent(el, event) {
1299
1331
  return _objectSpread2(_objectSpread2({}, event), {}, {
1300
1332
  target: el,
@@ -1334,7 +1366,7 @@ var InputComponent = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
1334
1366
  children = _ref.children,
1335
1367
  _ref$disabled = _ref.disabled,
1336
1368
  disabled = _ref$disabled === undefined ? false : _ref$disabled,
1337
- props = _objectWithoutProperties(_ref, _excluded$3);
1369
+ props = _objectWithoutProperties(_ref, _excluded$9);
1338
1370
  var theme = useTheme();
1339
1371
  var _useScale = useScale(),
1340
1372
  SCALES = _useScale.SCALES;
@@ -1360,7 +1392,7 @@ var InputComponent = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
1360
1392
  return iconRight ? 'right-icon' : icon ? 'left-icon' : '';
1361
1393
  }, [icon, iconRight]);
1362
1394
  var _useMemo = React.useMemo(function () {
1363
- return getColors(theme.palette, type);
1395
+ return getColors$1(theme.palette, type);
1364
1396
  }, [theme.palette, type]),
1365
1397
  color = _useMemo.color,
1366
1398
  borderColor = _useMemo.borderColor,
@@ -1476,7 +1508,7 @@ tuple('hover', 'click');
1476
1508
  tuple('top', 'topStart', 'topEnd', 'left', 'leftStart', 'leftEnd', 'bottom', 'bottomStart', 'bottomEnd', 'right', 'rightStart', 'rightEnd');
1477
1509
  tuple('start', 'center', 'end', 'left', 'right');
1478
1510
 
1479
- var _excluded$2 = ["type", "disabled", "readOnly", "onFocus", "onBlur", "className", "initialValue", "onChange", "value", "placeholder", "resize"];
1511
+ var _excluded$8 = ["type", "disabled", "readOnly", "onFocus", "onBlur", "className", "initialValue", "onChange", "value", "placeholder", "resize"];
1480
1512
  tuple('none', 'both', 'horizontal', 'vertical', 'initial', 'inherit');
1481
1513
  var TextareaComponent = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
1482
1514
  var _ref$type = _ref.type,
@@ -1496,7 +1528,7 @@ var TextareaComponent = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
1496
1528
  placeholder = _ref.placeholder,
1497
1529
  _ref$resize = _ref.resize,
1498
1530
  resize = _ref$resize === undefined ? 'none' : _ref$resize,
1499
- props = _objectWithoutProperties(_ref, _excluded$2);
1531
+ props = _objectWithoutProperties(_ref, _excluded$8);
1500
1532
  var theme = useTheme();
1501
1533
  var _useScale = useScale(),
1502
1534
  SCALES = _useScale.SCALES;
@@ -1516,7 +1548,7 @@ var TextareaComponent = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
1516
1548
  hover = _useState4[0],
1517
1549
  setHover = _useState4[1];
1518
1550
  var _useMemo = React.useMemo(function () {
1519
- return getColors(theme.palette, type);
1551
+ return getColors$1(theme.palette, type);
1520
1552
  }, [theme.palette, type]),
1521
1553
  color = _useMemo.color,
1522
1554
  borderColor = _useMemo.borderColor,
@@ -1596,11 +1628,11 @@ var PasswordIcon = function PasswordIcon(_ref) {
1596
1628
  };
1597
1629
  var MemoPasswordIcon = /*#__PURE__*/React.memo(PasswordIcon);
1598
1630
 
1599
- var _excluded$1 = ["hideToggle", "children"];
1631
+ var _excluded$7 = ["hideToggle", "children"];
1600
1632
  var InputPasswordComponent = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
1601
1633
  var hideToggle = _ref.hideToggle,
1602
1634
  children = _ref.children,
1603
- props = _objectWithoutProperties(_ref, _excluded$1);
1635
+ props = _objectWithoutProperties(_ref, _excluded$7);
1604
1636
  var _useScale = useScale(),
1605
1637
  getAllScaleProps = _useScale.getAllScaleProps;
1606
1638
  var inputRef = React.useRef(null);
@@ -18857,6 +18889,933 @@ function requireLodash () {
18857
18889
  var lodashExports = requireLodash();
18858
18890
  var _ = /*@__PURE__*/getDefaultExportFromCjs(lodashExports);
18859
18891
 
18892
+ var useCurrentState = function useCurrentState(initialState) {
18893
+ var _useState = React.useState(function () {
18894
+ return typeof initialState === 'function' ? initialState() : initialState;
18895
+ }),
18896
+ _useState2 = _slicedToArray(_useState, 2),
18897
+ state = _useState2[0],
18898
+ setState = _useState2[1];
18899
+ var ref = React.useRef(initialState);
18900
+ React.useEffect(function () {
18901
+ ref.current = state;
18902
+ }, [state]);
18903
+ var setValue = function setValue(val) {
18904
+ var result = typeof val === 'function' ? val(ref.current) : val;
18905
+ ref.current = result;
18906
+ setState(result);
18907
+ };
18908
+ return [state, setValue, ref];
18909
+ };
18910
+
18911
+ var SelectIconComponent = function SelectIconComponent() {
18912
+ return /*#__PURE__*/React.createElement("svg", {
18913
+ viewBox: "0 0 24 24",
18914
+ strokeWidth: "1",
18915
+ strokeLinecap: "round",
18916
+ strokeLinejoin: "round",
18917
+ fill: "none",
18918
+ shapeRendering: "geometricPrecision",
18919
+ className: "jsx-2742933678"
18920
+ }, /*#__PURE__*/React.createElement("path", {
18921
+ d: "M6 9l6 6 6-6",
18922
+ className: "jsx-2742933678"
18923
+ }), /*#__PURE__*/React.createElement(_JSXStyle, {
18924
+ id: "2742933678"
18925
+ }, "svg.jsx-2742933678{color:inherit;stroke:currentColor;-webkit-transition:all 200ms ease;transition:all 200ms ease;width:1.214em;height:1.214em;}"));
18926
+ };
18927
+ SelectIconComponent.displayName = 'GeistSelectIcon';
18928
+ var SelectIcon = /*#__PURE__*/React.memo(SelectIconComponent);
18929
+
18930
+ /* "use client" */
18931
+
18932
+ var defaultContext$1 = {
18933
+ visible: false,
18934
+ disableAll: false
18935
+ };
18936
+ var SelectContext = /*#__PURE__*/React.createContext(defaultContext$1);
18937
+ var useSelectContext = function useSelectContext() {
18938
+ return React.useContext(SelectContext);
18939
+ };
18940
+
18941
+ var useSSR = function useSSR() {
18942
+ var _useState = React.useState(false),
18943
+ _useState2 = _slicedToArray(_useState, 2),
18944
+ browser = _useState2[0],
18945
+ setBrowser = _useState2[1];
18946
+ React.useEffect(function () {
18947
+ setBrowser(isBrowser());
18948
+ }, []);
18949
+ return {
18950
+ isBrowser: browser,
18951
+ isServer: !browser
18952
+ };
18953
+ };
18954
+
18955
+ var createElement = function createElement(id) {
18956
+ var el = document.createElement('div');
18957
+ el.setAttribute('id', id);
18958
+ return el;
18959
+ };
18960
+ var usePortal = function usePortal() {
18961
+ var selectId = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getId();
18962
+ var getContainer = arguments.length > 1 ? arguments[1] : undefined;
18963
+ var id = "helpdice-ui-".concat(selectId);
18964
+ var _useSSR = useSSR(),
18965
+ isBrowser = _useSSR.isBrowser;
18966
+ var _useState = React.useState(isBrowser ? createElement(id) : null),
18967
+ _useState2 = _slicedToArray(_useState, 2),
18968
+ elSnapshot = _useState2[0],
18969
+ setElSnapshot = _useState2[1];
18970
+ React.useEffect(function () {
18971
+ var customContainer = getContainer ? getContainer() : null;
18972
+ var parentElement = customContainer || document.body;
18973
+ var hasElement = parentElement.querySelector("#".concat(id));
18974
+ var el = hasElement || createElement(id);
18975
+ if (!hasElement) {
18976
+ parentElement.appendChild(el);
18977
+ }
18978
+ setElSnapshot(el);
18979
+ }, []);
18980
+ return elSnapshot;
18981
+ };
18982
+
18983
+ /* "use client" */
18984
+
18985
+ var useResize = function useResize(callback) {
18986
+ var immediatelyInvoke = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
18987
+ React.useEffect(function () {
18988
+ var fn = function fn() {
18989
+ return callback();
18990
+ };
18991
+ if (immediatelyInvoke) {
18992
+ fn();
18993
+ }
18994
+ window.addEventListener('resize', fn);
18995
+ return function () {
18996
+ return window.removeEventListener('resize', fn);
18997
+ };
18998
+ }, []);
18999
+ };
19000
+
19001
+ var _excluded$6 = ["children", "className", "visible", "enterTime", "leaveTime", "clearTime", "name"];
19002
+ var CssTransition = function CssTransition(_ref) {
19003
+ var children = _ref.children,
19004
+ _ref$className = _ref.className,
19005
+ className = _ref$className === undefined ? '' : _ref$className,
19006
+ _ref$visible = _ref.visible,
19007
+ visible = _ref$visible === undefined ? false : _ref$visible,
19008
+ _ref$enterTime = _ref.enterTime,
19009
+ enterTime = _ref$enterTime === undefined ? 60 : _ref$enterTime,
19010
+ _ref$leaveTime = _ref.leaveTime,
19011
+ leaveTime = _ref$leaveTime === undefined ? 60 : _ref$leaveTime,
19012
+ _ref$clearTime = _ref.clearTime,
19013
+ clearTime = _ref$clearTime === undefined ? 60 : _ref$clearTime,
19014
+ _ref$name = _ref.name,
19015
+ name = _ref$name === undefined ? 'transition' : _ref$name,
19016
+ props = _objectWithoutProperties(_ref, _excluded$6);
19017
+ var _useState = React.useState(''),
19018
+ _useState2 = _slicedToArray(_useState, 2),
19019
+ classes = _useState2[0],
19020
+ setClasses = _useState2[1];
19021
+ var _useState3 = React.useState(visible),
19022
+ _useState4 = _slicedToArray(_useState3, 2),
19023
+ renderable = _useState4[0],
19024
+ setRenderable = _useState4[1];
19025
+ React.useEffect(function () {
19026
+ var statusClassName = visible ? 'enter' : 'leave';
19027
+ var time = visible ? enterTime : leaveTime;
19028
+ if (visible && !renderable) {
19029
+ setRenderable(true);
19030
+ }
19031
+ setClasses("".concat(name, "-").concat(statusClassName));
19032
+
19033
+ // set class to active
19034
+ var timer = setTimeout(function () {
19035
+ setClasses("".concat(name, "-").concat(statusClassName, " ").concat(name, "-").concat(statusClassName, "-active"));
19036
+ clearTimeout(timer);
19037
+ }, time);
19038
+
19039
+ // remove classess when animation over
19040
+ var clearClassesTimer = setTimeout(function () {
19041
+ if (!visible) {
19042
+ setClasses('');
19043
+ setRenderable(false);
19044
+ }
19045
+ clearTimeout(clearClassesTimer);
19046
+ }, time + clearTime);
19047
+ return function () {
19048
+ clearTimeout(timer);
19049
+ clearTimeout(clearClassesTimer);
19050
+ };
19051
+ }, [visible, renderable]);
19052
+ if (! /*#__PURE__*/React.isValidElement(children) || !renderable) return null;
19053
+ var propsTransition = _objectSpread2(_objectSpread2({}, props), {}, {
19054
+ className: "".concat(children.props.className, " ").concat(className, " ").concat(classes)
19055
+ });
19056
+ return /*#__PURE__*/React.cloneElement(children, propsTransition);
19057
+ };
19058
+ CssTransition.displayName = 'CssTransition';
19059
+
19060
+ /* "use client" */
19061
+
19062
+ var useClickAnyWhere = function useClickAnyWhere(handler) {
19063
+ React.useEffect(function () {
19064
+ var callback = function callback(event) {
19065
+ return handler(event);
19066
+ };
19067
+ document.addEventListener('click', callback);
19068
+ return function () {
19069
+ return document.removeEventListener('click', callback);
19070
+ };
19071
+ }, [handler]);
19072
+ };
19073
+
19074
+ /* "use client" */
19075
+
19076
+ var useDOMObserver = function useDOMObserver(ref) {
19077
+ var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : function () {};
19078
+ var config = {
19079
+ attributes: false,
19080
+ childList: true,
19081
+ subtree: true
19082
+ };
19083
+ React.useEffect(function () {
19084
+ if (!ref || !ref.current) return;
19085
+ var unmount = false;
19086
+ var done = function done() {
19087
+ if (unmount) return;
19088
+ callback.apply(undefined, arguments);
19089
+ };
19090
+ var observer = new MutationObserver(done);
19091
+ observer.observe(ref.current, config);
19092
+ return function () {
19093
+ unmount = true;
19094
+ observer.disconnect();
19095
+ };
19096
+ }, [ref]);
19097
+ };
19098
+
19099
+ var warningStack = {};
19100
+ var useWarning = function useWarning(message, component) {
19101
+ var tag = component ? " [".concat(component, "]") : ' ';
19102
+ var log = "[Helpdice UI]".concat(tag, ": ").concat(message);
19103
+ if (typeof console === 'undefined') return;
19104
+ if (warningStack[log]) return;
19105
+ warningStack[log] = true;
19106
+ if (process.env.NODE_ENV !== 'production') {
19107
+ return console.error(log);
19108
+ }
19109
+ console.warn(log);
19110
+ };
19111
+
19112
+ var getElementOffset = function getElementOffset(el) {
19113
+ if (!el) return {
19114
+ top: 0,
19115
+ left: 0
19116
+ };
19117
+ var _el$getBoundingClient = el.getBoundingClientRect(),
19118
+ top = _el$getBoundingClient.top,
19119
+ left = _el$getBoundingClient.left;
19120
+ return {
19121
+ top: top,
19122
+ left: left
19123
+ };
19124
+ };
19125
+ var defaultRect$1 = {
19126
+ top: -1e3,
19127
+ left: -1e3,
19128
+ right: -1e3,
19129
+ width: 0,
19130
+ height: 0,
19131
+ elementTop: -1e3
19132
+ };
19133
+ var getRectFromDOMWithContainer = function getRectFromDOMWithContainer(domRect, getContainer) {
19134
+ if (!domRect) return defaultRect$1;
19135
+ var container = getContainer ? getContainer() : null;
19136
+ var scrollElement = container || document.documentElement;
19137
+ var _getElementOffset = getElementOffset(container),
19138
+ offsetTop = _getElementOffset.top,
19139
+ offsetLeft = _getElementOffset.left;
19140
+ return _objectSpread2(_objectSpread2({}, domRect), {}, {
19141
+ width: domRect.width || domRect.right - domRect.left,
19142
+ height: domRect.height || domRect.top - domRect.bottom,
19143
+ top: domRect.bottom + scrollElement.scrollTop - offsetTop,
19144
+ left: domRect.left + scrollElement.scrollLeft - offsetLeft,
19145
+ elementTop: domRect.top + scrollElement.scrollTop - offsetTop
19146
+ });
19147
+ };
19148
+ var getRefRect = function getRefRect(ref, getContainer) {
19149
+ if (!ref || !ref.current) return defaultRect$1;
19150
+ var rect = ref.current.getBoundingClientRect();
19151
+ return getRectFromDOMWithContainer(rect, getContainer);
19152
+ };
19153
+
19154
+ var defaultRect = {
19155
+ top: -1e3,
19156
+ left: -1e3,
19157
+ right: -1e3,
19158
+ width: 0
19159
+ };
19160
+ var Dropdown = /*#__PURE__*/React.memo(function (_ref) {
19161
+ var children = _ref.children,
19162
+ parent = _ref.parent,
19163
+ visible = _ref.visible,
19164
+ disableMatchWidth = _ref.disableMatchWidth,
19165
+ getPopupContainer = _ref.getPopupContainer;
19166
+ var el = usePortal('dropdown', getPopupContainer);
19167
+ var _useState = React.useState(defaultRect),
19168
+ _useState2 = _slicedToArray(_useState, 2),
19169
+ rect = _useState2[0],
19170
+ setRect = _useState2[1];
19171
+ var classes = useClasses('dropdown', disableMatchWidth ? 'disable-match' : 'width-match');
19172
+ if (!parent) return null;
19173
+
19174
+ /* istanbul ignore next */
19175
+ if (process.env.NODE_ENV !== 'production') {
19176
+ if (getPopupContainer && getPopupContainer()) {
19177
+ var _el = getPopupContainer();
19178
+ var style = window.getComputedStyle(_el);
19179
+ if (style.position === 'static') {
19180
+ useWarning('The element specified by "getPopupContainer" must have "position" set.');
19181
+ }
19182
+ }
19183
+ }
19184
+ var updateRect = function updateRect() {
19185
+ var _getRefRect = getRefRect(parent, getPopupContainer),
19186
+ top = _getRefRect.top,
19187
+ left = _getRefRect.left,
19188
+ right = _getRefRect.right,
19189
+ nativeWidth = _getRefRect.width;
19190
+ setRect({
19191
+ top: top,
19192
+ left: left,
19193
+ right: right,
19194
+ width: nativeWidth
19195
+ });
19196
+ };
19197
+ useResize(updateRect);
19198
+ useClickAnyWhere(function () {
19199
+ var _getRefRect2 = getRefRect(parent, getPopupContainer),
19200
+ top = _getRefRect2.top,
19201
+ left = _getRefRect2.left;
19202
+ var shouldUpdatePosition = top !== rect.top || left !== rect.left;
19203
+ if (!shouldUpdatePosition) return;
19204
+ updateRect();
19205
+ });
19206
+ useDOMObserver(parent, function () {
19207
+ updateRect();
19208
+ });
19209
+ React.useEffect(function () {
19210
+ if (!parent || !parent.current) return;
19211
+ parent.current.addEventListener('mouseenter', updateRect);
19212
+ /* istanbul ignore next */
19213
+ return function () {
19214
+ if (!parent || !parent.current) return;
19215
+ parent.current.removeEventListener('mouseenter', updateRect);
19216
+ };
19217
+ }, [parent]);
19218
+ var clickHandler = function clickHandler(event) {
19219
+ event.stopPropagation();
19220
+ event.nativeEvent.stopImmediatePropagation();
19221
+ event.preventDefault();
19222
+ };
19223
+ var mouseDownHandler = function mouseDownHandler(event) {
19224
+ event.preventDefault();
19225
+ };
19226
+ if (!el) return null;
19227
+ return /*#__PURE__*/reactDom.createPortal(/*#__PURE__*/React.createElement(CssTransition, {
19228
+ visible: visible
19229
+ }, /*#__PURE__*/React.createElement("div", {
19230
+ onClick: clickHandler,
19231
+ onMouseDown: mouseDownHandler,
19232
+ className: _JSXStyle.dynamic([["1644673105", [rect.top + 2, rect.left, rect.width, rect.width]]]) + " " + (classes || "")
19233
+ }, children, /*#__PURE__*/React.createElement(_JSXStyle, {
19234
+ id: "1644673105",
19235
+ dynamic: [rect.top + 2, rect.left, rect.width, rect.width]
19236
+ }, ".dropdown.__jsx-style-dynamic-selector{position:absolute;top:".concat(rect.top + 2, "px;left:").concat(rect.left, "px;z-index:1100;}.width-match.__jsx-style-dynamic-selector{width:").concat(rect.width, "px;}.disable-match.__jsx-style-dynamic-selector{min-width:").concat(rect.width, "px;}")))), el);
19237
+ });
19238
+
19239
+ var SelectDropdown = /*#__PURE__*/React.forwardRef(function (_ref, dropdownRef) {
19240
+ var visible = _ref.visible,
19241
+ children = _ref.children,
19242
+ _ref$className = _ref.className,
19243
+ className = _ref$className === undefined ? '' : _ref$className,
19244
+ _ref$dropdownStyle = _ref.dropdownStyle,
19245
+ dropdownStyle = _ref$dropdownStyle === undefined ? {} : _ref$dropdownStyle,
19246
+ disableMatchWidth = _ref.disableMatchWidth,
19247
+ getPopupContainer = _ref.getPopupContainer;
19248
+ var theme = useTheme();
19249
+ var internalDropdownRef = React.useRef(null);
19250
+ var _useSelectContext = useSelectContext(),
19251
+ ref = _useSelectContext.ref;
19252
+ var classes = useClasses('select-dropdown', className);
19253
+ React.useImperativeHandle(dropdownRef, function () {
19254
+ return internalDropdownRef.current;
19255
+ });
19256
+ return /*#__PURE__*/React.createElement(Dropdown, {
19257
+ parent: ref,
19258
+ visible: visible,
19259
+ disableMatchWidth: disableMatchWidth,
19260
+ getPopupContainer: getPopupContainer
19261
+ }, /*#__PURE__*/React.createElement("div", {
19262
+ ref: internalDropdownRef,
19263
+ style: dropdownStyle,
19264
+ className: _JSXStyle.dynamic([["2782510679", [theme.layout.radius, theme.expressiveness.shadowLarge, theme.palette.background]]]) + " " + (classes || "")
19265
+ }, children, /*#__PURE__*/React.createElement(_JSXStyle, {
19266
+ id: "2782510679",
19267
+ dynamic: [theme.layout.radius, theme.expressiveness.shadowLarge, theme.palette.background]
19268
+ }, ".select-dropdown.__jsx-style-dynamic-selector{border-radius:".concat(theme.layout.radius, ";box-shadow:").concat(theme.expressiveness.shadowLarge, ";background-color:").concat(theme.palette.background, ";max-height:17em;overflow-y:auto;overflow-anchor:none;padding:0.38em 0;-webkit-scroll-behavior:smooth;-moz-scroll-behavior:smooth;-ms-scroll-behavior:smooth;scroll-behavior:smooth;}"))));
19269
+ });
19270
+ SelectDropdown.displayName = 'SelectDropdown';
19271
+
19272
+ var _excluded$5 = ["xs", "sm", "md", "lg", "xl", "justify", "direction", "alignItems", "alignContent", "children", "className"];
19273
+ var getItemLayout = function getItemLayout(val) {
19274
+ var display = val === 0 ? 'display: none;' : 'display: inherit;';
19275
+ if (typeof val === 'number') {
19276
+ var width = 100 / 24 * val;
19277
+ var ratio = width > 100 ? '100%' : width < 0 ? '0' : "".concat(width, "%");
19278
+ return {
19279
+ grow: 0,
19280
+ display: display,
19281
+ width: ratio,
19282
+ basis: ratio
19283
+ };
19284
+ }
19285
+ return {
19286
+ grow: 1,
19287
+ display: display,
19288
+ width: '100%',
19289
+ basis: '0'
19290
+ };
19291
+ };
19292
+ var GridBasicItem = function GridBasicItem(_ref) {
19293
+ var _ref$xs = _ref.xs,
19294
+ xs = _ref$xs === undefined ? false : _ref$xs,
19295
+ _ref$sm = _ref.sm,
19296
+ sm = _ref$sm === undefined ? false : _ref$sm,
19297
+ _ref$md = _ref.md,
19298
+ md = _ref$md === undefined ? false : _ref$md,
19299
+ _ref$lg = _ref.lg,
19300
+ lg = _ref$lg === undefined ? false : _ref$lg,
19301
+ _ref$xl = _ref.xl,
19302
+ xl = _ref$xl === undefined ? false : _ref$xl,
19303
+ justify = _ref.justify,
19304
+ direction = _ref.direction,
19305
+ alignItems = _ref.alignItems,
19306
+ alignContent = _ref.alignContent,
19307
+ children = _ref.children,
19308
+ _ref$className = _ref.className,
19309
+ className = _ref$className === undefined ? '' : _ref$className,
19310
+ props = _objectWithoutProperties(_ref, _excluded$5);
19311
+ var theme = useTheme();
19312
+ var _useScale = useScale(),
19313
+ SCALES = _useScale.SCALES;
19314
+ var classes = React.useMemo(function () {
19315
+ var aligns = {
19316
+ justify: justify,
19317
+ direction: direction,
19318
+ alignItems: alignItems,
19319
+ alignContent: alignContent,
19320
+ xs: xs,
19321
+ sm: sm,
19322
+ md: md,
19323
+ lg: lg,
19324
+ xl: xl
19325
+ };
19326
+ var classString = Object.keys(aligns).reduce(function (pre, name) {
19327
+ if (aligns[name] !== undefined && aligns[name] !== false) return "".concat(pre, " ").concat(name);
19328
+ return pre;
19329
+ }, '');
19330
+ return classString.trim();
19331
+ }, [justify, direction, alignItems, alignContent, xs, sm, md, lg, xl]);
19332
+ var layout = React.useMemo(function () {
19333
+ return {
19334
+ xs: getItemLayout(xs),
19335
+ sm: getItemLayout(sm),
19336
+ md: getItemLayout(md),
19337
+ lg: getItemLayout(lg),
19338
+ xl: getItemLayout(xl)
19339
+ };
19340
+ }, [xs, sm, md, lg, xl]);
19341
+ return /*#__PURE__*/React.createElement("div", _extends({}, props, {
19342
+ className: _JSXStyle.dynamic([["568430467", [SCALES.font(1, 'inherit'), SCALES.height(1, 'auto'), justify, direction, alignContent, alignItems, layout.xs.grow, layout.xs.width, layout.xs.basis, layout.xs.display, theme.breakpoints.sm.min, layout.sm.grow, layout.sm.width, layout.sm.basis, layout.sm.display, theme.breakpoints.md.min, layout.md.grow, layout.md.width, layout.md.basis, layout.md.display, theme.breakpoints.lg.min, layout.lg.grow, layout.lg.width, layout.lg.basis, layout.lg.display, theme.breakpoints.xl.min, layout.xl.grow, layout.xl.width, layout.xl.basis, layout.xl.display]]]) + " " + (props && props.className != null && props.className || useClasses('item', classes, className) || "")
19343
+ }), children, /*#__PURE__*/React.createElement(_JSXStyle, {
19344
+ id: "568430467",
19345
+ dynamic: [SCALES.font(1, 'inherit'), SCALES.height(1, 'auto'), justify, direction, alignContent, alignItems, layout.xs.grow, layout.xs.width, layout.xs.basis, layout.xs.display, theme.breakpoints.sm.min, layout.sm.grow, layout.sm.width, layout.sm.basis, layout.sm.display, theme.breakpoints.md.min, layout.md.grow, layout.md.width, layout.md.basis, layout.md.display, theme.breakpoints.lg.min, layout.lg.grow, layout.lg.width, layout.lg.basis, layout.lg.display, theme.breakpoints.xl.min, layout.xl.grow, layout.xl.width, layout.xl.basis, layout.xl.display]
19346
+ }, ".item.__jsx-style-dynamic-selector{font-size:".concat(SCALES.font(1, 'inherit'), ";height:").concat(SCALES.height(1, 'auto'), ";}.justify.__jsx-style-dynamic-selector{-webkit-box-pack:").concat(justify, ";-webkit-justify-content:").concat(justify, ";-ms-flex-pack:").concat(justify, ";justify-content:").concat(justify, ";}.direction.__jsx-style-dynamic-selector{-webkit-flex-direction:").concat(direction, ";-ms-flex-direction:").concat(direction, ";flex-direction:").concat(direction, ";}.alignContent.__jsx-style-dynamic-selector{-webkit-align-content:").concat(alignContent, ";-ms-flex-line-pack:").concat(alignContent, ";align-content:").concat(alignContent, ";}.alignItems.__jsx-style-dynamic-selector{-webkit-align-items:").concat(alignItems, ";-webkit-box-align:").concat(alignItems, ";-ms-flex-align:").concat(alignItems, ";align-items:").concat(alignItems, ";}.xs.__jsx-style-dynamic-selector{-webkit-box-flex:").concat(layout.xs.grow, ";-webkit-flex-grow:").concat(layout.xs.grow, ";-ms-flex-positive:").concat(layout.xs.grow, ";flex-grow:").concat(layout.xs.grow, ";max-width:").concat(layout.xs.width, ";-webkit-flex-basis:").concat(layout.xs.basis, ";-ms-flex-preferred-size:").concat(layout.xs.basis, ";flex-basis:").concat(layout.xs.basis, ";").concat(layout.xs.display, ";}@media only screen and (min-width:").concat(theme.breakpoints.sm.min, "){.sm.__jsx-style-dynamic-selector{-webkit-box-flex:").concat(layout.sm.grow, ";-webkit-flex-grow:").concat(layout.sm.grow, ";-ms-flex-positive:").concat(layout.sm.grow, ";flex-grow:").concat(layout.sm.grow, ";max-width:").concat(layout.sm.width, ";-webkit-flex-basis:").concat(layout.sm.basis, ";-ms-flex-preferred-size:").concat(layout.sm.basis, ";flex-basis:").concat(layout.sm.basis, ";").concat(layout.sm.display, ";}}@media only screen and (min-width:").concat(theme.breakpoints.md.min, "){.md.__jsx-style-dynamic-selector{-webkit-box-flex:").concat(layout.md.grow, ";-webkit-flex-grow:").concat(layout.md.grow, ";-ms-flex-positive:").concat(layout.md.grow, ";flex-grow:").concat(layout.md.grow, ";max-width:").concat(layout.md.width, ";-webkit-flex-basis:").concat(layout.md.basis, ";-ms-flex-preferred-size:").concat(layout.md.basis, ";flex-basis:").concat(layout.md.basis, ";").concat(layout.md.display, ";}}@media only screen and (min-width:").concat(theme.breakpoints.lg.min, "){.lg.__jsx-style-dynamic-selector{-webkit-box-flex:").concat(layout.lg.grow, ";-webkit-flex-grow:").concat(layout.lg.grow, ";-ms-flex-positive:").concat(layout.lg.grow, ";flex-grow:").concat(layout.lg.grow, ";max-width:").concat(layout.lg.width, ";-webkit-flex-basis:").concat(layout.lg.basis, ";-ms-flex-preferred-size:").concat(layout.lg.basis, ";flex-basis:").concat(layout.lg.basis, ";").concat(layout.lg.display, ";}}@media only screen and (min-width:").concat(theme.breakpoints.xl.min, "){.xl.__jsx-style-dynamic-selector{-webkit-box-flex:").concat(layout.xl.grow, ";-webkit-flex-grow:").concat(layout.xl.grow, ";-ms-flex-positive:").concat(layout.xl.grow, ";flex-grow:").concat(layout.xl.grow, ";max-width:").concat(layout.xl.width, ";-webkit-flex-basis:").concat(layout.xl.basis, ";-ms-flex-preferred-size:").concat(layout.xl.basis, ";flex-basis:").concat(layout.xl.basis, ";").concat(layout.xl.display, ";}}")));
19347
+ };
19348
+ GridBasicItem.displayName = 'GridBasicItem';
19349
+
19350
+ var _excluded$4 = ["children", "className"];
19351
+ var GridComponent = function GridComponent(_ref) {
19352
+ var children = _ref.children,
19353
+ _ref$className = _ref.className,
19354
+ className = _ref$className === undefined ? '' : _ref$className,
19355
+ props = _objectWithoutProperties(_ref, _excluded$4);
19356
+ var _useScale = useScale(),
19357
+ SCALES = _useScale.SCALES;
19358
+ var _styles$className = {
19359
+ styles: /*#__PURE__*/React.createElement(_JSXStyle, {
19360
+ id: "1271839607",
19361
+ dynamic: [SCALES.mt(0), SCALES.mr(0), SCALES.mb(0), SCALES.ml(0), SCALES.pt(0, 'var(--grid-gap-unit)'), SCALES.pr(0, 'var(--grid-gap-unit)'), SCALES.pb(0, 'var(--grid-gap-unit)'), SCALES.pl(0, 'var(--grid-gap-unit)')]
19362
+ }, "div.__jsx-style-dynamic-selector{margin:".concat(SCALES.mt(0), " ").concat(SCALES.mr(0), " ").concat(SCALES.mb(0), " ").concat(SCALES.ml(0), ";box-sizing:border-box;padding:").concat(SCALES.pt(0, 'var(--grid-gap-unit)'), " ").concat(SCALES.pr(0, 'var(--grid-gap-unit)'), " ").concat(SCALES.pb(0, 'var(--grid-gap-unit)'), " ").concat(SCALES.pl(0, 'var(--grid-gap-unit)'), ";}")),
19363
+ className: _JSXStyle.dynamic([["1271839607", [SCALES.mt(0), SCALES.mr(0), SCALES.mb(0), SCALES.ml(0), SCALES.pt(0, 'var(--grid-gap-unit)'), SCALES.pr(0, 'var(--grid-gap-unit)'), SCALES.pb(0, 'var(--grid-gap-unit)'), SCALES.pl(0, 'var(--grid-gap-unit)')]]])
19364
+ },
19365
+ resolveClassName = _styles$className.className,
19366
+ styles = _styles$className.styles;
19367
+ var classes = useClasses(resolveClassName, className);
19368
+ return /*#__PURE__*/React.createElement(GridBasicItem, _extends({
19369
+ className: classes
19370
+ }, props), children, styles);
19371
+ };
19372
+ GridComponent.displayName = 'Grid';
19373
+ var Grid = withScale(GridComponent);
19374
+
19375
+ var _excluded$3 = ["gap", "wrap", "children", "className"];
19376
+ var GridContainerComponent = function GridContainerComponent(_ref) {
19377
+ var _ref$gap = _ref.gap,
19378
+ gap = _ref$gap === undefined ? 0 : _ref$gap,
19379
+ _ref$wrap = _ref.wrap,
19380
+ wrap = _ref$wrap === undefined ? 'wrap' : _ref$wrap,
19381
+ children = _ref.children,
19382
+ _ref$className = _ref.className,
19383
+ className = _ref$className === undefined ? '' : _ref$className,
19384
+ props = _objectWithoutProperties(_ref, _excluded$3);
19385
+ var _useScale = useScale(),
19386
+ unit = _useScale.unit,
19387
+ SCALES = _useScale.SCALES;
19388
+ var gapUnit = React.useMemo(function () {
19389
+ return "calc(".concat(gap, " * ").concat(unit, " * 1/3)");
19390
+ }, [gap, unit]);
19391
+ var _styles$className = {
19392
+ styles: /*#__PURE__*/React.createElement(_JSXStyle, {
19393
+ id: "3631618093",
19394
+ dynamic: [gapUnit, wrap, SCALES.width(1, 'var(--grid-container-width)'), SCALES.mt(0, 'var(--grid-container-margin)'), SCALES.mr(0, 'var(--grid-container-margin)'), SCALES.mb(0, 'var(--grid-container-margin)'), SCALES.ml(0, 'var(--grid-container-margin)')]
19395
+ }, "div.__jsx-style-dynamic-selector{--grid-gap-unit:".concat(gapUnit, ";--grid-container-margin:calc(-1 * var(--grid-gap-unit));--grid-container-width:calc(100% + var(--grid-gap-unit) * 2);display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:").concat(wrap, ";-ms-flex-wrap:").concat(wrap, ";flex-wrap:").concat(wrap, ";box-sizing:border-box;width:").concat(SCALES.width(1, 'var(--grid-container-width)'), ";margin:").concat(SCALES.mt(0, 'var(--grid-container-margin)'), " ").concat(SCALES.mr(0, 'var(--grid-container-margin)'), " ").concat(SCALES.mb(0, 'var(--grid-container-margin)'), " ").concat(SCALES.ml(0, 'var(--grid-container-margin)'), ";}")),
19396
+ className: _JSXStyle.dynamic([["3631618093", [gapUnit, wrap, SCALES.width(1, 'var(--grid-container-width)'), SCALES.mt(0, 'var(--grid-container-margin)'), SCALES.mr(0, 'var(--grid-container-margin)'), SCALES.mb(0, 'var(--grid-container-margin)'), SCALES.ml(0, 'var(--grid-container-margin)')]]])
19397
+ },
19398
+ resolveClassName = _styles$className.className,
19399
+ styles = _styles$className.styles;
19400
+ var classes = useClasses(resolveClassName, className);
19401
+ return /*#__PURE__*/React.createElement(GridBasicItem, _extends({
19402
+ className: classes
19403
+ }, props), children, styles);
19404
+ };
19405
+ GridContainerComponent.displayName = 'GridContainer';
19406
+ var GridContainer = withScale(GridContainerComponent);
19407
+
19408
+ Grid.Container = GridContainer;
19409
+
19410
+ var SelectIconClear = function SelectIconClear(_ref) {
19411
+ var onClick = _ref.onClick;
19412
+ var theme = useTheme();
19413
+ var clickHandler = function clickHandler(event) {
19414
+ event.preventDefault();
19415
+ event.stopPropagation();
19416
+ event.nativeEvent.stopImmediatePropagation();
19417
+ onClick && onClick(event);
19418
+ };
19419
+ return /*#__PURE__*/React.createElement("div", {
19420
+ onClick: clickHandler,
19421
+ className: _JSXStyle.dynamic([["1984024521", [theme.palette.accents_3, theme.palette.foreground]]]) + " " + "clear-icon"
19422
+ }, /*#__PURE__*/React.createElement("svg", {
19423
+ viewBox: "0 0 24 24",
19424
+ stroke: "currentColor",
19425
+ strokeWidth: "1.5",
19426
+ strokeLinecap: "round",
19427
+ strokeLinejoin: "round",
19428
+ fill: "none",
19429
+ shapeRendering: "geometricPrecision",
19430
+ className: _JSXStyle.dynamic([["1984024521", [theme.palette.accents_3, theme.palette.foreground]]])
19431
+ }, /*#__PURE__*/React.createElement("path", {
19432
+ d: "M18 6L6 18",
19433
+ className: _JSXStyle.dynamic([["1984024521", [theme.palette.accents_3, theme.palette.foreground]]])
19434
+ }), /*#__PURE__*/React.createElement("path", {
19435
+ d: "M6 6l12 12",
19436
+ className: _JSXStyle.dynamic([["1984024521", [theme.palette.accents_3, theme.palette.foreground]]])
19437
+ })), /*#__PURE__*/React.createElement(_JSXStyle, {
19438
+ id: "1984024521",
19439
+ dynamic: [theme.palette.accents_3, theme.palette.foreground]
19440
+ }, ".clear-icon.__jsx-style-dynamic-selector{padding:0 0 0 0.5em;margin:0;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;height:100%;cursor:pointer;box-sizing:border-box;-webkit-transition:color 150ms ease 0s;transition:color 150ms ease 0s;color:".concat(theme.palette.accents_3, ";visibility:visible;opacity:1;}.clear-icon.__jsx-style-dynamic-selector:hover{color:").concat(theme.palette.foreground, ";}svg.__jsx-style-dynamic-selector{color:currentColor;width:1em;height:1em;}")));
19441
+ };
19442
+ var MemoSelectIconClear = /*#__PURE__*/React.memo(SelectIconClear);
19443
+
19444
+ var SelectMultipleValue = function SelectMultipleValue(_ref) {
19445
+ var disabled = _ref.disabled,
19446
+ onClear = _ref.onClear,
19447
+ children = _ref.children;
19448
+ var theme = useTheme();
19449
+ return /*#__PURE__*/React.createElement(Grid, null, /*#__PURE__*/React.createElement("div", {
19450
+ className: _JSXStyle.dynamic([["3357578496", [theme.layout.radius, theme.palette.accents_2, disabled ? theme.palette.accents_4 : theme.palette.accents_6]]]) + " " + "item"
19451
+ }, children, !!onClear && /*#__PURE__*/React.createElement(MemoSelectIconClear, {
19452
+ onClick: onClear
19453
+ })), /*#__PURE__*/React.createElement(_JSXStyle, {
19454
+ id: "3357578496",
19455
+ dynamic: [theme.layout.radius, theme.palette.accents_2, disabled ? theme.palette.accents_4 : theme.palette.accents_6]
19456
+ }, ".item.__jsx-style-dynamic-selector{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;justify-items:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;line-height:1;padding:0 0.5em;font-size:var(--select-font-size);height:calc(var(--select-font-size) * 2);border-radius:".concat(theme.layout.radius, ";background-color:").concat(theme.palette.accents_2, ";color:").concat(disabled ? theme.palette.accents_4 : theme.palette.accents_6, ";}.item.__jsx-style-dynamic-selector>div:not(.clear-icon),.item.__jsx-style-dynamic-selector>div:not(.clear-icon):hover{border-radius:0;background-color:transparent;padding:0;margin:0;color:inherit;}")));
19457
+ };
19458
+ SelectMultipleValue.displayName = 'GeistSelectMultipleValue';
19459
+
19460
+ var getColors = function getColors(palette, status) {
19461
+ var colors = {
19462
+ "default": {
19463
+ border: palette.border,
19464
+ borderActive: palette.foreground,
19465
+ iconBorder: palette.accents_5,
19466
+ placeholderColor: palette.accents_3
19467
+ },
19468
+ secondary: {
19469
+ border: palette.border,
19470
+ borderActive: palette.foreground,
19471
+ iconBorder: palette.accents_5,
19472
+ placeholderColor: palette.accents_3
19473
+ },
19474
+ success: {
19475
+ border: palette.successLight,
19476
+ borderActive: palette.successDark,
19477
+ iconBorder: palette.success,
19478
+ placeholderColor: palette.accents_3
19479
+ },
19480
+ warning: {
19481
+ border: palette.warningLight,
19482
+ borderActive: palette.warningDark,
19483
+ iconBorder: palette.warning,
19484
+ placeholderColor: palette.accents_3
19485
+ },
19486
+ error: {
19487
+ border: palette.errorLight,
19488
+ borderActive: palette.errorDark,
19489
+ iconBorder: palette.error,
19490
+ placeholderColor: palette.error
19491
+ }
19492
+ };
19493
+ if (!status) return colors["default"];
19494
+ return colors[status];
19495
+ };
19496
+
19497
+ var Ellipsis = function Ellipsis(_ref) {
19498
+ var children = _ref.children,
19499
+ height = _ref.height;
19500
+ return /*#__PURE__*/React.createElement("span", {
19501
+ className: _JSXStyle.dynamic([["822089635", [height]]])
19502
+ }, children, /*#__PURE__*/React.createElement(_JSXStyle, {
19503
+ id: "822089635",
19504
+ dynamic: [height]
19505
+ }, "span.__jsx-style-dynamic-selector{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:".concat(height, ";min-width:0;}")));
19506
+ };
19507
+ var Ellipsis$1 = /*#__PURE__*/React.memo(Ellipsis);
19508
+
19509
+ var SelectInput = /*#__PURE__*/React.forwardRef(function (_ref, inputRef) {
19510
+ var visible = _ref.visible,
19511
+ onBlur = _ref.onBlur,
19512
+ onFocus = _ref.onFocus;
19513
+ var ref = React.useRef(null);
19514
+ React.useImperativeHandle(inputRef, function () {
19515
+ return ref.current;
19516
+ });
19517
+ React.useEffect(function () {
19518
+ if (visible) {
19519
+ var _ref$current;
19520
+ (_ref$current = ref.current) === null || _ref$current === undefined || _ref$current.focus();
19521
+ }
19522
+ }, [visible]);
19523
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("input", {
19524
+ ref: ref,
19525
+ type: "search",
19526
+ role: "combobox",
19527
+ "aria-haspopup": "listbox",
19528
+ readOnly: true,
19529
+ unselectable: "on",
19530
+ "aria-expanded": visible,
19531
+ onBlur: onBlur,
19532
+ onFocus: onFocus,
19533
+ className: "jsx-2813108835"
19534
+ }), /*#__PURE__*/React.createElement(_JSXStyle, {
19535
+ id: "2813108835"
19536
+ }, "input.jsx-2813108835{position:fixed;top:-10000px;left:-10000px;opacity:0;z-index:-1;width:0;height:0;padding:0;font-size:0;border:none;}"));
19537
+ });
19538
+ SelectInput.displayName = 'GeistSelectInput';
19539
+
19540
+ var _excluded$2 = ["children", "label", "type", "disabled", "initialValue", "value", "icon", "onChange", "pure", "multiple", "clearable", "placeholder", "className", "dropdownClassName", "dropdownStyle", "disableMatchWidth", "getPopupContainer", "onDropdownVisibleChange"];
19541
+ var SelectComponent = /*#__PURE__*/React.forwardRef(function (_ref, selectRef) {
19542
+ var children = _ref.children,
19543
+ label = _ref.label,
19544
+ _ref$type = _ref.type,
19545
+ type = _ref$type === undefined ? 'default' : _ref$type,
19546
+ _ref$disabled = _ref.disabled,
19547
+ disabled = _ref$disabled === undefined ? false : _ref$disabled,
19548
+ init = _ref.initialValue,
19549
+ customValue = _ref.value,
19550
+ _ref$icon = _ref.icon,
19551
+ Icon = _ref$icon === undefined ? SelectIcon : _ref$icon,
19552
+ onChange = _ref.onChange,
19553
+ _ref$pure = _ref.pure,
19554
+ pure = _ref$pure === undefined ? false : _ref$pure,
19555
+ _ref$multiple = _ref.multiple,
19556
+ multiple = _ref$multiple === undefined ? false : _ref$multiple,
19557
+ _ref$clearable = _ref.clearable,
19558
+ clearable = _ref$clearable === undefined ? true : _ref$clearable,
19559
+ placeholder = _ref.placeholder,
19560
+ _ref$className = _ref.className,
19561
+ className = _ref$className === undefined ? '' : _ref$className,
19562
+ dropdownClassName = _ref.dropdownClassName,
19563
+ dropdownStyle = _ref.dropdownStyle,
19564
+ _ref$disableMatchWidt = _ref.disableMatchWidth,
19565
+ disableMatchWidth = _ref$disableMatchWidt === undefined ? false : _ref$disableMatchWidt,
19566
+ getPopupContainer = _ref.getPopupContainer,
19567
+ _ref$onDropdownVisibl = _ref.onDropdownVisibleChange,
19568
+ onDropdownVisibleChange = _ref$onDropdownVisibl === undefined ? function () {} : _ref$onDropdownVisibl,
19569
+ props = _objectWithoutProperties(_ref, _excluded$2);
19570
+ var theme = useTheme();
19571
+ var _useScale = useScale(),
19572
+ SCALES = _useScale.SCALES;
19573
+ var ref = React.useRef(null);
19574
+ var inputRef = React.useRef(null);
19575
+ var dropdownRef = React.useRef(null);
19576
+ var _useState = React.useState(false),
19577
+ _useState2 = _slicedToArray(_useState, 2),
19578
+ visible = _useState2[0],
19579
+ setVisible = _useState2[1];
19580
+ var _useState3 = React.useState(false),
19581
+ _useState4 = _slicedToArray(_useState3, 2),
19582
+ selectFocus = _useState4[0],
19583
+ setSelectFocus = _useState4[1];
19584
+ var _useCurrentState = useCurrentState(function () {
19585
+ if (!multiple) return init;
19586
+ if (Array.isArray(init)) return init;
19587
+ return typeof init === 'undefined' ? [] : [init];
19588
+ }),
19589
+ _useCurrentState2 = _slicedToArray(_useCurrentState, 3),
19590
+ value = _useCurrentState2[0],
19591
+ setValue = _useCurrentState2[1],
19592
+ valueRef = _useCurrentState2[2];
19593
+ var isEmpty = React.useMemo(function () {
19594
+ if (!Array.isArray(value)) return !value;
19595
+ return value.length === 0;
19596
+ }, [value]);
19597
+ var _useMemo = React.useMemo(function () {
19598
+ return getColors(theme.palette, type);
19599
+ }, [theme.palette, type]),
19600
+ border = _useMemo.border,
19601
+ borderActive = _useMemo.borderActive,
19602
+ iconBorder = _useMemo.iconBorder,
19603
+ placeholderColor = _useMemo.placeholderColor;
19604
+ var updateVisible = function updateVisible(next) {
19605
+ onDropdownVisibleChange(next);
19606
+ setVisible(next);
19607
+ };
19608
+ var updateValue = function updateValue(next) {
19609
+ setValue(function (last) {
19610
+ if (!Array.isArray(last)) return next;
19611
+ if (!last.includes(next)) return [].concat(_toConsumableArray(last), [next]);
19612
+ return last.filter(function (item) {
19613
+ return item !== next;
19614
+ });
19615
+ });
19616
+ onChange && onChange(valueRef.current);
19617
+ if (!multiple) {
19618
+ updateVisible(false);
19619
+ }
19620
+ };
19621
+ var initialValue = React.useMemo(function () {
19622
+ return {
19623
+ value: value,
19624
+ visible: visible,
19625
+ updateValue: updateValue,
19626
+ updateVisible: updateVisible,
19627
+ ref: ref,
19628
+ disableAll: disabled
19629
+ };
19630
+ }, [visible, disabled, ref, value, multiple]);
19631
+ var clickHandler = function clickHandler(event) {
19632
+ event.stopPropagation();
19633
+ event.nativeEvent.stopImmediatePropagation();
19634
+ event.preventDefault();
19635
+ if (disabled) return;
19636
+ updateVisible(!visible);
19637
+ event.preventDefault();
19638
+ };
19639
+ var mouseDownHandler = function mouseDownHandler(event) {
19640
+ /* istanbul ignore next */
19641
+ if (visible) {
19642
+ event.preventDefault();
19643
+ }
19644
+ };
19645
+ React.useEffect(function () {
19646
+ if (customValue === undefined) return;
19647
+ setValue(customValue);
19648
+ }, [customValue]);
19649
+ React.useImperativeHandle(selectRef, function () {
19650
+ return {
19651
+ focus: function focus() {
19652
+ var _inputRef$current;
19653
+ return (_inputRef$current = inputRef.current) === null || _inputRef$current === undefined ? undefined : _inputRef$current.focus();
19654
+ },
19655
+ blur: function blur() {
19656
+ var _inputRef$current2;
19657
+ return (_inputRef$current2 = inputRef.current) === null || _inputRef$current2 === undefined ? undefined : _inputRef$current2.blur();
19658
+ },
19659
+ scrollTo: function scrollTo(options) {
19660
+ var _dropdownRef$current;
19661
+ return (_dropdownRef$current = dropdownRef.current) === null || _dropdownRef$current === undefined ? undefined : _dropdownRef$current.scrollTo(options);
19662
+ }
19663
+ };
19664
+ }, [inputRef, dropdownRef]);
19665
+ var selectedChild = React.useMemo(function () {
19666
+ var _pickChildByProps = pickChildByProps(children, 'value', value),
19667
+ _pickChildByProps2 = _slicedToArray(_pickChildByProps, 2),
19668
+ optionChildren = _pickChildByProps2[1];
19669
+ return React.Children.map(optionChildren, function (child) {
19670
+ if (! /*#__PURE__*/React.isValidElement(child)) return null;
19671
+ var el = /*#__PURE__*/React.cloneElement(child); // { preventAllEvents: true }
19672
+ if (!multiple) return el;
19673
+ return /*#__PURE__*/React.createElement(SelectMultipleValue, {
19674
+ disabled: disabled,
19675
+ onClear: clearable ? function () {
19676
+ return updateValue(child.props.value);
19677
+ } : null
19678
+ }, el);
19679
+ });
19680
+ }, [value, children, multiple]);
19681
+ var onInputBlur = function onInputBlur() {
19682
+ updateVisible(false);
19683
+ setSelectFocus(false);
19684
+ };
19685
+ var classes = useClasses('select', {
19686
+ active: selectFocus || visible,
19687
+ multiple: multiple
19688
+ }, className);
19689
+ return /*#__PURE__*/React.createElement("div", {
19690
+ className: _JSXStyle.dynamic([["3282295248", [disabled ? 'not-allowed' : 'pointer', border, theme.layout.radius, disabled ? theme.palette.accents_1 : theme.palette.background, SCALES.font(0.875), SCALES.height(2.25), SCALES.width(1, 'initial'), SCALES.pt(0), SCALES.pr(0.334), SCALES.pb(0), SCALES.pl(0.667), SCALES.mt(0), SCALES.mr(0), SCALES.mb(0), SCALES.ml(0), SCALES.pt(0.334), SCALES.pr(0.334), SCALES.pb(0.334), SCALES.pl(0.667), disabled ? theme.palette.border : borderActive, disabled ? theme.palette.accents_5 : borderActive, disabled ? theme.palette.accents_4 : theme.palette.foreground, placeholderColor, theme.layout.gapQuarter, visible ? '180' : '0', iconBorder]]])
19691
+ }, label && /*#__PURE__*/React.createElement("label", {
19692
+ style: {
19693
+ display: 'block',
19694
+ marginBottom: '0.4rem',
19695
+ fontSize: '14px',
19696
+ fontWeight: 'light'
19697
+ },
19698
+ className: _JSXStyle.dynamic([["3282295248", [disabled ? 'not-allowed' : 'pointer', border, theme.layout.radius, disabled ? theme.palette.accents_1 : theme.palette.background, SCALES.font(0.875), SCALES.height(2.25), SCALES.width(1, 'initial'), SCALES.pt(0), SCALES.pr(0.334), SCALES.pb(0), SCALES.pl(0.667), SCALES.mt(0), SCALES.mr(0), SCALES.mb(0), SCALES.ml(0), SCALES.pt(0.334), SCALES.pr(0.334), SCALES.pb(0.334), SCALES.pl(0.667), disabled ? theme.palette.border : borderActive, disabled ? theme.palette.accents_5 : borderActive, disabled ? theme.palette.accents_4 : theme.palette.foreground, placeholderColor, theme.layout.gapQuarter, visible ? '180' : '0', iconBorder]]])
19699
+ }, label), /*#__PURE__*/React.createElement(SelectContext.Provider, {
19700
+ value: initialValue
19701
+ }, /*#__PURE__*/React.createElement("div", _extends({
19702
+ ref: ref,
19703
+ onClick: clickHandler,
19704
+ onMouseDown: mouseDownHandler
19705
+ }, props, {
19706
+ className: _JSXStyle.dynamic([["3282295248", [disabled ? 'not-allowed' : 'pointer', border, theme.layout.radius, disabled ? theme.palette.accents_1 : theme.palette.background, SCALES.font(0.875), SCALES.height(2.25), SCALES.width(1, 'initial'), SCALES.pt(0), SCALES.pr(0.334), SCALES.pb(0), SCALES.pl(0.667), SCALES.mt(0), SCALES.mr(0), SCALES.mb(0), SCALES.ml(0), SCALES.pt(0.334), SCALES.pr(0.334), SCALES.pb(0.334), SCALES.pl(0.667), disabled ? theme.palette.border : borderActive, disabled ? theme.palette.accents_5 : borderActive, disabled ? theme.palette.accents_4 : theme.palette.foreground, placeholderColor, theme.layout.gapQuarter, visible ? '180' : '0', iconBorder]]]) + " " + (props && props.className != null && props.className || classes || "")
19707
+ }), /*#__PURE__*/React.createElement(SelectInput, {
19708
+ ref: inputRef,
19709
+ visible: visible,
19710
+ onBlur: onInputBlur,
19711
+ onFocus: function onFocus() {
19712
+ return setSelectFocus(true);
19713
+ }
19714
+ }), isEmpty && /*#__PURE__*/React.createElement("span", {
19715
+ className: _JSXStyle.dynamic([["3282295248", [disabled ? 'not-allowed' : 'pointer', border, theme.layout.radius, disabled ? theme.palette.accents_1 : theme.palette.background, SCALES.font(0.875), SCALES.height(2.25), SCALES.width(1, 'initial'), SCALES.pt(0), SCALES.pr(0.334), SCALES.pb(0), SCALES.pl(0.667), SCALES.mt(0), SCALES.mr(0), SCALES.mb(0), SCALES.ml(0), SCALES.pt(0.334), SCALES.pr(0.334), SCALES.pb(0.334), SCALES.pl(0.667), disabled ? theme.palette.border : borderActive, disabled ? theme.palette.accents_5 : borderActive, disabled ? theme.palette.accents_4 : theme.palette.foreground, placeholderColor, theme.layout.gapQuarter, visible ? '180' : '0', iconBorder]]]) + " " + "value placeholder"
19716
+ }, /*#__PURE__*/React.createElement(Ellipsis$1, {
19717
+ height: "var(--select-height)"
19718
+ }, placeholder)), value && !multiple && /*#__PURE__*/React.createElement("span", {
19719
+ className: _JSXStyle.dynamic([["3282295248", [disabled ? 'not-allowed' : 'pointer', border, theme.layout.radius, disabled ? theme.palette.accents_1 : theme.palette.background, SCALES.font(0.875), SCALES.height(2.25), SCALES.width(1, 'initial'), SCALES.pt(0), SCALES.pr(0.334), SCALES.pb(0), SCALES.pl(0.667), SCALES.mt(0), SCALES.mr(0), SCALES.mb(0), SCALES.ml(0), SCALES.pt(0.334), SCALES.pr(0.334), SCALES.pb(0.334), SCALES.pl(0.667), disabled ? theme.palette.border : borderActive, disabled ? theme.palette.accents_5 : borderActive, disabled ? theme.palette.accents_4 : theme.palette.foreground, placeholderColor, theme.layout.gapQuarter, visible ? '180' : '0', iconBorder]]]) + " " + "value"
19720
+ }, selectedChild), value && multiple && /*#__PURE__*/React.createElement(Grid.Container, {
19721
+ gap: 0.5
19722
+ }, selectedChild), /*#__PURE__*/React.createElement(SelectDropdown, {
19723
+ ref: dropdownRef,
19724
+ visible: visible,
19725
+ className: dropdownClassName,
19726
+ dropdownStyle: dropdownStyle,
19727
+ disableMatchWidth: disableMatchWidth,
19728
+ getPopupContainer: getPopupContainer
19729
+ }, children), !pure && /*#__PURE__*/React.createElement("div", {
19730
+ className: _JSXStyle.dynamic([["3282295248", [disabled ? 'not-allowed' : 'pointer', border, theme.layout.radius, disabled ? theme.palette.accents_1 : theme.palette.background, SCALES.font(0.875), SCALES.height(2.25), SCALES.width(1, 'initial'), SCALES.pt(0), SCALES.pr(0.334), SCALES.pb(0), SCALES.pl(0.667), SCALES.mt(0), SCALES.mr(0), SCALES.mb(0), SCALES.ml(0), SCALES.pt(0.334), SCALES.pr(0.334), SCALES.pb(0.334), SCALES.pl(0.667), disabled ? theme.palette.border : borderActive, disabled ? theme.palette.accents_5 : borderActive, disabled ? theme.palette.accents_4 : theme.palette.foreground, placeholderColor, theme.layout.gapQuarter, visible ? '180' : '0', iconBorder]]]) + " " + "icon"
19731
+ }, /*#__PURE__*/React.createElement(Icon, {
19732
+ className: _JSXStyle.dynamic([["3282295248", [disabled ? 'not-allowed' : 'pointer', border, theme.layout.radius, disabled ? theme.palette.accents_1 : theme.palette.background, SCALES.font(0.875), SCALES.height(2.25), SCALES.width(1, 'initial'), SCALES.pt(0), SCALES.pr(0.334), SCALES.pb(0), SCALES.pl(0.667), SCALES.mt(0), SCALES.mr(0), SCALES.mb(0), SCALES.ml(0), SCALES.pt(0.334), SCALES.pr(0.334), SCALES.pb(0.334), SCALES.pl(0.667), disabled ? theme.palette.border : borderActive, disabled ? theme.palette.accents_5 : borderActive, disabled ? theme.palette.accents_4 : theme.palette.foreground, placeholderColor, theme.layout.gapQuarter, visible ? '180' : '0', iconBorder]]])
19733
+ })))), /*#__PURE__*/React.createElement(_JSXStyle, {
19734
+ id: "3282295248",
19735
+ dynamic: [disabled ? 'not-allowed' : 'pointer', border, theme.layout.radius, disabled ? theme.palette.accents_1 : theme.palette.background, SCALES.font(0.875), SCALES.height(2.25), SCALES.width(1, 'initial'), SCALES.pt(0), SCALES.pr(0.334), SCALES.pb(0), SCALES.pl(0.667), SCALES.mt(0), SCALES.mr(0), SCALES.mb(0), SCALES.ml(0), SCALES.pt(0.334), SCALES.pr(0.334), SCALES.pb(0.334), SCALES.pl(0.667), disabled ? theme.palette.border : borderActive, disabled ? theme.palette.accents_5 : borderActive, disabled ? theme.palette.accents_4 : theme.palette.foreground, placeholderColor, theme.layout.gapQuarter, visible ? '180' : '0', iconBorder]
19736
+ }, ".select.__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;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;white-space:nowrap;position:relative;cursor:".concat(disabled ? 'not-allowed' : 'pointer', ";max-width:90vw;overflow:hidden;-webkit-transition:border 150ms ease-in 0s,color 200ms ease-out 0s, box-shadow 200ms ease 0s;transition:border 150ms ease-in 0s,color 200ms ease-out 0s, box-shadow 200ms ease 0s;border:1px solid ").concat(border, ";border-radius:").concat(theme.layout.radius, ";background-color:").concat(disabled ? theme.palette.accents_1 : theme.palette.background, ";--select-font-size:").concat(SCALES.font(0.875), ";--select-height:").concat(SCALES.height(2.25), ";min-width:11.5em;width:").concat(SCALES.width(1, 'initial'), ";height:var(--select-height);padding:").concat(SCALES.pt(0), " ").concat(SCALES.pr(0.334), " ").concat(SCALES.pb(0), " ").concat(SCALES.pl(0.667), ";margin:").concat(SCALES.mt(0), " ").concat(SCALES.mr(0), " ").concat(SCALES.mb(0), " ").concat(SCALES.ml(0), ";}.multiple.__jsx-style-dynamic-selector{height:auto;min-height:var(--select-height);padding:").concat(SCALES.pt(0.334), " ").concat(SCALES.pr(0.334), " ").concat(SCALES.pb(0.334), " ").concat(SCALES.pl(0.667), ";}.select.active.__jsx-style-dynamic-selector,.select.__jsx-style-dynamic-selector:hover{border-color:").concat(disabled ? theme.palette.border : borderActive, ";}.select.active.icon.__jsx-style-dynamic-selector,.select.__jsx-style-dynamic-selector:hover .icon.__jsx-style-dynamic-selector{color:").concat(disabled ? theme.palette.accents_5 : borderActive, ";}.value.__jsx-style-dynamic-selector{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-flex:1;-ms-flex:1;flex:1;height:100%;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;line-height:1;padding:0;margin-right:1.25em;font-size:var(--select-font-size);color:").concat(disabled ? theme.palette.accents_4 : theme.palette.foreground, ";width:calc(100% - 1.25em);}.value.__jsx-style-dynamic-selector>div,.value.__jsx-style-dynamic-selector>div:hover{border-radius:0;background-color:transparent;padding:0;margin:0;color:inherit;}.placeholder.__jsx-style-dynamic-selector{color:").concat(placeholderColor, ";}.icon.__jsx-style-dynamic-selector{position:absolute;right:").concat(theme.layout.gapQuarter, ";font-size:var(--select-font-size);top:50%;bottom:0;-webkit-transform:translateY(-50%) rotate(").concat(visible ? '180' : '0', "deg);-ms-transform:translateY(-50%) rotate(").concat(visible ? '180' : '0', "deg);transform:translateY(-50%) rotate(").concat(visible ? '180' : '0', "deg);pointer-events:none;-webkit-transition:-webkit-transform 200ms ease;-webkit-transition:transform 200ms ease;transition:transform 200ms ease;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:").concat(iconBorder, ";}")));
19737
+ });
19738
+ SelectComponent.displayName = 'Select';
19739
+ var Select = withScale(SelectComponent);
19740
+
19741
+ var _excluded$1 = ["value", "className", "children", "disabled", "divider", "label", "preventAllEvents"];
19742
+ var SelectOptionComponent = function SelectOptionComponent(_ref) {
19743
+ var identValue = _ref.value,
19744
+ _ref$className = _ref.className,
19745
+ className = _ref$className === undefined ? '' : _ref$className,
19746
+ children = _ref.children,
19747
+ _ref$disabled = _ref.disabled,
19748
+ disabled = _ref$disabled === undefined ? false : _ref$disabled,
19749
+ _ref$divider = _ref.divider,
19750
+ divider = _ref$divider === undefined ? false : _ref$divider,
19751
+ _ref$label = _ref.label,
19752
+ label = _ref$label === undefined ? false : _ref$label,
19753
+ _ref$preventAllEvents = _ref.preventAllEvents,
19754
+ preventAllEvents = _ref$preventAllEvents === undefined ? false : _ref$preventAllEvents,
19755
+ props = _objectWithoutProperties(_ref, _excluded$1);
19756
+ var theme = useTheme();
19757
+ var _useScale = useScale(),
19758
+ SCALES = _useScale.SCALES;
19759
+ var _useSelectContext = useSelectContext(),
19760
+ updateValue = _useSelectContext.updateValue,
19761
+ value = _useSelectContext.value,
19762
+ disableAll = _useSelectContext.disableAll;
19763
+ var isDisabled = React.useMemo(function () {
19764
+ return disabled || disableAll;
19765
+ }, [disabled, disableAll]);
19766
+ var isLabel = React.useMemo(function () {
19767
+ return label || divider;
19768
+ }, [label, divider]);
19769
+ var classes = useClasses('option', {
19770
+ divider: divider,
19771
+ label: label
19772
+ }, className);
19773
+ if (!isLabel && identValue === undefined) {
19774
+ useWarning('The props "value" is required.', 'Select Option');
19775
+ }
19776
+ var selected = React.useMemo(function () {
19777
+ if (!value) return false;
19778
+ if (typeof value === 'string') {
19779
+ return identValue === value;
19780
+ }
19781
+ return value.includes("".concat(identValue));
19782
+ }, [identValue, value]);
19783
+ var bgColor = React.useMemo(function () {
19784
+ if (isDisabled) return theme.palette.accents_1;
19785
+ return selected ? theme.palette.accents_2 : theme.palette.background;
19786
+ }, [selected, isDisabled, theme.palette]);
19787
+ var hoverBgColor = React.useMemo(function () {
19788
+ if (isDisabled || isLabel || selected) return bgColor;
19789
+ return theme.palette.accents_1;
19790
+ }, [selected, isDisabled, theme.palette, isLabel, bgColor]);
19791
+ var color = React.useMemo(function () {
19792
+ if (isDisabled) return theme.palette.accents_4;
19793
+ return selected ? theme.palette.foreground : theme.palette.accents_5;
19794
+ }, [selected, isDisabled, theme.palette]);
19795
+ var clickHandler = function clickHandler(event) {
19796
+ if (preventAllEvents) return;
19797
+ event.stopPropagation();
19798
+ event.nativeEvent.stopImmediatePropagation();
19799
+ event.preventDefault();
19800
+ if (isDisabled || isLabel) return;
19801
+ updateValue && updateValue(identValue);
19802
+ };
19803
+ return /*#__PURE__*/React.createElement("div", _extends({
19804
+ onClick: clickHandler
19805
+ }, props, {
19806
+ className: _JSXStyle.dynamic([["199367556", [bgColor, color, isDisabled ? 'not-allowed' : 'pointer', SCALES.font(0.75), SCALES.width(1, '100%'), SCALES.height(2.25), SCALES.pt(0), SCALES.pr(0.667), SCALES.pb(0), SCALES.pl(0.667), SCALES.mt(0), SCALES.mr(0), SCALES.mb(0), SCALES.ml(0), hoverBgColor, theme.palette.accents_7, theme.palette.border, SCALES.width(1, '100%'), SCALES.height(1, 0), SCALES.pt(0), SCALES.pr(0), SCALES.pb(0), SCALES.pl(0), SCALES.mt(0.5), SCALES.mr(0), SCALES.mb(0.5), SCALES.ml(0), theme.palette.accents_7, theme.palette.border, SCALES.font(0.875), SCALES.width(1, '100%')]]]) + " " + (props && props.className != null && props.className || classes || "")
19807
+ }), /*#__PURE__*/React.createElement(Ellipsis$1, {
19808
+ height: SCALES.height(2.25)
19809
+ }, children), /*#__PURE__*/React.createElement(_JSXStyle, {
19810
+ id: "199367556",
19811
+ dynamic: [bgColor, color, isDisabled ? 'not-allowed' : 'pointer', SCALES.font(0.75), SCALES.width(1, '100%'), SCALES.height(2.25), SCALES.pt(0), SCALES.pr(0.667), SCALES.pb(0), SCALES.pl(0.667), SCALES.mt(0), SCALES.mr(0), SCALES.mb(0), SCALES.ml(0), hoverBgColor, theme.palette.accents_7, theme.palette.border, SCALES.width(1, '100%'), SCALES.height(1, 0), SCALES.pt(0), SCALES.pr(0), SCALES.pb(0), SCALES.pl(0), SCALES.mt(0.5), SCALES.mr(0), SCALES.mb(0.5), SCALES.ml(0), theme.palette.accents_7, theme.palette.border, SCALES.font(0.875), SCALES.width(1, '100%')]
19812
+ }, ".option.__jsx-style-dynamic-selector{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;max-width:100%;box-sizing:border-box;-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-weight:normal;background-color:".concat(bgColor, ";color:").concat(color, ";-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border:0;cursor:").concat(isDisabled ? 'not-allowed' : 'pointer', ";-webkit-transition:background 0.2s ease 0s,border-color 0.2s ease 0s;transition:background 0.2s ease 0s,border-color 0.2s ease 0s;--select-font-size:").concat(SCALES.font(0.75), ";font-size:var(--select-font-size);width:").concat(SCALES.width(1, '100%'), ";height:").concat(SCALES.height(2.25), ";padding:").concat(SCALES.pt(0), " ").concat(SCALES.pr(0.667), " ").concat(SCALES.pb(0), " ").concat(SCALES.pl(0.667), ";margin:").concat(SCALES.mt(0), " ").concat(SCALES.mr(0), " ").concat(SCALES.mb(0), " ").concat(SCALES.ml(0), ";}.option.__jsx-style-dynamic-selector:hover{background-color:").concat(hoverBgColor, ";color:").concat(theme.palette.accents_7, ";}.divider.__jsx-style-dynamic-selector{line-height:0;overflow:hidden;border-top:1px solid ").concat(theme.palette.border, ";width:").concat(SCALES.width(1, '100%'), ";height:").concat(SCALES.height(1, 0), ";padding:").concat(SCALES.pt(0), " ").concat(SCALES.pr(0), " ").concat(SCALES.pb(0), " ").concat(SCALES.pl(0), ";margin:").concat(SCALES.mt(0.5), " ").concat(SCALES.mr(0), " ").concat(SCALES.mb(0.5), " ").concat(SCALES.ml(0), ";}.label.__jsx-style-dynamic-selector{color:").concat(theme.palette.accents_7, ";border-bottom:1px solid ").concat(theme.palette.border, ";text-transform:capitalize;cursor:default;font-size:").concat(SCALES.font(0.875), ";width:").concat(SCALES.width(1, '100%'), ";font-weight:500;}")));
19813
+ };
19814
+ SelectOptionComponent.displayName = 'SelectOption';
19815
+ var SelectOption = withScale(SelectOptionComponent);
19816
+
19817
+ Select.Option = SelectOption;
19818
+
18860
19819
  var makeColgroup = function makeColgroup(width, columns) {
18861
19820
  var unsetWidthCount = columns.filter(function (c) {
18862
19821
  return !c.width;
@@ -18892,10 +19851,7 @@ var TableHead = function TableHead(props) {
18892
19851
  if (!isScalableWidth) return /*#__PURE__*/React.createElement("colgroup", null);
18893
19852
  return makeColgroup(width, columns);
18894
19853
  }, [isScalableWidth, width]);
18895
- var handleFilterChange = function handleFilterChange(e) {
18896
- var _e$target = e.target,
18897
- name = _e$target.name,
18898
- value = _e$target.value;
19854
+ var handleFilterChange = function handleFilterChange(name, value) {
18899
19855
  setFilters(function (prevFilters) {
18900
19856
  var updatedFilters = _objectSpread2(_objectSpread2({}, prevFilters), {}, _defineProperty({}, name, value));
18901
19857
  // Call onFiltersChange to propagate filter changes to the parent
@@ -18915,15 +19871,17 @@ var TableHead = function TableHead(props) {
18915
19871
  var unq_accessor = _.uniqueId(filterName);
18916
19872
  if (accessor === 'fixed') {
18917
19873
  // Dropdown filter for categorical data (category, status)
18918
- return /*#__PURE__*/React.createElement("td", null, /*#__PURE__*/React.createElement("select", {
19874
+ return /*#__PURE__*/React.createElement("td", null, /*#__PURE__*/React.createElement(Select, {
18919
19875
  key: unq_accessor,
18920
19876
  name: filterName,
18921
19877
  value: filters[filterName],
18922
- onChange: handleFilterChange
18923
- }, /*#__PURE__*/React.createElement("option", {
19878
+ onChange: function onChange(newValue) {
19879
+ return handleFilterChange(filterName, newValue);
19880
+ }
19881
+ }, /*#__PURE__*/React.createElement(Select.Option, {
18924
19882
  value: ""
18925
19883
  }, "All ", Header), options ? options.map(function (option) {
18926
- return /*#__PURE__*/React.createElement("option", {
19884
+ return /*#__PURE__*/React.createElement(Select.Option, {
18927
19885
  value: option.value
18928
19886
  }, option.name);
18929
19887
  }) : null));
@@ -18932,11 +19890,13 @@ var TableHead = function TableHead(props) {
18932
19890
  // Date filter
18933
19891
  return /*#__PURE__*/React.createElement("th", {
18934
19892
  key: unq_accessor
18935
- }, /*#__PURE__*/React.createElement("input", {
18936
- type: "date",
19893
+ }, /*#__PURE__*/React.createElement(Input, {
19894
+ htmlType: "date",
18937
19895
  name: filterName,
18938
19896
  value: filters[filterName],
18939
- onChange: handleFilterChange
19897
+ onChange: function onChange(e) {
19898
+ return handleFilterChange(filterName, e.target.value);
19899
+ }
18940
19900
  }));
18941
19901
  }
18942
19902
 
@@ -18952,7 +19912,9 @@ var TableHead = function TableHead(props) {
18952
19912
  minWidth: 160
18953
19913
  },
18954
19914
  value: filters[filterName],
18955
- onChange: handleFilterChange,
19915
+ onChange: function onChange(e) {
19916
+ return handleFilterChange(filterName, e.target.value);
19917
+ },
18956
19918
  placeholder: "Search...",
18957
19919
  fullWidth: true
18958
19920
  }));
@@ -19073,6 +20035,7 @@ var TableBody = function TableBody(_ref) {
19073
20035
  delete rw.table;
19074
20036
  delete rw.style;
19075
20037
  delete rw.onDragStart;
20038
+ console.log(row);
19076
20039
  var frow = Object.fromEntries(Object.entries(row).filter(function (_ref2) {
19077
20040
  var _ref3 = _slicedToArray(_ref2, 2),
19078
20041
  ky = _ref3[0];
@@ -19106,7 +20069,7 @@ var TableBody = function TableBody(_ref) {
19106
20069
  }
19107
20070
  }, /*#__PURE__*/React.createElement(TableCell, {
19108
20071
  columns: cols,
19109
- row: frow,
20072
+ row: rw,
19110
20073
  rowIndex: index,
19111
20074
  emptyText: emptyText,
19112
20075
  onCellClick: onCell
@@ -19203,37 +20166,6 @@ var useRealShape = function useRealShape(ref) {
19203
20166
 
19204
20167
  /* "use client" */
19205
20168
 
19206
- var useResize = function useResize(callback) {
19207
- var immediatelyInvoke = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
19208
- React.useEffect(function () {
19209
- var fn = function fn() {
19210
- return callback();
19211
- };
19212
- if (immediatelyInvoke) {
19213
- fn();
19214
- }
19215
- window.addEventListener('resize', fn);
19216
- return function () {
19217
- return window.removeEventListener('resize', fn);
19218
- };
19219
- }, []);
19220
- };
19221
-
19222
- var warningStack = {};
19223
- var useWarning = function useWarning(message, component) {
19224
- var tag = " [".concat(component, "]") ;
19225
- var log = "[Helpdice UI]".concat(tag, ": ").concat(message);
19226
- if (typeof console === 'undefined') return;
19227
- if (warningStack[log]) return;
19228
- warningStack[log] = true;
19229
- if (process.env.NODE_ENV !== 'production') {
19230
- return console.error(log);
19231
- }
19232
- console.warn(log);
19233
- };
19234
-
19235
- /* "use client" */
19236
-
19237
20169
  var TableColumn = function TableColumn(columnProps) {
19238
20170
  var _ref = columnProps,
19239
20171
  children = _ref.children,