@equinor/fusion-framework-cli 10.0.0-next-43b4cac9210dd754e552b9f32ae229477e5ca643 → 10.0.0-next-65f4bbf022d22b529abd095acd74ab218499fb8b

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 (181) hide show
  1. package/CHANGELOG.md +10 -10
  2. package/bin/cli.mjs +1 -1
  3. package/dist/bin/build-application.js +65 -0
  4. package/dist/bin/build-application.js.map +1 -0
  5. package/dist/bin/bundle-application.js +56 -0
  6. package/dist/bin/bundle-application.js.map +1 -0
  7. package/dist/bin/create-dev-serve.js +123 -0
  8. package/dist/bin/create-dev-serve.js.map +1 -0
  9. package/dist/bin/create-export-config.js +50 -0
  10. package/dist/bin/create-export-config.js.map +1 -0
  11. package/dist/bin/create-export-manifest.js +77 -0
  12. package/dist/bin/create-export-manifest.js.map +1 -0
  13. package/dist/bin/dev-portal/AppLoader.js +77 -0
  14. package/dist/bin/dev-portal/AppLoader.js.map +1 -0
  15. package/dist/bin/dev-portal/BookMarkSideSheet.js +15 -0
  16. package/dist/bin/dev-portal/BookMarkSideSheet.js.map +1 -0
  17. package/dist/bin/dev-portal/ContextSelector/ContextSelector.js +41 -0
  18. package/dist/bin/dev-portal/ContextSelector/ContextSelector.js.map +1 -0
  19. package/dist/bin/dev-portal/ContextSelector/index.js +2 -0
  20. package/dist/bin/dev-portal/ContextSelector/index.js.map +1 -0
  21. package/dist/bin/dev-portal/ContextSelector/useContextResolver.js +171 -0
  22. package/dist/bin/dev-portal/ContextSelector/useContextResolver.js.map +1 -0
  23. package/dist/bin/dev-portal/EquinorLoader.js +14 -0
  24. package/dist/bin/dev-portal/EquinorLoader.js.map +1 -0
  25. package/dist/bin/dev-portal/ErrorViewer.js +7 -0
  26. package/dist/bin/dev-portal/ErrorViewer.js.map +1 -0
  27. package/dist/bin/dev-portal/FusionLogo.js +4 -0
  28. package/dist/bin/dev-portal/FusionLogo.js.map +1 -0
  29. package/dist/bin/dev-portal/Header.js +37 -0
  30. package/dist/bin/dev-portal/Header.js.map +1 -0
  31. package/dist/bin/dev-portal/PersonSideSheet/index.js +32 -0
  32. package/dist/bin/dev-portal/PersonSideSheet/index.js.map +1 -0
  33. package/dist/bin/dev-portal/PersonSideSheet/sheets/FeatureSheetContent.js +16 -0
  34. package/dist/bin/dev-portal/PersonSideSheet/sheets/FeatureSheetContent.js.map +1 -0
  35. package/dist/bin/dev-portal/PersonSideSheet/sheets/FeatureTogglerApp.js +16 -0
  36. package/dist/bin/dev-portal/PersonSideSheet/sheets/FeatureTogglerApp.js.map +1 -0
  37. package/dist/bin/dev-portal/PersonSideSheet/sheets/FeatureTogglerPortal.js +16 -0
  38. package/dist/bin/dev-portal/PersonSideSheet/sheets/FeatureTogglerPortal.js.map +1 -0
  39. package/dist/bin/dev-portal/PersonSideSheet/sheets/LandingSheetContent.js +19 -0
  40. package/dist/bin/dev-portal/PersonSideSheet/sheets/LandingSheetContent.js.map +1 -0
  41. package/dist/bin/dev-portal/PersonSideSheet/sheets/Styled.js +30 -0
  42. package/dist/bin/dev-portal/PersonSideSheet/sheets/Styled.js.map +1 -0
  43. package/dist/bin/dev-portal/PersonSideSheet/sheets/index.js +3 -0
  44. package/dist/bin/dev-portal/PersonSideSheet/sheets/index.js.map +1 -0
  45. package/dist/bin/dev-portal/PersonSideSheet/sheets/types.js +2 -0
  46. package/dist/bin/dev-portal/PersonSideSheet/sheets/types.js.map +1 -0
  47. package/dist/bin/dev-portal/Router.js +59 -0
  48. package/dist/bin/dev-portal/Router.js.map +1 -0
  49. package/dist/bin/dev-portal/config.js +69 -0
  50. package/dist/bin/dev-portal/config.js.map +1 -0
  51. package/dist/bin/dev-portal/main.js +13 -0
  52. package/dist/bin/dev-portal/main.js.map +1 -0
  53. package/dist/bin/dev-portal/resources/fallback-photo.svg.js +3 -0
  54. package/dist/bin/dev-portal/resources/fallback-photo.svg.js.map +1 -0
  55. package/dist/bin/dev-portal/useAppContextNavigation.js +68 -0
  56. package/dist/bin/dev-portal/useAppContextNavigation.js.map +1 -0
  57. package/dist/bin/main.app.js +171 -0
  58. package/dist/bin/main.app.js.map +1 -0
  59. package/dist/bin/main.js +20 -0
  60. package/dist/bin/main.js.map +1 -0
  61. package/dist/bin/public/assets/{index-Cb85_fOB.js → index-D0eBBcR8.js} +483 -483
  62. package/dist/bin/public/index.html +1 -1
  63. package/dist/bin/publish-application.js +104 -0
  64. package/dist/bin/publish-application.js.map +1 -0
  65. package/dist/bin/tag-application.js +82 -0
  66. package/dist/bin/tag-application.js.map +1 -0
  67. package/dist/bin/upload-application.js +72 -0
  68. package/dist/bin/upload-application.js.map +1 -0
  69. package/dist/bin/upload-export-config.js +87 -0
  70. package/dist/bin/upload-export-config.js.map +1 -0
  71. package/dist/bin/utils/execute-command.js +23 -0
  72. package/dist/bin/utils/execute-command.js.map +1 -0
  73. package/dist/bin/utils/format.js +17 -0
  74. package/dist/bin/utils/format.js.map +1 -0
  75. package/dist/bin/utils/getEndpointUrl.js +49 -0
  76. package/dist/bin/utils/getEndpointUrl.js.map +1 -0
  77. package/dist/bin/utils/index.js +14 -0
  78. package/dist/bin/utils/index.js.map +1 -0
  79. package/dist/bin/utils/isAppRegistered.js +35 -0
  80. package/dist/bin/utils/isAppRegistered.js.map +1 -0
  81. package/dist/bin/utils/load-app-config.js +35 -0
  82. package/dist/bin/utils/load-app-config.js.map +1 -0
  83. package/dist/bin/utils/load-manifest.js +40 -0
  84. package/dist/bin/utils/load-manifest.js.map +1 -0
  85. package/dist/bin/utils/load-package.js +24 -0
  86. package/dist/bin/utils/load-package.js.map +1 -0
  87. package/dist/bin/utils/load-vite-config.js +54 -0
  88. package/dist/bin/utils/load-vite-config.js.map +1 -0
  89. package/dist/bin/utils/proxy-request-logger.js +34 -0
  90. package/dist/bin/utils/proxy-request-logger.js.map +1 -0
  91. package/dist/bin/utils/publishAppConfig.js +36 -0
  92. package/dist/bin/utils/publishAppConfig.js.map +1 -0
  93. package/dist/bin/utils/requireToken.js +10 -0
  94. package/dist/bin/utils/requireToken.js.map +1 -0
  95. package/dist/bin/utils/spinner.js +77 -0
  96. package/dist/bin/utils/spinner.js.map +1 -0
  97. package/dist/bin/utils/tagAppBundle.js +35 -0
  98. package/dist/bin/utils/tagAppBundle.js.map +1 -0
  99. package/dist/bin/utils/uploadAppBundle.js +54 -0
  100. package/dist/bin/utils/uploadAppBundle.js.map +1 -0
  101. package/dist/lib/app-config.js +1 -1
  102. package/dist/lib/app-config.js.map +1 -1
  103. package/dist/schemas.js +14 -0
  104. package/dist/schemas.js.map +1 -0
  105. package/dist/types/bin/build-application.d.ts +13 -0
  106. package/dist/types/bin/bundle-application.d.ts +4 -0
  107. package/dist/types/bin/create-dev-serve.d.ts +11 -0
  108. package/dist/types/bin/create-export-config.d.ts +13 -0
  109. package/dist/types/bin/create-export-manifest.d.ts +16 -0
  110. package/dist/types/bin/dev-portal/AppLoader.d.ts +11 -0
  111. package/dist/types/bin/dev-portal/BookMarkSideSheet.d.ts +6 -0
  112. package/dist/types/bin/dev-portal/ContextSelector/ContextSelector.d.ts +8 -0
  113. package/dist/types/bin/dev-portal/ContextSelector/index.d.ts +1 -0
  114. package/dist/types/bin/dev-portal/ContextSelector/useContextResolver.d.ts +15 -0
  115. package/dist/types/bin/dev-portal/EquinorLoader.d.ts +5 -0
  116. package/dist/types/bin/dev-portal/ErrorViewer.d.ts +4 -0
  117. package/dist/types/bin/dev-portal/FusionLogo.d.ts +5 -0
  118. package/dist/types/bin/dev-portal/Header.d.ts +3 -0
  119. package/dist/types/bin/dev-portal/PersonSideSheet/index.d.ts +11 -0
  120. package/dist/types/bin/dev-portal/PersonSideSheet/sheets/FeatureSheetContent.d.ts +6 -0
  121. package/dist/types/bin/dev-portal/PersonSideSheet/sheets/FeatureTogglerApp.d.ts +5 -0
  122. package/dist/types/bin/dev-portal/PersonSideSheet/sheets/FeatureTogglerPortal.d.ts +5 -0
  123. package/dist/types/bin/dev-portal/PersonSideSheet/sheets/LandingSheetContent.d.ts +5 -0
  124. package/dist/types/bin/dev-portal/PersonSideSheet/sheets/Styled.d.ts +6 -0
  125. package/dist/types/bin/dev-portal/PersonSideSheet/sheets/index.d.ts +2 -0
  126. package/dist/types/bin/dev-portal/PersonSideSheet/sheets/types.d.ts +5 -0
  127. package/dist/types/bin/dev-portal/Router.d.ts +1 -0
  128. package/dist/types/bin/dev-portal/config.d.ts +3 -0
  129. package/dist/types/bin/dev-portal/main.d.ts +1 -0
  130. package/dist/types/bin/dev-portal/resources/fallback-photo.svg.d.ts +2 -0
  131. package/dist/types/bin/dev-portal/useAppContextNavigation.d.ts +5 -0
  132. package/dist/types/bin/main.app.d.ts +3 -0
  133. package/dist/types/bin/main.d.ts +1 -0
  134. package/dist/types/bin/publish-application.d.ts +6 -0
  135. package/dist/types/bin/tag-application.d.ts +12 -0
  136. package/dist/types/bin/upload-application.d.ts +6 -0
  137. package/dist/types/bin/upload-export-config.d.ts +10 -0
  138. package/dist/types/bin/utils/execute-command.d.ts +8 -0
  139. package/dist/types/bin/utils/format.d.ts +8 -0
  140. package/dist/types/bin/utils/getEndpointUrl.d.ts +10 -0
  141. package/dist/types/bin/utils/index.d.ts +14 -0
  142. package/dist/types/bin/utils/isAppRegistered.d.ts +5 -0
  143. package/dist/types/bin/utils/load-app-config.d.ts +10 -0
  144. package/dist/types/bin/utils/load-manifest.d.ts +10 -0
  145. package/dist/types/bin/utils/load-package.d.ts +5 -0
  146. package/dist/types/bin/utils/load-vite-config.d.ts +10 -0
  147. package/dist/types/bin/utils/proxy-request-logger.d.ts +15 -0
  148. package/dist/types/bin/utils/publishAppConfig.d.ts +9 -0
  149. package/dist/types/bin/utils/requireToken.d.ts +4 -0
  150. package/dist/types/bin/utils/spinner.d.ts +20 -0
  151. package/dist/types/bin/utils/tagAppBundle.d.ts +7 -0
  152. package/dist/types/bin/utils/uploadAppBundle.d.ts +7 -0
  153. package/dist/types/{app-config.d.ts → lib/app-config.d.ts} +1 -1
  154. package/dist/types/{plugins → lib/plugins}/app-proxy/app-proxy-plugin.d.ts +1 -1
  155. package/dist/types/schemas.d.ts +30 -0
  156. package/dist/types/version.d.ts +1 -0
  157. package/dist/version.js +3 -0
  158. package/dist/version.js.map +1 -0
  159. package/package.json +14 -17
  160. package/dist/bin/main.mjs +0 -2003
  161. /package/dist/types/{app-manifest.d.ts → lib/app-manifest.d.ts} +0 -0
  162. /package/dist/types/{app-package.d.ts → lib/app-package.d.ts} +0 -0
  163. /package/dist/types/{index.d.ts → lib/index.d.ts} +0 -0
  164. /package/dist/types/{plugins → lib/plugins}/app-assets/app-asset-plugin.d.ts +0 -0
  165. /package/dist/types/{plugins → lib/plugins}/app-assets/emit-asset.d.ts +0 -0
  166. /package/dist/types/{plugins → lib/plugins}/app-assets/extension-filter-pattern.d.ts +0 -0
  167. /package/dist/types/{plugins → lib/plugins}/app-assets/index.d.ts +0 -0
  168. /package/dist/types/{plugins → lib/plugins}/app-assets/read-asset-content.d.ts +0 -0
  169. /package/dist/types/{plugins → lib/plugins}/app-assets/resolve-asset-id.d.ts +0 -0
  170. /package/dist/types/{plugins → lib/plugins}/app-assets/static.d.ts +0 -0
  171. /package/dist/types/{plugins → lib/plugins}/app-proxy/index.d.ts +0 -0
  172. /package/dist/types/{plugins → lib/plugins}/external-public/external-public-plugin.d.ts +0 -0
  173. /package/dist/types/{plugins → lib/plugins}/external-public/index.d.ts +0 -0
  174. /package/dist/types/{utils → lib/utils}/assert.d.ts +0 -0
  175. /package/dist/types/{utils → lib/utils}/config.d.ts +0 -0
  176. /package/dist/types/{utils → lib/utils}/expect.d.ts +0 -0
  177. /package/dist/types/{utils → lib/utils}/file-exists.d.ts +0 -0
  178. /package/dist/types/{utils → lib/utils}/ts-transpile.d.ts +0 -0
  179. /package/dist/types/{utils → lib/utils}/types.d.ts +0 -0
  180. /package/dist/types/{vite-config.d.ts → lib/vite-config.d.ts} +0 -0
  181. /package/dist/types/{vite-logger.d.ts → lib/vite-logger.d.ts} +0 -0
@@ -0,0 +1,41 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useCallback, useEffect, useMemo } from 'react';
3
+ import { ContextProvider, ContextSearch, ContextClearEvent, } from '@equinor/fusion-react-context-selector';
4
+ import { useContextResolver } from './useContextResolver';
5
+ /**
6
+ * See fusion-react-component storybook for available attributes
7
+ * @link https://equinor.github.io/fusion-react-components/?path=/docs/data-contextselector--component
8
+ * @returns JSX element
9
+ */
10
+ export const ContextSelector = (props) => {
11
+ var _a, _b, _c, _d;
12
+ const { resolver, provider, currentContext: [selectedContextItem], } = useContextResolver();
13
+ /** callback handler for context selector, when context is changed or cleared */
14
+ const onContextSelect = useCallback((e) => {
15
+ if (provider) {
16
+ if (e.type === 'select') {
17
+ const ev = e;
18
+ if (ev.nativeEvent.detail.selected.length) {
19
+ provider.contextClient.setCurrentContext(ev.nativeEvent.detail.selected[0].id);
20
+ }
21
+ }
22
+ else {
23
+ provider.clearCurrentContext();
24
+ }
25
+ }
26
+ }, [provider]);
27
+ /**
28
+ * Clears context when ctx has been cleared outside the selector.
29
+ */
30
+ const clearEvent = useMemo(() => new ContextClearEvent({ date: Date.now() }), []);
31
+ useEffect(() => {
32
+ if (!selectedContextItem) {
33
+ document.dispatchEvent(clearEvent);
34
+ }
35
+ }, [clearEvent, selectedContextItem]);
36
+ if (!resolver)
37
+ return null;
38
+ return (_jsx("div", { style: { flex: 1, maxWidth: '480px' }, children: _jsx(ContextProvider, { resolver: resolver, children: _jsx(ContextSearch, { id: "context-selector-cli-header", placeholder: (_a = props.placeholder) !== null && _a !== void 0 ? _a : 'Search for context', initialText: (_b = props.initialText) !== null && _b !== void 0 ? _b : 'Start typing to search', dropdownHeight: (_c = props.dropdownHeight) !== null && _c !== void 0 ? _c : '300px', variant: (_d = props.variant) !== null && _d !== void 0 ? _d : 'header', onSelect: (e) => onContextSelect(e), selectTextOnFocus: true, previewItem: selectedContextItem, onClearContext: onContextSelect }) }) }));
39
+ };
40
+ export default ContextSelector;
41
+ //# sourceMappingURL=ContextSelector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContextSelector.js","sourceRoot":"","sources":["../../../../src/bin/dev-portal/ContextSelector/ContextSelector.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACxD,OAAO,EACH,eAAe,EACf,aAAa,EAGb,iBAAiB,GACpB,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D;;;;GAIG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAAyB,EAAsB,EAAE;;IAC7E,MAAM,EACF,QAAQ,EACR,QAAQ,EACR,cAAc,EAAE,CAAC,mBAAmB,CAAC,GACxC,GAAG,kBAAkB,EAAE,CAAC;IAEzB,gFAAgF;IAChF,MAAM,eAAe,GAAG,WAAW,CAC/B,CAAC,CAA6B,EAAE,EAAE;QAC9B,IAAI,QAAQ,EAAE,CAAC;YACX,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACtB,MAAM,EAAE,GAAG,CAAkC,CAAC;gBAC9C,IAAI,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;oBACxC,QAAQ,CAAC,aAAa,CAAC,iBAAiB,CACpC,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CACvC,CAAC;gBACN,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,QAAQ,CAAC,mBAAmB,EAAE,CAAC;YACnC,CAAC;QACL,CAAC;IACL,CAAC,EACD,CAAC,QAAQ,CAAC,CACb,CAAC;IAEF;;OAEG;IACH,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,iBAAiB,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IAClF,SAAS,CAAC,GAAG,EAAE;QACX,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACvB,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QACvC,CAAC;IACL,CAAC,EAAE,CAAC,UAAU,EAAE,mBAAmB,CAAC,CAAC,CAAC;IAEtC,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAE3B,OAAO,CACH,cAAK,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,YACtC,KAAC,eAAe,IAAC,QAAQ,EAAE,QAAQ,YAC/B,KAAC,aAAa,IACV,EAAE,EAAC,6BAA6B,EAChC,WAAW,EAAE,MAAA,KAAK,CAAC,WAAW,mCAAI,oBAAoB,EACtD,WAAW,EAAE,MAAA,KAAK,CAAC,WAAW,mCAAI,wBAAwB,EAC1D,cAAc,EAAE,MAAA,KAAK,CAAC,cAAc,mCAAI,OAAO,EAC/C,OAAO,EAAE,MAAA,KAAK,CAAC,OAAO,mCAAI,QAAQ,EAClC,QAAQ,EAAE,CAAC,CAAqB,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,EACvD,iBAAiB,EAAE,IAAI,EACvB,WAAW,EAAE,mBAAmB,EAChC,cAAc,EAAE,eAAe,GACjC,GACY,GAChB,CACT,CAAC;AACN,CAAC,CAAC;AAEF,eAAe,eAAe,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { ContextSelector } from './ContextSelector';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/bin/dev-portal/ContextSelector/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,171 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import { useCallback, useEffect, useMemo, useState } from 'react';
11
+ import { useFramework } from '@equinor/fusion-framework-react';
12
+ import { useCurrentApp } from '@equinor/fusion-framework-react/app';
13
+ import { useObservableState, useObservableSubscription } from '@equinor/fusion-observable/react';
14
+ import '@equinor/fusion-framework-app';
15
+ import { ChipElement } from '@equinor/fusion-wc-chip';
16
+ ChipElement;
17
+ import { EMPTY, catchError, lastValueFrom, map, of } from 'rxjs';
18
+ function capitalizeFirstLetter(string) {
19
+ return string.charAt(0).toUpperCase() + string.slice(1).toLowerCase();
20
+ }
21
+ /**
22
+ * Map context query result to ContextSelectorResult.
23
+ * Add any icons to selected types by using the 'graphic' property
24
+ * @param src context query result
25
+ * @returns src mapped to ContextResult type
26
+ */
27
+ const mapper = (src) => {
28
+ return src.map((i) => {
29
+ var _a;
30
+ const baseResult = {
31
+ id: i.id,
32
+ title: i.title,
33
+ subTitle: (_a = i.subTitle) !== null && _a !== void 0 ? _a : i.type.id,
34
+ graphic: i.graphic,
35
+ meta: i.meta,
36
+ };
37
+ switch (i.type.id) {
38
+ case 'EquinorTask':
39
+ return Object.assign(Object.assign({}, baseResult), { meta: i.value.taskState && i.value.taskState !== 'Active'
40
+ ? `<fwc-chip disabled variant="outlined" value="${i.value.taskState}" />`
41
+ : '' });
42
+ case 'OrgChart':
43
+ return Object.assign(Object.assign({}, baseResult), { graphic: 'list', meta: i.value.state && i.value.state.toLowerCase() !== 'active'
44
+ ? `<fwc-chip disabled variant="outlined" value="${capitalizeFirstLetter(i.value.state)}" />`
45
+ : '' });
46
+ default:
47
+ return baseResult;
48
+ }
49
+ });
50
+ };
51
+ /**
52
+ * Create a single ContextResultItem
53
+ * @param props pops for the item to merge with defaults
54
+ * @returns ContextResultItem
55
+ */
56
+ const singleItem = (props) => {
57
+ return Object.assign({ id: 'no-such-item', title: 'Change me' }, props);
58
+ };
59
+ /**
60
+ * Hook for querying context and setting resolver for ContextSelector component
61
+ * See React Components storybook for info about ContextSelector component and its resolver
62
+ * @link https://equinor.github.io/fusion-react-components/?path=/docs/data-contextselector--component
63
+ * @return Array<ContextResolver, SetContextCallback>
64
+ */
65
+ export const useContextResolver = () => {
66
+ /* Framework modules */
67
+ const framework = useFramework();
68
+ const { currentApp } = useCurrentApp();
69
+ /** App module collection instance */
70
+ const instance$ = useMemo(() => (currentApp === null || currentApp === void 0 ? void 0 : currentApp.instance$) || EMPTY, [currentApp]);
71
+ /* context provider state */
72
+ const [provider, setProvider] = useState(null);
73
+ /* Current context observable */
74
+ const { value: currentContext } = useObservableState(useMemo(() => (provider === null || provider === void 0 ? void 0 : provider.currentContext$) || EMPTY, [provider]));
75
+ const preselected = useMemo(() => {
76
+ return currentContext ? mapper([currentContext]) : [];
77
+ }, [currentContext]);
78
+ /** callback function when current app instance changes */
79
+ const onContextProviderChange = useCallback((modules) => {
80
+ /** try to get the context module from the app module instance */
81
+ const contextProvider = modules.context;
82
+ if (contextProvider) {
83
+ setProvider(contextProvider);
84
+ }
85
+ else {
86
+ setProvider(null);
87
+ }
88
+ }, [setProvider]);
89
+ /** clear the app provider */
90
+ const clearContextProvider = useCallback(() => {
91
+ setProvider(null);
92
+ }, [setProvider]);
93
+ /** observe changes to app modules and clear / set the context provider on change */
94
+ useObservableSubscription(instance$, onContextProviderChange, clearContextProvider);
95
+ useEffect(() => framework.modules.event.addEventListener('onReactAppLoaded', (e) => {
96
+ console.debug('useContextResolver::onReactAppLoaded', 'using legacy register hack method');
97
+ return onContextProviderChange(e.detail.modules);
98
+ }), [framework, onContextProviderChange]);
99
+ const processError = useCallback((err) => {
100
+ if (err.name === 'QueryClientError') {
101
+ return processError(err.cause);
102
+ }
103
+ if (err.name === 'FusionContextSearchError') {
104
+ const error = err;
105
+ return [
106
+ singleItem({
107
+ id: error.name,
108
+ title: error.title,
109
+ subTitle: error.description,
110
+ graphic: 'error_outlined',
111
+ isDisabled: true,
112
+ }),
113
+ ];
114
+ }
115
+ return [
116
+ singleItem({
117
+ title: 'Unexpected error occurred',
118
+ subTitle: 'Please try again or report the issue in Services@Equinor',
119
+ graphic: 'error_outlined',
120
+ isDisabled: true,
121
+ }),
122
+ ];
123
+ }, []);
124
+ /**
125
+ * set resolver for ContextSelector
126
+ * @return ContextResolver
127
+ */
128
+ const minLength = 2;
129
+ const resolver = useMemo(() => provider && {
130
+ searchQuery: (search) => __awaiter(void 0, void 0, void 0, function* () {
131
+ if (search.length < minLength) {
132
+ return [
133
+ singleItem({
134
+ // TODO - make as enum if used for checks, or type
135
+ id: 'min-length',
136
+ title: `Type ${minLength - search.length} more chars to search`,
137
+ isDisabled: true,
138
+ }),
139
+ ];
140
+ }
141
+ try {
142
+ return lastValueFrom(provider.queryContext(search).pipe(map(mapper), map((x) => x.length
143
+ ? x
144
+ : [
145
+ singleItem({
146
+ // TODO - make as enum if used for checks, or type
147
+ id: 'no-results',
148
+ title: 'No results found',
149
+ graphic: 'info_circle',
150
+ isDisabled: true,
151
+ }),
152
+ ]),
153
+ /** handle failures */
154
+ catchError((err) => {
155
+ console.error('PORTAL::ContextResolver', `failed to resolve context for query ${search}`, err, err.cause);
156
+ return of(processError(err));
157
+ })));
158
+ /** this should NEVER happen! */
159
+ }
160
+ catch (e) {
161
+ const err = e;
162
+ console.error('PORTAL::ContextResolver', `unhandled error for [${search}]`, e);
163
+ return processError(err);
164
+ }
165
+ }),
166
+ initialResult: preselected,
167
+ }, [provider, preselected, processError]);
168
+ return { resolver, provider, currentContext: preselected };
169
+ };
170
+ export default useContextResolver;
171
+ //# sourceMappingURL=useContextResolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useContextResolver.js","sourceRoot":"","sources":["../../../../src/bin/dev-portal/ContextSelector/useContextResolver.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { StarProgress } from '@equinor/fusion-react-progress-indicator';
3
+ export const EquinorLoader = ({ children, text, }) => {
4
+ return (_jsx("div", { style: {
5
+ display: 'flex',
6
+ justifyContent: 'center',
7
+ alignItems: 'center',
8
+ width: '100vw',
9
+ height: '100vh',
10
+ overflow: 'hidden',
11
+ }, children: _jsx(StarProgress, { text: text, children: children }) }));
12
+ };
13
+ export default EquinorLoader;
14
+ //# sourceMappingURL=EquinorLoader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EquinorLoader.js","sourceRoot":"","sources":["../../../src/bin/dev-portal/EquinorLoader.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,YAAY,EAAE,MAAM,0CAA0C,CAAC;AAExE,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,EAC1B,QAAQ,EACR,IAAI,GAC6C,EAAe,EAAE;IAClE,OAAO,CACH,cACI,KAAK,EAAE;YACH,OAAO,EAAE,MAAM;YACf,cAAc,EAAE,QAAQ;YACxB,UAAU,EAAE,QAAQ;YACpB,KAAK,EAAE,OAAO;YACd,MAAM,EAAE,OAAO;YACf,QAAQ,EAAE,QAAQ;SACrB,YAED,KAAC,YAAY,IAAC,IAAI,EAAE,IAAI,YAAG,QAAQ,GAAgB,GACjD,CACT,CAAC;AACN,CAAC,CAAC;AAEF,eAAe,aAAa,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { Typography } from '@equinor/eds-core-react';
3
+ export const ErrorViewer = ({ error }) => {
4
+ return (_jsxs(_Fragment, { children: [_jsxs("div", { style: { marginTop: 20, border: '1px solid' }, children: [_jsx(Typography, { variant: "h4", color: "warning", children: error.message }), _jsx("section", { style: { padding: 10 }, children: error.stack && _jsx("pre", { children: error.stack }) })] }), error.cause && _jsx(ErrorViewer, { error: error.cause })] }));
5
+ };
6
+ export default ErrorViewer;
7
+ //# sourceMappingURL=ErrorViewer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ErrorViewer.js","sourceRoot":"","sources":["../../../src/bin/dev-portal/ErrorViewer.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,EAAE,KAAK,EAA6B,EAAE,EAAE;IAChE,OAAO,CACH,8BACI,eAAK,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,aAC9C,KAAC,UAAU,IAAC,OAAO,EAAC,IAAI,EAAC,KAAK,EAAC,SAAS,YACnC,KAAK,CAAC,OAAO,GACL,EACb,kBAAS,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,YAAG,KAAK,CAAC,KAAK,IAAI,wBAAM,KAAK,CAAC,KAAK,GAAO,GAAW,IAClF,EACL,KAAK,CAAC,KAAK,IAAI,KAAC,WAAW,IAAC,KAAK,EAAE,KAAK,CAAC,KAAc,GAAI,IAC7D,CACN,CAAC;AACN,CAAC,CAAC;AAEF,eAAe,WAAW,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ export const FusionLogo = ({ scale = 1, style }) => (_jsxs("svg", { viewBox: "0 0 50 35", style: Object.assign(Object.assign({ height: '1em' }, style), { transform: `scale(${scale})` }), children: [_jsx("path", { d: "M0 2V23.1776L7.05405 16.1235V7.05405H16.1235L23.1776 0H2C0.895431 0 0 0.89543 0 2Z", transform: "translate(50 17.5) scale(0.92727 1.06779) rotate(135)", fill: "url(#paint0_linear)" }), _jsx("path", { d: "M0 2V23.1776L7.05405 16.1235V7.05405H16.1235L23.1776 0H2C0.895431 0 0 0.89543 0 2Z", transform: "translate(0 17.5) scale(0.92727 1.06779) rotate(-45)", fill: "url(#paint1_linear)" }), _jsx("path", { d: "M9.61965 36.6972L2.60087 29.6784L1.96135 22.3809L8.42623 22.9069L9.61965 36.6972Z", transform: "translate(33.8887 34.9863) scale(0.92727 -1.06779) rotate(45)", fill: "#990025" }), _jsx("path", { d: "M7.05434 7.05434L0 0L1.21096 13.8183L7.68846 14.3818L7.05434 7.05434Z", transform: "translate(33.8887 34.9863) scale(0.92727 -1.06779) rotate(45)", fill: "#990025" }), _jsx("path", { d: "M0 0L2.49398 29.5715L9.61965 36.6972L7.01878 7.01878L0 0Z", transform: "translate(33.8887 0.015625) scale(0.92727 1.06779) rotate(45)", fill: "#FF1243" }), _jsxs("defs", { children: [_jsxs("linearGradient", { id: "paint0_linear", x2: "1", gradientUnits: "userSpaceOnUse", gradientTransform: "matrix(-13.5478 9.01983 -12.9578 -13.5478 18.0677 6.77391)", children: [_jsx("stop", { offset: "0.508287", stopColor: "#DC002E" }), _jsx("stop", { offset: "0.508387", stopColor: "#FF1243" })] }), _jsxs("linearGradient", { id: "paint1_linear", x2: "1", gradientUnits: "userSpaceOnUse", gradientTransform: "matrix(-13.5478 9.01983 -12.9578 -13.5478 18.0677 6.77391)", children: [_jsx("stop", { offset: "0.508287", stopColor: "#DC002E" }), _jsx("stop", { offset: "0.508387", stopColor: "#FF1243" })] })] })] }));
3
+ export default FusionLogo;
4
+ //# sourceMappingURL=FusionLogo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FusionLogo.js","sourceRoot":"","sources":["../../../src/bin/dev-portal/FusionLogo.tsx"],"names":[],"mappings":";AAIA,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,EAAmB,EAAE,EAAE,CAAC,CACjE,eAAK,OAAO,EAAC,WAAW,EAAC,KAAK,gCAAI,MAAM,EAAE,KAAK,IAAK,KAAK,KAAE,SAAS,EAAE,SAAS,KAAK,GAAG,gBACnF,eACI,CAAC,EAAC,oFAAoF,EACtF,SAAS,EAAC,uDAAuD,EACjE,IAAI,EAAC,qBAAqB,GAC5B,EACF,eACI,CAAC,EAAC,oFAAoF,EACtF,SAAS,EAAC,sDAAsD,EAChE,IAAI,EAAC,qBAAqB,GAC5B,EACF,eACI,CAAC,EAAC,mFAAmF,EACrF,SAAS,EAAC,+DAA+D,EACzE,IAAI,EAAC,SAAS,GAChB,EACF,eACI,CAAC,EAAC,uEAAuE,EACzE,SAAS,EAAC,+DAA+D,EACzE,IAAI,EAAC,SAAS,GAChB,EACF,eACI,CAAC,EAAC,2DAA2D,EAC7D,SAAS,EAAC,+DAA+D,EACzE,IAAI,EAAC,SAAS,GAChB,EACF,2BACI,0BACI,EAAE,EAAC,eAAe,EAClB,EAAE,EAAC,GAAG,EACN,aAAa,EAAC,gBAAgB,EAC9B,iBAAiB,EAAC,4DAA4D,aAE9E,eAAM,MAAM,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,GAAG,EAC9C,eAAM,MAAM,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,GAAG,IACjC,EACjB,0BACI,EAAE,EAAC,eAAe,EAClB,EAAE,EAAC,GAAG,EACN,aAAa,EAAC,gBAAgB,EAC9B,iBAAiB,EAAC,4DAA4D,aAE9E,eAAM,MAAM,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,GAAG,EAC9C,eAAM,MAAM,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,GAAG,IACjC,IACd,IACL,CACT,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -0,0 +1,37 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { useState } from 'react';
3
+ import { ContextSelector } from './ContextSelector';
4
+ import { FusionLogo } from './FusionLogo';
5
+ /* typescript reference for makeStyles */
6
+ import '@material-ui/styles';
7
+ import { BookmarkSideSheet } from './BookMarkSideSheet';
8
+ import { Button, Icon, TopBar } from '@equinor/eds-core-react';
9
+ import { BookmarkProvider } from '@equinor/fusion-framework-react-components-bookmark';
10
+ import { useCurrentUser } from '@equinor/fusion-framework-react/hooks';
11
+ import { add, menu, tag } from '@equinor/eds-icons';
12
+ import { styled } from 'styled-components';
13
+ import { PersonSideSheet } from './PersonSideSheet';
14
+ import PersonAvatarElement from '@equinor/fusion-wc-person/avatar';
15
+ PersonAvatarElement;
16
+ Icon.add({ menu, add, tag });
17
+ const Styled = {
18
+ Title: styled.div `
19
+ display: flex;
20
+ align-items: center;
21
+ gap: 0.75rem;
22
+ font-size: 1rem;
23
+ font-weight: 500;
24
+ `,
25
+ };
26
+ export const Header = () => {
27
+ const [isPersonSheetOpen, setIsPersonSheetOpen] = useState(false);
28
+ const [isBookmarkOpen, setIsBookmarkOpen] = useState(false);
29
+ const currentUser = useCurrentUser();
30
+ const { localAccountId: azureId } = currentUser !== null && currentUser !== void 0 ? currentUser : {};
31
+ function toggleBookmark() {
32
+ setIsBookmarkOpen((s) => !s);
33
+ }
34
+ return (_jsxs(_Fragment, { children: [_jsxs(TopBar, { id: "cli-top-bar", sticky: false, style: { padding: '0 1em', height: 48 }, children: [_jsx(TopBar.Header, { children: _jsxs(Styled.Title, { children: [_jsx(FusionLogo, {}), _jsx("span", { children: "Fusion Framework CLI" })] }) }), _jsx(TopBar.CustomContent, { children: _jsx(ContextSelector, {}) }), _jsxs(TopBar.Actions, { style: { minWidth: 48, minHeight: 48 }, children: [_jsx(Button, { onClick: toggleBookmark, variant: "ghost_icon", children: _jsx(Icon, { name: "tag" }) }), _jsx(Button, { onClick: () => setIsPersonSheetOpen(!isPersonSheetOpen), variant: "ghost_icon", children: _jsx("fwc-person-avatar", { size: "small", azureId: azureId, clickable: false }) })] })] }), _jsx(BookmarkProvider, { children: _jsx(BookmarkSideSheet, { isOpen: isBookmarkOpen, onClose: toggleBookmark }) }), _jsx(PersonSideSheet, { azureId: azureId, isOpen: isPersonSheetOpen, onClose: () => setIsPersonSheetOpen(!isPersonSheetOpen) })] }));
35
+ };
36
+ export default Header;
37
+ //# sourceMappingURL=Header.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Header.js","sourceRoot":"","sources":["../../../src/bin/dev-portal/Header.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useCallback, useMemo, useState } from 'react';
3
+ import { SideSheet } from '@equinor/fusion-react-side-sheet';
4
+ import PersonListItem from '@equinor/fusion-wc-person/list-item';
5
+ PersonListItem;
6
+ import { Divider } from '@equinor/eds-core-react';
7
+ import { LandingSheetContent, FeatureSheetContent } from './sheets';
8
+ /**
9
+ * Add Sidesheet with settings for the current user.
10
+ * @param PersonSideSheetProps
11
+ */
12
+ export const PersonSideSheet = ({ azureId, isOpen, onClose }) => {
13
+ const [currentSheet, setCurrentSheet] = useState('landing');
14
+ const Component = useMemo(() => {
15
+ let Comp;
16
+ switch (currentSheet) {
17
+ case 'features':
18
+ Comp = FeatureSheetContent;
19
+ break;
20
+ default:
21
+ Comp = LandingSheetContent;
22
+ break;
23
+ }
24
+ return Comp;
25
+ }, [currentSheet]);
26
+ const navigateCallback = useCallback((sheet) => {
27
+ setCurrentSheet(sheet !== null && sheet !== void 0 ? sheet : 'default');
28
+ }, [setCurrentSheet]);
29
+ return (_jsxs(SideSheet, { isOpen: isOpen, onClose: onClose, isDismissable: true, children: [_jsx(SideSheet.Title, { title: "User settings" }), _jsx(SideSheet.SubTitle, { subTitle: 'Settings for your user in Fusion portal' }), _jsx(SideSheet.Actions, {}), _jsx(SideSheet.Content, { children: _jsxs("section", { style: { paddingLeft: '0.5em' }, children: [_jsx("div", { children: _jsx("fwc-person-list-item", { azureId: azureId }) }), _jsx(Divider, {}), _jsx(Component, { azureId: azureId, sheet: currentSheet, navigate: navigateCallback })] }) })] }));
30
+ };
31
+ export default PersonSideSheet;
32
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/bin/dev-portal/PersonSideSheet/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAC7D,OAAO,cAAc,MAAM,qCAAqC,CAAC;AACjE,cAAc,CAAC;AAEf,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAElD,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAQpE;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAwB,EAAE,EAAE;IAClF,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAS,SAAS,CAAC,CAAC;IAEpE,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,EAAE;QAC3B,IAAI,IAAI,CAAC;QACT,QAAQ,YAAY,EAAE,CAAC;YACnB,KAAK,UAAU;gBACX,IAAI,GAAG,mBAAmB,CAAC;gBAC3B,MAAM;YACV;gBACI,IAAI,GAAG,mBAAmB,CAAC;gBAC3B,MAAM;QACd,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IAEnB,MAAM,gBAAgB,GAAG,WAAW,CAChC,CAAC,KAAa,EAAE,EAAE;QACd,eAAe,CAAC,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,SAAS,CAAC,CAAC;IACxC,CAAC,EACD,CAAC,eAAe,CAAC,CACpB,CAAC;IAEF,OAAO,CACH,MAAC,SAAS,IAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,IAAI,aAC5D,KAAC,SAAS,CAAC,KAAK,IAAC,KAAK,EAAC,eAAe,GAAG,EACzC,KAAC,SAAS,CAAC,QAAQ,IAAC,QAAQ,EAAE,yCAAyC,GAAI,EAC3E,KAAC,SAAS,CAAC,OAAO,KAAqB,EACvC,KAAC,SAAS,CAAC,OAAO,cACd,mBAAS,KAAK,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,aACpC,wBACI,+BAAsB,OAAO,EAAE,OAAO,GAAyB,GAC7D,EACN,KAAC,OAAO,KAAW,EACnB,KAAC,SAAS,IACN,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,YAAY,EACnB,QAAQ,EAAE,gBAAgB,GACjB,IACP,GACM,IACZ,CACf,CAAC;AACN,CAAC,CAAC;AAEF,eAAe,eAAe,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useState } from 'react';
3
+ import { FeatureTogglerApp } from './FeatureTogglerApp';
4
+ import { FeatureTogglerPortal } from './FeatureTogglerPortal';
5
+ import { Divider, Icon, Button, Tabs } from '@equinor/eds-core-react';
6
+ import { arrow_back, category } from '@equinor/eds-icons';
7
+ Icon.add({ arrow_back, category });
8
+ /**
9
+ * JSX structure for the content of the PersonSidesheet's Features page.
10
+ * @param SheetContentProps
11
+ */
12
+ export const FeatureSheetContent = ({ navigate }) => {
13
+ const [tab, setTab] = useState(0);
14
+ return (_jsxs("section", { children: [_jsx("div", { children: _jsx("div", { children: _jsxs(Button, { variant: "ghost", onClick: () => navigate(), children: [_jsx(Icon, { name: "arrow_back" }), _jsx(Icon, { name: "category" }), "My Features"] }) }) }), _jsx(Divider, {}), _jsx("div", { children: _jsxs(Tabs, { activeTab: tab, onChange: (index) => setTab(index), children: [_jsxs(Tabs.List, { children: [_jsx(Tabs.Tab, { children: "App features" }), _jsx(Tabs.Tab, { children: "Portal features" })] }), _jsxs(Tabs.Panels, { children: [_jsx(Tabs.Panel, { children: _jsx(FeatureTogglerApp, {}) }), _jsx(Tabs.Panel, { children: _jsx(FeatureTogglerPortal, {}) })] })] }) })] }));
15
+ };
16
+ //# sourceMappingURL=FeatureSheetContent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FeatureSheetContent.js","sourceRoot":"","sources":["../../../../../src/bin/dev-portal/PersonSideSheet/sheets/FeatureSheetContent.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC1D,IAAI,CAAC,GAAG,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC;AAInC;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,EAAE,QAAQ,EAAqB,EAAE,EAAE;IACnE,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,QAAQ,CAAS,CAAC,CAAC,CAAC;IAE1C,OAAO,CACH,8BACI,wBACI,wBACI,MAAC,MAAM,IAAC,OAAO,EAAC,OAAO,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,EAAE,aAC7C,KAAC,IAAI,IAAC,IAAI,EAAC,YAAY,GAAQ,EAC/B,KAAC,IAAI,IAAC,IAAI,EAAC,UAAU,GAAQ,mBAExB,GACP,GACJ,EACN,KAAC,OAAO,KAAW,EACnB,wBACI,MAAC,IAAI,IAAC,SAAS,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,aACpD,MAAC,IAAI,CAAC,IAAI,eACN,KAAC,IAAI,CAAC,GAAG,+BAAwB,EACjC,KAAC,IAAI,CAAC,GAAG,kCAA2B,IAC5B,EACZ,MAAC,IAAI,CAAC,MAAM,eACR,KAAC,IAAI,CAAC,KAAK,cACP,KAAC,iBAAiB,KAAG,GACZ,EACb,KAAC,IAAI,CAAC,KAAK,cACP,KAAC,oBAAoB,KAAG,GACf,IACH,IACX,GACL,IACA,CACb,CAAC;AACN,CAAC,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useCurrentAppFeatures } from '@equinor/fusion-framework-react/feature-flag';
3
+ import { Typography, Switch } from '@equinor/eds-core-react';
4
+ import { Styled } from './Styled';
5
+ /**
6
+ * JSX structure for Feature toggler tab for app features in the PersonSidesheet's Feature page.
7
+ */
8
+ export const FeatureTogglerApp = () => {
9
+ const { features, toggleFeature } = useCurrentAppFeatures();
10
+ return (_jsx(Styled.SwitchList, { children: features === null || features === void 0 ? void 0 : features.map((feature) => {
11
+ var _a;
12
+ return (_jsxs(Styled.SwitchListItem, { onClick: () => toggleFeature(feature.key), children: [_jsxs(Styled.SwitchLabel, { children: [_jsx(Typography, { variant: "body_short_bold", children: (_a = feature.title) !== null && _a !== void 0 ? _a : feature.key }), feature.description && (_jsx(Typography, { variant: "body_short_italic", children: feature.description }))] }), _jsx(Styled.Switch, { children: _jsx(Switch, { checked: feature.enabled, disabled: feature.readonly }) })] }, `feat-${feature.key}`));
13
+ }) }));
14
+ };
15
+ export default FeatureTogglerApp;
16
+ //# sourceMappingURL=FeatureTogglerApp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FeatureTogglerApp.js","sourceRoot":"","sources":["../../../../../src/bin/dev-portal/PersonSideSheet/sheets/FeatureTogglerApp.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,8CAA8C,CAAC;AAErF,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAE7D,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,EAAE;IAClC,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,GAAG,qBAAqB,EAAE,CAAC;IAC5D,OAAO,CACH,KAAC,MAAM,CAAC,UAAU,cACb,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;;YACvB,OAAO,CACH,MAAC,MAAM,CAAC,cAAc,IAElB,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,aAEzC,MAAC,MAAM,CAAC,WAAW,eACf,KAAC,UAAU,IAAC,OAAO,EAAC,iBAAiB,YAChC,MAAA,OAAO,CAAC,KAAK,mCAAI,OAAO,CAAC,GAAG,GACpB,EACZ,OAAO,CAAC,WAAW,IAAI,CACpB,KAAC,UAAU,IAAC,OAAO,EAAC,mBAAmB,YAClC,OAAO,CAAC,WAAW,GACX,CAChB,IACgB,EACrB,KAAC,MAAM,CAAC,MAAM,cACV,KAAC,MAAM,IAAC,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,GAAI,GACpD,KAfX,QAAQ,OAAO,CAAC,GAAG,EAAE,CAgBN,CAC3B,CAAC;QACN,CAAC,CAAC,GACc,CACvB,CAAC;AACN,CAAC,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useFrameworkFeatures } from '@equinor/fusion-framework-react/feature-flag';
3
+ import { Typography, Switch } from '@equinor/eds-core-react';
4
+ import { Styled } from './Styled';
5
+ /**
6
+ * Content for Feature toggler tab for portal features in the PersonSidesheet's Feature page.
7
+ */
8
+ export const FeatureTogglerPortal = () => {
9
+ const { features, toggleFeature } = useFrameworkFeatures();
10
+ return (_jsx(Styled.SwitchList, { children: features === null || features === void 0 ? void 0 : features.map((feature) => {
11
+ var _a, _b;
12
+ return (_jsxs(Styled.SwitchListItem, { onClick: () => toggleFeature(feature.key), children: [_jsxs(Styled.SwitchLabel, { children: [_jsx(Typography, { variant: "body_short_bold", children: (_a = feature.title) !== null && _a !== void 0 ? _a : feature.key }), _jsx(Typography, { variant: "body_short_italic", children: (_b = feature.description) !== null && _b !== void 0 ? _b : '' })] }), _jsx(Switch, { checked: feature.enabled, disabled: feature.readonly })] }, `feat-${feature.key}`));
13
+ }) }));
14
+ };
15
+ export default FeatureTogglerPortal;
16
+ //# sourceMappingURL=FeatureTogglerPortal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FeatureTogglerPortal.js","sourceRoot":"","sources":["../../../../../src/bin/dev-portal/PersonSideSheet/sheets/FeatureTogglerPortal.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,8CAA8C,CAAC;AAEpF,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAE7D,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,EAAE;IACrC,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,GAAG,oBAAoB,EAAE,CAAC;IAC3D,OAAO,CACH,KAAC,MAAM,CAAC,UAAU,cACb,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;;YAAC,OAAA,CACxB,MAAC,MAAM,CAAC,cAAc,IAElB,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,aAEzC,MAAC,MAAM,CAAC,WAAW,eACf,KAAC,UAAU,IAAC,OAAO,EAAC,iBAAiB,YAChC,MAAA,OAAO,CAAC,KAAK,mCAAI,OAAO,CAAC,GAAG,GACpB,EACb,KAAC,UAAU,IAAC,OAAO,EAAC,mBAAmB,YAClC,MAAA,OAAO,CAAC,WAAW,mCAAI,EAAE,GACjB,IACI,EACrB,KAAC,MAAM,IAAC,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,GAAI,KAX3D,QAAQ,OAAO,CAAC,GAAG,EAAE,CAYN,CAC3B,CAAA;SAAA,CAAC,GACc,CACvB,CAAC;AACN,CAAC,CAAC;AAEF,eAAe,oBAAoB,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Divider, Icon, Button } from '@equinor/eds-core-react';
3
+ import { bandage, category, work_outline, security } from '@equinor/eds-icons';
4
+ Icon.add({ bandage, category, work_outline, security });
5
+ import styled from 'styled-components';
6
+ const BtnList = styled.ul `
7
+ list-style: none;
8
+ padding-left: 0;
9
+ `;
10
+ const BtnListItem = styled.li `
11
+ margin: 1em 0;
12
+ `;
13
+ /**
14
+ * Content for the main tab in the PersonSidesheet.
15
+ */
16
+ export const LandingSheetContent = ({ azureId, navigate }) => {
17
+ return (_jsxs("section", { children: [_jsx(BtnList, { children: _jsx(BtnListItem, { children: _jsxs(Button, { variant: "ghost", onClick: () => navigate('features'), children: [_jsx(Icon, { name: "category" }), "My Features"] }) }) }), _jsx(Divider, {}), _jsx(BtnList, { children: _jsx(BtnListItem, { children: _jsxs(Button, { variant: "ghost", href: `https://eur.delve.office.com/?u=${azureId}&v=work`, target: "_blank", children: [_jsx("svg", { height: "24", viewBox: "0 0 24 24", width: "24", children: _jsx("path", { d: "M22.5 3C22.7031 3 22.8789 3.07422 23.0273 3.22266C23.1758 3.37109 23.25 3.54688 23.25 3.75V20.25C23.25 20.4531 23.1758 20.6289 23.0273 20.7773C22.8789 20.9258 22.7031 21 22.5 21H14.25V23.3438L0.75 20.9883V3.08203L14.25 0.65625V3H22.5ZM7.07812 16.6992C7.52344 16.6992 7.92188 16.6289 8.27344 16.4883C8.625 16.3477 8.9375 16.1602 9.21094 15.9258C9.48438 15.6914 9.71484 15.4102 9.90234 15.082C10.0898 14.7539 10.25 14.4062 10.3828 14.0391C10.5156 13.6719 10.6055 13.293 10.6523 12.9023C10.6992 12.5117 10.7266 12.1289 10.7344 11.7539C10.7344 11.1602 10.6836 10.5859 10.582 10.0312C10.4805 9.47656 10.3008 8.98047 10.043 8.54297C9.78516 8.10547 9.42969 7.75781 8.97656 7.5C8.52344 7.24219 7.95312 7.10938 7.26562 7.10156C6.78906 7.10156 6.3125 7.12891 5.83594 7.18359C5.35938 7.23828 4.88281 7.28906 4.40625 7.33594V16.5117L5.74219 16.6289C6.1875 16.668 6.63281 16.6914 7.07812 16.6992ZM17.25 16.5H14.25V20.25H17.25V16.5ZM17.25 3.75H14.25V15.75H17.25V3.75ZM22.5 9H18V20.25H22.5V9ZM22.5 3.75H18V8.25H22.5V3.75ZM5.89453 8.92969C6.04297 8.91406 6.1875 8.90234 6.32812 8.89453C6.46875 8.88672 6.62109 8.88281 6.78516 8.88281C7.19141 8.88281 7.53125 8.96875 7.80469 9.14062C8.07812 9.3125 8.29688 9.53906 8.46094 9.82031C8.625 10.1016 8.74219 10.4141 8.8125 10.7578C8.88281 11.1016 8.91797 11.4453 8.91797 11.7891C8.91797 12.125 8.88672 12.4766 8.82422 12.8438C8.76172 13.2109 8.64453 13.5508 8.47266 13.8633C8.30078 14.1758 8.08203 14.4297 7.81641 14.625C7.55078 14.8203 7.20312 14.9219 6.77344 14.9297H6.33984C6.19922 14.9297 6.05078 14.9219 5.89453 14.9062V8.92969Z", fill: "currentColor" }) }), "Delve"] }) }) })] }));
18
+ };
19
+ //# sourceMappingURL=LandingSheetContent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LandingSheetContent.js","sourceRoot":"","sources":["../../../../../src/bin/dev-portal/PersonSideSheet/sheets/LandingSheetContent.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC/E,IAAI,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC,CAAC;AAIxD,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAEvC,MAAM,OAAO,GAAG,MAAM,CAAC,EAAE,CAAA;;;CAGxB,CAAC;AACF,MAAM,WAAW,GAAG,MAAM,CAAC,EAAE,CAAA;;CAE5B,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAqB,EAAE,EAAE;IAC5E,OAAO,CACH,8BACI,KAAC,OAAO,cACJ,KAAC,WAAW,cACR,MAAC,MAAM,IAAC,OAAO,EAAC,OAAO,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,aACvD,KAAC,IAAI,IAAC,IAAI,EAAC,UAAU,GAAQ,mBAExB,GACC,GACR,EACV,KAAC,OAAO,KAAW,EACnB,KAAC,OAAO,cACJ,KAAC,WAAW,cACR,MAAC,MAAM,IACH,OAAO,EAAC,OAAO,EACf,IAAI,EAAE,mCAAmC,OAAO,SAAS,EACzD,MAAM,EAAC,QAAQ,aAEf,cAAK,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,KAAK,EAAC,IAAI,YAC3C,eACI,CAAC,EAAC,0hDAA0hD,EAC5hD,IAAI,EAAC,cAAc,GACf,GACN,aAED,GACC,GACR,IACJ,CACb,CAAC;AACN,CAAC,CAAC"}
@@ -0,0 +1,30 @@
1
+ import styled from 'styled-components';
2
+ export const Styled = {
3
+ SwitchList: styled.ul `
4
+ list-style: none;
5
+ padding-left: 0;
6
+ `,
7
+ SwitchListItem: styled.li `
8
+ display: flex;
9
+ flex-flow: row nowrap;
10
+ justify-content: space-between;
11
+ margin: 1em 0;
12
+ border-left: 3px solid var(--eds_interactive_primary__resting, rgba(0, 112, 121, 1));
13
+ cursor: pointer;
14
+ `,
15
+ SwitchLabel: styled.div `
16
+ display: flex;
17
+ flex-direction: column;
18
+ align-items: left;
19
+ justify-content: center;
20
+ width: 85%;
21
+ transform: scale(0.9);
22
+ `,
23
+ Switch: styled.div `
24
+ width: 15%;
25
+ display: flex;
26
+ justify-content: flex-end;
27
+ transform: scale(0.9);
28
+ `,
29
+ };
30
+ //# sourceMappingURL=Styled.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Styled.js","sourceRoot":"","sources":["../../../../../src/bin/dev-portal/PersonSideSheet/sheets/Styled.tsx"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,mBAAmB,CAAC;AACvC,MAAM,CAAC,MAAM,MAAM,GAAG;IAClB,UAAU,EAAE,MAAM,CAAC,EAAE,CAAA;;;KAGpB;IACD,cAAc,EAAE,MAAM,CAAC,EAAE,CAAA;;;;;;;KAOxB;IACD,WAAW,EAAE,MAAM,CAAC,GAAG,CAAA;;;;;;;KAOtB;IACD,MAAM,EAAE,MAAM,CAAC,GAAG,CAAA;;;;;KAKjB;CACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { FeatureSheetContent } from './FeatureSheetContent';
2
+ export { LandingSheetContent } from './LandingSheetContent';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/bin/dev-portal/PersonSideSheet/sheets/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/bin/dev-portal/PersonSideSheet/sheets/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,59 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useBookmarkNavigate } from '@equinor/fusion-framework-react-module-bookmark/portal';
3
+ import { Outlet, RouterProvider, useParams } from 'react-router-dom';
4
+ import AppLoader from './AppLoader';
5
+ import Header from './Header';
6
+ import { useFramework } from '@equinor/fusion-framework-react';
7
+ import { useState } from 'react';
8
+ import { styled } from 'styled-components';
9
+ import { useAppContextNavigation } from './useAppContextNavigation';
10
+ const Styled = {
11
+ ContentContainer: styled.div `
12
+ display: grid;
13
+ grid-template-columns: 1fr;
14
+ grid-template-rows: 48px 1fr;
15
+ height: 100vh;
16
+ overflow: hidden;
17
+ grid-template-areas: 'head' 'main';
18
+ `,
19
+ Head: styled.section `
20
+ grid-area: head;
21
+ `,
22
+ Main: styled.section `
23
+ grid-area: main;
24
+ overflow: auto;
25
+ position: relative;
26
+ max-width: 100%;
27
+ display: grid;
28
+ `,
29
+ };
30
+ const Root = () => {
31
+ useBookmarkNavigate({ resolveAppPath: (appKey) => `/apps/${appKey}` });
32
+ return (_jsxs(Styled.ContentContainer, { children: [_jsx(Styled.Head, { children: _jsx(Header, {}) }), _jsx(Styled.Main, { children: _jsx(Outlet, {}) })] }));
33
+ };
34
+ // eslint-disable-next-line react/no-multi-comp
35
+ const AppRoute = () => {
36
+ const { appKey } = useParams();
37
+ return appKey ? _jsx(AppLoader, { appKey: appKey }) : null;
38
+ };
39
+ const routes = [
40
+ {
41
+ path: '/',
42
+ element: _jsx(Root, {}),
43
+ children: [
44
+ {
45
+ path: 'apps/:appKey/*',
46
+ element: _jsx(AppRoute, {}),
47
+ },
48
+ ],
49
+ },
50
+ ];
51
+ // eslint-disable-next-line react/no-multi-comp
52
+ export const Router = () => {
53
+ const { navigation } = useFramework().modules;
54
+ const [router] = useState(() => navigation.createRouter(routes));
55
+ // observe the context changes and navigate when the context changes
56
+ useAppContextNavigation();
57
+ return (_jsx(RouterProvider, { router: router, fallbackElement: _jsx("p", { children: "wooot" }) }));
58
+ };
59
+ //# sourceMappingURL=Router.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Router.js","sourceRoot":"","sources":["../../../src/bin/dev-portal/Router.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,wDAAwD,CAAC;AAE7F,OAAO,EAAE,MAAM,EAAE,cAAc,EAAuB,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC1F,OAAO,SAAS,MAAM,aAAa,CAAC;AACpC,OAAO,MAAM,MAAM,UAAU,CAAC;AAE9B,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAE/D,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,MAAM,MAAM,GAAG;IACX,gBAAgB,EAAE,MAAM,CAAC,GAAG,CAAA;;;;;;;KAO3B;IACD,IAAI,EAAE,MAAM,CAAC,OAAO,CAAA;;KAEnB;IACD,IAAI,EAAE,MAAM,CAAC,OAAO,CAAA;;;;;;KAMnB;CACJ,CAAC;AAEF,MAAM,IAAI,GAAG,GAAG,EAAE;IACd,mBAAmB,CAAC,EAAE,cAAc,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,SAAS,MAAM,EAAE,EAAE,CAAC,CAAC;IAC/E,OAAO,CACH,MAAC,MAAM,CAAC,gBAAgB,eACpB,KAAC,MAAM,CAAC,IAAI,cACR,KAAC,MAAM,KAAG,GACA,EACd,KAAC,MAAM,CAAC,IAAI,cACR,KAAC,MAAM,KAAG,GACA,IACQ,CAC7B,CAAC;AACN,CAAC,CAAC;AAEF,+CAA+C;AAC/C,MAAM,QAAQ,GAAG,GAAG,EAAE;IAClB,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,EAAE,CAAC;IAC/B,OAAO,MAAM,CAAC,CAAC,CAAC,KAAC,SAAS,IAAC,MAAM,EAAE,MAAM,GAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AACzD,CAAC,CAAC;AAEF,MAAM,MAAM,GAAG;IACX;QACI,IAAI,EAAE,GAAG;QACT,OAAO,EAAE,KAAC,IAAI,KAAG;QACjB,QAAQ,EAAE;YACN;gBACI,IAAI,EAAE,gBAAgB;gBACtB,OAAO,EAAE,KAAC,QAAQ,KAAG;aACxB;SACJ;KACJ;CACJ,CAAC;AAEF,+CAA+C;AAC/C,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,EAAE;IACvB,MAAM,EAAE,UAAU,EAAE,GAAG,YAAY,EAAsB,CAAC,OAAO,CAAC;IAClE,MAAM,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;IACjE,oEAAoE;IACpE,uBAAuB,EAAE,CAAC;IAC1B,OAAO,CACH,KAAC,cAAc,IACX,MAAM,EAAE,MAAkD,EAC1D,eAAe,EAAE,gCAAY,GAC/B,CACL,CAAC;AACN,CAAC,CAAC"}