@elice/material-shared-utils 1.260518.0 → 1.260526.0-addvideoassessmentmaterial.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.
@@ -1,3 +1,4 @@
1
1
  export * from './useCallbackProp';
2
+ export * from './useCallbackRef';
2
3
  export * from './useDeepClonedCompareEffect';
3
4
  export * from './useHelpyLogo';
@@ -1,11 +1,13 @@
1
1
  'use strict';
2
2
 
3
3
  var useCallbackProp = require('./useCallbackProp.js');
4
+ var useCallbackRef = require('./useCallbackRef.js');
4
5
  var useDeepClonedCompareEffect = require('./useDeepClonedCompareEffect.js');
5
6
  var useHelpyLogo = require('./useHelpyLogo.js');
6
7
 
7
8
 
8
9
 
9
10
  exports.useCallbackProp = useCallbackProp.useCallbackProp;
11
+ exports.useCallbackRef = useCallbackRef.useCallbackRef;
10
12
  exports.useDeepClonedCompareEffect = useDeepClonedCompareEffect.useDeepClonedCompareEffect;
11
13
  exports.useHelpyLogo = useHelpyLogo.useHelpyLogo;
@@ -1,2 +1,5 @@
1
1
  import React from 'react';
2
+ /**
3
+ * @deprecated use `useCallbackRef` instead.
4
+ */
2
5
  export declare const useCallbackProp: <T>(cb: T) => React.MutableRefObject<T>;
@@ -6,6 +6,9 @@ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'defau
6
6
 
7
7
  var React__default = /*#__PURE__*/_interopDefaultCompat(React);
8
8
 
9
+ /**
10
+ * @deprecated use `useCallbackRef` instead.
11
+ */
9
12
  var useCallbackProp = function useCallbackProp(cb) {
10
13
  var cbRef = React__default.default.useRef(cb);
11
14
  React__default.default.useEffect(function () {
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @description
3
+ * A custom hook that converts a callback to a ref to avoid triggering re-renders when passed as a
4
+ * prop or avoid re-executing effects when passed as a dependency
5
+ *
6
+ * @reference https://github.com/radix-ui/primitives/blob/e7a593acfe8b8c4344788d994760a41e7293d60d/packages/react/use-callback-ref/src/use-callback-ref.tsx
7
+ */
8
+ export declare const useCallbackRef: <T extends (...args: any[]) => any>(callback: T | undefined) => T;
@@ -0,0 +1,33 @@
1
+ 'use strict';
2
+
3
+ var React = require('react');
4
+
5
+ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
6
+
7
+ var React__default = /*#__PURE__*/_interopDefaultCompat(React);
8
+
9
+ /**
10
+ * @description
11
+ * A custom hook that converts a callback to a ref to avoid triggering re-renders when passed as a
12
+ * prop or avoid re-executing effects when passed as a dependency
13
+ *
14
+ * @reference https://github.com/radix-ui/primitives/blob/e7a593acfe8b8c4344788d994760a41e7293d60d/packages/react/use-callback-ref/src/use-callback-ref.tsx
15
+ */
16
+ var useCallbackRef = function useCallbackRef(callback) {
17
+ var callbackRef = React__default.default.useRef(callback);
18
+ React__default.default.useEffect(function () {
19
+ callbackRef.current = callback;
20
+ });
21
+ return React__default.default.useMemo(function () {
22
+ return function () {
23
+ var _a2;
24
+ var _a;
25
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
26
+ args[_key] = arguments[_key];
27
+ }
28
+ return (_a = callbackRef.current) === null || _a === void 0 ? void 0 : (_a2 = _a).call.apply(_a2, [callbackRef].concat(args));
29
+ };
30
+ }, []);
31
+ };
32
+
33
+ exports.useCallbackRef = useCallbackRef;
package/cjs/index.js CHANGED
@@ -3,6 +3,7 @@
3
3
  var MaterialConfigProvider = require('./material-config/MaterialConfigProvider.js');
4
4
  var utils = require('./material-config/utils.js');
5
5
  var useCallbackProp = require('./hooks/useCallbackProp.js');
6
+ var useCallbackRef = require('./hooks/useCallbackRef.js');
6
7
  var useDeepClonedCompareEffect = require('./hooks/useDeepClonedCompareEffect.js');
7
8
  var useHelpyLogo = require('./hooks/useHelpyLogo.js');
8
9
  var useMaterialConfig = require('./material-config/useMaterialConfig.js');
@@ -16,6 +17,7 @@ var withMaterial = require('./material-hoc/withMaterial.js');
16
17
  exports.MaterialConfigProvider = MaterialConfigProvider.default;
17
18
  exports.updateMaterialConfigSessionKey = utils.updateMaterialConfigSessionKey;
18
19
  exports.useCallbackProp = useCallbackProp.useCallbackProp;
20
+ exports.useCallbackRef = useCallbackRef.useCallbackRef;
19
21
  exports.useDeepClonedCompareEffect = useDeepClonedCompareEffect.useDeepClonedCompareEffect;
20
22
  exports.useHelpyLogo = useHelpyLogo.useHelpyLogo;
21
23
  exports.useMaterialConfig = useMaterialConfig.useMaterialConfig;
@@ -18,6 +18,7 @@ export interface FetchKeyMap {
18
18
  [enums.LectureMaterialType.Survey]: 'materialSurvey';
19
19
  [enums.LectureMaterialType.Runbox]: 'materialRunbox';
20
20
  [enums.LectureMaterialType.Cloud]: 'materialCloud';
21
+ [enums.LectureMaterialType.VideoAssessment]: 'materialVideoAssessment';
21
22
  }
22
23
  /**
23
24
  * Init api client and fetch material for contaner.
@@ -6,7 +6,7 @@ var apiClient = require('@elice/api-client');
6
6
  var types = require('@elice/types');
7
7
 
8
8
  var _Object$freeze;
9
- var MATERIAL_FETCH_KEY_MAP = Object.freeze((_Object$freeze = {}, _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_Object$freeze, types.enums.LectureMaterialType.Nothing, 'materialNothing'), types.enums.LectureMaterialType.Note, 'materialNote'), types.enums.LectureMaterialType.Video, 'materialVideo'), types.enums.LectureMaterialType.PDF, 'materialPdf'), types.enums.LectureMaterialType.Exercise, 'materialExercise'), types.enums.LectureMaterialType.Quiz, 'materialQuiz'), types.enums.LectureMaterialType.LegacyRunbox, 'materialLegacyRunbox'), types.enums.LectureMaterialType.VideoFile, 'materialVideoFile'), types.enums.LectureMaterialType.Live, 'materialLive'), types.enums.LectureMaterialType.Assignment, 'materialAssignment'), _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_Object$freeze, types.enums.LectureMaterialType.LMSPublicContent, 'materialLmsPublicContent'), types.enums.LectureMaterialType.External, 'materialExternal'), types.enums.LectureMaterialType.Survey, 'materialSurvey'), types.enums.LectureMaterialType.Runbox, 'materialRunbox'), types.enums.LectureMaterialType.Cloud, 'materialCloud')));
9
+ var MATERIAL_FETCH_KEY_MAP = Object.freeze((_Object$freeze = {}, _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_Object$freeze, types.enums.LectureMaterialType.Nothing, 'materialNothing'), types.enums.LectureMaterialType.Note, 'materialNote'), types.enums.LectureMaterialType.Video, 'materialVideo'), types.enums.LectureMaterialType.PDF, 'materialPdf'), types.enums.LectureMaterialType.Exercise, 'materialExercise'), types.enums.LectureMaterialType.Quiz, 'materialQuiz'), types.enums.LectureMaterialType.LegacyRunbox, 'materialLegacyRunbox'), types.enums.LectureMaterialType.VideoFile, 'materialVideoFile'), types.enums.LectureMaterialType.Live, 'materialLive'), types.enums.LectureMaterialType.Assignment, 'materialAssignment'), _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_Object$freeze, types.enums.LectureMaterialType.LMSPublicContent, 'materialLmsPublicContent'), types.enums.LectureMaterialType.External, 'materialExternal'), types.enums.LectureMaterialType.Survey, 'materialSurvey'), types.enums.LectureMaterialType.Runbox, 'materialRunbox'), types.enums.LectureMaterialType.Cloud, 'materialCloud'), types.enums.LectureMaterialType.VideoAssessment, 'materialVideoAssessment')));
10
10
  //
11
11
  //
12
12
  //
@@ -1,3 +1,4 @@
1
1
  export * from './useCallbackProp';
2
+ export * from './useCallbackRef';
2
3
  export * from './useDeepClonedCompareEffect';
3
4
  export * from './useHelpyLogo';
package/es/hooks/index.js CHANGED
@@ -1,3 +1,4 @@
1
1
  export { useCallbackProp } from './useCallbackProp.js';
2
+ export { useCallbackRef } from './useCallbackRef.js';
2
3
  export { useDeepClonedCompareEffect } from './useDeepClonedCompareEffect.js';
3
4
  export { useHelpyLogo } from './useHelpyLogo.js';
@@ -1,2 +1,5 @@
1
1
  import React from 'react';
2
+ /**
3
+ * @deprecated use `useCallbackRef` instead.
4
+ */
2
5
  export declare const useCallbackProp: <T>(cb: T) => React.MutableRefObject<T>;
@@ -1,5 +1,8 @@
1
1
  import React from 'react';
2
2
 
3
+ /**
4
+ * @deprecated use `useCallbackRef` instead.
5
+ */
3
6
  var useCallbackProp = function useCallbackProp(cb) {
4
7
  var cbRef = React.useRef(cb);
5
8
  React.useEffect(function () {
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @description
3
+ * A custom hook that converts a callback to a ref to avoid triggering re-renders when passed as a
4
+ * prop or avoid re-executing effects when passed as a dependency
5
+ *
6
+ * @reference https://github.com/radix-ui/primitives/blob/e7a593acfe8b8c4344788d994760a41e7293d60d/packages/react/use-callback-ref/src/use-callback-ref.tsx
7
+ */
8
+ export declare const useCallbackRef: <T extends (...args: any[]) => any>(callback: T | undefined) => T;
@@ -0,0 +1,27 @@
1
+ import React from 'react';
2
+
3
+ /**
4
+ * @description
5
+ * A custom hook that converts a callback to a ref to avoid triggering re-renders when passed as a
6
+ * prop or avoid re-executing effects when passed as a dependency
7
+ *
8
+ * @reference https://github.com/radix-ui/primitives/blob/e7a593acfe8b8c4344788d994760a41e7293d60d/packages/react/use-callback-ref/src/use-callback-ref.tsx
9
+ */
10
+ var useCallbackRef = function useCallbackRef(callback) {
11
+ var callbackRef = React.useRef(callback);
12
+ React.useEffect(function () {
13
+ callbackRef.current = callback;
14
+ });
15
+ return React.useMemo(function () {
16
+ return function () {
17
+ var _a2;
18
+ var _a;
19
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
20
+ args[_key] = arguments[_key];
21
+ }
22
+ return (_a = callbackRef.current) === null || _a === void 0 ? void 0 : (_a2 = _a).call.apply(_a2, [callbackRef].concat(args));
23
+ };
24
+ }, []);
25
+ };
26
+
27
+ export { useCallbackRef };
package/es/index.js CHANGED
@@ -1,6 +1,7 @@
1
1
  export { default as MaterialConfigProvider } from './material-config/MaterialConfigProvider.js';
2
2
  export { updateMaterialConfigSessionKey } from './material-config/utils.js';
3
3
  export { useCallbackProp } from './hooks/useCallbackProp.js';
4
+ export { useCallbackRef } from './hooks/useCallbackRef.js';
4
5
  export { useDeepClonedCompareEffect } from './hooks/useDeepClonedCompareEffect.js';
5
6
  export { useHelpyLogo } from './hooks/useHelpyLogo.js';
6
7
  export { useMaterialConfig } from './material-config/useMaterialConfig.js';
@@ -18,6 +18,7 @@ export interface FetchKeyMap {
18
18
  [enums.LectureMaterialType.Survey]: 'materialSurvey';
19
19
  [enums.LectureMaterialType.Runbox]: 'materialRunbox';
20
20
  [enums.LectureMaterialType.Cloud]: 'materialCloud';
21
+ [enums.LectureMaterialType.VideoAssessment]: 'materialVideoAssessment';
21
22
  }
22
23
  /**
23
24
  * Init api client and fetch material for contaner.
@@ -4,7 +4,7 @@ import { getOrgLecturePageResolve, getOrgLecturePageGet } from '@elice/api-clien
4
4
  import { enums } from '@elice/types';
5
5
 
6
6
  var _Object$freeze;
7
- var MATERIAL_FETCH_KEY_MAP = Object.freeze((_Object$freeze = {}, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_Object$freeze, enums.LectureMaterialType.Nothing, 'materialNothing'), enums.LectureMaterialType.Note, 'materialNote'), enums.LectureMaterialType.Video, 'materialVideo'), enums.LectureMaterialType.PDF, 'materialPdf'), enums.LectureMaterialType.Exercise, 'materialExercise'), enums.LectureMaterialType.Quiz, 'materialQuiz'), enums.LectureMaterialType.LegacyRunbox, 'materialLegacyRunbox'), enums.LectureMaterialType.VideoFile, 'materialVideoFile'), enums.LectureMaterialType.Live, 'materialLive'), enums.LectureMaterialType.Assignment, 'materialAssignment'), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_Object$freeze, enums.LectureMaterialType.LMSPublicContent, 'materialLmsPublicContent'), enums.LectureMaterialType.External, 'materialExternal'), enums.LectureMaterialType.Survey, 'materialSurvey'), enums.LectureMaterialType.Runbox, 'materialRunbox'), enums.LectureMaterialType.Cloud, 'materialCloud')));
7
+ var MATERIAL_FETCH_KEY_MAP = Object.freeze((_Object$freeze = {}, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_Object$freeze, enums.LectureMaterialType.Nothing, 'materialNothing'), enums.LectureMaterialType.Note, 'materialNote'), enums.LectureMaterialType.Video, 'materialVideo'), enums.LectureMaterialType.PDF, 'materialPdf'), enums.LectureMaterialType.Exercise, 'materialExercise'), enums.LectureMaterialType.Quiz, 'materialQuiz'), enums.LectureMaterialType.LegacyRunbox, 'materialLegacyRunbox'), enums.LectureMaterialType.VideoFile, 'materialVideoFile'), enums.LectureMaterialType.Live, 'materialLive'), enums.LectureMaterialType.Assignment, 'materialAssignment'), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_Object$freeze, enums.LectureMaterialType.LMSPublicContent, 'materialLmsPublicContent'), enums.LectureMaterialType.External, 'materialExternal'), enums.LectureMaterialType.Survey, 'materialSurvey'), enums.LectureMaterialType.Runbox, 'materialRunbox'), enums.LectureMaterialType.Cloud, 'materialCloud'), enums.LectureMaterialType.VideoAssessment, 'materialVideoAssessment')));
8
8
  //
9
9
  //
10
10
  //
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elice/material-shared-utils",
3
- "version": "1.260518.0",
3
+ "version": "1.260526.0-addvideoassessmentmaterial.1",
4
4
  "description": "Shared typings for elice material projects",
5
5
  "repository": "https://git.elicer.io/elice/frontend/library/elice-material",
6
6
  "license": "UNLICENSED",
@@ -21,7 +21,7 @@
21
21
  "@tanstack/react-query": "^4",
22
22
  "react": "^16.8.0 || ^17.0.0 || ^18.0.0",
23
23
  "react-use": "^17.0.0",
24
- "@elice/material-shared-types": "1.260518.0"
24
+ "@elice/material-shared-types": "1.260526.0-addvideoassessmentmaterial.1"
25
25
  },
26
26
  "dependencies": {
27
27
  "lodash-es": "^4.17.21",
@@ -30,10 +30,10 @@
30
30
  "tslib": "^2.6.1"
31
31
  },
32
32
  "devDependencies": {
33
- "@elice/api-client": "^1.260212.0",
33
+ "@elice/api-client": "1.260518.0-addvideoassessmentmaterial.3",
34
34
  "@elice/blocks": "1.260404.0",
35
35
  "@elice/rollup-config": "^1.260406.0",
36
- "@elice/types": "^1.251229.0",
36
+ "@elice/types": "1.260519.0-addvideoassessmentmaterial.5",
37
37
  "@tanstack/react-query": "^4.29.3",
38
38
  "@types/lodash-es": "^4.17.6",
39
39
  "@types/react": "^18.2.0",
@@ -44,7 +44,7 @@
44
44
  "react-use": "^17.2.4",
45
45
  "rollup": "^4.0.0",
46
46
  "typescript": "~5.9.3",
47
- "@elice/material-shared-types": "1.260518.0"
47
+ "@elice/material-shared-types": "1.260526.0-addvideoassessmentmaterial.1"
48
48
  },
49
49
  "scripts": {
50
50
  "start": "run-s watch",