@teambit/component 0.0.1079 → 0.0.1080

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 (55) hide show
  1. package/component.ui.runtime.tsx +19 -9
  2. package/dist/component.d.ts +1 -1
  3. package/dist/component.graphql.d.ts +5 -2
  4. package/dist/component.graphql.js +4 -1
  5. package/dist/component.graphql.js.map +1 -1
  6. package/dist/component.ui.runtime.js +17 -9
  7. package/dist/component.ui.runtime.js.map +1 -1
  8. package/dist/get-component-opts.d.ts +1 -2
  9. package/dist/get-component-opts.js.map +1 -1
  10. package/dist/{preview-1686886045563.js → preview-1686971843539.js} +2 -2
  11. package/dist/ui/component.d.ts +1 -2
  12. package/dist/ui/component.js +24 -9
  13. package/dist/ui/component.js.map +1 -1
  14. package/dist/ui/index.d.ts +5 -2
  15. package/dist/ui/index.js +59 -9
  16. package/dist/ui/index.js.map +1 -1
  17. package/dist/ui/menu/index.d.ts +1 -1
  18. package/dist/ui/menu/index.js.map +1 -1
  19. package/dist/ui/menu/menu.d.ts +47 -8
  20. package/dist/ui/menu/menu.js +172 -84
  21. package/dist/ui/menu/menu.js.map +1 -1
  22. package/dist/ui/menu/nav-plugin.d.ts +12 -3
  23. package/dist/ui/menu/nav-plugin.js.map +1 -1
  24. package/dist/ui/use-component-logs.d.ts +16 -0
  25. package/dist/ui/use-component-logs.js +93 -0
  26. package/dist/ui/use-component-logs.js.map +1 -0
  27. package/dist/ui/use-component-query.d.ts +2 -86
  28. package/dist/ui/use-component-query.js +62 -188
  29. package/dist/ui/use-component-query.js.map +1 -1
  30. package/dist/ui/use-component.d.ts +3 -18
  31. package/dist/ui/use-component.fragments.d.ts +10 -0
  32. package/dist/ui/use-component.fragments.js +183 -0
  33. package/dist/ui/use-component.fragments.js.map +1 -0
  34. package/dist/ui/use-component.js +19 -0
  35. package/dist/ui/use-component.js.map +1 -1
  36. package/dist/ui/use-component.model.d.ts +40 -0
  37. package/dist/ui/use-component.model.js +3 -0
  38. package/dist/ui/use-component.model.js.map +1 -0
  39. package/dist/ui/use-component.utils.d.ts +1 -0
  40. package/dist/ui/use-component.utils.js +17 -0
  41. package/dist/ui/use-component.utils.js.map +1 -0
  42. package/package-tar/teambit-component-0.0.1080.tgz +0 -0
  43. package/package.json +16 -17
  44. package/ui/component.tsx +11 -5
  45. package/ui/index.ts +21 -2
  46. package/ui/menu/index.ts +7 -1
  47. package/ui/menu/menu.tsx +196 -68
  48. package/ui/menu/nav-plugin.tsx +14 -6
  49. package/ui/use-component-logs.ts +65 -0
  50. package/ui/use-component-query.ts +57 -160
  51. package/ui/use-component.fragments.ts +169 -0
  52. package/ui/use-component.model.ts +45 -0
  53. package/ui/use-component.tsx +4 -19
  54. package/ui/use-component.utils.ts +9 -0
  55. package/package-tar/teambit-component-0.0.1079.tgz +0 -0
@@ -0,0 +1,183 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.componentOverviewFields = exports.componentIdFields = exports.componentFieldsWithLogs = exports.componentFields = exports.SUB_SUBSCRIPTION_ADDED = exports.SUB_COMPONENT_REMOVED = exports.SUB_COMPONENT_CHANGED = exports.GET_COMPONENT_WITH_LOGS = exports.GET_COMPONENT = exports.COMPONENT_QUERY_LOG_FIELDS = void 0;
7
+ function _client() {
8
+ const data = require("@apollo/client");
9
+ _client = function () {
10
+ return data;
11
+ };
12
+ return data;
13
+ }
14
+ const componentIdFields = (0, _client().gql)`
15
+ fragment componentIdFields on ComponentID {
16
+ name
17
+ version
18
+ scope
19
+ }
20
+ `;
21
+ exports.componentIdFields = componentIdFields;
22
+ const componentOverviewFields = (0, _client().gql)`
23
+ fragment componentOverviewFields on Component {
24
+ id {
25
+ ...componentIdFields
26
+ }
27
+ aspects(include: ["teambit.preview/preview", "teambit.envs/envs"]) {
28
+ # 'id' property in gql refers to a *global* identifier and used for caching.
29
+ # this makes aspect data cache under the same key, even when they are under different components.
30
+ # renaming the property fixes that.
31
+ id
32
+ data
33
+ }
34
+ elementsUrl
35
+ description
36
+ deprecation {
37
+ isDeprecate
38
+ newId
39
+ }
40
+ labels
41
+ displayName
42
+ server {
43
+ env
44
+ url
45
+ host
46
+ basePath
47
+ }
48
+ buildStatus
49
+ env {
50
+ id
51
+ icon
52
+ }
53
+ size {
54
+ compressedTotal
55
+ }
56
+ preview {
57
+ includesEnvTemplate
58
+ legacyHeader
59
+ isScaling
60
+ skipIncludes
61
+ }
62
+ compositions {
63
+ identifier
64
+ displayName
65
+ }
66
+ }
67
+ ${componentIdFields}
68
+ `;
69
+ exports.componentOverviewFields = componentOverviewFields;
70
+ const componentFields = (0, _client().gql)`
71
+ fragment componentFields on Component {
72
+ ...componentOverviewFields
73
+ packageName
74
+ latest
75
+ compositions {
76
+ identifier
77
+ displayName
78
+ }
79
+ tags {
80
+ version
81
+ }
82
+ }
83
+ ${componentOverviewFields}
84
+ `;
85
+ exports.componentFields = componentFields;
86
+ const componentFieldsWithLogs = (0, _client().gql)`
87
+ fragment componentFieldWithLogs on Component {
88
+ id {
89
+ ...componentIdFields
90
+ }
91
+ logs(
92
+ type: $logType
93
+ offset: $logOffset
94
+ limit: $logLimit
95
+ sort: $logSort
96
+ head: $logHead
97
+ takeHeadFromComponent: $logTakeHeadFromComponent
98
+ ) {
99
+ id
100
+ message
101
+ username
102
+ email
103
+ date
104
+ hash
105
+ tag
106
+ displayName
107
+ }
108
+ }
109
+ ${componentIdFields}
110
+ `;
111
+ exports.componentFieldsWithLogs = componentFieldsWithLogs;
112
+ const COMPONENT_QUERY_LOG_FIELDS = `
113
+ $logOffset: Int
114
+ $logLimit: Int
115
+ $logType: String
116
+ $logHead: String
117
+ $logSort: String
118
+ $logTakeHeadFromComponent: Boolean
119
+ `;
120
+ exports.COMPONENT_QUERY_LOG_FIELDS = COMPONENT_QUERY_LOG_FIELDS;
121
+ const GET_COMPONENT = (0, _client().gql)`
122
+ query Component($extensionId: String!, $id: String!) {
123
+ getHost(id: $extensionId) {
124
+ id # used for GQL caching
125
+ get(id: $id) {
126
+ ...componentFields
127
+ }
128
+ }
129
+ }
130
+ ${componentFields}
131
+ `;
132
+ exports.GET_COMPONENT = GET_COMPONENT;
133
+ const GET_COMPONENT_WITH_LOGS = (0, _client().gql)`
134
+ query Component(
135
+ $extensionId: String!
136
+ $id: String!
137
+ ${COMPONENT_QUERY_LOG_FIELDS}
138
+ ) {
139
+ getHost(id: $extensionId) {
140
+ id # used for GQL caching
141
+ get(id: $id) {
142
+ ...componentFieldWithLogs
143
+ }
144
+ }
145
+ }
146
+ ${componentFieldsWithLogs}
147
+ `;
148
+ exports.GET_COMPONENT_WITH_LOGS = GET_COMPONENT_WITH_LOGS;
149
+ const SUB_SUBSCRIPTION_ADDED = (0, _client().gql)`
150
+ subscription OnComponentAdded {
151
+ componentAdded {
152
+ component {
153
+ ...componentFields
154
+ }
155
+ }
156
+ }
157
+ ${componentFields}
158
+ `;
159
+ exports.SUB_SUBSCRIPTION_ADDED = SUB_SUBSCRIPTION_ADDED;
160
+ const SUB_COMPONENT_CHANGED = (0, _client().gql)`
161
+ subscription OnComponentChanged {
162
+ componentChanged {
163
+ component {
164
+ ...componentFields
165
+ }
166
+ }
167
+ }
168
+ ${componentFields}
169
+ `;
170
+ exports.SUB_COMPONENT_CHANGED = SUB_COMPONENT_CHANGED;
171
+ const SUB_COMPONENT_REMOVED = (0, _client().gql)`
172
+ subscription OnComponentRemoved {
173
+ componentRemoved {
174
+ componentIds {
175
+ ...componentIdFields
176
+ }
177
+ }
178
+ }
179
+ ${componentIdFields}
180
+ `;
181
+ exports.SUB_COMPONENT_REMOVED = SUB_COMPONENT_REMOVED;
182
+
183
+ //# sourceMappingURL=use-component.fragments.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["componentIdFields","gql","componentOverviewFields","componentFields","componentFieldsWithLogs","COMPONENT_QUERY_LOG_FIELDS","GET_COMPONENT","GET_COMPONENT_WITH_LOGS","SUB_SUBSCRIPTION_ADDED","SUB_COMPONENT_CHANGED","SUB_COMPONENT_REMOVED"],"sources":["use-component.fragments.ts"],"sourcesContent":["import { gql } from '@apollo/client';\n\nexport const componentIdFields = gql`\n fragment componentIdFields on ComponentID {\n name\n version\n scope\n }\n`;\n\nexport const componentOverviewFields = gql`\n fragment componentOverviewFields on Component {\n id {\n ...componentIdFields\n }\n aspects(include: [\"teambit.preview/preview\", \"teambit.envs/envs\"]) {\n # 'id' property in gql refers to a *global* identifier and used for caching.\n # this makes aspect data cache under the same key, even when they are under different components.\n # renaming the property fixes that.\n id\n data\n }\n elementsUrl\n description\n deprecation {\n isDeprecate\n newId\n }\n labels\n displayName\n server {\n env\n url\n host\n basePath\n }\n buildStatus\n env {\n id\n icon\n }\n size {\n compressedTotal\n }\n preview {\n includesEnvTemplate\n legacyHeader\n isScaling\n skipIncludes\n }\n compositions {\n identifier\n displayName\n }\n }\n ${componentIdFields}\n`;\n\nexport const componentFields = gql`\n fragment componentFields on Component {\n ...componentOverviewFields\n packageName\n latest\n compositions {\n identifier\n displayName\n }\n tags {\n version\n }\n }\n ${componentOverviewFields}\n`;\n\nexport const componentFieldsWithLogs = gql`\n fragment componentFieldWithLogs on Component {\n id {\n ...componentIdFields\n }\n logs(\n type: $logType\n offset: $logOffset\n limit: $logLimit\n sort: $logSort\n head: $logHead\n takeHeadFromComponent: $logTakeHeadFromComponent\n ) {\n id\n message\n username\n email\n date\n hash\n tag\n displayName\n }\n }\n ${componentIdFields}\n`;\n\nexport const COMPONENT_QUERY_LOG_FIELDS = `\n $logOffset: Int\n $logLimit: Int\n $logType: String\n $logHead: String\n $logSort: String\n $logTakeHeadFromComponent: Boolean\n`;\n\nexport const GET_COMPONENT = gql`\n query Component($extensionId: String!, $id: String!) {\n getHost(id: $extensionId) {\n id # used for GQL caching\n get(id: $id) {\n ...componentFields\n }\n }\n }\n ${componentFields}\n`;\n\nexport const GET_COMPONENT_WITH_LOGS = gql`\n query Component(\n $extensionId: String!\n $id: String!\n ${COMPONENT_QUERY_LOG_FIELDS}\n ) {\n getHost(id: $extensionId) {\n id # used for GQL caching\n get(id: $id) {\n ...componentFieldWithLogs\n }\n }\n }\n ${componentFieldsWithLogs}\n`;\n\nexport const SUB_SUBSCRIPTION_ADDED = gql`\n subscription OnComponentAdded {\n componentAdded {\n component {\n ...componentFields\n }\n }\n }\n ${componentFields}\n`;\n\nexport const SUB_COMPONENT_CHANGED = gql`\n subscription OnComponentChanged {\n componentChanged {\n component {\n ...componentFields\n }\n }\n }\n ${componentFields}\n`;\n\nexport const SUB_COMPONENT_REMOVED = gql`\n subscription OnComponentRemoved {\n componentRemoved {\n componentIds {\n ...componentIdFields\n }\n }\n }\n ${componentIdFields}\n`;\n"],"mappings":";;;;;;AAAA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAEO,MAAMA,iBAAiB,GAAG,IAAAC,aAAG,CAAC;AACrC;AACA;AACA;AACA;AACA;AACA,CAAC;AAAC;AAEK,MAAMC,uBAAuB,GAAG,IAAAD,aAAG,CAAC;AAC3C;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,IAAID,iBAAkB;AACtB,CAAC;AAAC;AAEK,MAAMG,eAAe,GAAG,IAAAF,aAAG,CAAC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAIC,uBAAwB;AAC5B,CAAC;AAAC;AAEK,MAAME,uBAAuB,GAAG,IAAAH,aAAG,CAAC;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAID,iBAAkB;AACtB,CAAC;AAAC;AAEK,MAAMK,0BAA0B,GAAI;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAAC;AAEK,MAAMC,aAAa,GAAG,IAAAL,aAAG,CAAC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAIE,eAAgB;AACpB,CAAC;AAAC;AAEK,MAAMI,uBAAuB,GAAG,IAAAN,aAAG,CAAC;AAC3C;AACA;AACA;AACA,MAAMI,0BAA2B;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAID,uBAAwB;AAC5B,CAAC;AAAC;AAEK,MAAMI,sBAAsB,GAAG,IAAAP,aAAG,CAAC;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAIE,eAAgB;AACpB,CAAC;AAAC;AAEK,MAAMM,qBAAqB,GAAG,IAAAR,aAAG,CAAC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAIE,eAAgB;AACpB,CAAC;AAAC;AAEK,MAAMO,qBAAqB,GAAG,IAAAT,aAAG,CAAC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAID,iBAAkB;AACtB,CAAC;AAAC"}
@@ -3,6 +3,18 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ Object.defineProperty(exports, "Filters", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _useComponent().Filters;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "UseComponentType", {
13
+ enumerable: true,
14
+ get: function () {
15
+ return _useComponent().UseComponentType;
16
+ }
17
+ });
6
18
  exports.useComponent = useComponent;
7
19
  function _uiFoundationUiReactRouter() {
8
20
  const data = require("@teambit/ui-foundation.ui.react-router.use-query");
@@ -18,6 +30,13 @@ function _useComponentQuery() {
18
30
  };
19
31
  return data;
20
32
  }
33
+ function _useComponent() {
34
+ const data = require("./use-component.model");
35
+ _useComponent = function () {
36
+ return data;
37
+ };
38
+ return data;
39
+ }
21
40
  function useComponent(host, id, options) {
22
41
  var _ref;
23
42
  const query = (0, _uiFoundationUiReactRouter().useQuery)();
@@ -1 +1 @@
1
- {"version":3,"names":["useComponent","host","id","options","query","useQuery","version","logFilters","customUseComponent","skip","componentVersion","get","undefined","componentIdStr","withVersion","targetUseComponent","useComponentQuery","includes"],"sources":["use-component.tsx"],"sourcesContent":["import { useQuery } from '@teambit/ui-foundation.ui.react-router.use-query';\nimport { ComponentDescriptor } from '@teambit/component-descriptor';\nimport { ComponentModel } from './component-model';\nimport { ComponentError } from './component-error';\nimport { Filters, useComponentQuery } from './use-component-query';\n\nexport type Component = {\n component?: ComponentModel;\n error?: ComponentError;\n componentDescriptor?: ComponentDescriptor;\n loading?: boolean;\n};\nexport type UseComponentOptions = {\n version?: string;\n logFilters?: Filters;\n customUseComponent?: UseComponentType;\n skip?: boolean;\n};\n\nexport type UseComponentType = (id: string, host: string, filters?: Filters, skip?: boolean) => Component;\n\nexport function useComponent(host: string, id?: string, options?: UseComponentOptions): Component {\n const query = useQuery();\n const { version, logFilters, customUseComponent, skip } = options || {};\n const componentVersion = (version || query.get('version')) ?? undefined;\n\n const componentIdStr = id && withVersion(id, componentVersion);\n const targetUseComponent = customUseComponent || useComponentQuery;\n\n return targetUseComponent(componentIdStr || '', host, logFilters, skip || !id);\n}\n\nfunction withVersion(id: string, version?: string) {\n if (!version) return id;\n if (id.includes('@')) return id;\n return `${id}@${version}`;\n}\n"],"mappings":";;;;;;AAAA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAIA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAiBO,SAASA,YAAY,CAACC,IAAY,EAAEC,EAAW,EAAEC,OAA6B,EAAa;EAAA;EAChG,MAAMC,KAAK,GAAG,IAAAC,qCAAQ,GAAE;EACxB,MAAM;IAAEC,OAAO;IAAEC,UAAU;IAAEC,kBAAkB;IAAEC;EAAK,CAAC,GAAGN,OAAO,IAAI,CAAC,CAAC;EACvE,MAAMO,gBAAgB,WAAIJ,OAAO,IAAIF,KAAK,CAACO,GAAG,CAAC,SAAS,CAAC,uCAAKC,SAAS;EAEvE,MAAMC,cAAc,GAAGX,EAAE,IAAIY,WAAW,CAACZ,EAAE,EAAEQ,gBAAgB,CAAC;EAC9D,MAAMK,kBAAkB,GAAGP,kBAAkB,IAAIQ,sCAAiB;EAElE,OAAOD,kBAAkB,CAACF,cAAc,IAAI,EAAE,EAAEZ,IAAI,EAAEM,UAAU,EAAEE,IAAI,IAAI,CAACP,EAAE,CAAC;AAChF;AAEA,SAASY,WAAW,CAACZ,EAAU,EAAEI,OAAgB,EAAE;EACjD,IAAI,CAACA,OAAO,EAAE,OAAOJ,EAAE;EACvB,IAAIA,EAAE,CAACe,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAOf,EAAE;EAC/B,OAAQ,GAAEA,EAAG,IAAGI,OAAQ,EAAC;AAC3B"}
1
+ {"version":3,"names":["useComponent","host","id","options","query","useQuery","version","logFilters","customUseComponent","skip","componentVersion","get","undefined","componentIdStr","withVersion","targetUseComponent","useComponentQuery","includes"],"sources":["use-component.tsx"],"sourcesContent":["import { useQuery } from '@teambit/ui-foundation.ui.react-router.use-query';\nimport { useComponentQuery } from './use-component-query';\nimport { ComponentQueryResult, UseComponentOptions, UseComponentType, Filters } from './use-component.model';\n\nexport { UseComponentType, Filters };\n\nexport function useComponent(host: string, id?: string, options?: UseComponentOptions): ComponentQueryResult {\n const query = useQuery();\n const { version, logFilters, customUseComponent, skip } = options || {};\n const componentVersion = (version || query.get('version')) ?? undefined;\n\n const componentIdStr = id && withVersion(id, componentVersion);\n const targetUseComponent = customUseComponent || useComponentQuery;\n\n return targetUseComponent(componentIdStr || '', host, logFilters, skip || !id);\n}\n\nfunction withVersion(id: string, version?: string) {\n if (!version) return id;\n if (id.includes('@')) return id;\n return `${id}@${version}`;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAIO,SAASA,YAAY,CAACC,IAAY,EAAEC,EAAW,EAAEC,OAA6B,EAAwB;EAAA;EAC3G,MAAMC,KAAK,GAAG,IAAAC,qCAAQ,GAAE;EACxB,MAAM;IAAEC,OAAO;IAAEC,UAAU;IAAEC,kBAAkB;IAAEC;EAAK,CAAC,GAAGN,OAAO,IAAI,CAAC,CAAC;EACvE,MAAMO,gBAAgB,WAAIJ,OAAO,IAAIF,KAAK,CAACO,GAAG,CAAC,SAAS,CAAC,uCAAKC,SAAS;EAEvE,MAAMC,cAAc,GAAGX,EAAE,IAAIY,WAAW,CAACZ,EAAE,EAAEQ,gBAAgB,CAAC;EAC9D,MAAMK,kBAAkB,GAAGP,kBAAkB,IAAIQ,sCAAiB;EAElE,OAAOD,kBAAkB,CAACF,cAAc,IAAI,EAAE,EAAEZ,IAAI,EAAEM,UAAU,EAAEE,IAAI,IAAI,CAACP,EAAE,CAAC;AAChF;AAEA,SAASY,WAAW,CAACZ,EAAU,EAAEI,OAAgB,EAAE;EACjD,IAAI,CAACA,OAAO,EAAE,OAAOJ,EAAE;EACvB,IAAIA,EAAE,CAACe,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAOf,EAAE;EAC/B,OAAQ,GAAEA,EAAG,IAAGI,OAAQ,EAAC;AAC3B"}
@@ -0,0 +1,40 @@
1
+ import { ComponentDescriptor } from '@teambit/component-descriptor';
2
+ import { LegacyComponentLog } from '@teambit/legacy-component-log';
3
+ import { ComponentError } from './component-error';
4
+ import { ComponentModel } from './component-model';
5
+ export declare type LogFilter = {
6
+ offset?: number;
7
+ limit?: number;
8
+ head?: string;
9
+ sort?: string;
10
+ takeHeadFromComponent?: boolean;
11
+ };
12
+ export declare type Filters = {
13
+ log?: LogFilter & {
14
+ type?: string;
15
+ };
16
+ loading?: boolean;
17
+ };
18
+ export declare type UseComponentOptions = {
19
+ version?: string;
20
+ logFilters?: Filters;
21
+ customUseComponent?: UseComponentType;
22
+ skip?: boolean;
23
+ };
24
+ export declare type ComponentQueryResult = {
25
+ component?: ComponentModel;
26
+ componentDescriptor?: ComponentDescriptor;
27
+ componentLogs?: ComponentLogs;
28
+ loading?: boolean;
29
+ error?: ComponentError;
30
+ };
31
+ export declare type ComponentLogsResult = {
32
+ componentLogs?: ComponentLogs;
33
+ error?: ComponentError;
34
+ loading?: boolean;
35
+ };
36
+ export declare type ComponentLogs = {
37
+ logs?: LegacyComponentLog[];
38
+ loading?: boolean;
39
+ };
40
+ export declare type UseComponentType = (id: string, host: string, filters?: Filters, skip?: boolean) => ComponentQueryResult;
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+
3
+ //# sourceMappingURL=use-component.model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["use-component.model.ts"],"sourcesContent":["import { ComponentDescriptor } from '@teambit/component-descriptor';\nimport { LegacyComponentLog } from '@teambit/legacy-component-log';\nimport { ComponentError } from './component-error';\nimport { ComponentModel } from './component-model';\n\nexport type LogFilter = {\n offset?: number;\n limit?: number;\n head?: string;\n sort?: string;\n takeHeadFromComponent?: boolean;\n};\n\nexport type Filters = {\n log?: LogFilter & { type?: string };\n loading?: boolean;\n};\n\nexport type UseComponentOptions = {\n version?: string;\n logFilters?: Filters;\n customUseComponent?: UseComponentType;\n skip?: boolean;\n};\n\nexport type ComponentQueryResult = {\n component?: ComponentModel;\n componentDescriptor?: ComponentDescriptor;\n componentLogs?: ComponentLogs;\n loading?: boolean;\n error?: ComponentError;\n};\n\nexport type ComponentLogsResult = {\n componentLogs?: ComponentLogs;\n error?: ComponentError;\n loading?: boolean;\n};\n\nexport type ComponentLogs = {\n logs?: LegacyComponentLog[];\n loading?: boolean;\n};\n\nexport type UseComponentType = (id: string, host: string, filters?: Filters, skip?: boolean) => ComponentQueryResult;\n"],"mappings":""}
@@ -0,0 +1 @@
1
+ export declare function getOffsetValue(offset: any, limit: any, backwards?: boolean): any;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getOffsetValue = getOffsetValue;
7
+ function getOffsetValue(offset, limit, backwards = false) {
8
+ if (offset !== undefined) {
9
+ return backwards ? -(offset + limit) : offset;
10
+ }
11
+ if (limit !== undefined) {
12
+ return 0;
13
+ }
14
+ return undefined;
15
+ }
16
+
17
+ //# sourceMappingURL=use-component.utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["getOffsetValue","offset","limit","backwards","undefined"],"sources":["use-component.utils.ts"],"sourcesContent":["export function getOffsetValue(offset, limit, backwards = false) {\n if (offset !== undefined) {\n return backwards ? -(offset + limit) : offset;\n }\n if (limit !== undefined) {\n return 0;\n }\n return undefined;\n}\n"],"mappings":";;;;;;AAAO,SAASA,cAAc,CAACC,MAAM,EAAEC,KAAK,EAAEC,SAAS,GAAG,KAAK,EAAE;EAC/D,IAAIF,MAAM,KAAKG,SAAS,EAAE;IACxB,OAAOD,SAAS,GAAG,EAAEF,MAAM,GAAGC,KAAK,CAAC,GAAGD,MAAM;EAC/C;EACA,IAAIC,KAAK,KAAKE,SAAS,EAAE;IACvB,OAAO,CAAC;EACV;EACA,OAAOA,SAAS;AAClB"}
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@teambit/component",
3
- "version": "0.0.1079",
3
+ "version": "0.0.1080",
4
4
  "homepage": "https://bit.cloud/teambit/component/component",
5
5
  "main": "dist/index.js",
6
6
  "componentId": {
7
7
  "scope": "teambit.component",
8
8
  "name": "component",
9
- "version": "0.0.1079"
9
+ "version": "0.0.1080"
10
10
  },
11
11
  "dependencies": {
12
12
  "@teambit/any-fs": "0.0.5",
@@ -36,40 +36,39 @@
36
36
  "@teambit/design.navigation.responsive-navbar": "0.0.5",
37
37
  "@teambit/base-ui.layout.breakpoints": "1.0.0",
38
38
  "@teambit/ui-foundation.ui.menu-widget-icon": "0.0.497",
39
- "@teambit/aspect-loader": "0.0.1079",
40
- "@teambit/graph": "0.0.1079",
39
+ "@teambit/aspect-loader": "0.0.1080",
40
+ "@teambit/graph": "0.0.1080",
41
41
  "@teambit/toolbox.path.match-patterns": "0.0.9",
42
42
  "@teambit/toolbox.string.capitalize": "0.0.490",
43
43
  "@teambit/cli": "0.0.727",
44
44
  "@teambit/express": "0.0.825",
45
- "@teambit/graphql": "0.0.1079",
45
+ "@teambit/graphql": "0.0.1080",
46
46
  "@teambit/bit-error": "0.0.402",
47
- "@teambit/command-bar": "0.0.1079",
47
+ "@teambit/command-bar": "0.0.1080",
48
48
  "@teambit/component-package-version": "0.0.422",
49
49
  "@teambit/component.ui.deprecation-icon": "0.0.504",
50
- "@teambit/preview": "0.0.1079",
51
- "@teambit/pubsub": "0.0.1079",
52
- "@teambit/react-router": "0.0.1079",
50
+ "@teambit/preview": "0.0.1080",
51
+ "@teambit/pubsub": "0.0.1080",
52
+ "@teambit/react-router": "0.0.1080",
53
53
  "@teambit/ui-foundation.ui.is-browser": "0.0.495",
54
54
  "@teambit/ui-foundation.ui.main-dropdown": "0.0.497",
55
55
  "@teambit/ui-foundation.ui.react-router.slot-router": "0.0.501",
56
- "@teambit/ui-foundation.ui.use-box.menu": "0.0.134",
57
- "@teambit/ui": "0.0.1079",
56
+ "@teambit/ui-foundation.ui.use-box.menu": "0.0.135",
57
+ "@teambit/ui": "0.0.1080",
58
58
  "@teambit/component-issues": "0.0.92",
59
59
  "@teambit/ui-foundation.ui.hooks.use-data-query": "0.0.500",
60
60
  "@teambit/cli-table": "0.0.41",
61
+ "@teambit/legacy-component-log": "0.0.400",
61
62
  "@teambit/component-descriptor": "0.0.296",
62
63
  "@teambit/ui-foundation.ui.react-router.use-query": "0.0.496",
63
64
  "@teambit/harmony.ui.aspect-box": "0.0.497",
65
+ "@teambit/compositions": "0.0.1080",
66
+ "@teambit/deprecation": "0.0.1080",
67
+ "@teambit/envs": "0.0.1080",
64
68
  "@teambit/envs.ui.env-icon": "0.0.495",
65
- "@teambit/compositions": "0.0.1079",
66
- "@teambit/deprecation": "0.0.1079",
67
- "@teambit/envs": "0.0.1079",
68
- "@teambit/legacy-component-log": "0.0.399",
69
- "@teambit/component.ui.version-dropdown": "0.0.785",
69
+ "@teambit/component.ui.version-dropdown": "0.0.786",
70
70
  "@teambit/lanes.hooks.use-lanes": "0.0.191",
71
71
  "@teambit/lanes.ui.models.lanes-model": "0.0.144",
72
- "@teambit/ui-foundation.ui.full-loader": "0.0.495",
73
72
  "@teambit/ui-foundation.ui.use-box.dropdown": "0.0.133"
74
73
  },
75
74
  "devDependencies": {
package/ui/component.tsx CHANGED
@@ -4,13 +4,13 @@ import flatten from 'lodash.flatten';
4
4
  import { RouteSlot, SlotRouter } from '@teambit/ui-foundation.ui.react-router.slot-router';
5
5
  import { SlotRegistry } from '@teambit/harmony';
6
6
  import { isFunction } from 'lodash';
7
- import styles from './component.module.scss';
8
7
  import { ComponentProvider, ComponentDescriptorProvider } from './context';
9
- import { useComponent as useComponentQuery, UseComponentType } from './use-component';
8
+ import { useComponent as useComponentQuery, UseComponentType, Filters } from './use-component';
10
9
  import { ComponentModel } from './component-model';
11
10
  import { useIdFromLocation } from './use-component-from-location';
12
11
  import { ComponentID } from '..';
13
- import { Filters } from './use-component-query';
12
+
13
+ import styles from './component.module.scss';
14
14
 
15
15
  export type ComponentPageSlot = SlotRegistry<ComponentPageElement[]>;
16
16
  export type ComponentPageElement = {
@@ -53,8 +53,13 @@ export function Component({
53
53
  const _componentIdStr = getComponentIdStr(componentIdStr);
54
54
  const componentId = _componentIdStr ? ComponentID.fromString(_componentIdStr) : undefined;
55
55
  const resolvedComponentIdStr = path || idFromLocation;
56
+ const componentFiltersFromProps = useComponentFilters?.() || {};
57
+
56
58
  const useComponentOptions = {
57
- logFilters: useComponentFilters?.(),
59
+ logFilters: {
60
+ ...componentFiltersFromProps,
61
+ ...(componentFiltersFromProps.loading ? {} : { log: { limit: 3, ...componentFiltersFromProps.log } }),
62
+ },
58
63
  customUseComponent: useComponent,
59
64
  };
60
65
 
@@ -63,6 +68,7 @@ export function Component({
63
68
  componentId?.toString() || idFromLocation,
64
69
  useComponentOptions
65
70
  );
71
+
66
72
  // trigger onComponentChange when component changes
67
73
  useEffect(() => onComponentChange?.(component), [component]);
68
74
  // cleanup when unmounting component
@@ -72,7 +78,7 @@ export function Component({
72
78
  const before = useMemo(() => pageItems.filter((x) => x.type === 'before').map((x) => x.content), [pageItems]);
73
79
  const after = useMemo(() => pageItems.filter((x) => x.type === 'after').map((x) => x.content), [pageItems]);
74
80
 
75
- if (error) return error.renderError();
81
+ if (error) return error?.renderError();
76
82
  if (!component) return <div></div>;
77
83
 
78
84
  return (
package/ui/index.ts CHANGED
@@ -3,7 +3,26 @@ 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 { componentIdFields, componentOverviewFields, componentFields } from './use-component-query';
7
+ export { useComponent } from './use-component';
8
+ export {
9
+ componentIdFields,
10
+ componentOverviewFields,
11
+ componentFields,
12
+ componentFieldsWithLogs,
13
+ COMPONENT_QUERY_LOG_FIELDS,
14
+ GET_COMPONENT,
15
+ GET_COMPONENT_WITH_LOGS,
16
+ } from './use-component.fragments';
9
17
  export { useIdFromLocation } from './use-component-from-location';
18
+ export type {
19
+ LogFilter,
20
+ Filters,
21
+ UseComponentOptions,
22
+ ComponentQueryResult,
23
+ UseComponentType,
24
+ ComponentLogs,
25
+ ComponentLogsResult,
26
+ } from './use-component.model';
27
+ export { useComponentQuery } from './use-component-query';
28
+ export { useComponentLogs } from './use-component-logs';
package/ui/menu/index.ts CHANGED
@@ -1,3 +1,9 @@
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 {
4
+ NavPlugin,
5
+ OrderedNavigationSlot,
6
+ ConsumePlugin,
7
+ ConsumeMethodSlot,
8
+ ConsumePluginProps,
9
+ } from './nav-plugin';