@teambit/component 1.0.107 → 1.0.109

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. package/artifacts/preview/static/css/teambit.component/component-preview.8360f74e.css +55 -0
  2. package/artifacts/preview/static/images/348e1dfebd0d5a35a5e6.png +0 -0
  3. package/artifacts/preview/static/images/37978a86e2f81f41863e.png +0 -0
  4. package/artifacts/preview/teambit_component_component-preview.js +2 -0
  5. package/dist/aspect-entry.d.ts +4 -4
  6. package/dist/aspect-entry.js +1 -2
  7. package/dist/aspect-entry.js.map +1 -1
  8. package/dist/aspect-list.js +2 -2
  9. package/dist/aspect-list.js.map +1 -1
  10. package/dist/aspect.section.d.ts +3 -3
  11. package/dist/component-factory.d.ts +3 -3
  12. package/dist/component-interface.d.ts +1 -1
  13. package/dist/component-map/component-map.d.ts +2 -2
  14. package/dist/component.composition.d.ts +2 -2
  15. package/dist/component.d.ts +3 -3
  16. package/dist/component.graphql.d.ts +13 -13
  17. package/dist/component.graphql.js +3 -6
  18. package/dist/component.graphql.js.map +1 -1
  19. package/dist/component.js +5 -9
  20. package/dist/component.js.map +1 -1
  21. package/dist/component.main.runtime.d.ts +2 -2
  22. package/dist/component.route.d.ts +2 -2
  23. package/dist/component.ui.runtime.d.ts +7 -7
  24. package/dist/component.ui.runtime.js +12 -27
  25. package/dist/component.ui.runtime.js.map +1 -1
  26. package/dist/get-component-opts.d.ts +1 -1
  27. package/dist/hash.d.ts +1 -1
  28. package/dist/{preview-1703590665075.js → preview-1703698405864.js} +2 -2
  29. package/dist/snap/author.d.ts +1 -1
  30. package/dist/snap/snap.d.ts +1 -1
  31. package/dist/tag/tag.d.ts +1 -1
  32. package/dist/tag-map.d.ts +1 -1
  33. package/dist/ui/aspect-page/aspect-page.d.ts +2 -2
  34. package/dist/ui/aspect-page/aspect-page.js +1 -2
  35. package/dist/ui/aspect-page/aspect-page.js.map +1 -1
  36. package/dist/ui/component-error/component-error.d.ts +4 -4
  37. package/dist/ui/component-model/component-model.d.ts +21 -21
  38. package/dist/ui/component-model/component-model.js +1 -1
  39. package/dist/ui/component-model/component-model.js.map +1 -1
  40. package/dist/ui/component-searcher/component-result.d.ts +4 -4
  41. package/dist/ui/component-searcher/component-result.js +2 -2
  42. package/dist/ui/component-searcher/component-result.js.map +1 -1
  43. package/dist/ui/component-searcher/component-searcher.d.ts +2 -2
  44. package/dist/ui/component.d.ts +5 -5
  45. package/dist/ui/component.js +6 -6
  46. package/dist/ui/component.js.map +1 -1
  47. package/dist/ui/context/component-context.d.ts +1 -1
  48. package/dist/ui/context/component-provider.d.ts +5 -5
  49. package/dist/ui/menu/menu-nav.d.ts +2 -2
  50. package/dist/ui/menu/menu-nav.js +5 -5
  51. package/dist/ui/menu/menu-nav.js.map +1 -1
  52. package/dist/ui/menu/menu.d.ts +9 -9
  53. package/dist/ui/menu/menu.js +28 -31
  54. package/dist/ui/menu/menu.js.map +1 -1
  55. package/dist/ui/menu/nav-plugin.d.ts +7 -7
  56. package/dist/ui/top-bar-nav/top-bar-nav.d.ts +2 -2
  57. package/dist/ui/use-component-from-location.js +1 -1
  58. package/dist/ui/use-component-from-location.js.map +1 -1
  59. package/dist/ui/use-component-logs.d.ts +7 -7
  60. package/dist/ui/use-component-logs.js +5 -6
  61. package/dist/ui/use-component-logs.js.map +1 -1
  62. package/dist/ui/use-component-query.js +13 -17
  63. package/dist/ui/use-component-query.js.map +1 -1
  64. package/dist/ui/use-component.model.d.ts +7 -7
  65. package/package.json +33 -40
  66. package/tsconfig.json +16 -21
  67. package/types/asset.d.ts +15 -3
@@ -1 +1 @@
1
- {"version":3,"names":["_react","data","_interopRequireDefault","require","_lodash","_copyToClipboard","_commandBar","_componentUi","_harmony","_preview","_interopRequireWildcard","_pubsub","_reactRouter","_ui","_lodash2","_uiFoundationUi","_uiFoundationUiUseBox","_componentPackageVersion","_aspect","_component","_component2","_componentSearcher","_menu","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_defineProperty","key","value","_toPropertyKey","enumerable","configurable","writable","_toPrimitive","String","Symbol","toPrimitive","TypeError","Number","ComponentUI","constructor","pubsub","routeSlot","navSlot","consumeMethodSlot","widgetSlot","menuItemSlot","pageItemSlot","componentSearchResultSlot","commandBarUI","reactRouterUi","_this$activeComponent","packageName","activeComponent","_this$activeComponent2","version","id","versionString","formatToInstallableVersion","copy","action","_this$activeComponent3","toString","displayName","keybinding","copyNpmId","category","title","keyChar","handler","_this$commandBarUI","run","_this$commandBarUI2","_this$commandBarUI3","_this$commandBarUI4","options","componentId","packageNameFromProps","latest","latestFromProps","componentModel","packageVersion","Title","createElement","style","width","src","Component","hide","Import","ignoreVersion","componentName","name","showInstallMethod","disableInstall","order","menuItems","register","items","totalPlugins","flatten","values","componentSearcher","updatePlugins","components","update","ComponentSearcher","navigate","navigateTo","isBrowser","registerPubSub","routes","toArray","map","Array","isArray","snapToSemver","sub","PreviewAspect","be","type","ClickInsideAnIframeEvent","TYPE","event","MouseEvent","view","window","bubbles","cancelable","body","document","dispatchEvent","getComponentUI","host","containerSlot","onComponentChange","handleComponentChange","path","useComponent","componentIdStr","useComponentFilters","overriddenRoutes","getMenu","ComponentMenu","className","skipRightSide","navigationSlot","RightNode","listMenuItems","mainMenuItems","groupBy","registerRoute","registerNavigation","nav","props","registerConsumeMethod","consumeMethods","registerWidget","widget","provider","reactRouterUI","config","pageSlot","componentUI","aspectSection","AspectSection","registerSearchResultWidget","end","DeprecationIcon","commandBar","addCommand","keyBindings","addSearcher","registerMenuItem","route","navigationLink","bitMethod","exports","PubsubAspect","CommandBarAspect","ReactRouterAspect","UIRuntime","Slot","withType","_default","ComponentAspect","addRuntime"],"sources":["component.ui.runtime.tsx"],"sourcesContent":["import React from 'react';\nimport flatten from 'lodash.flatten';\nimport copy from 'copy-to-clipboard';\nimport type { RouteProps } from 'react-router-dom';\nimport type { LinkProps } from '@teambit/base-react.navigation.link';\nimport CommandBarAspect, { CommandBarUI, CommandEntry } from '@teambit/command-bar';\nimport { DeprecationIcon } from '@teambit/component.ui.deprecation-icon';\nimport { Slot, SlotRegistry } from '@teambit/harmony';\nimport PreviewAspect, { ClickInsideAnIframeEvent } from '@teambit/preview';\nimport PubsubAspect, { BitBaseEvent, PubsubUI } from '@teambit/pubsub';\nimport ReactRouterAspect, { ReactRouterUI } from '@teambit/react-router';\nimport { UIRuntime } from '@teambit/ui';\nimport { groupBy } from 'lodash';\nimport { isBrowser } from '@teambit/ui-foundation.ui.is-browser';\nimport { MenuItem, MenuItemSlot } from '@teambit/ui-foundation.ui.main-dropdown';\nimport { NavigationSlot, RouteSlot } from '@teambit/ui-foundation.ui.react-router.slot-router';\nimport { Import } from '@teambit/ui-foundation.ui.use-box.menu';\nimport { snapToSemver } from '@teambit/component-package-version';\nimport { AspectSection } from './aspect.section';\nimport { ComponentAspect } from './component.aspect';\nimport { ComponentModel } from './ui';\nimport { Component, ComponentPageElement, ComponentPageSlot } from './ui/component';\nimport { ComponentResultPlugin, ComponentSearcher } from './ui/component-searcher';\nimport { ConsumeMethodSlot, ConsumePlugin, ComponentMenu, NavPlugin, OrderedNavigationSlot } from './ui/menu';\nimport { GetComponentsOptions } from './get-component-opts';\n\nexport type ComponentSearchResultSlot = SlotRegistry<ComponentResultPlugin[]>;\n\nexport type ComponentUIConfig = {\n commandBar: boolean;\n};\n\nexport type Server = {\n env: string;\n url: string;\n};\n\nexport type ComponentMeta = {\n id: string;\n};\n\nexport class ComponentUI {\n readonly routePath = `/*`;\n private componentSearcher: ComponentSearcher;\n\n constructor(\n /**\n * Pubsub aspects\n */\n private pubsub: PubsubUI,\n\n private routeSlot: RouteSlot,\n\n private navSlot: OrderedNavigationSlot,\n\n readonly consumeMethodSlot: ConsumeMethodSlot,\n\n /**\n * slot for registering a new widget to the menu.\n */\n private widgetSlot: OrderedNavigationSlot,\n\n private menuItemSlot: MenuItemSlot,\n\n private pageItemSlot: ComponentPageSlot,\n\n private componentSearchResultSlot: ComponentSearchResultSlot,\n\n private commandBarUI: CommandBarUI,\n\n reactRouterUi: ReactRouterUI\n ) {\n this.componentSearcher = new ComponentSearcher({ navigate: reactRouterUi.navigateTo });\n if (isBrowser) this.registerPubSub();\n }\n\n get routes() {\n return this.routeSlot\n .toArray()\n .map(([key, routes]) => [key, Array.isArray(routes) ? [...flatten(routes)] : [routes]] as [string, RouteProps[]]);\n }\n\n /**\n * the current visible component\n */\n private activeComponent?: ComponentModel;\n\n formatToInstallableVersion(version: string) {\n return snapToSemver(version);\n }\n\n private copyNpmId = () => {\n const packageName = this.activeComponent?.packageName;\n if (packageName) {\n const version = this.activeComponent?.id.version;\n const versionString = version ? `@${this.formatToInstallableVersion(version)}` : '';\n copy(`${packageName}${versionString}`);\n }\n };\n\n /**\n * key bindings used by component aspect\n */\n private keyBindings: CommandEntry[] = [\n {\n id: 'component.copyBitId', // TODO - extract to a component!\n action: () => {\n copy(this.activeComponent?.id.toString() || '');\n },\n displayName: 'Copy component ID',\n keybinding: '.',\n },\n {\n id: 'component.copyNpmId', // TODO - extract to a component!\n action: this.copyNpmId,\n displayName: 'Copy component package name',\n keybinding: ',',\n },\n ];\n\n private menuItems: MenuItem[] = [\n {\n category: 'general',\n title: 'Open command bar',\n keyChar: 'mod+k',\n handler: () => this.commandBarUI?.run('command-bar.open'),\n },\n {\n category: 'general',\n title: 'Toggle component list',\n keyChar: 'alt+s',\n handler: () => this.commandBarUI?.run('sidebar.toggle'),\n },\n {\n category: 'workflow',\n title: 'Copy component ID',\n keyChar: '.',\n handler: () => this.commandBarUI?.run('component.copyBitId'),\n },\n {\n category: 'workflow',\n title: 'Copy component package name',\n keyChar: ',',\n handler: () => this.commandBarUI?.run('component.copyNpmId'),\n },\n ];\n\n private bitMethod: ConsumePlugin = ({\n options,\n id: componentId,\n packageName: packageNameFromProps,\n latest: latestFromProps,\n componentModel,\n }) => {\n const packageName = packageNameFromProps || componentModel?.packageName;\n const latest = latestFromProps || componentModel?.id.version;\n\n const version = componentId.version === latest ? '' : `@${componentId.version}`;\n const packageVersion =\n componentId.version === latest ? '' : `@${this.formatToInstallableVersion(componentId.version as string)}`;\n\n return {\n Title: <img style={{ width: '20px' }} src=\"https://static.bit.dev/brands/bit-logo-text.svg\" />,\n Component: !options?.hide ? (\n <Import\n componentId={`${componentId.toString({ ignoreVersion: true })}${version}`}\n packageName={`${packageName}${packageVersion}`}\n componentName={componentId.name}\n showInstallMethod={!options?.disableInstall}\n />\n ) : null,\n order: 0,\n };\n };\n\n registerPubSub() {\n this.pubsub.sub(PreviewAspect.id, (be: BitBaseEvent<any>) => {\n if (be.type === ClickInsideAnIframeEvent.TYPE) {\n const event = new MouseEvent('mousedown', {\n view: window,\n bubbles: true,\n cancelable: true,\n });\n\n const body = document.body;\n body?.dispatchEvent(event);\n }\n });\n }\n\n handleComponentChange = (activeComponent?: ComponentModel) => {\n this.activeComponent = activeComponent;\n };\n\n getComponentUI(host: string, options: GetComponentsOptions = {}) {\n return (\n <Component\n routeSlot={this.routeSlot}\n containerSlot={this.pageItemSlot}\n onComponentChange={this.handleComponentChange}\n host={host}\n path={options.path}\n useComponent={options.useComponent}\n componentIdStr={options.componentId}\n useComponentFilters={options.useComponentFilters}\n overriddenRoutes={options.routes}\n />\n );\n }\n\n getMenu(host: string, options: GetComponentsOptions = {}) {\n return (\n <ComponentMenu\n className={options.className}\n skipRightSide={options.skipRightSide}\n navigationSlot={this.navSlot}\n consumeMethodSlot={this.consumeMethodSlot}\n widgetSlot={this.widgetSlot}\n host={host}\n menuItemSlot={this.menuItemSlot}\n useComponent={options.useComponent}\n path={options.path}\n componentIdStr={options.componentId}\n useComponentFilters={options.useComponentFilters}\n RightNode={options.RightNode}\n />\n );\n }\n\n listMenuItems() {\n const mainMenuItems = groupBy(flatten(this.menuItemSlot.values()), 'category');\n return mainMenuItems;\n }\n\n registerRoute(routes: RouteProps[] | RouteProps) {\n this.routeSlot.register(routes);\n return this;\n }\n\n registerNavigation(nav: LinkProps, order?: number) {\n this.navSlot.register({\n props: nav,\n order,\n });\n }\n\n registerConsumeMethod(...consumeMethods: ConsumePlugin[]) {\n this.consumeMethodSlot.register(consumeMethods);\n }\n\n registerWidget(widget: LinkProps, order?: number) {\n this.widgetSlot.register({ props: widget, order });\n }\n\n registerMenuItem = (menuItems: MenuItem[]) => {\n this.menuItemSlot.register(menuItems);\n };\n\n registerPageItem = (...items: ComponentPageElement[]) => {\n this.pageItemSlot.register(items);\n };\n\n /** register widgets to the components listed in the command bar */\n registerSearchResultWidget = (...items: ComponentResultPlugin[]) => {\n this.componentSearchResultSlot.register(items);\n const totalPlugins = flatten(this.componentSearchResultSlot.values());\n\n this.componentSearcher.updatePlugins(totalPlugins);\n };\n\n updateComponents = (components: ComponentModel[]) => {\n this.componentSearcher.update(components || []);\n };\n\n static dependencies = [PubsubAspect, CommandBarAspect, ReactRouterAspect];\n\n static runtime = UIRuntime;\n\n static slots = [\n Slot.withType<RouteProps>(),\n Slot.withType<NavPlugin>(),\n Slot.withType<NavigationSlot>(),\n Slot.withType<ConsumeMethodSlot>(),\n Slot.withType<MenuItemSlot>(),\n Slot.withType<ComponentPageSlot>(),\n Slot.withType<ComponentSearchResultSlot>(),\n ];\n static defaultConfig: ComponentUIConfig = {\n commandBar: true,\n };\n\n static async provider(\n [pubsub, commandBarUI, reactRouterUI]: [PubsubUI, CommandBarUI, ReactRouterUI],\n config: ComponentUIConfig,\n [routeSlot, navSlot, consumeMethodSlot, widgetSlot, menuItemSlot, pageSlot, componentSearchResultSlot]: [\n RouteSlot,\n OrderedNavigationSlot,\n ConsumeMethodSlot,\n OrderedNavigationSlot,\n MenuItemSlot,\n ComponentPageSlot,\n ComponentSearchResultSlot\n ]\n ) {\n // TODO: refactor ComponentHost to a separate extension (including sidebar, host, graphql, etc.)\n // TODO: add contextual hook for ComponentHost @uri/@oded\n const componentUI = new ComponentUI(\n pubsub,\n routeSlot,\n navSlot,\n consumeMethodSlot,\n widgetSlot,\n menuItemSlot,\n pageSlot,\n componentSearchResultSlot,\n commandBarUI,\n reactRouterUI\n );\n const aspectSection = new AspectSection();\n // @ts-ignore\n componentUI.registerSearchResultWidget({ key: 'deprecation', end: DeprecationIcon });\n\n if (componentUI.commandBarUI && config.commandBar) {\n componentUI.commandBarUI.addCommand(...componentUI.keyBindings);\n commandBarUI.addSearcher(componentUI.componentSearcher);\n }\n\n componentUI.registerMenuItem(componentUI.menuItems);\n componentUI.registerRoute(aspectSection.route);\n componentUI.registerWidget(aspectSection.navigationLink, aspectSection.order);\n componentUI.registerConsumeMethod(componentUI.bitMethod);\n return componentUI;\n }\n}\n\nexport default ComponentUI;\n\nComponentAspect.addRuntime(ComponentUI);\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","data","_interopRequireDefault","require","_lodash","_copyToClipboard","_commandBar","_componentUi","_harmony","_preview","_interopRequireWildcard","_pubsub","_reactRouter","_ui","_lodash2","_uiFoundationUi","_uiFoundationUiUseBox","_componentPackageVersion","_aspect","_component","_component2","_componentSearcher","_menu","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_defineProperty","key","value","_toPropertyKey","enumerable","configurable","writable","_toPrimitive","String","Symbol","toPrimitive","TypeError","Number","ComponentUI","constructor","pubsub","routeSlot","navSlot","consumeMethodSlot","widgetSlot","menuItemSlot","pageItemSlot","componentSearchResultSlot","commandBarUI","reactRouterUi","packageName","activeComponent","version","id","versionString","formatToInstallableVersion","copy","action","toString","displayName","keybinding","copyNpmId","category","title","keyChar","handler","run","options","componentId","packageNameFromProps","latest","latestFromProps","componentModel","packageVersion","Title","createElement","style","width","src","Component","hide","Import","ignoreVersion","componentName","name","showInstallMethod","disableInstall","order","menuItems","register","items","totalPlugins","flatten","values","componentSearcher","updatePlugins","components","update","ComponentSearcher","navigate","navigateTo","isBrowser","registerPubSub","routes","toArray","map","Array","isArray","snapToSemver","sub","PreviewAspect","be","type","ClickInsideAnIframeEvent","TYPE","event","MouseEvent","view","window","bubbles","cancelable","body","document","dispatchEvent","getComponentUI","host","containerSlot","onComponentChange","handleComponentChange","path","useComponent","componentIdStr","useComponentFilters","overriddenRoutes","getMenu","ComponentMenu","className","skipRightSide","navigationSlot","RightNode","listMenuItems","mainMenuItems","groupBy","registerRoute","registerNavigation","nav","props","registerConsumeMethod","consumeMethods","registerWidget","widget","provider","reactRouterUI","config","pageSlot","componentUI","aspectSection","AspectSection","registerSearchResultWidget","end","DeprecationIcon","commandBar","addCommand","keyBindings","addSearcher","registerMenuItem","route","navigationLink","bitMethod","exports","PubsubAspect","CommandBarAspect","ReactRouterAspect","UIRuntime","Slot","withType","_default","ComponentAspect","addRuntime"],"sources":["component.ui.runtime.tsx"],"sourcesContent":["import React from 'react';\nimport flatten from 'lodash.flatten';\nimport copy from 'copy-to-clipboard';\nimport type { RouteProps } from 'react-router-dom';\nimport type { LinkProps } from '@teambit/base-react.navigation.link';\nimport CommandBarAspect, { CommandBarUI, CommandEntry } from '@teambit/command-bar';\nimport { DeprecationIcon } from '@teambit/component.ui.deprecation-icon';\nimport { Slot, SlotRegistry } from '@teambit/harmony';\nimport PreviewAspect, { ClickInsideAnIframeEvent } from '@teambit/preview';\nimport PubsubAspect, { BitBaseEvent, PubsubUI } from '@teambit/pubsub';\nimport ReactRouterAspect, { ReactRouterUI } from '@teambit/react-router';\nimport { UIRuntime } from '@teambit/ui';\nimport { groupBy } from 'lodash';\nimport { isBrowser } from '@teambit/ui-foundation.ui.is-browser';\nimport { MenuItem, MenuItemSlot } from '@teambit/ui-foundation.ui.main-dropdown';\nimport { NavigationSlot, RouteSlot } from '@teambit/ui-foundation.ui.react-router.slot-router';\nimport { Import } from '@teambit/ui-foundation.ui.use-box.menu';\nimport { snapToSemver } from '@teambit/component-package-version';\nimport { AspectSection } from './aspect.section';\nimport { ComponentAspect } from './component.aspect';\nimport { ComponentModel } from './ui';\nimport { Component, ComponentPageElement, ComponentPageSlot } from './ui/component';\nimport { ComponentResultPlugin, ComponentSearcher } from './ui/component-searcher';\nimport { ConsumeMethodSlot, ConsumePlugin, ComponentMenu, NavPlugin, OrderedNavigationSlot } from './ui/menu';\nimport { GetComponentsOptions } from './get-component-opts';\n\nexport type ComponentSearchResultSlot = SlotRegistry<ComponentResultPlugin[]>;\n\nexport type ComponentUIConfig = {\n commandBar: boolean;\n};\n\nexport type Server = {\n env: string;\n url: string;\n};\n\nexport type ComponentMeta = {\n id: string;\n};\n\nexport class ComponentUI {\n readonly routePath = `/*`;\n private componentSearcher: ComponentSearcher;\n\n constructor(\n /**\n * Pubsub aspects\n */\n private pubsub: PubsubUI,\n\n private routeSlot: RouteSlot,\n\n private navSlot: OrderedNavigationSlot,\n\n readonly consumeMethodSlot: ConsumeMethodSlot,\n\n /**\n * slot for registering a new widget to the menu.\n */\n private widgetSlot: OrderedNavigationSlot,\n\n private menuItemSlot: MenuItemSlot,\n\n private pageItemSlot: ComponentPageSlot,\n\n private componentSearchResultSlot: ComponentSearchResultSlot,\n\n private commandBarUI: CommandBarUI,\n\n reactRouterUi: ReactRouterUI\n ) {\n this.componentSearcher = new ComponentSearcher({ navigate: reactRouterUi.navigateTo });\n if (isBrowser) this.registerPubSub();\n }\n\n get routes() {\n return this.routeSlot\n .toArray()\n .map(([key, routes]) => [key, Array.isArray(routes) ? [...flatten(routes)] : [routes]] as [string, RouteProps[]]);\n }\n\n /**\n * the current visible component\n */\n private activeComponent?: ComponentModel;\n\n formatToInstallableVersion(version: string) {\n return snapToSemver(version);\n }\n\n private copyNpmId = () => {\n const packageName = this.activeComponent?.packageName;\n if (packageName) {\n const version = this.activeComponent?.id.version;\n const versionString = version ? `@${this.formatToInstallableVersion(version)}` : '';\n copy(`${packageName}${versionString}`);\n }\n };\n\n /**\n * key bindings used by component aspect\n */\n private keyBindings: CommandEntry[] = [\n {\n id: 'component.copyBitId', // TODO - extract to a component!\n action: () => {\n copy(this.activeComponent?.id.toString() || '');\n },\n displayName: 'Copy component ID',\n keybinding: '.',\n },\n {\n id: 'component.copyNpmId', // TODO - extract to a component!\n action: this.copyNpmId,\n displayName: 'Copy component package name',\n keybinding: ',',\n },\n ];\n\n private menuItems: MenuItem[] = [\n {\n category: 'general',\n title: 'Open command bar',\n keyChar: 'mod+k',\n handler: () => this.commandBarUI?.run('command-bar.open'),\n },\n {\n category: 'general',\n title: 'Toggle component list',\n keyChar: 'alt+s',\n handler: () => this.commandBarUI?.run('sidebar.toggle'),\n },\n {\n category: 'workflow',\n title: 'Copy component ID',\n keyChar: '.',\n handler: () => this.commandBarUI?.run('component.copyBitId'),\n },\n {\n category: 'workflow',\n title: 'Copy component package name',\n keyChar: ',',\n handler: () => this.commandBarUI?.run('component.copyNpmId'),\n },\n ];\n\n private bitMethod: ConsumePlugin = ({\n options,\n id: componentId,\n packageName: packageNameFromProps,\n latest: latestFromProps,\n componentModel,\n }) => {\n const packageName = packageNameFromProps || componentModel?.packageName;\n const latest = latestFromProps || componentModel?.id.version;\n\n const version = componentId.version === latest ? '' : `@${componentId.version}`;\n const packageVersion =\n componentId.version === latest ? '' : `@${this.formatToInstallableVersion(componentId.version as string)}`;\n\n return {\n Title: <img style={{ width: '20px' }} src=\"https://static.bit.dev/brands/bit-logo-text.svg\" />,\n Component: !options?.hide ? (\n <Import\n componentId={`${componentId.toString({ ignoreVersion: true })}${version}`}\n packageName={`${packageName}${packageVersion}`}\n componentName={componentId.name}\n showInstallMethod={!options?.disableInstall}\n />\n ) : null,\n order: 0,\n };\n };\n\n registerPubSub() {\n this.pubsub.sub(PreviewAspect.id, (be: BitBaseEvent<any>) => {\n if (be.type === ClickInsideAnIframeEvent.TYPE) {\n const event = new MouseEvent('mousedown', {\n view: window,\n bubbles: true,\n cancelable: true,\n });\n\n const body = document.body;\n body?.dispatchEvent(event);\n }\n });\n }\n\n handleComponentChange = (activeComponent?: ComponentModel) => {\n this.activeComponent = activeComponent;\n };\n\n getComponentUI(host: string, options: GetComponentsOptions = {}) {\n return (\n <Component\n routeSlot={this.routeSlot}\n containerSlot={this.pageItemSlot}\n onComponentChange={this.handleComponentChange}\n host={host}\n path={options.path}\n useComponent={options.useComponent}\n componentIdStr={options.componentId}\n useComponentFilters={options.useComponentFilters}\n overriddenRoutes={options.routes}\n />\n );\n }\n\n getMenu(host: string, options: GetComponentsOptions = {}) {\n return (\n <ComponentMenu\n className={options.className}\n skipRightSide={options.skipRightSide}\n navigationSlot={this.navSlot}\n consumeMethodSlot={this.consumeMethodSlot}\n widgetSlot={this.widgetSlot}\n host={host}\n menuItemSlot={this.menuItemSlot}\n useComponent={options.useComponent}\n path={options.path}\n componentIdStr={options.componentId}\n useComponentFilters={options.useComponentFilters}\n RightNode={options.RightNode}\n />\n );\n }\n\n listMenuItems() {\n const mainMenuItems = groupBy(flatten(this.menuItemSlot.values()), 'category');\n return mainMenuItems;\n }\n\n registerRoute(routes: RouteProps[] | RouteProps) {\n this.routeSlot.register(routes);\n return this;\n }\n\n registerNavigation(nav: LinkProps, order?: number) {\n this.navSlot.register({\n props: nav,\n order,\n });\n }\n\n registerConsumeMethod(...consumeMethods: ConsumePlugin[]) {\n this.consumeMethodSlot.register(consumeMethods);\n }\n\n registerWidget(widget: LinkProps, order?: number) {\n this.widgetSlot.register({ props: widget, order });\n }\n\n registerMenuItem = (menuItems: MenuItem[]) => {\n this.menuItemSlot.register(menuItems);\n };\n\n registerPageItem = (...items: ComponentPageElement[]) => {\n this.pageItemSlot.register(items);\n };\n\n /** register widgets to the components listed in the command bar */\n registerSearchResultWidget = (...items: ComponentResultPlugin[]) => {\n this.componentSearchResultSlot.register(items);\n const totalPlugins = flatten(this.componentSearchResultSlot.values());\n\n this.componentSearcher.updatePlugins(totalPlugins);\n };\n\n updateComponents = (components: ComponentModel[]) => {\n this.componentSearcher.update(components || []);\n };\n\n static dependencies = [PubsubAspect, CommandBarAspect, ReactRouterAspect];\n\n static runtime = UIRuntime;\n\n static slots = [\n Slot.withType<RouteProps>(),\n Slot.withType<NavPlugin>(),\n Slot.withType<NavigationSlot>(),\n Slot.withType<ConsumeMethodSlot>(),\n Slot.withType<MenuItemSlot>(),\n Slot.withType<ComponentPageSlot>(),\n Slot.withType<ComponentSearchResultSlot>(),\n ];\n static defaultConfig: ComponentUIConfig = {\n commandBar: true,\n };\n\n static async provider(\n [pubsub, commandBarUI, reactRouterUI]: [PubsubUI, CommandBarUI, ReactRouterUI],\n config: ComponentUIConfig,\n [routeSlot, navSlot, consumeMethodSlot, widgetSlot, menuItemSlot, pageSlot, componentSearchResultSlot]: [\n RouteSlot,\n OrderedNavigationSlot,\n ConsumeMethodSlot,\n OrderedNavigationSlot,\n MenuItemSlot,\n ComponentPageSlot,\n ComponentSearchResultSlot\n ]\n ) {\n // TODO: refactor ComponentHost to a separate extension (including sidebar, host, graphql, etc.)\n // TODO: add contextual hook for ComponentHost @uri/@oded\n const componentUI = new ComponentUI(\n pubsub,\n routeSlot,\n navSlot,\n consumeMethodSlot,\n widgetSlot,\n menuItemSlot,\n pageSlot,\n componentSearchResultSlot,\n commandBarUI,\n reactRouterUI\n );\n const aspectSection = new AspectSection();\n // @ts-ignore\n componentUI.registerSearchResultWidget({ key: 'deprecation', end: DeprecationIcon });\n\n if (componentUI.commandBarUI && config.commandBar) {\n componentUI.commandBarUI.addCommand(...componentUI.keyBindings);\n commandBarUI.addSearcher(componentUI.componentSearcher);\n }\n\n componentUI.registerMenuItem(componentUI.menuItems);\n componentUI.registerRoute(aspectSection.route);\n componentUI.registerWidget(aspectSection.navigationLink, aspectSection.order);\n componentUI.registerConsumeMethod(componentUI.bitMethod);\n return componentUI;\n }\n}\n\nexport default ComponentUI;\n\nComponentAspect.addRuntime(ComponentUI);\n"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import { RouteProps } from 'react-router-dom';
3
3
  import type { UseComponentType, Filters } from './ui/use-component';
4
- export declare type GetComponentsOptions = {
4
+ export type GetComponentsOptions = {
5
5
  useComponent?: UseComponentType;
6
6
  componentId?: string | (() => string | undefined);
7
7
  useComponentFilters?: () => Filters;
package/dist/hash.d.ts CHANGED
@@ -1,4 +1,4 @@
1
1
  /**
2
2
  * type for representing content-addressable filesystem hashes.
3
3
  */
4
- export declare type Hash = string;
4
+ export type Hash = string;
@@ -1,5 +1,5 @@
1
- import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.component_component@1.0.107/dist/component.composition.js';
2
- import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.component_component@1.0.107/dist/component.docs.mdx';
1
+ import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.component_component@1.0.109/dist/component.composition.js';
2
+ import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.component_component@1.0.109/dist/component.docs.mdx';
3
3
 
4
4
  export const compositions = [compositions_0];
5
5
  export const overview = [overview_0];
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * author type.
3
3
  */
4
- export declare type Author = {
4
+ export type Author = {
5
5
  /**
6
6
  * author full name (for example: "Ran Mizrahi")
7
7
  */
@@ -1,5 +1,5 @@
1
1
  import { Author } from './author';
2
- export declare type SnapProps = {
2
+ export type SnapProps = {
3
3
  hash: string;
4
4
  timestamp: string;
5
5
  parents: string[];
package/dist/tag/tag.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { SemVer } from 'semver';
2
- export declare type TagProps = {
2
+ export type TagProps = {
3
3
  hash: string;
4
4
  version: string;
5
5
  };
package/dist/tag-map.d.ts CHANGED
@@ -5,7 +5,7 @@ export declare class TagMap extends Map<SemVer, Tag> {
5
5
  /**
6
6
  * get snap by hash.
7
7
  */
8
- byHash(hash: Hash): Tag | undefined;
8
+ byHash(hash: Hash): Tag;
9
9
  /**
10
10
  * e.g.
11
11
  * {
@@ -1,2 +1,2 @@
1
- import React from 'react';
2
- export declare function AspectPage(): React.JSX.Element;
1
+ /// <reference types="react" />
2
+ export declare function AspectPage(): JSX.Element;
@@ -87,7 +87,6 @@ const GET_COMPONENT = (0, _client().gql)`
87
87
 
88
88
  // TODO: get the docs domain from the community aspect and pass it here as a prop
89
89
  function AspectPage() {
90
- var _data$getHost;
91
90
  const component = (0, _react().useContext)(_component().ComponentContext);
92
91
  const {
93
92
  data
@@ -96,7 +95,7 @@ function AspectPage() {
96
95
  id: component.id.toString()
97
96
  }
98
97
  });
99
- const aspectList = data === null || data === void 0 || (_data$getHost = data.getHost) === null || _data$getHost === void 0 || (_data$getHost = _data$getHost.get) === null || _data$getHost === void 0 ? void 0 : _data$getHost.aspects;
98
+ const aspectList = data?.getHost?.get?.aspects;
100
99
  if (aspectList && aspectList.length === 0) {
101
100
  return /*#__PURE__*/_react().default.createElement(_designUi().EmptyBox, {
102
101
  title: "This component is new and doesn\u2019t have any aspects.",
@@ -1 +1 @@
1
- {"version":3,"names":["_harmonyUi","data","require","_component","_react","_interopRequireWildcard","_uiFoundationUiHooks","_client","_designUi","_documenterUi","_documenterUi2","_aspectPageModule","_interopRequireDefault","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","GET_COMPONENT","gql","AspectPage","_data$getHost","component","useContext","ComponentContext","useDataQuery","variables","id","toString","aspectList","getHost","aspects","length","createElement","EmptyBox","title","linkText","link","className","styles","aspectPage","H1","Separator","separator","map","aspect","AspectBox","key","aspectBox","name","icon","config"],"sources":["aspect-page.tsx"],"sourcesContent":["import { AspectBox } from '@teambit/harmony.ui.aspect-box';\nimport { ComponentContext } from '@teambit/component';\nimport React, { useContext } from 'react';\nimport { useDataQuery } from '@teambit/ui-foundation.ui.hooks.use-data-query';\nimport { gql } from '@apollo/client';\nimport { EmptyBox } from '@teambit/design.ui.empty-box';\nimport { H1 } from '@teambit/documenter.ui.heading';\nimport { Separator } from '@teambit/documenter.ui.separator';\nimport styles from './aspect-page.module.scss';\n\nconst GET_COMPONENT = gql`\n query ($id: String!) {\n getHost {\n get(id: $id) {\n aspects {\n id\n config\n data\n icon\n }\n }\n }\n }\n`;\n\n// TODO: get the docs domain from the community aspect and pass it here as a prop\nexport function AspectPage() {\n const component = useContext(ComponentContext);\n const { data } = useDataQuery(GET_COMPONENT, {\n variables: { id: component.id.toString() },\n });\n const aspectList = data?.getHost?.get?.aspects;\n\n if (aspectList && aspectList.length === 0) {\n return (\n <EmptyBox\n title=\"This component is new and doesn’t have any aspects.\"\n linkText=\"Learn more about component aspects\"\n link={`https://bit.dev/docs/extending-bit/aspect-overview`}\n />\n );\n }\n\n return (\n <div className={styles.aspectPage}>\n <div>\n <H1 className={styles.title}>Configuration</H1>\n <Separator className={styles.separator} />\n {aspectList &&\n aspectList.map((aspect) => {\n return (\n <AspectBox\n key={aspect.id}\n className={styles.aspectBox}\n name={aspect.id}\n icon={aspect.icon}\n config={aspect.config}\n data={aspect.data}\n />\n );\n })}\n </div>\n </div>\n );\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_harmonyUi","data","require","_component","_react","_interopRequireWildcard","_uiFoundationUiHooks","_client","_designUi","_documenterUi","_documenterUi2","_aspectPageModule","_interopRequireDefault","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","GET_COMPONENT","gql","AspectPage","component","useContext","ComponentContext","useDataQuery","variables","id","toString","aspectList","getHost","aspects","length","createElement","EmptyBox","title","linkText","link","className","styles","aspectPage","H1","Separator","separator","map","aspect","AspectBox","key","aspectBox","name","icon","config"],"sources":["aspect-page.tsx"],"sourcesContent":["import { AspectBox } from '@teambit/harmony.ui.aspect-box';\nimport { ComponentContext } from '@teambit/component';\nimport React, { useContext } from 'react';\nimport { useDataQuery } from '@teambit/ui-foundation.ui.hooks.use-data-query';\nimport { gql } from '@apollo/client';\nimport { EmptyBox } from '@teambit/design.ui.empty-box';\nimport { H1 } from '@teambit/documenter.ui.heading';\nimport { Separator } from '@teambit/documenter.ui.separator';\nimport styles from './aspect-page.module.scss';\n\nconst GET_COMPONENT = gql`\n query ($id: String!) {\n getHost {\n get(id: $id) {\n aspects {\n id\n config\n data\n icon\n }\n }\n }\n }\n`;\n\n// TODO: get the docs domain from the community aspect and pass it here as a prop\nexport function AspectPage() {\n const component = useContext(ComponentContext);\n const { data } = useDataQuery(GET_COMPONENT, {\n variables: { id: component.id.toString() },\n });\n const aspectList = data?.getHost?.get?.aspects;\n\n if (aspectList && aspectList.length === 0) {\n return (\n <EmptyBox\n title=\"This component is new and doesn’t have any aspects.\"\n linkText=\"Learn more about component aspects\"\n link={`https://bit.dev/docs/extending-bit/aspect-overview`}\n />\n );\n }\n\n return (\n <div className={styles.aspectPage}>\n <div>\n <H1 className={styles.title}>Configuration</H1>\n <Separator className={styles.separator} />\n {aspectList &&\n aspectList.map((aspect) => {\n return (\n <AspectBox\n key={aspect.id}\n className={styles.aspectBox}\n name={aspect.id}\n icon={aspect.icon}\n config={aspect.config}\n data={aspect.data}\n />\n );\n })}\n </div>\n </div>\n );\n}\n"],"mappings":";;;;;;AAAA,SAAAA,WAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,UAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,WAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,UAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,OAAA;EAAA,MAAAH,IAAA,GAAAI,uBAAA,CAAAH,OAAA;EAAAE,MAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAK,qBAAA;EAAA,MAAAL,IAAA,GAAAC,OAAA;EAAAI,oBAAA,YAAAA,CAAA;IAAA,OAAAL,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAM,QAAA;EAAA,MAAAN,IAAA,GAAAC,OAAA;EAAAK,OAAA,YAAAA,CAAA;IAAA,OAAAN,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAO,UAAA;EAAA,MAAAP,IAAA,GAAAC,OAAA;EAAAM,SAAA,YAAAA,CAAA;IAAA,OAAAP,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAQ,cAAA;EAAA,MAAAR,IAAA,GAAAC,OAAA;EAAAO,aAAA,YAAAA,CAAA;IAAA,OAAAR,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAS,eAAA;EAAA,MAAAT,IAAA,GAAAC,OAAA;EAAAQ,cAAA,YAAAA,CAAA;IAAA,OAAAT,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAU,kBAAA;EAAA,MAAAV,IAAA,GAAAW,sBAAA,CAAAV,OAAA;EAAAS,iBAAA,YAAAA,CAAA;IAAA,OAAAV,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA+C,SAAAW,uBAAAC,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAZ,wBAAAY,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAH,UAAA,SAAAG,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAF,OAAA,EAAAE,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAC,GAAA,CAAAJ,CAAA,UAAAG,CAAA,CAAAE,GAAA,CAAAL,CAAA,OAAAM,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAZ,CAAA,oBAAAY,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAY,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAX,CAAA,EAAAY,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAZ,CAAA,CAAAY,CAAA,YAAAN,CAAA,CAAAR,OAAA,GAAAE,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAc,GAAA,CAAAjB,CAAA,EAAAM,CAAA,GAAAA,CAAA;AAE/C,MAAMY,aAAa,GAAG,IAAAC,aAAG,CAAC;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACO,SAASC,UAAUA,CAAA,EAAG;EAC3B,MAAMC,SAAS,GAAG,IAAAC,mBAAU,EAACC,6BAAgB,CAAC;EAC9C,MAAM;IAAEvC;EAAK,CAAC,GAAG,IAAAwC,mCAAY,EAACN,aAAa,EAAE;IAC3CO,SAAS,EAAE;MAAEC,EAAE,EAAEL,SAAS,CAACK,EAAE,CAACC,QAAQ,CAAC;IAAE;EAC3C,CAAC,CAAC;EACF,MAAMC,UAAU,GAAG5C,IAAI,EAAE6C,OAAO,EAAExB,GAAG,EAAEyB,OAAO;EAE9C,IAAIF,UAAU,IAAIA,UAAU,CAACG,MAAM,KAAK,CAAC,EAAE;IACzC,oBACE5C,MAAA,GAAAW,OAAA,CAAAkC,aAAA,CAACzC,SAAA,GAAA0C,QAAQ;MACPC,KAAK,EAAC,0DAAqD;MAC3DC,QAAQ,EAAC,oCAAoC;MAC7CC,IAAI,EAAG;IAAoD,CAC5D,CAAC;EAEN;EAEA,oBACEjD,MAAA,GAAAW,OAAA,CAAAkC,aAAA;IAAKK,SAAS,EAAEC,2BAAM,CAACC;EAAW,gBAChCpD,MAAA,GAAAW,OAAA,CAAAkC,aAAA,2BACE7C,MAAA,GAAAW,OAAA,CAAAkC,aAAA,CAACxC,aAAA,GAAAgD,EAAE;IAACH,SAAS,EAAEC,2BAAM,CAACJ;EAAM,GAAC,eAAiB,CAAC,eAC/C/C,MAAA,GAAAW,OAAA,CAAAkC,aAAA,CAACvC,cAAA,GAAAgD,SAAS;IAACJ,SAAS,EAAEC,2BAAM,CAACI;EAAU,CAAE,CAAC,EACzCd,UAAU,IACTA,UAAU,CAACe,GAAG,CAAEC,MAAM,IAAK;IACzB,oBACEzD,MAAA,GAAAW,OAAA,CAAAkC,aAAA,CAACjD,UAAA,GAAA8D,SAAS;MACRC,GAAG,EAAEF,MAAM,CAAClB,EAAG;MACfW,SAAS,EAAEC,2BAAM,CAACS,SAAU;MAC5BC,IAAI,EAAEJ,MAAM,CAAClB,EAAG;MAChBuB,IAAI,EAAEL,MAAM,CAACK,IAAK;MAClBC,MAAM,EAAEN,MAAM,CAACM,MAAO;MACtBlE,IAAI,EAAE4D,MAAM,CAAC5D;IAAK,CACnB,CAAC;EAEN,CAAC,CACA,CACF,CAAC;AAEV"}
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ /// <reference types="react" />
2
2
  export declare class ComponentError {
3
3
  /**
4
4
  * http status code of error
@@ -7,7 +7,7 @@ export declare class ComponentError {
7
7
  /**
8
8
  * error message of the error
9
9
  */
10
- readonly message?: string | undefined;
10
+ readonly message?: string;
11
11
  constructor(
12
12
  /**
13
13
  * http status code of error
@@ -16,6 +16,6 @@ export declare class ComponentError {
16
16
  /**
17
17
  * error message of the error
18
18
  */
19
- message?: string | undefined);
20
- renderError(): React.JSX.Element;
19
+ message?: string);
20
+ renderError(): JSX.Element;
21
21
  }
@@ -6,7 +6,7 @@ import { LegacyComponentLog } from '@teambit/legacy-component-log';
6
6
  import { ComponentPreviewSize } from '@teambit/preview';
7
7
  import { TagMap } from '../../tag-map';
8
8
  import { TagProps } from '../../tag/tag';
9
- export declare type ComponentModelProps = {
9
+ export type ComponentModelProps = {
10
10
  id: ComponentIdObj;
11
11
  description: string;
12
12
  buildStatus?: string;
@@ -27,13 +27,13 @@ export declare type ComponentModelProps = {
27
27
  logs?: LegacyComponentLog[];
28
28
  size?: ComponentPreviewSize;
29
29
  };
30
- export declare type ComponentPreview = {
30
+ export type ComponentPreview = {
31
31
  includesEnvTemplate?: boolean;
32
32
  isScaling?: boolean;
33
33
  skipIncludes?: boolean;
34
34
  legacyHeader?: boolean;
35
35
  };
36
- export declare type ComponentServer = {
36
+ export type ComponentServer = {
37
37
  env: string;
38
38
  /**
39
39
  * Full dev server url.
@@ -76,15 +76,15 @@ export declare class ComponentModel {
76
76
  /**
77
77
  * component build status
78
78
  */
79
- readonly buildStatus?: string | undefined;
79
+ readonly buildStatus?: string;
80
80
  /**
81
81
  * issues of component.
82
82
  */
83
- readonly issuesCount?: number | undefined;
83
+ readonly issuesCount?: number;
84
84
  /**
85
85
  * elements url
86
86
  */
87
- readonly elementsUrl?: string | undefined;
87
+ readonly elementsUrl?: string;
88
88
  /**
89
89
  * status of component.
90
90
  */
@@ -92,11 +92,11 @@ export declare class ComponentModel {
92
92
  /**
93
93
  * deprecation info of the component.
94
94
  */
95
- readonly deprecation?: DeprecationInfo | undefined;
95
+ readonly deprecation?: DeprecationInfo;
96
96
  /**
97
97
  * env descriptor.
98
98
  */
99
- readonly environment?: Descriptor | undefined;
99
+ readonly environment?: Descriptor;
100
100
  /**
101
101
  * description of the component.
102
102
  */
@@ -105,18 +105,18 @@ export declare class ComponentModel {
105
105
  /**
106
106
  * host of the component
107
107
  */
108
- readonly host?: string | undefined;
108
+ readonly host?: string;
109
109
  /**
110
110
  *
111
111
  * size preview
112
112
  */
113
- readonly size?: ComponentPreviewSize | undefined;
113
+ readonly size?: ComponentPreviewSize;
114
114
  /**
115
115
  * latest version of component
116
116
  */
117
- readonly latest?: string | undefined;
118
- readonly preview?: ComponentPreview | undefined;
119
- readonly logs?: LegacyComponentLog[] | undefined;
117
+ readonly latest?: string;
118
+ readonly preview?: ComponentPreview;
119
+ readonly logs?: LegacyComponentLog[];
120
120
  constructor(
121
121
  /**
122
122
  * id of the component
@@ -145,15 +145,15 @@ export declare class ComponentModel {
145
145
  /**
146
146
  * component build status
147
147
  */
148
- buildStatus?: string | undefined,
148
+ buildStatus?: string,
149
149
  /**
150
150
  * issues of component.
151
151
  */
152
- issuesCount?: number | undefined,
152
+ issuesCount?: number,
153
153
  /**
154
154
  * elements url
155
155
  */
156
- elementsUrl?: string | undefined,
156
+ elementsUrl?: string,
157
157
  /**
158
158
  * status of component.
159
159
  */
@@ -161,11 +161,11 @@ export declare class ComponentModel {
161
161
  /**
162
162
  * deprecation info of the component.
163
163
  */
164
- deprecation?: DeprecationInfo | undefined,
164
+ deprecation?: DeprecationInfo,
165
165
  /**
166
166
  * env descriptor.
167
167
  */
168
- environment?: Descriptor | undefined,
168
+ environment?: Descriptor,
169
169
  /**
170
170
  * description of the component.
171
171
  */
@@ -173,16 +173,16 @@ export declare class ComponentModel {
173
173
  /**
174
174
  * host of the component
175
175
  */
176
- host?: string | undefined,
176
+ host?: string,
177
177
  /**
178
178
  *
179
179
  * size preview
180
180
  */
181
- size?: ComponentPreviewSize | undefined,
181
+ size?: ComponentPreviewSize,
182
182
  /**
183
183
  * latest version of component
184
184
  */
185
- latest?: string | undefined, preview?: ComponentPreview | undefined, logs?: LegacyComponentLog[] | undefined);
185
+ latest?: string, preview?: ComponentPreview, logs?: LegacyComponentLog[]);
186
186
  get version(): string;
187
187
  /**
188
188
  * create an instance of a component from a plain object.
@@ -155,7 +155,7 @@ class ComponentModel {
155
155
  size,
156
156
  logs
157
157
  }) {
158
- return new ComponentModel(_componentId().ComponentID.fromObject(id), displayName, packageName, server, _compositions().Composition.fromArray(compositions), _tagMap().TagMap.fromArray(tags.map(tag => _tag().Tag.fromObject(tag))), buildStatus, issuesCount, elementsUrl, status, deprecation, env, description, labels, host, size, latest, preview, logs === null || logs === void 0 ? void 0 : logs.map(log => log ?? {
158
+ return new ComponentModel(_componentId().ComponentID.fromObject(id), displayName, packageName, server, _compositions().Composition.fromArray(compositions), _tagMap().TagMap.fromArray(tags.map(tag => _tag().Tag.fromObject(tag))), buildStatus, issuesCount, elementsUrl, status, deprecation, env, description, labels, host, size, latest, preview, logs?.map(log => log ?? {
159
159
  hash: '[error]',
160
160
  tag: '[error]',
161
161
  message: '',
@@ -1 +1 @@
1
- {"version":3,"names":["_compositions","data","require","_componentId","_tag","_tagMap","ComponentModel","constructor","id","displayName","packageName","server","compositions","tags","buildStatus","issuesCount","elementsUrl","status","deprecation","environment","description","labels","host","size","latest","preview","logs","version","from","env","ComponentID","fromObject","Composition","fromArray","TagMap","map","tag","Tag","log","hash","message","parents","componentsProps","rawComponent","empty","name","scope","url","exports"],"sources":["component-model.ts"],"sourcesContent":["import { Composition, CompositionProps } from '@teambit/compositions';\nimport { DeprecationInfo } from '@teambit/deprecation';\nimport { Descriptor } from '@teambit/envs';\nimport { ComponentID, ComponentIdObj } from '@teambit/component-id';\nimport { LegacyComponentLog } from '@teambit/legacy-component-log';\nimport { ComponentPreviewSize } from '@teambit/preview';\nimport { Tag } from '../../tag';\nimport { TagMap } from '../../tag-map';\nimport { TagProps } from '../../tag/tag';\n// import { Snap } from '../../snap';\n\n// ADDING MORE PROPERTIES HERE IS NOT ALLOWED!!! IF YOU NEED DATA PLEASE ADD A NEW\n// HOOK FROM YOUR ASPECT!!!\n// TODO: remove all properties from here to their rightful place in their aspects.\nexport type ComponentModelProps = {\n id: ComponentIdObj;\n description: string;\n buildStatus?: string;\n server?: ComponentServer;\n displayName: string;\n packageName: string; // pkg aspect\n elementsUrl?: string; // pkg aspect\n compositions?: CompositionProps[];\n tags?: TagProps[];\n issuesCount?: number; // component/issues aspect\n status?: any; // workspace aspect.\n deprecation?: DeprecationInfo; // deprecation aspect\n env?: Descriptor; // env aspect.\n labels?: string[];\n host?: string;\n latest?: string;\n preview?: ComponentPreview;\n logs?: LegacyComponentLog[];\n size?: ComponentPreviewSize;\n};\n\nexport type ComponentPreview = {\n includesEnvTemplate?: boolean;\n isScaling?: boolean;\n skipIncludes?: boolean;\n legacyHeader?: boolean;\n};\n\nexport type ComponentServer = {\n env: string;\n /**\n * Full dev server url.\n */\n url?: string;\n\n /**\n * host of the component server (used mostly by cloud providers for remote scopes)\n */\n host?: string;\n\n /**\n * This is used mostly by cloud to proxy requests to the correct scope.\n */\n basePath?: string;\n};\n\nexport class ComponentModel {\n constructor(\n /**\n * id of the component\n */\n readonly id: ComponentID,\n\n /**\n * display name of the component.\n */\n readonly displayName: string,\n\n /**\n * package name of the component.\n */\n readonly packageName: string,\n\n /**\n * the component server.\n */\n readonly server: ComponentServer | undefined,\n\n /**\n * array of compositions\n */\n readonly compositions: Composition[],\n\n /**\n * tags of the component.\n */\n readonly tags: TagMap,\n\n /**\n * component build status\n */\n readonly buildStatus?: string,\n\n /**\n * issues of component.\n */\n readonly issuesCount?: number,\n /**\n * elements url\n */\n readonly elementsUrl?: string,\n /**\n * status of component.\n */\n readonly status?: any,\n\n /**\n * deprecation info of the component.\n */\n readonly deprecation?: DeprecationInfo,\n\n /**\n * env descriptor.\n */\n readonly environment?: Descriptor,\n\n /**\n * description of the component.\n */\n\n readonly description = '',\n\n readonly labels: string[] = [],\n\n /**\n * host of the component\n */\n readonly host?: string,\n\n /**\n *\n * size preview\n */\n readonly size?: ComponentPreviewSize,\n\n /**\n * latest version of component\n */\n readonly latest?: string,\n\n readonly preview?: ComponentPreview,\n\n readonly logs?: LegacyComponentLog[]\n ) {}\n\n get version() {\n if (!this.id.version) return 'new';\n return this.id.version;\n }\n\n /**\n * create an instance of a component from a plain object.\n */\n static from({\n id,\n server,\n displayName,\n compositions = [],\n packageName,\n elementsUrl,\n tags = [],\n deprecation,\n buildStatus,\n env,\n status,\n issuesCount,\n description,\n labels,\n host,\n latest,\n preview,\n size,\n logs,\n }: ComponentModelProps) {\n return new ComponentModel(\n ComponentID.fromObject(id),\n displayName,\n packageName,\n server,\n Composition.fromArray(compositions),\n TagMap.fromArray(tags.map((tag) => Tag.fromObject(tag))),\n buildStatus,\n issuesCount,\n elementsUrl,\n status,\n deprecation,\n env,\n description,\n labels,\n host,\n size,\n latest,\n preview,\n logs?.map((log) => log ?? { hash: '[error]', tag: '[error]', message: '', parents: [] })\n );\n }\n\n static fromArray(componentsProps: ComponentModelProps[]) {\n return componentsProps.map((rawComponent) => ComponentModel.from(rawComponent));\n }\n\n static empty() {\n return new ComponentModel(\n ComponentID.fromObject({ name: 'root', scope: 'temp' }),\n '',\n '',\n { env: '', url: '' },\n [],\n TagMap.empty()\n );\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_compositions","data","require","_componentId","_tag","_tagMap","ComponentModel","constructor","id","displayName","packageName","server","compositions","tags","buildStatus","issuesCount","elementsUrl","status","deprecation","environment","description","labels","host","size","latest","preview","logs","version","from","env","ComponentID","fromObject","Composition","fromArray","TagMap","map","tag","Tag","log","hash","message","parents","componentsProps","rawComponent","empty","name","scope","url","exports"],"sources":["component-model.ts"],"sourcesContent":["import { Composition, CompositionProps } from '@teambit/compositions';\nimport { DeprecationInfo } from '@teambit/deprecation';\nimport { Descriptor } from '@teambit/envs';\nimport { ComponentID, ComponentIdObj } from '@teambit/component-id';\nimport { LegacyComponentLog } from '@teambit/legacy-component-log';\nimport { ComponentPreviewSize } from '@teambit/preview';\nimport { Tag } from '../../tag';\nimport { TagMap } from '../../tag-map';\nimport { TagProps } from '../../tag/tag';\n// import { Snap } from '../../snap';\n\n// ADDING MORE PROPERTIES HERE IS NOT ALLOWED!!! IF YOU NEED DATA PLEASE ADD A NEW\n// HOOK FROM YOUR ASPECT!!!\n// TODO: remove all properties from here to their rightful place in their aspects.\nexport type ComponentModelProps = {\n id: ComponentIdObj;\n description: string;\n buildStatus?: string;\n server?: ComponentServer;\n displayName: string;\n packageName: string; // pkg aspect\n elementsUrl?: string; // pkg aspect\n compositions?: CompositionProps[];\n tags?: TagProps[];\n issuesCount?: number; // component/issues aspect\n status?: any; // workspace aspect.\n deprecation?: DeprecationInfo; // deprecation aspect\n env?: Descriptor; // env aspect.\n labels?: string[];\n host?: string;\n latest?: string;\n preview?: ComponentPreview;\n logs?: LegacyComponentLog[];\n size?: ComponentPreviewSize;\n};\n\nexport type ComponentPreview = {\n includesEnvTemplate?: boolean;\n isScaling?: boolean;\n skipIncludes?: boolean;\n legacyHeader?: boolean;\n};\n\nexport type ComponentServer = {\n env: string;\n /**\n * Full dev server url.\n */\n url?: string;\n\n /**\n * host of the component server (used mostly by cloud providers for remote scopes)\n */\n host?: string;\n\n /**\n * This is used mostly by cloud to proxy requests to the correct scope.\n */\n basePath?: string;\n};\n\nexport class ComponentModel {\n constructor(\n /**\n * id of the component\n */\n readonly id: ComponentID,\n\n /**\n * display name of the component.\n */\n readonly displayName: string,\n\n /**\n * package name of the component.\n */\n readonly packageName: string,\n\n /**\n * the component server.\n */\n readonly server: ComponentServer | undefined,\n\n /**\n * array of compositions\n */\n readonly compositions: Composition[],\n\n /**\n * tags of the component.\n */\n readonly tags: TagMap,\n\n /**\n * component build status\n */\n readonly buildStatus?: string,\n\n /**\n * issues of component.\n */\n readonly issuesCount?: number,\n /**\n * elements url\n */\n readonly elementsUrl?: string,\n /**\n * status of component.\n */\n readonly status?: any,\n\n /**\n * deprecation info of the component.\n */\n readonly deprecation?: DeprecationInfo,\n\n /**\n * env descriptor.\n */\n readonly environment?: Descriptor,\n\n /**\n * description of the component.\n */\n\n readonly description = '',\n\n readonly labels: string[] = [],\n\n /**\n * host of the component\n */\n readonly host?: string,\n\n /**\n *\n * size preview\n */\n readonly size?: ComponentPreviewSize,\n\n /**\n * latest version of component\n */\n readonly latest?: string,\n\n readonly preview?: ComponentPreview,\n\n readonly logs?: LegacyComponentLog[]\n ) {}\n\n get version() {\n if (!this.id.version) return 'new';\n return this.id.version;\n }\n\n /**\n * create an instance of a component from a plain object.\n */\n static from({\n id,\n server,\n displayName,\n compositions = [],\n packageName,\n elementsUrl,\n tags = [],\n deprecation,\n buildStatus,\n env,\n status,\n issuesCount,\n description,\n labels,\n host,\n latest,\n preview,\n size,\n logs,\n }: ComponentModelProps) {\n return new ComponentModel(\n ComponentID.fromObject(id),\n displayName,\n packageName,\n server,\n Composition.fromArray(compositions),\n TagMap.fromArray(tags.map((tag) => Tag.fromObject(tag))),\n buildStatus,\n issuesCount,\n elementsUrl,\n status,\n deprecation,\n env,\n description,\n labels,\n host,\n size,\n latest,\n preview,\n logs?.map((log) => log ?? { hash: '[error]', tag: '[error]', message: '', parents: [] })\n );\n }\n\n static fromArray(componentsProps: ComponentModelProps[]) {\n return componentsProps.map((rawComponent) => ComponentModel.from(rawComponent));\n }\n\n static empty() {\n return new ComponentModel(\n ComponentID.fromObject({ name: 'root', scope: 'temp' }),\n '',\n '',\n { env: '', url: '' },\n [],\n TagMap.empty()\n );\n }\n}\n"],"mappings":"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"}
@@ -1,16 +1,16 @@
1
1
  import React, { ComponentType } from 'react';
2
2
  import { ComponentModel } from '@teambit/component';
3
- export declare type ComponentPluginProps = React.HTMLAttributes<HTMLDivElement> & {
3
+ export type ComponentPluginProps = React.HTMLAttributes<HTMLDivElement> & {
4
4
  component: ComponentModel;
5
5
  };
6
- export declare type ComponentResultPlugin = {
6
+ export type ComponentResultPlugin = {
7
7
  key: string;
8
8
  start?: ComponentType<ComponentPluginProps>;
9
9
  end?: ComponentType<ComponentPluginProps>;
10
10
  };
11
- declare type ComponentResultProps = {
11
+ type ComponentResultProps = {
12
12
  component: ComponentModel;
13
13
  plugins?: ComponentResultPlugin[];
14
14
  };
15
- export declare function ComponentResult({ component, plugins }: ComponentResultProps): React.JSX.Element;
15
+ export declare function ComponentResult({ component, plugins }: ComponentResultProps): JSX.Element;
16
16
  export {};
@@ -52,11 +52,11 @@ function ComponentResult({
52
52
  plugins
53
53
  }) {
54
54
  const name = component.id.fullName;
55
- const startPlugins = (0, _lodash().default)(plugins === null || plugins === void 0 ? void 0 : plugins.map(plugin => plugin.start && /*#__PURE__*/_react().default.createElement(plugin.start, {
55
+ const startPlugins = (0, _lodash().default)(plugins?.map(plugin => plugin.start && /*#__PURE__*/_react().default.createElement(plugin.start, {
56
56
  key: plugin.key,
57
57
  component: component
58
58
  })));
59
- const endPlugins = (0, _lodash().default)(plugins === null || plugins === void 0 ? void 0 : plugins.map(plugin => plugin.end && /*#__PURE__*/_react().default.createElement(plugin.end, {
59
+ const endPlugins = (0, _lodash().default)(plugins?.map(plugin => plugin.end && /*#__PURE__*/_react().default.createElement(plugin.end, {
60
60
  key: plugin.key,
61
61
  component: component
62
62
  })));
@@ -1 +1 @@
1
- {"version":3,"names":["_react","data","_interopRequireDefault","require","_lodash","_designUiStyles","_envsUi","_classnames","_componentResultModule","obj","__esModule","default","ComponentResult","component","plugins","name","id","fullName","startPlugins","compact","map","plugin","start","createElement","key","endPlugins","end","Fragment","EnvIcon","className","styles","icon","classnames","ellipsis"],"sources":["component-result.tsx"],"sourcesContent":["import React, { ComponentType } from 'react';\nimport compact from 'lodash.compact';\nimport { ComponentModel } from '@teambit/component';\nimport { ellipsis } from '@teambit/design.ui.styles.ellipsis';\nimport { EnvIcon } from '@teambit/envs.ui.env-icon';\nimport classnames from 'classnames';\n\nimport styles from './component-result.module.scss';\n\nexport type ComponentPluginProps = React.HTMLAttributes<HTMLDivElement> & { component: ComponentModel };\n\nexport type ComponentResultPlugin = {\n key: string;\n start?: ComponentType<ComponentPluginProps>;\n end?: ComponentType<ComponentPluginProps>;\n};\ntype ComponentResultProps = {\n component: ComponentModel;\n plugins?: ComponentResultPlugin[];\n};\n\nexport function ComponentResult({ component, plugins }: ComponentResultProps) {\n const name = component.id.fullName;\n\n const startPlugins = compact(\n plugins?.map((plugin) => plugin.start && <plugin.start key={plugin.key} component={component} />)\n );\n const endPlugins = compact(\n plugins?.map((plugin) => plugin.end && <plugin.end key={plugin.key} component={component} />)\n );\n\n return (\n <>\n {startPlugins}\n <EnvIcon component={component} className={styles.icon} />\n <div className={classnames(styles.name, ellipsis)}>{name}</div>\n {endPlugins}\n </>\n );\n}\n"],"mappings":";;;;;;AAAA,SAAAA,OAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,MAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,QAAA;EAAA,MAAAH,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAC,OAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAI,gBAAA;EAAA,MAAAJ,IAAA,GAAAE,OAAA;EAAAE,eAAA,YAAAA,CAAA;IAAA,OAAAJ,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;AACA,SAAAM,YAAA;EAAA,MAAAN,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAI,WAAA,YAAAA,CAAA;IAAA,OAAAN,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAO,uBAAA;EAAA,MAAAP,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAK,sBAAA,YAAAA,CAAA;IAAA,OAAAP,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAoD,SAAAC,uBAAAO,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAc7C,SAASG,eAAeA,CAAC;EAAEC,SAAS;EAAEC;AAA8B,CAAC,EAAE;EAC5E,MAAMC,IAAI,GAAGF,SAAS,CAACG,EAAE,CAACC,QAAQ;EAElC,MAAMC,YAAY,GAAG,IAAAC,iBAAO,EAC1BL,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEM,GAAG,CAAEC,MAAM,IAAKA,MAAM,CAACC,KAAK,iBAAItB,MAAA,GAAAW,OAAA,CAAAY,aAAA,CAACF,MAAM,CAACC,KAAK;IAACE,GAAG,EAAEH,MAAM,CAACG,GAAI;IAACX,SAAS,EAAEA;EAAU,CAAE,CAAC,CAClG,CAAC;EACD,MAAMY,UAAU,GAAG,IAAAN,iBAAO,EACxBL,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEM,GAAG,CAAEC,MAAM,IAAKA,MAAM,CAACK,GAAG,iBAAI1B,MAAA,GAAAW,OAAA,CAAAY,aAAA,CAACF,MAAM,CAACK,GAAG;IAACF,GAAG,EAAEH,MAAM,CAACG,GAAI;IAACX,SAAS,EAAEA;EAAU,CAAE,CAAC,CAC9F,CAAC;EAED,oBACEb,MAAA,GAAAW,OAAA,CAAAY,aAAA,CAAAvB,MAAA,GAAAW,OAAA,CAAAgB,QAAA,QACGT,YAAY,eACblB,MAAA,GAAAW,OAAA,CAAAY,aAAA,CAACjB,OAAA,GAAAsB,OAAO;IAACf,SAAS,EAAEA,SAAU;IAACgB,SAAS,EAAEC,gCAAM,CAACC;EAAK,CAAE,CAAC,eACzD/B,MAAA,GAAAW,OAAA,CAAAY,aAAA;IAAKM,SAAS,EAAE,IAAAG,qBAAU,EAACF,gCAAM,CAACf,IAAI,EAAEkB,0BAAQ;EAAE,GAAElB,IAAU,CAAC,EAC9DU,UACD,CAAC;AAEP"}
1
+ {"version":3,"names":["_react","data","_interopRequireDefault","require","_lodash","_designUiStyles","_envsUi","_classnames","_componentResultModule","obj","__esModule","default","ComponentResult","component","plugins","name","id","fullName","startPlugins","compact","map","plugin","start","createElement","key","endPlugins","end","Fragment","EnvIcon","className","styles","icon","classnames","ellipsis"],"sources":["component-result.tsx"],"sourcesContent":["import React, { ComponentType } from 'react';\nimport compact from 'lodash.compact';\nimport { ComponentModel } from '@teambit/component';\nimport { ellipsis } from '@teambit/design.ui.styles.ellipsis';\nimport { EnvIcon } from '@teambit/envs.ui.env-icon';\nimport classnames from 'classnames';\n\nimport styles from './component-result.module.scss';\n\nexport type ComponentPluginProps = React.HTMLAttributes<HTMLDivElement> & { component: ComponentModel };\n\nexport type ComponentResultPlugin = {\n key: string;\n start?: ComponentType<ComponentPluginProps>;\n end?: ComponentType<ComponentPluginProps>;\n};\ntype ComponentResultProps = {\n component: ComponentModel;\n plugins?: ComponentResultPlugin[];\n};\n\nexport function ComponentResult({ component, plugins }: ComponentResultProps) {\n const name = component.id.fullName;\n\n const startPlugins = compact(\n plugins?.map((plugin) => plugin.start && <plugin.start key={plugin.key} component={component} />)\n );\n const endPlugins = compact(\n plugins?.map((plugin) => plugin.end && <plugin.end key={plugin.key} component={component} />)\n );\n\n return (\n <>\n {startPlugins}\n <EnvIcon component={component} className={styles.icon} />\n <div className={classnames(styles.name, ellipsis)}>{name}</div>\n {endPlugins}\n </>\n );\n}\n"],"mappings":";;;;;;AAAA,SAAAA,OAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,MAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,QAAA;EAAA,MAAAH,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAC,OAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAI,gBAAA;EAAA,MAAAJ,IAAA,GAAAE,OAAA;EAAAE,eAAA,YAAAA,CAAA;IAAA,OAAAJ,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;AACA,SAAAM,YAAA;EAAA,MAAAN,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAI,WAAA,YAAAA,CAAA;IAAA,OAAAN,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAO,uBAAA;EAAA,MAAAP,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAK,sBAAA,YAAAA,CAAA;IAAA,OAAAP,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAoD,SAAAC,uBAAAO,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAc7C,SAASG,eAAeA,CAAC;EAAEC,SAAS;EAAEC;AAA8B,CAAC,EAAE;EAC5E,MAAMC,IAAI,GAAGF,SAAS,CAACG,EAAE,CAACC,QAAQ;EAElC,MAAMC,YAAY,GAAG,IAAAC,iBAAO,EAC1BL,OAAO,EAAEM,GAAG,CAAEC,MAAM,IAAKA,MAAM,CAACC,KAAK,iBAAItB,MAAA,GAAAW,OAAA,CAAAY,aAAA,CAACF,MAAM,CAACC,KAAK;IAACE,GAAG,EAAEH,MAAM,CAACG,GAAI;IAACX,SAAS,EAAEA;EAAU,CAAE,CAAC,CAClG,CAAC;EACD,MAAMY,UAAU,GAAG,IAAAN,iBAAO,EACxBL,OAAO,EAAEM,GAAG,CAAEC,MAAM,IAAKA,MAAM,CAACK,GAAG,iBAAI1B,MAAA,GAAAW,OAAA,CAAAY,aAAA,CAACF,MAAM,CAACK,GAAG;IAACF,GAAG,EAAEH,MAAM,CAACG,GAAI;IAACX,SAAS,EAAEA;EAAU,CAAE,CAAC,CAC9F,CAAC;EAED,oBACEb,MAAA,GAAAW,OAAA,CAAAY,aAAA,CAAAvB,MAAA,GAAAW,OAAA,CAAAgB,QAAA,QACGT,YAAY,eACblB,MAAA,GAAAW,OAAA,CAAAY,aAAA,CAACjB,OAAA,GAAAsB,OAAO;IAACf,SAAS,EAAEA,SAAU;IAACgB,SAAS,EAAEC,gCAAM,CAACC;EAAK,CAAE,CAAC,eACzD/B,MAAA,GAAAW,OAAA,CAAAY,aAAA;IAAKM,SAAS,EAAE,IAAAG,qBAAU,EAACF,gCAAM,CAACf,IAAI,EAAEkB,0BAAQ;EAAE,GAAElB,IAAU,CAAC,EAC9DU,UACD,CAAC;AAEP"}
@@ -3,12 +3,12 @@ import { SearchResult, FuzzySearchItem, FuzzySearcher } from '@teambit/explorer.
3
3
  import type { SearchProvider } from '@teambit/command-bar';
4
4
  import { ComponentResultPlugin } from './component-result';
5
5
  export type { ComponentResultPlugin };
6
- declare type ComponentSearchIdx = {
6
+ type ComponentSearchIdx = {
7
7
  name: string;
8
8
  displayName: string;
9
9
  component: ComponentModel;
10
10
  };
11
- declare type ComponentSearcherOptions = {
11
+ type ComponentSearcherOptions = {
12
12
  navigate: (path: string) => void;
13
13
  resultPlugins?: ComponentResultPlugin[];
14
14
  };
@@ -1,15 +1,15 @@
1
- import React, { ReactNode } from 'react';
1
+ import { ReactNode } from 'react';
2
2
  import { RouteProps } from 'react-router-dom';
3
3
  import { RouteSlot } from '@teambit/ui-foundation.ui.react-router.slot-router';
4
4
  import { SlotRegistry } from '@teambit/harmony';
5
5
  import { UseComponentType, Filters } from './use-component';
6
6
  import { ComponentModel } from './component-model';
7
- export declare type ComponentPageSlot = SlotRegistry<ComponentPageElement[]>;
8
- export declare type ComponentPageElement = {
7
+ export type ComponentPageSlot = SlotRegistry<ComponentPageElement[]>;
8
+ export type ComponentPageElement = {
9
9
  type: 'before' | 'after';
10
10
  content: ReactNode;
11
11
  };
12
- export declare type ComponentProps = {
12
+ export type ComponentProps = {
13
13
  containerSlot?: ComponentPageSlot;
14
14
  routeSlot: RouteSlot;
15
15
  overriddenRoutes?: RouteProps[];
@@ -23,4 +23,4 @@ export declare type ComponentProps = {
23
23
  /**
24
24
  * main UI component of the Component extension.
25
25
  */
26
- export declare function Component({ routeSlot, overriddenRoutes, containerSlot, host, onComponentChange, componentIdStr, useComponent, path, useComponentFilters, }: ComponentProps): React.JSX.Element;
26
+ export declare function Component({ routeSlot, overriddenRoutes, containerSlot, host, onComponentChange, componentIdStr, useComponent, path, useComponentFilters, }: ComponentProps): JSX.Element;
@@ -98,7 +98,7 @@ function Component({
98
98
  const _componentIdStr = getComponentIdStr(componentIdStr);
99
99
  const componentId = _componentIdStr ? _().ComponentID.fromString(_componentIdStr) : undefined;
100
100
  const resolvedComponentIdStr = path || idFromLocation;
101
- const componentFiltersFromProps = (useComponentFilters === null || useComponentFilters === void 0 ? void 0 : useComponentFilters()) || {};
101
+ const componentFiltersFromProps = useComponentFilters?.() || {};
102
102
  const useComponentOptions = {
103
103
  logFilters: _objectSpread(_objectSpread({}, componentFiltersFromProps), componentFiltersFromProps.loading ? {} : {
104
104
  log: _objectSpread({}, componentFiltersFromProps.log)
@@ -109,16 +109,16 @@ function Component({
109
109
  component,
110
110
  componentDescriptor,
111
111
  error
112
- } = (0, _useComponent().useComponent)(host, (componentId === null || componentId === void 0 ? void 0 : componentId.toString()) || idFromLocation, useComponentOptions);
112
+ } = (0, _useComponent().useComponent)(host, componentId?.toString() || idFromLocation, useComponentOptions);
113
113
 
114
114
  // trigger onComponentChange when component changes
115
- (0, _react().useEffect)(() => onComponentChange === null || onComponentChange === void 0 ? void 0 : onComponentChange(component), [component]);
115
+ (0, _react().useEffect)(() => onComponentChange?.(component), [component]);
116
116
  // cleanup when unmounting component
117
- (0, _react().useEffect)(() => () => onComponentChange === null || onComponentChange === void 0 ? void 0 : onComponentChange(undefined), []);
118
- const pageItems = (0, _react().useMemo)(() => (0, _lodash().default)(containerSlot === null || containerSlot === void 0 ? void 0 : containerSlot.values()), [containerSlot]);
117
+ (0, _react().useEffect)(() => () => onComponentChange?.(undefined), []);
118
+ const pageItems = (0, _react().useMemo)(() => (0, _lodash().default)(containerSlot?.values()), [containerSlot]);
119
119
  const before = (0, _react().useMemo)(() => pageItems.filter(x => x.type === 'before').map(x => x.content), [pageItems]);
120
120
  const after = (0, _react().useMemo)(() => pageItems.filter(x => x.type === 'after').map(x => x.content), [pageItems]);
121
- if (error) return error === null || error === void 0 ? void 0 : error.renderError();
121
+ if (error) return error?.renderError();
122
122
  if (!component) return /*#__PURE__*/_react().default.createElement("div", null);
123
123
  return /*#__PURE__*/_react().default.createElement(_context().ComponentDescriptorProvider, {
124
124
  componentDescriptor: componentDescriptor