bigbluebutton-html-plugin-sdk 0.0.35 → 0.0.37

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 (74) hide show
  1. package/README.md +18 -0
  2. package/dist/cjs/core/api/BbbPluginSdk.js +3 -0
  3. package/dist/cjs/core/api/BbbPluginSdk.js.map +1 -1
  4. package/dist/cjs/core/api/types.d.ts +15 -0
  5. package/dist/cjs/extensible-areas/base.d.ts +2 -1
  6. package/dist/cjs/extensible-areas/generic-component/component.d.ts +18 -0
  7. package/dist/cjs/extensible-areas/generic-component/component.js +29 -0
  8. package/dist/cjs/extensible-areas/generic-component/component.js.map +1 -0
  9. package/dist/cjs/extensible-areas/generic-component/enums.d.ts +3 -0
  10. package/dist/cjs/extensible-areas/generic-component/enums.js +9 -0
  11. package/dist/cjs/extensible-areas/generic-component/enums.js.map +1 -0
  12. package/dist/cjs/extensible-areas/generic-component/index.d.ts +2 -0
  13. package/dist/cjs/extensible-areas/generic-component/index.js +6 -0
  14. package/dist/cjs/extensible-areas/generic-component/index.js.map +1 -0
  15. package/dist/cjs/extensible-areas/generic-component/types.d.ts +7 -0
  16. package/dist/cjs/extensible-areas/generic-component/types.js +3 -0
  17. package/dist/cjs/extensible-areas/generic-component/types.js.map +1 -0
  18. package/dist/cjs/extensible-areas/index.d.ts +1 -0
  19. package/dist/cjs/extensible-areas/index.js +1 -0
  20. package/dist/cjs/extensible-areas/index.js.map +1 -1
  21. package/dist/cjs/index.d.ts +2 -0
  22. package/dist/cjs/index.js +2 -0
  23. package/dist/cjs/index.js.map +1 -1
  24. package/dist/cjs/ui-commands/commands.d.ts +4 -0
  25. package/dist/cjs/ui-commands/commands.js +3 -1
  26. package/dist/cjs/ui-commands/commands.js.map +1 -1
  27. package/dist/cjs/ui-commands/index.d.ts +1 -0
  28. package/dist/cjs/ui-commands/index.js +18 -0
  29. package/dist/cjs/ui-commands/index.js.map +1 -0
  30. package/dist/cjs/ui-commands/layout/commands.d.ts +5 -0
  31. package/dist/cjs/ui-commands/layout/commands.js +17 -0
  32. package/dist/cjs/ui-commands/layout/commands.js.map +1 -0
  33. package/dist/cjs/ui-commands/layout/enums.d.ts +7 -0
  34. package/dist/cjs/ui-commands/layout/enums.js +13 -0
  35. package/dist/cjs/ui-commands/layout/enums.js.map +1 -0
  36. package/dist/cjs/ui-commands/layout/types.d.ts +5 -0
  37. package/dist/cjs/ui-commands/layout/types.js +3 -0
  38. package/dist/cjs/ui-commands/layout/types.js.map +1 -0
  39. package/dist/cjs/ui-commands/types.d.ts +2 -3
  40. package/dist/cjs/ui-data-hooks/consts.d.ts +1 -0
  41. package/dist/cjs/ui-data-hooks/consts.js +5 -0
  42. package/dist/cjs/ui-data-hooks/consts.js.map +1 -0
  43. package/dist/cjs/ui-data-hooks/hooks.d.ts +2 -0
  44. package/dist/cjs/ui-data-hooks/hooks.js +21 -0
  45. package/dist/cjs/ui-data-hooks/hooks.js.map +1 -0
  46. package/dist/cjs/ui-data-hooks/index.d.ts +2 -0
  47. package/dist/cjs/ui-data-hooks/index.js +18 -0
  48. package/dist/cjs/ui-data-hooks/index.js.map +1 -0
  49. package/dist/cjs/ui-data-hooks/intl/index.d.ts +1 -0
  50. package/dist/cjs/ui-data-hooks/intl/index.js +6 -0
  51. package/dist/cjs/ui-data-hooks/intl/index.js.map +1 -0
  52. package/dist/cjs/ui-data-hooks/intl/locale/enums.d.ts +3 -0
  53. package/dist/cjs/ui-data-hooks/intl/locale/enums.js +8 -0
  54. package/dist/cjs/ui-data-hooks/intl/locale/enums.js.map +1 -0
  55. package/dist/cjs/ui-data-hooks/intl/locale/types.d.ts +7 -0
  56. package/dist/cjs/ui-data-hooks/intl/locale/types.js +4 -0
  57. package/dist/cjs/ui-data-hooks/intl/locale/types.js.map +1 -0
  58. package/dist/cjs/ui-data-hooks/types.d.ts +7 -0
  59. package/dist/cjs/ui-data-hooks/types.js +3 -0
  60. package/dist/cjs/ui-data-hooks/types.js.map +1 -0
  61. package/dist/cjs/ui-events/external-video/index.d.ts +1 -0
  62. package/dist/cjs/ui-events/external-video/index.js +6 -0
  63. package/dist/cjs/ui-events/external-video/index.js.map +1 -0
  64. package/dist/cjs/ui-events/external-video/volume/enums.d.ts +3 -0
  65. package/dist/cjs/ui-events/external-video/volume/enums.js +8 -0
  66. package/dist/cjs/ui-events/external-video/volume/enums.js.map +1 -0
  67. package/dist/cjs/ui-events/external-video/volume/types.d.ts +6 -0
  68. package/dist/cjs/ui-events/external-video/volume/types.js +4 -0
  69. package/dist/cjs/ui-events/external-video/volume/types.js.map +1 -0
  70. package/dist/cjs/ui-events/index.d.ts +1 -0
  71. package/dist/cjs/ui-events/index.js +1 -0
  72. package/dist/cjs/ui-events/index.js.map +1 -1
  73. package/dist/cjs/ui-events/types.d.ts +2 -1
  74. package/package.json +1 -1
package/README.md CHANGED
@@ -28,6 +28,8 @@ SDK for developing BigBlueButton plugins, examples of implementations can be fou
28
28
 
29
29
  - Floating window item (floatingWindow)
30
30
 
31
+ - Generic component (genericComponent)
32
+
31
33
  ### Getters available through the API:
32
34
  - `getSessionToken`: returns the user session token located on the user's URL.
33
35
 
@@ -56,6 +58,19 @@ SDK for developing BigBlueButton plugins, examples of implementations can be fou
56
58
  ### Real time event reaction
57
59
  - `useUiEvent` hook: this will allow you to react to certain events fired from the BBB core (refer to the sample-ui-events-plugin in the samples directory for example on how to use some of the events);
58
60
 
61
+ ### Real time ui data consumption
62
+ - `useUiData` hook: This will return certain data from the UI depending on the parameter the developer uses. It works just like the useUiEvent hook, but instead of passing a callback as a parameter to be run everytime the event occurs, it will return the data directly, keep in mind that the second parameter is the default value that this function will assume. Possible choices:
63
+ - IntlLocaleUiDataNames.CURRENT_LOCALE;
64
+
65
+ Example of usage:
66
+ ```typscript
67
+ const currentLocale = pluginApi.useUiData(IntlLocaleUiDataNames.CURRENT_LOCALE, {
68
+ locale: 'en',
69
+ fallbackLocale: 'en',
70
+ });
71
+ ```
72
+
73
+
59
74
  ### Ui Commands to automatize tasks in BBB
60
75
  `uiCommands` object: It basically contains all the possible commands available to the developer to interact with the core BBB UI, see the ones implemented down below:
61
76
  - chat:
@@ -65,6 +80,9 @@ SDK for developing BigBlueButton plugins, examples of implementations can be fou
65
80
  - external-video:
66
81
  - volume:
67
82
  - set: this function will set the external video volume to a certain number between 0 and 1 (that is 0% and);
83
+ - layout:
84
+ - set: This function set the current layout with its argument (example: LayoutComponentListEnum.GENERIC_COMPONENT)
85
+ - unset: This function unset the current layout with its argument (example: LayoutComponentListEnum.GENERIC_COMPONENT)
68
86
 
69
87
  ### Dom Element Manipulation
70
88
  - `useChatMessageDomElements` hook: This hook will return the dom element of a chat message reactively, so one can modify whatever is inside, such as text, css, js, etc.;
@@ -15,6 +15,7 @@ var hooks_7 = require("../../ui-events/hooks");
15
15
  var hooks_8 = require("../../data-consumption/domain/chat/loaded-chat-messages/hooks");
16
16
  var hooks_9 = require("../../dom-element-manipulation/chat/message/hooks");
17
17
  var hooks_10 = require("../../data-consumption/domain/user-voice/talking-indicator/hooks");
18
+ var hooks_11 = require("../../ui-data-hooks/hooks");
18
19
  /**
19
20
  * Class responsible for either initialize or get the PluginApi
20
21
  *
@@ -48,6 +49,7 @@ var BbbPluginSdk = /** @class */ (function () {
48
49
  pluginApi.useUiEvent = (function (eventName, callback) { return (0, hooks_7.useUiEvent)(eventName, callback); });
49
50
  pluginApi.useChatMessageDomElements = function (messageIds) { return (0, hooks_9.useChatMessageDomElements)(messageIds); };
50
51
  pluginApi.uiCommands = commands_1.uiCommands;
52
+ pluginApi.useUiData = hooks_11.useUiData;
51
53
  var pluginName = pluginApi === null || pluginApi === void 0 ? void 0 : pluginApi.pluginName;
52
54
  if (pluginName) {
53
55
  pluginApi.useDataChannel = (function (channelName) { return (0, hooks_1.useDataChannel)(channelName, pluginName, window.bbb_plugins[uuid]); });
@@ -87,6 +89,7 @@ var BbbPluginSdk = /** @class */ (function () {
87
89
  setUserCameraDropdownItems: function () { },
88
90
  setUserListItemAdditionalInformation: function () { },
89
91
  setFloatingWindows: function () { },
92
+ setGenericComponents: function () { },
90
93
  mapOfDispatchers: {
91
94
  '': function () { },
92
95
  },
@@ -1 +1 @@
1
- {"version":3,"file":"BbbPluginSdk.js","sourceRoot":"","sources":["../../../../src/core/api/BbbPluginSdk.ts"],"names":[],"mappings":";;;AAYA,uDAAwD;AAQxD,kDAA0D;AAC1D,gGAEgF;AAChF,wFAEwE;AACxE,oFAA+F;AAC/F,gFAAwF;AACxF,oFAA+F;AAC/F,4DAAoE;AACpE,uDAA0D;AAC1D,mEAA2E;AAE3E,+CAAmD;AAEnD,uFAAsG;AACtG,2EAA8F;AAE9F,2FAAuG;AAIvG;;;;;;GAMG;AACH;IAAA;IAwFA,CAAC;IAvFC;;;;;;;;;;OAUG;IACW,uBAAU,GAAxB,UAAyB,IAAY;QACnC,IAAM,SAAS,GAAc,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACtD,SAAS,CAAC,qBAAqB,GAAG,CAAC,UACjC,KAAa,EACb,sBAAsD,IACnD,OAAA,IAAA,6BAAqB,EAAC,KAAK,EAAE,sBAAsB,CAAC,EAApD,CAAoD,CAAkC,CAAC;QAC5F,SAAS,CAAC,sBAAsB,GAAG,CACjC,cAAM,OAAA,IAAA,8BAAsB,GAAE,EAAxB,CAAwB,CAAmC,CAAC;QACpE,SAAS,CAAC,iBAAiB,GAAG,CAAC,cAAM,OAAA,IAAA,yBAAiB,GAAE,EAAnB,CAAmB,CAA8B,CAAC;QACvF,SAAS,CAAC,cAAc,GAAG,CAAC,cAAM,OAAA,IAAA,sBAAc,GAAE,EAAhB,CAAgB,CAA2B,CAAC;QAC9E,SAAS,CAAC,iBAAiB,GAAG,CAAC,cAAM,OAAA,IAAA,yBAAiB,GAAE,EAAnB,CAAmB,CAA8B,CAAC;QACvF,SAAS,CAAC,mBAAmB,GAAG,CAAC,cAAM,OAAA,IAAA,4BAAmB,GAAE,EAArB,CAAqB,CAAgC,CAAC;QAC7F,SAAS,CAAC,qBAAqB,GAAG,CAChC,cAAM,OAAA,IAAA,6BAAqB,GAAE,EAAvB,CAAuB,CAAkC,CAAC;QAClE,SAAS,CAAC,UAAU,GAAG,CAAC,UAGtB,SAAY,EACZ,QAAuE,IACpE,OAAA,IAAA,kBAAU,EAAC,SAAS,EAAE,QAAQ,CAAC,EAA/B,CAA+B,CAAuB,CAAC;QAC5D,SAAS,CAAC,yBAAyB,GAAG,UACpC,UAAoB,IACjB,OAAA,IAAA,iCAAyB,EAAC,UAAU,CAAC,EAArC,CAAqC,CAAC;QAC3C,SAAS,CAAC,UAAU,GAAG,qBAAU,CAAC;QAClC,IAAM,UAAU,GAAG,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,UAAU,CAAC;QACzC,IAAI,UAAU,EAAE;YACd,SAAS,CAAC,cAAc,GAAG,CAAC,UACxB,WAAmB,IAChB,OAAA,IAAA,sBAAc,EAAC,WAAW,EAAE,UAAU,EAAE,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,EAAjE,CAAiE,CAChC,CAAC;YACzC,SAAS,CAAC,iBAAiB,GAAG,cAAM,OAAA,IAAA,4BAAiB,EAAC,UAAU,CAAC,EAA7B,CAA6B,CAAC;SACnE;aAAM;YACL,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;SACxC;IACH,CAAC;IAED;;;;;;;;;;;;OAYG;IACW,yBAAY,GAA1B,UAA2B,IAAY,EAAE,UAAmB;QAC1D,IAAI,CAAC,MAAM,CAAC,WAAW;YAAE,MAAM,CAAC,WAAW,GAAG,EAAE,CAAC;QACjD,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE;YACxD,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG;gBACzB,wBAAwB,EAAE,cAAO,CAAC;gBAClC,2BAA2B,EAAE,cAAO,CAAC;gBACrC,4BAA4B,EAAE,cAAO,CAAC;gBACtC,kBAAkB,EAAE,cAAO,CAAC;gBAC5B,6BAA6B,EAAE,cAAO,CAAC;gBACvC,4BAA4B,EAAE,cAAO,CAAC;gBACtC,cAAc,EAAE,cAAO,CAAC;gBACxB,uBAAuB,EAAE,cAAO,CAAC;gBACjC,8BAA8B,EAAE,cAAO,CAAC;gBACxC,0BAA0B,EAAE,cAAO,CAAC;gBACpC,oCAAoC,EAAE,cAAO,CAAC;gBAC9C,kBAAkB,EAAE,cAAO,CAAC;gBAC5B,gBAAgB,EAAE;oBAChB,EAAE,EAAE,cAAO,CAAC;iBACb;gBACD,eAAe,EAAE,cAAM,OAAA,IAAA,wBAAe,GAAE,EAAjB,CAAiB;gBACxC,UAAU,EAAE,UAAC,MAAM,IAAK,OAAA,IAAA,mBAAU,EAAC,MAAM,CAAC,EAAlB,CAAkB;gBAC1C,UAAU,YAAA;aACX,CAAC;SACH;QAED,OAAO,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IACH,mBAAC;AAAD,CAAC,AAxFD,IAwFC;AAxFqB,oCAAY"}
1
+ {"version":3,"file":"BbbPluginSdk.js","sourceRoot":"","sources":["../../../../src/core/api/BbbPluginSdk.ts"],"names":[],"mappings":"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"}
@@ -24,6 +24,8 @@ import { UsePluginSettingsFunction } from '../../data-consumption/domain/setting
24
24
  import { UseUiEventFunction } from '../../ui-events/types';
25
25
  import { UseLoadedChatMessagesFunction } from '../../data-consumption/domain/chat/loaded-chat-messages/types';
26
26
  import { UseTalkingIndicatorFunction } from '../../data-consumption/domain/user-voice/talking-indicator/types';
27
+ import { GenericComponentInterface } from '../../extensible-areas/generic-component/types';
28
+ import { UseUiDataFunction } from '../../ui-data-hooks/types';
27
29
  export type SetPresentationToolbarItems = (presentationToolbarItem: PresentationToolbarInterface[]) => void;
28
30
  export type SetUserListDropdownItems = (userListDropdownItem: UserListDropdownInterface[]) => void;
29
31
  export type SetActionButtonDropdownItems = (actionButtonDropdownInterface: ActionButtonDropdownInterface[]) => void;
@@ -35,6 +37,7 @@ export type SetOptionsDropdownItems = (optionsDropdownItem: OptionsDropdownInter
35
37
  export type SetCameraSettingsDropdownItems = (cameraSettingsDropdownItem: CameraSettingsDropdownInterface[]) => void;
36
38
  export type SetUserCameraDropdownItems = (userCameraDropdownItem: UserCameraDropdownInterface[]) => void;
37
39
  export type SetUserListItemAdditionalInformation = (userListItemAdditionalInformation: UserListItemAdditionalInformationInterface[]) => void;
40
+ export type SetGenericComponents = (genericComponents: GenericComponentInterface[]) => void;
38
41
  /**
39
42
  * Object that makes plugin hooks and extensible area setters available for developers to use.
40
43
  */
@@ -52,6 +55,7 @@ export interface PluginApi {
52
55
  setUserCameraDropdownItems: SetUserCameraDropdownItems;
53
56
  setUserListItemAdditionalInformation: SetUserListItemAdditionalInformation;
54
57
  setFloatingWindows: SetFloatingWindows;
58
+ setGenericComponents: SetGenericComponents;
55
59
  /**
56
60
  * Returns an object containing the data on the current presentation being displayed
57
61
  * in the presentation area, and its current page.
@@ -140,6 +144,17 @@ export interface PluginApi {
140
144
  useDataChannel?: UseDataChannelFunctionFromPluginApi;
141
145
  mapOfDispatchers: MapOfDispatchers;
142
146
  uiCommands?: UiCommands;
147
+ /**
148
+ * Function that returns the ui data the developer wants from.
149
+ *
150
+ * @param dataName The name of ui data chosen to be returned.
151
+ *
152
+ * @param defaultValue Default value to be return if there is none from the ui
153
+ *
154
+ * @returns The data object according to the UiDataName chosen as the parameter
155
+ *
156
+ */
157
+ useUiData?: UseUiDataFunction;
143
158
  /**
144
159
  * Returns an array with the DOM elements for the chat messages.
145
160
  *
@@ -3,6 +3,7 @@ import { ActionsBarItemType } from './actions-bar-item/enums';
3
3
  import { AudioSettingsDropdownItemType } from './audio-settings-dropdown-item/enums';
4
4
  import { CameraSettingsDropdownItemType } from './camera-settings-dropdown-item/enums';
5
5
  import { FloatingWindowType } from './floating-window/enums';
6
+ import { GenericComponentType } from './generic-component/enums';
6
7
  import { NavBarItemType } from './nav-bar-item/enums';
7
8
  import { OptionsDropdownItemType } from './options-dropdown-item/enums';
8
9
  import { PresentationDropdownItemType } from './presentation-dropdown-item/enums';
@@ -10,7 +11,7 @@ import { PresentationToolbarItemType } from './presentation-toolbar-item/enums';
10
11
  import { UserCameraDropdownItemType } from './user-camera-dropdown-item/enums';
11
12
  import { UserListDropdownItemType } from './user-list-dropdown-item/enums';
12
13
  import { UserListItemAdditionalInformationType } from './user-list-item-additional-information/enums';
13
- type PluginProvidedUiItemType = PresentationToolbarItemType | UserListDropdownItemType | ActionButtonDropdownItemType | ActionsBarItemType | AudioSettingsDropdownItemType | PresentationDropdownItemType | NavBarItemType | OptionsDropdownItemType | CameraSettingsDropdownItemType | UserCameraDropdownItemType | UserListItemAdditionalInformationType | FloatingWindowType;
14
+ type PluginProvidedUiItemType = PresentationToolbarItemType | UserListDropdownItemType | ActionButtonDropdownItemType | ActionsBarItemType | AudioSettingsDropdownItemType | PresentationDropdownItemType | NavBarItemType | OptionsDropdownItemType | CameraSettingsDropdownItemType | UserCameraDropdownItemType | UserListItemAdditionalInformationType | FloatingWindowType | GenericComponentType;
14
15
  export interface PluginProvidedUiItemDescriptor {
15
16
  /** Defined by BigBlueButton Plugin Engine. */
16
17
  id: string;
@@ -0,0 +1,18 @@
1
+ import { GenericComponentType } from './enums';
2
+ import { GenericComponentInterface, GenericComponentProps } from './types';
3
+ export declare class GenericComponent implements GenericComponentInterface {
4
+ id: string;
5
+ type: GenericComponentType;
6
+ contentFunction: (element: HTMLElement) => void;
7
+ /**
8
+ * Returns object to be used in the setter for the Navigation Bar. In this case,
9
+ * a button.
10
+ *
11
+ * @param contentFunction - function that gives the html element to render the content of
12
+ * the floating window
13
+ *
14
+ * @returns Object that will be interpreted by the core of Bigbluebutton (HTML5).
15
+ */
16
+ constructor({ contentFunction, }: GenericComponentProps);
17
+ setItemId: (id: string) => void;
18
+ }
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GenericComponent = void 0;
4
+ var enums_1 = require("./enums");
5
+ // GenericComponent Extensible Area
6
+ var GenericComponent = /** @class */ (function () {
7
+ /**
8
+ * Returns object to be used in the setter for the Navigation Bar. In this case,
9
+ * a button.
10
+ *
11
+ * @param contentFunction - function that gives the html element to render the content of
12
+ * the floating window
13
+ *
14
+ * @returns Object that will be interpreted by the core of Bigbluebutton (HTML5).
15
+ */
16
+ function GenericComponent(_a) {
17
+ var contentFunction = _a.contentFunction;
18
+ var _this = this;
19
+ this.id = '';
20
+ this.setItemId = function (id) {
21
+ _this.id = "GenericComponent_".concat(id);
22
+ };
23
+ this.contentFunction = contentFunction;
24
+ this.type = enums_1.GenericComponentType.CONTAINER;
25
+ }
26
+ return GenericComponent;
27
+ }());
28
+ exports.GenericComponent = GenericComponent;
29
+ //# sourceMappingURL=component.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"component.js","sourceRoot":"","sources":["../../../../src/extensible-areas/generic-component/component.ts"],"names":[],"mappings":";;;AAAA,iCAA+C;AAG/C,mCAAmC;AAEnC;IAOE;;;;;;;;OAQG;IACH,0BAAY,EAEY;YADtB,eAAe,qBAAA;QADjB,iBAKC;QApBD,OAAE,GAAW,EAAE,CAAC;QAsBhB,cAAS,GAAyB,UAAC,EAAU;YAC3C,KAAI,CAAC,EAAE,GAAG,2BAAoB,EAAE,CAAE,CAAC;QACrC,CAAC,CAAC;QANA,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,IAAI,GAAG,4BAAoB,CAAC,SAAS,CAAC;IAC7C,CAAC;IAKH,uBAAC;AAAD,CAAC,AA1BD,IA0BC;AA1BY,4CAAgB"}
@@ -0,0 +1,3 @@
1
+ export declare enum GenericComponentType {
2
+ CONTAINER = "FLOATING_WINDOW_CONTAINER"
3
+ }
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GenericComponentType = void 0;
4
+ // Floating window types:
5
+ var GenericComponentType;
6
+ (function (GenericComponentType) {
7
+ GenericComponentType["CONTAINER"] = "FLOATING_WINDOW_CONTAINER";
8
+ })(GenericComponentType || (exports.GenericComponentType = GenericComponentType = {}));
9
+ //# sourceMappingURL=enums.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enums.js","sourceRoot":"","sources":["../../../../src/extensible-areas/generic-component/enums.ts"],"names":[],"mappings":";;;AAAA,yBAAyB;AACzB,IAAY,oBAEX;AAFD,WAAY,oBAAoB;IAC9B,+DAAuC,CAAA;AACzC,CAAC,EAFW,oBAAoB,oCAApB,oBAAoB,QAE/B"}
@@ -0,0 +1,2 @@
1
+ export { GenericComponent, } from './component';
2
+ export { GenericComponentInterface, } from './types';
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GenericComponent = void 0;
4
+ var component_1 = require("./component");
5
+ Object.defineProperty(exports, "GenericComponent", { enumerable: true, get: function () { return component_1.GenericComponent; } });
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/extensible-areas/generic-component/index.ts"],"names":[],"mappings":";;;AAAA,yCAEqB;AADnB,6GAAA,gBAAgB,OAAA"}
@@ -0,0 +1,7 @@
1
+ import { PluginProvidedUiItemDescriptor } from '../base';
2
+ export interface GenericComponentInterface extends PluginProvidedUiItemDescriptor {
3
+ }
4
+ export interface GenericComponentProps {
5
+ contentFunction: (element: HTMLElement) => void;
6
+ }
7
+ export type SetGenericComponents = (GenericComponents: GenericComponentInterface[]) => void;
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/extensible-areas/generic-component/types.ts"],"names":[],"mappings":""}
@@ -10,3 +10,4 @@ export * from './camera-settings-dropdown-item';
10
10
  export * from './user-camera-dropdown-item';
11
11
  export * from './user-list-item-additional-information';
12
12
  export * from './floating-window';
13
+ export * from './generic-component';
@@ -26,4 +26,5 @@ __exportStar(require("./camera-settings-dropdown-item"), exports);
26
26
  __exportStar(require("./user-camera-dropdown-item"), exports);
27
27
  __exportStar(require("./user-list-item-additional-information"), exports);
28
28
  __exportStar(require("./floating-window"), exports);
29
+ __exportStar(require("./generic-component"), exports);
29
30
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/extensible-areas/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8DAA4C;AAC5C,4DAA0C;AAC1C,gEAA8C;AAC9C,qDAAmC;AACnC,iEAA+C;AAC/C,+DAA6C;AAC7C,iDAA+B;AAC/B,0DAAwC;AACxC,kEAAgD;AAChD,8DAA4C;AAC5C,0EAAwD;AACxD,oDAAkC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/extensible-areas/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8DAA4C;AAC5C,4DAA0C;AAC1C,gEAA8C;AAC9C,qDAAmC;AACnC,iEAA+C;AAC/C,+DAA6C;AAC7C,iDAA+B;AAC/B,0DAAwC;AACxC,kEAAgD;AAChD,8DAA4C;AAC5C,0EAAwD;AACxD,oDAAkC;AAClC,sDAAoC"}
@@ -2,4 +2,6 @@ export * from './extensible-areas';
2
2
  export * from './data-consumption';
3
3
  export * from './data-channel';
4
4
  export * from './ui-events';
5
+ export * from './ui-data-hooks';
6
+ export * from './ui-commands';
5
7
  export * from './core';
package/dist/cjs/index.js CHANGED
@@ -18,5 +18,7 @@ __exportStar(require("./extensible-areas"), exports);
18
18
  __exportStar(require("./data-consumption"), exports);
19
19
  __exportStar(require("./data-channel"), exports);
20
20
  __exportStar(require("./ui-events"), exports);
21
+ __exportStar(require("./ui-data-hooks"), exports);
22
+ __exportStar(require("./ui-commands"), exports);
21
23
  __exportStar(require("./core"), exports);
22
24
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAmC;AAEnC,qDAAmC;AAEnC,iDAA+B;AAE/B,8CAA4B;AAE5B,yCAAuB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAmC;AAEnC,qDAAmC;AAEnC,iDAA+B;AAE/B,8CAA4B;AAE5B,kDAAgC;AAEhC,gDAA8B;AAE9B,yCAAuB"}
@@ -10,4 +10,8 @@ export declare const uiCommands: {
10
10
  set: (setExternalVideoVolumeCommandArguments: import("./external-video/volume/types").SetExternalVideoVolumeCommandArguments) => void;
11
11
  };
12
12
  };
13
+ layout: {
14
+ set: (layoutToBeSet: import(".").LayoutComponentListEnum) => void;
15
+ unset: (layoutToBeSet: import(".").LayoutComponentListEnum) => void;
16
+ };
13
17
  };
@@ -3,8 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.uiCommands = void 0;
4
4
  var commands_1 = require("./chat/commands");
5
5
  var commands_2 = require("./external-video/commands");
6
+ var commands_3 = require("./layout/commands");
6
7
  exports.uiCommands = {
7
8
  chat: commands_1.chat,
8
- externalVideo: commands_2.externalVideo
9
+ externalVideo: commands_2.externalVideo,
10
+ layout: commands_3.layout,
9
11
  };
10
12
  //# sourceMappingURL=commands.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../../src/ui-commands/commands.ts"],"names":[],"mappings":";;;AAAA,4CAAuC;AACvC,sDAA0D;AAE7C,QAAA,UAAU,GAAG;IACxB,IAAI,iBAAA;IACJ,aAAa,0BAAA;CACd,CAAC"}
1
+ {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../../src/ui-commands/commands.ts"],"names":[],"mappings":";;;AAAA,4CAAuC;AACvC,sDAA0D;AAC1D,8CAA2C;AAE9B,QAAA,UAAU,GAAG;IACxB,IAAI,iBAAA;IACJ,aAAa,0BAAA;IACb,MAAM,mBAAA;CACP,CAAC"}
@@ -0,0 +1 @@
1
+ export * from './layout/enums';
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./layout/enums"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ui-commands/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAA+B"}
@@ -0,0 +1,5 @@
1
+ import { LayoutComponentListEnum } from "./enums";
2
+ export declare const layout: {
3
+ set: (layoutToBeSet: LayoutComponentListEnum) => void;
4
+ unset: (layoutToBeSet: LayoutComponentListEnum) => void;
5
+ };
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.layout = void 0;
4
+ var enums_1 = require("./enums");
5
+ exports.layout = {
6
+ set: function (layoutToBeSet) {
7
+ window.dispatchEvent(new CustomEvent(enums_1.LayoutCommandsEnum.SET, {
8
+ detail: layoutToBeSet
9
+ }));
10
+ },
11
+ unset: function (layoutToBeSet) {
12
+ window.dispatchEvent(new CustomEvent(enums_1.LayoutCommandsEnum.UNSET, {
13
+ detail: layoutToBeSet
14
+ }));
15
+ }
16
+ };
17
+ //# sourceMappingURL=commands.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../../../src/ui-commands/layout/commands.ts"],"names":[],"mappings":";;;AAAA,iCAAsE;AAEzD,QAAA,MAAM,GAAG;IAClB,GAAG,EAAE,UAAC,aAAsC;QACxC,MAAM,CAAC,aAAa,CAAC,IAAI,WAAW,CAChC,0BAAkB,CAAC,GAAG,EAAE;YACpB,MAAM,EAAE,aAAa;SACxB,CACJ,CAAC,CAAC;IACP,CAAC;IACD,KAAK,EAAE,UAAC,aAAsC;QAC1C,MAAM,CAAC,aAAa,CAAC,IAAI,WAAW,CAChC,0BAAkB,CAAC,KAAK,EAAE;YACtB,MAAM,EAAE,aAAa;SACxB,CACJ,CAAC,CAAC;IACP,CAAC;CACJ,CAAC"}
@@ -0,0 +1,7 @@
1
+ export declare enum LayoutCommandsEnum {
2
+ SET = "SET_LAYOUT_COMMAND",
3
+ UNSET = "UNSET_LAYOUT_COMMAND"
4
+ }
5
+ export declare enum LayoutComponentListEnum {
6
+ GENERIC_COMPONENT = "GENERIC_COMPONENT"
7
+ }
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LayoutComponentListEnum = exports.LayoutCommandsEnum = void 0;
4
+ var LayoutCommandsEnum;
5
+ (function (LayoutCommandsEnum) {
6
+ LayoutCommandsEnum["SET"] = "SET_LAYOUT_COMMAND";
7
+ LayoutCommandsEnum["UNSET"] = "UNSET_LAYOUT_COMMAND";
8
+ })(LayoutCommandsEnum || (exports.LayoutCommandsEnum = LayoutCommandsEnum = {}));
9
+ var LayoutComponentListEnum;
10
+ (function (LayoutComponentListEnum) {
11
+ LayoutComponentListEnum["GENERIC_COMPONENT"] = "GENERIC_COMPONENT";
12
+ })(LayoutComponentListEnum || (exports.LayoutComponentListEnum = LayoutComponentListEnum = {}));
13
+ //# sourceMappingURL=enums.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enums.js","sourceRoot":"","sources":["../../../../src/ui-commands/layout/enums.ts"],"names":[],"mappings":";;;AAAA,IAAY,kBAGX;AAHD,WAAY,kBAAkB;IAC1B,gDAA0B,CAAA;IAC1B,oDAA8B,CAAA;AAClC,CAAC,EAHW,kBAAkB,kCAAlB,kBAAkB,QAG7B;AAED,IAAY,uBAEX;AAFD,WAAY,uBAAuB;IAC/B,kEAAuC,CAAA;AAC3C,CAAC,EAFW,uBAAuB,uCAAvB,uBAAuB,QAElC"}
@@ -0,0 +1,5 @@
1
+ import { LayoutComponentListEnum } from "./enums";
2
+ export interface UiCommandsLayoutObject {
3
+ set: (layoutToSet: LayoutComponentListEnum) => void;
4
+ unset: (layoutToUnset: LayoutComponentListEnum) => void;
5
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/ui-commands/layout/types.ts"],"names":[],"mappings":""}
@@ -1,9 +1,8 @@
1
1
  import { UiCommandsChatObject } from './chat/types';
2
2
  import { UiCommandsExternalVideoObject } from './external-video/types';
3
- export interface UiCommandsEventWrapper<T> extends Event {
4
- detail: T;
5
- }
3
+ import { UiCommandsLayoutObject } from './layout/types';
6
4
  export interface UiCommands {
7
5
  chat: UiCommandsChatObject;
8
6
  externalVideo: UiCommandsExternalVideoObject;
7
+ layout: UiCommandsLayoutObject;
9
8
  }
@@ -0,0 +1 @@
1
+ export declare const UI_DATA_LISTENER_SUBSCRIBED = "UI_DATA_LISTENER_SUBSCRIBED";
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UI_DATA_LISTENER_SUBSCRIBED = void 0;
4
+ exports.UI_DATA_LISTENER_SUBSCRIBED = 'UI_DATA_LISTENER_SUBSCRIBED';
5
+ //# sourceMappingURL=consts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"consts.js","sourceRoot":"","sources":["../../../src/ui-data-hooks/consts.ts"],"names":[],"mappings":";;;AAAa,QAAA,2BAA2B,GAAG,6BAA6B,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { UiDataPayloads } from './types';
2
+ export declare function useUiData<T extends keyof UiDataPayloads>(dataName: T, defaultValue: UiDataPayloads[T]): UiDataPayloads[T];
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useUiData = void 0;
4
+ var react_1 = require("react");
5
+ var consts_1 = require("./consts");
6
+ function useUiData(dataName, defaultValue) {
7
+ var _a = (0, react_1.useState)(defaultValue), data = _a[0], setData = _a[1];
8
+ var dataStoringFunction = (function (customEvent) {
9
+ setData(customEvent.detail);
10
+ });
11
+ (0, react_1.useEffect)(function () {
12
+ window.addEventListener(dataName, dataStoringFunction);
13
+ window.dispatchEvent(new Event("".concat(consts_1.UI_DATA_LISTENER_SUBSCRIBED, "-").concat(dataName)));
14
+ return function () {
15
+ window.removeEventListener(dataName, dataStoringFunction);
16
+ };
17
+ }, []);
18
+ return data;
19
+ }
20
+ exports.useUiData = useUiData;
21
+ //# sourceMappingURL=hooks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../../src/ui-data-hooks/hooks.ts"],"names":[],"mappings":";;;AAAA,+BAA4C;AAE5C,mCAAuD;AAEvD,SAAgB,SAAS,CAEvB,QAAW,EAAE,YAA+B;IACtC,IAAA,KAAkB,IAAA,gBAAQ,EAAoB,YAAY,CAAC,EAA1D,IAAI,QAAA,EAAE,OAAO,QAA6C,CAAC;IAClE,IAAM,mBAAmB,GAAG,CAAC,UAAC,WAA2C;QACvE,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC,CAAkB,CAAC;IAEpB,IAAA,iBAAS,EAAC;QACR,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,mBAAmB,CAAC,CAAC;QACvD,MAAM,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,UAAG,oCAA2B,cAAI,QAAQ,CAAE,CAAC,CAAC,CAAC;QAC9E,OAAO;YACL,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,mBAAmB,CAAC,CAAC;QAC5D,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,IAAI,CAAC;AACd,CAAC;AAjBD,8BAiBC"}
@@ -0,0 +1,2 @@
1
+ export { UiDataNames } from './types';
2
+ export * from './intl';
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./intl"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ui-data-hooks/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAEA,yCAAuB"}
@@ -0,0 +1 @@
1
+ export { IntlLocaleUiDataNames } from './locale/enums';
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.IntlLocaleUiDataNames = void 0;
4
+ var enums_1 = require("./locale/enums");
5
+ Object.defineProperty(exports, "IntlLocaleUiDataNames", { enumerable: true, get: function () { return enums_1.IntlLocaleUiDataNames; } });
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/ui-data-hooks/intl/index.ts"],"names":[],"mappings":";;;AAAA,wCAAuD;AAA9C,8GAAA,qBAAqB,OAAA"}
@@ -0,0 +1,3 @@
1
+ export declare enum IntlLocaleUiDataNames {
2
+ CURRENT_LOCALE = "CURRENT_LOCALE"
3
+ }
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.IntlLocaleUiDataNames = void 0;
4
+ var IntlLocaleUiDataNames;
5
+ (function (IntlLocaleUiDataNames) {
6
+ IntlLocaleUiDataNames["CURRENT_LOCALE"] = "CURRENT_LOCALE";
7
+ })(IntlLocaleUiDataNames || (exports.IntlLocaleUiDataNames = IntlLocaleUiDataNames = {}));
8
+ //# sourceMappingURL=enums.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enums.js","sourceRoot":"","sources":["../../../../../src/ui-data-hooks/intl/locale/enums.ts"],"names":[],"mappings":";;;AAAA,IAAY,qBAEX;AAFD,WAAY,qBAAqB;IAC/B,0DAAiC,CAAA;AACnC,CAAC,EAFW,qBAAqB,qCAArB,qBAAqB,QAEhC"}
@@ -0,0 +1,7 @@
1
+ import { IntlLocaleUiDataNames } from './enums';
2
+ export type IntlLocaleUiDataPayloads = {
3
+ [IntlLocaleUiDataNames.CURRENT_LOCALE]: {
4
+ locale: string;
5
+ fallbackLocale: string;
6
+ };
7
+ };
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var enums_1 = require("./enums");
4
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/ui-data-hooks/intl/locale/types.ts"],"names":[],"mappings":";;AAAA,iCAAgD"}
@@ -0,0 +1,7 @@
1
+ import { IntlLocaleUiDataPayloads } from './intl/locale/types';
2
+ export type UiDataPayloads = IntlLocaleUiDataPayloads;
3
+ export type UiDataNames = keyof UiDataPayloads;
4
+ export interface UiDataHookPayloadWrapper<T> extends Event {
5
+ detail: T;
6
+ }
7
+ export type UseUiDataFunction = <T extends keyof UiDataPayloads>(dataName: T, defaultValue: UiDataPayloads[T]) => UiDataPayloads[T];
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/ui-data-hooks/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ export { ExternalVideoVolumeEventsNames } from './volume/enums';
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ExternalVideoVolumeEventsNames = void 0;
4
+ var enums_1 = require("./volume/enums");
5
+ Object.defineProperty(exports, "ExternalVideoVolumeEventsNames", { enumerable: true, get: function () { return enums_1.ExternalVideoVolumeEventsNames; } });
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/ui-events/external-video/index.ts"],"names":[],"mappings":";;;AAAA,wCAAgE;AAAvD,uHAAA,8BAA8B,OAAA"}
@@ -0,0 +1,3 @@
1
+ export declare enum ExternalVideoVolumeEventsNames {
2
+ VOLUME_VALUE_CHANGED = "VOLUME_VALUE_CHANGED"
3
+ }
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ExternalVideoVolumeEventsNames = void 0;
4
+ var ExternalVideoVolumeEventsNames;
5
+ (function (ExternalVideoVolumeEventsNames) {
6
+ ExternalVideoVolumeEventsNames["VOLUME_VALUE_CHANGED"] = "VOLUME_VALUE_CHANGED";
7
+ })(ExternalVideoVolumeEventsNames || (exports.ExternalVideoVolumeEventsNames = ExternalVideoVolumeEventsNames = {}));
8
+ //# sourceMappingURL=enums.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enums.js","sourceRoot":"","sources":["../../../../../src/ui-events/external-video/volume/enums.ts"],"names":[],"mappings":";;;AAAA,IAAY,8BAEX;AAFD,WAAY,8BAA8B;IACtC,+EAA6C,CAAA;AACjD,CAAC,EAFW,8BAA8B,8CAA9B,8BAA8B,QAEzC"}
@@ -0,0 +1,6 @@
1
+ import { ExternalVideoVolumeEventsNames } from './enums';
2
+ export type ExternalVideoVolumeEventPayloads = {
3
+ [ExternalVideoVolumeEventsNames.VOLUME_VALUE_CHANGED]: {
4
+ value: number;
5
+ };
6
+ };
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var enums_1 = require("./enums");
4
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/ui-events/external-video/volume/types.ts"],"names":[],"mappings":";;AAAA,iCAAyD"}
@@ -1,3 +1,4 @@
1
1
  export { EventNames } from './types';
2
2
  export * from './chat';
3
3
  export * from './user-list';
4
+ export * from './external-video';
@@ -16,4 +16,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./chat"), exports);
18
18
  __exportStar(require("./user-list"), exports);
19
+ __exportStar(require("./external-video"), exports);
19
20
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ui-events/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAEA,yCAAuB;AAEvB,8CAA4B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ui-events/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAEA,yCAAuB;AAEvB,8CAA4B;AAE5B,mDAAiC"}
@@ -1,6 +1,7 @@
1
+ import { ExternalVideoVolumeEventPayloads } from './external-video/volume/types';
1
2
  import { ChatFormEventPayloads } from './chat/form/types';
2
3
  import { UserListEventPayloads } from './user-list/types';
3
- export type EventPayloads = ChatFormEventPayloads & UserListEventPayloads;
4
+ export type EventPayloads = ChatFormEventPayloads & UserListEventPayloads & ExternalVideoVolumeEventPayloads;
4
5
  export type EventNames = keyof EventPayloads;
5
6
  export interface UiEventsHookEventWrapper<T> extends Event {
6
7
  detail: T;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bigbluebutton-html-plugin-sdk",
3
- "version": "0.0.35",
3
+ "version": "0.0.37",
4
4
  "homepage": "https://github.com/bigbluebutton/bigbluebutton-html-plugin-sdk",
5
5
  "main": "dist/cjs/index.js",
6
6
  "module": "dist/esm/index.js",