@rocket.chat/fuselage 0.78.1 → 0.79.1

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 (39) hide show
  1. package/dist/components/AutoComplete/AutoComplete.d.ts +3 -3
  2. package/dist/components/AutoComplete/AutoComplete.d.ts.map +1 -1
  3. package/dist/components/Button/IconButton.d.ts +2 -2
  4. package/dist/components/Button/IconButton.d.ts.map +1 -1
  5. package/dist/components/Callout/Callout.d.ts +2 -2
  6. package/dist/components/Callout/Callout.d.ts.map +1 -1
  7. package/dist/components/CheckBox/CheckBox.d.ts.map +1 -1
  8. package/dist/components/InputBox/InputBox.d.ts +4 -0
  9. package/dist/components/InputBox/InputBox.d.ts.map +1 -1
  10. package/dist/components/Menu/Menu.d.ts +1 -1
  11. package/dist/components/Menu/Menu.d.ts.map +1 -1
  12. package/dist/components/Menu/MenuItem.d.ts.map +1 -1
  13. package/dist/components/Menu/stately/PartialNode.d.ts +4 -4
  14. package/dist/components/Menu/stately/PartialNode.d.ts.map +1 -1
  15. package/dist/components/Message/MessageGenericPreview/MessageGenericPreviewContent.d.ts +2 -2
  16. package/dist/components/Message/MessageGenericPreview/MessageGenericPreviewContent.d.ts.map +1 -1
  17. package/dist/components/Message/MessageMetrics/MessageMetricsFollowing.d.ts +2 -2
  18. package/dist/components/Message/MessageMetrics/MessageMetricsFollowing.d.ts.map +1 -1
  19. package/dist/components/Message/MessageToolbar/MessageToolbarItem.d.ts +1 -1
  20. package/dist/components/Position/Position.d.ts +1 -1
  21. package/dist/components/Position/Position.d.ts.map +1 -1
  22. package/dist/components/SelectInput/SelectInput.d.ts.map +1 -1
  23. package/dist/components/Sidebar/Sidebar.d.ts +1 -1
  24. package/dist/components/Sidebar/SidebarActions.d.ts +1 -1
  25. package/dist/components/Sidebar/TopBar/TopBarAction.d.ts +1 -1
  26. package/dist/components/Sidebar/TopBar/index.d.ts +1 -1
  27. package/dist/components/SidebarV2/SidebarAction.d.ts +1 -1
  28. package/dist/components/SidebarV2/SidebarItem/SidebarItemIcon.d.ts +1 -1
  29. package/dist/components/SidebarV2/SidebarItem/SidebarItemIcon.d.ts.map +1 -1
  30. package/dist/components/Slider/SliderTrack.d.ts +2 -2
  31. package/dist/components/Slider/SliderTrack.d.ts.map +1 -1
  32. package/dist/fuselage.css +1 -1
  33. package/dist/fuselage.css.map +1 -1
  34. package/dist/fuselage.development.js +12 -11
  35. package/dist/fuselage.development.js.map +1 -1
  36. package/dist/fuselage.production.js +2 -2
  37. package/dist/helpers/WithErrorWrapper.d.ts +3 -3
  38. package/dist/helpers/WithErrorWrapper.d.ts.map +1 -1
  39. package/package.json +29 -30
@@ -3456,33 +3456,34 @@ const Icon_1 = __webpack_require__(/*! ../Icon */ "./src/components/Icon/index.t
3456
3456
  const Input_1 = __importDefault(__webpack_require__(/*! ./Input */ "./src/components/InputBox/Input.tsx"));
3457
3457
  const InputBoxAddon_1 = __importDefault(__webpack_require__(/*! ./InputBoxAddon */ "./src/components/InputBox/InputBoxAddon.tsx"));
3458
3458
  const InputBoxWrapper_1 = __importDefault(__webpack_require__(/*! ./InputBoxWrapper */ "./src/components/InputBox/InputBoxWrapper.tsx"));
3459
- const InputBox = (0, react_1.forwardRef)(function InputBox({ className, addon, error, hidden, invisible, multiple, placeholderVisible, type = 'text', small, onChange, ...props }, ref) {
3459
+ const InputBox = (0, react_1.forwardRef)(function InputBox({ className, addon, startAddon, endAddon, error, hidden, invisible, multiple, placeholderVisible, type = 'text', small, onChange, ...props }, ref) {
3460
3460
  const innerRef = (0, react_1.useRef)(null);
3461
3461
  const mergedRef = (0, fuselage_hooks_1.useMergedRefs)(ref, innerRef);
3462
+ let defaultAddon = endAddon ?? addon;
3462
3463
  (0, react_1.useLayoutEffect)(() => {
3463
3464
  if (innerRef.current && innerRef.current.setCustomValidity) {
3464
3465
  innerRef.current.setCustomValidity(error || '');
3465
3466
  }
3466
3467
  }, [error]);
3467
3468
  (0, react_1.useLayoutEffect)(() => {
3468
- if (addon && innerRef.current && innerRef.current.parentElement) {
3469
+ if (defaultAddon && innerRef.current && innerRef.current.parentElement) {
3469
3470
  innerRef.current.parentElement.classList.toggle('invalid', !innerRef.current.checkValidity());
3470
3471
  }
3471
- }, [addon, error]);
3472
+ }, [defaultAddon, error]);
3472
3473
  const handleChange = (0, react_1.useCallback)((event) => {
3473
- if (addon && innerRef.current && innerRef.current.parentElement) {
3474
+ if (defaultAddon && innerRef.current && innerRef.current.parentElement) {
3474
3475
  innerRef.current.parentElement.classList.toggle('invalid', !innerRef.current.checkValidity());
3475
3476
  }
3476
3477
  onChange?.call(event.currentTarget, event);
3477
- }, [addon, onChange]);
3478
+ }, [defaultAddon, onChange]);
3478
3479
  const handleAddonClick = () => innerRef.current.showPicker();
3479
3480
  if (type === 'date') {
3480
- addon = (0, jsx_runtime_1.jsx)(Icon_1.Icon, { name: 'calendar', size: 'x20', onClick: handleAddonClick });
3481
+ defaultAddon = ((0, jsx_runtime_1.jsx)(Icon_1.Icon, { name: 'calendar', size: 'x20', onClick: handleAddonClick }));
3481
3482
  }
3482
3483
  if (type === 'time') {
3483
- addon = (0, jsx_runtime_1.jsx)(Icon_1.Icon, { name: 'clock', size: 'x20', onClick: handleAddonClick });
3484
+ defaultAddon = (0, jsx_runtime_1.jsx)(Icon_1.Icon, { name: 'clock', size: 'x20', onClick: handleAddonClick });
3484
3485
  }
3485
- if (!addon) {
3486
+ if (!defaultAddon && !startAddon) {
3486
3487
  return ((0, jsx_runtime_1.jsx)(Input_1.default, { is: (type === 'textarea' && 'textarea') ||
3487
3488
  (type === 'select' && 'select') ||
3488
3489
  'input', className: className, cols: (type === 'textarea' && 1) || (type === 'select' && 0) || 0, hidden: hidden, invisible: invisible, multiple: multiple, ref: mergedRef, htmlSize: (type === 'textarea' && undefined) || (type === 'select' && 1) || 1, type: type === 'textarea' || type === 'select' ? undefined : type, onChange: handleChange, "rcx-input-box--multiple": multiple, "rcx-input-box--placeholder-visible": placeholderVisible, "rcx-input-box--type": type, "rcx-input-box--small": small, ...props }));
@@ -3490,9 +3491,9 @@ const InputBox = (0, react_1.forwardRef)(function InputBox({ className, addon, e
3490
3491
  return ((0, jsx_runtime_1.jsxs)(InputBoxWrapper_1.default, { className: [
3491
3492
  props.disabled && 'disabled',
3492
3493
  ...(Array.isArray(className) ? className : [className]),
3493
- ], hidden: hidden, invisible: invisible, children: [(0, jsx_runtime_1.jsx)(Input_1.default, { is: (type === 'textarea' && 'textarea') ||
3494
+ ], hidden: hidden, invisible: invisible, children: [startAddon && (0, jsx_runtime_1.jsx)(InputBoxAddon_1.default, { children: startAddon }), (0, jsx_runtime_1.jsx)(Input_1.default, { is: (type === 'textarea' && 'textarea') ||
3494
3495
  (type === 'select' && 'select') ||
3495
- 'input', className: className, cols: (type === 'textarea' && 1) || (type === 'select' && 0) || 0, multiple: multiple, ref: mergedRef, htmlSize: (type === 'textarea' && undefined) || (type === 'select' && 1) || 1, type: type === 'textarea' || type === 'select' ? undefined : type, onChange: handleChange, "rcx-input-box--multiple": multiple, "rcx-input-box--placeholder-visible": placeholderVisible, "rcx-input-box--type": type, "rcx-input-box--undecorated": true, "rcx-input-box--small": small, ...props }), (0, jsx_runtime_1.jsx)(InputBoxAddon_1.default, { children: addon })] }));
3496
+ 'input', className: className, cols: (type === 'textarea' && 1) || (type === 'select' && 0) || 0, multiple: multiple, ref: mergedRef, htmlSize: (type === 'textarea' && undefined) || (type === 'select' && 1) || 1, type: type === 'textarea' || type === 'select' ? undefined : type, onChange: handleChange, "rcx-input-box--multiple": multiple, "rcx-input-box--placeholder-visible": placeholderVisible, "rcx-input-box--type": type, "rcx-input-box--undecorated": true, "rcx-input-box--small": small, ...props }), defaultAddon && (0, jsx_runtime_1.jsx)(InputBoxAddon_1.default, { children: defaultAddon })] }));
3496
3497
  });
3497
3498
  exports["default"] = InputBox;
3498
3499
 
@@ -8001,7 +8002,7 @@ const pollTouchingEdges = (element, touchingEdgesRef, onScrollContent) => {
8001
8002
  }
8002
8003
  };
8003
8004
  const Scrollable = ({ children, horizontal, vertical, smooth, onScrollContent, }) => {
8004
- const scrollTimeoutRef = (0, react_1.useRef)();
8005
+ const scrollTimeoutRef = (0, react_1.useRef)(undefined);
8005
8006
  const touchingEdgesRef = (0, react_1.useRef)({});
8006
8007
  const handleScroll = (0, fuselage_hooks_1.useStableCallback)((event) => {
8007
8008
  const element = event.currentTarget;