@activecollab/components 1.0.378 → 1.0.380

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 (46) hide show
  1. package/dist/cjs/components/EditableHours/EditableHours.js +17 -211
  2. package/dist/cjs/components/EditableHours/EditableHours.js.map +1 -1
  3. package/dist/cjs/components/HoursWrapper/HoursWrapper.js +258 -0
  4. package/dist/cjs/components/HoursWrapper/HoursWrapper.js.map +1 -0
  5. package/dist/cjs/components/HoursWrapper/index.js +17 -0
  6. package/dist/cjs/components/HoursWrapper/index.js.map +1 -0
  7. package/dist/cjs/components/Input/Input.js.map +1 -1
  8. package/dist/cjs/components/Input/InputHours.js +54 -0
  9. package/dist/cjs/components/Input/InputHours.js.map +1 -0
  10. package/dist/cjs/utils/timeUtils.js +3 -0
  11. package/dist/cjs/utils/timeUtils.js.map +1 -1
  12. package/dist/cjs/utils/timeUtils.test.js +1 -1
  13. package/dist/cjs/utils/timeUtils.test.js.map +1 -1
  14. package/dist/esm/components/ComboBox/Styles.d.ts +1 -1
  15. package/dist/esm/components/EditableHours/EditableHours.d.ts +2 -1
  16. package/dist/esm/components/EditableHours/EditableHours.d.ts.map +1 -1
  17. package/dist/esm/components/EditableHours/EditableHours.js +18 -203
  18. package/dist/esm/components/EditableHours/EditableHours.js.map +1 -1
  19. package/dist/esm/components/HoursWrapper/HoursWrapper.d.ts +9 -0
  20. package/dist/esm/components/HoursWrapper/HoursWrapper.d.ts.map +1 -0
  21. package/dist/esm/components/HoursWrapper/HoursWrapper.js +239 -0
  22. package/dist/esm/components/HoursWrapper/HoursWrapper.js.map +1 -0
  23. package/dist/esm/components/HoursWrapper/index.d.ts +2 -0
  24. package/dist/esm/components/HoursWrapper/index.d.ts.map +1 -0
  25. package/dist/esm/components/HoursWrapper/index.js +2 -0
  26. package/dist/esm/components/HoursWrapper/index.js.map +1 -0
  27. package/dist/esm/components/Input/Input.d.ts +5 -3
  28. package/dist/esm/components/Input/Input.d.ts.map +1 -1
  29. package/dist/esm/components/Input/Input.js.map +1 -1
  30. package/dist/esm/components/Input/InputHours.d.ts +7 -0
  31. package/dist/esm/components/Input/InputHours.d.ts.map +1 -0
  32. package/dist/esm/components/Input/InputHours.js +42 -0
  33. package/dist/esm/components/Input/InputHours.js.map +1 -0
  34. package/dist/esm/components/Select/Styles.d.ts +1 -1
  35. package/dist/esm/components/Select/Styles.d.ts.map +1 -1
  36. package/dist/esm/utils/timeUtils.d.ts +1 -1
  37. package/dist/esm/utils/timeUtils.d.ts.map +1 -1
  38. package/dist/esm/utils/timeUtils.js +3 -0
  39. package/dist/esm/utils/timeUtils.js.map +1 -1
  40. package/dist/esm/utils/timeUtils.test.js +1 -1
  41. package/dist/esm/utils/timeUtils.test.js.map +1 -1
  42. package/dist/index.js +87 -37
  43. package/dist/index.js.map +1 -1
  44. package/dist/index.min.js +1 -1
  45. package/dist/index.min.js.map +1 -1
  46. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -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,24 +15989,17 @@
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
15995
  var _useState = React.useState(function () {
15994
- if (value !== undefined) {
15995
- return decimalToHours(value, withLeadingZero);
15996
- }
15997
- return "";
15996
+ return decimalToHours(value, withLeadingZero);
15998
15997
  }),
15999
15998
  _useState2 = _slicedToArray(_useState, 2),
16000
15999
  currentValue = _useState2[0],
16001
16000
  setCurrentValue = _useState2[1];
16002
16001
  var _useState3 = React.useState(function () {
16003
- if (value !== undefined) {
16004
- return decimalToHours(value, withLeadingZero);
16005
- }
16006
- return "";
16002
+ return decimalToHours(value, withLeadingZero);
16007
16003
  }),
16008
16004
  _useState4 = _slicedToArray(_useState3, 2),
16009
16005
  prevValue = _useState4[0],
@@ -16023,7 +16019,6 @@
16023
16019
  var handleBlur = React.useCallback(function (e) {
16024
16020
  if (escapeRef.current) {
16025
16021
  setCurrentValue(prevValue);
16026
- escapeRef.current = false;
16027
16022
  } else {
16028
16023
  if (e.target.value.trim().length > 0 && prevValue !== e.target.value) {
16029
16024
  var _value = decimalToHours(e.target.value, withLeadingZero);
@@ -16106,10 +16101,16 @@
16106
16101
  escapeRef.current = true;
16107
16102
  e.target.blur();
16108
16103
  typeof onCancel === "function" && onCancel();
16104
+ escapeRef.current = false;
16109
16105
  }
16110
16106
  if (e.key === "Backspace") {
16111
16107
  return;
16112
16108
  }
16109
+ if ((e.metaKey || e.ctrlKey) && e.key === "a") {
16110
+ var _inputRef$current2;
16111
+ (_inputRef$current2 = inputRef.current) === null || _inputRef$current2 === void 0 ? void 0 : _inputRef$current2.select();
16112
+ return;
16113
+ }
16113
16114
  var input = e.target;
16114
16115
  var start = input.selectionStart;
16115
16116
  var end = input.selectionEnd;
@@ -16120,17 +16121,17 @@
16120
16121
  var newDotsIndex = currentValue.indexOf(":");
16121
16122
  var isMinutesSelected = start > newDotsIndex;
16122
16123
  if (isMinutesSelected) {
16123
- var _inputRef$current2;
16124
+ var _inputRef$current3;
16124
16125
  e.preventDefault();
16125
- (_inputRef$current2 = inputRef.current) === null || _inputRef$current2 === void 0 ? void 0 : _inputRef$current2.setSelectionRange(0, newDotsIndex);
16126
+ (_inputRef$current3 = inputRef.current) === null || _inputRef$current3 === void 0 ? void 0 : _inputRef$current3.setSelectionRange(0, newDotsIndex);
16126
16127
  }
16127
16128
  } else {
16128
16129
  var _newDotsIndex = currentValue.indexOf(":");
16129
16130
  var isHoursSelected = start < _newDotsIndex;
16130
16131
  if (isHoursSelected) {
16131
- var _inputRef$current3;
16132
+ var _inputRef$current4;
16132
16133
  e.preventDefault();
16133
- (_inputRef$current3 = inputRef.current) === null || _inputRef$current3 === void 0 ? void 0 : _inputRef$current3.setSelectionRange(_newDotsIndex + 1, currentValue.length);
16134
+ (_inputRef$current4 = inputRef.current) === null || _inputRef$current4 === void 0 ? void 0 : _inputRef$current4.setSelectionRange(_newDotsIndex + 1, currentValue.length);
16134
16135
  }
16135
16136
  }
16136
16137
  }
@@ -16162,38 +16163,87 @@
16162
16163
  setCurrentValue(e.target.value);
16163
16164
  }, []);
16164
16165
  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;
16166
+ var _inputRef$current5;
16167
+ var selectionStart = (_inputRef$current5 = inputRef.current) === null || _inputRef$current5 === void 0 ? void 0 : _inputRef$current5.selectionStart;
16167
16168
  if (inputRef.current && currentValue && currentValue.length > 0 && typeof selectionStart === "number") {
16168
16169
  var dotsIndex = currentValue.indexOf(":");
16169
16170
  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
16171
  var _inputRef$current6;
16174
- (_inputRef$current6 = inputRef.current) === null || _inputRef$current6 === void 0 ? void 0 : _inputRef$current6.setSelectionRange(dotsIndex + 1, currentValue.length);
16172
+ (_inputRef$current6 = inputRef.current) === null || _inputRef$current6 === void 0 ? void 0 : _inputRef$current6.setSelectionRange(0, dotsIndex);
16173
+ } else if (selectionStart >= dotsIndex) {
16174
+ var _inputRef$current7;
16175
+ (_inputRef$current7 = inputRef.current) === null || _inputRef$current7 === void 0 ? void 0 : _inputRef$current7.setSelectionRange(dotsIndex + 1, currentValue.length);
16175
16176
  }
16176
16177
  }
16177
16178
  };
16178
16179
  var handleDoubleClick = function handleDoubleClick() {
16179
16180
  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);
16181
+ var _inputRef$current8;
16182
+ (_inputRef$current8 = inputRef.current) === null || _inputRef$current8 === void 0 ? void 0 : _inputRef$current8.select();
16182
16183
  }
16183
16184
  };
16184
- return /*#__PURE__*/React__default["default"].createElement(EditableContent, _extends({
16185
+ var inputProps = {
16186
+ value: currentValue,
16187
+ onBlur: handleBlur,
16188
+ onKeyDown: handleKeyDown,
16189
+ onChange: handleChange,
16190
+ onClick: handleClick,
16191
+ onDoubleClick: handleDoubleClick
16192
+ };
16193
+ if (!children) {
16194
+ console.error("No children provided!");
16195
+ return null;
16196
+ }
16197
+ return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, React__default["default"].Children.map(children, function (child) {
16198
+ var el = child;
16199
+ if (el && el.type === EditableContent) {
16200
+ return /*#__PURE__*/React__default["default"].cloneElement(child, {
16201
+ ref: handleRef,
16202
+ inputProps: inputProps
16203
+ });
16204
+ }
16205
+ return /*#__PURE__*/React__default["default"].cloneElement(child, _objectSpread2({
16206
+ ref: handleRef
16207
+ }, inputProps));
16208
+ }));
16209
+ });
16210
+ HoursWrapper.displayName = "HoursWrapper";
16211
+
16212
+ var _excluded$c = ["value", "onCancel", "onSave", "allowEmptyValue", "withLeadingZero", "validation", "incrementOnlySelected", "minuteIncrement", "className", "inputProps"];
16213
+ var EditableHours = /*#__PURE__*/React__default["default"].forwardRef(function (_ref, ref) {
16214
+ var value = _ref.value,
16215
+ onCancel = _ref.onCancel,
16216
+ onSave = _ref.onSave,
16217
+ allowEmptyValue = _ref.allowEmptyValue,
16218
+ _ref$withLeadingZero = _ref.withLeadingZero,
16219
+ withLeadingZero = _ref$withLeadingZero === void 0 ? true : _ref$withLeadingZero,
16220
+ _ref$validation = _ref.validation,
16221
+ validation = _ref$validation === void 0 ? validateTimeInput : _ref$validation,
16222
+ _ref$incrementOnlySel = _ref.incrementOnlySelected,
16223
+ incrementOnlySelected = _ref$incrementOnlySel === void 0 ? false : _ref$incrementOnlySel,
16224
+ _ref$minuteIncrement = _ref.minuteIncrement,
16225
+ minuteIncrement = _ref$minuteIncrement === void 0 ? 1 : _ref$minuteIncrement,
16226
+ className = _ref.className,
16227
+ inputProps = _ref.inputProps,
16228
+ rest = _objectWithoutProperties(_ref, _excluded$c);
16229
+ var inputRef = React.useRef(null);
16230
+ var handleRef = useForkRef(ref, inputRef);
16231
+ return /*#__PURE__*/React__default["default"].createElement(HoursWrapper, {
16232
+ value: value,
16233
+ onCancel: onCancel,
16234
+ onSave: onSave,
16235
+ incrementOnlySelected: incrementOnlySelected,
16236
+ minuteIncrement: minuteIncrement,
16237
+ allowEmptyValue: allowEmptyValue,
16238
+ withLeadingZero: withLeadingZero,
16239
+ validation: validation
16240
+ }, /*#__PURE__*/React__default["default"].createElement(EditableContent, _extends({
16185
16241
  ref: handleRef,
16186
16242
  inputProps: _objectSpread2(_objectSpread2({}, inputProps), {}, {
16187
- value: currentValue,
16188
- onBlur: handleBlur,
16189
- onKeyDown: handleKeyDown,
16190
- onChange: handleChange,
16191
16243
  type: "text",
16192
- onClick: handleClick,
16193
- onDoubleClick: handleDoubleClick,
16194
- className: classNames__default["default"]("c-input", inputProps === null || inputProps === void 0 ? void 0 : inputProps.className)
16244
+ className: classNames__default["default"]("c-input", className)
16195
16245
  })
16196
- }, rest));
16246
+ }, rest)));
16197
16247
  });
16198
16248
  EditableHours.displayName = "EditableHours";
16199
16249