@activecollab/components 1.0.377 → 1.0.379

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 (50) hide show
  1. package/dist/cjs/components/EditableContent/Styles.js +1 -1
  2. package/dist/cjs/components/EditableContent/Styles.js.map +1 -1
  3. package/dist/cjs/components/EditableHours/EditableHours.js +17 -211
  4. package/dist/cjs/components/EditableHours/EditableHours.js.map +1 -1
  5. package/dist/cjs/components/HoursWrapper/HoursWrapper.js +254 -0
  6. package/dist/cjs/components/HoursWrapper/HoursWrapper.js.map +1 -0
  7. package/dist/cjs/components/HoursWrapper/index.js +17 -0
  8. package/dist/cjs/components/HoursWrapper/index.js.map +1 -0
  9. package/dist/cjs/components/Input/Input.js.map +1 -1
  10. package/dist/cjs/components/Input/InputHours.js +54 -0
  11. package/dist/cjs/components/Input/InputHours.js.map +1 -0
  12. package/dist/cjs/utils/timeUtils.js +3 -0
  13. package/dist/cjs/utils/timeUtils.js.map +1 -1
  14. package/dist/cjs/utils/timeUtils.test.js +1 -1
  15. package/dist/cjs/utils/timeUtils.test.js.map +1 -1
  16. package/dist/esm/components/ComboBox/Styles.d.ts +1 -1
  17. package/dist/esm/components/EditableContent/Styles.js +1 -1
  18. package/dist/esm/components/EditableContent/Styles.js.map +1 -1
  19. package/dist/esm/components/EditableHours/EditableHours.d.ts +2 -1
  20. package/dist/esm/components/EditableHours/EditableHours.d.ts.map +1 -1
  21. package/dist/esm/components/EditableHours/EditableHours.js +18 -203
  22. package/dist/esm/components/EditableHours/EditableHours.js.map +1 -1
  23. package/dist/esm/components/HoursWrapper/HoursWrapper.d.ts +9 -0
  24. package/dist/esm/components/HoursWrapper/HoursWrapper.d.ts.map +1 -0
  25. package/dist/esm/components/HoursWrapper/HoursWrapper.js +235 -0
  26. package/dist/esm/components/HoursWrapper/HoursWrapper.js.map +1 -0
  27. package/dist/esm/components/HoursWrapper/index.d.ts +2 -0
  28. package/dist/esm/components/HoursWrapper/index.d.ts.map +1 -0
  29. package/dist/esm/components/HoursWrapper/index.js +2 -0
  30. package/dist/esm/components/HoursWrapper/index.js.map +1 -0
  31. package/dist/esm/components/Input/Input.d.ts +5 -3
  32. package/dist/esm/components/Input/Input.d.ts.map +1 -1
  33. package/dist/esm/components/Input/Input.js.map +1 -1
  34. package/dist/esm/components/Input/InputHours.d.ts +7 -0
  35. package/dist/esm/components/Input/InputHours.d.ts.map +1 -0
  36. package/dist/esm/components/Input/InputHours.js +42 -0
  37. package/dist/esm/components/Input/InputHours.js.map +1 -0
  38. package/dist/esm/components/Select/Styles.d.ts +1 -1
  39. package/dist/esm/components/Select/Styles.d.ts.map +1 -1
  40. package/dist/esm/utils/timeUtils.d.ts +1 -1
  41. package/dist/esm/utils/timeUtils.d.ts.map +1 -1
  42. package/dist/esm/utils/timeUtils.js +3 -0
  43. package/dist/esm/utils/timeUtils.js.map +1 -1
  44. package/dist/esm/utils/timeUtils.test.js +1 -1
  45. package/dist/esm/utils/timeUtils.test.js.map +1 -1
  46. package/dist/index.js +88 -42
  47. package/dist/index.js.map +1 -1
  48. package/dist/index.min.js +1 -1
  49. package/dist/index.min.js.map +1 -1
  50. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -15747,7 +15747,7 @@
15747
15747
  var StyledSpan = styled__default["default"](Typography).withConfig({
15748
15748
  displayName: "Styles__StyledSpan",
15749
15749
  componentId: "sc-1wapx2a-1"
15750
- })(["visibility:hidden;display:block;padding-left:4px;padding-right:4px;padding-top:1px;padding-bottom:1px;position:relative;border:1px solid transparent;border-radius:6px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:pre;font-variant-numeric:tabular-nums;", " &:empty:before{content:\"i\";}"], function (_ref) {
15750
+ })(["visibility:hidden;display:block;padding-left:4px;padding-right:4px;padding-top:1px;padding-bottom:1px;position:relative;border:1px solid transparent;border-radius:6px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:pre;font-variant-numeric:tabular-nums;", " &:empty:before{content:\" \";}"], function (_ref) {
15751
15751
  var $disabled = _ref.$disabled;
15752
15752
  return $disabled && styled.css(["visibility:visible;"]);
15753
15753
  });
@@ -15914,6 +15914,9 @@
15914
15914
 
15915
15915
  var decimalToHours = function decimalToHours(num) {
15916
15916
  var withLeadingZeroHours = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
15917
+ if (!num) {
15918
+ return "";
15919
+ }
15917
15920
  if (typeof num === "string" && !num) {
15918
15921
  return withLeadingZeroHours ? "00:00" : "0:00";
15919
15922
  }
@@ -15971,13 +15974,13 @@
15971
15974
  return !Number.isInteger(num);
15972
15975
  };
15973
15976
 
15974
- var _excluded$c = ["value", "onCancel", "onSave", "inputProps", "allowEmptyValue", "withLeadingZero", "validation", "incrementOnlySelected", "minuteIncrement"];
15975
- var EditableHours = /*#__PURE__*/React__default["default"].forwardRef(function (_ref, ref) {
15976
- var _ref$value = _ref.value,
15977
- value = _ref$value === void 0 ? 0 : _ref$value,
15977
+ // eslint-disable-next-line @typescript-eslint/no-empty-interface
15978
+
15979
+ var HoursWrapper = /*#__PURE__*/React__default["default"].forwardRef(function (_ref, ref) {
15980
+ var children = _ref.children,
15981
+ value = _ref.value,
15978
15982
  onCancel = _ref.onCancel,
15979
15983
  onSave = _ref.onSave,
15980
- inputProps = _ref.inputProps,
15981
15984
  allowEmptyValue = _ref.allowEmptyValue,
15982
15985
  _ref$withLeadingZero = _ref.withLeadingZero,
15983
15986
  withLeadingZero = _ref$withLeadingZero === void 0 ? true : _ref$withLeadingZero,
@@ -15986,25 +15989,14 @@
15986
15989
  _ref$incrementOnlySel = _ref.incrementOnlySelected,
15987
15990
  incrementOnlySelected = _ref$incrementOnlySel === void 0 ? false : _ref$incrementOnlySel,
15988
15991
  _ref$minuteIncrement = _ref.minuteIncrement,
15989
- minuteIncrement = _ref$minuteIncrement === void 0 ? 1 : _ref$minuteIncrement,
15990
- rest = _objectWithoutProperties(_ref, _excluded$c);
15992
+ minuteIncrement = _ref$minuteIncrement === void 0 ? 1 : _ref$minuteIncrement;
15991
15993
  var inputRef = React.useRef(null);
15992
15994
  var handleRef = useForkRef(ref, inputRef);
15993
- var _useState = React.useState(function () {
15994
- if (value !== undefined) {
15995
- return decimalToHours(value, withLeadingZero);
15996
- }
15997
- return "";
15998
- }),
15995
+ var _useState = React.useState(decimalToHours(value, withLeadingZero)),
15999
15996
  _useState2 = _slicedToArray(_useState, 2),
16000
15997
  currentValue = _useState2[0],
16001
15998
  setCurrentValue = _useState2[1];
16002
- var _useState3 = React.useState(function () {
16003
- if (value !== undefined) {
16004
- return decimalToHours(value, withLeadingZero);
16005
- }
16006
- return "";
16007
- }),
15999
+ var _useState3 = React.useState(decimalToHours(value, withLeadingZero)),
16008
16000
  _useState4 = _slicedToArray(_useState3, 2),
16009
16001
  prevValue = _useState4[0],
16010
16002
  setPrevValue = _useState4[1];
@@ -16023,7 +16015,6 @@
16023
16015
  var handleBlur = React.useCallback(function (e) {
16024
16016
  if (escapeRef.current) {
16025
16017
  setCurrentValue(prevValue);
16026
- escapeRef.current = false;
16027
16018
  } else {
16028
16019
  if (e.target.value.trim().length > 0 && prevValue !== e.target.value) {
16029
16020
  var _value = decimalToHours(e.target.value, withLeadingZero);
@@ -16106,10 +16097,16 @@
16106
16097
  escapeRef.current = true;
16107
16098
  e.target.blur();
16108
16099
  typeof onCancel === "function" && onCancel();
16100
+ escapeRef.current = false;
16109
16101
  }
16110
16102
  if (e.key === "Backspace") {
16111
16103
  return;
16112
16104
  }
16105
+ if ((e.metaKey || e.ctrlKey) && e.key === "a") {
16106
+ var _inputRef$current2;
16107
+ (_inputRef$current2 = inputRef.current) === null || _inputRef$current2 === void 0 ? void 0 : _inputRef$current2.select();
16108
+ return;
16109
+ }
16113
16110
  var input = e.target;
16114
16111
  var start = input.selectionStart;
16115
16112
  var end = input.selectionEnd;
@@ -16120,17 +16117,17 @@
16120
16117
  var newDotsIndex = currentValue.indexOf(":");
16121
16118
  var isMinutesSelected = start > newDotsIndex;
16122
16119
  if (isMinutesSelected) {
16123
- var _inputRef$current2;
16120
+ var _inputRef$current3;
16124
16121
  e.preventDefault();
16125
- (_inputRef$current2 = inputRef.current) === null || _inputRef$current2 === void 0 ? void 0 : _inputRef$current2.setSelectionRange(0, newDotsIndex);
16122
+ (_inputRef$current3 = inputRef.current) === null || _inputRef$current3 === void 0 ? void 0 : _inputRef$current3.setSelectionRange(0, newDotsIndex);
16126
16123
  }
16127
16124
  } else {
16128
16125
  var _newDotsIndex = currentValue.indexOf(":");
16129
16126
  var isHoursSelected = start < _newDotsIndex;
16130
16127
  if (isHoursSelected) {
16131
- var _inputRef$current3;
16128
+ var _inputRef$current4;
16132
16129
  e.preventDefault();
16133
- (_inputRef$current3 = inputRef.current) === null || _inputRef$current3 === void 0 ? void 0 : _inputRef$current3.setSelectionRange(_newDotsIndex + 1, currentValue.length);
16130
+ (_inputRef$current4 = inputRef.current) === null || _inputRef$current4 === void 0 ? void 0 : _inputRef$current4.setSelectionRange(_newDotsIndex + 1, currentValue.length);
16134
16131
  }
16135
16132
  }
16136
16133
  }
@@ -16162,38 +16159,87 @@
16162
16159
  setCurrentValue(e.target.value);
16163
16160
  }, []);
16164
16161
  var handleClick = function handleClick() {
16165
- var _inputRef$current4;
16166
- var selectionStart = (_inputRef$current4 = inputRef.current) === null || _inputRef$current4 === void 0 ? void 0 : _inputRef$current4.selectionStart;
16162
+ var _inputRef$current5;
16163
+ var selectionStart = (_inputRef$current5 = inputRef.current) === null || _inputRef$current5 === void 0 ? void 0 : _inputRef$current5.selectionStart;
16167
16164
  if (inputRef.current && currentValue && currentValue.length > 0 && typeof selectionStart === "number") {
16168
16165
  var dotsIndex = currentValue.indexOf(":");
16169
16166
  if (selectionStart < dotsIndex) {
16170
- var _inputRef$current5;
16171
- (_inputRef$current5 = inputRef.current) === null || _inputRef$current5 === void 0 ? void 0 : _inputRef$current5.setSelectionRange(0, dotsIndex);
16172
- } else if (selectionStart >= dotsIndex) {
16173
16167
  var _inputRef$current6;
16174
- (_inputRef$current6 = inputRef.current) === null || _inputRef$current6 === void 0 ? void 0 : _inputRef$current6.setSelectionRange(dotsIndex + 1, currentValue.length);
16168
+ (_inputRef$current6 = inputRef.current) === null || _inputRef$current6 === void 0 ? void 0 : _inputRef$current6.setSelectionRange(0, dotsIndex);
16169
+ } else if (selectionStart >= dotsIndex) {
16170
+ var _inputRef$current7;
16171
+ (_inputRef$current7 = inputRef.current) === null || _inputRef$current7 === void 0 ? void 0 : _inputRef$current7.setSelectionRange(dotsIndex + 1, currentValue.length);
16175
16172
  }
16176
16173
  }
16177
16174
  };
16178
16175
  var handleDoubleClick = function handleDoubleClick() {
16179
16176
  if (inputRef.current) {
16180
- var _inputRef$current7;
16181
- (_inputRef$current7 = inputRef.current) === null || _inputRef$current7 === void 0 ? void 0 : _inputRef$current7.setSelectionRange(0, currentValue.length);
16177
+ var _inputRef$current8;
16178
+ (_inputRef$current8 = inputRef.current) === null || _inputRef$current8 === void 0 ? void 0 : _inputRef$current8.select();
16182
16179
  }
16183
16180
  };
16184
- return /*#__PURE__*/React__default["default"].createElement(EditableContent, _extends({
16181
+ var inputProps = {
16182
+ value: currentValue,
16183
+ onBlur: handleBlur,
16184
+ onKeyDown: handleKeyDown,
16185
+ onChange: handleChange,
16186
+ onClick: handleClick,
16187
+ onDoubleClick: handleDoubleClick
16188
+ };
16189
+ if (!children) {
16190
+ console.error("No children provided!");
16191
+ return null;
16192
+ }
16193
+ return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, React__default["default"].Children.map(children, function (child) {
16194
+ var el = child;
16195
+ if (el && el.type === EditableContent) {
16196
+ return /*#__PURE__*/React__default["default"].cloneElement(child, {
16197
+ ref: handleRef,
16198
+ inputProps: inputProps
16199
+ });
16200
+ }
16201
+ return /*#__PURE__*/React__default["default"].cloneElement(child, _objectSpread2({
16202
+ ref: handleRef
16203
+ }, inputProps));
16204
+ }));
16205
+ });
16206
+ HoursWrapper.displayName = "HoursWrapper";
16207
+
16208
+ var _excluded$c = ["value", "onCancel", "onSave", "allowEmptyValue", "withLeadingZero", "validation", "incrementOnlySelected", "minuteIncrement", "className", "inputProps"];
16209
+ var EditableHours = /*#__PURE__*/React__default["default"].forwardRef(function (_ref, ref) {
16210
+ var value = _ref.value,
16211
+ onCancel = _ref.onCancel,
16212
+ onSave = _ref.onSave,
16213
+ allowEmptyValue = _ref.allowEmptyValue,
16214
+ _ref$withLeadingZero = _ref.withLeadingZero,
16215
+ withLeadingZero = _ref$withLeadingZero === void 0 ? true : _ref$withLeadingZero,
16216
+ _ref$validation = _ref.validation,
16217
+ validation = _ref$validation === void 0 ? validateTimeInput : _ref$validation,
16218
+ _ref$incrementOnlySel = _ref.incrementOnlySelected,
16219
+ incrementOnlySelected = _ref$incrementOnlySel === void 0 ? false : _ref$incrementOnlySel,
16220
+ _ref$minuteIncrement = _ref.minuteIncrement,
16221
+ minuteIncrement = _ref$minuteIncrement === void 0 ? 1 : _ref$minuteIncrement,
16222
+ className = _ref.className,
16223
+ inputProps = _ref.inputProps,
16224
+ rest = _objectWithoutProperties(_ref, _excluded$c);
16225
+ var inputRef = React.useRef(null);
16226
+ var handleRef = useForkRef(ref, inputRef);
16227
+ return /*#__PURE__*/React__default["default"].createElement(HoursWrapper, {
16228
+ value: value,
16229
+ onCancel: onCancel,
16230
+ onSave: onSave,
16231
+ incrementOnlySelected: incrementOnlySelected,
16232
+ minuteIncrement: minuteIncrement,
16233
+ allowEmptyValue: allowEmptyValue,
16234
+ withLeadingZero: withLeadingZero,
16235
+ validation: validation
16236
+ }, /*#__PURE__*/React__default["default"].createElement(EditableContent, _extends({
16185
16237
  ref: handleRef,
16186
16238
  inputProps: _objectSpread2(_objectSpread2({}, inputProps), {}, {
16187
- value: currentValue,
16188
- onBlur: handleBlur,
16189
- onKeyDown: handleKeyDown,
16190
- onChange: handleChange,
16191
16239
  type: "text",
16192
- onClick: handleClick,
16193
- onDoubleClick: handleDoubleClick,
16194
- className: classNames__default["default"]("c-input", inputProps === null || inputProps === void 0 ? void 0 : inputProps.className)
16240
+ className: classNames__default["default"]("c-input", className)
16195
16241
  })
16196
- }, rest));
16242
+ }, rest)));
16197
16243
  });
16198
16244
  EditableHours.displayName = "EditableHours";
16199
16245