@imposium-hub/components 2.2.38 → 2.2.40-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.
Files changed (91) hide show
  1. package/dist/cjs/components/app-wrapper/AppWrapper.d.ts +1 -0
  2. package/dist/cjs/components/app-wrapper/AppWrapper.js +2 -2
  3. package/dist/cjs/components/app-wrapper/AppWrapper.js.map +1 -1
  4. package/dist/cjs/components/auth-gate/AuthGate.js +2 -2
  5. package/dist/cjs/components/auth-gate/AuthGate.js.map +1 -1
  6. package/dist/cjs/components/context-menu/AnimateComponent.d.ts +8 -0
  7. package/dist/cjs/components/context-menu/AnimateComponent.js +14 -0
  8. package/dist/cjs/components/context-menu/AnimateComponent.js.map +1 -0
  9. package/dist/cjs/components/context-menu/ContextMenu.d.ts +29 -0
  10. package/dist/cjs/components/context-menu/ContextMenu.js +168 -0
  11. package/dist/cjs/components/context-menu/ContextMenu.js.map +1 -0
  12. package/dist/cjs/components/context-menu/ContextMenuItem.d.ts +20 -0
  13. package/dist/cjs/components/context-menu/ContextMenuItem.js +60 -0
  14. package/dist/cjs/components/context-menu/ContextMenuItem.js.map +1 -0
  15. package/dist/cjs/components/context-menu/ContextMenuTrigger.d.ts +18 -0
  16. package/dist/cjs/components/context-menu/ContextMenuTrigger.js +71 -0
  17. package/dist/cjs/components/context-menu/ContextMenuTrigger.js.map +1 -0
  18. package/dist/cjs/components/context-menu/SubMenu.d.ts +14 -0
  19. package/dist/cjs/components/context-menu/SubMenu.js +97 -0
  20. package/dist/cjs/components/context-menu/SubMenu.js.map +1 -0
  21. package/dist/cjs/components/context-menu/helper.d.ts +2 -0
  22. package/dist/cjs/components/context-menu/helper.js +31 -0
  23. package/dist/cjs/components/context-menu/helper.js.map +1 -0
  24. package/dist/cjs/components/context-menu/registerEvent.d.ts +4 -0
  25. package/dist/cjs/components/context-menu/registerEvent.js +46 -0
  26. package/dist/cjs/components/context-menu/registerEvent.js.map +1 -0
  27. package/dist/cjs/components/error-message-preview/ErrorMessagePreview.d.ts +15 -0
  28. package/dist/cjs/components/error-message-preview/ErrorMessagePreview.js +91 -0
  29. package/dist/cjs/components/error-message-preview/ErrorMessagePreview.js.map +1 -0
  30. package/dist/cjs/components/tag/Tag.test.js.map +1 -1
  31. package/dist/cjs/index.d.ts +5 -1
  32. package/dist/cjs/index.js +9 -1
  33. package/dist/cjs/index.js.map +1 -1
  34. package/dist/cjs/services/Auth0.d.ts +1 -1
  35. package/dist/cjs/services/Auth0.js +2 -3
  36. package/dist/cjs/services/Auth0.js.map +1 -1
  37. package/dist/esm/components/app-wrapper/AppWrapper.d.ts +1 -0
  38. package/dist/esm/components/app-wrapper/AppWrapper.js +2 -2
  39. package/dist/esm/components/app-wrapper/AppWrapper.js.map +1 -1
  40. package/dist/esm/components/auth-gate/AuthGate.js +2 -2
  41. package/dist/esm/components/auth-gate/AuthGate.js.map +1 -1
  42. package/dist/esm/components/context-menu/AnimateComponent.d.ts +8 -0
  43. package/dist/esm/components/context-menu/AnimateComponent.js +8 -0
  44. package/dist/esm/components/context-menu/AnimateComponent.js.map +1 -0
  45. package/dist/esm/components/context-menu/ContextMenu.d.ts +29 -0
  46. package/dist/esm/components/context-menu/ContextMenu.js +108 -0
  47. package/dist/esm/components/context-menu/ContextMenu.js.map +1 -0
  48. package/dist/esm/components/context-menu/ContextMenuItem.d.ts +20 -0
  49. package/dist/esm/components/context-menu/ContextMenuItem.js +23 -0
  50. package/dist/esm/components/context-menu/ContextMenuItem.js.map +1 -0
  51. package/dist/esm/components/context-menu/ContextMenuTrigger.d.ts +18 -0
  52. package/dist/esm/components/context-menu/ContextMenuTrigger.js +34 -0
  53. package/dist/esm/components/context-menu/ContextMenuTrigger.js.map +1 -0
  54. package/dist/esm/components/context-menu/SubMenu.d.ts +14 -0
  55. package/dist/esm/components/context-menu/SubMenu.js +41 -0
  56. package/dist/esm/components/context-menu/SubMenu.js.map +1 -0
  57. package/dist/esm/components/context-menu/helper.d.ts +2 -0
  58. package/dist/esm/components/context-menu/helper.js +22 -0
  59. package/dist/esm/components/context-menu/helper.js.map +1 -0
  60. package/dist/esm/components/context-menu/registerEvent.d.ts +4 -0
  61. package/dist/esm/components/context-menu/registerEvent.js +41 -0
  62. package/dist/esm/components/context-menu/registerEvent.js.map +1 -0
  63. package/dist/esm/components/error-message-preview/ErrorMessagePreview.d.ts +15 -0
  64. package/dist/esm/components/error-message-preview/ErrorMessagePreview.js +35 -0
  65. package/dist/esm/components/error-message-preview/ErrorMessagePreview.js.map +1 -0
  66. package/dist/esm/components/tag/Tag.test.js.map +1 -1
  67. package/dist/esm/index.d.ts +5 -1
  68. package/dist/esm/index.js +5 -1
  69. package/dist/esm/index.js.map +1 -1
  70. package/dist/esm/services/Auth0.d.ts +1 -1
  71. package/dist/esm/services/Auth0.js +2 -2
  72. package/dist/esm/services/Auth0.js.map +1 -1
  73. package/dist/styles.css +141 -0
  74. package/dist/styles.less +145 -0
  75. package/less/components/context-menu.less +145 -0
  76. package/less/entry.less +2 -1
  77. package/package.json +4 -3
  78. package/src/components/app-wrapper/AppWrapper.tsx +3 -2
  79. package/src/components/auth-gate/AuthGate.tsx +3 -2
  80. package/src/components/context-menu/AnimateComponent.tsx +19 -0
  81. package/src/components/context-menu/ContextMenu.tsx +172 -0
  82. package/src/components/context-menu/ContextMenuItem.tsx +34 -0
  83. package/src/components/context-menu/ContextMenuTrigger.tsx +47 -0
  84. package/src/components/context-menu/SubMenu.tsx +70 -0
  85. package/src/components/context-menu/helper.ts +21 -0
  86. package/src/components/context-menu/registerEvent.ts +46 -0
  87. package/src/index.ts +9 -1
  88. package/src/services/Auth0.ts +2 -2
  89. /package/src/components/{tag → Tag}/Tag.test.tsx +0 -0
  90. /package/src/components/{tag → Tag}/Tag.tsx +0 -0
  91. /package/src/components/dropdown/{Dropdown.tsx → dropdown.tsx} +0 -0
@@ -0,0 +1,70 @@
1
+ import React, { useCallback, useState, useRef } from 'react';
2
+ import ContextMenuItem from './ContextMenuItem';
3
+
4
+ const Submenu = ({ children, title, attributes, className }) => {
5
+ const [submenuStyle, setSubmenuStyle] = useState(null);
6
+ const submenuEl = useRef(null);
7
+ const submenuItem = useRef(null);
8
+
9
+ const calculateSubmenuPos = useCallback(() => {
10
+ const { innerHeight: windowInnerHeight, innerWidth: windowInnerWidth } = window;
11
+ const {
12
+ left: itemLeft,
13
+ top: itemTop,
14
+ width: itemWidth,
15
+ height: itemHeight
16
+ } = submenuItem.current.getBoundingClientRect();
17
+ const { width: submenuWidth, height: submenuHeight } =
18
+ submenuEl.current.getBoundingClientRect();
19
+ const style = {
20
+ opacity: 1,
21
+ visibility: 'visible'
22
+ };
23
+
24
+ if (itemTop + submenuHeight + itemHeight > windowInnerHeight) {
25
+ style['top'] = 'inherit';
26
+ style['bottom'] = '0';
27
+ }
28
+ if (itemLeft + submenuWidth + itemWidth > windowInnerWidth) {
29
+ style['left'] = 'inherit';
30
+ style['right'] = '100%';
31
+ }
32
+
33
+ setSubmenuStyle(style);
34
+ }, []);
35
+
36
+ const hideSubmenu = useCallback(() => {
37
+ const style = {
38
+ opacity: 0,
39
+ visibility: 'hidden'
40
+ };
41
+
42
+ setSubmenuStyle(style);
43
+ }, []);
44
+
45
+ return (
46
+ <div
47
+ className='submenu'
48
+ onMouseOver={() => calculateSubmenuPos()}
49
+ onMouseOut={() => hideSubmenu()}
50
+ onFocus={() => null}
51
+ onBlur={() => null}
52
+ ref={submenuItem}
53
+ {...attributes}>
54
+ <ContextMenuItem>{title}</ContextMenuItem>
55
+ <div
56
+ className='submenu__item'
57
+ ref={submenuEl}
58
+ style={submenuStyle}>
59
+ {children}
60
+ </div>
61
+ </div>
62
+ );
63
+ };
64
+
65
+ export default Submenu;
66
+
67
+ Submenu.defaultProps = {
68
+ title: 'Sub Menu',
69
+ className: ''
70
+ };
@@ -0,0 +1,21 @@
1
+ export const uniqueId = () => `_${Math.random().toString(36).substr(2, 9)}`;
2
+
3
+ export const throttle = (func, limit) => {
4
+ let lastFunc;
5
+ let lastRan;
6
+ return (...args) => {
7
+ const context = window;
8
+ if (!lastRan) {
9
+ func.apply(context, args);
10
+ lastRan = Date.now();
11
+ } else {
12
+ clearTimeout(lastFunc);
13
+ lastFunc = setTimeout(() => {
14
+ if (Date.now() - lastRan >= limit) {
15
+ func.apply(context, args);
16
+ lastRan = Date.now();
17
+ }
18
+ }, limit - (Date.now() - lastRan));
19
+ }
20
+ };
21
+ };
@@ -0,0 +1,46 @@
1
+ import { uniqueId } from './helper';
2
+
3
+ const events = {};
4
+
5
+ let activeEvent = {
6
+ id: '',
7
+ showMenu: null,
8
+ hideMenu: null
9
+ };
10
+
11
+ const registerEvent = (id, showMenu, hideMenu) => {
12
+ const _ = uniqueId();
13
+
14
+ events[_] = {
15
+ id,
16
+ showMenu,
17
+ hideMenu
18
+ };
19
+
20
+ return id;
21
+ };
22
+
23
+ const callShowEvent = (opts) => {
24
+ const { hideMenu } = activeEvent;
25
+ if (hideMenu) hideMenu();
26
+ Object.keys(events).forEach((key) => {
27
+ if (events[key].id && events[key].id === opts.id) {
28
+ events[key].showMenu(opts);
29
+ activeEvent = events[key];
30
+ }
31
+ });
32
+ };
33
+
34
+ const callHideEvent = (menuId) => {
35
+ const { id, hideMenu } = activeEvent;
36
+ if (id === menuId || menuId === 'ID_NOT_REQUIRED') {
37
+ if (hideMenu) hideMenu();
38
+ activeEvent = {
39
+ id: '',
40
+ showMenu: null,
41
+ hideMenu: null
42
+ };
43
+ }
44
+ };
45
+
46
+ export { registerEvent, callShowEvent, callHideEvent };
package/src/index.ts CHANGED
@@ -155,6 +155,10 @@ import FontPicker from './components/font-picker/FontPicker';
155
155
  import AudioPreview from './components/players/AudioPreview';
156
156
  import { renderTooltipProps, renderTooltip } from './components/Tooltip';
157
157
  import AssetsTableRateCell from './components/assets/AssetsTableRateCell';
158
+ import ContextMenu from './components/context-menu/ContextMenu';
159
+ import ContextMenuItem from './components/context-menu/ContextMenuItem';
160
+ import ContextMenuTrigger from './components/context-menu/ContextMenuTrigger';
161
+ import Submenu from './components/context-menu/SubMenu';
158
162
 
159
163
  export {
160
164
  AppWrapper,
@@ -301,5 +305,9 @@ export {
301
305
  cancelAssetUpload,
302
306
  getLastModifiedStoryInOrg,
303
307
  renderTooltipProps,
304
- renderTooltip
308
+ renderTooltip,
309
+ ContextMenu,
310
+ ContextMenuItem,
311
+ ContextMenuTrigger,
312
+ Submenu
305
313
  };
@@ -11,7 +11,6 @@ export interface IIdentity {
11
11
 
12
12
  export default class AuthService {
13
13
  private static readonly IMPOSIUM_APP_DEFAULTS: any = {
14
- domain: 'imposium.auth0.com',
15
14
  scope: 'openid',
16
15
  responseType: 'token id_token',
17
16
  redirectUri: `${window.location.origin}/auth`
@@ -23,9 +22,10 @@ export default class AuthService {
23
22
  /*
24
23
  Initialize the auth0 web client with client ID for a given app-wrapper
25
24
  */
26
- public static bindToClient = (clientID: string): void => {
25
+ public static bindToClient = (clientID: string, domain: string): void => {
27
26
  AuthService.auth0Client = new auth0.WebAuth({
28
27
  clientID,
28
+ domain,
29
29
  ...AuthService.IMPOSIUM_APP_DEFAULTS
30
30
  });
31
31
  };
File without changes
File without changes