@teambit/cloud 0.0.1100 → 0.0.1102

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.
@@ -1,8 +1,8 @@
1
- import React from 'react';
1
+ import React, { useCallback } from 'react';
2
2
  import { UIRuntime } from '@teambit/ui';
3
3
  import { flatten } from 'lodash';
4
4
  import { SubMenu } from '@teambit/design.controls.menu';
5
- // import { useThemePicker, useNextTheme } from '@teambit/base-react.themes.theme-switcher';
5
+ import { useThemePicker, useThemeByName } from '@teambit/base-react.themes.theme-switcher';
6
6
  import { Slot } from '@teambit/harmony';
7
7
  import type { UserBarItem, UserBarItemSlot, UserBarSection, UserBarSectionSlot } from '@teambit/cloud.ui.user-bar';
8
8
  import { UserBar } from '@teambit/cloud.ui.user-bar';
@@ -127,39 +127,45 @@ export class CloudUI {
127
127
  );
128
128
  },
129
129
  },
130
- // {
131
- // category: 'DocsSupportAndFeedback',
132
- // component: function ThemePicker() {
133
- // const next = useNextTheme();
134
- // const { currentIdx } = useThemePicker();
135
- // return (
136
- // <SubMenu
137
- // item={{
138
- // label: 'Theme',
139
- // icon: 'lightmode',
140
- // children: [
141
- // {
142
- // label: 'Light',
143
- // icon: currentIdx === 0 ? 'checkmark' : '',
144
- // onClick: () => {
145
- // if (currentIdx === 0) return;
146
- // next();
147
- // },
148
- // },
149
- // {
150
- // label: 'Dark',
151
- // icon: currentIdx === 1 ? 'checkmark' : '',
152
- // onClick: () => {
153
- // if (currentIdx === 1) return;
154
- // next();
155
- // },
156
- // },
157
- // ],
158
- // }}
159
- // />
160
- // );
161
- // },
162
- // },
130
+ {
131
+ category: 'DocsSupportAndFeedback',
132
+ component: function ThemePicker() {
133
+ const theme = useThemePicker();
134
+ const light = useThemeByName('light');
135
+ const dark = useThemeByName('dark');
136
+
137
+ const setIfDifferent = useCallback(
138
+ (target) => {
139
+ if (!theme || !target || theme.current === target) return;
140
+ theme.setTheme(target);
141
+ },
142
+ [theme]
143
+ );
144
+
145
+ const currentName = theme?.current?.themeName;
146
+
147
+ return (
148
+ <SubMenu
149
+ item={{
150
+ label: 'Theme',
151
+ icon: 'lightmode',
152
+ children: [
153
+ {
154
+ label: 'Light',
155
+ icon: currentName === 'light' ? 'checkmark' : '',
156
+ onClick: () => setIfDifferent(light),
157
+ },
158
+ {
159
+ label: 'Dark',
160
+ icon: currentName === 'dark' ? 'checkmark' : '',
161
+ onClick: () => setIfDifferent(dark),
162
+ },
163
+ ],
164
+ }}
165
+ />
166
+ );
167
+ },
168
+ },
163
169
  ]);
164
170
  if (workspace) {
165
171
  workspace.registerMenuWidget([cloudUI.CloudUserBar]);
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = exports.CloudUI = void 0;
7
7
  function _react() {
8
- const data = _interopRequireDefault(require("react"));
8
+ const data = _interopRequireWildcard(require("react"));
9
9
  _react = function () {
10
10
  return data;
11
11
  };
@@ -32,6 +32,13 @@ function _designControls() {
32
32
  };
33
33
  return data;
34
34
  }
35
+ function _baseReactThemes() {
36
+ const data = require("@teambit/base-react.themes.theme-switcher");
37
+ _baseReactThemes = function () {
38
+ return data;
39
+ };
40
+ return data;
41
+ }
35
42
  function _harmony() {
36
43
  const data = require("@teambit/harmony");
37
44
  _harmony = function () {
@@ -74,10 +81,10 @@ function _cloud() {
74
81
  };
75
82
  return data;
76
83
  }
77
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
84
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
78
85
  function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
79
86
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
80
- function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } // import { useThemePicker, useNextTheme } from '@teambit/base-react.themes.theme-switcher';
87
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
81
88
  class CloudUI {
82
89
  constructor(userBarSectionSlot, userBarItemSlot) {
83
90
  this.userBarSectionSlot = userBarSectionSlot;
@@ -166,41 +173,34 @@ class CloudUI {
166
173
  }
167
174
  });
168
175
  }
169
- }
170
- // {
171
- // category: 'DocsSupportAndFeedback',
172
- // component: function ThemePicker() {
173
- // const next = useNextTheme();
174
- // const { currentIdx } = useThemePicker();
175
- // return (
176
- // <SubMenu
177
- // item={{
178
- // label: 'Theme',
179
- // icon: 'lightmode',
180
- // children: [
181
- // {
182
- // label: 'Light',
183
- // icon: currentIdx === 0 ? 'checkmark' : '',
184
- // onClick: () => {
185
- // if (currentIdx === 0) return;
186
- // next();
187
- // },
188
- // },
189
- // {
190
- // label: 'Dark',
191
- // icon: currentIdx === 1 ? 'checkmark' : '',
192
- // onClick: () => {
193
- // if (currentIdx === 1) return;
194
- // next();
195
- // },
196
- // },
197
- // ],
198
- // }}
199
- // />
200
- // );
201
- // },
202
- // },
203
- ]);
176
+ }, {
177
+ category: 'DocsSupportAndFeedback',
178
+ component: function ThemePicker() {
179
+ const theme = (0, _baseReactThemes().useThemePicker)();
180
+ const light = (0, _baseReactThemes().useThemeByName)('light');
181
+ const dark = (0, _baseReactThemes().useThemeByName)('dark');
182
+ const setIfDifferent = (0, _react().useCallback)(target => {
183
+ if (!theme || !target || theme.current === target) return;
184
+ theme.setTheme(target);
185
+ }, [theme]);
186
+ const currentName = theme?.current?.themeName;
187
+ return /*#__PURE__*/_react().default.createElement(_designControls().SubMenu, {
188
+ item: {
189
+ label: 'Theme',
190
+ icon: 'lightmode',
191
+ children: [{
192
+ label: 'Light',
193
+ icon: currentName === 'light' ? 'checkmark' : '',
194
+ onClick: () => setIfDifferent(light)
195
+ }, {
196
+ label: 'Dark',
197
+ icon: currentName === 'dark' ? 'checkmark' : '',
198
+ onClick: () => setIfDifferent(dark)
199
+ }]
200
+ }
201
+ });
202
+ }
203
+ }]);
204
204
  if (workspace) {
205
205
  workspace.registerMenuWidget([cloudUI.CloudUserBar]);
206
206
  lanes.registerMenuWidget(cloudUI.CloudUserBar);
@@ -1 +1 @@
1
- {"version":3,"names":["_react","data","_interopRequireDefault","require","_ui","_lodash","_designControls","_harmony","_cloudUi","_lanes","_workspace","_component","_cloud","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","CloudUI","constructor","userBarSectionSlot","userBarItemSlot","createElement","UserBar","sections","listUserBarSections","items","listUserBarItems","registerUserBarItem","userBarItem","register","registerUserBarSection","flatten","values","provider","workspace","lanes","component","_","cloudUI","displayName","categoryName","icon","label","href","category","Support","SubMenu","item","children","link","registerMenuWidget","CloudUserBar","registerRightSideMenuItem","key","order","exports","UIRuntime","WorkspaceAspect","LanesAspect","ComponentAspect","Slot","withType","_default","CloudAspect","addRuntime"],"sources":["cloud.ui.runtime.tsx"],"sourcesContent":["import React from 'react';\nimport { UIRuntime } from '@teambit/ui';\nimport { flatten } from 'lodash';\nimport { SubMenu } from '@teambit/design.controls.menu';\n// import { useThemePicker, useNextTheme } from '@teambit/base-react.themes.theme-switcher';\nimport { Slot } from '@teambit/harmony';\nimport type { UserBarItem, UserBarItemSlot, UserBarSection, UserBarSectionSlot } from '@teambit/cloud.ui.user-bar';\nimport { UserBar } from '@teambit/cloud.ui.user-bar';\nimport type { LanesUI } from '@teambit/lanes';\nimport { LanesAspect } from '@teambit/lanes';\nimport type { WorkspaceUI } from '@teambit/workspace';\nimport { WorkspaceAspect } from '@teambit/workspace';\nimport type { ComponentUI } from '@teambit/component';\nimport { ComponentAspect } from '@teambit/component';\nimport { CloudAspect } from './cloud.aspect';\n\nexport class CloudUI {\n constructor(\n private userBarSectionSlot: UserBarSectionSlot,\n private userBarItemSlot: UserBarItemSlot\n ) {}\n /**\n * register a new user bar item.\n */\n registerUserBarItem(userBarItem: UserBarItem[]) {\n this.userBarItemSlot.register(userBarItem);\n return this;\n }\n\n /**\n * register a new user bar section\n */\n registerUserBarSection(sections: UserBarSection[]) {\n this.userBarSectionSlot.register(sections);\n return this;\n }\n\n /**\n * list user bar items.\n */\n listUserBarItems() {\n return flatten(this.userBarItemSlot.values());\n }\n\n /**\n * list all user bar sections.\n */\n listUserBarSections() {\n return flatten(this.userBarSectionSlot.values());\n }\n\n CloudUserBar = () => {\n return <UserBar sections={this.listUserBarSections()} items={this.listUserBarItems()} />;\n };\n\n static runtime = UIRuntime;\n\n static dependencies = [WorkspaceAspect, LanesAspect, ComponentAspect];\n\n static slots = [Slot.withType<UserBarItem[]>(), Slot.withType<UserBarSection[]>()];\n\n static async provider(\n [workspace, lanes, component]: [WorkspaceUI, LanesUI, ComponentUI],\n _,\n [userBarItemSlot, userBarSectionSlot]: [UserBarItemSlot, UserBarSectionSlot]\n ) {\n const cloudUI = new CloudUI(userBarSectionSlot, userBarItemSlot);\n\n cloudUI.registerUserBarSection([\n {\n displayName: 'Scopes & Components',\n categoryName: 'ScopesAndComponents',\n },\n {\n displayName: 'Docs, Support & Feedback',\n categoryName: 'DocsSupportAndFeedback',\n },\n ]);\n cloudUI.registerUserBarItem([\n {\n icon: 'settings',\n label: 'Settings',\n href: 'https://bit.cloud/settings',\n },\n {\n category: 'ScopesAndComponents',\n icon: 'components',\n label: 'Your components',\n href: 'https://bit.cloud/components',\n },\n {\n category: 'ScopesAndComponents',\n icon: 'collection',\n label: 'Your scopes',\n href: 'https://bit.cloud/scopes',\n },\n {\n category: 'DocsSupportAndFeedback',\n icon: 'book-glossary',\n label: 'Bit Docs',\n href: 'https://bit.dev/docs',\n },\n {\n category: 'DocsSupportAndFeedback',\n component: function Support() {\n return (\n <SubMenu\n item={{\n label: 'Support',\n icon: 'users',\n children: [\n {\n label: 'Bit Community on bit.cloud',\n link: 'https://bit.cloud/bitdev',\n },\n {\n label: 'Ticket Support',\n link: 'https://support.bit.cloud',\n },\n {\n label: 'Bit Community Slack',\n link: 'https://join.slack.com/t/bit-dev-community/shared_invite/zt-29pmawrp1-ehfEzYbQyuAC3CNA_jYPvA',\n },\n ],\n }}\n />\n );\n },\n },\n // {\n // category: 'DocsSupportAndFeedback',\n // component: function ThemePicker() {\n // const next = useNextTheme();\n // const { currentIdx } = useThemePicker();\n // return (\n // <SubMenu\n // item={{\n // label: 'Theme',\n // icon: 'lightmode',\n // children: [\n // {\n // label: 'Light',\n // icon: currentIdx === 0 ? 'checkmark' : '',\n // onClick: () => {\n // if (currentIdx === 0) return;\n // next();\n // },\n // },\n // {\n // label: 'Dark',\n // icon: currentIdx === 1 ? 'checkmark' : '',\n // onClick: () => {\n // if (currentIdx === 1) return;\n // next();\n // },\n // },\n // ],\n // }}\n // />\n // );\n // },\n // },\n ]);\n if (workspace) {\n workspace.registerMenuWidget([cloudUI.CloudUserBar]);\n lanes.registerMenuWidget(cloudUI.CloudUserBar);\n component.registerRightSideMenuItem({\n item: <cloudUI.CloudUserBar key={'cloud-user-bar-comp-menu'} />,\n order: 100,\n });\n }\n return cloudUI;\n }\n}\n\nexport default CloudUI;\n\nCloudAspect.addRuntime(CloudUI);\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","data","_interopRequireWildcard","require","_ui","_lodash","_designControls","_baseReactThemes","_harmony","_cloudUi","_lanes","_workspace","_component","_cloud","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_defineProperty","_toPropertyKey","value","enumerable","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","CloudUI","constructor","userBarSectionSlot","userBarItemSlot","createElement","UserBar","sections","listUserBarSections","items","listUserBarItems","registerUserBarItem","userBarItem","register","registerUserBarSection","flatten","values","provider","workspace","lanes","component","_","cloudUI","displayName","categoryName","icon","label","href","category","Support","SubMenu","item","children","link","ThemePicker","theme","useThemePicker","light","useThemeByName","dark","setIfDifferent","useCallback","target","current","setTheme","currentName","themeName","onClick","registerMenuWidget","CloudUserBar","registerRightSideMenuItem","key","order","exports","UIRuntime","WorkspaceAspect","LanesAspect","ComponentAspect","Slot","withType","_default","CloudAspect","addRuntime"],"sources":["cloud.ui.runtime.tsx"],"sourcesContent":["import React, { useCallback } from 'react';\nimport { UIRuntime } from '@teambit/ui';\nimport { flatten } from 'lodash';\nimport { SubMenu } from '@teambit/design.controls.menu';\nimport { useThemePicker, useThemeByName } from '@teambit/base-react.themes.theme-switcher';\nimport { Slot } from '@teambit/harmony';\nimport type { UserBarItem, UserBarItemSlot, UserBarSection, UserBarSectionSlot } from '@teambit/cloud.ui.user-bar';\nimport { UserBar } from '@teambit/cloud.ui.user-bar';\nimport type { LanesUI } from '@teambit/lanes';\nimport { LanesAspect } from '@teambit/lanes';\nimport type { WorkspaceUI } from '@teambit/workspace';\nimport { WorkspaceAspect } from '@teambit/workspace';\nimport type { ComponentUI } from '@teambit/component';\nimport { ComponentAspect } from '@teambit/component';\nimport { CloudAspect } from './cloud.aspect';\n\nexport class CloudUI {\n constructor(\n private userBarSectionSlot: UserBarSectionSlot,\n private userBarItemSlot: UserBarItemSlot\n ) {}\n /**\n * register a new user bar item.\n */\n registerUserBarItem(userBarItem: UserBarItem[]) {\n this.userBarItemSlot.register(userBarItem);\n return this;\n }\n\n /**\n * register a new user bar section\n */\n registerUserBarSection(sections: UserBarSection[]) {\n this.userBarSectionSlot.register(sections);\n return this;\n }\n\n /**\n * list user bar items.\n */\n listUserBarItems() {\n return flatten(this.userBarItemSlot.values());\n }\n\n /**\n * list all user bar sections.\n */\n listUserBarSections() {\n return flatten(this.userBarSectionSlot.values());\n }\n\n CloudUserBar = () => {\n return <UserBar sections={this.listUserBarSections()} items={this.listUserBarItems()} />;\n };\n\n static runtime = UIRuntime;\n\n static dependencies = [WorkspaceAspect, LanesAspect, ComponentAspect];\n\n static slots = [Slot.withType<UserBarItem[]>(), Slot.withType<UserBarSection[]>()];\n\n static async provider(\n [workspace, lanes, component]: [WorkspaceUI, LanesUI, ComponentUI],\n _,\n [userBarItemSlot, userBarSectionSlot]: [UserBarItemSlot, UserBarSectionSlot]\n ) {\n const cloudUI = new CloudUI(userBarSectionSlot, userBarItemSlot);\n\n cloudUI.registerUserBarSection([\n {\n displayName: 'Scopes & Components',\n categoryName: 'ScopesAndComponents',\n },\n {\n displayName: 'Docs, Support & Feedback',\n categoryName: 'DocsSupportAndFeedback',\n },\n ]);\n cloudUI.registerUserBarItem([\n {\n icon: 'settings',\n label: 'Settings',\n href: 'https://bit.cloud/settings',\n },\n {\n category: 'ScopesAndComponents',\n icon: 'components',\n label: 'Your components',\n href: 'https://bit.cloud/components',\n },\n {\n category: 'ScopesAndComponents',\n icon: 'collection',\n label: 'Your scopes',\n href: 'https://bit.cloud/scopes',\n },\n {\n category: 'DocsSupportAndFeedback',\n icon: 'book-glossary',\n label: 'Bit Docs',\n href: 'https://bit.dev/docs',\n },\n {\n category: 'DocsSupportAndFeedback',\n component: function Support() {\n return (\n <SubMenu\n item={{\n label: 'Support',\n icon: 'users',\n children: [\n {\n label: 'Bit Community on bit.cloud',\n link: 'https://bit.cloud/bitdev',\n },\n {\n label: 'Ticket Support',\n link: 'https://support.bit.cloud',\n },\n {\n label: 'Bit Community Slack',\n link: 'https://join.slack.com/t/bit-dev-community/shared_invite/zt-29pmawrp1-ehfEzYbQyuAC3CNA_jYPvA',\n },\n ],\n }}\n />\n );\n },\n },\n {\n category: 'DocsSupportAndFeedback',\n component: function ThemePicker() {\n const theme = useThemePicker();\n const light = useThemeByName('light');\n const dark = useThemeByName('dark');\n\n const setIfDifferent = useCallback(\n (target) => {\n if (!theme || !target || theme.current === target) return;\n theme.setTheme(target);\n },\n [theme]\n );\n\n const currentName = theme?.current?.themeName;\n\n return (\n <SubMenu\n item={{\n label: 'Theme',\n icon: 'lightmode',\n children: [\n {\n label: 'Light',\n icon: currentName === 'light' ? 'checkmark' : '',\n onClick: () => setIfDifferent(light),\n },\n {\n label: 'Dark',\n icon: currentName === 'dark' ? 'checkmark' : '',\n onClick: () => setIfDifferent(dark),\n },\n ],\n }}\n />\n );\n },\n },\n ]);\n if (workspace) {\n workspace.registerMenuWidget([cloudUI.CloudUserBar]);\n lanes.registerMenuWidget(cloudUI.CloudUserBar);\n component.registerRightSideMenuItem({\n item: <cloudUI.CloudUserBar key={'cloud-user-bar-comp-menu'} />,\n order: 100,\n });\n }\n return cloudUI;\n }\n}\n\nexport default CloudUI;\n\nCloudAspect.addRuntime(CloudUI);\n"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@teambit/cloud",
3
- "version": "0.0.1100",
3
+ "version": "0.0.1102",
4
4
  "homepage": "https://bit.cloud/teambit/cloud/cloud",
5
5
  "main": "dist/index.js",
6
6
  "componentId": {
7
7
  "scope": "teambit.cloud",
8
8
  "name": "cloud",
9
- "version": "0.0.1100"
9
+ "version": "0.0.1102"
10
10
  },
11
11
  "dependencies": {
12
12
  "graphql-tag": "2.12.1",
@@ -27,15 +27,16 @@
27
27
  "@teambit/logger": "0.0.1381",
28
28
  "@teambit/scope.network": "0.0.88",
29
29
  "@teambit/scopes.scope-id": "0.0.9",
30
+ "@teambit/base-react.themes.theme-switcher": "1.1.2",
30
31
  "@teambit/cloud.ui.user-bar": "0.0.39",
31
32
  "@teambit/design.controls.menu": "0.0.1",
32
33
  "@teambit/bit-error": "0.0.404",
33
- "@teambit/graphql": "1.0.819",
34
- "@teambit/scope": "1.0.819",
35
- "@teambit/ui": "1.0.819",
36
- "@teambit/workspace": "1.0.819",
37
- "@teambit/component": "1.0.819",
38
- "@teambit/lanes": "1.0.824"
34
+ "@teambit/graphql": "1.0.821",
35
+ "@teambit/scope": "1.0.821",
36
+ "@teambit/ui": "1.0.821",
37
+ "@teambit/workspace": "1.0.821",
38
+ "@teambit/component": "1.0.821",
39
+ "@teambit/lanes": "1.0.826"
39
40
  },
40
41
  "devDependencies": {
41
42
  "@types/express": "4.17.21",