@teambit/component 0.0.1079 → 0.0.1081
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/component.ui.runtime.tsx +19 -9
- package/dist/component.graphql.d.ts +4 -1
- package/dist/component.graphql.js +4 -1
- package/dist/component.graphql.js.map +1 -1
- package/dist/component.ui.runtime.js +17 -9
- package/dist/component.ui.runtime.js.map +1 -1
- package/dist/get-component-opts.d.ts +1 -2
- package/dist/get-component-opts.js.map +1 -1
- package/dist/{preview-1686886045563.js → preview-1687058340034.js} +2 -2
- package/dist/ui/component.d.ts +1 -2
- package/dist/ui/component.js +24 -9
- package/dist/ui/component.js.map +1 -1
- package/dist/ui/index.d.ts +5 -2
- package/dist/ui/index.js +59 -9
- package/dist/ui/index.js.map +1 -1
- package/dist/ui/menu/index.d.ts +1 -1
- package/dist/ui/menu/index.js.map +1 -1
- package/dist/ui/menu/menu.d.ts +47 -8
- package/dist/ui/menu/menu.js +172 -84
- package/dist/ui/menu/menu.js.map +1 -1
- package/dist/ui/menu/nav-plugin.d.ts +12 -3
- package/dist/ui/menu/nav-plugin.js.map +1 -1
- package/dist/ui/use-component-logs.d.ts +16 -0
- package/dist/ui/use-component-logs.js +93 -0
- package/dist/ui/use-component-logs.js.map +1 -0
- package/dist/ui/use-component-query.d.ts +2 -86
- package/dist/ui/use-component-query.js +62 -188
- package/dist/ui/use-component-query.js.map +1 -1
- package/dist/ui/use-component.d.ts +3 -18
- package/dist/ui/use-component.fragments.d.ts +10 -0
- package/dist/ui/use-component.fragments.js +183 -0
- package/dist/ui/use-component.fragments.js.map +1 -0
- package/dist/ui/use-component.js +19 -0
- package/dist/ui/use-component.js.map +1 -1
- package/dist/ui/use-component.model.d.ts +40 -0
- package/dist/ui/use-component.model.js +3 -0
- package/dist/ui/use-component.model.js.map +1 -0
- package/dist/ui/use-component.utils.d.ts +1 -0
- package/dist/ui/use-component.utils.js +17 -0
- package/dist/ui/use-component.utils.js.map +1 -0
- package/package-tar/teambit-component-0.0.1081.tgz +0 -0
- package/package.json +18 -19
- package/ui/component.tsx +11 -5
- package/ui/index.ts +21 -2
- package/ui/menu/index.ts +7 -1
- package/ui/menu/menu.tsx +196 -68
- package/ui/menu/nav-plugin.tsx +14 -6
- package/ui/use-component-logs.ts +65 -0
- package/ui/use-component-query.ts +57 -160
- package/ui/use-component.fragments.ts +169 -0
- package/ui/use-component.model.ts +45 -0
- package/ui/use-component.tsx +4 -19
- package/ui/use-component.utils.ts +9 -0
- package/package-tar/teambit-component-0.0.1079.tgz +0 -0
package/component.ui.runtime.tsx
CHANGED
|
@@ -145,20 +145,30 @@ export class ComponentUI {
|
|
|
145
145
|
},
|
|
146
146
|
];
|
|
147
147
|
|
|
148
|
-
private bitMethod: ConsumePlugin = (
|
|
149
|
-
|
|
150
|
-
|
|
148
|
+
private bitMethod: ConsumePlugin = ({
|
|
149
|
+
options,
|
|
150
|
+
id: componentId,
|
|
151
|
+
packageName: packageNameFromProps,
|
|
152
|
+
latest: latestFromProps,
|
|
153
|
+
componentModel,
|
|
154
|
+
}) => {
|
|
155
|
+
const packageName = packageNameFromProps || componentModel?.packageName;
|
|
156
|
+
const latest = latestFromProps || componentModel?.id.version;
|
|
157
|
+
|
|
158
|
+
const version = componentId.version === latest ? '' : `@${componentId.version}`;
|
|
159
|
+
const packageVersion =
|
|
160
|
+
componentId.version === latest ? '' : `@${this.formatToInstallableVersion(componentId.version)}`;
|
|
151
161
|
|
|
152
162
|
return {
|
|
153
163
|
Title: <img style={{ width: '20px' }} src="https://static.bit.dev/brands/bit-logo-text.svg" />,
|
|
154
|
-
Component: (
|
|
164
|
+
Component: !options?.hide ? (
|
|
155
165
|
<Import
|
|
156
|
-
componentId={`${
|
|
157
|
-
packageName={`${
|
|
158
|
-
componentName={
|
|
159
|
-
showInstallMethod={!options?.
|
|
166
|
+
componentId={`${componentId.toString({ ignoreVersion: true })}${version}`}
|
|
167
|
+
packageName={`${packageName}${packageVersion}`}
|
|
168
|
+
componentName={componentId.name}
|
|
169
|
+
showInstallMethod={!options?.disableInstall}
|
|
160
170
|
/>
|
|
161
|
-
),
|
|
171
|
+
) : null,
|
|
162
172
|
order: 0,
|
|
163
173
|
};
|
|
164
174
|
};
|
|
@@ -12,7 +12,8 @@ export declare function componentSchema(componentExtension: ComponentMain): {
|
|
|
12
12
|
log: (component: Component) => Promise<{
|
|
13
13
|
date: number;
|
|
14
14
|
email: string;
|
|
15
|
-
username: string;
|
|
15
|
+
username: string | undefined;
|
|
16
|
+
displayName: string;
|
|
16
17
|
id: string;
|
|
17
18
|
hash: string;
|
|
18
19
|
timestamp: Date;
|
|
@@ -41,11 +42,13 @@ export declare function componentSchema(componentExtension: ComponentMain): {
|
|
|
41
42
|
id: string;
|
|
42
43
|
message: string;
|
|
43
44
|
username?: string | undefined;
|
|
45
|
+
displayName?: string | undefined;
|
|
44
46
|
email?: string | undefined;
|
|
45
47
|
date?: string | undefined;
|
|
46
48
|
hash: string;
|
|
47
49
|
tag?: string | undefined;
|
|
48
50
|
parents: string[];
|
|
51
|
+
profileImage?: string | undefined;
|
|
49
52
|
onLane?: boolean | undefined;
|
|
50
53
|
}[]>;
|
|
51
54
|
};
|
|
@@ -82,6 +82,7 @@ function componentSchema(componentExtension) {
|
|
|
82
82
|
|
|
83
83
|
type LogEntry {
|
|
84
84
|
message: String!
|
|
85
|
+
displayName: String
|
|
85
86
|
username: String
|
|
86
87
|
parents: [String]!
|
|
87
88
|
email: String
|
|
@@ -89,6 +90,7 @@ function componentSchema(componentExtension) {
|
|
|
89
90
|
hash: String!
|
|
90
91
|
tag: String
|
|
91
92
|
id: String!
|
|
93
|
+
profileImage: String
|
|
92
94
|
}
|
|
93
95
|
|
|
94
96
|
type Author {
|
|
@@ -204,7 +206,8 @@ function componentSchema(componentExtension) {
|
|
|
204
206
|
return _objectSpread(_objectSpread({}, snap), {}, {
|
|
205
207
|
date: snap.timestamp.getTime(),
|
|
206
208
|
email: snap.author.email,
|
|
207
|
-
username: snap.author.
|
|
209
|
+
username: snap.author.name,
|
|
210
|
+
displayName: snap.author.displayName,
|
|
208
211
|
id: snap.hash
|
|
209
212
|
});
|
|
210
213
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["componentSchema","componentExtension","typeDefs","gql","resolvers","JSONObject","GraphQLJSONObject","Component","id","component","toObject","displayName","fs","state","filesystem","files","map","file","relative","log","snap","loadSnap","version","date","timestamp","getTime","email","author","username","hash","getFile","path","maybeFile","find","pathNormalizeToLinux","undefined","contents","toString","mainFile","_consumer","headTag","latest","tags","toArray","tag","aspects","include","filter","serialize","logs","head","takeHeadFromComponent","finalFilter","getLogs","ComponentHost","get","host","componentId","resolveComponentId","error","snaps","list","listInvalid","invalidComps","err","errorName","name","errorMessage","message","stripAnsi","Query","getHost","componentExt"],"sources":["component.graphql.ts"],"sourcesContent":["import stripAnsi from 'strip-ansi';\nimport gql from 'graphql-tag';\nimport { GraphQLJSONObject } from 'graphql-type-json';\nimport { pathNormalizeToLinux } from '@teambit/legacy/dist/utils';\nimport { Component } from './component';\nimport { ComponentFactory } from './component-factory';\nimport { ComponentMain } from './component.main.runtime';\n\nexport function componentSchema(componentExtension: ComponentMain) {\n return {\n typeDefs: gql`\n scalar JSON\n scalar JSONObject\n\n type ComponentID {\n name: String!\n version: String\n scope: String\n }\n\n type Tag {\n # semver assigned to the tag.\n version: String!\n\n # tag hash.\n hash: String!\n }\n\n type Snap {\n # hash of the snapshot.\n hash: String!\n\n # time of the snapshot.\n timestamp: String!\n\n # parents of the snap\n parents: [String]!\n\n # snapper\n author: Author!\n\n # snapshot message\n message: String\n }\n\n type LogEntry {\n message: String!\n username: String\n parents: [String]!\n email: String\n date: String\n hash: String!\n tag: String\n id: String!\n }\n\n type Author {\n # display name of the snapper.\n displayName: String!\n\n # author of the snapper.\n email: String!\n }\n\n type Component {\n # id of the component.\n id: ComponentID!\n\n # head snap of the component.\n head: Snap\n\n # head tag of the component.\n headTag: Tag\n\n # list of all relative component paths.\n fs: [String]\n\n # relative path to the main file of the component\n mainFile: String\n\n # return specific file contents by relative file path.\n getFile(path: String): String\n\n # latest version of the component.\n latest: String\n\n # display name of the component\n displayName: String!\n\n # component buildStatus\n buildStatus: String\n\n # list of component releases.\n tags: [Tag]!\n\n # Log entry of the component.\n log: LogEntry!\n\n \"\"\"\n component logs\n \"\"\"\n logs(\n \"\"\"\n type of logs to show (tag or snap)\n \"\"\"\n type: String\n offset: Int\n limit: Int\n \"\"\"\n head to start traversing logs from\n \"\"\"\n head: String\n sort: String\n \"\"\"\n start traversing logs from the fetched component's head\n \"\"\"\n takeHeadFromComponent: Boolean\n ): [LogEntry]!\n\n aspects(include: [String]): [Aspect]\n }\n\n type Aspect {\n id: String!\n icon: String\n config: JSONObject\n data: JSONObject\n }\n\n type InvalidComponent {\n id: ComponentID!\n errorName: String!\n errorMessage: String!\n }\n\n type ComponentHost {\n id: ID!\n name: String!\n\n # load a component.\n get(id: String!, withState: Boolean): Component\n\n # list components\n list(offset: Int, limit: Int): [Component]!\n\n # list invalid components and their errors\n listInvalid: [InvalidComponent]!\n\n # get component logs(snaps) by component id\n snaps(id: String!): [LogEntry]! @deprecated(reason: \"Use the logs field on Component\")\n }\n\n type Query {\n getHost(id: String): ComponentHost\n }\n `,\n resolvers: {\n JSONObject: GraphQLJSONObject,\n Component: {\n id: (component: Component) => component.id.toObject(),\n displayName: (component: Component) => component.displayName,\n fs: (component: Component) => {\n return component.state.filesystem.files.map((file) => file.relative);\n },\n log: async (component: Component) => {\n const snap = await component.loadSnap(component.id.version);\n return {\n ...snap,\n date: snap.timestamp.getTime(),\n email: snap.author.email,\n username: snap.author.displayName,\n id: snap.hash,\n };\n },\n getFile: (component: Component, { path }: { path: string }) => {\n const maybeFile = component.state.filesystem.files.find(\n (file) => pathNormalizeToLinux(file.relative) === path\n );\n if (!maybeFile) return undefined;\n return maybeFile.contents.toString('utf-8');\n },\n mainFile: (component: Component) => {\n return component.state._consumer.mainFile;\n },\n headTag: (component: Component) => component.headTag?.toObject(),\n latest: (component: Component) => component.latest,\n tags: (component) => {\n // graphql doesn't support map types\n return component.tags.toArray().map((tag) => tag.toObject());\n },\n aspects: (component: Component, { include }: { include?: string[] }) => {\n return component.state.aspects.filter(include).serialize();\n },\n logs: async (\n component: Component,\n filter?: {\n type?: string;\n offset?: number;\n limit?: number;\n head?: string;\n sort?: string;\n takeHeadFromComponent: boolean;\n }\n ) => {\n let head = filter?.head;\n if (!head && filter?.takeHeadFromComponent) {\n head = component.id.version;\n }\n const finalFilter = { ...filter, ...{ head } };\n return (await component.getLogs(finalFilter)).map((log) => ({ ...log, id: log.hash }));\n },\n },\n ComponentHost: {\n get: async (host: ComponentFactory, { id }: { id: string }) => {\n try {\n const componentId = await host.resolveComponentId(id);\n const component = await host.get(componentId);\n return component;\n } catch (error: any) {\n return null;\n }\n },\n snaps: async (host: ComponentFactory, { id }: { id: string }) => {\n const componentId = await host.resolveComponentId(id);\n // return (await host.getLogs(componentId)).map(log => ({...log, id: log.hash}))\n return host.getLogs(componentId);\n },\n list: async (host: ComponentFactory, filter?: { offset: number; limit: number }) => {\n return host.list(filter);\n },\n listInvalid: async (host: ComponentFactory) => {\n const invalidComps = await host.listInvalid();\n return invalidComps.map(({ id, err }) => ({\n id,\n errorName: err.name,\n errorMessage: err.message ? stripAnsi(err.message) : err.name,\n }));\n },\n id: async (host: ComponentFactory) => {\n return host.name;\n },\n name: async (host: ComponentFactory) => {\n return host.name;\n },\n },\n Query: {\n getHost: (componentExt: ComponentMain, { id }: { id: string }) => {\n return componentExtension.getHost(id);\n },\n },\n },\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;AAAA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAAkE;AAAA;AAK3D,SAASA,eAAe,CAACC,kBAAiC,EAAE;EACjE,OAAO;IACLC,QAAQ,EAAE,IAAAC,qBAAG,CAAC;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;IACDC,SAAS,EAAE;MACTC,UAAU,EAAEC,oCAAiB;MAC7BC,SAAS,EAAE;QACTC,EAAE,EAAGC,SAAoB,IAAKA,SAAS,CAACD,EAAE,CAACE,QAAQ,EAAE;QACrDC,WAAW,EAAGF,SAAoB,IAAKA,SAAS,CAACE,WAAW;QAC5DC,EAAE,EAAGH,SAAoB,IAAK;UAC5B,OAAOA,SAAS,CAACI,KAAK,CAA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"}
|
|
1
|
+
{"version":3,"names":["componentSchema","componentExtension","typeDefs","gql","resolvers","JSONObject","GraphQLJSONObject","Component","id","component","toObject","displayName","fs","state","filesystem","files","map","file","relative","log","snap","loadSnap","version","date","timestamp","getTime","email","author","username","name","hash","getFile","path","maybeFile","find","pathNormalizeToLinux","undefined","contents","toString","mainFile","_consumer","headTag","latest","tags","toArray","tag","aspects","include","filter","serialize","logs","head","takeHeadFromComponent","finalFilter","getLogs","ComponentHost","get","host","componentId","resolveComponentId","error","snaps","list","listInvalid","invalidComps","err","errorName","errorMessage","message","stripAnsi","Query","getHost","componentExt"],"sources":["component.graphql.ts"],"sourcesContent":["import stripAnsi from 'strip-ansi';\nimport gql from 'graphql-tag';\nimport { GraphQLJSONObject } from 'graphql-type-json';\nimport { pathNormalizeToLinux } from '@teambit/legacy/dist/utils';\nimport { Component } from './component';\nimport { ComponentFactory } from './component-factory';\nimport { ComponentMain } from './component.main.runtime';\n\nexport function componentSchema(componentExtension: ComponentMain) {\n return {\n typeDefs: gql`\n scalar JSON\n scalar JSONObject\n\n type ComponentID {\n name: String!\n version: String\n scope: String\n }\n\n type Tag {\n # semver assigned to the tag.\n version: String!\n\n # tag hash.\n hash: String!\n }\n\n type Snap {\n # hash of the snapshot.\n hash: String!\n\n # time of the snapshot.\n timestamp: String!\n\n # parents of the snap\n parents: [String]!\n\n # snapper\n author: Author!\n\n # snapshot message\n message: String\n }\n\n type LogEntry {\n message: String!\n displayName: String\n username: String\n parents: [String]!\n email: String\n date: String\n hash: String!\n tag: String\n id: String!\n profileImage: String\n }\n\n type Author {\n # display name of the snapper.\n displayName: String!\n\n # author of the snapper.\n email: String!\n }\n\n type Component {\n # id of the component.\n id: ComponentID!\n\n # head snap of the component.\n head: Snap\n\n # head tag of the component.\n headTag: Tag\n\n # list of all relative component paths.\n fs: [String]\n\n # relative path to the main file of the component\n mainFile: String\n\n # return specific file contents by relative file path.\n getFile(path: String): String\n\n # latest version of the component.\n latest: String\n\n # display name of the component\n displayName: String!\n\n # component buildStatus\n buildStatus: String\n\n # list of component releases.\n tags: [Tag]!\n\n # Log entry of the component.\n log: LogEntry!\n\n \"\"\"\n component logs\n \"\"\"\n logs(\n \"\"\"\n type of logs to show (tag or snap)\n \"\"\"\n type: String\n offset: Int\n limit: Int\n \"\"\"\n head to start traversing logs from\n \"\"\"\n head: String\n sort: String\n \"\"\"\n start traversing logs from the fetched component's head\n \"\"\"\n takeHeadFromComponent: Boolean\n ): [LogEntry]!\n\n aspects(include: [String]): [Aspect]\n }\n\n type Aspect {\n id: String!\n icon: String\n config: JSONObject\n data: JSONObject\n }\n\n type InvalidComponent {\n id: ComponentID!\n errorName: String!\n errorMessage: String!\n }\n\n type ComponentHost {\n id: ID!\n name: String!\n\n # load a component.\n get(id: String!, withState: Boolean): Component\n\n # list components\n list(offset: Int, limit: Int): [Component]!\n\n # list invalid components and their errors\n listInvalid: [InvalidComponent]!\n\n # get component logs(snaps) by component id\n snaps(id: String!): [LogEntry]! @deprecated(reason: \"Use the logs field on Component\")\n }\n\n type Query {\n getHost(id: String): ComponentHost\n }\n `,\n resolvers: {\n JSONObject: GraphQLJSONObject,\n Component: {\n id: (component: Component) => component.id.toObject(),\n displayName: (component: Component) => component.displayName,\n fs: (component: Component) => {\n return component.state.filesystem.files.map((file) => file.relative);\n },\n log: async (component: Component) => {\n const snap = await component.loadSnap(component.id.version);\n return {\n ...snap,\n date: snap.timestamp.getTime(),\n email: snap.author.email,\n username: snap.author.name,\n displayName: snap.author.displayName,\n id: snap.hash,\n };\n },\n getFile: (component: Component, { path }: { path: string }) => {\n const maybeFile = component.state.filesystem.files.find(\n (file) => pathNormalizeToLinux(file.relative) === path\n );\n if (!maybeFile) return undefined;\n return maybeFile.contents.toString('utf-8');\n },\n mainFile: (component: Component) => {\n return component.state._consumer.mainFile;\n },\n headTag: (component: Component) => component.headTag?.toObject(),\n latest: (component: Component) => component.latest,\n tags: (component) => {\n // graphql doesn't support map types\n return component.tags.toArray().map((tag) => tag.toObject());\n },\n aspects: (component: Component, { include }: { include?: string[] }) => {\n return component.state.aspects.filter(include).serialize();\n },\n logs: async (\n component: Component,\n filter?: {\n type?: string;\n offset?: number;\n limit?: number;\n head?: string;\n sort?: string;\n takeHeadFromComponent: boolean;\n }\n ) => {\n let head = filter?.head;\n if (!head && filter?.takeHeadFromComponent) {\n head = component.id.version;\n }\n const finalFilter = { ...filter, ...{ head } };\n return (await component.getLogs(finalFilter)).map((log) => ({ ...log, id: log.hash }));\n },\n },\n ComponentHost: {\n get: async (host: ComponentFactory, { id }: { id: string }) => {\n try {\n const componentId = await host.resolveComponentId(id);\n const component = await host.get(componentId);\n return component;\n } catch (error: any) {\n return null;\n }\n },\n snaps: async (host: ComponentFactory, { id }: { id: string }) => {\n const componentId = await host.resolveComponentId(id);\n // return (await host.getLogs(componentId)).map(log => ({...log, id: log.hash}))\n return host.getLogs(componentId);\n },\n list: async (host: ComponentFactory, filter?: { offset: number; limit: number }) => {\n return host.list(filter);\n },\n listInvalid: async (host: ComponentFactory) => {\n const invalidComps = await host.listInvalid();\n return invalidComps.map(({ id, err }) => ({\n id,\n errorName: err.name,\n errorMessage: err.message ? stripAnsi(err.message) : err.name,\n }));\n },\n id: async (host: ComponentFactory) => {\n return host.name;\n },\n name: async (host: ComponentFactory) => {\n return host.name;\n },\n },\n Query: {\n getHost: (componentExt: ComponentMain, { id }: { id: string }) => {\n return componentExtension.getHost(id);\n },\n },\n },\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;AAAA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAAkE;AAAA;AAK3D,SAASA,eAAe,CAACC,kBAAiC,EAAE;EACjE,OAAO;IACLC,QAAQ,EAAE,IAAAC,qBAAG,CAAC;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;IACDC,SAAS,EAAE;MACTC,UAAU,EAAEC,oCAAiB;MAC7BC,SAAS,EAAE;QACTC,EAAE,EAAGC,SAAoB,IAAKA,SAAS,CAACD,EAAE,CAACE,QAAQ,EAAE;QACrDC,WAAW,EAAGF,SAAoB,IAAKA,SAAS,CAACE,WAAW;QAC5DC,EAAE,EAAGH,SAAoB,IAAK;UAC5B,OAAOA,SAAS,CAAC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"}
|
|
@@ -230,9 +230,17 @@ class ComponentUI {
|
|
|
230
230
|
return (_this$commandBarUI4 = this.commandBarUI) === null || _this$commandBarUI4 === void 0 ? void 0 : _this$commandBarUI4.run('component.copyNpmId');
|
|
231
231
|
}
|
|
232
232
|
}]);
|
|
233
|
-
(0, _defineProperty2().default)(this, "bitMethod", (
|
|
234
|
-
|
|
235
|
-
|
|
233
|
+
(0, _defineProperty2().default)(this, "bitMethod", ({
|
|
234
|
+
options,
|
|
235
|
+
id: componentId,
|
|
236
|
+
packageName: packageNameFromProps,
|
|
237
|
+
latest: latestFromProps,
|
|
238
|
+
componentModel
|
|
239
|
+
}) => {
|
|
240
|
+
const packageName = packageNameFromProps || (componentModel === null || componentModel === void 0 ? void 0 : componentModel.packageName);
|
|
241
|
+
const latest = latestFromProps || (componentModel === null || componentModel === void 0 ? void 0 : componentModel.id.version);
|
|
242
|
+
const version = componentId.version === latest ? '' : `@${componentId.version}`;
|
|
243
|
+
const packageVersion = componentId.version === latest ? '' : `@${this.formatToInstallableVersion(componentId.version)}`;
|
|
236
244
|
return {
|
|
237
245
|
Title: /*#__PURE__*/_react().default.createElement("img", {
|
|
238
246
|
style: {
|
|
@@ -240,14 +248,14 @@ class ComponentUI {
|
|
|
240
248
|
},
|
|
241
249
|
src: "https://static.bit.dev/brands/bit-logo-text.svg"
|
|
242
250
|
}),
|
|
243
|
-
Component: /*#__PURE__*/_react().default.createElement(_uiFoundationUiUseBox().Import, {
|
|
244
|
-
componentId: `${
|
|
251
|
+
Component: !(options !== null && options !== void 0 && options.hide) ? /*#__PURE__*/_react().default.createElement(_uiFoundationUiUseBox().Import, {
|
|
252
|
+
componentId: `${componentId.toString({
|
|
245
253
|
ignoreVersion: true
|
|
246
254
|
})}${version}`,
|
|
247
|
-
packageName: `${
|
|
248
|
-
componentName:
|
|
249
|
-
showInstallMethod: !(options !== null && options !== void 0 && options.
|
|
250
|
-
}),
|
|
255
|
+
packageName: `${packageName}${packageVersion}`,
|
|
256
|
+
componentName: componentId.name,
|
|
257
|
+
showInstallMethod: !(options !== null && options !== void 0 && options.disableInstall)
|
|
258
|
+
}) : null,
|
|
251
259
|
order: 0
|
|
252
260
|
};
|
|
253
261
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["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","comp","options","latest","packageVersion","Title","width","Component","ignoreVersion","name","currentLane","order","menuItems","register","items","totalPlugins","flatten","values","componentSearcher","updatePlugins","components","update","ComponentSearcher","navigate","navigateTo","isBrowser","registerPubSub","routes","toArray","map","key","Array","isArray","snapToSemver","sub","PreviewAspect","be","type","ClickInsideAnIframeEvent","TYPE","event","MouseEvent","view","window","bubbles","cancelable","body","document","dispatchEvent","getComponentUI","host","handleComponentChange","path","useComponent","componentId","useComponentFilters","getMenu","className","skipRightSide","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","PubsubAspect","CommandBarAspect","ReactRouterAspect","UIRuntime","Slot","withType","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 = (comp, options) => {\n const version = comp.version === comp.latest ? '' : `@${comp.version}`;\n const packageVersion = comp.version === comp.latest ? '' : `@${this.formatToInstallableVersion(comp.version)}`;\n\n return {\n Title: <img style={{ width: '20px' }} src=\"https://static.bit.dev/brands/bit-logo-text.svg\" />,\n Component: (\n <Import\n componentId={`${comp.id.toString({ ignoreVersion: true })}${version}`}\n packageName={`${comp.packageName}${packageVersion}`}\n componentName={comp.id.name}\n showInstallMethod={!options?.currentLane}\n />\n ),\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":["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","width","Component","hide","ignoreVersion","name","disableInstall","order","menuItems","register","items","totalPlugins","flatten","values","componentSearcher","updatePlugins","components","update","ComponentSearcher","navigate","navigateTo","isBrowser","registerPubSub","routes","toArray","map","key","Array","isArray","snapToSemver","sub","PreviewAspect","be","type","ClickInsideAnIframeEvent","TYPE","event","MouseEvent","view","window","bubbles","cancelable","body","document","dispatchEvent","getComponentUI","host","handleComponentChange","path","useComponent","useComponentFilters","getMenu","className","skipRightSide","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","PubsubAspect","CommandBarAspect","ReactRouterAspect","UIRuntime","Slot","withType","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)}`;\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,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { RouteProps } from 'react-router-dom';
|
|
3
|
-
import type { UseComponentType } from './ui/use-component';
|
|
4
|
-
import { Filters } from './ui/use-component-query';
|
|
3
|
+
import type { UseComponentType, Filters } from './ui/use-component';
|
|
5
4
|
export declare type GetComponentsOptions = {
|
|
6
5
|
useComponent?: UseComponentType;
|
|
7
6
|
componentId?: string | (() => string | undefined);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["get-component-opts.ts"],"sourcesContent":["import React from 'react';\nimport { RouteProps } from 'react-router-dom';\nimport type { UseComponentType
|
|
1
|
+
{"version":3,"names":[],"sources":["get-component-opts.ts"],"sourcesContent":["import React from 'react';\nimport { RouteProps } from 'react-router-dom';\nimport type { UseComponentType, Filters } from './ui/use-component';\n\nexport type GetComponentsOptions = {\n useComponent?: UseComponentType;\n componentId?: string | (() => string | undefined);\n useComponentFilters?: () => Filters;\n path?: string;\n skipRightSide?: boolean;\n RightNode?: React.ReactNode;\n className?: string;\n routes?: RouteProps[];\n};\n"],"mappings":""}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.component_component@0.0.
|
|
2
|
-
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.component_component@0.0.
|
|
1
|
+
import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.component_component@0.0.1081/dist/component.composition.js';
|
|
2
|
+
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.component_component@0.0.1081/dist/component.docs.mdx';
|
|
3
3
|
|
|
4
4
|
export const compositions = [compositions_0];
|
|
5
5
|
export const overview = [overview_0];
|
package/dist/ui/component.d.ts
CHANGED
|
@@ -2,9 +2,8 @@ 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
|
-
import { UseComponentType } from './use-component';
|
|
5
|
+
import { UseComponentType, Filters } from './use-component';
|
|
6
6
|
import { ComponentModel } from './component-model';
|
|
7
|
-
import { Filters } from './use-component-query';
|
|
8
7
|
export declare type ComponentPageSlot = SlotRegistry<ComponentPageElement[]>;
|
|
9
8
|
export declare type ComponentPageElement = {
|
|
10
9
|
type: 'before' | 'after';
|
package/dist/ui/component.js
CHANGED
|
@@ -6,6 +6,13 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
8
|
exports.Component = Component;
|
|
9
|
+
function _defineProperty2() {
|
|
10
|
+
const data = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
|
+
_defineProperty2 = function () {
|
|
12
|
+
return data;
|
|
13
|
+
};
|
|
14
|
+
return data;
|
|
15
|
+
}
|
|
9
16
|
function _react() {
|
|
10
17
|
const data = _interopRequireWildcard(require("react"));
|
|
11
18
|
_react = function () {
|
|
@@ -34,13 +41,6 @@ function _lodash2() {
|
|
|
34
41
|
};
|
|
35
42
|
return data;
|
|
36
43
|
}
|
|
37
|
-
function _componentModule() {
|
|
38
|
-
const data = _interopRequireDefault(require("./component.module.scss"));
|
|
39
|
-
_componentModule = function () {
|
|
40
|
-
return data;
|
|
41
|
-
};
|
|
42
|
-
return data;
|
|
43
|
-
}
|
|
44
44
|
function _context() {
|
|
45
45
|
const data = require("./context");
|
|
46
46
|
_context = function () {
|
|
@@ -69,8 +69,17 @@ function _() {
|
|
|
69
69
|
};
|
|
70
70
|
return data;
|
|
71
71
|
}
|
|
72
|
+
function _componentModule() {
|
|
73
|
+
const data = _interopRequireDefault(require("./component.module.scss"));
|
|
74
|
+
_componentModule = function () {
|
|
75
|
+
return data;
|
|
76
|
+
};
|
|
77
|
+
return data;
|
|
78
|
+
}
|
|
72
79
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
73
80
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
81
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
82
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2().default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
74
83
|
function getComponentIdStr(componentIdStr) {
|
|
75
84
|
if ((0, _lodash2().isFunction)(componentIdStr)) return componentIdStr();
|
|
76
85
|
return componentIdStr;
|
|
@@ -94,8 +103,13 @@ function Component({
|
|
|
94
103
|
const _componentIdStr = getComponentIdStr(componentIdStr);
|
|
95
104
|
const componentId = _componentIdStr ? _().ComponentID.fromString(_componentIdStr) : undefined;
|
|
96
105
|
const resolvedComponentIdStr = path || idFromLocation;
|
|
106
|
+
const componentFiltersFromProps = (useComponentFilters === null || useComponentFilters === void 0 ? void 0 : useComponentFilters()) || {};
|
|
97
107
|
const useComponentOptions = {
|
|
98
|
-
logFilters:
|
|
108
|
+
logFilters: _objectSpread(_objectSpread({}, componentFiltersFromProps), componentFiltersFromProps.loading ? {} : {
|
|
109
|
+
log: _objectSpread({
|
|
110
|
+
limit: 3
|
|
111
|
+
}, componentFiltersFromProps.log)
|
|
112
|
+
}),
|
|
99
113
|
customUseComponent: useComponent
|
|
100
114
|
};
|
|
101
115
|
const {
|
|
@@ -103,6 +117,7 @@ function Component({
|
|
|
103
117
|
componentDescriptor,
|
|
104
118
|
error
|
|
105
119
|
} = (0, _useComponent().useComponent)(host, (componentId === null || componentId === void 0 ? void 0 : componentId.toString()) || idFromLocation, useComponentOptions);
|
|
120
|
+
|
|
106
121
|
// trigger onComponentChange when component changes
|
|
107
122
|
(0, _react().useEffect)(() => onComponentChange === null || onComponentChange === void 0 ? void 0 : onComponentChange(component), [component]);
|
|
108
123
|
// cleanup when unmounting component
|
|
@@ -110,7 +125,7 @@ function Component({
|
|
|
110
125
|
const pageItems = (0, _react().useMemo)(() => (0, _lodash().default)(containerSlot === null || containerSlot === void 0 ? void 0 : containerSlot.values()), [containerSlot]);
|
|
111
126
|
const before = (0, _react().useMemo)(() => pageItems.filter(x => x.type === 'before').map(x => x.content), [pageItems]);
|
|
112
127
|
const after = (0, _react().useMemo)(() => pageItems.filter(x => x.type === 'after').map(x => x.content), [pageItems]);
|
|
113
|
-
if (error) return error.renderError();
|
|
128
|
+
if (error) return error === null || error === void 0 ? void 0 : error.renderError();
|
|
114
129
|
if (!component) return /*#__PURE__*/_react().default.createElement("div", null);
|
|
115
130
|
return /*#__PURE__*/_react().default.createElement(_context().ComponentDescriptorProvider, {
|
|
116
131
|
componentDescriptor: componentDescriptor
|
package/dist/ui/component.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["getComponentIdStr","componentIdStr","isFunction","Component","routeSlot","overriddenRoutes","containerSlot","host","onComponentChange","useComponent","path","useComponentFilters","idFromLocation","useIdFromLocation","_componentIdStr","componentId","ComponentID","fromString","undefined","resolvedComponentIdStr","useComponentOptions","logFilters","customUseComponent","component","componentDescriptor","error","useComponentQuery","toString","useEffect","pageItems","useMemo","flatten","values","before","filter","x","type","map","content","after","renderError","styles","container"],"sources":["component.tsx"],"sourcesContent":["import React, { useEffect, ReactNode, useMemo } from 'react';\nimport { RouteProps } from 'react-router-dom';\nimport flatten from 'lodash.flatten';\nimport { RouteSlot, SlotRouter } from '@teambit/ui-foundation.ui.react-router.slot-router';\nimport { SlotRegistry } from '@teambit/harmony';\nimport { isFunction } from 'lodash';\nimport
|
|
1
|
+
{"version":3,"names":["getComponentIdStr","componentIdStr","isFunction","Component","routeSlot","overriddenRoutes","containerSlot","host","onComponentChange","useComponent","path","useComponentFilters","idFromLocation","useIdFromLocation","_componentIdStr","componentId","ComponentID","fromString","undefined","resolvedComponentIdStr","componentFiltersFromProps","useComponentOptions","logFilters","loading","log","limit","customUseComponent","component","componentDescriptor","error","useComponentQuery","toString","useEffect","pageItems","useMemo","flatten","values","before","filter","x","type","map","content","after","renderError","styles","container"],"sources":["component.tsx"],"sourcesContent":["import React, { useEffect, ReactNode, useMemo } from 'react';\nimport { RouteProps } from 'react-router-dom';\nimport flatten from 'lodash.flatten';\nimport { RouteSlot, SlotRouter } from '@teambit/ui-foundation.ui.react-router.slot-router';\nimport { SlotRegistry } from '@teambit/harmony';\nimport { isFunction } from 'lodash';\nimport { ComponentProvider, ComponentDescriptorProvider } from './context';\nimport { useComponent as useComponentQuery, UseComponentType, Filters } from './use-component';\nimport { ComponentModel } from './component-model';\nimport { useIdFromLocation } from './use-component-from-location';\nimport { ComponentID } from '..';\n\nimport styles from './component.module.scss';\n\nexport type ComponentPageSlot = SlotRegistry<ComponentPageElement[]>;\nexport type ComponentPageElement = {\n type: 'before' | 'after';\n content: ReactNode;\n};\n\nexport type ComponentProps = {\n containerSlot?: ComponentPageSlot;\n routeSlot: RouteSlot;\n overriddenRoutes?: RouteProps[];\n host: string;\n onComponentChange?: (activeComponent?: ComponentModel) => void;\n useComponent?: UseComponentType;\n useComponentFilters?: () => Filters;\n path?: string;\n componentIdStr?: string | (() => string | undefined);\n};\n\nfunction getComponentIdStr(componentIdStr?: string | (() => string | undefined)): string | undefined {\n if (isFunction(componentIdStr)) return componentIdStr();\n return componentIdStr;\n}\n\n/**\n * main UI component of the Component extension.\n */\nexport function Component({\n routeSlot,\n overriddenRoutes,\n containerSlot,\n host,\n onComponentChange,\n componentIdStr,\n useComponent,\n path,\n useComponentFilters,\n}: ComponentProps) {\n const idFromLocation = useIdFromLocation();\n const _componentIdStr = getComponentIdStr(componentIdStr);\n const componentId = _componentIdStr ? ComponentID.fromString(_componentIdStr) : undefined;\n const resolvedComponentIdStr = path || idFromLocation;\n const componentFiltersFromProps = useComponentFilters?.() || {};\n\n const useComponentOptions = {\n logFilters: {\n ...componentFiltersFromProps,\n ...(componentFiltersFromProps.loading ? {} : { log: { limit: 3, ...componentFiltersFromProps.log } }),\n },\n customUseComponent: useComponent,\n };\n\n const { component, componentDescriptor, error } = useComponentQuery(\n host,\n componentId?.toString() || idFromLocation,\n useComponentOptions\n );\n\n // trigger onComponentChange when component changes\n useEffect(() => onComponentChange?.(component), [component]);\n // cleanup when unmounting component\n useEffect(() => () => onComponentChange?.(undefined), []);\n\n const pageItems = useMemo(() => flatten(containerSlot?.values()), [containerSlot]);\n const before = useMemo(() => pageItems.filter((x) => x.type === 'before').map((x) => x.content), [pageItems]);\n const after = useMemo(() => pageItems.filter((x) => x.type === 'after').map((x) => x.content), [pageItems]);\n\n if (error) return error?.renderError();\n if (!component) return <div></div>;\n\n return (\n <ComponentDescriptorProvider componentDescriptor={componentDescriptor}>\n <ComponentProvider component={component}>\n {before}\n <div className={styles.container}>\n {routeSlot && (\n <SlotRouter parentPath={`${resolvedComponentIdStr}/*`} slot={routeSlot} routes={overriddenRoutes} />\n )}\n </div>\n {after}\n </ComponentProvider>\n </ComponentDescriptorProvider>\n );\n}\n"],"mappings":"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"}
|
package/dist/ui/index.d.ts
CHANGED
|
@@ -3,7 +3,10 @@ export { Component } from './component';
|
|
|
3
3
|
export { ConsumeMethodSlot, ComponentMenu, VersionRelatedDropdowns } from './menu';
|
|
4
4
|
export { ComponentModel, ComponentModelProps } from './component-model';
|
|
5
5
|
export { ComponentContext, ComponentProvider } from './context';
|
|
6
|
-
export { useComponent } from './use-component';
|
|
7
6
|
export { TopBarNav } from './top-bar-nav';
|
|
8
|
-
export {
|
|
7
|
+
export { useComponent } from './use-component';
|
|
8
|
+
export { componentIdFields, componentOverviewFields, componentFields, componentFieldsWithLogs, COMPONENT_QUERY_LOG_FIELDS, GET_COMPONENT, GET_COMPONENT_WITH_LOGS, } from './use-component.fragments';
|
|
9
9
|
export { useIdFromLocation } from './use-component-from-location';
|
|
10
|
+
export type { LogFilter, Filters, UseComponentOptions, ComponentQueryResult, UseComponentType, ComponentLogs, ComponentLogsResult, } from './use-component.model';
|
|
11
|
+
export { useComponentQuery } from './use-component-query';
|
|
12
|
+
export { useComponentLogs } from './use-component-logs';
|
package/dist/ui/index.js
CHANGED
|
@@ -3,6 +3,12 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
+
Object.defineProperty(exports, "COMPONENT_QUERY_LOG_FIELDS", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function () {
|
|
9
|
+
return _useComponent2().COMPONENT_QUERY_LOG_FIELDS;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
6
12
|
Object.defineProperty(exports, "CollapsibleMenuNav", {
|
|
7
13
|
enumerable: true,
|
|
8
14
|
get: function () {
|
|
@@ -51,6 +57,18 @@ Object.defineProperty(exports, "ConsumeMethodSlot", {
|
|
|
51
57
|
return _menu().ConsumeMethodSlot;
|
|
52
58
|
}
|
|
53
59
|
});
|
|
60
|
+
Object.defineProperty(exports, "GET_COMPONENT", {
|
|
61
|
+
enumerable: true,
|
|
62
|
+
get: function () {
|
|
63
|
+
return _useComponent2().GET_COMPONENT;
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
Object.defineProperty(exports, "GET_COMPONENT_WITH_LOGS", {
|
|
67
|
+
enumerable: true,
|
|
68
|
+
get: function () {
|
|
69
|
+
return _useComponent2().GET_COMPONENT_WITH_LOGS;
|
|
70
|
+
}
|
|
71
|
+
});
|
|
54
72
|
Object.defineProperty(exports, "MenuNavProps", {
|
|
55
73
|
enumerable: true,
|
|
56
74
|
get: function () {
|
|
@@ -72,19 +90,25 @@ Object.defineProperty(exports, "VersionRelatedDropdowns", {
|
|
|
72
90
|
Object.defineProperty(exports, "componentFields", {
|
|
73
91
|
enumerable: true,
|
|
74
92
|
get: function () {
|
|
75
|
-
return
|
|
93
|
+
return _useComponent2().componentFields;
|
|
94
|
+
}
|
|
95
|
+
});
|
|
96
|
+
Object.defineProperty(exports, "componentFieldsWithLogs", {
|
|
97
|
+
enumerable: true,
|
|
98
|
+
get: function () {
|
|
99
|
+
return _useComponent2().componentFieldsWithLogs;
|
|
76
100
|
}
|
|
77
101
|
});
|
|
78
102
|
Object.defineProperty(exports, "componentIdFields", {
|
|
79
103
|
enumerable: true,
|
|
80
104
|
get: function () {
|
|
81
|
-
return
|
|
105
|
+
return _useComponent2().componentIdFields;
|
|
82
106
|
}
|
|
83
107
|
});
|
|
84
108
|
Object.defineProperty(exports, "componentOverviewFields", {
|
|
85
109
|
enumerable: true,
|
|
86
110
|
get: function () {
|
|
87
|
-
return
|
|
111
|
+
return _useComponent2().componentOverviewFields;
|
|
88
112
|
}
|
|
89
113
|
});
|
|
90
114
|
Object.defineProperty(exports, "useComponent", {
|
|
@@ -93,6 +117,18 @@ Object.defineProperty(exports, "useComponent", {
|
|
|
93
117
|
return _useComponent().useComponent;
|
|
94
118
|
}
|
|
95
119
|
});
|
|
120
|
+
Object.defineProperty(exports, "useComponentLogs", {
|
|
121
|
+
enumerable: true,
|
|
122
|
+
get: function () {
|
|
123
|
+
return _useComponentLogs().useComponentLogs;
|
|
124
|
+
}
|
|
125
|
+
});
|
|
126
|
+
Object.defineProperty(exports, "useComponentQuery", {
|
|
127
|
+
enumerable: true,
|
|
128
|
+
get: function () {
|
|
129
|
+
return _useComponentQuery().useComponentQuery;
|
|
130
|
+
}
|
|
131
|
+
});
|
|
96
132
|
Object.defineProperty(exports, "useIdFromLocation", {
|
|
97
133
|
enumerable: true,
|
|
98
134
|
get: function () {
|
|
@@ -127,6 +163,13 @@ function _context() {
|
|
|
127
163
|
};
|
|
128
164
|
return data;
|
|
129
165
|
}
|
|
166
|
+
function _topBarNav() {
|
|
167
|
+
const data = require("./top-bar-nav");
|
|
168
|
+
_topBarNav = function () {
|
|
169
|
+
return data;
|
|
170
|
+
};
|
|
171
|
+
return data;
|
|
172
|
+
}
|
|
130
173
|
function _useComponent() {
|
|
131
174
|
const data = require("./use-component");
|
|
132
175
|
_useComponent = function () {
|
|
@@ -134,9 +177,16 @@ function _useComponent() {
|
|
|
134
177
|
};
|
|
135
178
|
return data;
|
|
136
179
|
}
|
|
137
|
-
function
|
|
138
|
-
const data = require("./
|
|
139
|
-
|
|
180
|
+
function _useComponent2() {
|
|
181
|
+
const data = require("./use-component.fragments");
|
|
182
|
+
_useComponent2 = function () {
|
|
183
|
+
return data;
|
|
184
|
+
};
|
|
185
|
+
return data;
|
|
186
|
+
}
|
|
187
|
+
function _useComponentFromLocation() {
|
|
188
|
+
const data = require("./use-component-from-location");
|
|
189
|
+
_useComponentFromLocation = function () {
|
|
140
190
|
return data;
|
|
141
191
|
};
|
|
142
192
|
return data;
|
|
@@ -148,9 +198,9 @@ function _useComponentQuery() {
|
|
|
148
198
|
};
|
|
149
199
|
return data;
|
|
150
200
|
}
|
|
151
|
-
function
|
|
152
|
-
const data = require("./use-component-
|
|
153
|
-
|
|
201
|
+
function _useComponentLogs() {
|
|
202
|
+
const data = require("./use-component-logs");
|
|
203
|
+
_useComponentLogs = function () {
|
|
154
204
|
return data;
|
|
155
205
|
};
|
|
156
206
|
return data;
|
package/dist/ui/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export { CollapsibleMenuNav, MenuNavProps } from './menu';\nexport { Component } from './component';\nexport { ConsumeMethodSlot, ComponentMenu, VersionRelatedDropdowns } from './menu';\nexport { ComponentModel, ComponentModelProps } from './component-model';\nexport { ComponentContext, ComponentProvider } from './context';\nexport { useComponent } from './use-component';\nexport {
|
|
1
|
+
{"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export { CollapsibleMenuNav, MenuNavProps } from './menu';\nexport { Component } from './component';\nexport { ConsumeMethodSlot, ComponentMenu, VersionRelatedDropdowns } from './menu';\nexport { ComponentModel, ComponentModelProps } from './component-model';\nexport { ComponentContext, ComponentProvider } from './context';\nexport { TopBarNav } from './top-bar-nav';\nexport { useComponent } from './use-component';\nexport {\n componentIdFields,\n componentOverviewFields,\n componentFields,\n componentFieldsWithLogs,\n COMPONENT_QUERY_LOG_FIELDS,\n GET_COMPONENT,\n GET_COMPONENT_WITH_LOGS,\n} from './use-component.fragments';\nexport { useIdFromLocation } from './use-component-from-location';\nexport type {\n LogFilter,\n Filters,\n UseComponentOptions,\n ComponentQueryResult,\n UseComponentType,\n ComponentLogs,\n ComponentLogsResult,\n} from './use-component.model';\nexport { useComponentQuery } from './use-component-query';\nexport { useComponentLogs } from './use-component-logs';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAEA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AASA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAUA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA"}
|
package/dist/ui/menu/index.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export { CollapsibleMenuNav, MenuNavProps } from './menu-nav';
|
|
2
2
|
export { ComponentMenu, VersionRelatedDropdowns } from './menu';
|
|
3
|
-
export type { NavPlugin, OrderedNavigationSlot, ConsumePlugin, ConsumeMethodSlot } from './nav-plugin';
|
|
3
|
+
export type { NavPlugin, OrderedNavigationSlot, ConsumePlugin, ConsumeMethodSlot, ConsumePluginProps, } from './nav-plugin';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export { CollapsibleMenuNav, MenuNavProps } from './menu-nav';\nexport { ComponentMenu, VersionRelatedDropdowns } from './menu';\nexport type {
|
|
1
|
+
{"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export { CollapsibleMenuNav, MenuNavProps } from './menu-nav';\nexport { ComponentMenu, VersionRelatedDropdowns } from './menu';\nexport type {\n NavPlugin,\n OrderedNavigationSlot,\n ConsumePlugin,\n ConsumeMethodSlot,\n ConsumePluginProps,\n} from './nav-plugin';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA"}
|