@teambit/docs 0.0.653 → 0.0.656

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.
@@ -81,6 +81,46 @@ function _componentUiHooks() {
81
81
  return data;
82
82
  }
83
83
 
84
+ function _lanesUi() {
85
+ const data = require("@teambit/lanes.ui.lanes");
86
+
87
+ _lanesUi = function () {
88
+ return data;
89
+ };
90
+
91
+ return data;
92
+ }
93
+
94
+ function _designUi() {
95
+ const data = require("@teambit/design.ui.separator");
96
+
97
+ _designUi = function () {
98
+ return data;
99
+ };
100
+
101
+ return data;
102
+ }
103
+
104
+ function _evangelistElements() {
105
+ const data = require("@teambit/evangelist.elements.icon");
106
+
107
+ _evangelistElements = function () {
108
+ return data;
109
+ };
110
+
111
+ return data;
112
+ }
113
+
114
+ function _designUiStyles() {
115
+ const data = require("@teambit/design.ui.styles.ellipsis");
116
+
117
+ _designUiStyles = function () {
118
+ return data;
119
+ };
120
+
121
+ return data;
122
+ }
123
+
84
124
  function _overviewModule() {
85
125
  const data = _interopRequireDefault(require("./overview.module.scss"));
86
126
 
@@ -98,9 +138,12 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
98
138
  function Overview({
99
139
  titleBadges
100
140
  }) {
101
- var _component$preview;
141
+ var _lanesModel$currentLa, _component$preview;
102
142
 
103
143
  const component = (0, _react().useContext)(_component().ComponentContext);
144
+ const componentDescriptor = (0, _react().useContext)(_component().ComponentDescriptorContext);
145
+ const lanesModel = (0, _lanesUi().useLanesContext)();
146
+ const laneId = lanesModel === null || lanesModel === void 0 ? void 0 : (_lanesModel$currentLa = lanesModel.currentLane) === null || _lanesModel$currentLa === void 0 ? void 0 : _lanesModel$currentLa.id;
104
147
  const {
105
148
  data
106
149
  } = (0, _componentUiHooks().useFetchDocs)(component.id.toString());
@@ -125,14 +168,19 @@ function Overview({
125
168
  const badges = (0, _lodash().default)(titleBadges.values());
126
169
  return /*#__PURE__*/_react().default.createElement("div", {
127
170
  className: _overviewModule().default.overviewWrapper
128
- }, /*#__PURE__*/_react().default.createElement(_componentUi().ComponentOverview, {
171
+ }, laneId && /*#__PURE__*/_react().default.createElement(LaneOverview, {
172
+ laneId: laneId
173
+ }), /*#__PURE__*/_react().default.createElement(_designUi().Separator, {
174
+ isPresentational: true
175
+ }), /*#__PURE__*/_react().default.createElement(_componentUi().ComponentOverview, {
129
176
  className: _overviewModule().default.componentOverviewBlock,
130
177
  displayName: component.displayName,
131
178
  version: component.version,
132
179
  abstract: component.description || (fetchComponent === null || fetchComponent === void 0 ? void 0 : fetchComponent.description),
133
180
  labels: labels || [],
134
181
  packageName: component.packageName,
135
- titleBadges: badges
182
+ titleBadges: badges,
183
+ componentDescriptor: componentDescriptor
136
184
  }), /*#__PURE__*/_react().default.createElement(_previewUi().ComponentPreview, {
137
185
  component: component,
138
186
  style: {
@@ -145,14 +193,42 @@ function Overview({
145
193
  }));
146
194
  }
147
195
 
148
- return /*#__PURE__*/_react().default.createElement(_previewUi().ComponentPreview, {
196
+ return laneId ? /*#__PURE__*/_react().default.createElement("div", {
197
+ className: _overviewModule().default.overviewWrapper
198
+ }, /*#__PURE__*/_react().default.createElement(LaneOverview, {
199
+ laneId: laneId
200
+ }), /*#__PURE__*/_react().default.createElement(_designUi().Separator, {
201
+ isPresentational: true
202
+ }), /*#__PURE__*/_react().default.createElement(_previewUi().ComponentPreview, {
149
203
  component: component,
150
204
  style: {
151
205
  width: '100%',
152
206
  height: '100%'
153
207
  },
154
- previewName: "overview"
208
+ previewName: "overview",
209
+ fullContentHeight: true,
210
+ scrolling: "no"
211
+ })) : /*#__PURE__*/_react().default.createElement(_previewUi().ComponentPreview, {
212
+ component: component,
213
+ style: {
214
+ width: '100%',
215
+ height: '100%'
216
+ },
217
+ previewName: "overview",
218
+ fullContentHeight: true
155
219
  });
156
220
  }
157
221
 
222
+ function LaneOverview({
223
+ laneId
224
+ }) {
225
+ return /*#__PURE__*/_react().default.createElement("div", {
226
+ className: _overviewModule().default.lane
227
+ }, /*#__PURE__*/_react().default.createElement(_evangelistElements().Icon, {
228
+ of: "lane"
229
+ }), /*#__PURE__*/_react().default.createElement(_designUiStyles().Ellipsis, {
230
+ className: _overviewModule().default.laneName
231
+ }, laneId));
232
+ }
233
+
158
234
  //# sourceMappingURL=overview.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["overview.tsx"],"names":["Overview","titleBadges","component","ComponentContext","data","id","toString","fetchComponent","buildStatus","host","margin","preview","includesEnvTemplate","labels","length","badges","values","styles","overviewWrapper","componentOverviewBlock","displayName","version","description","packageName","width","height"],"mappings":"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","sourcesContent":["import React, { useContext } from 'react';\nimport flatten from 'lodash.flatten';\nimport { ComponentContext } from '@teambit/component';\nimport type { SlotRegistry } from '@teambit/harmony';\nimport { ComponentPreview } from '@teambit/preview.ui.component-preview';\nimport { StatusMessageCard } from '@teambit/design.ui.surfaces.status-message-card';\nimport { ComponentOverview, TitleBadge } from '@teambit/component.ui.component-meta';\nimport { useFetchDocs } from '@teambit/component.ui.hooks.use-fetch-docs';\nimport styles from './overview.module.scss';\n\nexport type TitleBadgeSlot = SlotRegistry<TitleBadge[]>;\n\nexport type OverviewProps = {\n titleBadges: TitleBadgeSlot;\n};\n\nexport function Overview({ titleBadges }: OverviewProps) {\n const component = useContext(ComponentContext);\n const { data } = useFetchDocs(component.id.toString());\n const fetchComponent = data?.component;\n if (component?.buildStatus === 'pending' && component?.host === 'teambit.scope/scope')\n return (\n <StatusMessageCard style={{ margin: 'auto' }} status=\"PROCESSING\" title=\"component preview pending\">\n this might take some time\n </StatusMessageCard>\n );\n if (component?.buildStatus === 'failed' && component?.host === 'teambit.scope/scope')\n return (\n <StatusMessageCard\n style={{ margin: 'auto' }}\n status=\"FAILURE\"\n title=\"failed to get component preview \"\n ></StatusMessageCard>\n );\n\n if (component.preview?.includesEnvTemplate === false) {\n const labels = component.labels.length > 0 ? component.labels : fetchComponent?.labels;\n const badges = flatten(titleBadges.values());\n\n return (\n <div className={styles.overviewWrapper}>\n <ComponentOverview\n className={styles.componentOverviewBlock}\n displayName={component.displayName}\n version={component.version}\n abstract={component.description || fetchComponent?.description}\n labels={labels || []}\n packageName={component.packageName}\n titleBadges={badges}\n />\n <ComponentPreview\n component={component}\n style={{ width: '100%', height: '100%' }}\n previewName=\"overview\"\n fullContentHeight\n scrolling=\"no\"\n />\n </div>\n );\n }\n\n return <ComponentPreview component={component} style={{ width: '100%', height: '100%' }} previewName=\"overview\" />;\n}\n"]}
1
+ {"version":3,"sources":["overview.tsx"],"names":["Overview","titleBadges","component","ComponentContext","componentDescriptor","ComponentDescriptorContext","lanesModel","laneId","currentLane","id","data","toString","fetchComponent","buildStatus","host","margin","preview","includesEnvTemplate","labels","length","badges","values","styles","overviewWrapper","componentOverviewBlock","displayName","version","description","packageName","width","height","LaneOverview","lane","laneName"],"mappings":"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","sourcesContent":["import React, { useContext } from 'react';\nimport flatten from 'lodash.flatten';\nimport { ComponentContext, ComponentDescriptorContext } from '@teambit/component';\nimport type { SlotRegistry } from '@teambit/harmony';\nimport { ComponentPreview } from '@teambit/preview.ui.component-preview';\nimport { StatusMessageCard } from '@teambit/design.ui.surfaces.status-message-card';\nimport { ComponentOverview, TitleBadge } from '@teambit/component.ui.component-meta';\nimport { useFetchDocs } from '@teambit/component.ui.hooks.use-fetch-docs';\nimport { useLanesContext } from '@teambit/lanes.ui.lanes';\nimport { Separator } from '@teambit/design.ui.separator';\nimport { Icon } from '@teambit/evangelist.elements.icon';\nimport { Ellipsis } from '@teambit/design.ui.styles.ellipsis';\nimport styles from './overview.module.scss';\n\nexport type TitleBadgeSlot = SlotRegistry<TitleBadge[]>;\n\nexport type OverviewProps = {\n titleBadges: TitleBadgeSlot;\n};\n\nexport function Overview({ titleBadges }: OverviewProps) {\n const component = useContext(ComponentContext);\n const componentDescriptor = useContext(ComponentDescriptorContext);\n const lanesModel = useLanesContext();\n const laneId = lanesModel?.currentLane?.id;\n const { data } = useFetchDocs(component.id.toString());\n const fetchComponent = data?.component;\n if (component?.buildStatus === 'pending' && component?.host === 'teambit.scope/scope')\n return (\n <StatusMessageCard style={{ margin: 'auto' }} status=\"PROCESSING\" title=\"component preview pending\">\n this might take some time\n </StatusMessageCard>\n );\n if (component?.buildStatus === 'failed' && component?.host === 'teambit.scope/scope')\n return (\n <StatusMessageCard\n style={{ margin: 'auto' }}\n status=\"FAILURE\"\n title=\"failed to get component preview \"\n ></StatusMessageCard>\n );\n\n if (component.preview?.includesEnvTemplate === false) {\n const labels = component.labels.length > 0 ? component.labels : fetchComponent?.labels;\n const badges = flatten(titleBadges.values());\n\n return (\n <div className={styles.overviewWrapper}>\n {laneId && <LaneOverview laneId={laneId} />}\n <Separator isPresentational />\n <ComponentOverview\n className={styles.componentOverviewBlock}\n displayName={component.displayName}\n version={component.version}\n abstract={component.description || fetchComponent?.description}\n labels={labels || []}\n packageName={component.packageName}\n titleBadges={badges}\n componentDescriptor={componentDescriptor}\n />\n <ComponentPreview\n component={component}\n style={{ width: '100%', height: '100%' }}\n previewName=\"overview\"\n fullContentHeight\n scrolling=\"no\"\n />\n </div>\n );\n }\n\n return laneId ? (\n <div className={styles.overviewWrapper}>\n <LaneOverview laneId={laneId} />\n <Separator isPresentational />\n <ComponentPreview\n component={component}\n style={{ width: '100%', height: '100%' }}\n previewName=\"overview\"\n fullContentHeight\n scrolling=\"no\"\n />\n </div>\n ) : (\n <ComponentPreview\n component={component}\n style={{ width: '100%', height: '100%' }}\n previewName=\"overview\"\n fullContentHeight\n />\n );\n}\n\nfunction LaneOverview({ laneId }: { laneId: string }): JSX.Element {\n return (\n <div className={styles.lane}>\n <Icon of=\"lane\"></Icon>\n <Ellipsis className={styles.laneName}>{laneId}</Ellipsis>\n </div>\n );\n}\n"]}
@@ -7,4 +7,17 @@
7
7
  margin: 0 auto;
8
8
  margin-bottom: 0;
9
9
  }
10
+ .lane {
11
+ display: flex;
12
+ align-items: center;
13
+ flex: 1;
14
+ min-width: 0;
15
+ padding: 24px 0px 16px 32px;
16
+ .laneName {
17
+ overflow: hidden;
18
+ white-space: nowrap;
19
+ font-size: large;
20
+ padding: 0px 8px;
21
+ }
22
+ }
10
23
  }
@@ -7,4 +7,17 @@
7
7
  margin: 0 auto;
8
8
  margin-bottom: 0;
9
9
  }
10
+ .lane {
11
+ display: flex;
12
+ align-items: center;
13
+ flex: 1;
14
+ min-width: 0;
15
+ padding: 24px 0px 16px 32px;
16
+ .laneName {
17
+ overflow: hidden;
18
+ white-space: nowrap;
19
+ font-size: large;
20
+ padding: 0px 8px;
21
+ }
22
+ }
10
23
  }
@@ -1,11 +1,15 @@
1
1
  import React, { useContext } from 'react';
2
2
  import flatten from 'lodash.flatten';
3
- import { ComponentContext } from '@teambit/component';
3
+ import { ComponentContext, ComponentDescriptorContext } from '@teambit/component';
4
4
  import type { SlotRegistry } from '@teambit/harmony';
5
5
  import { ComponentPreview } from '@teambit/preview.ui.component-preview';
6
6
  import { StatusMessageCard } from '@teambit/design.ui.surfaces.status-message-card';
7
7
  import { ComponentOverview, TitleBadge } from '@teambit/component.ui.component-meta';
8
8
  import { useFetchDocs } from '@teambit/component.ui.hooks.use-fetch-docs';
9
+ import { useLanesContext } from '@teambit/lanes.ui.lanes';
10
+ import { Separator } from '@teambit/design.ui.separator';
11
+ import { Icon } from '@teambit/evangelist.elements.icon';
12
+ import { Ellipsis } from '@teambit/design.ui.styles.ellipsis';
9
13
  import styles from './overview.module.scss';
10
14
 
11
15
  export type TitleBadgeSlot = SlotRegistry<TitleBadge[]>;
@@ -16,6 +20,9 @@ export type OverviewProps = {
16
20
 
17
21
  export function Overview({ titleBadges }: OverviewProps) {
18
22
  const component = useContext(ComponentContext);
23
+ const componentDescriptor = useContext(ComponentDescriptorContext);
24
+ const lanesModel = useLanesContext();
25
+ const laneId = lanesModel?.currentLane?.id;
19
26
  const { data } = useFetchDocs(component.id.toString());
20
27
  const fetchComponent = data?.component;
21
28
  if (component?.buildStatus === 'pending' && component?.host === 'teambit.scope/scope')
@@ -39,6 +46,8 @@ export function Overview({ titleBadges }: OverviewProps) {
39
46
 
40
47
  return (
41
48
  <div className={styles.overviewWrapper}>
49
+ {laneId && <LaneOverview laneId={laneId} />}
50
+ <Separator isPresentational />
42
51
  <ComponentOverview
43
52
  className={styles.componentOverviewBlock}
44
53
  displayName={component.displayName}
@@ -47,6 +56,7 @@ export function Overview({ titleBadges }: OverviewProps) {
47
56
  labels={labels || []}
48
57
  packageName={component.packageName}
49
58
  titleBadges={badges}
59
+ componentDescriptor={componentDescriptor}
50
60
  />
51
61
  <ComponentPreview
52
62
  component={component}
@@ -59,5 +69,33 @@ export function Overview({ titleBadges }: OverviewProps) {
59
69
  );
60
70
  }
61
71
 
62
- return <ComponentPreview component={component} style={{ width: '100%', height: '100%' }} previewName="overview" />;
72
+ return laneId ? (
73
+ <div className={styles.overviewWrapper}>
74
+ <LaneOverview laneId={laneId} />
75
+ <Separator isPresentational />
76
+ <ComponentPreview
77
+ component={component}
78
+ style={{ width: '100%', height: '100%' }}
79
+ previewName="overview"
80
+ fullContentHeight
81
+ scrolling="no"
82
+ />
83
+ </div>
84
+ ) : (
85
+ <ComponentPreview
86
+ component={component}
87
+ style={{ width: '100%', height: '100%' }}
88
+ previewName="overview"
89
+ fullContentHeight
90
+ />
91
+ );
92
+ }
93
+
94
+ function LaneOverview({ laneId }: { laneId: string }): JSX.Element {
95
+ return (
96
+ <div className={styles.lane}>
97
+ <Icon of="lane"></Icon>
98
+ <Ellipsis className={styles.laneName}>{laneId}</Ellipsis>
99
+ </div>
100
+ );
63
101
  }
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@teambit/docs",
3
- "version": "0.0.653",
3
+ "version": "0.0.656",
4
4
  "homepage": "https://bit.dev/teambit/docs/docs",
5
5
  "main": "dist/index.js",
6
6
  "componentId": {
7
7
  "scope": "teambit.docs",
8
8
  "name": "docs",
9
- "version": "0.0.653"
9
+ "version": "0.0.656"
10
10
  },
11
11
  "dependencies": {
12
12
  "@teambit/harmony": "0.2.11",
@@ -14,22 +14,26 @@
14
14
  "lodash.flatten": "4.4.0",
15
15
  "@babel/runtime": "7.12.18",
16
16
  "core-js": "^3.0.0",
17
- "@teambit/compiler": "0.0.653",
18
- "@teambit/component": "0.0.653",
19
- "@teambit/pkg": "0.0.653",
20
- "@teambit/workspace": "0.0.653",
21
- "@teambit/cli": "0.0.445",
22
- "@teambit/dev-files": "0.0.653",
23
- "@teambit/envs": "0.0.653",
24
- "@teambit/graphql": "0.0.653",
25
- "@teambit/logger": "0.0.535",
26
- "@teambit/preview": "0.0.653",
27
- "@teambit/component.ui.component-meta": "0.0.2",
28
- "@teambit/ui": "0.0.653",
17
+ "@teambit/evangelist.elements.icon": "1.0.2",
18
+ "@teambit/compiler": "0.0.656",
19
+ "@teambit/component": "0.0.656",
20
+ "@teambit/pkg": "0.0.656",
21
+ "@teambit/workspace": "0.0.656",
22
+ "@teambit/cli": "0.0.447",
23
+ "@teambit/dev-files": "0.0.656",
24
+ "@teambit/envs": "0.0.656",
25
+ "@teambit/graphql": "0.0.656",
26
+ "@teambit/logger": "0.0.537",
27
+ "@teambit/preview": "0.0.656",
28
+ "@teambit/component.ui.component-meta": "0.0.4",
29
+ "@teambit/ui": "0.0.656",
29
30
  "@teambit/toolbox.types.serializable": "0.0.483",
30
- "@teambit/pubsub": "0.0.653",
31
+ "@teambit/pubsub": "0.0.656",
31
32
  "@teambit/component.ui.hooks.use-fetch-docs": "0.0.3",
33
+ "@teambit/design.ui.separator": "0.0.351",
34
+ "@teambit/design.ui.styles.ellipsis": "0.0.347",
32
35
  "@teambit/design.ui.surfaces.status-message-card": "0.0.7",
36
+ "@teambit/lanes.ui.lanes": "0.0.2",
33
37
  "@teambit/preview.ui.component-preview": "0.0.490"
34
38
  },
35
39
  "devDependencies": {
@@ -42,7 +46,7 @@
42
46
  "@types/node": "12.20.4"
43
47
  },
44
48
  "peerDependencies": {
45
- "@teambit/legacy": "1.0.223",
49
+ "@teambit/legacy": "1.0.226",
46
50
  "react-dom": "^16.8.0 || ^17.0.0",
47
51
  "react": "^16.8.0 || ^17.0.0"
48
52
  },
@@ -70,7 +74,7 @@
70
74
  "react": "-"
71
75
  },
72
76
  "peerDependencies": {
73
- "@teambit/legacy": "1.0.223",
77
+ "@teambit/legacy": "1.0.226",
74
78
  "react-dom": "^16.8.0 || ^17.0.0",
75
79
  "react": "^16.8.0 || ^17.0.0"
76
80
  }