@teambit/command-bar 1.0.281 → 1.0.283
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/artifacts/__bit_junit.xml +1 -1
- package/artifacts/preview/teambit_explorer_command_bar-preview.js +1 -1
- package/artifacts/schema.json +1 -1
- package/dist/command-bar.composition.js +1 -1
- package/dist/command-bar.composition.js.map +1 -1
- package/dist/command-bar.preview.runtime.js +1 -1
- package/dist/command-bar.preview.runtime.js.map +1 -1
- package/dist/command-bar.ui.runtime.js +3 -3
- package/dist/command-bar.ui.runtime.js.map +1 -1
- package/dist/duplicate-command-error.js.map +1 -1
- package/dist/model/key-event/serialize-keyboard-event.js +1 -1
- package/dist/model/key-event/serialize-keyboard-event.js.map +1 -1
- package/dist/{preview-1716434516635.js → preview-1716607230882.js} +2 -2
- package/dist/searchers/command-searcher/command-result.js +1 -1
- package/dist/searchers/command-searcher/command-result.js.map +1 -1
- package/dist/searchers/command-searcher/command-searcher.js +1 -1
- package/dist/searchers/command-searcher/command-searcher.js.map +1 -1
- package/package.json +7 -7
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
2
|
<testsuites tests="0" failures="0" errors="0" skipped="0">
|
|
3
|
-
<testsuite name="teambit.explorer/command-bar@1.0.
|
|
3
|
+
<testsuite name="teambit.explorer/command-bar@1.0.283" tests="0" failures="0" errors="0" skipped="0"/>
|
|
4
4
|
</testsuites>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["teambit.explorer/command-bar-preview"]=t():e["teambit.explorer/command-bar-preview"]=t()}(self,(()=>(()=>{"use strict";var e={
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["teambit.explorer/command-bar-preview"]=t():e["teambit.explorer/command-bar-preview"]=t()}(self,(()=>(()=>{"use strict";var e={8870:(e,t,o)=>{var r={id:"teambit.explorer/command-bar@1.0.283",homepage:"https://bit.cloud/teambit/explorer/command-bar",exported:!0};function n(){const e=i(o(41594));return n=function(){return e},e}function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0}),t.Logo=void 0,n.__bit_component=r,i.__bit_component=r;const a=()=>n().default.createElement("div",{style:{height:"100%",display:"flex",justifyContent:"center"}},n().default.createElement("img",{style:{width:70},src:"https://static.bit.dev/extensions-icons/command-bar.svg"}));a.__bit_component=r,t.Logo=a},41594:e=>{e.exports=React}},t={};function o(r){var n=t[r];if(void 0!==n)return n.exports;var i=t[r]={exports:{}};return e[r](i,i.exports,o),i.exports}o.d=(e,t)=>{for(var r in t)o.o(t,r)&&!o.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),o.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var r={};return(()=>{o.r(r),o.d(r,{compositions:()=>l,compositions_metadata:()=>u,overview:()=>m});var e={};o.r(e),o.d(e,{default:()=>d});var t=o(8870);o(41594);const n=MdxJsReact,i=TeambitMdxUiMdxScopeContext;var a=["components"];function c(){return c=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var o=arguments[t];for(var r in o)({}).hasOwnProperty.call(o,r)&&(e[r]=o[r])}return e},c.apply(null,arguments)}var p={},s="wrapper";function d(e){var t=e.components,o=function(e,t){if(null==e)return{};var o,r,n=function(e,t){if(null==e)return{};var o={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;o[r]=e[r]}return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)o=i[r],t.indexOf(o)>=0||{}.propertyIsEnumerable.call(e,o)&&(n[o]=e[o])}return n}(e,a);return(0,n.mdx)(s,c({},p,o,{components:t,mdxType:"MDXLayout"}),(0,n.mdx)(i.MDXScopeProvider,{components:{},mdxType:"MDXScopeProvider"},(0,n.mdx)("p",null,"Opens on CMD+K and allows searching for components by name. Typing '> ' inside the command bar displays the different commands and their shortcuts.")))}d.isMDXComponent=!0;const l=[t],m=[e],u={compositions:[{displayName:"Logo",identifier:"Logo"}]}})(),r})()));
|
package/artifacts/schema.json
CHANGED
|
@@ -11,7 +11,7 @@ function _react() {
|
|
|
11
11
|
};
|
|
12
12
|
return data;
|
|
13
13
|
}
|
|
14
|
-
function _interopRequireDefault(
|
|
14
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
15
15
|
const Logo = () => /*#__PURE__*/_react().default.createElement("div", {
|
|
16
16
|
style: {
|
|
17
17
|
height: '100%',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","data","_interopRequireDefault","require","
|
|
1
|
+
{"version":3,"names":["_react","data","_interopRequireDefault","require","e","__esModule","default","Logo","createElement","style","height","display","justifyContent","width","src","exports"],"sources":["command-bar.composition.tsx"],"sourcesContent":["import React from 'react';\n\nexport const Logo = () => (\n <div style={{ height: '100%', display: 'flex', justifyContent: 'center' }}>\n <img style={{ width: 70 }} src=\"https://static.bit.dev/extensions-icons/command-bar.svg\" />\n </div>\n);\n"],"mappings":";;;;;;AAAA,SAAAA,OAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,MAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA0B,SAAAC,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAEnB,MAAMG,IAAI,GAAGA,CAAA,kBAClBP,MAAA,GAAAM,OAAA,CAAAE,aAAA;EAAKC,KAAK,EAAE;IAAEC,MAAM,EAAE,MAAM;IAAEC,OAAO,EAAE,MAAM;IAAEC,cAAc,EAAE;EAAS;AAAE,gBACxEZ,MAAA,GAAAM,OAAA,CAAAE,aAAA;EAAKC,KAAK,EAAE;IAAEI,KAAK,EAAE;EAAG,CAAE;EAACC,GAAG,EAAC;AAAyD,CAAE,CACvF,CACN;AAACC,OAAA,CAAAR,IAAA,GAAAA,IAAA","ignoreList":[]}
|
|
@@ -39,7 +39,7 @@ function _keyEvent() {
|
|
|
39
39
|
};
|
|
40
40
|
return data;
|
|
41
41
|
}
|
|
42
|
-
function _defineProperty(
|
|
42
|
+
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; }
|
|
43
43
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
44
44
|
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); }
|
|
45
45
|
class CommandBarPreview {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_preview","data","require","_pubsub","_keybinding","_commandBar","_keyEvent","_defineProperty","
|
|
1
|
+
{"version":3,"names":["_preview","data","require","_pubsub","_keybinding","_commandBar","_keyEvent","_defineProperty","e","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","CommandBarPreview","constructor","pubSub","target","isEditable","isDenyListed","preventDefault","pub","CommandBarAspect","id","KeyEvent","document","addEventListener","handleKeyEvent","provider","pubsubPreview","exports","PubsubAspect","PreviewRuntime","editableTags","element","includes","tagName","isContentEditable","addRuntime","isOpenCommandBarKeybinding"],"sources":["command-bar.preview.runtime.tsx"],"sourcesContent":["import { PreviewRuntime } from '@teambit/preview';\nimport { PubsubAspect, PubsubPreview } from '@teambit/pubsub';\nimport { isOpenCommandBarKeybinding } from './keybinding';\nimport { CommandBarAspect } from './command-bar.aspect';\nimport { KeyEvent } from './model/key-event';\n\nexport class CommandBarPreview {\n constructor(private pubSub: PubsubPreview) {\n document.addEventListener('keydown', this.handleKeyEvent);\n document.addEventListener('keypress', this.handleKeyEvent);\n document.addEventListener('keyup', this.handleKeyEvent);\n }\n\n handleKeyEvent = (e: KeyboardEvent) => {\n const { target } = e;\n if (!target || isEditable(target as HTMLElement)) return;\n if (isDenyListed(e)) e.preventDefault();\n\n this.pubSub.pub(CommandBarAspect.id, new KeyEvent(e));\n };\n\n static dependencies = [PubsubAspect];\n static runtime = PreviewRuntime;\n static async provider([pubSub]: [PubsubPreview]) {\n const pubsubPreview = new CommandBarPreview(pubSub);\n return pubsubPreview;\n }\n}\n\nconst editableTags = ['INPUT', 'SELECT', 'TEXTAREA'];\nfunction isEditable(element: HTMLElement) {\n return editableTags.includes(element.tagName) || element.isContentEditable;\n}\n\nCommandBarAspect.addRuntime(CommandBarPreview);\n\n// block default browser behavior that would override our keybinding.\nfunction isDenyListed(e: KeyboardEvent) {\n return isOpenCommandBarKeybinding(e);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -116,11 +116,11 @@ function _commandBarModule() {
|
|
|
116
116
|
};
|
|
117
117
|
return data;
|
|
118
118
|
}
|
|
119
|
-
function _interopRequireDefault(
|
|
119
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
120
120
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
121
121
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
122
|
-
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (
|
|
123
|
-
function _defineProperty(
|
|
122
|
+
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
123
|
+
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; }
|
|
124
124
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
125
125
|
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); }
|
|
126
126
|
const RESULT_LIMIT = 5;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","data","_interopRequireWildcard","require","_lodash","_interopRequireDefault","_mousetrap","_harmony","_ui","_pubsub","_reactRouter","_uiFoundationUi","_explorerUi","_commandBar","_commandBar2","_searchers","_duplicateCommandError","_mousetrapStub","_keybinding","_commandBarModule","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_extends","assign","bind","target","arguments","length","source","key","prototype","apply","_defineProperty","value","_toPropertyKey","enumerable","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","RESULT_LIMIT","CommandBarUI","addSearcher","commandSearcher","searcherSlot","register","addCommand","originalCommands","forEach","id","commandId","getCommand","undefined","DuplicateCommandError","commands","map","x","displayName","action","keybinding","commandSlot","command","addKeybinding","updateCommandsSearcher","updaters","next","run","commandEntry","relevantCommands","values","find","filter","pop","flat","update","mousetrap","constructor","config","isBrowser","Mousetrap","MousetrapStub","CommandSearcher","setVisibility","trigger","term","limit","searchers","flatten","searcher","test","search","items","ResultComponent","onEnter","visible","useState","results","useSearcher","debounce","createElement","CommandBar","className","styles","commanderUi","placeholder","ResultsComponent","onVisibilityChange","autofocus","provider","uiUi","pubsubUI","commandSlots","commandBar","commandBarCommands","open","openCommandBarKeybinding","sub","CommandBarAspect","keyboardEvent","KeyboardEvent","type","document","dispatchEvent","registerHudItem","exports","UIAspect","PubsubAspect","ReactRouterAspect","Slot","withType","UIRuntime","addRuntime"],"sources":["command-bar.ui.runtime.tsx"],"sourcesContent":["import React, { useState, ComponentType } from 'react';\nimport flatten from 'lodash.flatten';\nimport Mousetrap from 'mousetrap';\nimport { Slot, SlotRegistry } from '@teambit/harmony';\nimport { UIAspect, UIRuntime, UiUI } from '@teambit/ui';\nimport { PubsubAspect, PubsubUI } from '@teambit/pubsub';\nimport { ReactRouterAspect } from '@teambit/react-router';\nimport { isBrowser } from '@teambit/ui-foundation.ui.is-browser';\nimport { CommandBar, useSearcher, ResultsComponentProps } from '@teambit/explorer.ui.command-bar';\nimport { CommandBarAspect } from './command-bar.aspect';\nimport { commandBarCommands } from './command-bar.commands';\nimport { CommandSearcher, SearchProvider } from './searchers';\nimport { Keybinding, CommandHandler, CommandId } from './types';\nimport { DuplicateCommandError } from './duplicate-command-error';\nimport { KeyEvent } from './model/key-event';\nimport { MousetrapStub } from './mousetrap-stub';\nimport { openCommandBarKeybinding } from './keybinding';\nimport styles from './command-bar.module.scss';\n\nconst RESULT_LIMIT = 5;\ntype SearcherSlot = SlotRegistry<SearchProvider[]>;\ntype CommandSlot = SlotRegistry<CommandEntry[]>;\n\nexport type CommandBarConfig = {\n debounce?: number;\n};\n\nexport type CommandEntry = {\n id: CommandId;\n action: CommandHandler;\n keybinding?: Keybinding;\n displayName: string;\n};\n\n/** Quick launch actions. Use the `addSearcher` slot to extend the available actions */\nexport class CommandBarUI {\n private mousetrap = isBrowser ? new Mousetrap() : new MousetrapStub();\n private commandSearcher = new CommandSearcher([]);\n\n /** Opens the command bar */\n open = () => {\n this.setVisibility?.(true);\n return false; // aka prevent default\n };\n\n /** Closes the command bar */\n close = () => {\n this.setVisibility?.(false);\n };\n\n /** Add and autocomplete provider. To support keyboard navigation, each result should have a props `active: boolean`, and `exectue: () => any` */\n addSearcher(...commandSearcher: SearchProvider[]) {\n this.searcherSlot.register(commandSearcher);\n return this;\n }\n\n /**\n * registers a command\n */\n addCommand(...originalCommands: CommandEntry[]) {\n originalCommands.forEach(({ id: commandId }) => {\n if (this.getCommand(commandId) !== undefined) throw new DuplicateCommandError(commandId);\n });\n\n // commands could mutate later on, clone to ensure immutability 👌\n const commands = originalCommands.map((x) => ({\n id: x.id,\n displayName: x.displayName,\n action: x.action,\n keybinding: x.keybinding,\n }));\n\n this.commandSlot.register(commands);\n\n commands.forEach((command) => {\n if (command.keybinding) {\n this.addKeybinding(command.keybinding, command.id);\n }\n });\n\n this.updateCommandsSearcher();\n\n const updaters = commands.map((command) => (next: CommandHandler) => {\n command.action = next;\n });\n return updaters;\n }\n\n /**\n * executes command by name, if exists.\n * @param commandId\n */\n run(commandId: CommandId) {\n const commandEntry = this.getCommand(commandId);\n if (!commandEntry) return undefined;\n\n return commandEntry.action();\n }\n\n /**\n * executes a keyboard shortcut manually\n */\n trigger = (key: string) => {\n this.mousetrap.trigger(key);\n };\n\n private search = (term: string, limit: number = RESULT_LIMIT) => {\n const searchers = flatten(this.searcherSlot.values());\n\n const searcher = searchers.find((x) => x && x.test(term));\n return searcher?.search(term, limit) || { items: [] };\n };\n\n private getCommand(id: CommandId) {\n const relevantCommands = this.commandSlot\n .values()\n .map((commands) => commands.find((command) => command.id === id))\n .filter((x) => !!x);\n\n return relevantCommands.pop();\n }\n\n private updateCommandsSearcher() {\n const commands = this.commandSlot.values().flat();\n this.commandSearcher.update(commands);\n }\n\n private addKeybinding(key: Keybinding, command: CommandId) {\n this.mousetrap.bind(key, this.run.bind(this, command));\n }\n\n /**\n * Opens and closes the command bar UI.\n */\n setVisibility?: (visible: boolean) => void;\n\n /**\n * generate the ui for command bar\n */\n CommandBar = ({\n ResultComponent,\n onEnter,\n }: {\n ResultComponent?: ComponentType<ResultsComponentProps>;\n onEnter?: (value: string) => void;\n }) => {\n const [visible, setVisibility] = useState(false);\n this.setVisibility = setVisibility;\n\n const results = useSearcher(this.search, {\n debounce: this.config.debounce,\n });\n\n return (\n <CommandBar\n {...results}\n onEnter={onEnter}\n key=\"CommandBarUI\"\n className={styles.commanderUi}\n placeholder=\"Search anything or type > to only search commands\"\n visible={visible}\n ResultsComponent={ResultComponent}\n onVisibilityChange={setVisibility}\n autofocus\n />\n );\n };\n\n constructor(private searcherSlot: SearcherSlot, private commandSlot: CommandSlot, private config: CommandBarConfig) {}\n\n static dependencies = [UIAspect, PubsubAspect, ReactRouterAspect];\n static slots = [Slot.withType<SearchProvider>(), Slot.withType<CommandEntry[]>()];\n static defaultConfig: CommandBarConfig = {\n debounce: undefined,\n };\n\n static runtime = UIRuntime;\n\n static async provider(\n [uiUi, pubsubUI]: [UiUI | undefined, PubsubUI | undefined],\n config: CommandBarConfig,\n [searcherSlot, commandSlots]: [SearcherSlot, CommandSlot]\n ) {\n const commandBar = new CommandBarUI(searcherSlot, commandSlots, config);\n\n commandBar.addSearcher(commandBar.commandSearcher);\n commandBar.addCommand({\n id: commandBarCommands.open,\n action: commandBar.open,\n displayName: 'Open command bar',\n keybinding: openCommandBarKeybinding,\n });\n\n if (pubsubUI) {\n pubsubUI.sub(CommandBarAspect.id, (e: KeyEvent) => {\n const keyboardEvent = new KeyboardEvent(e.type, e.data);\n document.dispatchEvent(keyboardEvent);\n });\n }\n\n if (uiUi) {\n uiUi.registerHudItem(<commandBar.CommandBar key=\"commandBar\" />);\n }\n\n return commandBar;\n }\n}\n\nCommandBarAspect.addRuntime(CommandBarUI);\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","data","_interopRequireWildcard","require","_lodash","_interopRequireDefault","_mousetrap","_harmony","_ui","_pubsub","_reactRouter","_uiFoundationUi","_explorerUi","_commandBar","_commandBar2","_searchers","_duplicateCommandError","_mousetrapStub","_keybinding","_commandBarModule","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_extends","assign","bind","arguments","length","apply","_defineProperty","_toPropertyKey","value","enumerable","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","RESULT_LIMIT","CommandBarUI","addSearcher","commandSearcher","searcherSlot","register","addCommand","originalCommands","forEach","id","commandId","getCommand","undefined","DuplicateCommandError","commands","map","x","displayName","action","keybinding","commandSlot","command","addKeybinding","updateCommandsSearcher","updaters","next","run","commandEntry","relevantCommands","values","find","filter","pop","flat","update","key","mousetrap","constructor","config","isBrowser","Mousetrap","MousetrapStub","CommandSearcher","setVisibility","trigger","term","limit","searchers","flatten","searcher","test","search","items","ResultComponent","onEnter","visible","useState","results","useSearcher","debounce","createElement","CommandBar","className","styles","commanderUi","placeholder","ResultsComponent","onVisibilityChange","autofocus","provider","uiUi","pubsubUI","commandSlots","commandBar","commandBarCommands","open","openCommandBarKeybinding","sub","CommandBarAspect","keyboardEvent","KeyboardEvent","type","document","dispatchEvent","registerHudItem","exports","UIAspect","PubsubAspect","ReactRouterAspect","Slot","withType","UIRuntime","addRuntime"],"sources":["command-bar.ui.runtime.tsx"],"sourcesContent":["import React, { useState, ComponentType } from 'react';\nimport flatten from 'lodash.flatten';\nimport Mousetrap from 'mousetrap';\nimport { Slot, SlotRegistry } from '@teambit/harmony';\nimport { UIAspect, UIRuntime, UiUI } from '@teambit/ui';\nimport { PubsubAspect, PubsubUI } from '@teambit/pubsub';\nimport { ReactRouterAspect } from '@teambit/react-router';\nimport { isBrowser } from '@teambit/ui-foundation.ui.is-browser';\nimport { CommandBar, useSearcher, ResultsComponentProps } from '@teambit/explorer.ui.command-bar';\nimport { CommandBarAspect } from './command-bar.aspect';\nimport { commandBarCommands } from './command-bar.commands';\nimport { CommandSearcher, SearchProvider } from './searchers';\nimport { Keybinding, CommandHandler, CommandId } from './types';\nimport { DuplicateCommandError } from './duplicate-command-error';\nimport { KeyEvent } from './model/key-event';\nimport { MousetrapStub } from './mousetrap-stub';\nimport { openCommandBarKeybinding } from './keybinding';\nimport styles from './command-bar.module.scss';\n\nconst RESULT_LIMIT = 5;\ntype SearcherSlot = SlotRegistry<SearchProvider[]>;\ntype CommandSlot = SlotRegistry<CommandEntry[]>;\n\nexport type CommandBarConfig = {\n debounce?: number;\n};\n\nexport type CommandEntry = {\n id: CommandId;\n action: CommandHandler;\n keybinding?: Keybinding;\n displayName: string;\n};\n\n/** Quick launch actions. Use the `addSearcher` slot to extend the available actions */\nexport class CommandBarUI {\n private mousetrap = isBrowser ? new Mousetrap() : new MousetrapStub();\n private commandSearcher = new CommandSearcher([]);\n\n /** Opens the command bar */\n open = () => {\n this.setVisibility?.(true);\n return false; // aka prevent default\n };\n\n /** Closes the command bar */\n close = () => {\n this.setVisibility?.(false);\n };\n\n /** Add and autocomplete provider. To support keyboard navigation, each result should have a props `active: boolean`, and `exectue: () => any` */\n addSearcher(...commandSearcher: SearchProvider[]) {\n this.searcherSlot.register(commandSearcher);\n return this;\n }\n\n /**\n * registers a command\n */\n addCommand(...originalCommands: CommandEntry[]) {\n originalCommands.forEach(({ id: commandId }) => {\n if (this.getCommand(commandId) !== undefined) throw new DuplicateCommandError(commandId);\n });\n\n // commands could mutate later on, clone to ensure immutability 👌\n const commands = originalCommands.map((x) => ({\n id: x.id,\n displayName: x.displayName,\n action: x.action,\n keybinding: x.keybinding,\n }));\n\n this.commandSlot.register(commands);\n\n commands.forEach((command) => {\n if (command.keybinding) {\n this.addKeybinding(command.keybinding, command.id);\n }\n });\n\n this.updateCommandsSearcher();\n\n const updaters = commands.map((command) => (next: CommandHandler) => {\n command.action = next;\n });\n return updaters;\n }\n\n /**\n * executes command by name, if exists.\n * @param commandId\n */\n run(commandId: CommandId) {\n const commandEntry = this.getCommand(commandId);\n if (!commandEntry) return undefined;\n\n return commandEntry.action();\n }\n\n /**\n * executes a keyboard shortcut manually\n */\n trigger = (key: string) => {\n this.mousetrap.trigger(key);\n };\n\n private search = (term: string, limit: number = RESULT_LIMIT) => {\n const searchers = flatten(this.searcherSlot.values());\n\n const searcher = searchers.find((x) => x && x.test(term));\n return searcher?.search(term, limit) || { items: [] };\n };\n\n private getCommand(id: CommandId) {\n const relevantCommands = this.commandSlot\n .values()\n .map((commands) => commands.find((command) => command.id === id))\n .filter((x) => !!x);\n\n return relevantCommands.pop();\n }\n\n private updateCommandsSearcher() {\n const commands = this.commandSlot.values().flat();\n this.commandSearcher.update(commands);\n }\n\n private addKeybinding(key: Keybinding, command: CommandId) {\n this.mousetrap.bind(key, this.run.bind(this, command));\n }\n\n /**\n * Opens and closes the command bar UI.\n */\n setVisibility?: (visible: boolean) => void;\n\n /**\n * generate the ui for command bar\n */\n CommandBar = ({\n ResultComponent,\n onEnter,\n }: {\n ResultComponent?: ComponentType<ResultsComponentProps>;\n onEnter?: (value: string) => void;\n }) => {\n const [visible, setVisibility] = useState(false);\n this.setVisibility = setVisibility;\n\n const results = useSearcher(this.search, {\n debounce: this.config.debounce,\n });\n\n return (\n <CommandBar\n {...results}\n onEnter={onEnter}\n key=\"CommandBarUI\"\n className={styles.commanderUi}\n placeholder=\"Search anything or type > to only search commands\"\n visible={visible}\n ResultsComponent={ResultComponent}\n onVisibilityChange={setVisibility}\n autofocus\n />\n );\n };\n\n constructor(private searcherSlot: SearcherSlot, private commandSlot: CommandSlot, private config: CommandBarConfig) {}\n\n static dependencies = [UIAspect, PubsubAspect, ReactRouterAspect];\n static slots = [Slot.withType<SearchProvider>(), Slot.withType<CommandEntry[]>()];\n static defaultConfig: CommandBarConfig = {\n debounce: undefined,\n };\n\n static runtime = UIRuntime;\n\n static async provider(\n [uiUi, pubsubUI]: [UiUI | undefined, PubsubUI | undefined],\n config: CommandBarConfig,\n [searcherSlot, commandSlots]: [SearcherSlot, CommandSlot]\n ) {\n const commandBar = new CommandBarUI(searcherSlot, commandSlots, config);\n\n commandBar.addSearcher(commandBar.commandSearcher);\n commandBar.addCommand({\n id: commandBarCommands.open,\n action: commandBar.open,\n displayName: 'Open command bar',\n keybinding: openCommandBarKeybinding,\n });\n\n if (pubsubUI) {\n pubsubUI.sub(CommandBarAspect.id, (e: KeyEvent) => {\n const keyboardEvent = new KeyboardEvent(e.type, e.data);\n document.dispatchEvent(keyboardEvent);\n });\n }\n\n if (uiUi) {\n uiUi.registerHudItem(<commandBar.CommandBar key=\"commandBar\" />);\n }\n\n return commandBar;\n }\n}\n\nCommandBarAspect.addRuntime(CommandBarUI);\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_bitError","data","require","DuplicateCommandError","BitError","constructor","commandId","exports"],"sources":["duplicate-command-error.ts"],"sourcesContent":["import { BitError } from '@teambit/bit-error';\nimport { CommandId } from './types';\n\nexport class DuplicateCommandError extends BitError {\n constructor(commandId: CommandId) {\n super(`Command \"${commandId}\" is already added.`);\n }\n}\n"],"mappings":";;;;;;AAAA,SAAAA,UAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,SAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAGO,MAAME,qBAAqB,SAASC,oBAAQ,CAAC;EAClDC,WAAWA,CAACC,SAAoB,EAAE;IAChC,KAAK,
|
|
1
|
+
{"version":3,"names":["_bitError","data","require","DuplicateCommandError","BitError","constructor","commandId","exports"],"sources":["duplicate-command-error.ts"],"sourcesContent":["import { BitError } from '@teambit/bit-error';\nimport { CommandId } from './types';\n\nexport class DuplicateCommandError extends BitError {\n constructor(commandId: CommandId) {\n super(`Command \"${commandId}\" is already added.`);\n }\n}\n"],"mappings":";;;;;;AAAA,SAAAA,UAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,SAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAGO,MAAME,qBAAqB,SAASC,oBAAQ,CAAC;EAClDC,WAAWA,CAACC,SAAoB,EAAE;IAChC,KAAK,CAAC,YAAYA,SAAS,qBAAqB,CAAC;EACnD;AACF;AAACC,OAAA,CAAAJ,qBAAA,GAAAA,qBAAA","ignoreList":[]}
|
|
@@ -11,7 +11,7 @@ function _isPrimitive() {
|
|
|
11
11
|
};
|
|
12
12
|
return data;
|
|
13
13
|
}
|
|
14
|
-
function _interopRequireDefault(
|
|
14
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
15
15
|
function serializeKeyboardEvent(e) {
|
|
16
16
|
const serialized = {};
|
|
17
17
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_isPrimitive","data","_interopRequireDefault","require","
|
|
1
|
+
{"version":3,"names":["_isPrimitive","data","_interopRequireDefault","require","e","__esModule","default","serializeKeyboardEvent","serialized","key","val","isPrimitive"],"sources":["serialize-keyboard-event.ts"],"sourcesContent":["import isPrimitive from 'is-primitive';\n\nexport function serializeKeyboardEvent(e: KeyboardEvent): KeyboardEventInit {\n const serialized = {};\n\n // 'for ... in' includes properties from prototype (which we want)\n // eslint-disable-next-line no-restricted-syntax, guard-for-in\n for (const key in e) {\n const val = e[key];\n if (isPrimitive(val)) {\n serialized[key] = val;\n }\n }\n\n return serialized;\n}\n"],"mappings":";;;;;;AAAA,SAAAA,aAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,YAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAuC,SAAAC,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAEhC,SAASG,sBAAsBA,CAACH,CAAgB,EAAqB;EAC1E,MAAMI,UAAU,GAAG,CAAC,CAAC;;EAErB;EACA;EACA,KAAK,MAAMC,GAAG,IAAIL,CAAC,EAAE;IACnB,MAAMM,GAAG,GAAGN,CAAC,CAACK,GAAG,CAAC;IAClB,IAAI,IAAAE,sBAAW,EAACD,GAAG,CAAC,EAAE;MACpBF,UAAU,CAACC,GAAG,CAAC,GAAGC,GAAG;IACvB;EACF;EAEA,OAAOF,UAAU;AACnB","ignoreList":[]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.explorer_command-bar@1.0.
|
|
2
|
-
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.explorer_command-bar@1.0.
|
|
1
|
+
import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.explorer_command-bar@1.0.283/dist/command-bar.composition.js';
|
|
2
|
+
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.explorer_command-bar@1.0.283/dist/command-bar.docs.mdx';
|
|
3
3
|
|
|
4
4
|
export const compositions = [compositions_0];
|
|
5
5
|
export const overview = [overview_0];
|
|
@@ -46,7 +46,7 @@ function _commandResultModule() {
|
|
|
46
46
|
};
|
|
47
47
|
return data;
|
|
48
48
|
}
|
|
49
|
-
function _interopRequireDefault(
|
|
49
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
50
50
|
function CommandResult({
|
|
51
51
|
command
|
|
52
52
|
}) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","data","_interopRequireDefault","require","_classnames","_designUiStyles","_uiFoundationUi","_baseUiText","_commandResultModule","
|
|
1
|
+
{"version":3,"names":["_react","data","_interopRequireDefault","require","_classnames","_designUiStyles","_uiFoundationUi","_baseUiText","_commandResultModule","e","__esModule","default","CommandResult","command","icon","iconAlt","displayName","keybinding","_keybinding","Array","isArray","createElement","Fragment","src","alt","className","styles","classnames","ellipsis","name","KeySequence","commandKeys","mutedText"],"sources":["command-result.tsx"],"sourcesContent":["import React from 'react';\nimport classnames from 'classnames';\nimport { ellipsis } from '@teambit/design.ui.styles.ellipsis';\nimport { KeySequence } from '@teambit/ui-foundation.ui.keycap';\nimport { mutedText } from '@teambit/base-ui.text.muted-text';\nimport { Command } from './command';\n\nimport styles from './command-result.module.scss';\n\ntype CommandResultProps = {\n command: Command;\n};\n\nexport function CommandResult({ command }: CommandResultProps) {\n const { icon, iconAlt, displayName, keybinding } = command;\n const _keybinding = Array.isArray(keybinding) ? keybinding[0] : keybinding;\n\n return (\n <>\n {icon && <img src={icon} alt={iconAlt} className={styles.icon} />}\n <div className={classnames(ellipsis, styles.name)}>{displayName}</div>\n {_keybinding && <KeySequence className={classnames(styles.commandKeys, mutedText)}>{_keybinding}</KeySequence>}\n </>\n );\n}\n"],"mappings":";;;;;;AAAA,SAAAA,OAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,MAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,YAAA;EAAA,MAAAH,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAC,WAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAI,gBAAA;EAAA,MAAAJ,IAAA,GAAAE,OAAA;EAAAE,eAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAK,gBAAA;EAAA,MAAAL,IAAA,GAAAE,OAAA;EAAAG,eAAA,YAAAA,CAAA;IAAA,OAAAL,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAM,YAAA;EAAA,MAAAN,IAAA,GAAAE,OAAA;EAAAI,WAAA,YAAAA,CAAA;IAAA,OAAAN,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAGA,SAAAO,qBAAA;EAAA,MAAAP,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAK,oBAAA,YAAAA,CAAA;IAAA,OAAAP,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAkD,SAAAC,uBAAAO,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAM3C,SAASG,aAAaA,CAAC;EAAEC;AAA4B,CAAC,EAAE;EAC7D,MAAM;IAAEC,IAAI;IAAEC,OAAO;IAAEC,WAAW;IAAEC;EAAW,CAAC,GAAGJ,OAAO;EAC1D,MAAMK,WAAW,GAAGC,KAAK,CAACC,OAAO,CAACH,UAAU,CAAC,GAAGA,UAAU,CAAC,CAAC,CAAC,GAAGA,UAAU;EAE1E,oBACEjB,MAAA,GAAAW,OAAA,CAAAU,aAAA,CAAArB,MAAA,GAAAW,OAAA,CAAAW,QAAA,QACGR,IAAI,iBAAId,MAAA,GAAAW,OAAA,CAAAU,aAAA;IAAKE,GAAG,EAAET,IAAK;IAACU,GAAG,EAAET,OAAQ;IAACU,SAAS,EAAEC,8BAAM,CAACZ;EAAK,CAAE,CAAC,eACjEd,MAAA,GAAAW,OAAA,CAAAU,aAAA;IAAKI,SAAS,EAAE,IAAAE,qBAAU,EAACC,0BAAQ,EAAEF,8BAAM,CAACG,IAAI;EAAE,GAAEb,WAAiB,CAAC,EACrEE,WAAW,iBAAIlB,MAAA,GAAAW,OAAA,CAAAU,aAAA,CAACf,eAAA,GAAAwB,WAAW;IAACL,SAAS,EAAE,IAAAE,qBAAU,EAACD,8BAAM,CAACK,WAAW,EAAEC,uBAAS;EAAE,GAAEd,WAAyB,CAC7G,CAAC;AAEP","ignoreList":[]}
|
|
@@ -25,7 +25,7 @@ function _commandResult() {
|
|
|
25
25
|
};
|
|
26
26
|
return data;
|
|
27
27
|
}
|
|
28
|
-
function _interopRequireDefault(
|
|
28
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
29
29
|
const searchKeys = ['displayName'];
|
|
30
30
|
class CommandSearcher extends _explorerUi().FuzzySearcher {
|
|
31
31
|
constructor(commands) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","data","_interopRequireDefault","require","_explorerUi","_commandResult","
|
|
1
|
+
{"version":3,"names":["_react","data","_interopRequireDefault","require","_explorerUi","_commandResult","e","__esModule","default","searchKeys","CommandSearcher","FuzzySearcher","constructor","commands","update","test","term","startsWith","toSearchableItem","item","toSearchResult","id","action","children","createElement","CommandResult","command","exports"],"sources":["command-searcher.tsx"],"sourcesContent":["import React from 'react';\nimport { FuzzySearcher, SearchResult, FuzzySearchItem } from '@teambit/explorer.ui.command-bar';\nimport { SearchProvider } from '../search-provider';\nimport { CommandResult } from './command-result';\nimport { Command } from './command';\n\nconst searchKeys: (keyof Command)[] = ['displayName'];\n\nexport class CommandSearcher extends FuzzySearcher<Command, Command> implements SearchProvider {\n constructor(commands: Command[]) {\n super({ searchKeys });\n\n this.update(commands);\n }\n\n override test(term: string): boolean {\n return term.startsWith('>');\n }\n\n protected override toSearchableItem(item: Command) {\n return item;\n }\n\n protected override toSearchResult({ item }: FuzzySearchItem<Command>): SearchResult {\n return {\n id: item.id,\n action: item.action,\n children: <CommandResult command={item} />,\n };\n }\n}\n"],"mappings":";;;;;;AAAA,SAAAA,OAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,MAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,YAAA;EAAA,MAAAH,IAAA,GAAAE,OAAA;EAAAC,WAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAI,eAAA;EAAA,MAAAJ,IAAA,GAAAE,OAAA;EAAAE,cAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAiD,SAAAC,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAGjD,MAAMG,UAA6B,GAAG,CAAC,aAAa,CAAC;AAE9C,MAAMC,eAAe,SAASC,2BAAa,CAA6C;EAC7FC,WAAWA,CAACC,QAAmB,EAAE;IAC/B,KAAK,CAAC;MAAEJ;IAAW,CAAC,CAAC;IAErB,IAAI,CAACK,MAAM,CAACD,QAAQ,CAAC;EACvB;EAESE,IAAIA,CAACC,IAAY,EAAW;IACnC,OAAOA,IAAI,CAACC,UAAU,CAAC,GAAG,CAAC;EAC7B;EAEmBC,gBAAgBA,CAACC,IAAa,EAAE;IACjD,OAAOA,IAAI;EACb;EAEmBC,cAAcA,CAAC;IAAED;EAA+B,CAAC,EAAgB;IAClF,OAAO;MACLE,EAAE,EAAEF,IAAI,CAACE,EAAE;MACXC,MAAM,EAAEH,IAAI,CAACG,MAAM;MACnBC,QAAQ,eAAEvB,MAAA,GAAAQ,OAAA,CAAAgB,aAAA,CAACnB,cAAA,GAAAoB,aAAa;QAACC,OAAO,EAAEP;MAAK,CAAE;IAC3C,CAAC;EACH;AACF;AAACQ,OAAA,CAAAjB,eAAA,GAAAA,eAAA","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@teambit/command-bar",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.283",
|
|
4
4
|
"homepage": "https://bit.cloud/teambit/explorer/command-bar",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"componentId": {
|
|
7
7
|
"scope": "teambit.explorer",
|
|
8
8
|
"name": "command-bar",
|
|
9
|
-
"version": "1.0.
|
|
9
|
+
"version": "1.0.283"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"lodash.flatten": "4.4.0",
|
|
13
13
|
"mousetrap": "1.6.5",
|
|
14
|
-
"classnames": "2.2.6",
|
|
15
14
|
"is-primitive": "3.0.1",
|
|
15
|
+
"classnames": "2.2.6",
|
|
16
16
|
"@teambit/harmony": "0.4.6",
|
|
17
17
|
"@teambit/explorer.ui.command-bar": "2.0.14",
|
|
18
18
|
"@teambit/ui-foundation.ui.is-browser": "0.0.500",
|
|
@@ -20,9 +20,9 @@
|
|
|
20
20
|
"@teambit/base-ui.text.muted-text": "1.0.1",
|
|
21
21
|
"@teambit/design.ui.styles.ellipsis": "0.0.357",
|
|
22
22
|
"@teambit/ui-foundation.ui.keycap": "0.0.500",
|
|
23
|
-
"@teambit/pubsub": "1.0.
|
|
24
|
-
"@teambit/react-router": "1.0.
|
|
25
|
-
"@teambit/ui": "1.0.
|
|
23
|
+
"@teambit/pubsub": "1.0.283",
|
|
24
|
+
"@teambit/react-router": "1.0.283",
|
|
25
|
+
"@teambit/ui": "1.0.283"
|
|
26
26
|
},
|
|
27
27
|
"devDependencies": {
|
|
28
28
|
"@types/lodash.flatten": "4.4.6",
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
"@types/mocha": "9.1.0",
|
|
32
32
|
"chai": "4.3.0",
|
|
33
33
|
"@teambit/harmony.envs.core-aspect-env": "0.0.33",
|
|
34
|
-
"@teambit/preview": "1.0.
|
|
34
|
+
"@teambit/preview": "1.0.283"
|
|
35
35
|
},
|
|
36
36
|
"peerDependencies": {
|
|
37
37
|
"react": "^17.0.0 || ^18.0.0",
|