@dxos/plugin-search 0.7.5-main.9d26e3a → 0.7.5-main.b19bfc8
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/dist/lib/browser/app-graph-builder-4C2ZPCED.mjs +41 -0
- package/dist/lib/browser/app-graph-builder-4C2ZPCED.mjs.map +7 -0
- package/dist/lib/browser/{chunk-4L4PWJYC.mjs → chunk-B532NWHM.mjs} +3 -3
- package/dist/lib/browser/chunk-B532NWHM.mjs.map +7 -0
- package/dist/lib/browser/chunk-GGOOQO2C.mjs +133 -0
- package/dist/lib/browser/chunk-GGOOQO2C.mjs.map +7 -0
- package/dist/lib/browser/chunk-Z745WIBH.mjs +21 -0
- package/dist/lib/browser/chunk-Z745WIBH.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +61 -557
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/intent-resolver-MKBD2LPH.mjs +22 -0
- package/dist/lib/browser/intent-resolver-MKBD2LPH.mjs.map +7 -0
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/react-surface-ZFFHKFME.mjs +343 -0
- package/dist/lib/browser/react-surface-ZFFHKFME.mjs.map +7 -0
- package/dist/types/src/SearchPlugin.d.ts +1 -3
- package/dist/types/src/SearchPlugin.d.ts.map +1 -1
- package/dist/types/src/capabilities/app-graph-builder.d.ts +181 -0
- package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -0
- package/dist/types/src/capabilities/index.d.ts +180 -0
- package/dist/types/src/capabilities/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/intent-resolver.d.ts +4 -0
- package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -0
- package/dist/types/src/capabilities/react-surface.d.ts +4 -0
- package/dist/types/src/capabilities/react-surface.d.ts.map +1 -0
- package/dist/types/src/components/SearchDialog.d.ts +2 -4
- package/dist/types/src/components/SearchDialog.d.ts.map +1 -1
- package/dist/types/src/components/SearchResults/SearchResults.d.ts +4 -3
- package/dist/types/src/components/SearchResults/SearchResults.d.ts.map +1 -1
- package/dist/types/src/components/SearchResults/SearchResults.stories.d.ts +1 -1
- package/dist/types/src/components/Searchbar/Searchbar.d.ts +1 -2
- package/dist/types/src/components/Searchbar/Searchbar.d.ts.map +1 -1
- package/dist/types/src/context.d.ts +2 -2
- package/dist/types/src/context.d.ts.map +1 -1
- package/dist/types/src/index.d.ts +1 -2
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/meta.d.ts +1 -2
- package/dist/types/src/meta.d.ts.map +1 -1
- package/dist/types/src/types.d.ts +0 -2
- package/dist/types/src/types.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +20 -27
- package/src/SearchPlugin.tsx +35 -91
- package/src/capabilities/app-graph-builder.ts +36 -0
- package/src/capabilities/index.ts +9 -0
- package/src/capabilities/intent-resolver.ts +18 -0
- package/src/capabilities/react-surface.tsx +39 -0
- package/src/components/SearchDialog.tsx +20 -35
- package/src/components/SearchResults/SearchResults.tsx +30 -43
- package/src/index.ts +1 -4
- package/src/meta.ts +1 -1
- package/src/search-sync.ts +1 -1
- package/src/search.ts +1 -1
- package/src/types.tsx +0 -13
- package/dist/lib/browser/chunk-4L4PWJYC.mjs.map +0 -7
- package/dist/lib/browser/meta.mjs +0 -11
- package/dist/lib/browser/meta.mjs.map +0 -7
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import {
|
|
2
|
+
SearchAction
|
|
3
|
+
} from "./chunk-Z745WIBH.mjs";
|
|
4
|
+
import {
|
|
5
|
+
SEARCH_PLUGIN
|
|
6
|
+
} from "./chunk-B532NWHM.mjs";
|
|
7
|
+
|
|
8
|
+
// packages/plugins/experimental/plugin-search/src/capabilities/app-graph-builder.ts
|
|
9
|
+
import { Capabilities, contributes, createIntent } from "@dxos/app-framework";
|
|
10
|
+
import { createExtension } from "@dxos/plugin-graph";
|
|
11
|
+
var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBuilder, createExtension({
|
|
12
|
+
id: SEARCH_PLUGIN,
|
|
13
|
+
filter: (node) => node.id === "root",
|
|
14
|
+
actions: () => [
|
|
15
|
+
{
|
|
16
|
+
id: SearchAction.OpenSearch._tag,
|
|
17
|
+
data: async () => {
|
|
18
|
+
const { dispatchPromise: dispatch } = context.requestCapability(Capabilities.IntentDispatcher);
|
|
19
|
+
await dispatch(createIntent(SearchAction.OpenSearch));
|
|
20
|
+
},
|
|
21
|
+
properties: {
|
|
22
|
+
label: [
|
|
23
|
+
"search action label",
|
|
24
|
+
{
|
|
25
|
+
ns: SEARCH_PLUGIN
|
|
26
|
+
}
|
|
27
|
+
],
|
|
28
|
+
icon: "ph--magnifying-glass--regular",
|
|
29
|
+
keyBinding: {
|
|
30
|
+
macos: "shift+meta+f",
|
|
31
|
+
windows: "shift+alt+f"
|
|
32
|
+
},
|
|
33
|
+
testId: "searchPlugin.search"
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
]
|
|
37
|
+
}));
|
|
38
|
+
export {
|
|
39
|
+
app_graph_builder_default as default
|
|
40
|
+
};
|
|
41
|
+
//# sourceMappingURL=app-graph-builder-4C2ZPCED.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/capabilities/app-graph-builder.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capabilities, contributes, createIntent, type PluginsContext } from '@dxos/app-framework';\nimport { createExtension, type Node } from '@dxos/plugin-graph';\n\nimport { SEARCH_PLUGIN } from '../meta';\nimport { SearchAction } from '../types';\n\nexport default (context: PluginsContext) =>\n contributes(\n Capabilities.AppGraphBuilder,\n createExtension({\n id: SEARCH_PLUGIN,\n filter: (node): node is Node<null> => node.id === 'root',\n actions: () => [\n {\n id: SearchAction.OpenSearch._tag,\n data: async () => {\n const { dispatchPromise: dispatch } = context.requestCapability(Capabilities.IntentDispatcher);\n await dispatch(createIntent(SearchAction.OpenSearch));\n },\n properties: {\n label: ['search action label', { ns: SEARCH_PLUGIN }],\n icon: 'ph--magnifying-glass--regular',\n keyBinding: {\n macos: 'shift+meta+f',\n windows: 'shift+alt+f',\n },\n testId: 'searchPlugin.search',\n },\n },\n ],\n }),\n );\n"],
|
|
5
|
+
"mappings": ";;;;;;;;AAIA,SAASA,cAAcC,aAAaC,oBAAyC;AAC7E,SAASC,uBAAkC;AAK3C,IAAA,4BAAe,CAACC,YACdC,YACEC,aAAaC,iBACbC,gBAAgB;EACdC,IAAIC;EACJC,QAAQ,CAACC,SAA6BA,KAAKH,OAAO;EAClDI,SAAS,MAAM;IACb;MACEJ,IAAIK,aAAaC,WAAWC;MAC5BC,MAAM,YAAA;AACJ,cAAM,EAAEC,iBAAiBC,SAAQ,IAAKf,QAAQgB,kBAAkBd,aAAae,gBAAgB;AAC7F,cAAMF,SAASG,aAAaR,aAAaC,UAAU,CAAA;MACrD;MACAQ,YAAY;QACVC,OAAO;UAAC;UAAuB;YAAEC,IAAIf;UAAc;;QACnDgB,MAAM;QACNC,YAAY;UACVC,OAAO;UACPC,SAAS;QACX;QACAC,QAAQ;MACV;IACF;;AAEJ,CAAA,CAAA;",
|
|
6
|
+
"names": ["Capabilities", "contributes", "createIntent", "createExtension", "context", "contributes", "Capabilities", "AppGraphBuilder", "createExtension", "id", "SEARCH_PLUGIN", "filter", "node", "actions", "SearchAction", "OpenSearch", "_tag", "data", "dispatchPromise", "dispatch", "requestCapability", "IntentDispatcher", "createIntent", "properties", "label", "ns", "icon", "keyBinding", "macos", "windows", "testId"]
|
|
7
|
+
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// packages/plugins/experimental/plugin-search/src/meta.ts
|
|
2
2
|
var SEARCH_PLUGIN = "dxos.org/plugin/search";
|
|
3
3
|
var SEARCH_RESULT = `${SEARCH_PLUGIN}/result`;
|
|
4
|
-
var
|
|
4
|
+
var meta = {
|
|
5
5
|
id: SEARCH_PLUGIN,
|
|
6
6
|
name: "Search",
|
|
7
7
|
description: "Search ECHO spaces for content.",
|
|
@@ -15,6 +15,6 @@ var meta_default = {
|
|
|
15
15
|
export {
|
|
16
16
|
SEARCH_PLUGIN,
|
|
17
17
|
SEARCH_RESULT,
|
|
18
|
-
|
|
18
|
+
meta
|
|
19
19
|
};
|
|
20
|
-
//# sourceMappingURL=chunk-
|
|
20
|
+
//# sourceMappingURL=chunk-B532NWHM.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/meta.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { type PluginMeta } from '@dxos/app-framework';\n\nexport const SEARCH_PLUGIN = 'dxos.org/plugin/search';\nexport const SEARCH_RESULT = `${SEARCH_PLUGIN}/result`;\n\nexport const meta = {\n id: SEARCH_PLUGIN,\n name: 'Search',\n description: 'Search ECHO spaces for content.',\n icon: 'ph--magnifying-glass--regular',\n source: 'https://github.com/dxos/dxos/tree/main/packages/plugins/experimental/plugin-search',\n tags: ['experimental'],\n} satisfies PluginMeta;\n"],
|
|
5
|
+
"mappings": ";AAMO,IAAMA,gBAAgB;AACtB,IAAMC,gBAAgB,GAAGD,aAAAA;AAEzB,IAAME,OAAO;EAClBC,IAAIH;EACJI,MAAM;EACNC,aAAa;EACbC,MAAM;EACNC,QAAQ;EACRC,MAAM;IAAC;;AACT;",
|
|
6
|
+
"names": ["SEARCH_PLUGIN", "SEARCH_RESULT", "meta", "id", "name", "description", "icon", "source", "tags"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
// packages/plugins/experimental/plugin-search/src/search-sync.ts
|
|
2
|
+
import { AST } from "@dxos/echo-schema";
|
|
3
|
+
import { getSchema } from "@dxos/live-object";
|
|
4
|
+
import { TextType } from "@dxos/schema";
|
|
5
|
+
var queryStringToMatch = (queryString) => {
|
|
6
|
+
const trimmed = queryString?.trim();
|
|
7
|
+
return trimmed ? new RegExp(trimmed, "i") : void 0;
|
|
8
|
+
};
|
|
9
|
+
var getIcon = (schema) => {
|
|
10
|
+
if (!(schema && AST.isTypeLiteral(schema.ast))) {
|
|
11
|
+
return void 0;
|
|
12
|
+
}
|
|
13
|
+
const keys = schema.ast.propertySignatures.map((p) => p.name);
|
|
14
|
+
if (keys.indexOf("email") !== -1) {
|
|
15
|
+
return "user";
|
|
16
|
+
}
|
|
17
|
+
if (keys.indexOf("website") !== -1) {
|
|
18
|
+
return "organization";
|
|
19
|
+
}
|
|
20
|
+
if (keys.indexOf("repo") !== -1) {
|
|
21
|
+
return "project";
|
|
22
|
+
}
|
|
23
|
+
return void 0;
|
|
24
|
+
};
|
|
25
|
+
var filterObjectsSync = (objects, match) => {
|
|
26
|
+
if (!match) {
|
|
27
|
+
return [];
|
|
28
|
+
}
|
|
29
|
+
return objects.reduce((results, object) => {
|
|
30
|
+
if (object instanceof TextType) {
|
|
31
|
+
return results;
|
|
32
|
+
}
|
|
33
|
+
const fields = mapObjectToTextFields(object);
|
|
34
|
+
Object.entries(fields).some(([, value]) => {
|
|
35
|
+
const result = value.match(match);
|
|
36
|
+
if (result) {
|
|
37
|
+
const label = getStringProperty(object, [
|
|
38
|
+
"label",
|
|
39
|
+
"name",
|
|
40
|
+
"title"
|
|
41
|
+
]);
|
|
42
|
+
results.push({
|
|
43
|
+
id: object.id,
|
|
44
|
+
type: getIcon(getSchema(object)),
|
|
45
|
+
label,
|
|
46
|
+
match,
|
|
47
|
+
// TODO(burdon): Truncate.
|
|
48
|
+
// TODO(burdon): Issue with sketch documents.
|
|
49
|
+
snippet: value !== label ? value : fields.content ?? fields.description ?? void 0,
|
|
50
|
+
object
|
|
51
|
+
});
|
|
52
|
+
return true;
|
|
53
|
+
}
|
|
54
|
+
return false;
|
|
55
|
+
});
|
|
56
|
+
return results;
|
|
57
|
+
}, []);
|
|
58
|
+
};
|
|
59
|
+
var getStringProperty = (object, keys) => {
|
|
60
|
+
let label;
|
|
61
|
+
keys.some((key) => {
|
|
62
|
+
const value = object[key];
|
|
63
|
+
if (typeof value === "string") {
|
|
64
|
+
label = value;
|
|
65
|
+
return true;
|
|
66
|
+
}
|
|
67
|
+
return false;
|
|
68
|
+
});
|
|
69
|
+
return label;
|
|
70
|
+
};
|
|
71
|
+
var getKeys = (object) => {
|
|
72
|
+
try {
|
|
73
|
+
const obj = JSON.parse(JSON.stringify(object));
|
|
74
|
+
return Object.keys(obj).filter((key) => key !== "id" && key !== "identityKey" && key[0] !== "_" && key[0] !== "@");
|
|
75
|
+
} catch (err) {
|
|
76
|
+
return [];
|
|
77
|
+
}
|
|
78
|
+
};
|
|
79
|
+
var mapObjectToTextFields = (object) => {
|
|
80
|
+
return getKeys(object).reduce((fields, key) => {
|
|
81
|
+
const value = object[key];
|
|
82
|
+
if (typeof value === "string" || value instanceof TextType) {
|
|
83
|
+
try {
|
|
84
|
+
fields[key] = String(value);
|
|
85
|
+
} catch (err) {
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
return fields;
|
|
89
|
+
}, {});
|
|
90
|
+
};
|
|
91
|
+
|
|
92
|
+
// packages/plugins/experimental/plugin-search/src/context.tsx
|
|
93
|
+
import React, { createContext, useContext, useMemo, useState } from "react";
|
|
94
|
+
import { raise } from "@dxos/debug";
|
|
95
|
+
var SearchContext = /* @__PURE__ */ createContext({});
|
|
96
|
+
var SearchContextProvider = ({ children }) => {
|
|
97
|
+
const [match, setMatch] = useState();
|
|
98
|
+
const handleMatch = (text) => setMatch(queryStringToMatch(text));
|
|
99
|
+
return /* @__PURE__ */ React.createElement(SearchContext.Provider, {
|
|
100
|
+
value: {
|
|
101
|
+
match,
|
|
102
|
+
setMatch: handleMatch
|
|
103
|
+
}
|
|
104
|
+
}, children);
|
|
105
|
+
};
|
|
106
|
+
var useGlobalSearch = () => {
|
|
107
|
+
return useContext(SearchContext) ?? raise(new Error("Missing SearchContext."));
|
|
108
|
+
};
|
|
109
|
+
var useGlobalSearchResults = (objects) => {
|
|
110
|
+
const { match } = useGlobalSearch();
|
|
111
|
+
return objects && match ? filterObjectsSync(objects, match) : [];
|
|
112
|
+
};
|
|
113
|
+
var useGlobalFilteredObjects = (objects) => {
|
|
114
|
+
const { match } = useGlobalSearch();
|
|
115
|
+
if (!match || !objects) {
|
|
116
|
+
return objects ?? [];
|
|
117
|
+
}
|
|
118
|
+
return useMemo(() => filterObjectsSync(objects, match).map((result) => result.object), [
|
|
119
|
+
objects,
|
|
120
|
+
match
|
|
121
|
+
]);
|
|
122
|
+
};
|
|
123
|
+
|
|
124
|
+
export {
|
|
125
|
+
queryStringToMatch,
|
|
126
|
+
filterObjectsSync,
|
|
127
|
+
mapObjectToTextFields,
|
|
128
|
+
SearchContextProvider,
|
|
129
|
+
useGlobalSearch,
|
|
130
|
+
useGlobalSearchResults,
|
|
131
|
+
useGlobalFilteredObjects
|
|
132
|
+
};
|
|
133
|
+
//# sourceMappingURL=chunk-GGOOQO2C.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/search-sync.ts", "../../../src/context.tsx"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { AST, type S } from '@dxos/echo-schema';\nimport { getSchema } from '@dxos/live-object';\nimport { TextType } from '@dxos/schema';\n\nexport const queryStringToMatch = (queryString?: string): RegExp | undefined => {\n const trimmed = queryString?.trim();\n return trimmed ? new RegExp(trimmed, 'i') : undefined;\n};\n\n// TODO(burdon): Type name registry linked to schema?\nconst getIcon = (schema: S.Schema<any> | undefined): string | undefined => {\n if (!(schema && AST.isTypeLiteral(schema.ast))) {\n return undefined;\n }\n const keys = schema.ast.propertySignatures.map((p) => p.name);\n if (keys.indexOf('email') !== -1) {\n return 'user';\n }\n if (keys.indexOf('website') !== -1) {\n return 'organization';\n }\n if (keys.indexOf('repo') !== -1) {\n return 'project';\n }\n\n return undefined;\n};\n\n// Plain text fields.\n// TODO(burdon): Reconcile with agent index.\nexport type TextFields = Record<string, string>;\n\nexport type SearchResult = {\n id: string;\n type?: string;\n label?: string;\n match?: RegExp;\n snippet?: string;\n object?: any;\n};\n\n// TODO(thure): This returns `SearchResult[]` which is not just a narrower set of objects as the name implies.\nexport const filterObjectsSync = <T extends Record<string, any>>(objects: T[], match?: RegExp): SearchResult[] => {\n if (!match) {\n return [];\n }\n\n return objects.reduce<SearchResult[]>((results, object) => {\n // TODO(burdon): Hack to ignore Text objects.\n if (object instanceof TextType) {\n return results;\n }\n\n const fields = mapObjectToTextFields(object);\n Object.entries(fields).some(([, value]) => {\n const result = value.match(match);\n if (result) {\n // TODO(burdon): Use schema.\n const label = getStringProperty(object, ['label', 'name', 'title']);\n\n results.push({\n id: object.id,\n type: getIcon(getSchema(object)),\n label,\n match,\n // TODO(burdon): Truncate.\n // TODO(burdon): Issue with sketch documents.\n snippet: value !== label ? value : fields.content ?? fields.description ?? undefined,\n object,\n });\n\n return true;\n }\n\n return false;\n });\n\n return results;\n }, []);\n};\n\n// TODO(burdon): Use schema?\nconst getStringProperty = (object: Record<string, unknown>, keys: string[]): string | undefined => {\n let label;\n keys.some((key) => {\n const value = object[key];\n if (typeof value === 'string') {\n label = value;\n return true;\n }\n\n return false;\n });\n\n return label;\n};\n\n// TODO(burdon): Filter system fields.\nconst getKeys = (object: Record<string, unknown>): string[] => {\n try {\n const obj = JSON.parse(JSON.stringify(object));\n return Object.keys(obj).filter(\n (key) => key !== 'id' && key !== 'identityKey' && key[0] !== '_' && key[0] !== '@',\n ) as string[];\n } catch (err) {\n // TODO(burdon): Error with TLDraw sketch.\n // Uncaught Error: Type with the name content has already been defined with a different constructor\n return [];\n }\n};\n\n// TODO(burdon): Use ECHO schema.\nexport const mapObjectToTextFields = <T extends Record<string, unknown>>(object: T): TextFields => {\n return getKeys(object).reduce<TextFields>((fields, key) => {\n const value = object[key] as any;\n if (typeof value === 'string' || value instanceof TextType) {\n try {\n fields[key] = String(value);\n } catch (err) {\n // TODO(burdon): Exception when parsing sketch document.\n }\n }\n\n return fields;\n }, {});\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport React, { createContext, type PropsWithChildren, useContext, useMemo, useState } from 'react';\n\nimport { raise } from '@dxos/debug';\n\nimport { filterObjectsSync, queryStringToMatch, type SearchResult } from './search-sync';\n\ntype SearchContextType = {\n match?: RegExp;\n setMatch?: (text?: string) => void;\n};\n\nconst SearchContext = createContext<SearchContextType>({});\n\nexport const SearchContextProvider = ({ children }: PropsWithChildren) => {\n const [match, setMatch] = useState<RegExp>();\n const handleMatch = (text?: string) => setMatch(queryStringToMatch(text));\n return <SearchContext.Provider value={{ match, setMatch: handleMatch }}>{children}</SearchContext.Provider>;\n};\n\nexport const useGlobalSearch = () => {\n return useContext(SearchContext) ?? raise(new Error('Missing SearchContext.'));\n};\n\nexport const useGlobalSearchResults = <T extends Record<string, any>>(objects?: T[]): SearchResult[] => {\n const { match } = useGlobalSearch();\n return objects && match ? filterObjectsSync(objects, match) : [];\n};\n\nexport const useGlobalFilteredObjects = <T extends Record<string, any>>(objects?: T[]): T[] => {\n const { match } = useGlobalSearch();\n if (!match || !objects) {\n return objects ?? [];\n }\n\n return useMemo(() => filterObjectsSync(objects, match).map((result) => result.object), [objects, match]);\n};\n"],
|
|
5
|
+
"mappings": ";AAIA,SAASA,WAAmB;AAC5B,SAASC,iBAAiB;AAC1B,SAASC,gBAAgB;AAElB,IAAMC,qBAAqB,CAACC,gBAAAA;AACjC,QAAMC,UAAUD,aAAaE,KAAAA;AAC7B,SAAOD,UAAU,IAAIE,OAAOF,SAAS,GAAA,IAAOG;AAC9C;AAGA,IAAMC,UAAU,CAACC,WAAAA;AACf,MAAI,EAAEA,UAAUC,IAAIC,cAAcF,OAAOG,GAAG,IAAI;AAC9C,WAAOL;EACT;AACA,QAAMM,OAAOJ,OAAOG,IAAIE,mBAAmBC,IAAI,CAACC,MAAMA,EAAEC,IAAI;AAC5D,MAAIJ,KAAKK,QAAQ,OAAA,MAAa,IAAI;AAChC,WAAO;EACT;AACA,MAAIL,KAAKK,QAAQ,SAAA,MAAe,IAAI;AAClC,WAAO;EACT;AACA,MAAIL,KAAKK,QAAQ,MAAA,MAAY,IAAI;AAC/B,WAAO;EACT;AAEA,SAAOX;AACT;AAgBO,IAAMY,oBAAoB,CAAgCC,SAAcC,UAAAA;AAC7E,MAAI,CAACA,OAAO;AACV,WAAO,CAAA;EACT;AAEA,SAAOD,QAAQE,OAAuB,CAACC,SAASC,WAAAA;AAE9C,QAAIA,kBAAkBC,UAAU;AAC9B,aAAOF;IACT;AAEA,UAAMG,SAASC,sBAAsBH,MAAAA;AACrCI,WAAOC,QAAQH,MAAAA,EAAQI,KAAK,CAAC,CAAA,EAAGC,KAAAA,MAAM;AACpC,YAAMC,SAASD,MAAMV,MAAMA,KAAAA;AAC3B,UAAIW,QAAQ;AAEV,cAAMC,QAAQC,kBAAkBV,QAAQ;UAAC;UAAS;UAAQ;SAAQ;AAElED,gBAAQY,KAAK;UACXC,IAAIZ,OAAOY;UACXC,MAAM7B,QAAQ8B,UAAUd,MAAAA,CAAAA;UACxBS;UACAZ;;;UAGAkB,SAASR,UAAUE,QAAQF,QAAQL,OAAOc,WAAWd,OAAOe,eAAelC;UAC3EiB;QACF,CAAA;AAEA,eAAO;MACT;AAEA,aAAO;IACT,CAAA;AAEA,WAAOD;EACT,GAAG,CAAA,CAAE;AACP;AAGA,IAAMW,oBAAoB,CAACV,QAAiCX,SAAAA;AAC1D,MAAIoB;AACJpB,OAAKiB,KAAK,CAACY,QAAAA;AACT,UAAMX,QAAQP,OAAOkB,GAAAA;AACrB,QAAI,OAAOX,UAAU,UAAU;AAC7BE,cAAQF;AACR,aAAO;IACT;AAEA,WAAO;EACT,CAAA;AAEA,SAAOE;AACT;AAGA,IAAMU,UAAU,CAACnB,WAAAA;AACf,MAAI;AACF,UAAMoB,MAAMC,KAAKC,MAAMD,KAAKE,UAAUvB,MAAAA,CAAAA;AACtC,WAAOI,OAAOf,KAAK+B,GAAAA,EAAKI,OACtB,CAACN,QAAQA,QAAQ,QAAQA,QAAQ,iBAAiBA,IAAI,CAAA,MAAO,OAAOA,IAAI,CAAA,MAAO,GAAA;EAEnF,SAASO,KAAK;AAGZ,WAAO,CAAA;EACT;AACF;AAGO,IAAMtB,wBAAwB,CAAoCH,WAAAA;AACvE,SAAOmB,QAAQnB,MAAAA,EAAQF,OAAmB,CAACI,QAAQgB,QAAAA;AACjD,UAAMX,QAAQP,OAAOkB,GAAAA;AACrB,QAAI,OAAOX,UAAU,YAAYA,iBAAiBN,UAAU;AAC1D,UAAI;AACFC,eAAOgB,GAAAA,IAAOQ,OAAOnB,KAAAA;MACvB,SAASkB,KAAK;MAEd;IACF;AAEA,WAAOvB;EACT,GAAG,CAAC,CAAA;AACN;;;AC7HA,OAAOyB,SAASC,eAAuCC,YAAYC,SAASC,gBAAgB;AAE5F,SAASC,aAAa;AAStB,IAAMC,gBAAgBC,8BAAiC,CAAC,CAAA;AAEjD,IAAMC,wBAAwB,CAAC,EAAEC,SAAQ,MAAqB;AACnE,QAAM,CAACC,OAAOC,QAAAA,IAAYC,SAAAA;AAC1B,QAAMC,cAAc,CAACC,SAAkBH,SAASI,mBAAmBD,IAAAA,CAAAA;AACnE,SAAO,sBAAA,cAACR,cAAcU,UAAQ;IAACC,OAAO;MAAEP;MAAOC,UAAUE;IAAY;KAAIJ,QAAAA;AAC3E;AAEO,IAAMS,kBAAkB,MAAA;AAC7B,SAAOC,WAAWb,aAAAA,KAAkBc,MAAM,IAAIC,MAAM,wBAAA,CAAA;AACtD;AAEO,IAAMC,yBAAyB,CAAgCC,YAAAA;AACpE,QAAM,EAAEb,MAAK,IAAKQ,gBAAAA;AAClB,SAAOK,WAAWb,QAAQc,kBAAkBD,SAASb,KAAAA,IAAS,CAAA;AAChE;AAEO,IAAMe,2BAA2B,CAAgCF,YAAAA;AACtE,QAAM,EAAEb,MAAK,IAAKQ,gBAAAA;AAClB,MAAI,CAACR,SAAS,CAACa,SAAS;AACtB,WAAOA,WAAW,CAAA;EACpB;AAEA,SAAOG,QAAQ,MAAMF,kBAAkBD,SAASb,KAAAA,EAAOiB,IAAI,CAACC,WAAWA,OAAOC,MAAM,GAAG;IAACN;IAASb;GAAM;AACzG;",
|
|
6
|
+
"names": ["AST", "getSchema", "TextType", "queryStringToMatch", "queryString", "trimmed", "trim", "RegExp", "undefined", "getIcon", "schema", "AST", "isTypeLiteral", "ast", "keys", "propertySignatures", "map", "p", "name", "indexOf", "filterObjectsSync", "objects", "match", "reduce", "results", "object", "TextType", "fields", "mapObjectToTextFields", "Object", "entries", "some", "value", "result", "label", "getStringProperty", "push", "id", "type", "getSchema", "snippet", "content", "description", "key", "getKeys", "obj", "JSON", "parse", "stringify", "filter", "err", "String", "React", "createContext", "useContext", "useMemo", "useState", "raise", "SearchContext", "createContext", "SearchContextProvider", "children", "match", "setMatch", "useState", "handleMatch", "text", "queryStringToMatch", "Provider", "value", "useGlobalSearch", "useContext", "raise", "Error", "useGlobalSearchResults", "objects", "filterObjectsSync", "useGlobalFilteredObjects", "useMemo", "map", "result", "object"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import {
|
|
2
|
+
SEARCH_PLUGIN
|
|
3
|
+
} from "./chunk-B532NWHM.mjs";
|
|
4
|
+
|
|
5
|
+
// packages/plugins/experimental/plugin-search/src/types.tsx
|
|
6
|
+
import { S } from "@dxos/echo-schema";
|
|
7
|
+
var SearchAction;
|
|
8
|
+
(function(SearchAction2) {
|
|
9
|
+
const SEARCH_ACTION = `${SEARCH_PLUGIN}/action`;
|
|
10
|
+
class OpenSearch extends S.TaggedClass()(`${SEARCH_ACTION}/open-search`, {
|
|
11
|
+
input: S.Void,
|
|
12
|
+
output: S.Void
|
|
13
|
+
}) {
|
|
14
|
+
}
|
|
15
|
+
SearchAction2.OpenSearch = OpenSearch;
|
|
16
|
+
})(SearchAction || (SearchAction = {}));
|
|
17
|
+
|
|
18
|
+
export {
|
|
19
|
+
SearchAction
|
|
20
|
+
};
|
|
21
|
+
//# sourceMappingURL=chunk-Z745WIBH.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/types.tsx"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { S } from '@dxos/echo-schema';\n\nimport { SEARCH_PLUGIN } from './meta';\n\nexport namespace SearchAction {\n const SEARCH_ACTION = `${SEARCH_PLUGIN}/action`;\n\n export class OpenSearch extends S.TaggedClass<OpenSearch>()(`${SEARCH_ACTION}/open-search`, {\n input: S.Void,\n output: S.Void,\n }) {}\n}\n"],
|
|
5
|
+
"mappings": ";;;;;AAIA,SAASA,SAAS;;UAIDC,eAAAA;AACf,QAAMC,gBAAgB,GAAGC,aAAAA;EAElB,MAAMC,mBAAmBC,EAAEC,YAAW,EAAe,GAAGJ,aAAAA,gBAA6B;IAC1FK,OAAOF,EAAEG;IACTC,QAAQJ,EAAEG;EACZ,CAAA,EAAA;EAAI;gBAHSJ,aAAAA;AAIf,GAPiBH,iBAAAA,eAAAA,CAAAA,EAAAA;",
|
|
6
|
+
"names": ["S", "SearchAction", "SEARCH_ACTION", "SEARCH_PLUGIN", "OpenSearch", "S", "TaggedClass", "input", "Void", "output"]
|
|
7
|
+
}
|