@dxos/plugin-search 0.8.4-main.b97322e → 0.8.4-main.bc2380dfbc

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 (202) hide show
  1. package/LICENSE +102 -5
  2. package/README.md +0 -1
  3. package/dist/lib/neutral/SearchArticle-CQMZ46ZS.mjs +51 -0
  4. package/dist/lib/neutral/SearchArticle-CQMZ46ZS.mjs.map +7 -0
  5. package/dist/lib/neutral/SearchDialog-UM27KP5U.mjs +74 -0
  6. package/dist/lib/neutral/SearchDialog-UM27KP5U.mjs.map +7 -0
  7. package/dist/lib/neutral/SearchPlugin.mjs +10 -0
  8. package/dist/lib/neutral/SearchPlugin.mjs.map +7 -0
  9. package/dist/lib/neutral/app-graph-builder-B3W3UWHV.mjs +71 -0
  10. package/dist/lib/neutral/app-graph-builder-B3W3UWHV.mjs.map +7 -0
  11. package/dist/lib/neutral/capabilities/index.mjs +13 -0
  12. package/dist/lib/neutral/capabilities/index.mjs.map +7 -0
  13. package/dist/lib/neutral/chunk-7VNJDD75.mjs +22 -0
  14. package/dist/lib/neutral/chunk-7VNJDD75.mjs.map +7 -0
  15. package/dist/lib/neutral/chunk-EBXWOGAD.mjs +26 -0
  16. package/dist/lib/neutral/chunk-EBXWOGAD.mjs.map +7 -0
  17. package/dist/lib/neutral/chunk-IXRPYAX5.mjs +8 -0
  18. package/dist/lib/neutral/chunk-IXRPYAX5.mjs.map +7 -0
  19. package/dist/lib/neutral/chunk-J5LGTIGS.mjs +10 -0
  20. package/dist/lib/neutral/chunk-J5LGTIGS.mjs.map +7 -0
  21. package/dist/lib/neutral/chunk-LUDADYMK.mjs +277 -0
  22. package/dist/lib/neutral/chunk-LUDADYMK.mjs.map +7 -0
  23. package/dist/lib/neutral/chunk-NAKPT2JM.mjs +8 -0
  24. package/dist/lib/neutral/chunk-NAKPT2JM.mjs.map +7 -0
  25. package/dist/lib/neutral/chunk-NC3YYBHS.mjs +22 -0
  26. package/dist/lib/neutral/chunk-NC3YYBHS.mjs.map +7 -0
  27. package/dist/lib/neutral/components/index.mjs +97 -0
  28. package/dist/lib/neutral/components/index.mjs.map +7 -0
  29. package/dist/lib/neutral/containers/index.mjs +11 -0
  30. package/dist/lib/neutral/containers/index.mjs.map +7 -0
  31. package/dist/lib/neutral/hooks/index.mjs +30 -0
  32. package/dist/lib/neutral/hooks/index.mjs.map +7 -0
  33. package/dist/lib/neutral/index.mjs +40 -0
  34. package/dist/lib/neutral/index.mjs.map +7 -0
  35. package/dist/lib/neutral/meta.json +1 -0
  36. package/dist/lib/neutral/meta.mjs +10 -0
  37. package/dist/lib/neutral/meta.mjs.map +7 -0
  38. package/dist/lib/neutral/open-search-DY6ZGVKR.mjs +23 -0
  39. package/dist/lib/neutral/open-search-DY6ZGVKR.mjs.map +7 -0
  40. package/dist/lib/neutral/operation-handler-DY624P2R.mjs +13 -0
  41. package/dist/lib/neutral/operation-handler-DY624P2R.mjs.map +7 -0
  42. package/dist/lib/neutral/operations/index.mjs +8 -0
  43. package/dist/lib/neutral/operations/index.mjs.map +7 -0
  44. package/dist/lib/neutral/plugin.mjs +16 -0
  45. package/dist/lib/neutral/plugin.mjs.map +7 -0
  46. package/dist/lib/neutral/react-surface-ER7Q4W6Y.mjs +61 -0
  47. package/dist/lib/neutral/react-surface-ER7Q4W6Y.mjs.map +7 -0
  48. package/dist/lib/neutral/testing.mjs +8 -0
  49. package/dist/lib/neutral/testing.mjs.map +7 -0
  50. package/dist/lib/neutral/translations.mjs +25 -0
  51. package/dist/lib/neutral/translations.mjs.map +7 -0
  52. package/dist/lib/neutral/types/index.mjs +8 -0
  53. package/dist/lib/neutral/types/index.mjs.map +7 -0
  54. package/dist/types/src/SearchPlugin.d.ts +3 -1
  55. package/dist/types/src/SearchPlugin.d.ts.map +1 -1
  56. package/dist/types/src/capabilities/app-graph-builder.d.ts +4 -2
  57. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  58. package/dist/types/src/capabilities/index.d.ts +5 -3
  59. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  60. package/dist/types/src/capabilities/operation-handler.d.ts +6 -0
  61. package/dist/types/src/capabilities/operation-handler.d.ts.map +1 -0
  62. package/dist/types/src/capabilities/react-surface.d.ts +3 -2
  63. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  64. package/dist/types/src/components/SearchResultStack/SearchResultStack.d.ts +9 -0
  65. package/dist/types/src/components/SearchResultStack/SearchResultStack.d.ts.map +1 -0
  66. package/dist/types/src/components/SearchResultStack/index.d.ts +2 -0
  67. package/dist/types/src/components/SearchResultStack/index.d.ts.map +1 -0
  68. package/dist/types/src/components/index.d.ts +1 -3
  69. package/dist/types/src/components/index.d.ts.map +1 -1
  70. package/dist/types/src/constants.d.ts +2 -0
  71. package/dist/types/src/constants.d.ts.map +1 -0
  72. package/dist/types/src/containers/SearchArticle/SearchArticle.d.ts +4 -0
  73. package/dist/types/src/containers/SearchArticle/SearchArticle.d.ts.map +1 -0
  74. package/dist/types/src/containers/SearchArticle/SearchArticle.stories.d.ts +14 -0
  75. package/dist/types/src/containers/SearchArticle/SearchArticle.stories.d.ts.map +1 -0
  76. package/dist/types/src/containers/SearchArticle/index.d.ts +2 -0
  77. package/dist/types/src/containers/SearchArticle/index.d.ts.map +1 -0
  78. package/dist/types/src/containers/SearchDialog/SearchDialog.d.ts +7 -0
  79. package/dist/types/src/containers/SearchDialog/SearchDialog.d.ts.map +1 -0
  80. package/dist/types/src/containers/SearchDialog/SearchDialog.stories.d.ts +16 -0
  81. package/dist/types/src/containers/SearchDialog/SearchDialog.stories.d.ts.map +1 -0
  82. package/dist/types/src/containers/SearchDialog/index.d.ts +2 -0
  83. package/dist/types/src/containers/SearchDialog/index.d.ts.map +1 -0
  84. package/dist/types/src/containers/index.d.ts +4 -0
  85. package/dist/types/src/containers/index.d.ts.map +1 -0
  86. package/dist/types/src/hooks/index.d.ts +1 -0
  87. package/dist/types/src/hooks/index.d.ts.map +1 -1
  88. package/dist/types/src/hooks/sync.d.ts +4 -3
  89. package/dist/types/src/hooks/sync.d.ts.map +1 -1
  90. package/dist/types/src/hooks/useGlobalSearch.d.ts +8 -4
  91. package/dist/types/src/hooks/useGlobalSearch.d.ts.map +1 -1
  92. package/dist/types/src/hooks/useSearchResults.d.ts +3 -2
  93. package/dist/types/src/hooks/useSearchResults.d.ts.map +1 -1
  94. package/dist/types/src/hooks/useWebSearch.d.ts +7 -4
  95. package/dist/types/src/hooks/useWebSearch.d.ts.map +1 -1
  96. package/dist/types/src/index.d.ts +0 -1
  97. package/dist/types/src/index.d.ts.map +1 -1
  98. package/dist/types/src/meta.d.ts +3 -4
  99. package/dist/types/src/meta.d.ts.map +1 -1
  100. package/dist/types/src/operations/index.d.ts +3 -0
  101. package/dist/types/src/operations/index.d.ts.map +1 -0
  102. package/dist/types/src/operations/open-search.d.ts +5 -0
  103. package/dist/types/src/operations/open-search.d.ts.map +1 -0
  104. package/dist/types/src/plugin.d.ts +4 -0
  105. package/dist/types/src/plugin.d.ts.map +1 -0
  106. package/dist/types/src/search/exa.d.ts +4 -4
  107. package/dist/types/src/search/exa.d.ts.map +1 -1
  108. package/dist/types/src/testing.d.ts +2 -0
  109. package/dist/types/src/testing.d.ts.map +1 -0
  110. package/dist/types/src/translations.d.ts +15 -10
  111. package/dist/types/src/translations.d.ts.map +1 -1
  112. package/dist/types/src/types/SearchOperation.d.ts +3 -0
  113. package/dist/types/src/types/SearchOperation.d.ts.map +1 -0
  114. package/dist/types/src/types/index.d.ts +1 -1
  115. package/dist/types/src/types/index.d.ts.map +1 -1
  116. package/dist/types/src/types/search.d.ts +1 -20
  117. package/dist/types/src/types/search.d.ts.map +1 -1
  118. package/dist/types/tsconfig.tsbuildinfo +1 -1
  119. package/package.json +120 -48
  120. package/src/SearchPlugin.tsx +14 -48
  121. package/src/capabilities/app-graph-builder.ts +55 -68
  122. package/src/capabilities/index.ts +8 -4
  123. package/src/capabilities/operation-handler.ts +16 -0
  124. package/src/capabilities/react-surface.tsx +68 -55
  125. package/src/components/SearchResultStack/SearchResultStack.tsx +118 -0
  126. package/src/components/SearchResultStack/index.ts +5 -0
  127. package/src/components/index.ts +1 -3
  128. package/src/constants.ts +7 -0
  129. package/src/containers/SearchArticle/SearchArticle.stories.tsx +79 -0
  130. package/src/containers/SearchArticle/SearchArticle.tsx +60 -0
  131. package/src/containers/SearchArticle/index.ts +5 -0
  132. package/src/containers/SearchDialog/SearchDialog.stories.tsx +108 -0
  133. package/src/containers/SearchDialog/SearchDialog.tsx +93 -0
  134. package/src/containers/SearchDialog/index.ts +5 -0
  135. package/src/containers/index.ts +8 -0
  136. package/src/hooks/index.ts +2 -0
  137. package/src/hooks/sync.test.ts +9 -7
  138. package/src/hooks/sync.ts +28 -32
  139. package/src/hooks/useGlobalSearch.tsx +33 -13
  140. package/src/hooks/useSearchResults.ts +9 -6
  141. package/src/hooks/useWebSearch.ts +25 -19
  142. package/src/index.ts +2 -2
  143. package/src/meta.ts +10 -7
  144. package/src/operations/index.ts +7 -0
  145. package/src/operations/open-search.ts +24 -0
  146. package/src/plugin.ts +11 -0
  147. package/src/search/exa.test.ts +8 -19
  148. package/src/search/exa.ts +135 -154
  149. package/src/testing.ts +7 -0
  150. package/src/translations.ts +10 -9
  151. package/src/types/SearchOperation.ts +19 -0
  152. package/src/types/command-score.d.ts +16 -0
  153. package/src/types/index.ts +2 -1
  154. package/src/types/search.ts +1 -25
  155. package/dist/lib/browser/app-graph-builder-FLW7KDC5.mjs +0 -77
  156. package/dist/lib/browser/app-graph-builder-FLW7KDC5.mjs.map +0 -7
  157. package/dist/lib/browser/chunk-BXSF7IAU.mjs +0 -190
  158. package/dist/lib/browser/chunk-BXSF7IAU.mjs.map +0 -7
  159. package/dist/lib/browser/chunk-JVMYGOKS.mjs +0 -21
  160. package/dist/lib/browser/chunk-JVMYGOKS.mjs.map +0 -7
  161. package/dist/lib/browser/chunk-KNS62YL2.mjs +0 -20
  162. package/dist/lib/browser/chunk-KNS62YL2.mjs.map +0 -7
  163. package/dist/lib/browser/index.mjs +0 -112
  164. package/dist/lib/browser/index.mjs.map +0 -7
  165. package/dist/lib/browser/intent-resolver-JPBGEKFT.mjs +0 -22
  166. package/dist/lib/browser/intent-resolver-JPBGEKFT.mjs.map +0 -7
  167. package/dist/lib/browser/meta.json +0 -1
  168. package/dist/lib/browser/react-surface-MPPIWDBF.mjs +0 -651
  169. package/dist/lib/browser/react-surface-MPPIWDBF.mjs.map +0 -7
  170. package/dist/types/src/capabilities/intent-resolver.d.ts +0 -4
  171. package/dist/types/src/capabilities/intent-resolver.d.ts.map +0 -1
  172. package/dist/types/src/components/Search.stories.d.ts +0 -15
  173. package/dist/types/src/components/Search.stories.d.ts.map +0 -1
  174. package/dist/types/src/components/SearchDialog.d.ts +0 -7
  175. package/dist/types/src/components/SearchDialog.d.ts.map +0 -1
  176. package/dist/types/src/components/SearchMain.d.ts +0 -7
  177. package/dist/types/src/components/SearchMain.d.ts.map +0 -1
  178. package/dist/types/src/components/SearchResults/SearchResults.d.ts +0 -20
  179. package/dist/types/src/components/SearchResults/SearchResults.d.ts.map +0 -1
  180. package/dist/types/src/components/SearchResults/SearchResults.stories.d.ts +0 -12
  181. package/dist/types/src/components/SearchResults/SearchResults.stories.d.ts.map +0 -1
  182. package/dist/types/src/components/SearchResults/index.d.ts +0 -2
  183. package/dist/types/src/components/SearchResults/index.d.ts.map +0 -1
  184. package/dist/types/src/components/Searchbar/Searchbar.d.ts +0 -14
  185. package/dist/types/src/components/Searchbar/Searchbar.d.ts.map +0 -1
  186. package/dist/types/src/components/Searchbar/Searchbar.stories.d.ts +0 -11
  187. package/dist/types/src/components/Searchbar/Searchbar.stories.d.ts.map +0 -1
  188. package/dist/types/src/components/Searchbar/index.d.ts +0 -2
  189. package/dist/types/src/components/Searchbar/index.d.ts.map +0 -1
  190. package/dist/types/src/types/action.d.ts +0 -13
  191. package/dist/types/src/types/action.d.ts.map +0 -1
  192. package/src/capabilities/intent-resolver.ts +0 -18
  193. package/src/components/Search.stories.tsx +0 -66
  194. package/src/components/SearchDialog.tsx +0 -124
  195. package/src/components/SearchMain.tsx +0 -67
  196. package/src/components/SearchResults/SearchResults.stories.tsx +0 -57
  197. package/src/components/SearchResults/SearchResults.tsx +0 -86
  198. package/src/components/SearchResults/index.ts +0 -5
  199. package/src/components/Searchbar/Searchbar.stories.tsx +0 -28
  200. package/src/components/Searchbar/Searchbar.tsx +0 -67
  201. package/src/components/Searchbar/index.ts +0 -5
  202. package/src/types/action.tsx +0 -16
@@ -1,86 +0,0 @@
1
- //
2
- // Copyright 2023 DXOS.org
3
- //
4
-
5
- import React, { type FC, forwardRef } from 'react';
6
-
7
- import { Card } from '@dxos/react-ui-stack';
8
- import { ghostHover } from '@dxos/react-ui-theme';
9
-
10
- import { SEARCH_RESULT } from '../../meta';
11
- import { type SearchResult } from '../../types';
12
-
13
- export const Snippet: FC<{ text: string; match?: RegExp }> = ({ text, match }) => {
14
- let content = <>{text}</>;
15
- if (match) {
16
- const result = text.match(match);
17
- if (result?.index !== undefined) {
18
- // Break near to match.
19
- const maxOffset = 16;
20
- let before = text.slice(0, result.index);
21
- if (before.length > maxOffset) {
22
- const idx = before.indexOf(' ', result.index - maxOffset);
23
- before = '… ' + before.slice(idx);
24
- }
25
-
26
- const after = text.slice(result.index + result[0].length);
27
- content = (
28
- <>
29
- {before}
30
- <span className='text-blue-500'>{result[0]}</span>
31
- {after}
32
- </>
33
- );
34
- }
35
- }
36
-
37
- return <span className='text-xs mb-1 line-clamp-3 text-neutral-300'>{content}</span>;
38
- };
39
-
40
- export type SearchItemProps = SearchResult & { selected: boolean } & Pick<SearchResultsProps, 'onSelect'>;
41
-
42
- export const SearchItem = forwardRef<HTMLDivElement, SearchItemProps>((item, forwardRef) => {
43
- const { id, objectType, label, snippet, match, selected, onSelect } = item;
44
-
45
- return (
46
- <Card.StaticRoot
47
- ref={forwardRef}
48
- classNames={['mx-2 mt-2 cursor-pointer', selected && '!bg-activeSurface', ghostHover]}
49
- onClick={() => onSelect?.(id)}
50
- >
51
- {objectType && (
52
- <>
53
- <div className='text-xs text-neutral-400 ml-4'>{objectType}</div>
54
- </>
55
- )}
56
- <Card.Heading>{label ?? 'Untitled'}</Card.Heading>
57
- {snippet && <Snippet text={snippet} match={match} />}
58
- </Card.StaticRoot>
59
- );
60
- });
61
-
62
- export type SearchResultsProps = {
63
- match?: RegExp;
64
- items: SearchResult[];
65
- selected?: string;
66
- onSelect?: (id: string) => void;
67
- };
68
-
69
- // TODO(burdon): Key cursor up/down.
70
- export const SearchResults = ({ items, selected, onSelect }: SearchResultsProps) => {
71
- return (
72
- <div className='flex flex-col grow overflow-y-auto'>
73
- <div className='flex flex-col'>
74
- {items.map((item) => (
75
- <SearchItem
76
- key={item.id}
77
- type={SEARCH_RESULT}
78
- {...item}
79
- onSelect={onSelect}
80
- selected={selected === item.id}
81
- />
82
- ))}
83
- </div>
84
- </div>
85
- );
86
- };
@@ -1,5 +0,0 @@
1
- //
2
- // Copyright 2023 DXOS.org
3
- //
4
-
5
- export * from './SearchResults';
@@ -1,28 +0,0 @@
1
- //
2
- // Copyright 2023 DXOS.org
3
- //
4
-
5
- import '@dxos-theme';
6
-
7
- import { type Meta } from '@storybook/react-vite';
8
-
9
- import { withTheme } from '@dxos/storybook-utils';
10
-
11
- import { Searchbar, type SearchbarProps } from './Searchbar';
12
-
13
- const meta: Meta<SearchbarProps> = {
14
- title: 'plugins/plugin-search/Searchbar',
15
- component: Searchbar,
16
- decorators: [withTheme],
17
- parameters: {
18
- layout: 'centered',
19
- },
20
- };
21
-
22
- export default meta;
23
-
24
- export const Default = {
25
- args: {
26
- placeholder: 'Search...',
27
- },
28
- };
@@ -1,67 +0,0 @@
1
- //
2
- // Copyright 2023 DXOS.org
3
- //
4
-
5
- import React, { type KeyboardEvent, useEffect, useRef, useState } from 'react';
6
-
7
- import { Input, type TextInputProps, Icon } from '@dxos/react-ui';
8
-
9
- export type SearchbarProps = Pick<TextInputProps, 'variant' | 'placeholder'> & {
10
- classes?: {
11
- root?: string;
12
- input?: string;
13
- };
14
- value?: string;
15
- onChange?: (text?: string) => void;
16
- onSubmit?: (text?: string) => void;
17
- delay?: number;
18
- };
19
-
20
- export const Searchbar = ({ classes, variant, placeholder, value, onChange, onSubmit }: SearchbarProps) => {
21
- const inputRef = useRef<HTMLInputElement>(null);
22
- const [text, setText] = useState(value);
23
- useEffect(() => {
24
- setText(value);
25
- }, [value]);
26
- const handleChange = (text?: string) => {
27
- setText(text);
28
- onChange?.(text);
29
- };
30
-
31
- const handleReset = () => {
32
- handleChange(undefined);
33
- inputRef.current?.focus();
34
- };
35
-
36
- const handleKeyDown = (event: KeyboardEvent<HTMLInputElement>) => {
37
- switch (event.key) {
38
- case 'Enter':
39
- onSubmit?.(text);
40
- break;
41
- case 'Escape':
42
- handleReset();
43
- break;
44
- }
45
- };
46
-
47
- return (
48
- <div className='flex shrink-0w-full items-center pli-1 pbs-1'>
49
- <Input.Root>
50
- <Input.TextInput
51
- ref={inputRef}
52
- placeholder={placeholder}
53
- variant={variant}
54
- value={text ?? ''}
55
- classNames={['pl-3 pr-10', classes?.input]}
56
- onChange={({ target }) => handleChange(target.value)}
57
- onKeyDown={handleKeyDown}
58
- />
59
-
60
- {/* TODO(burdon): Margin should be density specific. */}
61
- <div role='button' className='-ml-7 p-0 cursor-pointer' onClick={handleReset}>
62
- <Icon icon='ph--magnifying-glass--regular' size={5} />
63
- </div>
64
- </Input.Root>
65
- </div>
66
- );
67
- };
@@ -1,5 +0,0 @@
1
- //
2
- // Copyright 2023 DXOS.org
3
- //
4
-
5
- export * from './Searchbar';
@@ -1,16 +0,0 @@
1
- //
2
- // Copyright 2023 DXOS.org
3
- //
4
-
5
- import { Schema } from 'effect';
6
-
7
- import { SEARCH_PLUGIN } from '../meta';
8
-
9
- export namespace SearchAction {
10
- const SEARCH_ACTION = `${SEARCH_PLUGIN}/action`;
11
-
12
- export class OpenSearch extends Schema.TaggedClass<OpenSearch>()(`${SEARCH_ACTION}/open-search`, {
13
- input: Schema.Void,
14
- output: Schema.Void,
15
- }) {}
16
- }