@dxos/plugin-search 0.10.0 → 0.11.1

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 (152) hide show
  1. package/PLUGIN.mdl +8 -16
  2. package/dist/lib/SearchPlugin.mjs +2 -0
  3. package/dist/lib/capabilities.mjs +9 -0
  4. package/dist/lib/capabilities.mjs.map +1 -0
  5. package/dist/lib/chunk-SearchArticle.mjs +43 -0
  6. package/dist/lib/chunk-SearchArticle.mjs.map +1 -0
  7. package/dist/lib/chunk-SearchDialog.mjs +62 -0
  8. package/dist/lib/chunk-SearchDialog.mjs.map +1 -0
  9. package/dist/lib/chunk-SearchPlugin.mjs +17 -0
  10. package/dist/lib/chunk-SearchPlugin.mjs.map +1 -0
  11. package/dist/lib/chunk-app-graph-builder.mjs +52 -0
  12. package/dist/lib/chunk-app-graph-builder.mjs.map +1 -0
  13. package/dist/lib/{neutral/chunk-H4PKSTAJ.mjs → chunk-constants.mjs} +4 -5
  14. package/dist/lib/chunk-constants.mjs.map +1 -0
  15. package/dist/lib/chunk-hooks.mjs +281 -0
  16. package/dist/lib/chunk-hooks.mjs.map +1 -0
  17. package/dist/lib/chunk-meta.mjs +40 -0
  18. package/dist/lib/chunk-meta.mjs.map +1 -0
  19. package/dist/lib/chunk-open-search.mjs +16 -0
  20. package/dist/lib/chunk-open-search.mjs.map +1 -0
  21. package/dist/lib/chunk-operation-handler.mjs +11 -0
  22. package/dist/lib/chunk-operation-handler.mjs.map +1 -0
  23. package/dist/lib/chunk-react-surface.mjs +54 -0
  24. package/dist/lib/chunk-react-surface.mjs.map +1 -0
  25. package/dist/lib/chunk-types.mjs +32 -0
  26. package/dist/lib/chunk-types.mjs.map +1 -0
  27. package/dist/lib/components.mjs +148 -0
  28. package/dist/lib/components.mjs.map +1 -0
  29. package/dist/lib/containers.mjs +8 -0
  30. package/dist/lib/containers.mjs.map +1 -0
  31. package/dist/lib/hooks.mjs +2 -0
  32. package/dist/lib/index.mjs +4 -0
  33. package/dist/lib/meta.mjs +2 -0
  34. package/dist/lib/operations.mjs +7 -0
  35. package/dist/lib/operations.mjs.map +1 -0
  36. package/dist/lib/plugin.mjs +9 -0
  37. package/dist/lib/plugin.mjs.map +1 -0
  38. package/dist/lib/testing.mjs +2 -0
  39. package/dist/lib/translations.mjs +18 -0
  40. package/dist/lib/translations.mjs.map +1 -0
  41. package/dist/lib/types.mjs +2 -0
  42. package/dist/types/src/capabilities/SearchSurfaces.d.ts +14 -0
  43. package/dist/types/src/capabilities/SearchSurfaces.d.ts.map +1 -0
  44. package/dist/types/src/capabilities/app-graph-builder.d.ts +1 -1
  45. package/dist/types/src/capabilities/operation-handler.d.ts +1 -1
  46. package/dist/types/src/capabilities/react-surface.d.ts +1 -1
  47. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  48. package/dist/types/src/components/SearchResultList/SearchResultList.d.ts +15 -0
  49. package/dist/types/src/components/SearchResultList/SearchResultList.d.ts.map +1 -0
  50. package/dist/types/src/components/SearchResultList/SearchResultList.stories.d.ts +16 -0
  51. package/dist/types/src/components/SearchResultList/SearchResultList.stories.d.ts.map +1 -0
  52. package/dist/types/src/components/SearchResultList/SearchResultList.test.d.ts +2 -0
  53. package/dist/types/src/components/SearchResultList/SearchResultList.test.d.ts.map +1 -0
  54. package/dist/types/src/components/SearchResultList/index.d.ts +2 -0
  55. package/dist/types/src/components/SearchResultList/index.d.ts.map +1 -0
  56. package/dist/types/src/components/SearchResultStack/SearchResultStack.d.ts +2 -1
  57. package/dist/types/src/components/SearchResultStack/SearchResultStack.d.ts.map +1 -1
  58. package/dist/types/src/components/index.d.ts +1 -0
  59. package/dist/types/src/components/index.d.ts.map +1 -1
  60. package/dist/types/src/containers/SearchArticle/SearchArticle.d.ts +4 -1
  61. package/dist/types/src/containers/SearchArticle/SearchArticle.d.ts.map +1 -1
  62. package/dist/types/src/containers/SearchDialog/SearchDialog.d.ts +4 -1
  63. package/dist/types/src/containers/SearchDialog/SearchDialog.d.ts.map +1 -1
  64. package/dist/types/src/containers/SearchDialog/SearchDialog.stories.d.ts.map +1 -1
  65. package/dist/types/src/hooks/SearchContext.d.ts +10 -0
  66. package/dist/types/src/hooks/SearchContext.d.ts.map +1 -0
  67. package/dist/types/src/hooks/index.d.ts +3 -0
  68. package/dist/types/src/hooks/index.d.ts.map +1 -1
  69. package/dist/types/src/hooks/search-query.d.ts +26 -0
  70. package/dist/types/src/hooks/search-query.d.ts.map +1 -0
  71. package/dist/types/src/hooks/search-query.test.d.ts +2 -0
  72. package/dist/types/src/hooks/search-query.test.d.ts.map +1 -0
  73. package/dist/types/src/hooks/sync.d.ts +2 -1
  74. package/dist/types/src/hooks/sync.d.ts.map +1 -1
  75. package/dist/types/src/hooks/useGlobalSearch.d.ts +0 -9
  76. package/dist/types/src/hooks/useGlobalSearch.d.ts.map +1 -1
  77. package/dist/types/src/translations.d.ts +2 -0
  78. package/dist/types/src/translations.d.ts.map +1 -1
  79. package/dist/types/tsconfig.tsbuildinfo +1 -1
  80. package/dx.config.ts +5 -7
  81. package/package.json +47 -44
  82. package/src/capabilities/SearchSurfaces.tsx +58 -0
  83. package/src/capabilities/app-graph-builder.ts +4 -4
  84. package/src/capabilities/react-surface.ts +40 -0
  85. package/src/components/SearchResultList/SearchResultList.stories.tsx +152 -0
  86. package/src/components/SearchResultList/SearchResultList.test.tsx +64 -0
  87. package/src/components/SearchResultList/SearchResultList.tsx +60 -0
  88. package/src/components/SearchResultList/index.ts +5 -0
  89. package/src/components/SearchResultStack/SearchResultStack.tsx +15 -8
  90. package/src/components/index.ts +1 -0
  91. package/src/containers/SearchArticle/SearchArticle.tsx +10 -18
  92. package/src/containers/SearchDialog/SearchDialog.stories.tsx +5 -4
  93. package/src/containers/SearchDialog/SearchDialog.tsx +10 -16
  94. package/src/hooks/SearchContext.ts +31 -0
  95. package/src/hooks/index.ts +3 -0
  96. package/src/hooks/search-query.test.ts +27 -0
  97. package/src/hooks/search-query.ts +85 -0
  98. package/src/hooks/sync.ts +1 -1
  99. package/src/hooks/useGlobalSearch.tsx +2 -23
  100. package/src/search/exa.ts +1 -1
  101. package/src/translations.ts +2 -0
  102. package/dist/lib/neutral/SearchArticle-XEP4DYSI.mjs +0 -51
  103. package/dist/lib/neutral/SearchArticle-XEP4DYSI.mjs.map +0 -7
  104. package/dist/lib/neutral/SearchDialog-37ZDKFPS.mjs +0 -76
  105. package/dist/lib/neutral/SearchDialog-37ZDKFPS.mjs.map +0 -7
  106. package/dist/lib/neutral/SearchPlugin.mjs +0 -10
  107. package/dist/lib/neutral/SearchPlugin.mjs.map +0 -7
  108. package/dist/lib/neutral/app-graph-builder-43LAJI5B.mjs +0 -71
  109. package/dist/lib/neutral/app-graph-builder-43LAJI5B.mjs.map +0 -7
  110. package/dist/lib/neutral/capabilities/index.mjs +0 -13
  111. package/dist/lib/neutral/capabilities/index.mjs.map +0 -7
  112. package/dist/lib/neutral/chunk-2JPRW3GN.mjs +0 -50
  113. package/dist/lib/neutral/chunk-2JPRW3GN.mjs.map +0 -7
  114. package/dist/lib/neutral/chunk-BODTE4FK.mjs +0 -28
  115. package/dist/lib/neutral/chunk-BODTE4FK.mjs.map +0 -7
  116. package/dist/lib/neutral/chunk-E2F6MF44.mjs +0 -8
  117. package/dist/lib/neutral/chunk-E2F6MF44.mjs.map +0 -7
  118. package/dist/lib/neutral/chunk-H4PKSTAJ.mjs.map +0 -7
  119. package/dist/lib/neutral/chunk-J5LGTIGS.mjs +0 -10
  120. package/dist/lib/neutral/chunk-J5LGTIGS.mjs.map +0 -7
  121. package/dist/lib/neutral/chunk-KY3X3WAN.mjs +0 -282
  122. package/dist/lib/neutral/chunk-KY3X3WAN.mjs.map +0 -7
  123. package/dist/lib/neutral/chunk-P6LRQZVR.mjs +0 -34
  124. package/dist/lib/neutral/chunk-P6LRQZVR.mjs.map +0 -7
  125. package/dist/lib/neutral/components/index.mjs +0 -99
  126. package/dist/lib/neutral/components/index.mjs.map +0 -7
  127. package/dist/lib/neutral/containers/index.mjs +0 -11
  128. package/dist/lib/neutral/containers/index.mjs.map +0 -7
  129. package/dist/lib/neutral/hooks/index.mjs +0 -30
  130. package/dist/lib/neutral/hooks/index.mjs.map +0 -7
  131. package/dist/lib/neutral/index.mjs +0 -40
  132. package/dist/lib/neutral/index.mjs.map +0 -7
  133. package/dist/lib/neutral/meta.json +0 -1
  134. package/dist/lib/neutral/meta.mjs +0 -10
  135. package/dist/lib/neutral/meta.mjs.map +0 -7
  136. package/dist/lib/neutral/open-search-STQH3TXW.mjs +0 -23
  137. package/dist/lib/neutral/open-search-STQH3TXW.mjs.map +0 -7
  138. package/dist/lib/neutral/operation-handler-DY624P2R.mjs +0 -13
  139. package/dist/lib/neutral/operation-handler-DY624P2R.mjs.map +0 -7
  140. package/dist/lib/neutral/operations/index.mjs +0 -8
  141. package/dist/lib/neutral/operations/index.mjs.map +0 -7
  142. package/dist/lib/neutral/plugin.mjs +0 -16
  143. package/dist/lib/neutral/plugin.mjs.map +0 -7
  144. package/dist/lib/neutral/react-surface-VQXLVMC2.mjs +0 -60
  145. package/dist/lib/neutral/react-surface-VQXLVMC2.mjs.map +0 -7
  146. package/dist/lib/neutral/testing.mjs +0 -8
  147. package/dist/lib/neutral/testing.mjs.map +0 -7
  148. package/dist/lib/neutral/translations.mjs +0 -25
  149. package/dist/lib/neutral/translations.mjs.map +0 -7
  150. package/dist/lib/neutral/types/index.mjs +0 -8
  151. package/dist/lib/neutral/types/index.mjs.map +0 -7
  152. package/src/capabilities/react-surface.tsx +0 -71
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=SearchResultList.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SearchResultList.test.d.ts","sourceRoot":"","sources":["../../../../../src/components/SearchResultList/SearchResultList.test.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export * from './SearchResultList';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/SearchResultList/index.ts"],"names":[],"mappings":"AAIA,cAAc,oBAAoB,CAAC"}
@@ -2,8 +2,9 @@ import React from 'react';
2
2
  import { type SearchResult } from '@dxos/react-ui-search';
3
3
  export type SearchResultStackProps = {
4
4
  results: SearchResult[];
5
+ query: string;
5
6
  };
6
7
  export declare const SearchResultStack: React.ForwardRefExoticComponent<Omit<SearchResultStackProps, "className"> & {
7
8
  classNames?: import("@dxos/ui-types").ClassNameValue;
8
- } & Pick<React.HTMLAttributes<Element>, "children" | "className" | "role" | "style"> & React.RefAttributes<HTMLDivElement>>;
9
+ } & Pick<React.HTMLAttributes<Element>, "children" | "role" | "style"> & React.RefAttributes<HTMLDivElement>>;
9
10
  //# sourceMappingURL=SearchResultStack.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SearchResultStack.d.ts","sourceRoot":"","sources":["../../../../../src/components/SearchResultStack/SearchResultStack.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAyE,MAAM,OAAO,CAAC;AAU9F,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAM1D,MAAM,MAAM,sBAAsB,GAAG;IACnC,OAAO,EAAE,YAAY,EAAE,CAAC;CACzB,CAAC;AAEF,eAAO,MAAM,iBAAiB;;2HAiC7B,CAAC"}
1
+ {"version":3,"file":"SearchResultStack.d.ts","sourceRoot":"","sources":["../../../../../src/components/SearchResultStack/SearchResultStack.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAyE,MAAM,OAAO,CAAC;AAU9F,OAAO,EAAe,KAAK,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAMvE,MAAM,MAAM,sBAAsB,GAAG;IACnC,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,eAAO,MAAM,iBAAiB;;6GAiC7B,CAAC"}
@@ -1,2 +1,3 @@
1
+ export * from './SearchResultList';
1
2
  export * from './SearchResultStack';
2
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/index.ts"],"names":[],"mappings":"AAIA,cAAc,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/index.ts"],"names":[],"mappings":"AAIA,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC"}
@@ -1,4 +1,7 @@
1
1
  import React from 'react';
2
2
  import { AppSurface } from '@dxos/app-toolkit/ui';
3
- export declare const SearchArticle: ({ space }: AppSurface.SpaceArticleProps) => React.JSX.Element;
3
+ export declare function SearchArticle({ space }: AppSurface.SpaceArticleProps): React.JSX.Element;
4
+ export declare namespace SearchArticle {
5
+ var displayName: string;
6
+ }
4
7
  //# sourceMappingURL=SearchArticle.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SearchArticle.d.ts","sourceRoot":"","sources":["../../../../../src/containers/SearchArticle/SearchArticle.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAyC,MAAM,OAAO,CAAC;AAE9D,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAWlD,eAAO,MAAM,aAAa,cAAe,UAAU,CAAC,iBAAiB,sBA0CpE,CAAC"}
1
+ {"version":3,"file":"SearchArticle.d.ts","sourceRoot":"","sources":["../../../../../src/containers/SearchArticle/SearchArticle.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAyC,MAAM,OAAO,CAAC;AAE9D,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;sCAUpB,EAAE,KAAK,EAAE,EAAE,UAAU,CAAC,iBAAiB"}
@@ -3,5 +3,8 @@ import { type AppSurface } from '@dxos/app-toolkit/ui';
3
3
  export type SearchDialogProps = AppSurface.SpaceArticleProps<{
4
4
  pivotId?: string;
5
5
  }>;
6
- export declare const SearchDialog: ({ space, pivotId: pivotIdProp }: SearchDialogProps) => React.JSX.Element;
6
+ export declare function SearchDialog({ space, pivotId: pivotIdProp }: SearchDialogProps): React.JSX.Element;
7
+ export declare namespace SearchDialog {
8
+ var displayName: string;
9
+ }
7
10
  //# sourceMappingURL=SearchDialog.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SearchDialog.d.ts","sourceRoot":"","sources":["../../../../../src/containers/SearchDialog/SearchDialog.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAyC,MAAM,OAAO,CAAC;AAI9D,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAYvD,MAAM,MAAM,iBAAiB,GAAG,UAAU,CAAC,iBAAiB,CAAC;IAC3D,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC,CAAC;AAEH,eAAO,MAAM,YAAY,oCAAqC,iBAAiB,sBAwE9E,CAAC"}
1
+ {"version":3,"file":"SearchDialog.d.ts","sourceRoot":"","sources":["../../../../../src/containers/SearchDialog/SearchDialog.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAyC,MAAM,OAAO,CAAC;AAI9D,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAWvD,MAAM,MAAM,iBAAiB,GAAG,UAAU,CAAC,iBAAiB,CAAC;IAC3D,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC,CAAC;qCAE0B,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,iBAAiB"}
@@ -1 +1 @@
1
- {"version":3,"file":"SearchDialog.stories.d.ts","sourceRoot":"","sources":["../../../../../src/containers/SearchDialog/SearchDialog.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAa,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEjE,OAAO,KAAK,MAAM,OAAO,CAAC;AAyC1B,QAAA,MAAM,IAAI;;;;;;QA8BN,MAAM;;CAE2B,CAAC;eAEvB,IAAI;AAEnB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAAU,CAAC;AAEjC,eAAO,MAAM,IAAI,EAAE,KAoBlB,CAAC"}
1
+ {"version":3,"file":"SearchDialog.stories.d.ts","sourceRoot":"","sources":["../../../../../src/containers/SearchDialog/SearchDialog.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAa,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEjE,OAAO,KAAK,MAAM,OAAO,CAAC;AAyC1B,QAAA,MAAM,IAAI;;;;;;QA8BN,MAAM;;CAE2B,CAAC;eAEvB,IAAI;AAEnB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAAU,CAAC;AAEjC,eAAO,MAAM,IAAI,EAAE,KAqBlB,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { type Entity } from '@dxos/echo';
2
+ import { type SearchResult } from '#types';
3
+ export type SearchContextType = {
4
+ match?: RegExp;
5
+ setMatch?: (text?: string) => void;
6
+ };
7
+ export declare const SearchContext: import("react").Context<SearchContextType>;
8
+ export declare const useGlobalSearch: () => SearchContextType;
9
+ export declare const useGlobalSearchResults: <T extends Entity.Unknown>(objects?: T[]) => SearchResult<T>[];
10
+ //# sourceMappingURL=SearchContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SearchContext.d.ts","sourceRoot":"","sources":["../../../../src/hooks/SearchContext.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,YAAY,CAAC;AAEzC,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,QAAQ,CAAC;AAO3C,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;CACpC,CAAC;AAEF,eAAO,MAAM,aAAa,4CAAuC,CAAC;AAElE,eAAO,MAAM,eAAe,yBAE3B,CAAC;AAEF,eAAO,MAAM,sBAAsB,GAAI,CAAC,SAAS,MAAM,CAAC,OAAO,YAAY,CAAC,EAAE,KAAG,YAAY,CAAC,CAAC,CAAC,EAG/F,CAAC"}
@@ -1,4 +1,7 @@
1
+ export * from './search-query';
1
2
  export * from './sync';
3
+ export { GlobalFilterProvider, useGlobalFilteredObjects } from '@dxos/react-ui-search';
4
+ export { useGlobalSearch, useGlobalSearchResults } from './SearchContext';
2
5
  export * from './useGlobalSearch';
3
6
  export * from './useSearchResults';
4
7
  export * from './useWebSearch';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/hooks/index.ts"],"names":[],"mappings":"AAIA,cAAc,QAAQ,CAAC;AAEvB,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/hooks/index.ts"],"names":[],"mappings":"AAIA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,QAAQ,CAAC;AAEvB,OAAO,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AACvF,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAC1E,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC"}
@@ -0,0 +1,26 @@
1
+ import { Entity, Filter, Query } from '@dxos/echo';
2
+ import { type SearchResult } from '#types';
3
+ /** Full-text search filter over the FTS5 index. */
4
+ export declare const buildSearchFilter: (text: string) => Filter.Any;
5
+ /**
6
+ * Build the ECHO query for a search box value. Empty input matches nothing; a term
7
+ * routes to the FTS index via a single text-search select (never combined with a
8
+ * type filter — that composition is unsupported by the executor).
9
+ */
10
+ export declare const buildSearchQuery: (text: string | undefined) => Query.Any;
11
+ /**
12
+ * Presentation ordering for already-matched results: exact label, then prefix, then
13
+ * substring, then shorter labels first. The FTS index does the semantic matching;
14
+ * this only orders what it returned. (Exposing the engine's BM25 rank is a follow-up.)
15
+ */
16
+ export declare const byRelevance: (query: string) => (a: {
17
+ label?: string;
18
+ }, b: {
19
+ label?: string;
20
+ }) => number;
21
+ /**
22
+ * Map FTS-matched ECHO objects to ranked search results. Text objects are dropped
23
+ * (they carry no independent label and are indexed via their host object).
24
+ */
25
+ export declare const toSearchResults: <T extends Entity.Unknown>(objects: T[], text: string) => SearchResult<T>[];
26
+ //# sourceMappingURL=search-query.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-query.d.ts","sourceRoot":"","sources":["../../../../src/hooks/search-query.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAGxD,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,QAAQ,CAAC;AAI3C,mDAAmD;AACnD,eAAO,MAAM,iBAAiB,SAAU,MAAM,KAAG,MAAM,CAAC,GAA+C,CAAC;AAExG;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,SAAU,MAAM,GAAG,SAAS,KAAG,KAAK,CAAC,GAGjE,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,WAAW,UACd,MAAM,SACV;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,KAAK;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,KAAG,MA4B/C,CAAC;AAEJ;;;GAGG;AACH,eAAO,MAAM,eAAe,GAAI,CAAC,SAAS,MAAM,CAAC,OAAO,WAAW,CAAC,EAAE,QAAQ,MAAM,KAAG,YAAY,CAAC,CAAC,CAAC,EAmBrG,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=search-query.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-query.test.d.ts","sourceRoot":"","sources":["../../../../src/hooks/search-query.test.ts"],"names":[],"mappings":""}
@@ -1,6 +1,7 @@
1
- import { Entity } from '@dxos/echo';
1
+ import { Entity, Type } from '@dxos/echo';
2
2
  import { type SearchResult } from '#types';
3
3
  export declare const queryStringToMatch: (queryString?: string) => RegExp | undefined;
4
+ export declare const getIcon: (type: Type.AnyEntity | undefined) => string | undefined;
4
5
  export type TextFields = Record<string, string>;
5
6
  export declare const filterObjectsSync: <T extends Entity.Unknown>(objects: T[], match?: RegExp) => SearchResult<T>[];
6
7
  export declare const getStringProperty: (object: any, keys: string[]) => string | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../../../src/hooks/sync.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,MAAM,EAAa,MAAM,YAAY,CAAC;AAG/C,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,QAAQ,CAAC;AAE3C,eAAO,MAAM,kBAAkB,iBAAkB,MAAM,KAAG,MAAM,GAAG,SAGlE,CAAC;AA2BF,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAGhD,eAAO,MAAM,iBAAiB,GAAI,CAAC,SAAS,MAAM,CAAC,OAAO,WAAW,CAAC,EAAE,UAAU,MAAM,KAAG,YAAY,CAAC,CAAC,CAAC,EAgCzG,CAAC;AAGF,eAAO,MAAM,iBAAiB,WAAY,GAAG,QAAQ,MAAM,EAAE,KAAG,MAAM,GAAG,SAaxE,CAAC;AAiBF,eAAO,MAAM,qBAAqB,GAAI,CAAC,SAAS,MAAM,CAAC,OAAO,UAAU,CAAC,KAAG,UAa3E,CAAC"}
1
+ {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../../../src/hooks/sync.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,MAAM,EAAO,IAAI,EAAE,MAAM,YAAY,CAAC;AAG/C,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,QAAQ,CAAC;AAE3C,eAAO,MAAM,kBAAkB,iBAAkB,MAAM,KAAG,MAAM,GAAG,SAGlE,CAAC;AAGF,eAAO,MAAM,OAAO,SAAU,IAAI,CAAC,SAAS,GAAG,SAAS,KAAG,MAAM,GAAG,SAoBnE,CAAC;AAIF,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAGhD,eAAO,MAAM,iBAAiB,GAAI,CAAC,SAAS,MAAM,CAAC,OAAO,WAAW,CAAC,EAAE,UAAU,MAAM,KAAG,YAAY,CAAC,CAAC,CAAC,EAgCzG,CAAC;AAGF,eAAO,MAAM,iBAAiB,WAAY,GAAG,QAAQ,MAAM,EAAE,KAAG,MAAM,GAAG,SAaxE,CAAC;AAiBF,eAAO,MAAM,qBAAqB,GAAI,CAAC,SAAS,MAAM,CAAC,OAAO,UAAU,CAAC,KAAG,UAa3E,CAAC"}
@@ -1,16 +1,7 @@
1
1
  import React, { type PropsWithChildren } from 'react';
2
- import { type Entity } from '@dxos/echo';
3
- import { type SearchResult } from '#types';
4
- export { GlobalFilterProvider, useGlobalFilteredObjects } from '@dxos/react-ui-search';
5
- type SearchContextType = {
6
- match?: RegExp;
7
- setMatch?: (text?: string) => void;
8
- };
9
2
  /**
10
3
  * Provider for global search context.
11
4
  * Also provides the GlobalFilterProvider for useGlobalFilteredObjects to work.
12
5
  */
13
6
  export declare const SearchContextProvider: ({ children }: PropsWithChildren) => React.JSX.Element;
14
- export declare const useGlobalSearch: () => SearchContextType;
15
- export declare const useGlobalSearchResults: <T extends Entity.Unknown>(objects?: T[]) => SearchResult<T>[];
16
7
  //# sourceMappingURL=useGlobalSearch.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useGlobalSearch.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useGlobalSearch.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,EAAE,KAAK,iBAAiB,EAAoD,MAAM,OAAO,CAAC;AAGxG,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,YAAY,CAAC;AAGzC,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,QAAQ,CAAC;AAK3C,OAAO,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAEvF,KAAK,iBAAiB,GAAG;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;CACpC,CAAC;AAIF;;;GAGG;AACH,eAAO,MAAM,qBAAqB,iBAAkB,iBAAiB,sBAuBpE,CAAC;AAEF,eAAO,MAAM,eAAe,yBAE3B,CAAC;AAEF,eAAO,MAAM,sBAAsB,GAAI,CAAC,SAAS,MAAM,CAAC,OAAO,YAAY,CAAC,EAAE,KAAG,YAAY,CAAC,CAAC,CAAC,EAG/F,CAAC"}
1
+ {"version":3,"file":"useGlobalSearch.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useGlobalSearch.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,EAAE,KAAK,iBAAiB,EAAyB,MAAM,OAAO,CAAC;AAQ7E;;;GAGG;AACH,eAAO,MAAM,qBAAqB,iBAAkB,iBAAiB,sBAuBpE,CAAC"}
@@ -15,6 +15,8 @@ export declare const translations: [{
15
15
  readonly 'recently-closed.heading': 'Recently closed';
16
16
  readonly 'pending-results.message': 'Searching\u2026';
17
17
  readonly 'search.label': 'Search';
18
+ readonly 'search-result-list.label': 'Search results';
19
+ readonly 'search-result-list.empty.label': 'No results';
18
20
  };
19
21
  };
20
22
  }];
@@ -1 +1 @@
1
- {"version":3,"file":"translations.d.ts","sourceRoot":"","sources":["../../../src/translations.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,YAAY;;;;;;;;;;oCAKF,QAAQ;4CACA,eAAe;2CAChB,cAAS;4CACR,QAAQ;gDACJ,iBAAiB;gDACjB,iBAAY;qCACvB,QAAQ;;;EAID,CAAC"}
1
+ {"version":3,"file":"translations.d.ts","sourceRoot":"","sources":["../../../src/translations.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,YAAY;;;;;;;;;;oCAKF,QAAQ;4CACA,eAAe;2CAChB,cAAS;4CACR,QAAQ;gDACJ,iBAAiB;gDACjB,iBAAY;qCACvB,QAAQ;iDACI,gBAAgB;uDACV,YAAY;;;EAIvB,CAAC"}