@veltdev/react 1.0.68 → 1.0.70

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.
package/cjs/index.js CHANGED
@@ -94,7 +94,7 @@ var loadVelt = function (callback, version, staging) {
94
94
  }
95
95
  };
96
96
 
97
- var VELT_SDK_VERSION = '1.0.83';
97
+ var VELT_SDK_VERSION = '1.0.87';
98
98
 
99
99
  var SnippylyProvider = function (props) {
100
100
  var apiKey = props.apiKey, user = props.user, config = props.config, documentId = props.documentId, language = props.language, translations = props.translations, autoTranslation = props.autoTranslation, onClientLoad = props.onClientLoad, children = props.children;
@@ -593,7 +593,7 @@ function useCursorUtils() {
593
593
  */
594
594
  function useCursorUsers() {
595
595
  var cursorElement = useCursorUtils();
596
- var _a = React__default["default"].useState(), data = _a[0], setData = _a[1];
596
+ var _a = React__default["default"].useState(null), data = _a[0], setData = _a[1];
597
597
  React.useEffect(function () {
598
598
  if (!cursorElement)
599
599
  return;
@@ -670,7 +670,7 @@ function useSetLiveStateData(liveStateDataId, liveStateData) {
670
670
  */
671
671
  function useUserEditorState() {
672
672
  var liveStateSyncElement = useLiveStateSyncUtils();
673
- var _a = React__default["default"].useState(), data = _a[0], setData = _a[1];
673
+ var _a = React__default["default"].useState(null), data = _a[0], setData = _a[1];
674
674
  React.useEffect(function () {
675
675
  if (!(liveStateSyncElement === null || liveStateSyncElement === void 0 ? void 0 : liveStateSyncElement.isUserEditor))
676
676
  return;
@@ -688,7 +688,7 @@ function useUserEditorState() {
688
688
  */
689
689
  function useEditor() {
690
690
  var liveStateSyncElement = useLiveStateSyncUtils();
691
- var _a = React__default["default"].useState(), data = _a[0], setData = _a[1];
691
+ var _a = React__default["default"].useState(null), data = _a[0], setData = _a[1];
692
692
  React.useEffect(function () {
693
693
  if (!(liveStateSyncElement === null || liveStateSyncElement === void 0 ? void 0 : liveStateSyncElement.getEditor))
694
694
  return;
@@ -706,7 +706,7 @@ function useEditor() {
706
706
  */
707
707
  function useEditorAccessRequestHandler() {
708
708
  var liveStateSyncElement = useLiveStateSyncUtils();
709
- var _a = React__default["default"].useState(), data = _a[0], setData = _a[1];
709
+ var _a = React__default["default"].useState(null), data = _a[0], setData = _a[1];
710
710
  React.useEffect(function () {
711
711
  if (!(liveStateSyncElement === null || liveStateSyncElement === void 0 ? void 0 : liveStateSyncElement.isEditorAccessRequested))
712
712
  return;
@@ -719,6 +719,50 @@ function useEditorAccessRequestHandler() {
719
719
  }, [liveStateSyncElement === null || liveStateSyncElement === void 0 ? void 0 : liveStateSyncElement.isEditorAccessRequested]);
720
720
  return data;
721
721
  }
722
+ /**
723
+ * @beta This hook is in beta
724
+ */
725
+ function useLiveState(liveStateDataId, initialValue, debounceTime) {
726
+ if (debounceTime === void 0) { debounceTime = 50; }
727
+ var liveStateSyncElement = useLiveStateSyncUtils();
728
+ var _a = React__default["default"].useState(initialValue), data = _a[0], setData = _a[1];
729
+ React.useEffect(function () {
730
+ if (!(liveStateSyncElement === null || liveStateSyncElement === void 0 ? void 0 : liveStateSyncElement.getLiveStateData))
731
+ return;
732
+ var subscription = liveStateSyncElement.getLiveStateData(liveStateDataId).subscribe(function (res) {
733
+ setData(res);
734
+ });
735
+ return function () {
736
+ subscription.unsubscribe();
737
+ };
738
+ }, [liveStateSyncElement === null || liveStateSyncElement === void 0 ? void 0 : liveStateSyncElement.getLiveStateData]);
739
+ var useDebounce = function (callback) {
740
+ var callbackRef = React.useRef(callback);
741
+ var timerRef = React.useRef(null);
742
+ React.useEffect(function () {
743
+ callbackRef.current = callback;
744
+ });
745
+ var debounce = function (value, delay) {
746
+ if (timerRef.current) {
747
+ clearTimeout(timerRef.current);
748
+ }
749
+ timerRef.current = setTimeout(function () {
750
+ callbackRef.current(value);
751
+ }, delay);
752
+ };
753
+ return debounce;
754
+ };
755
+ var setDataFunction = function (value) {
756
+ setData(value);
757
+ debouncedOnInput(value, debounceTime); // default 50ms debounce time
758
+ };
759
+ var debouncedOnInput = useDebounce(function (value) {
760
+ if (liveStateSyncElement === null || liveStateSyncElement === void 0 ? void 0 : liveStateSyncElement.setLiveStateData) {
761
+ liveStateSyncElement.setLiveStateData(liveStateDataId, value);
762
+ }
763
+ });
764
+ return [data, setDataFunction];
765
+ }
722
766
 
723
767
  /**
724
768
  * @beta This hook is in beta
@@ -739,7 +783,7 @@ function usePresenceUtils() {
739
783
  */
740
784
  function usePresenceUsers() {
741
785
  var presenceElement = usePresenceUtils();
742
- var _a = React__default["default"].useState(), data = _a[0], setData = _a[1];
786
+ var _a = React__default["default"].useState(null), data = _a[0], setData = _a[1];
743
787
  React.useEffect(function () {
744
788
  if (!presenceElement)
745
789
  return;
@@ -835,7 +879,7 @@ function useTagUtils() {
835
879
  */
836
880
  function useTagAnnotations(documentId, location) {
837
881
  var tagElement = useTagUtils();
838
- var _a = React__default["default"].useState(), data = _a[0], setData = _a[1];
882
+ var _a = React__default["default"].useState(null), data = _a[0], setData = _a[1];
839
883
  React.useEffect(function () {
840
884
  if (!tagElement)
841
885
  return;
@@ -887,6 +931,7 @@ exports.useEditorAccessRequestHandler = useEditorAccessRequestHandler;
887
931
  exports.useHuddleUtils = useHuddleUtils;
888
932
  exports.useIdentify = useIdentify;
889
933
  exports.useLiveSelectionUtils = useLiveSelectionUtils;
934
+ exports.useLiveState = useLiveState;
890
935
  exports.useLiveStateData = useLiveStateData;
891
936
  exports.useLiveStateSyncUtils = useLiveStateSyncUtils;
892
937
  exports.usePresenceUsers = usePresenceUsers;