@teambit/docs 1.0.1080 → 1.0.1082

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.
@@ -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
+ }
@@ -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":";;;;;;;AAEA,SAAAA,OAAA;EAAA,MAAAC,IAAA,GAAAC,uBAAA,CAAAC,OAAA;EAAAH,MAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,YAAA;EAAA,MAAAH,IAAA,GAAAI,sBAAA,CAAAF,OAAA;EAAAC,WAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAK,QAAA;EAAA,MAAAL,IAAA,GAAAE,OAAA;EAAAG,OAAA,YAAAA,CAAA;IAAA,OAAAL,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAGA,SAAAM,WAAA;EAAA,MAAAN,IAAA,GAAAE,OAAA;EAAAI,UAAA,YAAAA,CAAA;IAAA,OAAAN,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAGA,SAAAO,WAAA;EAAA,MAAAP,IAAA,GAAAE,OAAA;EAAAK,UAAA,YAAAA,CAAA;IAAA,OAAAP,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAKA,SAAAQ,kBAAA;EAAA,MAAAR,IAAA,GAAAE,OAAA;EAAAM,iBAAA,YAAAA,CAAA;IAAA,OAAAR,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAS,aAAA;EAAA,MAAAT,IAAA,GAAAE,OAAA;EAAAO,YAAA,YAAAA,CAAA;IAAA,OAAAT,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAU,oBAAA;EAAA,MAAAV,IAAA,GAAAE,OAAA;EAAAQ,mBAAA,YAAAA,CAAA;IAAA,OAAAV,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAW,aAAA;EAAA,MAAAX,IAAA,GAAAE,OAAA;EAAAS,YAAA,YAAAA,CAAA;IAAA,OAAAX,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAGA,SAAAY,gBAAA;EAAA,MAAAZ,IAAA,GAAAE,OAAA;EAAAU,eAAA,YAAAA,CAAA;IAAA,OAAAZ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAa,gBAAA;EAAA,MAAAb,IAAA,GAAAI,sBAAA,CAAAF,OAAA;EAAAW,eAAA,YAAAA,CAAA;IAAA,OAAAb,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA4C,MAAAc,SAAA;AAtB5C;AAKA;AACA;AAAA,SAAAV,uBAAAW,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAd,wBAAAc,CAAA,EAAAG,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAlB,uBAAA,YAAAA,CAAAc,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;AAAA,IAkBY2B,aAAa,GAAAC,OAAA,CAAAD,aAAA,0BAAbA,aAAa;EAAbA,aAAa,CAAbA,aAAa;EAAbA,aAAa,CAAbA,aAAa;EAAbA,aAAa,CAAbA,aAAa;EAAbA,aAAa,CAAbA,aAAa;EAAA,OAAbA,aAAa;AAAA;AAsClB,SAASE,QAAQA,CAAC;EACvBC,WAAW;EACXC,eAAe;EACfC,YAAY;EACZC,aAAa;EACbC,SAAS;EACTC,qBAAqB;EACrBC;AACa,CAAC,EAAE;EAChB,MAAMC,SAAS,GAAG,IAAAC,mBAAU,EAACC,6BAAgB,CAAC;EAC9C,MAAMC,mBAAmB,GAAG,IAAAC,mCAAsB,EAAC,CAAC;EACpD,MAAMC,aAAa,GAAG,IAAAC,iBAAO,EAACZ,eAAe,CAACa,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;EAC1D,MAAMC,UAAU,GAAG,CAACR,SAAS,CAACS,OAAO,EAAEC,YAAY;EACnD,MAAMC,UAAU,GAAGf,aAAa,IAAIA,aAAa,CAAC,CAAC;EACnD,MAAMgB,WAAW,GAAGZ,SAAS,CAACa,WAAW,EAAEC,WAAW,CAAC,CAAC,KAAK,SAAS,IAAId,SAAS,EAAEe,IAAI,KAAK,qBAAqB;EACnH,MAAMC,SAAS,GAAGC,OAAO,CAACjB,SAAS,CAACS,OAAO,EAAEO,SAAS,CAAC;EACvD,MAAME,mBAAmB,GAAGD,OAAO,CAACjB,SAAS,CAACS,OAAO,EAAES,mBAAmB,CAAC;EAC3E,MAAMC,mBAAmB,GAAGC,gBAAK,CAACC,OAAO,CAAC,MAAM;IAC9C,OAAOL,SAAS,IAAI,CAACE,mBAAmB;EAC1C,CAAC,EAAE,CAACF,SAAS,EAAEE,mBAAmB,CAAC,CAAC;EACpC,MAAM;IAAEI;EAAU,CAAC,GAAG,IAAAC,+BAAgB,EAAC,CAAC;EACxC,MAAM,CAACC,SAAS,EAAEC,UAAU,CAAC,GAAG,IAAAC,iBAAQ,EAACP,mBAAmB,CAAC;EAC7D,MAAMQ,mBAAmB,GAAG7B,qBAAqB,EAAES,MAAM,CAAC,CAAC,IAAI,EAAE;EACjE,MAAMqB,iBAAiB,GAAG7B,mBAAmB,EAAEQ,MAAM,CAAC,CAAC,IAAI,EAAE;EAC7D,MAAM,CAACsB,YAAY,EAAEC,eAAe,CAAC,GAAG,IAAAJ,iBAAQ,EAAC,EAAE,CAAC;EACpD,MAAMK,iBAAiB,GAAG,gBAAgB/B,SAAS,CAACS,OAAO,EAAEuB,YAAY,IAAI,OAAO,iBAClFhC,SAAS,CAACS,OAAO,EAAEwB,YAAY,IAAIjC,SAAS,CAACS,OAAO,EAAEuB,YAAY,EAClE;EAEF,MAAME,mBAAmB,GAAG7B,aAAa,IAAIA,aAAa,CAAC,CAAC;EAE5D,MAAM;IAAE8B,uBAAuB;IAAEC;EAAkB,CAAC,GAAGF,mBAAmB,IAAI,CAAC,CAAC;;EAEhF;EACA,MAAAG,IAAA,GAAmC1C,YAAY,IAAI,CAAC,CAAC;IAA/C;MAAE2C,MAAM;MAAEC;IAAe,CAAC,GAAAF,IAAA;IAANG,IAAI,GAAAvD,wBAAA,CAAAoD,IAAA,EAAA9E,SAAA;EAE9B,MAAMkF,aAAa,GAAGrB,gBAAK,CAACsB,WAAW,CACrC,CAAClF,CAAC,EAAEmF,KAAK,KAAK;IACZlB,UAAU,CAAC,KAAK,CAAC;IACjBa,MAAM,GAAG9E,CAAC,EAAEmF,KAAK,CAAC;EACpB,CAAC,EACD,CAACL,MAAM,CACT,CAAC;EAEDlB,gBAAK,CAACwB,SAAS,CAAC,MAAM;IACpB,IAAI,CAACpB,SAAS,IAAIL,mBAAmB,EAAEM,UAAU,CAAC,IAAI,CAAC;IACvD,IAAID,SAAS,IAAI,CAACL,mBAAmB,EAAEM,UAAU,CAAC,KAAK,CAAC;EAC1D,CAAC,EAAE,CAACzB,SAAS,CAAC6C,EAAE,CAACC,QAAQ,CAAC,CAAC,EAAE3B,mBAAmB,CAAC,CAAC;EAElD,oBACE3E,MAAA,GAAAkB,OAAA,CAAAqF,aAAA;IACEC,SAAS,EAAE,IAAAC,qBAAU,EAACC,yBAAM,CAACC,eAAe,EAAE3B,SAAS,IAAI0B,yBAAM,CAACE,UAAU,CAAE;IAC9EC,GAAG,EAAE,GAAGrD,SAAS,CAAC6C,EAAE,CAACC,QAAQ,CAAC,CAAC;EAAG,gBAElCtG,MAAA,GAAAkB,OAAA,CAAAqF,aAAA,CAAC/F,UAAA,GAAAsG,4BAA4B;IAC3BC,KAAK,EAAE5B,mBAAoB;IAC3B6B,eAAe,EAAE1B,eAAgB;IACjC9B,SAAS,EAAEA;EAAU,CACtB,CAAC,EACDQ,UAAU,iBACThE,MAAA,GAAAkB,OAAA,CAAAqF,aAAA,CAAC7F,YAAA,GAAAuG,iBAAiB;IAChBT,SAAS,EAAE,IAAAC,qBAAU,EAACC,yBAAM,CAACQ,sBAAsB,EAAE,CAAC1C,SAAS,IAAIkC,yBAAM,CAACS,aAAa,CAAE;IACzFC,WAAW,EAAE5D,SAAS,CAAC4D,WAAY;IACnCC,OAAO,EAAE7D,SAAS,CAAC6D,OAAQ;IAC3BC,QAAQ,EAAE9D,SAAS,CAAC+D,WAAY;IAChCC,MAAM,EAAEhE,SAAS,CAACgE,MAAO;IACzBC,WAAW,EAAEjE,SAAS,CAACiE,WAAY;IACnCxE,WAAW,EAAE,IAAAa,iBAAO,EAACb,WAAW,CAACc,MAAM,CAAC,CAAC,CAAE;IAC3CJ,mBAAmB,EAAEA,mBAAoB;IACzCH,SAAS,EAAEA,SAAU;IACrBkE,UAAU,EAAE9B;EAAkB,CAC/B,CACF,EACA,CAACxB,WAAW,iBACXpE,MAAA,GAAAkB,OAAA,CAAAqF,aAAA;IAAKC,SAAS,EAAEE,yBAAM,CAACiB;EAAO,GAC3B3C,SAAS,iBACRhF,MAAA,GAAAkB,OAAA,CAAAqF,aAAA,CAAC1F,eAAA,GAAA+G,cAAc,qBACb5H,MAAA,GAAAkB,OAAA,CAAAqF,aAAA,CAAC5F,mBAAA,GAAAkH,0BAA0B;IAACC,kBAAkB,EAAEC,IAAI,CAACC,GAAG,CAACxE,SAAS,CAACyE,YAAY,CAAC1F,MAAM,EAAE,CAAC;EAAE,CAAE,CAC/E,CACjB,eACDvC,MAAA,GAAAkB,OAAA,CAAAqF,aAAA,CAAC/F,UAAA,GAAA0H,sBAAsB;IAACnB,KAAK,EAAE3B,iBAAkB;IAAC5B,SAAS,EAAEA;EAAU,GACnE2E,YAAY,IACZ,CAACrD,SAAS,IAAI,CAACa,uBAAuB,gBACpC3F,MAAA,GAAAkB,OAAA,CAAAqF,aAAA,CAAAvG,MAAA,GAAAkB,OAAA,CAAAkH,QAAA,qBACEpI,MAAA,GAAAkB,OAAA,CAAAqF,aAAA,CAAC/F,UAAA,GAAA6H,gBAAgB,EAAAlG,QAAA,KACXgG,YAAY;IAChBrC,MAAM,EAAEG,aAAc;IACtBqC,WAAW,EAAC,UAAU;IACtBC,MAAM,EAAE,IAAK;IACbC,WAAW,EAAE,CAACjD,iBAAiB,EAAEG,mBAAmB,EAAE8C,WAAW,IAAI,EAAE,CAAE;IACzEC,QAAQ,EAAE,IAAK;IACfC,iBAAiB;IACjBC,aAAa,EAAE,IAAK;IACpBC,OAAO,EAAEvD;EAAa,GAClBW,IAAI;IACRxC,SAAS,EAAEA,SAAU;IACrBuC,KAAK,EAAE;MAAE8C,KAAK,EAAE,MAAM;MAAEC,MAAM,EAAE,MAAM;MAAEC,SAAS,EAAE,CAACvE,SAAS,GAAG,GAAG,GAAGwE;IAAU;EAAE,EACnF,CAAC,EACDxF,SAAS,CAACS,OAAO,EAAEuB,YAAY,IAAI,CAACR,SAAS,iBAC5ChF,MAAA,GAAAkB,OAAA,CAAAqF,aAAA,CAAC5F,mBAAA,GAAAsI,kBAAkB;IAACzF,SAAS,EAAEA,SAAU;IAACoF,OAAO,EAAEvD;EAAa,CAAE,CAEpE,CAAC,gBAEHrF,MAAA,GAAAkB,OAAA,CAAAqF,aAAA,CAAAvG,MAAA,GAAAkB,OAAA,CAAAkH,QAAA,QACG5E,SAAS,CAACS,OAAO,EAAEuB,YAAY,IAAI,CAACR,SAAS,iBAC5ChF,MAAA,GAAAkB,OAAA,CAAAqF,aAAA,CAAC5F,mBAAA,GAAAsI,kBAAkB;IAACzF,SAAS,EAAEA,SAAU;IAACoF,OAAO,EAAEvD;EAAa,CAAE,CACnE,eACDrF,MAAA,GAAAkB,OAAA,CAAAqF,aAAA,CAAC/F,UAAA,GAAA6H,gBAAgB,EAAAlG,QAAA,KACXgG,YAAY;IAChBrC,MAAM,EAAEG,aAAc;IACtBqC,WAAW,EAAC,UAAU;IACtBC,MAAM,EAAE,IAAK;IACbC,WAAW,EAAE,CAACjD,iBAAiB,EAAEG,mBAAmB,EAAE8C,WAAW,IAAI,EAAE,CAAE;IACzEC,QAAQ,EAAE,IAAK;IACfC,iBAAiB;IACjBC,aAAa,EAAE,IAAK;IACpBO,cAAc,EAAEpE,SAAU;IAC1B8D,OAAO,EAAEvD;EAAa,GAClBW,IAAI;IACRxC,SAAS,EAAEA,SAAU;IACrBuC,KAAK,EAAE;MAAE8C,KAAK,EAAE,MAAM;MAAEC,MAAM,EAAE,MAAM;MAAEC,SAAS,EAAE,CAACvE,SAAS,GAAG,GAAG,GAAGwE;IAAU;EAAE,EACnF,CACD,CAGgB,CAAC,EAExBxF,SAAS,CAACS,OAAO,EAAEuB,YAAY,IAAI,CAACR,SAAS,IAAI3B,SAAS,iBACzDrD,MAAA,GAAAkB,OAAA,CAAAqF,aAAA,CAAClD,SAAS;IAAC8F,WAAW,EAAE3F,SAAS,CAAC6C,EAAE,CAACC,QAAQ,CAAC;EAAE,CAAE,CAEjD,CACN,EACAlC,WAAW,KACTD,UAAU,gBACTnE,MAAA,GAAAkB,OAAA,CAAAqF,aAAA,CAACpC,UAAU,MAAE,CAAC,gBAEdnE,MAAA,GAAAkB,OAAA,CAAAqF,aAAA;IAAKC,SAAS,EAAEE,yBAAM,CAACtC;EAAY,gBACjCpE,MAAA,GAAAkB,OAAA,CAAAqF,aAAA,CAAC6C,kBAAkB;IAAC/E,WAAW,EAAEb,SAAS,CAACa;EAAY,CAAE,CACtD,CACN,CACA,CAAC;AAEV;;AAEA;AACA;AACA,SAAS+E,kBAAkBA,CAAC;EAAE/E;AAAsC,CAAC,EAAE;EACrE,IAAIA,WAAW,EAAEC,WAAW,CAAC,CAAC,KAAK,SAAS,EAAE;IAC5C,oBACEtE,MAAA,GAAAkB,OAAA,CAAAqF,aAAA,CAAC9F,iBAAA,GAAA4I,iBAAiB;MAACC,MAAM,EAAC,YAAY;MAACC,KAAK,EAAC;IAA2B,GAAC,2BAEtD,CAAC;EAExB;EACA,oBAAOvJ,MAAA,GAAAkB,OAAA,CAAAqF,aAAA,CAAC9F,iBAAA,GAAA4I,iBAAiB;IAACC,MAAM,EAAC,SAAS;IAACC,KAAK,EAAC;EAAiC,CAAE,CAAC;AACvF","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.1080/dist/docs.composition.js';
2
- import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.docs_docs@1.0.1080/dist/docs.docs.mdx';
1
+ import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.docs_docs@1.0.1082/dist/docs.composition.js';
2
+ import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.docs_docs@1.0.1082/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
+ }
@@ -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');
@@ -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.1080",
3
+ "version": "1.0.1082",
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.1080"
9
+ "version": "1.0.1082"
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.1080",
30
- "@teambit/component": "1.0.1080",
31
- "@teambit/pkg": "1.0.1080",
32
- "@teambit/workspace": "1.0.1080",
33
- "@teambit/dev-files": "1.0.1080",
34
- "@teambit/envs": "1.0.1080",
35
- "@teambit/graphql": "1.0.1080",
36
- "@teambit/preview": "1.0.1080",
37
- "@teambit/scope": "1.0.1080",
38
- "@teambit/api-reference": "1.0.1080",
39
- "@teambit/component-compare": "1.0.1080",
40
- "@teambit/ui": "1.0.1080",
41
- "@teambit/pubsub": "1.0.1080",
42
- "@teambit/compositions": "1.0.1080"
24
+ "@teambit/compiler": "1.0.1082",
25
+ "@teambit/component": "1.0.1082",
26
+ "@teambit/pkg": "1.0.1082",
27
+ "@teambit/workspace": "1.0.1082",
28
+ "@teambit/cli": "0.0.1359",
29
+ "@teambit/component.sources": "0.0.194",
30
+ "@teambit/dev-files": "1.0.1082",
31
+ "@teambit/envs": "1.0.1082",
32
+ "@teambit/graphql": "1.0.1082",
33
+ "@teambit/legacy.consumer-component": "0.0.143",
34
+ "@teambit/logger": "0.0.1452",
35
+ "@teambit/preview": "1.0.1082",
36
+ "@teambit/scope": "1.0.1082",
37
+ "@teambit/api-reference": "1.0.1082",
38
+ "@teambit/component-compare": "1.0.1082",
39
+ "@teambit/ui": "1.0.1082",
40
+ "@teambit/pubsub": "1.0.1082",
41
+ "@teambit/component.ui.component-meta": "0.0.370",
42
+ "@teambit/compositions": "1.0.1082"
43
43
  },
44
44
  "devDependencies": {
45
45
  "@types/lodash": "4.14.165",