@teambit/compositions 1.0.667 → 1.0.669
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/composition.section.tsx +1 -1
- package/compositions.tsx +7 -6
- package/compositions.ui.runtime.tsx +11 -7
- package/dist/composition.section.d.ts +1 -1
- package/dist/composition.section.js.map +1 -1
- package/dist/compositions.d.ts +5 -6
- package/dist/compositions.graphql.d.ts +2 -2
- package/dist/compositions.graphql.js.map +1 -1
- package/dist/compositions.js.map +1 -1
- package/dist/compositions.main.runtime.d.ts +11 -10
- package/dist/compositions.main.runtime.js.map +1 -1
- package/dist/compositions.preview-definition.d.ts +5 -5
- package/dist/compositions.preview-definition.js.map +1 -1
- package/dist/compositions.preview.runtime.d.ts +3 -3
- package/dist/compositions.preview.runtime.js.map +1 -1
- package/dist/compositions.ui.runtime.d.ts +6 -7
- package/dist/compositions.ui.runtime.js.map +1 -1
- package/dist/{preview-1753809186996.js → preview-1753848836384.js} +2 -2
- package/dist/ui/composition-preview.d.ts +2 -2
- package/dist/ui/composition-preview.js.map +1 -1
- package/dist/ui/compositions-panel/compositions-panel.d.ts +1 -1
- package/dist/ui/compositions-panel/compositions-panel.js.map +1 -1
- package/dist/ui/compositions-panel/compositions-panel.module.scss +2 -0
- package/dist/ui/compositions-panel/live-control-input.js +62 -38
- package/dist/ui/compositions-panel/live-control-input.js.map +1 -1
- package/dist/ui/compositions-panel/live-control-panel.js +4 -1
- package/dist/ui/compositions-panel/live-control-panel.js.map +1 -1
- package/dist/ui/compositions-panel/live-control-panel.module.scss +1 -0
- package/package.json +19 -19
- package/ui/composition-preview.tsx +3 -2
- package/ui/compositions-panel/compositions-panel.module.scss +2 -0
- package/ui/compositions-panel/compositions-panel.tsx +1 -1
- package/ui/compositions-panel/live-control-input.tsx +111 -42
- package/ui/compositions-panel/live-control-panel.module.scss +1 -0
- package/ui/compositions-panel/live-control-panel.tsx +4 -1
package/composition.section.tsx
CHANGED
package/compositions.tsx
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
|
-
import
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
import React, { useContext, useEffect, useState, useMemo, useRef } from 'react';
|
|
2
3
|
import { useParams, useSearchParams } from 'react-router-dom';
|
|
3
4
|
import head from 'lodash.head';
|
|
4
5
|
import queryString from 'query-string';
|
|
5
6
|
import { ThemeContext } from '@teambit/documenter.theme.theme-context';
|
|
6
7
|
import { SplitPane, Pane, Layout } from '@teambit/base-ui.surfaces.split-pane.split-pane';
|
|
7
8
|
import { HoverSplitter } from '@teambit/base-ui.surfaces.split-pane.hover-splitter';
|
|
8
|
-
import {
|
|
9
|
+
import type { ComponentModel } from '@teambit/component';
|
|
10
|
+
import { ComponentContext } from '@teambit/component';
|
|
9
11
|
import { PropTable } from '@teambit/documenter.ui.property-table';
|
|
10
12
|
import { Tab, TabContainer, TabList, TabPanel } from '@teambit/panels';
|
|
11
13
|
import { useDocs } from '@teambit/docs.ui.queries.get-docs';
|
|
@@ -23,13 +25,12 @@ import { Link as BaseLink, useNavigate, useLocation } from '@teambit/base-react.
|
|
|
23
25
|
import { OptionButton } from '@teambit/design.ui.input.option-button';
|
|
24
26
|
import { StatusMessageCard } from '@teambit/design.ui.surfaces.status-message-card';
|
|
25
27
|
import { Tooltip } from '@teambit/design.ui.tooltip';
|
|
26
|
-
import { EmptyStateSlot } from './compositions.ui.runtime';
|
|
27
|
-
import { Composition } from './composition';
|
|
28
|
+
import type { EmptyStateSlot, CompositionsMenuSlot, UsePreviewSandboxSlot } from './compositions.ui.runtime';
|
|
29
|
+
import type { Composition } from './composition';
|
|
28
30
|
import styles from './compositions.module.scss';
|
|
29
31
|
import { ComponentComposition } from './ui';
|
|
30
32
|
import { CompositionsPanel } from './ui/compositions-panel/compositions-panel';
|
|
31
|
-
import type {
|
|
32
|
-
import { ComponentCompositionProps } from './ui/composition-preview';
|
|
33
|
+
import type { ComponentCompositionProps } from './ui/composition-preview';
|
|
33
34
|
|
|
34
35
|
// @todo - this will be fixed as part of the @teambit/base-react.navigation.link upgrade to latest
|
|
35
36
|
const Link = BaseLink as any;
|
|
@@ -1,15 +1,19 @@
|
|
|
1
|
-
import type { ReactNode } from 'react';
|
|
2
|
-
import React
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
1
|
+
import type { ReactNode, ComponentType } from 'react';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import type { SlotRegistry } from '@teambit/harmony';
|
|
4
|
+
import { Slot } from '@teambit/harmony';
|
|
5
|
+
import type { ComponentUI } from '@teambit/component';
|
|
6
|
+
import { ComponentAspect } from '@teambit/component';
|
|
5
7
|
import { UIRuntime } from '@teambit/ui';
|
|
6
8
|
import { CompositionCompareSection } from '@teambit/compositions.ui.composition-compare-section';
|
|
7
9
|
import { CompositionCompare } from '@teambit/compositions.ui.composition-compare';
|
|
8
|
-
import { ComponentCompareUI
|
|
9
|
-
import {
|
|
10
|
+
import type { ComponentCompareUI } from '@teambit/component-compare';
|
|
11
|
+
import { ComponentCompareAspect } from '@teambit/component-compare';
|
|
12
|
+
import type { UseSandboxPermission } from '@teambit/preview.ui.component-preview';
|
|
10
13
|
import { CompositionsSection } from './composition.section';
|
|
11
14
|
import { CompositionsAspect } from './compositions.aspect';
|
|
12
|
-
import {
|
|
15
|
+
import type { MenuBarWidget } from './compositions';
|
|
16
|
+
import { CompositionContent } from './compositions';
|
|
13
17
|
|
|
14
18
|
export type CompositionsMenuSlot = SlotRegistry<MenuBarWidget[]>;
|
|
15
19
|
export type EmptyStateSlot = SlotRegistry<ComponentType>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Section } from '@teambit/component';
|
|
1
|
+
import type { Section } from '@teambit/component';
|
|
2
2
|
import type { CompositionsUI, CompositionsMenuSlot, EmptyStateSlot, UsePreviewSandboxSlot } from './compositions.ui.runtime';
|
|
3
3
|
type Options = {
|
|
4
4
|
menuBarWidgetSlot: CompositionsMenuSlot;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","data","_interopRequireDefault","require","_compositions","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","CompositionsSection","constructor","compositions","options","emptyStateSlot","usePreviewSandboxSlot","href","children","path","element","createElement","Compositions","menuBarWidgets","menuBarWidgetSlot","emptyState","exports"],"sources":["composition.section.tsx"],"sourcesContent":["import { Section } from '@teambit/component';\nimport React from 'react';\nimport { Compositions } from './compositions';\nimport type {\n CompositionsUI,\n CompositionsMenuSlot,\n EmptyStateSlot,\n UsePreviewSandboxSlot,\n} from './compositions.ui.runtime';\n\ntype Options = { menuBarWidgetSlot: CompositionsMenuSlot };\n\nexport class CompositionsSection implements Section {\n constructor(\n /**\n * simulations ui extension.\n */\n private compositions: CompositionsUI,\n private options: Options,\n private emptyStateSlot: EmptyStateSlot,\n private usePreviewSandboxSlot: UsePreviewSandboxSlot\n ) {}\n\n navigationLink = {\n href: '~compositions',\n children: 'Preview',\n };\n\n route = {\n path: '~compositions/*',\n element: (\n <Compositions\n menuBarWidgets={this.options.menuBarWidgetSlot}\n emptyState={this.emptyStateSlot}\n usePreviewSandboxSlot={this.usePreviewSandboxSlot}\n />\n ),\n };\n\n order = 20;\n}\n"],"mappings":";;;;;;AACA,SAAAA,OAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,MAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,cAAA;EAAA,MAAAH,IAAA,GAAAE,OAAA;EAAAC,aAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA8C,SAAAC,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAG,gBAAAH,CAAA,EAAAI,CAAA,EAAAC,CAAA,YAAAD,CAAA,GAAAE,cAAA,CAAAF,CAAA,MAAAJ,CAAA,GAAAO,MAAA,CAAAC,cAAA,CAAAR,CAAA,EAAAI,CAAA,IAAAK,KAAA,EAAAJ,CAAA,EAAAK,UAAA,MAAAC,YAAA,MAAAC,QAAA,UAAAZ,CAAA,CAAAI,CAAA,IAAAC,CAAA,EAAAL,CAAA;AAAA,SAAAM,eAAAD,CAAA,QAAAQ,CAAA,GAAAC,YAAA,CAAAT,CAAA,uCAAAQ,CAAA,GAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAC,aAAAT,CAAA,EAAAD,CAAA,2BAAAC,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAL,CAAA,GAAAK,CAAA,CAAAU,MAAA,CAAAC,WAAA,kBAAAhB,CAAA,QAAAa,CAAA,GAAAb,CAAA,CAAAiB,IAAA,CAAAZ,CAAA,EAAAD,CAAA,uCAAAS,CAAA,SAAAA,CAAA,YAAAK,SAAA,yEAAAd,CAAA,GAAAe,MAAA,GAAAC,MAAA,EAAAf,CAAA;AAUvC,MAAMgB,mBAAmB,CAAoB;EAClDC,WAAWA;EACT;AACJ;AACA;EACYC,YAA4B,EAC5BC,OAAgB,EAChBC,cAA8B,EAC9BC,qBAA4C,EACpD;IAAA,KAJQH,YAA4B,GAA5BA,YAA4B;IAAA,KAC5BC,OAAgB,GAAhBA,OAAgB;IAAA,KAChBC,cAA8B,GAA9BA,cAA8B;IAAA,KAC9BC,qBAA4C,GAA5CA,qBAA4C;IAAAvB,eAAA,yBAGrC;MACfwB,IAAI,EAAE,eAAe;MACrBC,QAAQ,EAAE;IACZ,CAAC;IAAAzB,eAAA,gBAEO;MACN0B,IAAI,EAAE,iBAAiB;MACvBC,OAAO,eACLnC,MAAA,GAAAO,OAAA,CAAA6B,aAAA,CAAChC,aAAA,GAAAiC,YAAY;QACXC,cAAc,EAAE,IAAI,CAACT,OAAO,CAACU,iBAAkB;QAC/CC,UAAU,EAAE,IAAI,CAACV,cAAe;QAChCC,qBAAqB,EAAE,IAAI,CAACA;MAAsB,CACnD;IAEL,CAAC;IAAAvB,eAAA,gBAEO,EAAE;EAlBP;AAmBL;AAACiC,OAAA,CAAAf,mBAAA,GAAAA,mBAAA","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","data","_interopRequireDefault","require","_compositions","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","CompositionsSection","constructor","compositions","options","emptyStateSlot","usePreviewSandboxSlot","href","children","path","element","createElement","Compositions","menuBarWidgets","menuBarWidgetSlot","emptyState","exports"],"sources":["composition.section.tsx"],"sourcesContent":["import type { Section } from '@teambit/component';\nimport React from 'react';\nimport { Compositions } from './compositions';\nimport type {\n CompositionsUI,\n CompositionsMenuSlot,\n EmptyStateSlot,\n UsePreviewSandboxSlot,\n} from './compositions.ui.runtime';\n\ntype Options = { menuBarWidgetSlot: CompositionsMenuSlot };\n\nexport class CompositionsSection implements Section {\n constructor(\n /**\n * simulations ui extension.\n */\n private compositions: CompositionsUI,\n private options: Options,\n private emptyStateSlot: EmptyStateSlot,\n private usePreviewSandboxSlot: UsePreviewSandboxSlot\n ) {}\n\n navigationLink = {\n href: '~compositions',\n children: 'Preview',\n };\n\n route = {\n path: '~compositions/*',\n element: (\n <Compositions\n menuBarWidgets={this.options.menuBarWidgetSlot}\n emptyState={this.emptyStateSlot}\n usePreviewSandboxSlot={this.usePreviewSandboxSlot}\n />\n ),\n };\n\n order = 20;\n}\n"],"mappings":";;;;;;AACA,SAAAA,OAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,MAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,cAAA;EAAA,MAAAH,IAAA,GAAAE,OAAA;EAAAC,aAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA8C,SAAAC,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAG,gBAAAH,CAAA,EAAAI,CAAA,EAAAC,CAAA,YAAAD,CAAA,GAAAE,cAAA,CAAAF,CAAA,MAAAJ,CAAA,GAAAO,MAAA,CAAAC,cAAA,CAAAR,CAAA,EAAAI,CAAA,IAAAK,KAAA,EAAAJ,CAAA,EAAAK,UAAA,MAAAC,YAAA,MAAAC,QAAA,UAAAZ,CAAA,CAAAI,CAAA,IAAAC,CAAA,EAAAL,CAAA;AAAA,SAAAM,eAAAD,CAAA,QAAAQ,CAAA,GAAAC,YAAA,CAAAT,CAAA,uCAAAQ,CAAA,GAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAC,aAAAT,CAAA,EAAAD,CAAA,2BAAAC,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAL,CAAA,GAAAK,CAAA,CAAAU,MAAA,CAAAC,WAAA,kBAAAhB,CAAA,QAAAa,CAAA,GAAAb,CAAA,CAAAiB,IAAA,CAAAZ,CAAA,EAAAD,CAAA,uCAAAS,CAAA,SAAAA,CAAA,YAAAK,SAAA,yEAAAd,CAAA,GAAAe,MAAA,GAAAC,MAAA,EAAAf,CAAA;AAUvC,MAAMgB,mBAAmB,CAAoB;EAClDC,WAAWA;EACT;AACJ;AACA;EACYC,YAA4B,EAC5BC,OAAgB,EAChBC,cAA8B,EAC9BC,qBAA4C,EACpD;IAAA,KAJQH,YAA4B,GAA5BA,YAA4B;IAAA,KAC5BC,OAAgB,GAAhBA,OAAgB;IAAA,KAChBC,cAA8B,GAA9BA,cAA8B;IAAA,KAC9BC,qBAA4C,GAA5CA,qBAA4C;IAAAvB,eAAA,yBAGrC;MACfwB,IAAI,EAAE,eAAe;MACrBC,QAAQ,EAAE;IACZ,CAAC;IAAAzB,eAAA,gBAEO;MACN0B,IAAI,EAAE,iBAAiB;MACvBC,OAAO,eACLnC,MAAA,GAAAO,OAAA,CAAA6B,aAAA,CAAChC,aAAA,GAAAiC,YAAY;QACXC,cAAc,EAAE,IAAI,CAACT,OAAO,CAACU,iBAAkB;QAC/CC,UAAU,EAAE,IAAI,CAACV,cAAe;QAChCC,qBAAqB,EAAE,IAAI,CAACA;MAAsB,CACnD;IAEL,CAAC;IAAAvB,eAAA,gBAEO,EAAE;EAlBP;AAmBL;AAACiC,OAAA,CAAAf,mBAAA,GAAAA,mBAAA","ignoreList":[]}
|
package/dist/compositions.d.ts
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import { ReactNode } from 'react';
|
|
2
|
-
import { ComponentModel } from '@teambit/component';
|
|
3
|
-
import { EmptyStateSlot } from './compositions.ui.runtime';
|
|
4
|
-
import { Composition } from './composition';
|
|
5
|
-
import type {
|
|
6
|
-
import { ComponentCompositionProps } from './ui/composition-preview';
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
import type { ComponentModel } from '@teambit/component';
|
|
3
|
+
import type { EmptyStateSlot, CompositionsMenuSlot, UsePreviewSandboxSlot } from './compositions.ui.runtime';
|
|
4
|
+
import type { Composition } from './composition';
|
|
5
|
+
import type { ComponentCompositionProps } from './ui/composition-preview';
|
|
7
6
|
export type MenuBarWidget = {
|
|
8
7
|
location: 'start' | 'end';
|
|
9
8
|
content: ReactNode;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { Schema } from '@teambit/graphql';
|
|
2
|
-
import { CompositionsMain } from './compositions.main.runtime';
|
|
1
|
+
import type { Schema } from '@teambit/graphql';
|
|
2
|
+
import type { CompositionsMain } from './compositions.main.runtime';
|
|
3
3
|
export declare function compositionsSchema(compositions: CompositionsMain): Schema;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_graphqlTag","data","require","compositionsSchema","compositions","typeDefs","gql","resolvers","Component","component","getCompositions"],"sources":["compositions.graphql.ts"],"sourcesContent":["import { Component } from '@teambit/component';\nimport { Schema } from '@teambit/graphql';\nimport { gql } from 'graphql-tag';\n\nimport { CompositionsMain } from './compositions.main.runtime';\n\nexport function compositionsSchema(compositions: CompositionsMain): Schema {\n return {\n typeDefs: gql`\n extend type Component {\n compositions: [Composition]\n }\n\n type Subscription {\n compositionAdded: Composition\n }\n\n type Composition {\n filepath: String\n identifier: String\n displayName: String\n }\n `,\n resolvers: {\n Component: {\n compositions: (component: Component) => {\n return compositions.getCompositions(component);\n },\n },\n },\n };\n}\n"],"mappings":";;;;;;AAEA,SAAAA,YAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,WAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAIO,SAASE,kBAAkBA,CAACC,YAA8B,EAAU;EACzE,OAAO;IACLC,QAAQ,EAAE,IAAAC,iBAAG;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;IACDC,SAAS,EAAE;MACTC,SAAS,EAAE;QACTJ,YAAY,EAAGK,SAAoB,IAAK;UACtC,OAAOL,YAAY,CAACM,eAAe,CAACD,SAAS,CAAC;QAChD;MACF;IACF;EACF,CAAC;AACH","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_graphqlTag","data","require","compositionsSchema","compositions","typeDefs","gql","resolvers","Component","component","getCompositions"],"sources":["compositions.graphql.ts"],"sourcesContent":["import type { Component } from '@teambit/component';\nimport type { Schema } from '@teambit/graphql';\nimport { gql } from 'graphql-tag';\n\nimport type { CompositionsMain } from './compositions.main.runtime';\n\nexport function compositionsSchema(compositions: CompositionsMain): Schema {\n return {\n typeDefs: gql`\n extend type Component {\n compositions: [Composition]\n }\n\n type Subscription {\n compositionAdded: Composition\n }\n\n type Composition {\n filepath: String\n identifier: String\n displayName: String\n }\n `,\n resolvers: {\n Component: {\n compositions: (component: Component) => {\n return compositions.getCompositions(component);\n },\n },\n },\n };\n}\n"],"mappings":";;;;;;AAEA,SAAAA,YAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,WAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAIO,SAASE,kBAAkBA,CAACC,YAA8B,EAAU;EACzE,OAAO;IACLC,QAAQ,EAAE,IAAAC,iBAAG;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;IACDC,SAAS,EAAE;MACTC,SAAS,EAAE;QACTJ,YAAY,EAAGK,SAAoB,IAAK;UACtC,OAAOL,YAAY,CAACM,eAAe,CAACD,SAAS,CAAC;QAChD;MACF;IACF;EACF,CAAC;AACH","ignoreList":[]}
|
package/dist/compositions.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","data","_interopRequireWildcard","require","_reactRouterDom","_lodash","_interopRequireDefault","_queryString","_documenterTheme","_baseUiSurfacesSplitPane","_baseUiSurfacesSplitPane2","_component","_documenterUi","_panels","_docsUiQueries","_uiFoundationUiButtons","_designUi","_previewUi","_uiFoundationUiHooks","_compositionsUi","_compositionsUiHooks","_mdxUi","_designUi2","_documenterUi2","_designUi3","_baseReactNavigation","_designUiInput","_designUiSurfaces","_designUi4","_compositionsModule","_ui","_compositionsPanel","_excluded","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_extends","assign","bind","arguments","length","apply","_objectWithoutProperties","_objectWithoutPropertiesLoose","getOwnPropertySymbols","indexOf","propertyIsEnumerable","Link","BaseLink","Compositions","menuBarWidgets","emptyState","usePreviewSandboxSlot","component","useContext","ComponentContext","searchParams","useSearchParams","params","useParams","versionFromQueryParams","navigate","useNavigate","location","useLocation","currentCompositionName","currentComposition","compositions","find","composition","identifier","toLowerCase","head","sandboxValue","setSandboxValue","useState","selectedRef","useRef","current","properties","useDocs","id","previewSandboxHooks","values","isMobile","useIsMobile","showSidebar","isSidebarOpen","setSidebarOpenness","sidebarOpenness","Layout","row","left","compositionUrl","toPreviewUrl","isScaling","preview","includesEnvTemplates","includesEnvTemplate","useNameParam","compositionIdentifierParam","currentCompositionFullUrl","compositionParams","setCompositionParams","fullscreen","livecontrols","queryParams","useMemo","queryString","stringify","useEffect","createElement","CompositionContextProvider","setQueryParams","SplitPane","layout","size","className","styles","compositionsPage","Pane","CompositionsMenuBar","menuBar","Tooltip","content","placement","external","href","openInNewTab","OptionButton","icon","SandboxPermissionsAggregator","hooks","onSandboxChange","CompositionContent","compositionPanel","selected","sandbox","HoverSplitter","splitter","Collapser","isOpen","onMouseDown","stopPropagation","onClick","x","tooltipContent","collapser","right","ThemeContext","TabContainer","tabsContainer","TabList","tabs","Tab","TabPanel","tabContent","CompositionsPanel","onSelectComposition","selectedCompositionFromUrl","pathSegments","pathname","split","filter","push","urlParams","URLSearchParams","newPath","join","toString","url","active","PropTable","rows","showListView","_ref","componentCompositionProps","env","environment","EmptyStateTemplate","host","noCompositionsPage","H1","title","Separator","isPresentational","separator","AlertCard","level","MDXLayout","buildStatus","StatusMessageCard","buildStatusMessage","status","EmptyBox","linkText","link","ComponentComposition","compositionsIframe","viewport","forceHeight","fullContentHeight","pubsub"],"sources":["compositions.tsx"],"sourcesContent":["import React, { useContext, useEffect, useState, useMemo, useRef, ReactNode } from 'react';\nimport { useParams, useSearchParams } from 'react-router-dom';\nimport head from 'lodash.head';\nimport queryString from 'query-string';\nimport { ThemeContext } from '@teambit/documenter.theme.theme-context';\nimport { SplitPane, Pane, Layout } from '@teambit/base-ui.surfaces.split-pane.split-pane';\nimport { HoverSplitter } from '@teambit/base-ui.surfaces.split-pane.hover-splitter';\nimport { ComponentContext, ComponentModel } from '@teambit/component';\nimport { PropTable } from '@teambit/documenter.ui.property-table';\nimport { Tab, TabContainer, TabList, TabPanel } from '@teambit/panels';\nimport { useDocs } from '@teambit/docs.ui.queries.get-docs';\nimport { Collapser } from '@teambit/ui-foundation.ui.buttons.collapser';\nimport { EmptyBox } from '@teambit/design.ui.empty-box';\nimport { SandboxPermissionsAggregator, toPreviewUrl } from '@teambit/preview.ui.component-preview';\nimport { useIsMobile } from '@teambit/ui-foundation.ui.hooks.use-is-mobile';\nimport { CompositionsMenuBar } from '@teambit/compositions.ui.compositions-menu-bar';\nimport { CompositionContextProvider } from '@teambit/compositions.ui.hooks.use-composition';\nimport { MDXLayout } from '@teambit/mdx.ui.mdx-layout';\nimport { Separator } from '@teambit/design.ui.separator';\nimport { H1 } from '@teambit/documenter.ui.heading';\nimport { AlertCard } from '@teambit/design.ui.alert-card';\nimport { Link as BaseLink, useNavigate, useLocation } from '@teambit/base-react.navigation.link';\nimport { OptionButton } from '@teambit/design.ui.input.option-button';\nimport { StatusMessageCard } from '@teambit/design.ui.surfaces.status-message-card';\nimport { Tooltip } from '@teambit/design.ui.tooltip';\nimport { EmptyStateSlot } from './compositions.ui.runtime';\nimport { Composition } from './composition';\nimport styles from './compositions.module.scss';\nimport { ComponentComposition } from './ui';\nimport { CompositionsPanel } from './ui/compositions-panel/compositions-panel';\nimport type { CompositionsMenuSlot, UsePreviewSandboxSlot } from './compositions.ui.runtime';\nimport { ComponentCompositionProps } from './ui/composition-preview';\n\n// @todo - this will be fixed as part of the @teambit/base-react.navigation.link upgrade to latest\nconst Link = BaseLink as any;\n\nexport type MenuBarWidget = {\n location: 'start' | 'end';\n content: ReactNode;\n};\nexport type CompositionsProp = {\n menuBarWidgets?: CompositionsMenuSlot;\n emptyState?: EmptyStateSlot;\n usePreviewSandboxSlot?: UsePreviewSandboxSlot;\n};\n\nexport function Compositions({ menuBarWidgets, emptyState, usePreviewSandboxSlot }: CompositionsProp) {\n const component = useContext(ComponentContext);\n const [searchParams] = useSearchParams();\n const params = useParams();\n const versionFromQueryParams = searchParams.get('version');\n const navigate = useNavigate();\n const location = useLocation();\n const currentCompositionName = params['*'];\n const currentComposition =\n component.compositions.find((composition) => composition.identifier.toLowerCase() === currentCompositionName) ||\n head(component.compositions);\n const [sandboxValue, setSandboxValue] = useState('');\n const selectedRef = useRef(currentComposition);\n selectedRef.current = currentComposition;\n\n const properties = useDocs(component.id);\n const previewSandboxHooks = usePreviewSandboxSlot?.values() ?? [];\n const isMobile = useIsMobile();\n const showSidebar = !isMobile && component.compositions.length > 0;\n const [isSidebarOpen, setSidebarOpenness] = useState(showSidebar);\n\n const sidebarOpenness = isSidebarOpen ? Layout.row : Layout.left;\n\n const compositionUrl = toPreviewUrl(component, 'compositions');\n const isScaling = component?.preview?.isScaling;\n const includesEnvTemplates = component?.preview?.includesEnvTemplate;\n const useNameParam = component?.preview?.useNameParam;\n const compositionIdentifierParam =\n useNameParam || (isScaling && includesEnvTemplates === false)\n ? `name=${currentComposition?.identifier}`\n : currentComposition?.identifier;\n\n const currentCompositionFullUrl = toPreviewUrl(component, 'compositions', compositionIdentifierParam);\n\n const [compositionParams, setCompositionParams] = useState<Record<string, any>>({\n fullscreen: true,\n livecontrols: true,\n });\n\n const queryParams = useMemo(() => queryString.stringify(compositionParams), [compositionParams]);\n\n // collapse sidebar when empty, reopen when not\n useEffect(() => setSidebarOpenness(showSidebar), [showSidebar]);\n return (\n <CompositionContextProvider queryParams={compositionParams} setQueryParams={setCompositionParams}>\n <SplitPane layout={sidebarOpenness} size=\"80%\" className={styles.compositionsPage}>\n <Pane className={styles.left}>\n <CompositionsMenuBar menuBarWidgets={menuBarWidgets} className={styles.menuBar}>\n <Tooltip content={'Open in new tab'} placement=\"right\">\n <Link external href={currentCompositionFullUrl} className={styles.openInNewTab}>\n <OptionButton icon=\"open-tab\" />\n </Link>\n </Tooltip>\n </CompositionsMenuBar>\n <SandboxPermissionsAggregator\n hooks={previewSandboxHooks}\n onSandboxChange={setSandboxValue}\n component={component}\n />\n <CompositionContent\n className={styles.compositionPanel}\n emptyState={emptyState}\n component={component}\n selected={currentComposition}\n queryParams={queryParams}\n sandbox={sandboxValue}\n />\n </Pane>\n <HoverSplitter className={styles.splitter}>\n <Collapser\n placement=\"left\"\n isOpen={isSidebarOpen}\n onMouseDown={(e) => e.stopPropagation()} // avoid split-pane drag\n onClick={() => setSidebarOpenness((x) => !x)}\n tooltipContent={`${isSidebarOpen ? 'Hide' : 'Show'} side compositions`}\n className={styles.collapser}\n />\n </HoverSplitter>\n <Pane className={styles.right}>\n <ThemeContext>\n <TabContainer className={styles.tabsContainer}>\n <TabList className={styles.tabs}>\n <Tab>compositions</Tab>\n <Tab>properties</Tab>\n </TabList>\n <TabPanel className={styles.tabContent}>\n <CompositionsPanel\n isScaling={isScaling}\n useNameParam={useNameParam}\n includesEnvTemplate={component.preview?.includesEnvTemplate}\n onSelectComposition={(composition) => {\n if (!currentComposition || !location) return;\n const selectedCompositionFromUrl = params['*'];\n\n const pathSegments = location.pathname.split('/').filter((x) => x);\n\n if (!selectedCompositionFromUrl) {\n pathSegments.push(composition.identifier.toLowerCase());\n } else {\n pathSegments[pathSegments.length - 1] = composition.identifier.toLowerCase();\n }\n\n const urlParams = new URLSearchParams(searchParams);\n if (versionFromQueryParams) {\n urlParams.set('version', versionFromQueryParams);\n }\n const newPath = pathSegments.join('/');\n navigate(`/${newPath}?${urlParams.toString()}`);\n }}\n url={compositionUrl}\n compositions={component.compositions}\n active={currentComposition}\n />\n </TabPanel>\n <TabPanel className={styles.tabContent}>\n {properties && properties.length > 0 ? <PropTable rows={properties} showListView /> : <div />}\n </TabPanel>\n </TabContainer>\n </ThemeContext>\n </Pane>\n </SplitPane>\n </CompositionContextProvider>\n );\n}\n\nexport type CompositionContentProps = {\n component: ComponentModel;\n selected?: Composition;\n queryParams?: string | string[];\n emptyState?: EmptyStateSlot;\n} & ComponentCompositionProps;\n\nexport function CompositionContent({\n component,\n selected,\n queryParams,\n emptyState,\n sandbox,\n ...componentCompositionProps\n}: CompositionContentProps) {\n const env = component.environment?.id;\n const EmptyStateTemplate = emptyState?.get(env || ''); // || defaultTemplate;\n\n if (component.compositions.length === 0 && component.host === 'teambit.workspace/workspace' && EmptyStateTemplate) {\n return (\n <div className={styles.noCompositionsPage}>\n <div>\n <H1 className={styles.title}>Compositions</H1>\n <Separator isPresentational className={styles.separator} />\n <AlertCard\n level=\"info\"\n title=\"There are no\n compositions for this Component. Learn how to add compositions:\"\n >\n <MDXLayout>\n <EmptyStateTemplate />\n </MDXLayout>\n </AlertCard>\n </div>\n </div>\n );\n }\n\n if (component?.buildStatus === 'pending' && component?.host === 'teambit.scope/scope')\n return (\n <StatusMessageCard className={styles.buildStatusMessage} status=\"PROCESSING\" title=\"component preview pending\">\n this might take some time\n </StatusMessageCard>\n );\n if (component?.buildStatus === 'failed' && component?.host === 'teambit.scope/scope')\n return (\n <StatusMessageCard\n className={styles.buildStatusMessage}\n status=\"FAILURE\"\n title=\"failed to get component preview \"\n ></StatusMessageCard>\n );\n\n // TODO: get the docs domain from the community aspect and pass it here as a prop\n if (component.compositions.length === 0) {\n return (\n <EmptyBox\n title=\"There are no compositions for this component.\"\n linkText=\"Learn how to create compositions\"\n link={`https://bit.dev/reference/dev-services-overview/compositions/compositions-overview`}\n />\n );\n }\n\n return (\n <ComponentComposition\n className={styles.compositionsIframe}\n // TODO: Oded to add control for viewport.\n viewport={null}\n component={component}\n forceHeight=\"100%\"\n composition={selected}\n fullContentHeight\n pubsub={true}\n queryParams={queryParams}\n sandbox={sandbox}\n {...componentCompositionProps}\n />\n );\n}\n"],"mappings":";;;;;;;AAAA,SAAAA,OAAA;EAAA,MAAAC,IAAA,GAAAC,uBAAA,CAAAC,OAAA;EAAAH,MAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,gBAAA;EAAA,MAAAH,IAAA,GAAAE,OAAA;EAAAC,eAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAI,QAAA;EAAA,MAAAJ,IAAA,GAAAK,sBAAA,CAAAH,OAAA;EAAAE,OAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAM,aAAA;EAAA,MAAAN,IAAA,GAAAK,sBAAA,CAAAH,OAAA;EAAAI,YAAA,YAAAA,CAAA;IAAA,OAAAN,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAO,iBAAA;EAAA,MAAAP,IAAA,GAAAE,OAAA;EAAAK,gBAAA,YAAAA,CAAA;IAAA,OAAAP,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAQ,yBAAA;EAAA,MAAAR,IAAA,GAAAE,OAAA;EAAAM,wBAAA,YAAAA,CAAA;IAAA,OAAAR,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAS,0BAAA;EAAA,MAAAT,IAAA,GAAAE,OAAA;EAAAO,yBAAA,YAAAA,CAAA;IAAA,OAAAT,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAU,WAAA;EAAA,MAAAV,IAAA,GAAAE,OAAA;EAAAQ,UAAA,YAAAA,CAAA;IAAA,OAAAV,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAW,cAAA;EAAA,MAAAX,IAAA,GAAAE,OAAA;EAAAS,aAAA,YAAAA,CAAA;IAAA,OAAAX,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAY,QAAA;EAAA,MAAAZ,IAAA,GAAAE,OAAA;EAAAU,OAAA,YAAAA,CAAA;IAAA,OAAAZ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAa,eAAA;EAAA,MAAAb,IAAA,GAAAE,OAAA;EAAAW,cAAA,YAAAA,CAAA;IAAA,OAAAb,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAc,uBAAA;EAAA,MAAAd,IAAA,GAAAE,OAAA;EAAAY,sBAAA,YAAAA,CAAA;IAAA,OAAAd,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAe,UAAA;EAAA,MAAAf,IAAA,GAAAE,OAAA;EAAAa,SAAA,YAAAA,CAAA;IAAA,OAAAf,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAgB,WAAA;EAAA,MAAAhB,IAAA,GAAAE,OAAA;EAAAc,UAAA,YAAAA,CAAA;IAAA,OAAAhB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAiB,qBAAA;EAAA,MAAAjB,IAAA,GAAAE,OAAA;EAAAe,oBAAA,YAAAA,CAAA;IAAA,OAAAjB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAkB,gBAAA;EAAA,MAAAlB,IAAA,GAAAE,OAAA;EAAAgB,eAAA,YAAAA,CAAA;IAAA,OAAAlB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAmB,qBAAA;EAAA,MAAAnB,IAAA,GAAAE,OAAA;EAAAiB,oBAAA,YAAAA,CAAA;IAAA,OAAAnB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAoB,OAAA;EAAA,MAAApB,IAAA,GAAAE,OAAA;EAAAkB,MAAA,YAAAA,CAAA;IAAA,OAAApB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAqB,WAAA;EAAA,MAAArB,IAAA,GAAAE,OAAA;EAAAmB,UAAA,YAAAA,CAAA;IAAA,OAAArB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAsB,eAAA;EAAA,MAAAtB,IAAA,GAAAE,OAAA;EAAAoB,cAAA,YAAAA,CAAA;IAAA,OAAAtB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAuB,WAAA;EAAA,MAAAvB,IAAA,GAAAE,OAAA;EAAAqB,UAAA,YAAAA,CAAA;IAAA,OAAAvB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAwB,qBAAA;EAAA,MAAAxB,IAAA,GAAAE,OAAA;EAAAsB,oBAAA,YAAAA,CAAA;IAAA,OAAAxB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAyB,eAAA;EAAA,MAAAzB,IAAA,GAAAE,OAAA;EAAAuB,cAAA,YAAAA,CAAA;IAAA,OAAAzB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAA0B,kBAAA;EAAA,MAAA1B,IAAA,GAAAE,OAAA;EAAAwB,iBAAA,YAAAA,CAAA;IAAA,OAAA1B,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAA2B,WAAA;EAAA,MAAA3B,IAAA,GAAAE,OAAA;EAAAyB,UAAA,YAAAA,CAAA;IAAA,OAAA3B,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAGA,SAAA4B,oBAAA;EAAA,MAAA5B,IAAA,GAAAK,sBAAA,CAAAH,OAAA;EAAA0B,mBAAA,YAAAA,CAAA;IAAA,OAAA5B,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAA6B,IAAA;EAAA,MAAA7B,IAAA,GAAAE,OAAA;EAAA2B,GAAA,YAAAA,CAAA;IAAA,OAAA7B,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAA8B,mBAAA;EAAA,MAAA9B,IAAA,GAAAE,OAAA;EAAA4B,kBAAA,YAAAA,CAAA;IAAA,OAAA9B,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA+E,MAAA+B,SAAA;AAAA,SAAA1B,uBAAA2B,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAA/B,wBAAA+B,CAAA,EAAAG,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAnC,uBAAA,YAAAA,CAAA+B,CAAA,EAAAG,CAAA,SAAAA,CAAA,IAAAH,CAAA,IAAAA,CAAA,CAAAC,UAAA,SAAAD,CAAA,MAAAO,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAR,OAAA,EAAAF,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAS,CAAA,MAAAF,CAAA,GAAAJ,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAE,CAAA,CAAAI,GAAA,CAAAX,CAAA,UAAAO,CAAA,CAAAK,GAAA,CAAAZ,CAAA,GAAAO,CAAA,CAAAM,GAAA,CAAAb,CAAA,EAAAS,CAAA,gBAAAN,CAAA,IAAAH,CAAA,gBAAAG,CAAA,OAAAW,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAG,CAAA,OAAAK,CAAA,IAAAD,CAAA,GAAAS,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAG,CAAA,OAAAK,CAAA,CAAAI,GAAA,IAAAJ,CAAA,CAAAK,GAAA,IAAAN,CAAA,CAAAE,CAAA,EAAAN,CAAA,EAAAK,CAAA,IAAAC,CAAA,CAAAN,CAAA,IAAAH,CAAA,CAAAG,CAAA,WAAAM,CAAA,KAAAT,CAAA,EAAAG,CAAA;AAAA,SAAAgB,SAAA,WAAAA,QAAA,GAAAH,MAAA,CAAAI,MAAA,GAAAJ,MAAA,CAAAI,MAAA,CAAAC,IAAA,eAAAf,CAAA,aAAAN,CAAA,MAAAA,CAAA,GAAAsB,SAAA,CAAAC,MAAA,EAAAvB,CAAA,UAAAG,CAAA,GAAAmB,SAAA,CAAAtB,CAAA,YAAAK,CAAA,IAAAF,CAAA,OAAAW,cAAA,CAAAC,IAAA,CAAAZ,CAAA,EAAAE,CAAA,MAAAC,CAAA,CAAAD,CAAA,IAAAF,CAAA,CAAAE,CAAA,aAAAC,CAAA,KAAAa,QAAA,CAAAK,KAAA,OAAAF,SAAA;AAAA,SAAAG,yBAAAzB,CAAA,EAAAG,CAAA,gBAAAH,CAAA,iBAAAO,CAAA,EAAAF,CAAA,EAAAG,CAAA,GAAAkB,6BAAA,CAAA1B,CAAA,EAAAG,CAAA,OAAAa,MAAA,CAAAW,qBAAA,QAAArB,CAAA,GAAAU,MAAA,CAAAW,qBAAA,CAAA3B,CAAA,QAAAK,CAAA,MAAAA,CAAA,GAAAC,CAAA,CAAAiB,MAAA,EAAAlB,CAAA,IAAAE,CAAA,GAAAD,CAAA,CAAAD,CAAA,UAAAF,CAAA,CAAAyB,OAAA,CAAArB,CAAA,QAAAsB,oBAAA,CAAAd,IAAA,CAAAf,CAAA,EAAAO,CAAA,MAAAC,CAAA,CAAAD,CAAA,IAAAP,CAAA,CAAAO,CAAA,aAAAC,CAAA;AAAA,SAAAkB,8BAAArB,CAAA,EAAAL,CAAA,gBAAAK,CAAA,iBAAAF,CAAA,gBAAAG,CAAA,IAAAD,CAAA,SAAAS,cAAA,CAAAC,IAAA,CAAAV,CAAA,EAAAC,CAAA,gBAAAN,CAAA,CAAA4B,OAAA,CAAAtB,CAAA,aAAAH,CAAA,CAAAG,CAAA,IAAAD,CAAA,CAAAC,CAAA,YAAAH,CAAA;AAI/E;AACA,MAAM2B,IAAI,GAAGC,2BAAe;AAYrB,SAASC,YAAYA,CAAC;EAAEC,cAAc;EAAEC,UAAU;EAAEC;AAAwC,CAAC,EAAE;EACpG,MAAMC,SAAS,GAAG,IAAAC,mBAAU,EAACC,6BAAgB,CAAC;EAC9C,MAAM,CAACC,YAAY,CAAC,GAAG,IAAAC,iCAAe,EAAC,CAAC;EACxC,MAAMC,MAAM,GAAG,IAAAC,2BAAS,EAAC,CAAC;EAC1B,MAAMC,sBAAsB,GAAGJ,YAAY,CAAC3B,GAAG,CAAC,SAAS,CAAC;EAC1D,MAAMgC,QAAQ,GAAG,IAAAC,kCAAW,EAAC,CAAC;EAC9B,MAAMC,QAAQ,GAAG,IAAAC,kCAAW,EAAC,CAAC;EAC9B,MAAMC,sBAAsB,GAAGP,MAAM,CAAC,GAAG,CAAC;EAC1C,MAAMQ,kBAAkB,GACtBb,SAAS,CAACc,YAAY,CAACC,IAAI,CAAEC,WAAW,IAAKA,WAAW,CAACC,UAAU,CAACC,WAAW,CAAC,CAAC,KAAKN,sBAAsB,CAAC,IAC7G,IAAAO,iBAAI,EAACnB,SAAS,CAACc,YAAY,CAAC;EAC9B,MAAM,CAACM,YAAY,EAAEC,eAAe,CAAC,GAAG,IAAAC,iBAAQ,EAAC,EAAE,CAAC;EACpD,MAAMC,WAAW,GAAG,IAAAC,eAAM,EAACX,kBAAkB,CAAC;EAC9CU,WAAW,CAACE,OAAO,GAAGZ,kBAAkB;EAExC,MAAMa,UAAU,GAAG,IAAAC,wBAAO,EAAC3B,SAAS,CAAC4B,EAAE,CAAC;EACxC,MAAMC,mBAAmB,GAAG9B,qBAAqB,EAAE+B,MAAM,CAAC,CAAC,IAAI,EAAE;EACjE,MAAMC,QAAQ,GAAG,IAAAC,kCAAW,EAAC,CAAC;EAC9B,MAAMC,WAAW,GAAG,CAACF,QAAQ,IAAI/B,SAAS,CAACc,YAAY,CAAC3B,MAAM,GAAG,CAAC;EAClE,MAAM,CAAC+C,aAAa,EAAEC,kBAAkB,CAAC,GAAG,IAAAb,iBAAQ,EAACW,WAAW,CAAC;EAEjE,MAAMG,eAAe,GAAGF,aAAa,GAAGG,iCAAM,CAACC,GAAG,GAAGD,iCAAM,CAACE,IAAI;EAEhE,MAAMC,cAAc,GAAG,IAAAC,yBAAY,EAACzC,SAAS,EAAE,cAAc,CAAC;EAC9D,MAAM0C,SAAS,GAAG1C,SAAS,EAAE2C,OAAO,EAAED,SAAS;EAC/C,MAAME,oBAAoB,GAAG5C,SAAS,EAAE2C,OAAO,EAAEE,mBAAmB;EACpE,MAAMC,YAAY,GAAG9C,SAAS,EAAE2C,OAAO,EAAEG,YAAY;EACrD,MAAMC,0BAA0B,GAC9BD,YAAY,IAAKJ,SAAS,IAAIE,oBAAoB,KAAK,KAAM,GACzD,QAAQ/B,kBAAkB,EAAEI,UAAU,EAAE,GACxCJ,kBAAkB,EAAEI,UAAU;EAEpC,MAAM+B,yBAAyB,GAAG,IAAAP,yBAAY,EAACzC,SAAS,EAAE,cAAc,EAAE+C,0BAA0B,CAAC;EAErG,MAAM,CAACE,iBAAiB,EAAEC,oBAAoB,CAAC,GAAG,IAAA5B,iBAAQ,EAAsB;IAC9E6B,UAAU,EAAE,IAAI;IAChBC,YAAY,EAAE;EAChB,CAAC,CAAC;EAEF,MAAMC,WAAW,GAAG,IAAAC,gBAAO,EAAC,MAAMC,sBAAW,CAACC,SAAS,CAACP,iBAAiB,CAAC,EAAE,CAACA,iBAAiB,CAAC,CAAC;;EAEhG;EACA,IAAAQ,kBAAS,EAAC,MAAMtB,kBAAkB,CAACF,WAAW,CAAC,EAAE,CAACA,WAAW,CAAC,CAAC;EAC/D,oBACEtG,MAAA,GAAAmC,OAAA,CAAA4F,aAAA,CAAC3G,oBAAA,GAAA4G,0BAA0B;IAACN,WAAW,EAAEJ,iBAAkB;IAACW,cAAc,EAAEV;EAAqB,gBAC/FvH,MAAA,GAAAmC,OAAA,CAAA4F,aAAA,CAACtH,wBAAA,GAAAyH,SAAS;IAACC,MAAM,EAAE1B,eAAgB;IAAC2B,IAAI,EAAC,KAAK;IAACC,SAAS,EAAEC,6BAAM,CAACC;EAAiB,gBAChFvI,MAAA,GAAAmC,OAAA,CAAA4F,aAAA,CAACtH,wBAAA,GAAA+H,IAAI;IAACH,SAAS,EAAEC,6BAAM,CAAC1B;EAAK,gBAC3B5G,MAAA,GAAAmC,OAAA,CAAA4F,aAAA,CAAC5G,eAAA,GAAAsH,mBAAmB;IAACvE,cAAc,EAAEA,cAAe;IAACmE,SAAS,EAAEC,6BAAM,CAACI;EAAQ,gBAC7E1I,MAAA,GAAAmC,OAAA,CAAA4F,aAAA,CAACnG,UAAA,GAAA+G,OAAO;IAACC,OAAO,EAAE,iBAAkB;IAACC,SAAS,EAAC;EAAO,gBACpD7I,MAAA,GAAAmC,OAAA,CAAA4F,aAAA,CAAChE,IAAI;IAAC+E,QAAQ;IAACC,IAAI,EAAE1B,yBAA0B;IAACgB,SAAS,EAAEC,6BAAM,CAACU;EAAa,gBAC7EhJ,MAAA,GAAAmC,OAAA,CAAA4F,aAAA,CAACrG,cAAA,GAAAuH,YAAY;IAACC,IAAI,EAAC;EAAU,CAAE,CAC3B,CACC,CACU,CAAC,eACtBlJ,MAAA,GAAAmC,OAAA,CAAA4F,aAAA,CAAC9G,UAAA,GAAAkI,4BAA4B;IAC3BC,KAAK,EAAElD,mBAAoB;IAC3BmD,eAAe,EAAE3D,eAAgB;IACjCrB,SAAS,EAAEA;EAAU,CACtB,CAAC,eACFrE,MAAA,GAAAmC,OAAA,CAAA4F,aAAA,CAACuB,kBAAkB;IACjBjB,SAAS,EAAEC,6BAAM,CAACiB,gBAAiB;IACnCpF,UAAU,EAAEA,UAAW;IACvBE,SAAS,EAAEA,SAAU;IACrBmF,QAAQ,EAAEtE,kBAAmB;IAC7BwC,WAAW,EAAEA,WAAY;IACzB+B,OAAO,EAAEhE;EAAa,CACvB,CACG,CAAC,eACPzF,MAAA,GAAAmC,OAAA,CAAA4F,aAAA,CAACrH,yBAAA,GAAAgJ,aAAa;IAACrB,SAAS,EAAEC,6BAAM,CAACqB;EAAS,gBACxC3J,MAAA,GAAAmC,OAAA,CAAA4F,aAAA,CAAChH,sBAAA,GAAA6I,SAAS;IACRf,SAAS,EAAC,MAAM;IAChBgB,MAAM,EAAEtD,aAAc;IACtBuD,WAAW,EAAG7H,CAAC,IAAKA,CAAC,CAAC8H,eAAe,CAAC,CAAE,CAAC;IAAA;IACzCC,OAAO,EAAEA,CAAA,KAAMxD,kBAAkB,CAAEyD,CAAC,IAAK,CAACA,CAAC,CAAE;IAC7CC,cAAc,EAAE,GAAG3D,aAAa,GAAG,MAAM,GAAG,MAAM,oBAAqB;IACvE8B,SAAS,EAAEC,6BAAM,CAAC6B;EAAU,CAC7B,CACY,CAAC,eAChBnK,MAAA,GAAAmC,OAAA,CAAA4F,aAAA,CAACtH,wBAAA,GAAA+H,IAAI;IAACH,SAAS,EAAEC,6BAAM,CAAC8B;EAAM,gBAC5BpK,MAAA,GAAAmC,OAAA,CAAA4F,aAAA,CAACvH,gBAAA,GAAA6J,YAAY,qBACXrK,MAAA,GAAAmC,OAAA,CAAA4F,aAAA,CAAClH,OAAA,GAAAyJ,YAAY;IAACjC,SAAS,EAAEC,6BAAM,CAACiC;EAAc,gBAC5CvK,MAAA,GAAAmC,OAAA,CAAA4F,aAAA,CAAClH,OAAA,GAAA2J,OAAO;IAACnC,SAAS,EAAEC,6BAAM,CAACmC;EAAK,gBAC9BzK,MAAA,GAAAmC,OAAA,CAAA4F,aAAA,CAAClH,OAAA,GAAA6J,GAAG,QAAC,cAAiB,CAAC,eACvB1K,MAAA,GAAAmC,OAAA,CAAA4F,aAAA,CAAClH,OAAA,GAAA6J,GAAG,QAAC,YAAe,CACb,CAAC,eACV1K,MAAA,GAAAmC,OAAA,CAAA4F,aAAA,CAAClH,OAAA,GAAA8J,QAAQ;IAACtC,SAAS,EAAEC,6BAAM,CAACsC;EAAW,gBACrC5K,MAAA,GAAAmC,OAAA,CAAA4F,aAAA,CAAChG,kBAAA,GAAA8I,iBAAiB;IAChB9D,SAAS,EAAEA,SAAU;IACrBI,YAAY,EAAEA,YAAa;IAC3BD,mBAAmB,EAAE7C,SAAS,CAAC2C,OAAO,EAAEE,mBAAoB;IAC5D4D,mBAAmB,EAAGzF,WAAW,IAAK;MACpC,IAAI,CAACH,kBAAkB,IAAI,CAACH,QAAQ,EAAE;MACtC,MAAMgG,0BAA0B,GAAGrG,MAAM,CAAC,GAAG,CAAC;MAE9C,MAAMsG,YAAY,GAAGjG,QAAQ,CAACkG,QAAQ,CAACC,KAAK,CAAC,GAAG,CAAC,CAACC,MAAM,CAAElB,CAAC,IAAKA,CAAC,CAAC;MAElE,IAAI,CAACc,0BAA0B,EAAE;QAC/BC,YAAY,CAACI,IAAI,CAAC/F,WAAW,CAACC,UAAU,CAACC,WAAW,CAAC,CAAC,CAAC;MACzD,CAAC,MAAM;QACLyF,YAAY,CAACA,YAAY,CAACxH,MAAM,GAAG,CAAC,CAAC,GAAG6B,WAAW,CAACC,UAAU,CAACC,WAAW,CAAC,CAAC;MAC9E;MAEA,MAAM8F,SAAS,GAAG,IAAIC,eAAe,CAAC9G,YAAY,CAAC;MACnD,IAAII,sBAAsB,EAAE;QAC1ByG,SAAS,CAACvI,GAAG,CAAC,SAAS,EAAE8B,sBAAsB,CAAC;MAClD;MACA,MAAM2G,OAAO,GAAGP,YAAY,CAACQ,IAAI,CAAC,GAAG,CAAC;MACtC3G,QAAQ,CAAC,IAAI0G,OAAO,IAAIF,SAAS,CAACI,QAAQ,CAAC,CAAC,EAAE,CAAC;IACjD,CAAE;IACFC,GAAG,EAAE7E,cAAe;IACpB1B,YAAY,EAAEd,SAAS,CAACc,YAAa;IACrCwG,MAAM,EAAEzG;EAAmB,CAC5B,CACO,CAAC,eACXlF,MAAA,GAAAmC,OAAA,CAAA4F,aAAA,CAAClH,OAAA,GAAA8J,QAAQ;IAACtC,SAAS,EAAEC,6BAAM,CAACsC;EAAW,GACpC7E,UAAU,IAAIA,UAAU,CAACvC,MAAM,GAAG,CAAC,gBAAGxD,MAAA,GAAAmC,OAAA,CAAA4F,aAAA,CAACnH,aAAA,GAAAgL,SAAS;IAACC,IAAI,EAAE9F,UAAW;IAAC+F,YAAY;EAAA,CAAE,CAAC,gBAAG9L,MAAA,GAAAmC,OAAA,CAAA4F,aAAA,YAAM,CACpF,CACE,CACF,CACV,CACG,CACe,CAAC;AAEjC;AASO,SAASuB,kBAAkBA,CAAAyC,IAAA,EAON;EAAA,IAPO;MACjC1H,SAAS;MACTmF,QAAQ;MACR9B,WAAW;MACXvD,UAAU;MACVsF;IAEuB,CAAC,GAAAsC,IAAA;IADrBC,yBAAyB,GAAAtI,wBAAA,CAAAqI,IAAA,EAAA/J,SAAA;EAE5B,MAAMiK,GAAG,GAAG5H,SAAS,CAAC6H,WAAW,EAAEjG,EAAE;EACrC,MAAMkG,kBAAkB,GAAGhI,UAAU,EAAEtB,GAAG,CAACoJ,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC;;EAEvD,IAAI5H,SAAS,CAACc,YAAY,CAAC3B,MAAM,KAAK,CAAC,IAAIa,SAAS,CAAC+H,IAAI,KAAK,6BAA6B,IAAID,kBAAkB,EAAE;IACjH,oBACEnM,MAAA,GAAAmC,OAAA,CAAA4F,aAAA;MAAKM,SAAS,EAAEC,6BAAM,CAAC+D;IAAmB,gBACxCrM,MAAA,GAAAmC,OAAA,CAAA4F,aAAA,2BACE/H,MAAA,GAAAmC,OAAA,CAAA4F,aAAA,CAACxG,cAAA,GAAA+K,EAAE;MAACjE,SAAS,EAAEC,6BAAM,CAACiE;IAAM,GAAC,cAAgB,CAAC,eAC9CvM,MAAA,GAAAmC,OAAA,CAAA4F,aAAA,CAACzG,UAAA,GAAAkL,SAAS;MAACC,gBAAgB;MAACpE,SAAS,EAAEC,6BAAM,CAACoE;IAAU,CAAE,CAAC,eAC3D1M,MAAA,GAAAmC,OAAA,CAAA4F,aAAA,CAACvG,UAAA,GAAAmL,SAAS;MACRC,KAAK,EAAC,MAAM;MACZL,KAAK,EAAC;IAC4D,gBAElEvM,MAAA,GAAAmC,OAAA,CAAA4F,aAAA,CAAC1G,MAAA,GAAAwL,SAAS,qBACR7M,MAAA,GAAAmC,OAAA,CAAA4F,aAAA,CAACoE,kBAAkB,MAAE,CACZ,CACF,CACR,CACF,CAAC;EAEV;EAEA,IAAI9H,SAAS,EAAEyI,WAAW,KAAK,SAAS,IAAIzI,SAAS,EAAE+H,IAAI,KAAK,qBAAqB,EACnF,oBACEpM,MAAA,GAAAmC,OAAA,CAAA4F,aAAA,CAACpG,iBAAA,GAAAoL,iBAAiB;IAAC1E,SAAS,EAAEC,6BAAM,CAAC0E,kBAAmB;IAACC,MAAM,EAAC,YAAY;IAACV,KAAK,EAAC;EAA2B,GAAC,2BAE5F,CAAC;EAExB,IAAIlI,SAAS,EAAEyI,WAAW,KAAK,QAAQ,IAAIzI,SAAS,EAAE+H,IAAI,KAAK,qBAAqB,EAClF,oBACEpM,MAAA,GAAAmC,OAAA,CAAA4F,aAAA,CAACpG,iBAAA,GAAAoL,iBAAiB;IAChB1E,SAAS,EAAEC,6BAAM,CAAC0E,kBAAmB;IACrCC,MAAM,EAAC,SAAS;IAChBV,KAAK,EAAC;EAAkC,CACtB,CAAC;;EAGzB;EACA,IAAIlI,SAAS,CAACc,YAAY,CAAC3B,MAAM,KAAK,CAAC,EAAE;IACvC,oBACExD,MAAA,GAAAmC,OAAA,CAAA4F,aAAA,CAAC/G,SAAA,GAAAkM,QAAQ;MACPX,KAAK,EAAC,+CAA+C;MACrDY,QAAQ,EAAC,kCAAkC;MAC3CC,IAAI,EAAE;IAAqF,CAC5F,CAAC;EAEN;EAEA,oBACEpN,MAAA,GAAAmC,OAAA,CAAA4F,aAAA,CAACjG,GAAA,GAAAuL,oBAAoB,EAAAjK,QAAA;IACnBiF,SAAS,EAAEC,6BAAM,CAACgF;IAClB;IAAA;IACAC,QAAQ,EAAE,IAAK;IACflJ,SAAS,EAAEA,SAAU;IACrBmJ,WAAW,EAAC,MAAM;IAClBnI,WAAW,EAAEmE,QAAS;IACtBiE,iBAAiB;IACjBC,MAAM,EAAE,IAAK;IACbhG,WAAW,EAAEA,WAAY;IACzB+B,OAAO,EAAEA;EAAQ,GACbuC,yBAAyB,CAC9B,CAAC;AAEN","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","data","_interopRequireWildcard","require","_reactRouterDom","_lodash","_interopRequireDefault","_queryString","_documenterTheme","_baseUiSurfacesSplitPane","_baseUiSurfacesSplitPane2","_component","_documenterUi","_panels","_docsUiQueries","_uiFoundationUiButtons","_designUi","_previewUi","_uiFoundationUiHooks","_compositionsUi","_compositionsUiHooks","_mdxUi","_designUi2","_documenterUi2","_designUi3","_baseReactNavigation","_designUiInput","_designUiSurfaces","_designUi4","_compositionsModule","_ui","_compositionsPanel","_excluded","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_extends","assign","bind","arguments","length","apply","_objectWithoutProperties","_objectWithoutPropertiesLoose","getOwnPropertySymbols","indexOf","propertyIsEnumerable","Link","BaseLink","Compositions","menuBarWidgets","emptyState","usePreviewSandboxSlot","component","useContext","ComponentContext","searchParams","useSearchParams","params","useParams","versionFromQueryParams","navigate","useNavigate","location","useLocation","currentCompositionName","currentComposition","compositions","find","composition","identifier","toLowerCase","head","sandboxValue","setSandboxValue","useState","selectedRef","useRef","current","properties","useDocs","id","previewSandboxHooks","values","isMobile","useIsMobile","showSidebar","isSidebarOpen","setSidebarOpenness","sidebarOpenness","Layout","row","left","compositionUrl","toPreviewUrl","isScaling","preview","includesEnvTemplates","includesEnvTemplate","useNameParam","compositionIdentifierParam","currentCompositionFullUrl","compositionParams","setCompositionParams","fullscreen","livecontrols","queryParams","useMemo","queryString","stringify","useEffect","createElement","CompositionContextProvider","setQueryParams","SplitPane","layout","size","className","styles","compositionsPage","Pane","CompositionsMenuBar","menuBar","Tooltip","content","placement","external","href","openInNewTab","OptionButton","icon","SandboxPermissionsAggregator","hooks","onSandboxChange","CompositionContent","compositionPanel","selected","sandbox","HoverSplitter","splitter","Collapser","isOpen","onMouseDown","stopPropagation","onClick","x","tooltipContent","collapser","right","ThemeContext","TabContainer","tabsContainer","TabList","tabs","Tab","TabPanel","tabContent","CompositionsPanel","onSelectComposition","selectedCompositionFromUrl","pathSegments","pathname","split","filter","push","urlParams","URLSearchParams","newPath","join","toString","url","active","PropTable","rows","showListView","_ref","componentCompositionProps","env","environment","EmptyStateTemplate","host","noCompositionsPage","H1","title","Separator","isPresentational","separator","AlertCard","level","MDXLayout","buildStatus","StatusMessageCard","buildStatusMessage","status","EmptyBox","linkText","link","ComponentComposition","compositionsIframe","viewport","forceHeight","fullContentHeight","pubsub"],"sources":["compositions.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\nimport React, { useContext, useEffect, useState, useMemo, useRef } from 'react';\nimport { useParams, useSearchParams } from 'react-router-dom';\nimport head from 'lodash.head';\nimport queryString from 'query-string';\nimport { ThemeContext } from '@teambit/documenter.theme.theme-context';\nimport { SplitPane, Pane, Layout } from '@teambit/base-ui.surfaces.split-pane.split-pane';\nimport { HoverSplitter } from '@teambit/base-ui.surfaces.split-pane.hover-splitter';\nimport type { ComponentModel } from '@teambit/component';\nimport { ComponentContext } from '@teambit/component';\nimport { PropTable } from '@teambit/documenter.ui.property-table';\nimport { Tab, TabContainer, TabList, TabPanel } from '@teambit/panels';\nimport { useDocs } from '@teambit/docs.ui.queries.get-docs';\nimport { Collapser } from '@teambit/ui-foundation.ui.buttons.collapser';\nimport { EmptyBox } from '@teambit/design.ui.empty-box';\nimport { SandboxPermissionsAggregator, toPreviewUrl } from '@teambit/preview.ui.component-preview';\nimport { useIsMobile } from '@teambit/ui-foundation.ui.hooks.use-is-mobile';\nimport { CompositionsMenuBar } from '@teambit/compositions.ui.compositions-menu-bar';\nimport { CompositionContextProvider } from '@teambit/compositions.ui.hooks.use-composition';\nimport { MDXLayout } from '@teambit/mdx.ui.mdx-layout';\nimport { Separator } from '@teambit/design.ui.separator';\nimport { H1 } from '@teambit/documenter.ui.heading';\nimport { AlertCard } from '@teambit/design.ui.alert-card';\nimport { Link as BaseLink, useNavigate, useLocation } from '@teambit/base-react.navigation.link';\nimport { OptionButton } from '@teambit/design.ui.input.option-button';\nimport { StatusMessageCard } from '@teambit/design.ui.surfaces.status-message-card';\nimport { Tooltip } from '@teambit/design.ui.tooltip';\nimport type { EmptyStateSlot, CompositionsMenuSlot, UsePreviewSandboxSlot } from './compositions.ui.runtime';\nimport type { Composition } from './composition';\nimport styles from './compositions.module.scss';\nimport { ComponentComposition } from './ui';\nimport { CompositionsPanel } from './ui/compositions-panel/compositions-panel';\nimport type { ComponentCompositionProps } from './ui/composition-preview';\n\n// @todo - this will be fixed as part of the @teambit/base-react.navigation.link upgrade to latest\nconst Link = BaseLink as any;\n\nexport type MenuBarWidget = {\n location: 'start' | 'end';\n content: ReactNode;\n};\nexport type CompositionsProp = {\n menuBarWidgets?: CompositionsMenuSlot;\n emptyState?: EmptyStateSlot;\n usePreviewSandboxSlot?: UsePreviewSandboxSlot;\n};\n\nexport function Compositions({ menuBarWidgets, emptyState, usePreviewSandboxSlot }: CompositionsProp) {\n const component = useContext(ComponentContext);\n const [searchParams] = useSearchParams();\n const params = useParams();\n const versionFromQueryParams = searchParams.get('version');\n const navigate = useNavigate();\n const location = useLocation();\n const currentCompositionName = params['*'];\n const currentComposition =\n component.compositions.find((composition) => composition.identifier.toLowerCase() === currentCompositionName) ||\n head(component.compositions);\n const [sandboxValue, setSandboxValue] = useState('');\n const selectedRef = useRef(currentComposition);\n selectedRef.current = currentComposition;\n\n const properties = useDocs(component.id);\n const previewSandboxHooks = usePreviewSandboxSlot?.values() ?? [];\n const isMobile = useIsMobile();\n const showSidebar = !isMobile && component.compositions.length > 0;\n const [isSidebarOpen, setSidebarOpenness] = useState(showSidebar);\n\n const sidebarOpenness = isSidebarOpen ? Layout.row : Layout.left;\n\n const compositionUrl = toPreviewUrl(component, 'compositions');\n const isScaling = component?.preview?.isScaling;\n const includesEnvTemplates = component?.preview?.includesEnvTemplate;\n const useNameParam = component?.preview?.useNameParam;\n const compositionIdentifierParam =\n useNameParam || (isScaling && includesEnvTemplates === false)\n ? `name=${currentComposition?.identifier}`\n : currentComposition?.identifier;\n\n const currentCompositionFullUrl = toPreviewUrl(component, 'compositions', compositionIdentifierParam);\n\n const [compositionParams, setCompositionParams] = useState<Record<string, any>>({\n fullscreen: true,\n livecontrols: true,\n });\n\n const queryParams = useMemo(() => queryString.stringify(compositionParams), [compositionParams]);\n\n // collapse sidebar when empty, reopen when not\n useEffect(() => setSidebarOpenness(showSidebar), [showSidebar]);\n return (\n <CompositionContextProvider queryParams={compositionParams} setQueryParams={setCompositionParams}>\n <SplitPane layout={sidebarOpenness} size=\"80%\" className={styles.compositionsPage}>\n <Pane className={styles.left}>\n <CompositionsMenuBar menuBarWidgets={menuBarWidgets} className={styles.menuBar}>\n <Tooltip content={'Open in new tab'} placement=\"right\">\n <Link external href={currentCompositionFullUrl} className={styles.openInNewTab}>\n <OptionButton icon=\"open-tab\" />\n </Link>\n </Tooltip>\n </CompositionsMenuBar>\n <SandboxPermissionsAggregator\n hooks={previewSandboxHooks}\n onSandboxChange={setSandboxValue}\n component={component}\n />\n <CompositionContent\n className={styles.compositionPanel}\n emptyState={emptyState}\n component={component}\n selected={currentComposition}\n queryParams={queryParams}\n sandbox={sandboxValue}\n />\n </Pane>\n <HoverSplitter className={styles.splitter}>\n <Collapser\n placement=\"left\"\n isOpen={isSidebarOpen}\n onMouseDown={(e) => e.stopPropagation()} // avoid split-pane drag\n onClick={() => setSidebarOpenness((x) => !x)}\n tooltipContent={`${isSidebarOpen ? 'Hide' : 'Show'} side compositions`}\n className={styles.collapser}\n />\n </HoverSplitter>\n <Pane className={styles.right}>\n <ThemeContext>\n <TabContainer className={styles.tabsContainer}>\n <TabList className={styles.tabs}>\n <Tab>compositions</Tab>\n <Tab>properties</Tab>\n </TabList>\n <TabPanel className={styles.tabContent}>\n <CompositionsPanel\n isScaling={isScaling}\n useNameParam={useNameParam}\n includesEnvTemplate={component.preview?.includesEnvTemplate}\n onSelectComposition={(composition) => {\n if (!currentComposition || !location) return;\n const selectedCompositionFromUrl = params['*'];\n\n const pathSegments = location.pathname.split('/').filter((x) => x);\n\n if (!selectedCompositionFromUrl) {\n pathSegments.push(composition.identifier.toLowerCase());\n } else {\n pathSegments[pathSegments.length - 1] = composition.identifier.toLowerCase();\n }\n\n const urlParams = new URLSearchParams(searchParams);\n if (versionFromQueryParams) {\n urlParams.set('version', versionFromQueryParams);\n }\n const newPath = pathSegments.join('/');\n navigate(`/${newPath}?${urlParams.toString()}`);\n }}\n url={compositionUrl}\n compositions={component.compositions}\n active={currentComposition}\n />\n </TabPanel>\n <TabPanel className={styles.tabContent}>\n {properties && properties.length > 0 ? <PropTable rows={properties} showListView /> : <div />}\n </TabPanel>\n </TabContainer>\n </ThemeContext>\n </Pane>\n </SplitPane>\n </CompositionContextProvider>\n );\n}\n\nexport type CompositionContentProps = {\n component: ComponentModel;\n selected?: Composition;\n queryParams?: string | string[];\n emptyState?: EmptyStateSlot;\n} & ComponentCompositionProps;\n\nexport function CompositionContent({\n component,\n selected,\n queryParams,\n emptyState,\n sandbox,\n ...componentCompositionProps\n}: CompositionContentProps) {\n const env = component.environment?.id;\n const EmptyStateTemplate = emptyState?.get(env || ''); // || defaultTemplate;\n\n if (component.compositions.length === 0 && component.host === 'teambit.workspace/workspace' && EmptyStateTemplate) {\n return (\n <div className={styles.noCompositionsPage}>\n <div>\n <H1 className={styles.title}>Compositions</H1>\n <Separator isPresentational className={styles.separator} />\n <AlertCard\n level=\"info\"\n title=\"There are no\n compositions for this Component. Learn how to add compositions:\"\n >\n <MDXLayout>\n <EmptyStateTemplate />\n </MDXLayout>\n </AlertCard>\n </div>\n </div>\n );\n }\n\n if (component?.buildStatus === 'pending' && component?.host === 'teambit.scope/scope')\n return (\n <StatusMessageCard className={styles.buildStatusMessage} status=\"PROCESSING\" title=\"component preview pending\">\n this might take some time\n </StatusMessageCard>\n );\n if (component?.buildStatus === 'failed' && component?.host === 'teambit.scope/scope')\n return (\n <StatusMessageCard\n className={styles.buildStatusMessage}\n status=\"FAILURE\"\n title=\"failed to get component preview \"\n ></StatusMessageCard>\n );\n\n // TODO: get the docs domain from the community aspect and pass it here as a prop\n if (component.compositions.length === 0) {\n return (\n <EmptyBox\n title=\"There are no compositions for this component.\"\n linkText=\"Learn how to create compositions\"\n link={`https://bit.dev/reference/dev-services-overview/compositions/compositions-overview`}\n />\n );\n }\n\n return (\n <ComponentComposition\n className={styles.compositionsIframe}\n // TODO: Oded to add control for viewport.\n viewport={null}\n component={component}\n forceHeight=\"100%\"\n composition={selected}\n fullContentHeight\n pubsub={true}\n queryParams={queryParams}\n sandbox={sandbox}\n {...componentCompositionProps}\n />\n );\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,13 +1,14 @@
|
|
|
1
|
-
import { AspectData, Component,
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
1
|
+
import type { AspectData, Component, IComponent } from '@teambit/component';
|
|
2
|
+
import { ComponentMap } from '@teambit/component';
|
|
3
|
+
import type { ScopeMain } from '@teambit/scope';
|
|
4
|
+
import type { DevFilesMain } from '@teambit/dev-files';
|
|
5
|
+
import type { EnvsMain } from '@teambit/envs';
|
|
6
|
+
import type { GraphqlMain } from '@teambit/graphql';
|
|
7
|
+
import type { ComponentLoadOptions } from '@teambit/legacy.consumer-component';
|
|
8
|
+
import type { AbstractVinyl } from '@teambit/component.sources';
|
|
9
|
+
import type { PreviewMain } from '@teambit/preview';
|
|
10
|
+
import type { SchemaMain } from '@teambit/schema';
|
|
11
|
+
import type { Workspace } from '@teambit/workspace';
|
|
11
12
|
import { Composition } from './composition';
|
|
12
13
|
export type CompositionsConfig = {
|
|
13
14
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_cli","data","require","_component","_scope","_devFiles","_envs","_graphql","_preview","_schema","_toolboxPath","_workspace","_path","_composition","_compositions","_compositions2","_compositions3","_defineProperty","e","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","CompositionsMain","constructor","compositionFilePattern","previewFilePattern","preview","workspace","schema","devFiles","envs","getPreviewFiles","components","ComponentMap","as","component","compositionFiles","state","filesystem","byGlob","previewFiles","Set","map","file","relative","files","filter","has","isCompositionFile","filePath","includePatterns","excludePatterns","splitPatterns","matchPatterns","getCompositions","entry","get","CompositionsAspect","id","compositions","Composition","fromArray","readCompositions","maybeFiles","byComponent","computeCompositions","flat","getCompositionFilePattern","getComponentDevPatterns","env","calculateEnv","skipWarnings","inInstallContext","componentEnvCompositionsDevPatterns","getCompositionsDevPatterns","componentPatterns","concat","name","pattern","getDevPatternToRegister","bind","onComponentLoad","loadOpts","loadCompositions","undefined","composition","toObject","pathArray","path","split","length","modulePath","join","componentDir","exports","parseModule","contents","toString","exportModel","displayName","staticProperties","identifier","provider","graphql","scope","config","compositionPreviewFilePattern","registerDevPattern","register","compositionsSchema","registerDefinition","CompositionPreviewDefinition","registerOnComponentLoad","registerOnCompAspectReCalc","MainRuntime","PreviewAspect","GraphqlAspect","WorkspaceAspect","SchemaAspect","DevFilesAspect","EnvsAspect","ScopeAspect","addRuntime"],"sources":["compositions.main.runtime.ts"],"sourcesContent":["import { MainRuntime } from '@teambit/cli';\nimport { AspectData, Component, ComponentMap, IComponent } from '@teambit/component';\nimport { ScopeAspect, ScopeMain } from '@teambit/scope';\nimport { DevFilesAspect, DevFilesMain } from '@teambit/dev-files';\nimport { EnvsAspect, EnvsMain } from '@teambit/envs';\nimport { GraphqlAspect, GraphqlMain } from '@teambit/graphql';\nimport { ComponentLoadOptions } from '@teambit/legacy.consumer-component';\nimport { AbstractVinyl } from '@teambit/component.sources';\nimport { PreviewAspect, PreviewMain } from '@teambit/preview';\nimport { SchemaAspect, SchemaMain } from '@teambit/schema';\nimport { matchPatterns, splitPatterns } from '@teambit/toolbox.path.match-patterns';\nimport { Workspace, WorkspaceAspect } from '@teambit/workspace';\nimport { join } from 'path';\nimport { Composition } from './composition';\nimport { CompositionsAspect } from './compositions.aspect';\nimport { compositionsSchema } from './compositions.graphql';\nimport { CompositionPreviewDefinition } from './compositions.preview-definition';\n\nexport type CompositionsConfig = {\n /**\n * glob pattern to detect composition files. This includes all related files, like styles and jsons.\n * @example ['/*.composition?(s).*']\n */\n compositionFilePattern: string[];\n /**\n * glob pattern to select Preview files. this will only include files matched by compositionFilePattern.\n * @example ['*.{t,j}s', '*.{t,j}sx']\n */\n compositionPreviewFilePattern: string[];\n};\n\n/**\n * the component documentation extension.\n */\nexport class CompositionsMain {\n constructor(\n /**\n * Glob pattern to select all composition files\n */\n private compositionFilePattern: string[],\n\n /**\n * Glob pattern to select composition preview files\n */\n private previewFilePattern: string[],\n\n /**\n * envs extension.\n */\n private preview: PreviewMain,\n\n /**\n * workspace extension.\n */\n private workspace: Workspace,\n\n /**\n * schema extension.\n */\n private schema: SchemaMain,\n\n private devFiles: DevFilesMain,\n\n private envs: EnvsMain\n ) {}\n\n /**\n * returns an array of doc file paths for a set of components.\n */\n getPreviewFiles(components: Component[]): ComponentMap<AbstractVinyl[]> {\n return ComponentMap.as<AbstractVinyl[]>(components, (component) => {\n // this includes non executables, like `button.compositions.module.scss` or `presets.compositions.json`\n const compositionFiles = component.state.filesystem.byGlob(this.compositionFilePattern);\n\n // select only relevant preview files (.tsx, etc)\n const previewFiles = new Set(\n component.state.filesystem.byGlob(this.previewFilePattern).map((file) => file.relative)\n );\n const files = compositionFiles.filter((file) => previewFiles.has(file.relative));\n\n return files;\n });\n }\n\n /**\n * checks if a file matches the composition file pattern.\n */\n isCompositionFile(filePath: string): boolean {\n const { includePatterns, excludePatterns } = splitPatterns(this.compositionFilePattern);\n return matchPatterns(filePath, includePatterns, excludePatterns);\n }\n\n /**\n * get component compositions.\n */\n getCompositions(component: IComponent): Composition[] {\n const entry = component.get(CompositionsAspect.id);\n if (!entry) return [];\n const compositions = entry.data.compositions;\n if (!compositions) return [];\n return Composition.fromArray(compositions);\n }\n\n /**\n * read composition from the component source code.\n */\n readCompositions(component: Component): Composition[] {\n const maybeFiles = this.getPreviewFiles([component]).byComponent(component);\n\n if (!maybeFiles) return [];\n const [, files] = maybeFiles;\n return files.map((file) => this.computeCompositions(component, file)).flat();\n }\n\n getCompositionFilePattern() {\n return this.compositionFilePattern;\n }\n\n getComponentDevPatterns(component: Component) {\n const env = this.envs.calculateEnv(component, { skipWarnings: !!this.workspace?.inInstallContext }).env;\n const componentEnvCompositionsDevPatterns: string[] = env.getCompositionsDevPatterns\n ? env.getCompositionsDevPatterns(component)\n : [];\n const componentPatterns = componentEnvCompositionsDevPatterns.concat(this.getCompositionFilePattern());\n return { name: 'compositions', pattern: componentPatterns };\n }\n\n getDevPatternToRegister() {\n return this.getComponentDevPatterns.bind(this);\n }\n\n async onComponentLoad(component: Component, loadOpts?: ComponentLoadOptions): Promise<AspectData | undefined> {\n if (loadOpts?.loadCompositions === false) return undefined;\n const compositions = this.readCompositions(component);\n return {\n compositions: compositions.map((composition) => composition.toObject()),\n };\n }\n\n private computeCompositions(component: Component, file: AbstractVinyl): Composition[] {\n // :TODO hacked for a specific file extension now until david will take care in the compiler.\n const pathArray = file.path.split('.');\n pathArray[pathArray.length - 1] = 'js';\n\n const modulePath = this.workspace ? join(this.workspace.componentDir(component.id), file.relative) : file.relative;\n const exports = this.schema.parseModule(modulePath, file.contents.toString());\n return exports.map((exportModel) => {\n const displayName = exportModel.staticProperties?.get('compositionName');\n\n return new Composition(\n exportModel.identifier,\n file.relative,\n typeof displayName === 'string' ? displayName : undefined\n );\n });\n }\n\n static defaultConfig: CompositionsConfig = {\n compositionFilePattern: ['**/*.composition?(s).*'],\n compositionPreviewFilePattern: ['**/*.{t,j}s?(x)'],\n };\n\n static runtime = MainRuntime;\n static dependencies = [\n PreviewAspect,\n GraphqlAspect,\n WorkspaceAspect,\n SchemaAspect,\n DevFilesAspect,\n EnvsAspect,\n ScopeAspect,\n ];\n\n static async provider(\n [preview, graphql, workspace, schema, devFiles, envs, scope]: [\n PreviewMain,\n GraphqlMain,\n Workspace,\n SchemaMain,\n DevFilesMain,\n EnvsMain,\n ScopeMain,\n ],\n config: CompositionsConfig\n ) {\n const compositions = new CompositionsMain(\n config.compositionFilePattern,\n config.compositionPreviewFilePattern,\n preview,\n workspace,\n schema,\n devFiles,\n envs\n );\n\n // TODO: use the docs implementation to allow component specific pattern\n devFiles.registerDevPattern(compositions.getDevPatternToRegister());\n\n graphql.register(() => compositionsSchema(compositions));\n preview.registerDefinition(new CompositionPreviewDefinition(compositions));\n\n if (workspace) {\n workspace.registerOnComponentLoad(compositions.onComponentLoad.bind(compositions));\n }\n if (scope) {\n scope.registerOnCompAspectReCalc(compositions.onComponentLoad.bind(compositions));\n }\n\n return compositions;\n }\n}\n\nCompositionsAspect.addRuntime(CompositionsMain);\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_cli","data","require","_component","_scope","_devFiles","_envs","_graphql","_preview","_schema","_toolboxPath","_workspace","_path","_composition","_compositions","_compositions2","_compositions3","_defineProperty","e","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","CompositionsMain","constructor","compositionFilePattern","previewFilePattern","preview","workspace","schema","devFiles","envs","getPreviewFiles","components","ComponentMap","as","component","compositionFiles","state","filesystem","byGlob","previewFiles","Set","map","file","relative","files","filter","has","isCompositionFile","filePath","includePatterns","excludePatterns","splitPatterns","matchPatterns","getCompositions","entry","get","CompositionsAspect","id","compositions","Composition","fromArray","readCompositions","maybeFiles","byComponent","computeCompositions","flat","getCompositionFilePattern","getComponentDevPatterns","env","calculateEnv","skipWarnings","inInstallContext","componentEnvCompositionsDevPatterns","getCompositionsDevPatterns","componentPatterns","concat","name","pattern","getDevPatternToRegister","bind","onComponentLoad","loadOpts","loadCompositions","undefined","composition","toObject","pathArray","path","split","length","modulePath","join","componentDir","exports","parseModule","contents","toString","exportModel","displayName","staticProperties","identifier","provider","graphql","scope","config","compositionPreviewFilePattern","registerDevPattern","register","compositionsSchema","registerDefinition","CompositionPreviewDefinition","registerOnComponentLoad","registerOnCompAspectReCalc","MainRuntime","PreviewAspect","GraphqlAspect","WorkspaceAspect","SchemaAspect","DevFilesAspect","EnvsAspect","ScopeAspect","addRuntime"],"sources":["compositions.main.runtime.ts"],"sourcesContent":["import { MainRuntime } from '@teambit/cli';\nimport type { AspectData, Component, IComponent } from '@teambit/component';\nimport { ComponentMap } from '@teambit/component';\nimport type { ScopeMain } from '@teambit/scope';\nimport { ScopeAspect } from '@teambit/scope';\nimport type { DevFilesMain } from '@teambit/dev-files';\nimport { DevFilesAspect } from '@teambit/dev-files';\nimport type { EnvsMain } from '@teambit/envs';\nimport { EnvsAspect } from '@teambit/envs';\nimport type { GraphqlMain } from '@teambit/graphql';\nimport { GraphqlAspect } from '@teambit/graphql';\nimport type { ComponentLoadOptions } from '@teambit/legacy.consumer-component';\nimport type { AbstractVinyl } from '@teambit/component.sources';\nimport type { PreviewMain } from '@teambit/preview';\nimport { PreviewAspect } from '@teambit/preview';\nimport type { SchemaMain } from '@teambit/schema';\nimport { SchemaAspect } from '@teambit/schema';\nimport { matchPatterns, splitPatterns } from '@teambit/toolbox.path.match-patterns';\nimport type { Workspace } from '@teambit/workspace';\nimport { WorkspaceAspect } from '@teambit/workspace';\nimport { join } from 'path';\nimport { Composition } from './composition';\nimport { CompositionsAspect } from './compositions.aspect';\nimport { compositionsSchema } from './compositions.graphql';\nimport { CompositionPreviewDefinition } from './compositions.preview-definition';\n\nexport type CompositionsConfig = {\n /**\n * glob pattern to detect composition files. This includes all related files, like styles and jsons.\n * @example ['/*.composition?(s).*']\n */\n compositionFilePattern: string[];\n /**\n * glob pattern to select Preview files. this will only include files matched by compositionFilePattern.\n * @example ['*.{t,j}s', '*.{t,j}sx']\n */\n compositionPreviewFilePattern: string[];\n};\n\n/**\n * the component documentation extension.\n */\nexport class CompositionsMain {\n constructor(\n /**\n * Glob pattern to select all composition files\n */\n private compositionFilePattern: string[],\n\n /**\n * Glob pattern to select composition preview files\n */\n private previewFilePattern: string[],\n\n /**\n * envs extension.\n */\n private preview: PreviewMain,\n\n /**\n * workspace extension.\n */\n private workspace: Workspace,\n\n /**\n * schema extension.\n */\n private schema: SchemaMain,\n\n private devFiles: DevFilesMain,\n\n private envs: EnvsMain\n ) {}\n\n /**\n * returns an array of doc file paths for a set of components.\n */\n getPreviewFiles(components: Component[]): ComponentMap<AbstractVinyl[]> {\n return ComponentMap.as<AbstractVinyl[]>(components, (component) => {\n // this includes non executables, like `button.compositions.module.scss` or `presets.compositions.json`\n const compositionFiles = component.state.filesystem.byGlob(this.compositionFilePattern);\n\n // select only relevant preview files (.tsx, etc)\n const previewFiles = new Set(\n component.state.filesystem.byGlob(this.previewFilePattern).map((file) => file.relative)\n );\n const files = compositionFiles.filter((file) => previewFiles.has(file.relative));\n\n return files;\n });\n }\n\n /**\n * checks if a file matches the composition file pattern.\n */\n isCompositionFile(filePath: string): boolean {\n const { includePatterns, excludePatterns } = splitPatterns(this.compositionFilePattern);\n return matchPatterns(filePath, includePatterns, excludePatterns);\n }\n\n /**\n * get component compositions.\n */\n getCompositions(component: IComponent): Composition[] {\n const entry = component.get(CompositionsAspect.id);\n if (!entry) return [];\n const compositions = entry.data.compositions;\n if (!compositions) return [];\n return Composition.fromArray(compositions);\n }\n\n /**\n * read composition from the component source code.\n */\n readCompositions(component: Component): Composition[] {\n const maybeFiles = this.getPreviewFiles([component]).byComponent(component);\n\n if (!maybeFiles) return [];\n const [, files] = maybeFiles;\n return files.map((file) => this.computeCompositions(component, file)).flat();\n }\n\n getCompositionFilePattern() {\n return this.compositionFilePattern;\n }\n\n getComponentDevPatterns(component: Component) {\n const env = this.envs.calculateEnv(component, { skipWarnings: !!this.workspace?.inInstallContext }).env;\n const componentEnvCompositionsDevPatterns: string[] = env.getCompositionsDevPatterns\n ? env.getCompositionsDevPatterns(component)\n : [];\n const componentPatterns = componentEnvCompositionsDevPatterns.concat(this.getCompositionFilePattern());\n return { name: 'compositions', pattern: componentPatterns };\n }\n\n getDevPatternToRegister() {\n return this.getComponentDevPatterns.bind(this);\n }\n\n async onComponentLoad(component: Component, loadOpts?: ComponentLoadOptions): Promise<AspectData | undefined> {\n if (loadOpts?.loadCompositions === false) return undefined;\n const compositions = this.readCompositions(component);\n return {\n compositions: compositions.map((composition) => composition.toObject()),\n };\n }\n\n private computeCompositions(component: Component, file: AbstractVinyl): Composition[] {\n // :TODO hacked for a specific file extension now until david will take care in the compiler.\n const pathArray = file.path.split('.');\n pathArray[pathArray.length - 1] = 'js';\n\n const modulePath = this.workspace ? join(this.workspace.componentDir(component.id), file.relative) : file.relative;\n const exports = this.schema.parseModule(modulePath, file.contents.toString());\n return exports.map((exportModel) => {\n const displayName = exportModel.staticProperties?.get('compositionName');\n\n return new Composition(\n exportModel.identifier,\n file.relative,\n typeof displayName === 'string' ? displayName : undefined\n );\n });\n }\n\n static defaultConfig: CompositionsConfig = {\n compositionFilePattern: ['**/*.composition?(s).*'],\n compositionPreviewFilePattern: ['**/*.{t,j}s?(x)'],\n };\n\n static runtime = MainRuntime;\n static dependencies = [\n PreviewAspect,\n GraphqlAspect,\n WorkspaceAspect,\n SchemaAspect,\n DevFilesAspect,\n EnvsAspect,\n ScopeAspect,\n ];\n\n static async provider(\n [preview, graphql, workspace, schema, devFiles, envs, scope]: [\n PreviewMain,\n GraphqlMain,\n Workspace,\n SchemaMain,\n DevFilesMain,\n EnvsMain,\n ScopeMain,\n ],\n config: CompositionsConfig\n ) {\n const compositions = new CompositionsMain(\n config.compositionFilePattern,\n config.compositionPreviewFilePattern,\n preview,\n workspace,\n schema,\n devFiles,\n envs\n );\n\n // TODO: use the docs implementation to allow component specific pattern\n devFiles.registerDevPattern(compositions.getDevPatternToRegister());\n\n graphql.register(() => compositionsSchema(compositions));\n preview.registerDefinition(new CompositionPreviewDefinition(compositions));\n\n if (workspace) {\n workspace.registerOnComponentLoad(compositions.onComponentLoad.bind(compositions));\n }\n if (scope) {\n scope.registerOnCompAspectReCalc(compositions.onComponentLoad.bind(compositions));\n }\n\n return compositions;\n }\n}\n\nCompositionsAspect.addRuntime(CompositionsMain);\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { Component, ComponentMap } from '@teambit/component';
|
|
1
|
+
import type { Component, ComponentMap } from '@teambit/component';
|
|
2
2
|
import type { ExecutionContext, Environment } from '@teambit/envs';
|
|
3
|
-
import { PreviewDefinition } from '@teambit/preview';
|
|
4
|
-
import { AbstractVinyl } from '@teambit/component.sources';
|
|
5
|
-
import { CompositionsMain } from './compositions.main.runtime';
|
|
6
|
-
import { CompositionBrowserMetadataObject } from './composition';
|
|
3
|
+
import type { PreviewDefinition } from '@teambit/preview';
|
|
4
|
+
import type { AbstractVinyl } from '@teambit/component.sources';
|
|
5
|
+
import type { CompositionsMain } from './compositions.main.runtime';
|
|
6
|
+
import type { CompositionBrowserMetadataObject } from './composition';
|
|
7
7
|
export declare class CompositionPreviewDefinition implements PreviewDefinition {
|
|
8
8
|
private compositions;
|
|
9
9
|
readonly prefix = "compositions";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_lodash","data","require","_defineProperty","e","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","CompositionPreviewDefinition","constructor","compositions","renderTemplatePath","context","renderTemplatePathByEnv","env","getMounter","isFunction","undefined","getModuleMap","components","map","getPreviewFiles","getMetadata","component","getCompositions","composition","displayName","identifier","exports"],"sources":["compositions.preview-definition.ts"],"sourcesContent":["import { Component, ComponentMap } from '@teambit/component';\nimport type { ExecutionContext, Environment } from '@teambit/envs';\nimport { PreviewDefinition } from '@teambit/preview';\nimport { isFunction } from 'lodash';\nimport { AbstractVinyl } from '@teambit/component.sources';\n\nimport { CompositionsMain } from './compositions.main.runtime';\nimport { CompositionBrowserMetadataObject } from './composition';\n\nexport class CompositionPreviewDefinition implements PreviewDefinition {\n readonly prefix = 'compositions';\n readonly includePeers = true;\n\n constructor(private compositions: CompositionsMain) {}\n\n async renderTemplatePath(context: ExecutionContext): Promise<string | undefined> {\n return this.renderTemplatePathByEnv(context.env);\n }\n\n async renderTemplatePathByEnv(env: Environment): Promise<string | undefined> {\n if (env.getMounter && isFunction(env.getMounter)) {\n return env.getMounter();\n }\n return undefined;\n }\n\n async getModuleMap(components: Component[]): Promise<ComponentMap<AbstractVinyl[]>> {\n const map = this.compositions.getPreviewFiles(components);\n return map;\n }\n\n async getMetadata(component: Component): Promise<CompositionBrowserMetadataObject> {\n const compositions = this.compositions\n .getCompositions(component)\n .map((composition) => ({ displayName: composition.displayName, identifier: composition.identifier }));\n return {\n compositions,\n };\n }\n}\n"],"mappings":";;;;;;AAGA,SAAAA,QAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,OAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAoC,SAAAE,gBAAAC,CAAA,EAAAC,CAAA,EAAAC,CAAA,YAAAD,CAAA,GAAAE,cAAA,CAAAF,CAAA,MAAAD,CAAA,GAAAI,MAAA,CAAAC,cAAA,CAAAL,CAAA,EAAAC,CAAA,IAAAK,KAAA,EAAAJ,CAAA,EAAAK,UAAA,MAAAC,YAAA,MAAAC,QAAA,UAAAT,CAAA,CAAAC,CAAA,IAAAC,CAAA,EAAAF,CAAA;AAAA,SAAAG,eAAAD,CAAA,QAAAQ,CAAA,GAAAC,YAAA,CAAAT,CAAA,uCAAAQ,CAAA,GAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAC,aAAAT,CAAA,EAAAD,CAAA,2BAAAC,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAF,CAAA,GAAAE,CAAA,CAAAU,MAAA,CAAAC,WAAA,kBAAAb,CAAA,QAAAU,CAAA,GAAAV,CAAA,CAAAc,IAAA,CAAAZ,CAAA,EAAAD,CAAA,uCAAAS,CAAA,SAAAA,CAAA,YAAAK,SAAA,yEAAAd,CAAA,GAAAe,MAAA,GAAAC,MAAA,EAAAf,CAAA;AAM7B,MAAMgB,4BAA4B,CAA8B;EAIrEC,WAAWA,CAASC,YAA8B,EAAE;IAAA,KAAhCA,YAA8B,GAA9BA,YAA8B;IAAArB,eAAA,iBAHhC,cAAc;IAAAA,eAAA,uBACR,IAAI;EAEyB;EAErD,MAAMsB,kBAAkBA,CAACC,OAAyB,EAA+B;IAC/E,OAAO,IAAI,CAACC,uBAAuB,CAACD,OAAO,CAACE,GAAG,CAAC;EAClD;EAEA,MAAMD,uBAAuBA,CAACC,GAAgB,EAA+B;IAC3E,IAAIA,GAAG,CAACC,UAAU,IAAI,IAAAC,oBAAU,EAACF,GAAG,CAACC,UAAU,CAAC,EAAE;MAChD,OAAOD,GAAG,CAACC,UAAU,CAAC,CAAC;IACzB;IACA,OAAOE,SAAS;EAClB;EAEA,MAAMC,YAAYA,CAACC,UAAuB,EAA0C;IAClF,MAAMC,GAAG,GAAG,IAAI,CAACV,YAAY,CAACW,eAAe,CAACF,UAAU,CAAC;IACzD,OAAOC,GAAG;EACZ;EAEA,MAAME,WAAWA,CAACC,SAAoB,EAA6C;IACjF,MAAMb,YAAY,GAAG,IAAI,CAACA,YAAY,CACnCc,eAAe,CAACD,SAAS,CAAC,CAC1BH,GAAG,CAAEK,WAAW,KAAM;MAAEC,WAAW,EAAED,WAAW,CAACC,WAAW;MAAEC,UAAU,EAAEF,WAAW,CAACE;IAAW,CAAC,CAAC,CAAC;IACvG,OAAO;MACLjB;IACF,CAAC;EACH;AACF;AAACkB,OAAA,CAAApB,4BAAA,GAAAA,4BAAA","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_lodash","data","require","_defineProperty","e","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","CompositionPreviewDefinition","constructor","compositions","renderTemplatePath","context","renderTemplatePathByEnv","env","getMounter","isFunction","undefined","getModuleMap","components","map","getPreviewFiles","getMetadata","component","getCompositions","composition","displayName","identifier","exports"],"sources":["compositions.preview-definition.ts"],"sourcesContent":["import type { Component, ComponentMap } from '@teambit/component';\nimport type { ExecutionContext, Environment } from '@teambit/envs';\nimport type { PreviewDefinition } from '@teambit/preview';\nimport { isFunction } from 'lodash';\nimport type { AbstractVinyl } from '@teambit/component.sources';\n\nimport type { CompositionsMain } from './compositions.main.runtime';\nimport type { CompositionBrowserMetadataObject } from './composition';\n\nexport class CompositionPreviewDefinition implements PreviewDefinition {\n readonly prefix = 'compositions';\n readonly includePeers = true;\n\n constructor(private compositions: CompositionsMain) {}\n\n async renderTemplatePath(context: ExecutionContext): Promise<string | undefined> {\n return this.renderTemplatePathByEnv(context.env);\n }\n\n async renderTemplatePathByEnv(env: Environment): Promise<string | undefined> {\n if (env.getMounter && isFunction(env.getMounter)) {\n return env.getMounter();\n }\n return undefined;\n }\n\n async getModuleMap(components: Component[]): Promise<ComponentMap<AbstractVinyl[]>> {\n const map = this.compositions.getPreviewFiles(components);\n return map;\n }\n\n async getMetadata(component: Component): Promise<CompositionBrowserMetadataObject> {\n const compositions = this.compositions\n .getCompositions(component)\n .map((composition) => ({ displayName: composition.displayName, identifier: composition.identifier }));\n return {\n compositions,\n };\n }\n}\n"],"mappings":";;;;;;AAGA,SAAAA,QAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,OAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAoC,SAAAE,gBAAAC,CAAA,EAAAC,CAAA,EAAAC,CAAA,YAAAD,CAAA,GAAAE,cAAA,CAAAF,CAAA,MAAAD,CAAA,GAAAI,MAAA,CAAAC,cAAA,CAAAL,CAAA,EAAAC,CAAA,IAAAK,KAAA,EAAAJ,CAAA,EAAAK,UAAA,MAAAC,YAAA,MAAAC,QAAA,UAAAT,CAAA,CAAAC,CAAA,IAAAC,CAAA,EAAAF,CAAA;AAAA,SAAAG,eAAAD,CAAA,QAAAQ,CAAA,GAAAC,YAAA,CAAAT,CAAA,uCAAAQ,CAAA,GAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAC,aAAAT,CAAA,EAAAD,CAAA,2BAAAC,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAF,CAAA,GAAAE,CAAA,CAAAU,MAAA,CAAAC,WAAA,kBAAAb,CAAA,QAAAU,CAAA,GAAAV,CAAA,CAAAc,IAAA,CAAAZ,CAAA,EAAAD,CAAA,uCAAAS,CAAA,SAAAA,CAAA,YAAAK,SAAA,yEAAAd,CAAA,GAAAe,MAAA,GAAAC,MAAA,EAAAf,CAAA;AAM7B,MAAMgB,4BAA4B,CAA8B;EAIrEC,WAAWA,CAASC,YAA8B,EAAE;IAAA,KAAhCA,YAA8B,GAA9BA,YAA8B;IAAArB,eAAA,iBAHhC,cAAc;IAAAA,eAAA,uBACR,IAAI;EAEyB;EAErD,MAAMsB,kBAAkBA,CAACC,OAAyB,EAA+B;IAC/E,OAAO,IAAI,CAACC,uBAAuB,CAACD,OAAO,CAACE,GAAG,CAAC;EAClD;EAEA,MAAMD,uBAAuBA,CAACC,GAAgB,EAA+B;IAC3E,IAAIA,GAAG,CAACC,UAAU,IAAI,IAAAC,oBAAU,EAACF,GAAG,CAACC,UAAU,CAAC,EAAE;MAChD,OAAOD,GAAG,CAACC,UAAU,CAAC,CAAC;IACzB;IACA,OAAOE,SAAS;EAClB;EAEA,MAAMC,YAAYA,CAACC,UAAuB,EAA0C;IAClF,MAAMC,GAAG,GAAG,IAAI,CAACV,YAAY,CAACW,eAAe,CAACF,UAAU,CAAC;IACzD,OAAOC,GAAG;EACZ;EAEA,MAAME,WAAWA,CAACC,SAAoB,EAA6C;IACjF,MAAMb,YAAY,GAAG,IAAI,CAACA,YAAY,CACnCc,eAAe,CAACD,SAAS,CAAC,CAC1BH,GAAG,CAAEK,WAAW,KAAM;MAAEC,WAAW,EAAED,WAAW,CAACC,WAAW;MAAEC,UAAU,EAAEF,WAAW,CAACE;IAAW,CAAC,CAAC,CAAC;IACvG,OAAO;MACLjB;IACF,CAAC;EACH;AACF;AAACkB,OAAA,CAAApB,4BAAA,GAAAA,4BAAA","ignoreList":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { ComponentID } from '@teambit/component-id';
|
|
2
|
-
import { PreviewPreview, RenderingContext, PreviewModule } from '@teambit/preview';
|
|
3
|
-
import { CompositionBrowserMetadataObject } from './composition';
|
|
1
|
+
import type { ComponentID } from '@teambit/component-id';
|
|
2
|
+
import type { PreviewPreview, RenderingContext, PreviewModule } from '@teambit/preview';
|
|
3
|
+
import type { CompositionBrowserMetadataObject } from './composition';
|
|
4
4
|
export declare class CompositionsPreview {
|
|
5
5
|
/**
|
|
6
6
|
* preview extension.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_preview","data","require","_lodash","_interopRequireDefault","_compositions","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","CompositionsPreview","constructor","preview","render","componentId","envId","modules","otherPreviewDefs","context","componentMap","fullName","compositions","selectPreviewModel","metadata","getMetadata","active","getActiveComposition","mainModule","modulesMap","defaultExports","componentFullName","previewModule","files","combined","assign","componentMapMetadata","undefined","module","firstQueryParam","window","location","hash","split","query","getQuery","compositionId","getParam","first","head","firstId","identifier","values","provider","compPreview","registerPreview","name","bind","exports","PreviewRuntime","PreviewAspect","CompositionsAspect","addRuntime"],"sources":["compositions.preview.runtime.ts"],"sourcesContent":["import { ComponentID } from '@teambit/component-id';\nimport {
|
|
1
|
+
{"version":3,"names":["_preview","data","require","_lodash","_interopRequireDefault","_compositions","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","CompositionsPreview","constructor","preview","render","componentId","envId","modules","otherPreviewDefs","context","componentMap","fullName","compositions","selectPreviewModel","metadata","getMetadata","active","getActiveComposition","mainModule","modulesMap","defaultExports","componentFullName","previewModule","files","combined","assign","componentMapMetadata","undefined","module","firstQueryParam","window","location","hash","split","query","getQuery","compositionId","getParam","first","head","firstId","identifier","values","provider","compPreview","registerPreview","name","bind","exports","PreviewRuntime","PreviewAspect","CompositionsAspect","addRuntime"],"sources":["compositions.preview.runtime.ts"],"sourcesContent":["import type { ComponentID } from '@teambit/component-id';\nimport type { PreviewPreview, RenderingContext, PreviewModule, ModuleFile } from '@teambit/preview';\nimport { PreviewAspect, PreviewRuntime } from '@teambit/preview';\nimport head from 'lodash.head';\nimport type { CompositionBrowserMetadataObject } from './composition';\n\nimport { CompositionsAspect } from './compositions.aspect';\n\nexport class CompositionsPreview {\n constructor(\n /**\n * preview extension.\n */\n private preview: PreviewPreview\n ) {}\n\n render(componentId: ComponentID, envId: string, modules: PreviewModule, otherPreviewDefs, context: RenderingContext) {\n if (!modules.componentMap[componentId.fullName]) return;\n\n const compositions = this.selectPreviewModel(componentId.fullName, modules);\n const metadata = this.getMetadata(componentId.fullName, modules);\n const active = this.getActiveComposition(compositions, metadata);\n\n const mainModule = modules.modulesMap[envId] || modules.modulesMap.default;\n let defaultExports = mainModule.default;\n // Sometime when using ESM (package.json with type:\"module\") the default export is nested under \"default\"\n if (typeof defaultExports !== 'function' && defaultExports.default) {\n defaultExports = defaultExports.default;\n }\n\n // @ts-ignore Gilad - to fix.\n defaultExports(active, context);\n }\n\n /** gets relevant information for this preview to render */\n selectPreviewModel(componentFullName: string, previewModule: PreviewModule) {\n const files = previewModule.componentMap[componentFullName] || [];\n\n // allow compositions to come from many files. It is assumed they will have unique named\n const combined = Object.assign({}, ...files);\n return combined;\n }\n\n getMetadata(componentFullName: string, previewModule: PreviewModule): CompositionBrowserMetadataObject | undefined {\n const metadata = previewModule?.componentMapMetadata\n ? previewModule.componentMapMetadata[componentFullName]\n : undefined;\n if (metadata) {\n return metadata as CompositionBrowserMetadataObject;\n }\n return undefined;\n }\n\n private getActiveComposition(module: ModuleFile, metadata?: CompositionBrowserMetadataObject) {\n const firstQueryParam = window.location.hash.split('&')[1];\n const query = this.preview.getQuery();\n const compositionId = this.preview.getParam(query, 'name') || firstQueryParam;\n\n if (compositionId && module[compositionId]) {\n return module[compositionId];\n }\n\n if (metadata && metadata.compositions) {\n const first = head(metadata.compositions);\n const firstId = first?.identifier;\n if (firstId && module[firstId]) {\n return module[firstId];\n }\n }\n\n const first = head(Object.values(module));\n return first;\n }\n\n static runtime = PreviewRuntime;\n\n static dependencies = [PreviewAspect];\n\n static async provider([preview]: [PreviewPreview]) {\n const compPreview = new CompositionsPreview(preview);\n preview.registerPreview({\n name: 'compositions',\n render: compPreview.render.bind(compPreview),\n selectPreviewModel: compPreview.selectPreviewModel.bind(compPreview),\n default: true,\n });\n\n return compPreview;\n }\n}\n\nCompositionsAspect.addRuntime(CompositionsPreview);\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import type { ReactNode } from 'react';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import { MenuBarWidget } from './compositions';
|
|
1
|
+
import type { ReactNode, ComponentType } from 'react';
|
|
2
|
+
import type { SlotRegistry } from '@teambit/harmony';
|
|
3
|
+
import type { ComponentUI } from '@teambit/component';
|
|
4
|
+
import type { ComponentCompareUI } from '@teambit/component-compare';
|
|
5
|
+
import type { UseSandboxPermission } from '@teambit/preview.ui.component-preview';
|
|
6
|
+
import type { MenuBarWidget } from './compositions';
|
|
8
7
|
export type CompositionsMenuSlot = SlotRegistry<MenuBarWidget[]>;
|
|
9
8
|
export type EmptyStateSlot = SlotRegistry<ComponentType>;
|
|
10
9
|
export type UsePreviewSandboxSlot = SlotRegistry<UseSandboxPermission>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","data","_interopRequireDefault","require","_harmony","_component","_ui","_compositionsUi","_compositionsUi2","_componentCompare","_composition","_compositions","_compositions2","e","__esModule","default","_extends","Object","assign","bind","n","arguments","length","t","r","hasOwnProperty","call","apply","_defineProperty","_toPropertyKey","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","CompositionsUI","constructor","menuBarWidgetSlot","emptyStateSlot","usePreviewSandboxSlot","createElement","CompositionCompare","emptyState","PreviewView","compositionProps","CompositionContent","fullContentHeight","forceHeight","registerEmptyState","emptyStateComponent","register","registerMenuWidget","widget","registerPreviewSandbox","useSandboxPermission","provider","component","componentCompare","config","compositionMenuSlot","compositions","section","CompositionsSection","compositionCompare","CompositionCompareSection","registerRoute","route","registerNavigation","navigationLink","order","registerRoutes","manager","componentModel","host","add","exports","ComponentAspect","ComponentCompareAspect","UIRuntime","Slot","withType","_default","CompositionsAspect","addRuntime"],"sources":["compositions.ui.runtime.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\nimport React
|
|
1
|
+
{"version":3,"names":["_react","data","_interopRequireDefault","require","_harmony","_component","_ui","_compositionsUi","_compositionsUi2","_componentCompare","_composition","_compositions","_compositions2","e","__esModule","default","_extends","Object","assign","bind","n","arguments","length","t","r","hasOwnProperty","call","apply","_defineProperty","_toPropertyKey","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","CompositionsUI","constructor","menuBarWidgetSlot","emptyStateSlot","usePreviewSandboxSlot","createElement","CompositionCompare","emptyState","PreviewView","compositionProps","CompositionContent","fullContentHeight","forceHeight","registerEmptyState","emptyStateComponent","register","registerMenuWidget","widget","registerPreviewSandbox","useSandboxPermission","provider","component","componentCompare","config","compositionMenuSlot","compositions","section","CompositionsSection","compositionCompare","CompositionCompareSection","registerRoute","route","registerNavigation","navigationLink","order","registerRoutes","manager","componentModel","host","add","exports","ComponentAspect","ComponentCompareAspect","UIRuntime","Slot","withType","_default","CompositionsAspect","addRuntime"],"sources":["compositions.ui.runtime.tsx"],"sourcesContent":["import type { ReactNode, ComponentType } from 'react';\nimport React from 'react';\nimport type { SlotRegistry } from '@teambit/harmony';\nimport { Slot } from '@teambit/harmony';\nimport type { ComponentUI } from '@teambit/component';\nimport { ComponentAspect } from '@teambit/component';\nimport { UIRuntime } from '@teambit/ui';\nimport { CompositionCompareSection } from '@teambit/compositions.ui.composition-compare-section';\nimport { CompositionCompare } from '@teambit/compositions.ui.composition-compare';\nimport type { ComponentCompareUI } from '@teambit/component-compare';\nimport { ComponentCompareAspect } from '@teambit/component-compare';\nimport type { UseSandboxPermission } from '@teambit/preview.ui.component-preview';\nimport { CompositionsSection } from './composition.section';\nimport { CompositionsAspect } from './compositions.aspect';\nimport type { MenuBarWidget } from './compositions';\nimport { CompositionContent } from './compositions';\n\nexport type CompositionsMenuSlot = SlotRegistry<MenuBarWidget[]>;\nexport type EmptyStateSlot = SlotRegistry<ComponentType>;\nexport type UsePreviewSandboxSlot = SlotRegistry<UseSandboxPermission>;\n\nexport class CompositionsUI {\n constructor(\n private menuBarWidgetSlot: CompositionsMenuSlot,\n private emptyStateSlot: EmptyStateSlot,\n private usePreviewSandboxSlot: UsePreviewSandboxSlot\n ) {}\n /**\n * register a new tester empty state. this allows to register a different empty state from each environment for example.\n */\n registerEmptyState(emptyStateComponent: ComponentType) {\n this.emptyStateSlot.register(emptyStateComponent);\n return this;\n }\n\n registerMenuWidget(...widget: MenuBarWidget[]) {\n this.menuBarWidgetSlot.register(widget);\n }\n\n registerPreviewSandbox(useSandboxPermission: UseSandboxPermission) {\n this.usePreviewSandboxSlot.register(useSandboxPermission);\n }\n\n getCompositionsCompare = () => {\n return (\n <CompositionCompare\n emptyState={this.emptyStateSlot}\n PreviewView={(compositionProps) => {\n return <CompositionContent {...compositionProps} fullContentHeight forceHeight={'100%'} />;\n }}\n />\n );\n };\n\n static dependencies = [ComponentAspect, ComponentCompareAspect];\n static runtime = UIRuntime;\n static slots = [Slot.withType<ReactNode>(), Slot.withType<ComponentType>(), Slot.withType<UseSandboxPermission>()];\n\n static async provider(\n [component, componentCompare]: [ComponentUI, ComponentCompareUI],\n config: {},\n [compositionMenuSlot, emptyStateSlot, usePreviewSandboxSlot]: [\n CompositionsMenuSlot,\n EmptyStateSlot,\n UsePreviewSandboxSlot,\n ]\n ) {\n const compositions = new CompositionsUI(compositionMenuSlot, emptyStateSlot, usePreviewSandboxSlot);\n const section = new CompositionsSection(\n compositions,\n { menuBarWidgetSlot: compositions.menuBarWidgetSlot },\n emptyStateSlot,\n usePreviewSandboxSlot\n );\n const compositionCompare = new CompositionCompareSection(compositions);\n component.registerRoute(section.route);\n component.registerNavigation(section.navigationLink, section.order);\n componentCompare.registerNavigation(compositionCompare);\n componentCompare.registerRoutes([compositionCompare.route]);\n compositions.registerPreviewSandbox((manager, componentModel) => {\n if (componentModel?.host === 'teambit.scope/scope') {\n manager.add('allow-scripts');\n manager.add('allow-same-origin');\n }\n });\n return compositions;\n }\n}\n\nexport default CompositionsUI;\n\nCompositionsAspect.addRuntime(CompositionsUI);\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.compositions_compositions@1.0.
|
|
2
|
-
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.compositions_compositions@1.0.
|
|
1
|
+
import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.compositions_compositions@1.0.669/dist/compositions.composition.js';
|
|
2
|
+
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.compositions_compositions@1.0.669/dist/compositions.docs.mdx';
|
|
3
3
|
|
|
4
4
|
export const compositions = [compositions_0];
|
|
5
5
|
export const overview = [overview_0];
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { ComponentPreviewProps } from '@teambit/preview.ui.component-preview';
|
|
2
|
-
import { Composition } from '../composition';
|
|
1
|
+
import type { ComponentPreviewProps } from '@teambit/preview.ui.component-preview';
|
|
2
|
+
import type { Composition } from '../composition';
|
|
3
3
|
export type ComponentCompositionProps = {
|
|
4
4
|
/**
|
|
5
5
|
* composition to use for component rendering.
|