@clockworkdog/cogs-client-react 2.7.0 → 2.8.0

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/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # COGS Client React library
1
+ # COGS SDK - React
2
2
 
3
3
  Use this library to create custom content for your COGS Media Master or COGS Plugin
4
4
 
@@ -5,9 +5,10 @@ const react_1 = require("react");
5
5
  function useCogsConfig(connection) {
6
6
  const [config, setConfig] = (0, react_1.useState)(connection.config);
7
7
  (0, react_1.useEffect)(() => {
8
+ // Use the latest config in case it has changed before this useEffect ran
9
+ setConfig(connection.config);
8
10
  const listener = (event) => setConfig(event.config);
9
11
  connection.addEventListener('config', listener);
10
- setConfig(connection.config); // Use the latest config in case is has changed before this useEffect ran
11
12
  return () => connection.removeEventListener('config', listener);
12
13
  }, [connection]);
13
14
  return config;
@@ -0,0 +1,2 @@
1
+ import { CogsConnection, MediaClientConfig } from '@clockworkdog/cogs-client';
2
+ export default function useCogsMediaConfig<MediaConfigExtra>(connection: CogsConnection<any>): (MediaClientConfig & MediaConfigExtra) | null;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = useCogsMediaConfig;
4
+ const react_1 = require("react");
5
+ function useCogsMediaConfig(connection) {
6
+ const [mediaConfig, setMediaConfig] = (0, react_1.useState)(null);
7
+ (0, react_1.useEffect)(() => {
8
+ // Use the latest config in case it has changed before this useEffect ran
9
+ setMediaConfig(connection.mediaConfig);
10
+ const listener = ({ mediaConfig }) => {
11
+ setMediaConfig(mediaConfig);
12
+ };
13
+ connection.addEventListener('mediaConfig', listener);
14
+ return () => connection.removeEventListener('mediaConfig', listener);
15
+ }, [connection]);
16
+ return mediaConfig;
17
+ }
@@ -5,6 +5,8 @@ const react_1 = require("react");
5
5
  function useCogsStateValue(connection, stateName) {
6
6
  const [value, setValue] = (0, react_1.useState)(connection.state[stateName]);
7
7
  (0, react_1.useEffect)(() => {
8
+ // Use the latest state in case it has changed before this useEffect ran
9
+ setValue(connection.state[stateName]);
8
10
  const listener = ({ state }) => {
9
11
  const value = state[stateName];
10
12
  if (value !== undefined) {
@@ -5,6 +5,7 @@ const react_1 = require("react");
5
5
  function useCogsInputPortValues(connection) {
6
6
  const [value, setValue] = (0, react_1.useState)(connection.state);
7
7
  (0, react_1.useEffect)(() => {
8
+ // Use the latest state in case it has changed before this useEffect ran
8
9
  setValue(connection.state);
9
10
  const listener = () => setValue(connection.state);
10
11
  connection.addEventListener('state', listener);
@@ -1,17 +1,15 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
3
  exports.default = useShowPhase;
7
4
  const react_1 = require("react");
8
- const useCogsMessage_1 = __importDefault(require("./useCogsMessage"));
9
5
  function useShowPhase(connection) {
10
6
  const [status, setStatus] = (0, react_1.useState)(connection.showPhase);
11
- (0, useCogsMessage_1.default)(connection, (0, react_1.useCallback)((message) => {
12
- if (message.type === 'show_phase') {
13
- setStatus(message.phase);
14
- }
15
- }, []));
7
+ (0, react_1.useEffect)(() => {
8
+ // Use the latest show phase in case it has changed before this useEffect ran
9
+ setStatus(connection.showPhase);
10
+ const listener = () => setStatus(connection.showPhase);
11
+ connection.addEventListener('showPhase', listener);
12
+ return () => connection.removeEventListener('showPhase', listener);
13
+ }, [connection]);
16
14
  return status;
17
15
  }
package/dist/index.d.ts CHANGED
@@ -3,6 +3,7 @@ export { default as useIsConnected } from './hooks/useIsConnected';
3
3
  export { default as useCogsConfig } from './hooks/useCogsConfig';
4
4
  export { default as useCogsEvent } from './hooks/useCogsEvent';
5
5
  export { default as useCogsEvents } from './hooks/useCogsEvents';
6
+ export { default as useCogsMediaConfig } from './hooks/useCogsMediaConfig';
6
7
  export { default as useCogsStateValue } from './hooks/useCogsStateValue';
7
8
  export { default as useCogsStateValues } from './hooks/useCogsStateValues';
8
9
  export { default as useCogsMessage } from './hooks/useCogsMessage';
package/dist/index.js CHANGED
@@ -17,7 +17,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
17
17
  return (mod && mod.__esModule) ? mod : { "default": mod };
18
18
  };
19
19
  Object.defineProperty(exports, "__esModule", { value: true });
20
- exports.Images = exports.useImages = exports.Timer = exports.Hint = exports.useHint = exports.VideoContainer = exports.RtspVideo = exports.useIsAudioPlaying = exports.useAudioClips = exports.useWhenShowReset = exports.useShowPhase = exports.usePreloadedUrl = exports.useCogsMessage = exports.useCogsStateValues = exports.useCogsStateValue = exports.useCogsEvents = exports.useCogsEvent = exports.useCogsConfig = exports.useIsConnected = exports.useVideoPlayer = exports.useAudioPlayer = exports.useCogsConnection = exports.CogsConnectionProvider = void 0;
20
+ exports.Images = exports.useImages = exports.Timer = exports.Hint = exports.useHint = exports.VideoContainer = exports.RtspVideo = exports.useIsAudioPlaying = exports.useAudioClips = exports.useWhenShowReset = exports.useShowPhase = exports.usePreloadedUrl = exports.useCogsMessage = exports.useCogsStateValues = exports.useCogsStateValue = exports.useCogsMediaConfig = exports.useCogsEvents = exports.useCogsEvent = exports.useCogsConfig = exports.useIsConnected = exports.useVideoPlayer = exports.useAudioPlayer = exports.useCogsConnection = exports.CogsConnectionProvider = void 0;
21
21
  // Utilities
22
22
  var CogsConnectionProvider_1 = require("./providers/CogsConnectionProvider");
23
23
  Object.defineProperty(exports, "CogsConnectionProvider", { enumerable: true, get: function () { return __importDefault(CogsConnectionProvider_1).default; } });
@@ -32,6 +32,8 @@ var useCogsEvent_1 = require("./hooks/useCogsEvent");
32
32
  Object.defineProperty(exports, "useCogsEvent", { enumerable: true, get: function () { return __importDefault(useCogsEvent_1).default; } });
33
33
  var useCogsEvents_1 = require("./hooks/useCogsEvents");
34
34
  Object.defineProperty(exports, "useCogsEvents", { enumerable: true, get: function () { return __importDefault(useCogsEvents_1).default; } });
35
+ var useCogsMediaConfig_1 = require("./hooks/useCogsMediaConfig");
36
+ Object.defineProperty(exports, "useCogsMediaConfig", { enumerable: true, get: function () { return __importDefault(useCogsMediaConfig_1).default; } });
35
37
  var useCogsStateValue_1 = require("./hooks/useCogsStateValue");
36
38
  Object.defineProperty(exports, "useCogsStateValue", { enumerable: true, get: function () { return __importDefault(useCogsStateValue_1).default; } });
37
39
  var useCogsStateValues_1 = require("./hooks/useCogsStateValues");
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "description": "React components and hooks to connect to COGS to build a custom Media Master",
4
4
  "author": "Clockwork Dog <info@clockwork.dog>",
5
5
  "homepage": "https://github.com/clockwork-dog/cogs-sdk/tree/main/packages/react",
6
- "version": "2.7.0",
6
+ "version": "2.8.0",
7
7
  "keywords": [],
8
8
  "license": "MIT",
9
9
  "repository": {
@@ -27,7 +27,7 @@
27
27
  "release": "yarn npm publish --access public"
28
28
  },
29
29
  "dependencies": {
30
- "@clockworkdog/cogs-client": "^2.7.0"
30
+ "@clockworkdog/cogs-client": "^2.8.0"
31
31
  },
32
32
  "peerDependencies": {
33
33
  "react": "^18.0.0 || ^19.0.0",