@teambit/docs 1.0.1080 → 1.0.1081
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/dist/docs-compare-contain.module.scss +25 -0
- package/dist/docs.ui.runtime.js +27 -0
- package/dist/docs.ui.runtime.js.map +1 -1
- package/dist/overview/overview.js +0 -1
- package/dist/overview/overview.js.map +1 -1
- package/dist/{preview-1785267101230.js → preview-1785278532531.js} +2 -2
- package/docs-compare-contain.module.scss +25 -0
- package/docs.ui.runtime.tsx +19 -0
- package/overview/overview.tsx +0 -1
- package/package.json +24 -24
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
// Width containment for the inline-docs compare tab. OverviewCompare renders base/compare docs side by
|
|
2
|
+
// side via the external `compare-split-layout-preset`, whose two panes are `flex: 1` with no
|
|
3
|
+
// `min-width: 0` — so each grows to its (often very wide) docs content instead of sharing the width, and
|
|
4
|
+
// the pair overflows the pane/page.
|
|
5
|
+
.contain {
|
|
6
|
+
// Hard-cap the width to the pane regardless of any ancestor flex item lacking min-width:0 — a grid
|
|
7
|
+
// item cannot exceed its track. `height: 100%` + `minmax(0,1fr)` rows keep OverviewCompare's
|
|
8
|
+
// full-height layout (`.subView { height: 100% }`) intact.
|
|
9
|
+
display: grid;
|
|
10
|
+
grid-template-columns: minmax(0, 1fr);
|
|
11
|
+
grid-template-rows: minmax(0, 1fr);
|
|
12
|
+
height: 100%;
|
|
13
|
+
min-width: 0;
|
|
14
|
+
min-height: 0;
|
|
15
|
+
|
|
16
|
+
// Force the split panes shrinkable so they share the width (~50% each) instead of each spanning the
|
|
17
|
+
// full content width. Targeted by the preset's (and OverviewCompare's own) stable module-class prefix,
|
|
18
|
+
// so it only touches the two side-by-side panes — not arbitrary descendants. Once a pane is
|
|
19
|
+
// width-constrained, OverviewCompare's own `.subView { overflow: auto }` scrolls any wide content
|
|
20
|
+
// inside it rather than pushing the layout wider.
|
|
21
|
+
:global([class*='subContainerLeft']),
|
|
22
|
+
:global([class*='subContainerRight']) {
|
|
23
|
+
min-width: 0;
|
|
24
|
+
}
|
|
25
|
+
}
|
package/dist/docs.ui.runtime.js
CHANGED
|
@@ -74,6 +74,13 @@ function _docs() {
|
|
|
74
74
|
};
|
|
75
75
|
return data;
|
|
76
76
|
}
|
|
77
|
+
function _docsCompareContainModule() {
|
|
78
|
+
const data = _interopRequireDefault(require("./docs-compare-contain.module.scss"));
|
|
79
|
+
_docsCompareContainModule = function () {
|
|
80
|
+
return data;
|
|
81
|
+
};
|
|
82
|
+
return data;
|
|
83
|
+
}
|
|
77
84
|
function _overview() {
|
|
78
85
|
const data = require("./overview.section");
|
|
79
86
|
_overview = function () {
|
|
@@ -144,6 +151,26 @@ class DocsUI {
|
|
|
144
151
|
component.registerNavigation(section.navigationLink, section.order);
|
|
145
152
|
componentCompare.registerNavigation(compareSection);
|
|
146
153
|
componentCompare.registerRoutes([compareSection.route]);
|
|
154
|
+
// Register the inline docs tab on component-compare (canonical owner; shared by the single
|
|
155
|
+
// component-compare page and lane-compare). `docs.getDocsCompare()` returns
|
|
156
|
+
// `<OverviewCompare titleBadges={this.titleBadgeSlot} overviewOptions={this.overviewOptionsSlot} />`,
|
|
157
|
+
// so any other aspect that registers title badges or overview options sees those contributions
|
|
158
|
+
// in the inline-docs panel too.
|
|
159
|
+
componentCompare.registerCompareTab({
|
|
160
|
+
id: 'inline-docs',
|
|
161
|
+
order: 3,
|
|
162
|
+
displayName: 'Docs',
|
|
163
|
+
// OverviewCompare renders base/compare docs side by side via the external split-layout preset,
|
|
164
|
+
// whose panes are `flex: 1` without `min-width: 0`, so each spans its full (wide) content and the
|
|
165
|
+
// pair overflows. `docsCompareContainStyles.contain` hard-caps the width and forces the two panes
|
|
166
|
+
// to share it (see the scss for details) — external component, so we target its panes by class.
|
|
167
|
+
element: /*#__PURE__*/_react().default.createElement("div", {
|
|
168
|
+
className: _docsCompareContainModule().default.contain
|
|
169
|
+
}, docs.getDocsCompare()),
|
|
170
|
+
// lazy: OverviewCompare mounts base+compare docs iframes, each loading the full env overview
|
|
171
|
+
// bundle on mount (even under `display: none`) — deferred until the panel is actually visible.
|
|
172
|
+
lazy: true
|
|
173
|
+
});
|
|
147
174
|
docs.registerPreviewSandbox((manager, componentModel) => {
|
|
148
175
|
if (componentModel?.host === 'teambit.scope/scope') {
|
|
149
176
|
manager.add('allow-scripts');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","data","_interopRequireDefault","require","_lodash","_component","_harmony","_ui","_componentCompare","_docsUi","_docsUi2","_apiReference","_docs","_overview","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","DocsUI","constructor","titleBadgeSlot","overviewOptionsSlot","usePreviewSandboxSlot","usePreviewPropsSlot","registerTitleBadge","titleBadges","badges","Array","isArray","register","listTitleBadges","flatten","values","registerEmptyState","emptyState","_emptyState","registerPreviewSandbox","useSandboxPermission","registerPreviewProps","usePreviewProps","getEmptyState","getDocsCompare","createElement","OverviewCompare","overviewOptions","registerOverviewOptions","options","provider","component","componentCompare","apiRef","config","docs","section","OverviewSection","compareSection","OverviewCompareSection","registerRoute","route","registerNavigation","navigationLink","order","registerRoutes","manager","componentModel","host","add","set","exports","ComponentAspect","ComponentCompareAspect","APIReferenceAspect","UIRuntime","Slot","withType","_default","DocsAspect","addRuntime"],"sources":["docs.ui.runtime.tsx"],"sourcesContent":["import type { ComponentType } from 'react';\nimport React from 'react';\nimport { flatten } from 'lodash';\nimport type { ComponentUI } from '@teambit/component';\nimport { ComponentAspect } from '@teambit/component';\nimport type { SlotRegistry } from '@teambit/harmony';\nimport { Slot } from '@teambit/harmony';\nimport { UIRuntime } from '@teambit/ui';\nimport type { ComponentCompareUI } from '@teambit/component-compare';\nimport { ComponentCompareAspect } from '@teambit/component-compare';\nimport { OverviewCompare } from '@teambit/docs.ui.overview-compare';\nimport { OverviewCompareSection } from '@teambit/docs.ui.overview-compare-section';\nimport type { UsePreviewProps, UseSandboxPermission } from '@teambit/preview.ui.component-preview';\nimport type { APIReferenceUI } from '@teambit/api-reference';\nimport { APIReferenceAspect } from '@teambit/api-reference';\nimport { DocsAspect } from './docs.aspect';\nimport { OverviewSection } from './overview.section';\nimport type { TitleBadgeSlot, TitleBadge, OverviewOptionsSlot, OverviewOptions } from './overview';\n\nexport type UsePreviewSandboxSlot = SlotRegistry<UseSandboxPermission>;\nexport type UsePreviewPropsSlot = SlotRegistry<UsePreviewProps>;\n\nexport class DocsUI {\n constructor(\n readonly titleBadgeSlot: TitleBadgeSlot,\n readonly overviewOptionsSlot: OverviewOptionsSlot,\n private usePreviewSandboxSlot: UsePreviewSandboxSlot,\n private usePreviewPropsSlot: UsePreviewPropsSlot\n ) {}\n\n /**\n * register a new title badge into the overview section of a component.\n */\n registerTitleBadge(titleBadges: TitleBadge | TitleBadge[]) {\n const badges = Array.isArray(titleBadges) ? titleBadges : [titleBadges];\n this.titleBadgeSlot.register(badges);\n return this;\n }\n\n /**\n * list all title badges registered.\n */\n listTitleBadges() {\n return flatten(this.titleBadgeSlot.values());\n }\n\n private _emptyState?: ComponentType;\n\n registerEmptyState(emptyState: ComponentType) {\n return (this._emptyState = emptyState);\n }\n\n registerPreviewSandbox(useSandboxPermission: UseSandboxPermission) {\n this.usePreviewSandboxSlot.register(useSandboxPermission);\n }\n\n /**\n * register a per-component resolver for iframe attributes on the overview preview\n * (`allow`, `referrerPolicy`, ...). The resolver runs at render time with the current\n * `ComponentModel`; results from multiple resolvers merge with later keys winning.\n */\n registerPreviewProps(usePreviewProps: UsePreviewProps) {\n this.usePreviewPropsSlot.register(usePreviewProps);\n }\n\n getEmptyState() {\n return this._emptyState;\n }\n\n getDocsCompare() {\n return <OverviewCompare titleBadges={this.titleBadgeSlot} overviewOptions={this.overviewOptionsSlot} />;\n }\n\n registerOverviewOptions(options: OverviewOptions) {\n this.overviewOptionsSlot.register(options);\n }\n\n static dependencies = [ComponentAspect, ComponentCompareAspect, APIReferenceAspect];\n\n static runtime = UIRuntime;\n\n static slots = [\n Slot.withType<TitleBadge>(),\n Slot.withType<OverviewOptions>(),\n Slot.withType<UseSandboxPermission>(),\n Slot.withType<UsePreviewProps>(),\n ];\n\n static async provider(\n [component, componentCompare, apiRef]: [ComponentUI, ComponentCompareUI, APIReferenceUI],\n config: {},\n [titleBadgeSlot, overviewOptionsSlot, usePreviewSandboxSlot, usePreviewPropsSlot]: [\n TitleBadgeSlot,\n OverviewOptionsSlot,\n UsePreviewSandboxSlot,\n UsePreviewPropsSlot,\n ]\n ) {\n const docs = new DocsUI(titleBadgeSlot, overviewOptionsSlot, usePreviewSandboxSlot, usePreviewPropsSlot);\n const section = new OverviewSection(\n titleBadgeSlot,\n overviewOptionsSlot,\n docs,\n apiRef,\n usePreviewSandboxSlot,\n usePreviewPropsSlot\n );\n const compareSection = new OverviewCompareSection(docs);\n component.registerRoute(section.route);\n component.registerNavigation(section.navigationLink, section.order);\n componentCompare.registerNavigation(compareSection);\n componentCompare.registerRoutes([compareSection.route]);\n docs.registerPreviewSandbox((manager, componentModel) => {\n if (componentModel?.host === 'teambit.scope/scope') {\n manager.add('allow-scripts');\n manager.add('allow-same-origin');\n }\n });\n // Default Permissions Policy: allow clipboard writes so copy-to-clipboard buttons in\n // readme MDX work. Clipboard-read, camera, mic, geolocation, etc. remain denied.\n docs.registerPreviewProps((manager) => {\n manager.set('allow', 'clipboard-write');\n });\n return docs;\n }\n}\n\nexport default DocsUI;\n\nDocsAspect.addRuntime(DocsUI);\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","data","_interopRequireDefault","require","_lodash","_component","_harmony","_ui","_componentCompare","_docsUi","_docsUi2","_apiReference","_docs","_docsCompareContainModule","_overview","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","DocsUI","constructor","titleBadgeSlot","overviewOptionsSlot","usePreviewSandboxSlot","usePreviewPropsSlot","registerTitleBadge","titleBadges","badges","Array","isArray","register","listTitleBadges","flatten","values","registerEmptyState","emptyState","_emptyState","registerPreviewSandbox","useSandboxPermission","registerPreviewProps","usePreviewProps","getEmptyState","getDocsCompare","createElement","OverviewCompare","overviewOptions","registerOverviewOptions","options","provider","component","componentCompare","apiRef","config","docs","section","OverviewSection","compareSection","OverviewCompareSection","registerRoute","route","registerNavigation","navigationLink","order","registerRoutes","registerCompareTab","id","displayName","element","className","docsCompareContainStyles","contain","lazy","manager","componentModel","host","add","set","exports","ComponentAspect","ComponentCompareAspect","APIReferenceAspect","UIRuntime","Slot","withType","_default","DocsAspect","addRuntime"],"sources":["docs.ui.runtime.tsx"],"sourcesContent":["import type { ComponentType } from 'react';\nimport React from 'react';\nimport { flatten } from 'lodash';\nimport type { ComponentUI } from '@teambit/component';\nimport { ComponentAspect } from '@teambit/component';\nimport type { SlotRegistry } from '@teambit/harmony';\nimport { Slot } from '@teambit/harmony';\nimport { UIRuntime } from '@teambit/ui';\nimport type { ComponentCompareUI } from '@teambit/component-compare';\nimport { ComponentCompareAspect } from '@teambit/component-compare';\nimport { OverviewCompare } from '@teambit/docs.ui.overview-compare';\nimport { OverviewCompareSection } from '@teambit/docs.ui.overview-compare-section';\nimport type { UsePreviewProps, UseSandboxPermission } from '@teambit/preview.ui.component-preview';\nimport type { APIReferenceUI } from '@teambit/api-reference';\nimport { APIReferenceAspect } from '@teambit/api-reference';\nimport { DocsAspect } from './docs.aspect';\nimport docsCompareContainStyles from './docs-compare-contain.module.scss';\nimport { OverviewSection } from './overview.section';\nimport type { TitleBadgeSlot, TitleBadge, OverviewOptionsSlot, OverviewOptions } from './overview';\n\nexport type UsePreviewSandboxSlot = SlotRegistry<UseSandboxPermission>;\nexport type UsePreviewPropsSlot = SlotRegistry<UsePreviewProps>;\n\nexport class DocsUI {\n constructor(\n readonly titleBadgeSlot: TitleBadgeSlot,\n readonly overviewOptionsSlot: OverviewOptionsSlot,\n private usePreviewSandboxSlot: UsePreviewSandboxSlot,\n private usePreviewPropsSlot: UsePreviewPropsSlot\n ) {}\n\n /**\n * register a new title badge into the overview section of a component.\n */\n registerTitleBadge(titleBadges: TitleBadge | TitleBadge[]) {\n const badges = Array.isArray(titleBadges) ? titleBadges : [titleBadges];\n this.titleBadgeSlot.register(badges);\n return this;\n }\n\n /**\n * list all title badges registered.\n */\n listTitleBadges() {\n return flatten(this.titleBadgeSlot.values());\n }\n\n private _emptyState?: ComponentType;\n\n registerEmptyState(emptyState: ComponentType) {\n return (this._emptyState = emptyState);\n }\n\n registerPreviewSandbox(useSandboxPermission: UseSandboxPermission) {\n this.usePreviewSandboxSlot.register(useSandboxPermission);\n }\n\n /**\n * register a per-component resolver for iframe attributes on the overview preview\n * (`allow`, `referrerPolicy`, ...). The resolver runs at render time with the current\n * `ComponentModel`; results from multiple resolvers merge with later keys winning.\n */\n registerPreviewProps(usePreviewProps: UsePreviewProps) {\n this.usePreviewPropsSlot.register(usePreviewProps);\n }\n\n getEmptyState() {\n return this._emptyState;\n }\n\n getDocsCompare() {\n return <OverviewCompare titleBadges={this.titleBadgeSlot} overviewOptions={this.overviewOptionsSlot} />;\n }\n\n registerOverviewOptions(options: OverviewOptions) {\n this.overviewOptionsSlot.register(options);\n }\n\n static dependencies = [ComponentAspect, ComponentCompareAspect, APIReferenceAspect];\n\n static runtime = UIRuntime;\n\n static slots = [\n Slot.withType<TitleBadge>(),\n Slot.withType<OverviewOptions>(),\n Slot.withType<UseSandboxPermission>(),\n Slot.withType<UsePreviewProps>(),\n ];\n\n static async provider(\n [component, componentCompare, apiRef]: [ComponentUI, ComponentCompareUI, APIReferenceUI],\n config: {},\n [titleBadgeSlot, overviewOptionsSlot, usePreviewSandboxSlot, usePreviewPropsSlot]: [\n TitleBadgeSlot,\n OverviewOptionsSlot,\n UsePreviewSandboxSlot,\n UsePreviewPropsSlot,\n ]\n ) {\n const docs = new DocsUI(titleBadgeSlot, overviewOptionsSlot, usePreviewSandboxSlot, usePreviewPropsSlot);\n const section = new OverviewSection(\n titleBadgeSlot,\n overviewOptionsSlot,\n docs,\n apiRef,\n usePreviewSandboxSlot,\n usePreviewPropsSlot\n );\n const compareSection = new OverviewCompareSection(docs);\n component.registerRoute(section.route);\n component.registerNavigation(section.navigationLink, section.order);\n componentCompare.registerNavigation(compareSection);\n componentCompare.registerRoutes([compareSection.route]);\n // Register the inline docs tab on component-compare (canonical owner; shared by the single\n // component-compare page and lane-compare). `docs.getDocsCompare()` returns\n // `<OverviewCompare titleBadges={this.titleBadgeSlot} overviewOptions={this.overviewOptionsSlot} />`,\n // so any other aspect that registers title badges or overview options sees those contributions\n // in the inline-docs panel too.\n componentCompare.registerCompareTab({\n id: 'inline-docs',\n order: 3,\n displayName: 'Docs',\n // OverviewCompare renders base/compare docs side by side via the external split-layout preset,\n // whose panes are `flex: 1` without `min-width: 0`, so each spans its full (wide) content and the\n // pair overflows. `docsCompareContainStyles.contain` hard-caps the width and forces the two panes\n // to share it (see the scss for details) — external component, so we target its panes by class.\n element: <div className={docsCompareContainStyles.contain}>{docs.getDocsCompare()}</div>,\n // lazy: OverviewCompare mounts base+compare docs iframes, each loading the full env overview\n // bundle on mount (even under `display: none`) — deferred until the panel is actually visible.\n lazy: true,\n });\n docs.registerPreviewSandbox((manager, componentModel) => {\n if (componentModel?.host === 'teambit.scope/scope') {\n manager.add('allow-scripts');\n manager.add('allow-same-origin');\n }\n });\n // Default Permissions Policy: allow clipboard writes so copy-to-clipboard buttons in\n // readme MDX work. Clipboard-read, camera, mic, geolocation, etc. remain denied.\n docs.registerPreviewProps((manager) => {\n manager.set('allow', 'clipboard-write');\n });\n return docs;\n }\n}\n\nexport default DocsUI;\n\nDocsAspect.addRuntime(DocsUI);\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -157,7 +157,6 @@ function Overview({
|
|
|
157
157
|
}), showHeader && /*#__PURE__*/_react().default.createElement(_componentUi().ComponentOverview, {
|
|
158
158
|
className: (0, _classnames().default)(_overviewModule().default.componentOverviewBlock, !isScaling && _overviewModule().default.legacyPreview),
|
|
159
159
|
displayName: component.displayName,
|
|
160
|
-
version: component.version,
|
|
161
160
|
abstract: component.description,
|
|
162
161
|
labels: component.labels,
|
|
163
162
|
packageName: component.packageName,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","data","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_lodash","_component","_previewUi","_designUiSurfaces","_componentUi","_compositionsPanels","_workspaceUi","_readmeSkeleton","_overviewModule","_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","BadgePosition","exports","Overview","titleBadges","overviewOptions","previewProps","getEmptyState","TaggedAPI","usePreviewSandboxSlot","usePreviewPropsSlot","component","useContext","ComponentContext","componentDescriptor","useComponentDescriptor","overviewProps","flatten","values","showHeader","preview","legacyHeader","EmptyState","buildFailed","buildStatus","toLowerCase","host","isScaling","Boolean","includesEnvTemplate","defaultLoadingState","React","useMemo","isMinimal","useWorkspaceMode","isLoading","setLoading","useState","previewSandboxHooks","previewPropsHooks","sandboxValue","setSandboxValue","iframeQueryParams","onlyOverview","skipIncludes","overviewPropsValues","renderCompositionsFirst","defaultPkgManager","_ref","onLoad","style","rest","onPreviewLoad","useCallback","props","useEffect","id","toString","createElement","className","classNames","styles","overviewWrapper","noOverflow","key","SandboxPermissionsAggregator","hooks","onSandboxChange","ComponentOverview","componentOverviewBlock","legacyPreview","displayName","version","abstract","description","labels","packageName","pkgManager","readme","ReadmeSkeleton","CompositionGallerySkeleton","compositionsLength","Math","min","compositions","PreviewPropsAggregator","previewAttrs","Fragment","ComponentPreview","previewName","pubsub","queryParams","viewport","fullContentHeight","disableScroll","sandbox","width","height","minHeight","undefined","CompositionGallery","propagateError","componentId","BuildStatusMessage","StatusMessageCard","status","title"],"sources":["overview.tsx"],"sourcesContent":["/* eslint-disable complexity */\nimport type { ComponentType } from 'react';\nimport React, { useContext, useState } from 'react';\nimport classNames from 'classnames';\nimport { flatten } from 'lodash';\n// import { Icon } from '@teambit/design.elements.icon';\n// import { LinkedHeading } from '@teambit/documenter.ui.linked-heading';\nimport { ComponentContext, useComponentDescriptor } from '@teambit/component';\nimport type { SlotRegistry } from '@teambit/harmony';\nimport type { ComponentPreviewProps } from '@teambit/preview.ui.component-preview';\nimport {\n ComponentPreview,\n PreviewPropsAggregator,\n SandboxPermissionsAggregator,\n} from '@teambit/preview.ui.component-preview';\nimport { StatusMessageCard } from '@teambit/design.ui.surfaces.status-message-card';\nimport { ComponentOverview } from '@teambit/component.ui.component-meta';\nimport { CompositionGallery, CompositionGallerySkeleton } from '@teambit/compositions.panels.composition-gallery';\nimport { useWorkspaceMode } from '@teambit/workspace.ui.use-workspace-mode';\nimport type { UsePreviewSandboxSlot } from '@teambit/compositions';\nimport type { UsePreviewPropsSlot } from '../docs.ui.runtime';\nimport { ReadmeSkeleton } from './readme-skeleton';\nimport styles from './overview.module.scss';\n\nexport enum BadgePosition {\n Title,\n SubTitle,\n Labels,\n Package,\n}\n\nexport type TitleBadge = {\n component: ComponentType<any>;\n weight?: number;\n position?: BadgePosition;\n};\n\nexport type TitleBadgeSlot = SlotRegistry<TitleBadge[]>;\n\nexport type OverviewOptions = () => {\n queryParams?: string;\n renderCompositionsFirst?: boolean;\n defaultPkgManager?: 'npm' | 'yarn' | 'pnpm' | 'bit';\n};\n\nexport type OverviewOptionsSlot = SlotRegistry<OverviewOptions>;\n\nexport type OverviewProps = {\n titleBadges: TitleBadgeSlot;\n overviewOptions: OverviewOptionsSlot;\n previewProps?: Partial<ComponentPreviewProps>;\n getEmptyState?: () => ComponentType | undefined;\n TaggedAPI?: React.ComponentType<{ componentId: string }>;\n usePreviewSandboxSlot?: UsePreviewSandboxSlot;\n /**\n * per-component resolvers for iframe attributes on the overview preview (`allow`,\n * `referrerPolicy`, ...). Each resolver gets the current `ComponentModel`; results merge\n * with later registrations winning.\n */\n usePreviewPropsSlot?: UsePreviewPropsSlot;\n};\n\nexport function Overview({\n titleBadges,\n overviewOptions,\n previewProps,\n getEmptyState,\n TaggedAPI,\n usePreviewSandboxSlot,\n usePreviewPropsSlot,\n}: OverviewProps) {\n const component = useContext(ComponentContext);\n const componentDescriptor = useComponentDescriptor();\n const overviewProps = flatten(overviewOptions.values())[0];\n const showHeader = !component.preview?.legacyHeader;\n const EmptyState = getEmptyState && getEmptyState();\n const buildFailed = component.buildStatus?.toLowerCase() !== 'succeed' && component?.host === 'teambit.scope/scope';\n const isScaling = Boolean(component.preview?.isScaling);\n const includesEnvTemplate = Boolean(component.preview?.includesEnvTemplate);\n const defaultLoadingState = React.useMemo(() => {\n return isScaling && !includesEnvTemplate;\n }, [isScaling, includesEnvTemplate]);\n const { isMinimal } = useWorkspaceMode();\n const [isLoading, setLoading] = useState(defaultLoadingState);\n const previewSandboxHooks = usePreviewSandboxSlot?.values() ?? [];\n const previewPropsHooks = usePreviewPropsSlot?.values() ?? [];\n const [sandboxValue, setSandboxValue] = useState('');\n const iframeQueryParams = `onlyOverview=${component.preview?.onlyOverview || 'false'}&skipIncludes=${\n component.preview?.skipIncludes || component.preview?.onlyOverview\n }`;\n\n const overviewPropsValues = overviewProps && overviewProps();\n\n const { renderCompositionsFirst, defaultPkgManager } = overviewPropsValues || {};\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { onLoad, style, ...rest } = previewProps || {};\n\n const onPreviewLoad = React.useCallback(\n (e, props) => {\n setLoading(false);\n onLoad?.(e, props);\n },\n [onLoad]\n );\n\n React.useEffect(() => {\n if (!isLoading && defaultLoadingState) setLoading(true);\n if (isLoading && !defaultLoadingState) setLoading(false);\n }, [component.id.toString(), defaultLoadingState]);\n\n return (\n <div\n className={classNames(styles.overviewWrapper, isLoading && styles.noOverflow)}\n key={`${component.id.toString()}`}\n >\n <SandboxPermissionsAggregator\n hooks={previewSandboxHooks}\n onSandboxChange={setSandboxValue}\n component={component}\n />\n {showHeader && (\n <ComponentOverview\n className={classNames(styles.componentOverviewBlock, !isScaling && styles.legacyPreview)}\n displayName={component.displayName}\n version={component.version}\n abstract={component.description}\n labels={component.labels}\n packageName={component.packageName}\n titleBadges={flatten(titleBadges.values())}\n componentDescriptor={componentDescriptor}\n component={component}\n pkgManager={defaultPkgManager}\n />\n )}\n {!buildFailed && (\n <div className={styles.readme}>\n {isLoading && (\n <ReadmeSkeleton>\n <CompositionGallerySkeleton compositionsLength={Math.min(component.compositions.length, 3)} />\n </ReadmeSkeleton>\n )}\n <PreviewPropsAggregator hooks={previewPropsHooks} component={component}>\n {(previewAttrs) =>\n !isMinimal && !renderCompositionsFirst ? (\n <>\n <ComponentPreview\n {...previewAttrs}\n onLoad={onPreviewLoad}\n previewName=\"overview\"\n pubsub={true}\n queryParams={[iframeQueryParams, overviewPropsValues?.queryParams || '']}\n viewport={null}\n fullContentHeight\n disableScroll={true}\n sandbox={sandboxValue}\n {...rest}\n component={component}\n style={{ width: '100%', height: '100%', minHeight: !isScaling ? 500 : undefined }}\n />\n {component.preview?.onlyOverview && !isLoading && (\n <CompositionGallery component={component} sandbox={sandboxValue} />\n )}\n </>\n ) : (\n <>\n {component.preview?.onlyOverview && !isLoading && (\n <CompositionGallery component={component} sandbox={sandboxValue} />\n )}\n <ComponentPreview\n {...previewAttrs}\n onLoad={onPreviewLoad}\n previewName=\"overview\"\n pubsub={true}\n queryParams={[iframeQueryParams, overviewPropsValues?.queryParams || '']}\n viewport={null}\n fullContentHeight\n disableScroll={true}\n propagateError={isMinimal}\n sandbox={sandboxValue}\n {...rest}\n component={component}\n style={{ width: '100%', height: '100%', minHeight: !isScaling ? 500 : undefined }}\n />\n </>\n )\n }\n </PreviewPropsAggregator>\n\n {component.preview?.onlyOverview && !isLoading && TaggedAPI && (\n <TaggedAPI componentId={component.id.toString()} />\n )}\n </div>\n )}\n {buildFailed &&\n (EmptyState ? (\n <EmptyState />\n ) : (\n <div className={styles.buildFailed}>\n <BuildStatusMessage buildStatus={component.buildStatus} />\n </div>\n ))}\n </div>\n );\n}\n\n// default overview content when the preview can't be shown (e.g. the build failed or is still\n// pending). a registered empty state takes precedence over this.\nfunction BuildStatusMessage({ buildStatus }: { buildStatus?: string }) {\n if (buildStatus?.toLowerCase() === 'pending') {\n return (\n <StatusMessageCard status=\"PROCESSING\" title=\"component preview pending\">\n this might take some time\n </StatusMessageCard>\n );\n }\n return <StatusMessageCard status=\"FAILURE\" title=\"failed to get component preview\" />;\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","data","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_lodash","_component","_previewUi","_designUiSurfaces","_componentUi","_compositionsPanels","_workspaceUi","_readmeSkeleton","_overviewModule","_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","BadgePosition","exports","Overview","titleBadges","overviewOptions","previewProps","getEmptyState","TaggedAPI","usePreviewSandboxSlot","usePreviewPropsSlot","component","useContext","ComponentContext","componentDescriptor","useComponentDescriptor","overviewProps","flatten","values","showHeader","preview","legacyHeader","EmptyState","buildFailed","buildStatus","toLowerCase","host","isScaling","Boolean","includesEnvTemplate","defaultLoadingState","React","useMemo","isMinimal","useWorkspaceMode","isLoading","setLoading","useState","previewSandboxHooks","previewPropsHooks","sandboxValue","setSandboxValue","iframeQueryParams","onlyOverview","skipIncludes","overviewPropsValues","renderCompositionsFirst","defaultPkgManager","_ref","onLoad","style","rest","onPreviewLoad","useCallback","props","useEffect","id","toString","createElement","className","classNames","styles","overviewWrapper","noOverflow","key","SandboxPermissionsAggregator","hooks","onSandboxChange","ComponentOverview","componentOverviewBlock","legacyPreview","displayName","abstract","description","labels","packageName","pkgManager","readme","ReadmeSkeleton","CompositionGallerySkeleton","compositionsLength","Math","min","compositions","PreviewPropsAggregator","previewAttrs","Fragment","ComponentPreview","previewName","pubsub","queryParams","viewport","fullContentHeight","disableScroll","sandbox","width","height","minHeight","undefined","CompositionGallery","propagateError","componentId","BuildStatusMessage","StatusMessageCard","status","title"],"sources":["overview.tsx"],"sourcesContent":["/* eslint-disable complexity */\nimport type { ComponentType } from 'react';\nimport React, { useContext, useState } from 'react';\nimport classNames from 'classnames';\nimport { flatten } from 'lodash';\n// import { Icon } from '@teambit/design.elements.icon';\n// import { LinkedHeading } from '@teambit/documenter.ui.linked-heading';\nimport { ComponentContext, useComponentDescriptor } from '@teambit/component';\nimport type { SlotRegistry } from '@teambit/harmony';\nimport type { ComponentPreviewProps } from '@teambit/preview.ui.component-preview';\nimport {\n ComponentPreview,\n PreviewPropsAggregator,\n SandboxPermissionsAggregator,\n} from '@teambit/preview.ui.component-preview';\nimport { StatusMessageCard } from '@teambit/design.ui.surfaces.status-message-card';\nimport { ComponentOverview } from '@teambit/component.ui.component-meta';\nimport { CompositionGallery, CompositionGallerySkeleton } from '@teambit/compositions.panels.composition-gallery';\nimport { useWorkspaceMode } from '@teambit/workspace.ui.use-workspace-mode';\nimport type { UsePreviewSandboxSlot } from '@teambit/compositions';\nimport type { UsePreviewPropsSlot } from '../docs.ui.runtime';\nimport { ReadmeSkeleton } from './readme-skeleton';\nimport styles from './overview.module.scss';\n\nexport enum BadgePosition {\n Title,\n SubTitle,\n Labels,\n Package,\n}\n\nexport type TitleBadge = {\n component: ComponentType<any>;\n weight?: number;\n position?: BadgePosition;\n};\n\nexport type TitleBadgeSlot = SlotRegistry<TitleBadge[]>;\n\nexport type OverviewOptions = () => {\n queryParams?: string;\n renderCompositionsFirst?: boolean;\n defaultPkgManager?: 'npm' | 'yarn' | 'pnpm' | 'bit';\n};\n\nexport type OverviewOptionsSlot = SlotRegistry<OverviewOptions>;\n\nexport type OverviewProps = {\n titleBadges: TitleBadgeSlot;\n overviewOptions: OverviewOptionsSlot;\n previewProps?: Partial<ComponentPreviewProps>;\n getEmptyState?: () => ComponentType | undefined;\n TaggedAPI?: React.ComponentType<{ componentId: string }>;\n usePreviewSandboxSlot?: UsePreviewSandboxSlot;\n /**\n * per-component resolvers for iframe attributes on the overview preview (`allow`,\n * `referrerPolicy`, ...). Each resolver gets the current `ComponentModel`; results merge\n * with later registrations winning.\n */\n usePreviewPropsSlot?: UsePreviewPropsSlot;\n};\n\nexport function Overview({\n titleBadges,\n overviewOptions,\n previewProps,\n getEmptyState,\n TaggedAPI,\n usePreviewSandboxSlot,\n usePreviewPropsSlot,\n}: OverviewProps) {\n const component = useContext(ComponentContext);\n const componentDescriptor = useComponentDescriptor();\n const overviewProps = flatten(overviewOptions.values())[0];\n const showHeader = !component.preview?.legacyHeader;\n const EmptyState = getEmptyState && getEmptyState();\n const buildFailed = component.buildStatus?.toLowerCase() !== 'succeed' && component?.host === 'teambit.scope/scope';\n const isScaling = Boolean(component.preview?.isScaling);\n const includesEnvTemplate = Boolean(component.preview?.includesEnvTemplate);\n const defaultLoadingState = React.useMemo(() => {\n return isScaling && !includesEnvTemplate;\n }, [isScaling, includesEnvTemplate]);\n const { isMinimal } = useWorkspaceMode();\n const [isLoading, setLoading] = useState(defaultLoadingState);\n const previewSandboxHooks = usePreviewSandboxSlot?.values() ?? [];\n const previewPropsHooks = usePreviewPropsSlot?.values() ?? [];\n const [sandboxValue, setSandboxValue] = useState('');\n const iframeQueryParams = `onlyOverview=${component.preview?.onlyOverview || 'false'}&skipIncludes=${\n component.preview?.skipIncludes || component.preview?.onlyOverview\n }`;\n\n const overviewPropsValues = overviewProps && overviewProps();\n\n const { renderCompositionsFirst, defaultPkgManager } = overviewPropsValues || {};\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { onLoad, style, ...rest } = previewProps || {};\n\n const onPreviewLoad = React.useCallback(\n (e, props) => {\n setLoading(false);\n onLoad?.(e, props);\n },\n [onLoad]\n );\n\n React.useEffect(() => {\n if (!isLoading && defaultLoadingState) setLoading(true);\n if (isLoading && !defaultLoadingState) setLoading(false);\n }, [component.id.toString(), defaultLoadingState]);\n\n return (\n <div\n className={classNames(styles.overviewWrapper, isLoading && styles.noOverflow)}\n key={`${component.id.toString()}`}\n >\n <SandboxPermissionsAggregator\n hooks={previewSandboxHooks}\n onSandboxChange={setSandboxValue}\n component={component}\n />\n {showHeader && (\n <ComponentOverview\n className={classNames(styles.componentOverviewBlock, !isScaling && styles.legacyPreview)}\n displayName={component.displayName}\n abstract={component.description}\n labels={component.labels}\n packageName={component.packageName}\n titleBadges={flatten(titleBadges.values())}\n componentDescriptor={componentDescriptor}\n component={component}\n pkgManager={defaultPkgManager}\n />\n )}\n {!buildFailed && (\n <div className={styles.readme}>\n {isLoading && (\n <ReadmeSkeleton>\n <CompositionGallerySkeleton compositionsLength={Math.min(component.compositions.length, 3)} />\n </ReadmeSkeleton>\n )}\n <PreviewPropsAggregator hooks={previewPropsHooks} component={component}>\n {(previewAttrs) =>\n !isMinimal && !renderCompositionsFirst ? (\n <>\n <ComponentPreview\n {...previewAttrs}\n onLoad={onPreviewLoad}\n previewName=\"overview\"\n pubsub={true}\n queryParams={[iframeQueryParams, overviewPropsValues?.queryParams || '']}\n viewport={null}\n fullContentHeight\n disableScroll={true}\n sandbox={sandboxValue}\n {...rest}\n component={component}\n style={{ width: '100%', height: '100%', minHeight: !isScaling ? 500 : undefined }}\n />\n {component.preview?.onlyOverview && !isLoading && (\n <CompositionGallery component={component} sandbox={sandboxValue} />\n )}\n </>\n ) : (\n <>\n {component.preview?.onlyOverview && !isLoading && (\n <CompositionGallery component={component} sandbox={sandboxValue} />\n )}\n <ComponentPreview\n {...previewAttrs}\n onLoad={onPreviewLoad}\n previewName=\"overview\"\n pubsub={true}\n queryParams={[iframeQueryParams, overviewPropsValues?.queryParams || '']}\n viewport={null}\n fullContentHeight\n disableScroll={true}\n propagateError={isMinimal}\n sandbox={sandboxValue}\n {...rest}\n component={component}\n style={{ width: '100%', height: '100%', minHeight: !isScaling ? 500 : undefined }}\n />\n </>\n )\n }\n </PreviewPropsAggregator>\n\n {component.preview?.onlyOverview && !isLoading && TaggedAPI && (\n <TaggedAPI componentId={component.id.toString()} />\n )}\n </div>\n )}\n {buildFailed &&\n (EmptyState ? (\n <EmptyState />\n ) : (\n <div className={styles.buildFailed}>\n <BuildStatusMessage buildStatus={component.buildStatus} />\n </div>\n ))}\n </div>\n );\n}\n\n// default overview content when the preview can't be shown (e.g. the build failed or is still\n// pending). a registered empty state takes precedence over this.\nfunction BuildStatusMessage({ buildStatus }: { buildStatus?: string }) {\n if (buildStatus?.toLowerCase() === 'pending') {\n return (\n <StatusMessageCard status=\"PROCESSING\" title=\"component preview pending\">\n this might take some time\n </StatusMessageCard>\n );\n }\n return <StatusMessageCard status=\"FAILURE\" title=\"failed to get component preview\" />;\n}\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.docs_docs@1.0.
|
|
2
|
-
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.docs_docs@1.0.
|
|
1
|
+
import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.docs_docs@1.0.1081/dist/docs.composition.js';
|
|
2
|
+
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.docs_docs@1.0.1081/dist/docs.docs.mdx';
|
|
3
3
|
|
|
4
4
|
export const compositions = [compositions_0];
|
|
5
5
|
export const overview = [overview_0];
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
// Width containment for the inline-docs compare tab. OverviewCompare renders base/compare docs side by
|
|
2
|
+
// side via the external `compare-split-layout-preset`, whose two panes are `flex: 1` with no
|
|
3
|
+
// `min-width: 0` — so each grows to its (often very wide) docs content instead of sharing the width, and
|
|
4
|
+
// the pair overflows the pane/page.
|
|
5
|
+
.contain {
|
|
6
|
+
// Hard-cap the width to the pane regardless of any ancestor flex item lacking min-width:0 — a grid
|
|
7
|
+
// item cannot exceed its track. `height: 100%` + `minmax(0,1fr)` rows keep OverviewCompare's
|
|
8
|
+
// full-height layout (`.subView { height: 100% }`) intact.
|
|
9
|
+
display: grid;
|
|
10
|
+
grid-template-columns: minmax(0, 1fr);
|
|
11
|
+
grid-template-rows: minmax(0, 1fr);
|
|
12
|
+
height: 100%;
|
|
13
|
+
min-width: 0;
|
|
14
|
+
min-height: 0;
|
|
15
|
+
|
|
16
|
+
// Force the split panes shrinkable so they share the width (~50% each) instead of each spanning the
|
|
17
|
+
// full content width. Targeted by the preset's (and OverviewCompare's own) stable module-class prefix,
|
|
18
|
+
// so it only touches the two side-by-side panes — not arbitrary descendants. Once a pane is
|
|
19
|
+
// width-constrained, OverviewCompare's own `.subView { overflow: auto }` scrolls any wide content
|
|
20
|
+
// inside it rather than pushing the layout wider.
|
|
21
|
+
:global([class*='subContainerLeft']),
|
|
22
|
+
:global([class*='subContainerRight']) {
|
|
23
|
+
min-width: 0;
|
|
24
|
+
}
|
|
25
|
+
}
|
package/docs.ui.runtime.tsx
CHANGED
|
@@ -14,6 +14,7 @@ import type { UsePreviewProps, UseSandboxPermission } from '@teambit/preview.ui.
|
|
|
14
14
|
import type { APIReferenceUI } from '@teambit/api-reference';
|
|
15
15
|
import { APIReferenceAspect } from '@teambit/api-reference';
|
|
16
16
|
import { DocsAspect } from './docs.aspect';
|
|
17
|
+
import docsCompareContainStyles from './docs-compare-contain.module.scss';
|
|
17
18
|
import { OverviewSection } from './overview.section';
|
|
18
19
|
import type { TitleBadgeSlot, TitleBadge, OverviewOptionsSlot, OverviewOptions } from './overview';
|
|
19
20
|
|
|
@@ -110,6 +111,24 @@ export class DocsUI {
|
|
|
110
111
|
component.registerNavigation(section.navigationLink, section.order);
|
|
111
112
|
componentCompare.registerNavigation(compareSection);
|
|
112
113
|
componentCompare.registerRoutes([compareSection.route]);
|
|
114
|
+
// Register the inline docs tab on component-compare (canonical owner; shared by the single
|
|
115
|
+
// component-compare page and lane-compare). `docs.getDocsCompare()` returns
|
|
116
|
+
// `<OverviewCompare titleBadges={this.titleBadgeSlot} overviewOptions={this.overviewOptionsSlot} />`,
|
|
117
|
+
// so any other aspect that registers title badges or overview options sees those contributions
|
|
118
|
+
// in the inline-docs panel too.
|
|
119
|
+
componentCompare.registerCompareTab({
|
|
120
|
+
id: 'inline-docs',
|
|
121
|
+
order: 3,
|
|
122
|
+
displayName: 'Docs',
|
|
123
|
+
// OverviewCompare renders base/compare docs side by side via the external split-layout preset,
|
|
124
|
+
// whose panes are `flex: 1` without `min-width: 0`, so each spans its full (wide) content and the
|
|
125
|
+
// pair overflows. `docsCompareContainStyles.contain` hard-caps the width and forces the two panes
|
|
126
|
+
// to share it (see the scss for details) — external component, so we target its panes by class.
|
|
127
|
+
element: <div className={docsCompareContainStyles.contain}>{docs.getDocsCompare()}</div>,
|
|
128
|
+
// lazy: OverviewCompare mounts base+compare docs iframes, each loading the full env overview
|
|
129
|
+
// bundle on mount (even under `display: none`) — deferred until the panel is actually visible.
|
|
130
|
+
lazy: true,
|
|
131
|
+
});
|
|
113
132
|
docs.registerPreviewSandbox((manager, componentModel) => {
|
|
114
133
|
if (componentModel?.host === 'teambit.scope/scope') {
|
|
115
134
|
manager.add('allow-scripts');
|
package/overview/overview.tsx
CHANGED
|
@@ -123,7 +123,6 @@ export function Overview({
|
|
|
123
123
|
<ComponentOverview
|
|
124
124
|
className={classNames(styles.componentOverviewBlock, !isScaling && styles.legacyPreview)}
|
|
125
125
|
displayName={component.displayName}
|
|
126
|
-
version={component.version}
|
|
127
126
|
abstract={component.description}
|
|
128
127
|
labels={component.labels}
|
|
129
128
|
packageName={component.packageName}
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@teambit/docs",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.1081",
|
|
4
4
|
"homepage": "https://bit.cloud/teambit/docs/docs",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"componentId": {
|
|
7
7
|
"scope": "teambit.docs",
|
|
8
8
|
"name": "docs",
|
|
9
|
-
"version": "1.0.
|
|
9
|
+
"version": "1.0.1081"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"graphql-tag": "2.12.1",
|
|
@@ -14,32 +14,32 @@
|
|
|
14
14
|
"classnames": "^2.5.1",
|
|
15
15
|
"@teambit/docs.entities.doc": "0.0.12",
|
|
16
16
|
"@teambit/harmony": "0.4.12",
|
|
17
|
-
"@teambit/cli": "0.0.1357",
|
|
18
|
-
"@teambit/component.sources": "0.0.192",
|
|
19
|
-
"@teambit/legacy.consumer-component": "0.0.141",
|
|
20
|
-
"@teambit/logger": "0.0.1450",
|
|
21
|
-
"@teambit/preview.ui.component-preview": "1.0.36",
|
|
22
17
|
"@teambit/docs.ui.overview-compare-section": "0.0.102",
|
|
23
18
|
"@teambit/docs.ui.overview-compare": "1.0.12",
|
|
19
|
+
"@teambit/preview.ui.component-preview": "1.0.36",
|
|
24
20
|
"@teambit/compositions.panels.composition-gallery": "0.0.227",
|
|
25
|
-
"@teambit/workspace.ui.use-workspace-mode": "0.0.3",
|
|
26
|
-
"@teambit/component.ui.component-meta": "0.0.368",
|
|
27
21
|
"@teambit/design.ui.surfaces.status-message-card": "0.0.18",
|
|
22
|
+
"@teambit/workspace.ui.use-workspace-mode": "0.0.3",
|
|
28
23
|
"@teambit/base-ui.loaders.skeleton": "1.0.2",
|
|
29
|
-
"@teambit/compiler": "1.0.
|
|
30
|
-
"@teambit/component": "1.0.
|
|
31
|
-
"@teambit/pkg": "1.0.
|
|
32
|
-
"@teambit/workspace": "1.0.
|
|
33
|
-
"@teambit/
|
|
34
|
-
"@teambit/
|
|
35
|
-
"@teambit/
|
|
36
|
-
"@teambit/
|
|
37
|
-
"@teambit/
|
|
38
|
-
"@teambit/
|
|
39
|
-
"@teambit/
|
|
40
|
-
"@teambit/
|
|
41
|
-
"@teambit/
|
|
42
|
-
"@teambit/
|
|
24
|
+
"@teambit/compiler": "1.0.1081",
|
|
25
|
+
"@teambit/component": "1.0.1081",
|
|
26
|
+
"@teambit/pkg": "1.0.1081",
|
|
27
|
+
"@teambit/workspace": "1.0.1081",
|
|
28
|
+
"@teambit/cli": "0.0.1358",
|
|
29
|
+
"@teambit/component.sources": "0.0.193",
|
|
30
|
+
"@teambit/dev-files": "1.0.1081",
|
|
31
|
+
"@teambit/envs": "1.0.1081",
|
|
32
|
+
"@teambit/graphql": "1.0.1081",
|
|
33
|
+
"@teambit/legacy.consumer-component": "0.0.142",
|
|
34
|
+
"@teambit/logger": "0.0.1451",
|
|
35
|
+
"@teambit/preview": "1.0.1081",
|
|
36
|
+
"@teambit/scope": "1.0.1081",
|
|
37
|
+
"@teambit/api-reference": "1.0.1081",
|
|
38
|
+
"@teambit/component-compare": "1.0.1081",
|
|
39
|
+
"@teambit/ui": "1.0.1081",
|
|
40
|
+
"@teambit/pubsub": "1.0.1081",
|
|
41
|
+
"@teambit/component.ui.component-meta": "0.0.369",
|
|
42
|
+
"@teambit/compositions": "1.0.1081"
|
|
43
43
|
},
|
|
44
44
|
"devDependencies": {
|
|
45
45
|
"@types/lodash": "4.14.165",
|
|
@@ -47,7 +47,7 @@
|
|
|
47
47
|
"@types/mocha": "9.1.0",
|
|
48
48
|
"@teambit/docs.content.docs-overview": "1.96.8",
|
|
49
49
|
"@teambit/component-id": "1.2.4",
|
|
50
|
-
"@teambit/harmony.envs.core-aspect-env": "2.0.
|
|
50
|
+
"@teambit/harmony.envs.core-aspect-env": "2.0.3"
|
|
51
51
|
},
|
|
52
52
|
"peerDependencies": {
|
|
53
53
|
"react": "^17.0.0 || ^18.0.0 || ^19.0.0",
|