@rubixstudios/payload-typesense 1.1.7 → 1.1.8
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/components/HeadlessSearchInput.d.ts +1 -2
- package/dist/components/HeadlessSearchInput.d.ts.map +1 -1
- package/dist/components/HeadlessSearchInput.js +33 -300
- package/dist/components/render/Header.d.ts +9 -0
- package/dist/components/render/Header.d.ts.map +1 -0
- package/dist/components/render/Header.js +39 -0
- package/dist/components/render/NoResults.d.ts +9 -0
- package/dist/components/render/NoResults.d.ts.map +1 -0
- package/dist/components/render/NoResults.js +45 -0
- package/dist/components/render/ResultError.d.ts +9 -0
- package/dist/components/render/ResultError.d.ts.map +1 -0
- package/dist/components/render/ResultError.js +38 -0
- package/dist/components/render/Results.d.ts +14 -0
- package/dist/components/render/Results.d.ts.map +1 -0
- package/dist/components/render/Results.js +143 -0
- package/dist/components/render/index.d.ts +5 -0
- package/dist/components/render/index.d.ts.map +1 -0
- package/dist/components/render/index.js +4 -0
- package/dist/components/themes/hooks.d.ts +1 -1
- package/dist/components/themes/hooks.d.ts.map +1 -1
- package/dist/components/themes/hooks.js +0 -1
- package/dist/components/themes/utils.d.ts +2 -10
- package/dist/components/themes/utils.d.ts.map +1 -1
- package/dist/components/themes/utils.js +13 -18
- package/dist/endpoints/handler/createAdvancedSearch.d.ts +1 -1
- package/dist/endpoints/handler/createCollections.d.ts +1 -1
- package/dist/endpoints/handler/createSearch.d.ts +1 -1
- package/dist/endpoints/handler/createSearch.d.ts.map +1 -1
- package/dist/endpoints/handler/createSuggest.d.ts +1 -1
- package/dist/endpoints/health.d.ts +1 -1
- package/dist/endpoints/health.d.ts.map +1 -1
- package/dist/endpoints/search.d.ts +1 -1
- package/dist/index.d.ts +3 -27
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +27 -29
- package/dist/lib/client.d.ts +1 -1
- package/dist/lib/headlessSearch.d.ts +1 -9
- package/dist/lib/headlessSearch.d.ts.map +1 -1
- package/dist/lib/hooks.d.ts +1 -1
- package/dist/lib/initialization.d.ts +2 -2
- package/dist/lib/initialization.d.ts.map +1 -1
- package/dist/lib/initialization.js +1 -1
- package/dist/lib/schema-mapper.d.ts +1 -2
- package/dist/lib/schema-mapper.d.ts.map +1 -1
- package/dist/types.d.ts +26 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +0 -1
- package/dist/utils/getAllCollections.d.ts +1 -1
- package/dist/utils/getAllCollections.d.ts.map +1 -1
- package/package.json +2 -3
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
export function RenderedResult({ index, onResultClick, renderDate = true, result, resultItemClassName = '', resultsContainerClassName = '', themeConfig }) {
|
|
2
|
+
return /*#__PURE__*/ React.createElement("div", {
|
|
3
|
+
className: resultsContainerClassName,
|
|
4
|
+
style: {
|
|
5
|
+
backgroundColor: themeConfig.theme.colors.resultBackground,
|
|
6
|
+
borderBottom: `1px solid ${themeConfig.theme.colors.resultBorder}`,
|
|
7
|
+
cursor: 'pointer',
|
|
8
|
+
padding: themeConfig.theme.spacing.itemPadding,
|
|
9
|
+
transition: themeConfig.config.enableAnimations !== false ? `all ${themeConfig.theme.animations.transitionFast} ${themeConfig.theme.animations.easeInOut}` : 'none'
|
|
10
|
+
}
|
|
11
|
+
}, /*#__PURE__*/ React.createElement("div", {
|
|
12
|
+
className: `${themeConfig.classes.resultItem} ${resultItemClassName}`,
|
|
13
|
+
"data-result-item": true,
|
|
14
|
+
key: result.document?.id || result.id || index,
|
|
15
|
+
onBlur: (e)=>{
|
|
16
|
+
e.currentTarget.style.backgroundColor = themeConfig.theme.colors.resultBackground;
|
|
17
|
+
},
|
|
18
|
+
onClick: ()=>onResultClick(result),
|
|
19
|
+
onFocus: (e)=>{
|
|
20
|
+
e.currentTarget.style.backgroundColor = themeConfig.theme.colors.resultBackgroundFocus;
|
|
21
|
+
},
|
|
22
|
+
onKeyDown: (e)=>{
|
|
23
|
+
if (e.key === 'Enter' || e.key === ' ') {
|
|
24
|
+
e.preventDefault();
|
|
25
|
+
onResultClick(result);
|
|
26
|
+
}
|
|
27
|
+
},
|
|
28
|
+
onMouseEnter: (e)=>{
|
|
29
|
+
e.currentTarget.style.backgroundColor = themeConfig.theme.colors.resultBackgroundHover;
|
|
30
|
+
},
|
|
31
|
+
onMouseLeave: (e)=>{
|
|
32
|
+
e.currentTarget.style.backgroundColor = themeConfig.theme.colors.resultBackground;
|
|
33
|
+
},
|
|
34
|
+
role: "button",
|
|
35
|
+
tabIndex: 0
|
|
36
|
+
}, /*#__PURE__*/ React.createElement("div", {
|
|
37
|
+
style: {
|
|
38
|
+
alignItems: 'flex-start',
|
|
39
|
+
display: 'flex',
|
|
40
|
+
gap: '12px',
|
|
41
|
+
padding: '6px'
|
|
42
|
+
}
|
|
43
|
+
}, /*#__PURE__*/ React.createElement("div", {
|
|
44
|
+
style: {
|
|
45
|
+
flexShrink: 0
|
|
46
|
+
}
|
|
47
|
+
}, /*#__PURE__*/ React.createElement("div", {
|
|
48
|
+
style: {
|
|
49
|
+
alignItems: 'center',
|
|
50
|
+
backgroundColor: themeConfig.theme.colors.collectionBadge,
|
|
51
|
+
borderRadius: themeConfig.theme.spacing.inputBorderRadius,
|
|
52
|
+
color: themeConfig.theme.colors.collectionBadgeText,
|
|
53
|
+
display: 'flex',
|
|
54
|
+
fontSize: '14px',
|
|
55
|
+
fontWeight: themeConfig.theme.typography.fontWeightMedium,
|
|
56
|
+
height: '32px',
|
|
57
|
+
justifyContent: 'center',
|
|
58
|
+
width: '32px'
|
|
59
|
+
}
|
|
60
|
+
}, result.collection?.charAt(0).toUpperCase() || '📄')), /*#__PURE__*/ React.createElement("div", {
|
|
61
|
+
style: {
|
|
62
|
+
flex: 1,
|
|
63
|
+
minWidth: 0
|
|
64
|
+
}
|
|
65
|
+
}, /*#__PURE__*/ React.createElement("div", {
|
|
66
|
+
style: {
|
|
67
|
+
alignItems: 'center',
|
|
68
|
+
display: 'flex',
|
|
69
|
+
justifyContent: 'space-between',
|
|
70
|
+
marginBottom: '8px'
|
|
71
|
+
}
|
|
72
|
+
}, /*#__PURE__*/ React.createElement("h3", {
|
|
73
|
+
style: {
|
|
74
|
+
color: themeConfig.theme.colors.titleText,
|
|
75
|
+
fontFamily: themeConfig.theme.typography.fontFamily,
|
|
76
|
+
fontSize: themeConfig.theme.typography.fontSizeBase,
|
|
77
|
+
fontWeight: themeConfig.theme.typography.fontWeightSemibold,
|
|
78
|
+
lineHeight: themeConfig.theme.typography.lineHeightTight,
|
|
79
|
+
margin: 0,
|
|
80
|
+
overflow: 'hidden',
|
|
81
|
+
textOverflow: 'ellipsis',
|
|
82
|
+
whiteSpace: 'nowrap'
|
|
83
|
+
}
|
|
84
|
+
}, result.document?.title || result.document?.name || result.title || 'Untitled')), (result.highlight?.title?.snippet || result.highlight?.content?.snippet) && /*#__PURE__*/ React.createElement("div", {
|
|
85
|
+
dangerouslySetInnerHTML: {
|
|
86
|
+
__html: result.highlight?.title?.snippet || result.highlight?.content?.snippet || ''
|
|
87
|
+
},
|
|
88
|
+
style: {
|
|
89
|
+
color: themeConfig.theme.colors.descriptionText,
|
|
90
|
+
display: '-webkit-box',
|
|
91
|
+
fontSize: themeConfig.theme.typography.fontSizeSm,
|
|
92
|
+
fontWeight: themeConfig.theme.typography.fontWeightNormal,
|
|
93
|
+
lineHeight: themeConfig.theme.typography.lineHeightNormal,
|
|
94
|
+
marginTop: '4px',
|
|
95
|
+
overflow: 'hidden',
|
|
96
|
+
WebkitBoxOrient: 'vertical',
|
|
97
|
+
WebkitLineClamp: 2
|
|
98
|
+
}
|
|
99
|
+
}), /*#__PURE__*/ React.createElement("div", {
|
|
100
|
+
style: {
|
|
101
|
+
alignItems: 'center',
|
|
102
|
+
color: themeConfig.theme.colors.metaText,
|
|
103
|
+
display: 'flex',
|
|
104
|
+
fontSize: themeConfig.theme.typography.fontSizeXs,
|
|
105
|
+
gap: '12px',
|
|
106
|
+
marginTop: '8px'
|
|
107
|
+
}
|
|
108
|
+
}, result.collection && /*#__PURE__*/ React.createElement("span", {
|
|
109
|
+
style: {
|
|
110
|
+
alignItems: 'center',
|
|
111
|
+
display: 'inline-flex'
|
|
112
|
+
}
|
|
113
|
+
}, /*#__PURE__*/ React.createElement("svg", {
|
|
114
|
+
fill: "currentColor",
|
|
115
|
+
style: {
|
|
116
|
+
height: '12px',
|
|
117
|
+
marginRight: '4px',
|
|
118
|
+
width: '12px'
|
|
119
|
+
},
|
|
120
|
+
viewBox: "0 0 20 20"
|
|
121
|
+
}, /*#__PURE__*/ React.createElement("path", {
|
|
122
|
+
clipRule: "evenodd",
|
|
123
|
+
d: "M3 4a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zm0 4a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zm0 4a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zm0 4a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1z",
|
|
124
|
+
fillRule: "evenodd"
|
|
125
|
+
})), result.collection), renderDate && (result.document?.updatedAt || result.updatedAt) && /*#__PURE__*/ React.createElement("span", {
|
|
126
|
+
style: {
|
|
127
|
+
alignItems: 'center',
|
|
128
|
+
display: 'inline-flex'
|
|
129
|
+
}
|
|
130
|
+
}, /*#__PURE__*/ React.createElement("svg", {
|
|
131
|
+
fill: "currentColor",
|
|
132
|
+
style: {
|
|
133
|
+
height: '12px',
|
|
134
|
+
marginRight: '4px',
|
|
135
|
+
width: '12px'
|
|
136
|
+
},
|
|
137
|
+
viewBox: "0 0 20 20"
|
|
138
|
+
}, /*#__PURE__*/ React.createElement("path", {
|
|
139
|
+
clipRule: "evenodd",
|
|
140
|
+
d: "M10 18a8 8 0 100-16 8 8 0 000 16zm1-12a1 1 0 10-2 0v4a1 1 0 00.293.707l2.828 2.829a1 1 0 101.415-1.415L11 9.586V6z",
|
|
141
|
+
fillRule: "evenodd"
|
|
142
|
+
})), new Date(result.document?.updatedAt || result.updatedAt).toLocaleDateString()))))));
|
|
143
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/render/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type Theme, type ThemeConfig, type ThemeContextValue } from './types.js';
|
|
2
2
|
declare const ThemeContext: import("react").Context<ThemeContextValue | null>;
|
|
3
3
|
/**
|
|
4
4
|
* Hook to access theme context
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../../src/components/themes/hooks.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../../src/components/themes/hooks.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,KAAK,EAAE,KAAK,WAAW,EAAE,KAAK,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAUjF,QAAA,MAAM,YAAY,mDAAgD,CAAA;AAElE;;GAEG;AACH,wBAAgB,QAAQ,IAAI,iBAAiB,CAM5C;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,WAAW,GAAG,iBAAiB,CAoBrE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAK1E;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,GAAG,WAAW,CA8B1F;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,WAAW,EAAE,WAAW,EACxB,UAAU,EAAE,WAAW,EACvB,MAAM,EAAE,OAAO,GACd,WAAW,CAIb;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAc3E;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,WAAW,GAAG,KAAK,CAAC,QAAQ,CAAC,CAKnE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,WAAW,GAAG,KAAK,CAAC,SAAS,CAAC,CAKrE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,WAAW,GAAG,KAAK,CAAC,YAAY,CAAC,CAK3E;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,MAAM,GAAG,OAAO,CAQjD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAM1E;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,OAAO,CAAC,WAAW,CAAC,GAC9B,WAAW,CAOb;AAED,OAAO,EAAE,YAAY,EAAE,CAAA"}
|
|
@@ -1,15 +1,7 @@
|
|
|
1
|
-
import type
|
|
2
|
-
/**
|
|
3
|
-
* Get a theme by name or return the default theme
|
|
4
|
-
*/
|
|
1
|
+
import { type Theme, type ThemeClasses, type ThemeConfig } from './types.js';
|
|
5
2
|
export declare function getTheme(themeName: string): Theme;
|
|
6
|
-
/**
|
|
7
|
-
* Merge theme configurations with custom overrides
|
|
8
|
-
*/
|
|
9
3
|
export declare function mergeThemeConfig(config: ThemeConfig): Theme;
|
|
10
|
-
|
|
11
|
-
* Generate CSS classes from theme configuration
|
|
12
|
-
*/
|
|
4
|
+
export declare function css(styles: Record<string, number | Record<string, number | string> | string>): string;
|
|
13
5
|
export declare function generateThemeClasses(theme: Theme, config?: Partial<ThemeConfig>): ThemeClasses;
|
|
14
6
|
/**
|
|
15
7
|
* Apply theme to a CSS class with optional variant
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/components/themes/utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/components/themes/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,KAAK,EAAE,KAAK,YAAY,EAAE,KAAK,WAAW,EAAE,MAAM,YAAY,CAAA;AAE5E,wBAAgB,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,KAAK,CAEjD;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,WAAW,GAAG,KAAK,CA0B3D;AAED,wBAAgB,GAAG,CACjB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC,GACxE,MAAM,CAgBR;AAED,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,KAAK,EACZ,MAAM,GAAE,OAAO,CAAC,WAAW,CAAM,GAChC,YAAY,CAuUd;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAWlF;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAMjD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAElD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAgCtE"}
|
|
@@ -1,12 +1,8 @@
|
|
|
1
1
|
import { defaultTheme, themes } from './themes.js';
|
|
2
|
-
|
|
3
|
-
* Get a theme by name or return the default theme
|
|
4
|
-
*/ export function getTheme(themeName) {
|
|
2
|
+
export function getTheme(themeName) {
|
|
5
3
|
return themes[themeName] || defaultTheme;
|
|
6
4
|
}
|
|
7
|
-
|
|
8
|
-
* Merge theme configurations with custom overrides
|
|
9
|
-
*/ export function mergeThemeConfig(config) {
|
|
5
|
+
export function mergeThemeConfig(config) {
|
|
10
6
|
const baseTheme = typeof config.theme === 'string' ? getTheme(config.theme) : config.theme;
|
|
11
7
|
return {
|
|
12
8
|
...baseTheme,
|
|
@@ -32,21 +28,20 @@ import { defaultTheme, themes } from './themes.js';
|
|
|
32
28
|
}
|
|
33
29
|
};
|
|
34
30
|
}
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
31
|
+
export function css(styles) {
|
|
32
|
+
const toKebab = (key)=>key.replace(/([A-Z])/g, '-$1').toLowerCase();
|
|
33
|
+
const serialize = (obj)=>Object.entries(obj).map(([prop, val])=>`${toKebab(prop)}: ${val}`).join('; ');
|
|
34
|
+
return Object.entries(styles).map(([key, value])=>{
|
|
35
|
+
if (typeof value === 'object' && value !== null) {
|
|
36
|
+
return `${toKebab(key)} { ${serialize(value)} }`;
|
|
37
|
+
}
|
|
38
|
+
return `${toKebab(key)}: ${value}`;
|
|
39
|
+
}).join('; ');
|
|
40
|
+
}
|
|
41
|
+
export function generateThemeClasses(theme, config = {}) {
|
|
38
42
|
const enableAnimations = config.enableAnimations !== false;
|
|
39
43
|
const enableShadows = config.enableShadows !== false;
|
|
40
44
|
const enableRoundedCorners = config.enableRoundedCorners !== false;
|
|
41
|
-
const css = (styles)=>{
|
|
42
|
-
return Object.entries(styles).map(([key, value])=>{
|
|
43
|
-
if (typeof value === 'object' && value !== null) {
|
|
44
|
-
const nested = Object.entries(value).map(([nestedKey, nestedValue])=>`${nestedKey.replace(/([A-Z])/g, '-$1').toLowerCase()}: ${nestedValue}`).join('; ');
|
|
45
|
-
return `${key.replace(/([A-Z])/g, '-$1').toLowerCase()}: { ${nested} }`;
|
|
46
|
-
}
|
|
47
|
-
return `${key.replace(/([A-Z])/g, '-$1').toLowerCase()}: ${value}`;
|
|
48
|
-
}).join('; ');
|
|
49
|
-
};
|
|
50
45
|
const containerStyles = css({
|
|
51
46
|
margin: '0 auto',
|
|
52
47
|
maxWidth: '600px',
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type Typesense from 'typesense';
|
|
2
2
|
import { type PayloadHandler } from 'payload';
|
|
3
|
-
import { type TypesenseConfig } from '../../
|
|
3
|
+
import { type TypesenseConfig } from '../../types.js';
|
|
4
4
|
export declare const createAdvancedSearch: (typesenseClient: Typesense.Client, pluginOptions: TypesenseConfig) => PayloadHandler;
|
|
5
5
|
//# sourceMappingURL=createAdvancedSearch.d.ts.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { type PayloadHandler } from 'payload';
|
|
2
|
-
import { type TypesenseConfig } from '../../
|
|
2
|
+
import { type TypesenseConfig } from '../../types.js';
|
|
3
3
|
export declare const createCollections: (pluginOptions: TypesenseConfig) => PayloadHandler;
|
|
4
4
|
//# sourceMappingURL=createCollections.d.ts.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type Typesense from 'typesense';
|
|
2
2
|
import { type PayloadHandler } from 'payload';
|
|
3
|
-
import { type TypesenseConfig } from '../../
|
|
3
|
+
import { type TypesenseConfig } from '../../types.js';
|
|
4
4
|
export declare const createSearch: (typesenseClient: Typesense.Client, pluginOptions: TypesenseConfig) => PayloadHandler;
|
|
5
5
|
//# sourceMappingURL=createSearch.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createSearch.d.ts","sourceRoot":"","sources":["../../../src/endpoints/handler/createSearch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,WAAW,CAAA;AAEtC,OAAO,EAAE,KAAK,cAAc,EAAuB,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"createSearch.d.ts","sourceRoot":"","sources":["../../../src/endpoints/handler/createSearch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,WAAW,CAAA;AAEtC,OAAO,EAAE,KAAK,cAAc,EAAuB,MAAM,SAAS,CAAA;AAIlE,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAGrD,eAAO,MAAM,YAAY,GACvB,iBAAiB,SAAS,CAAC,MAAM,EACjC,eAAe,eAAe,KAC7B,cAoGF,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type Typesense from 'typesense';
|
|
2
2
|
import { type PayloadHandler } from 'payload';
|
|
3
|
-
import { type TypesenseConfig } from '../../
|
|
3
|
+
import { type TypesenseConfig } from '../../types.js';
|
|
4
4
|
export declare const createSuggest: (typesenseClient: Typesense.Client, pluginOptions: TypesenseConfig) => PayloadHandler;
|
|
5
5
|
//# sourceMappingURL=createSuggest.d.ts.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type Typesense from 'typesense';
|
|
2
2
|
import { type PayloadHandler } from 'payload';
|
|
3
|
-
import { type TypesenseConfig } from '../
|
|
3
|
+
import { type TypesenseConfig } from '../types.js';
|
|
4
4
|
export declare const createHealthCheck: (typesenseClient: Typesense.Client, _pluginOptions: TypesenseConfig, lastSyncTime?: number) => PayloadHandler;
|
|
5
5
|
export declare const createDetailedHealthCheck: (typesenseClient: Typesense.Client, pluginOptions: TypesenseConfig, lastSyncTime?: number) => PayloadHandler;
|
|
6
6
|
//# sourceMappingURL=health.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"health.d.ts","sourceRoot":"","sources":["../../src/endpoints/health.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,WAAW,CAAA;AAEtC,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,SAAS,CAAA;AAG7C,OAAO,
|
|
1
|
+
{"version":3,"file":"health.d.ts","sourceRoot":"","sources":["../../src/endpoints/health.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,WAAW,CAAA;AAEtC,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,SAAS,CAAA;AAG7C,OAAO,EAA4B,KAAK,eAAe,EAAE,MAAM,aAAa,CAAA;AAM5E,eAAO,MAAM,iBAAiB,GAC5B,iBAAiB,SAAS,CAAC,MAAM,EACjC,gBAAgB,eAAe,EAC/B,eAAe,MAAM,KACpB,cAsCF,CAAA;AAED,eAAO,MAAM,yBAAyB,GACpC,iBAAiB,SAAS,CAAC,MAAM,EACjC,eAAe,eAAe,EAC9B,eAAe,MAAM,KACpB,cAsFF,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type Typesense from 'typesense';
|
|
2
|
-
import { type TypesenseConfig } from '../
|
|
2
|
+
import { type TypesenseConfig } from '../types.js';
|
|
3
3
|
export declare const createSearchEndpoints: (typesenseClient: Typesense.Client, pluginOptions: TypesenseConfig, lastSyncTime?: number) => ({
|
|
4
4
|
handler: import("payload").PayloadHandler;
|
|
5
5
|
method: "get";
|
package/dist/index.d.ts
CHANGED
|
@@ -1,30 +1,6 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type Config } from 'payload';
|
|
2
|
+
import { type TypesenseConfig } from './types.js';
|
|
2
3
|
export * from './components/index.js';
|
|
3
|
-
export type TypesenseConfig
|
|
4
|
-
collections?: Partial<Record<string, {
|
|
5
|
-
displayName?: string;
|
|
6
|
-
enabled: boolean;
|
|
7
|
-
facetFields?: string[];
|
|
8
|
-
icon?: string;
|
|
9
|
-
searchFields?: string[];
|
|
10
|
-
sortFields?: string[];
|
|
11
|
-
}>>;
|
|
12
|
-
disabled?: boolean;
|
|
13
|
-
settings?: {
|
|
14
|
-
autoSync?: boolean;
|
|
15
|
-
batchSize?: number;
|
|
16
|
-
categorized?: boolean;
|
|
17
|
-
searchEndpoint?: string;
|
|
18
|
-
};
|
|
19
|
-
typesense: {
|
|
20
|
-
apiKey: string;
|
|
21
|
-
connectionTimeoutSeconds?: number;
|
|
22
|
-
nodes: Array<{
|
|
23
|
-
host: string;
|
|
24
|
-
port: number | string;
|
|
25
|
-
protocol: 'http' | 'https';
|
|
26
|
-
}>;
|
|
27
|
-
};
|
|
28
|
-
};
|
|
4
|
+
export type { TypesenseConfig } from './types.js';
|
|
29
5
|
export declare const typesenseSearch: (pluginOptions: TypesenseConfig) => (config: Config) => Config;
|
|
30
6
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,SAAS,CAAA;AAMrC,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,YAAY,CAAA;AAEjD,cAAc,uBAAuB,CAAA;AACrC,YAAY,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAEjD,eAAO,MAAM,eAAe,GACzB,eAAe,eAAe,MAC9B,QAAQ,MAAM,KAAG,MAiDjB,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -1,49 +1,47 @@
|
|
|
1
1
|
import { createSearchEndpoints } from './endpoints/search.js';
|
|
2
2
|
import { createClient } from './lib/client.js';
|
|
3
3
|
import { deleteDocumentFromTypesense, syncDocumentToTypesense } from './lib/hooks.js';
|
|
4
|
-
import {
|
|
4
|
+
import { initializeTypesense } from './lib/initialization.js';
|
|
5
5
|
export * from './components/index.js';
|
|
6
6
|
export const typesenseSearch = (pluginOptions)=>(config)=>{
|
|
7
7
|
if (pluginOptions.disabled) {
|
|
8
8
|
return config;
|
|
9
9
|
}
|
|
10
|
-
const
|
|
10
|
+
const client = createClient(pluginOptions.typesense);
|
|
11
11
|
config.endpoints = [
|
|
12
12
|
...config.endpoints || [],
|
|
13
|
-
...createSearchEndpoints(
|
|
13
|
+
...createSearchEndpoints(client, pluginOptions, Date.now())
|
|
14
14
|
];
|
|
15
|
-
|
|
15
|
+
const shouldAutoSync = pluginOptions.settings?.autoSync !== false;
|
|
16
|
+
const hasCollections = !!pluginOptions.collections;
|
|
17
|
+
if (shouldAutoSync && hasCollections) {
|
|
16
18
|
config.collections = (config.collections || []).map((collection)=>{
|
|
17
|
-
const
|
|
18
|
-
if (
|
|
19
|
-
return
|
|
20
|
-
...collection,
|
|
21
|
-
hooks: {
|
|
22
|
-
...collection.hooks,
|
|
23
|
-
afterChange: [
|
|
24
|
-
...collection.hooks?.afterChange || [],
|
|
25
|
-
async ({ doc, operation, req: _req })=>{
|
|
26
|
-
await syncDocumentToTypesense(typesenseClient, collection.slug, doc, operation, collectionConfig);
|
|
27
|
-
}
|
|
28
|
-
],
|
|
29
|
-
afterDelete: [
|
|
30
|
-
...collection.hooks?.afterDelete || [],
|
|
31
|
-
async ({ doc, req: _req })=>{
|
|
32
|
-
await deleteDocumentFromTypesense(typesenseClient, collection.slug, doc.id);
|
|
33
|
-
}
|
|
34
|
-
]
|
|
35
|
-
}
|
|
36
|
-
};
|
|
19
|
+
const colConfig = pluginOptions.collections?.[collection.slug];
|
|
20
|
+
if (!colConfig?.enabled) {
|
|
21
|
+
return collection;
|
|
37
22
|
}
|
|
38
|
-
return
|
|
23
|
+
return {
|
|
24
|
+
...collection,
|
|
25
|
+
hooks: {
|
|
26
|
+
...collection.hooks,
|
|
27
|
+
afterChange: [
|
|
28
|
+
...collection.hooks?.afterChange || [],
|
|
29
|
+
async ({ doc, operation })=>syncDocumentToTypesense(client, collection.slug, doc, operation, colConfig)
|
|
30
|
+
],
|
|
31
|
+
afterDelete: [
|
|
32
|
+
...collection.hooks?.afterDelete || [],
|
|
33
|
+
async ({ doc })=>deleteDocumentFromTypesense(client, collection.slug, doc.id)
|
|
34
|
+
]
|
|
35
|
+
}
|
|
36
|
+
};
|
|
39
37
|
});
|
|
40
38
|
}
|
|
41
|
-
const
|
|
39
|
+
const existingOnInit = config.onInit;
|
|
42
40
|
config.onInit = async (payload)=>{
|
|
43
|
-
if (
|
|
44
|
-
await
|
|
41
|
+
if (existingOnInit) {
|
|
42
|
+
await existingOnInit(payload);
|
|
45
43
|
}
|
|
46
|
-
await
|
|
44
|
+
await initializeTypesense(payload, client, pluginOptions);
|
|
47
45
|
};
|
|
48
46
|
return config;
|
|
49
47
|
};
|
package/dist/lib/client.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import Typesense from 'typesense';
|
|
2
|
-
import { type TypesenseConfig } from '../
|
|
2
|
+
import { type TypesenseConfig } from '../types.js';
|
|
3
3
|
export declare const createClient: (typesenseConfig: TypesenseConfig["typesense"]) => Typesense.Client;
|
|
4
4
|
//# sourceMappingURL=client.d.ts.map
|
|
@@ -39,10 +39,6 @@ export interface HeadlessSearchInputProps<T = Record<string, unknown>> extends B
|
|
|
39
39
|
* Custom render function for loading state
|
|
40
40
|
*/
|
|
41
41
|
renderLoading?: () => React.ReactNode;
|
|
42
|
-
/**
|
|
43
|
-
* Show match percentage in search results
|
|
44
|
-
*/
|
|
45
|
-
renderMatchPercentage?: boolean;
|
|
46
42
|
/**
|
|
47
43
|
* Custom render function for no results
|
|
48
44
|
*/
|
|
@@ -56,7 +52,7 @@ export interface HeadlessSearchInputProps<T = Record<string, unknown>> extends B
|
|
|
56
52
|
/**
|
|
57
53
|
* Custom render function for results header
|
|
58
54
|
*/
|
|
59
|
-
renderResultsHeader?: (found: number
|
|
55
|
+
renderResultsHeader?: (found: number) => React.ReactNode;
|
|
60
56
|
/**
|
|
61
57
|
* Custom CSS class for individual result items
|
|
62
58
|
*/
|
|
@@ -77,10 +73,6 @@ export interface HeadlessSearchInputProps<T = Record<string, unknown>> extends B
|
|
|
77
73
|
* Show result count
|
|
78
74
|
*/
|
|
79
75
|
showResultCount?: boolean;
|
|
80
|
-
/**
|
|
81
|
-
* Show search time
|
|
82
|
-
*/
|
|
83
|
-
showSearchTime?: boolean;
|
|
84
76
|
/**
|
|
85
77
|
* Theme configuration
|
|
86
78
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"headlessSearch.d.ts","sourceRoot":"","sources":["../../src/lib/headlessSearch.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,+BAA+B,CAAA;AAChE,OAAO,EAAE,KAAK,oBAAoB,EAAE,KAAK,YAAY,EAAE,MAAM,aAAa,CAAA;AAE1E,MAAM,WAAW,wBAAwB,CACvC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAC3B,SAAQ,oBAAoB,CAAC,CAAC,CAAC;IAC/B;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;IAC/B;;OAEG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB;;OAEG;IACH,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,KAAK,CAAC,SAAS,CAAA;IAChD;;OAEG;IACH,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE;QACpB,SAAS,EAAE,MAAM,CAAA;QACjB,MAAM,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,CAAA;QACrC,QAAQ,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAA;QAC1D,OAAO,EAAE,MAAM,IAAI,CAAA;QACnB,SAAS,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,aAAa,KAAK,IAAI,CAAA;QAC3C,WAAW,EAAE,MAAM,CAAA;QACnB,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAA;QAC7C,KAAK,EAAE,MAAM,CAAA;KACd,KAAK,KAAK,CAAC,SAAS,CAAA;IACrB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,KAAK,CAAC,SAAS,CAAA;IACrC;;OAEG;IACH,
|
|
1
|
+
{"version":3,"file":"headlessSearch.d.ts","sourceRoot":"","sources":["../../src/lib/headlessSearch.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,+BAA+B,CAAA;AAChE,OAAO,EAAE,KAAK,oBAAoB,EAAE,KAAK,YAAY,EAAE,MAAM,aAAa,CAAA;AAE1E,MAAM,WAAW,wBAAwB,CACvC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAC3B,SAAQ,oBAAoB,CAAC,CAAC,CAAC;IAC/B;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;IAC/B;;OAEG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB;;OAEG;IACH,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,KAAK,CAAC,SAAS,CAAA;IAChD;;OAEG;IACH,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE;QACpB,SAAS,EAAE,MAAM,CAAA;QACjB,MAAM,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,CAAA;QACrC,QAAQ,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAA;QAC1D,OAAO,EAAE,MAAM,IAAI,CAAA;QACnB,SAAS,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,aAAa,KAAK,IAAI,CAAA;QAC3C,WAAW,EAAE,MAAM,CAAA;QACnB,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAA;QAC7C,KAAK,EAAE,MAAM,CAAA;KACd,KAAK,KAAK,CAAC,SAAS,CAAA;IACrB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,KAAK,CAAC,SAAS,CAAA;IACrC;;OAEG;IACH,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,KAAK,CAAC,SAAS,CAAA;IACpD;;OAEG;IACH,YAAY,CAAC,EAAE,CACb,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,EACvB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE;QAAE,OAAO,EAAE,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,KAAK,IAAI,CAAA;KAAE,KACrD,KAAK,CAAC,SAAS,CAAA;IACpB;;OAEG;IACH,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,KAAK,CAAC,SAAS,CAAA;IACxD;;OAEG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB;;OAEG;IACH,yBAAyB,CAAC,EAAE,MAAM,CAAA;IAClC;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,WAAW,CAAA;CAC7B"}
|
package/dist/lib/hooks.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type Typesense from 'typesense';
|
|
2
2
|
import { type CollectionAfterChangeHook, type CollectionAfterDeleteHook } from 'payload';
|
|
3
|
-
import { type TypesenseConfig } from '../
|
|
3
|
+
import { type TypesenseConfig } from '../types.js';
|
|
4
4
|
export declare const setupHooks: (typesenseClient: Typesense.Client, pluginOptions: TypesenseConfig, existingHooks?: {
|
|
5
5
|
afterChange?: Record<string, CollectionAfterChangeHook[]>;
|
|
6
6
|
afterDelete?: Record<string, CollectionAfterDeleteHook[]>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type Typesense from 'typesense';
|
|
2
2
|
import { type Payload } from 'payload';
|
|
3
|
-
import { type TypesenseConfig } from '../
|
|
4
|
-
export declare const
|
|
3
|
+
import { type TypesenseConfig } from '../types.js';
|
|
4
|
+
export declare const initializeTypesense: (payload: Payload, typesenseClient: Typesense.Client, pluginOptions: TypesenseConfig) => Promise<void>;
|
|
5
5
|
//# sourceMappingURL=initialization.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initialization.d.ts","sourceRoot":"","sources":["../../src/lib/initialization.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,WAAW,CAAA;AAEtC,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,SAAS,CAAA;AAEtC,OAAO,
|
|
1
|
+
{"version":3,"file":"initialization.d.ts","sourceRoot":"","sources":["../../src/lib/initialization.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,WAAW,CAAA;AAEtC,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,SAAS,CAAA;AAEtC,OAAO,EAAuC,KAAK,eAAe,EAAE,MAAM,aAAa,CAAA;AAMvF,eAAO,MAAM,mBAAmB,GAC9B,SAAS,OAAO,EAChB,iBAAiB,SAAS,CAAC,MAAM,EACjC,eAAe,eAAe,kBAkB/B,CAAA"}
|
|
@@ -2,7 +2,7 @@ import { ensureCollection } from '../utils/ensureCollection.js';
|
|
|
2
2
|
import { testConnection } from '../utils/testConnection.js';
|
|
3
3
|
import { mapCollectionToTypesense, mapToTypesense } from './schema-mapper.js';
|
|
4
4
|
import { validateConfig } from './validation.js';
|
|
5
|
-
export const
|
|
5
|
+
export const initializeTypesense = async (payload, typesenseClient, pluginOptions)=>{
|
|
6
6
|
const validation = validateConfig(pluginOptions);
|
|
7
7
|
if (!validation.success) {
|
|
8
8
|
throw new Error('Invalid plugin configuration');
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { type TypesenseConfig } from '../
|
|
2
|
-
import { type BaseDocument } from '../types.js';
|
|
1
|
+
import { type BaseDocument, type TypesenseConfig } from '../types.js';
|
|
3
2
|
export declare const mapCollectionToTypesense: (collectionSlug: string, config: NonNullable<TypesenseConfig["collections"]>[string] | undefined) => {
|
|
4
3
|
name: string;
|
|
5
4
|
fields: ({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema-mapper.d.ts","sourceRoot":"","sources":["../../src/lib/schema-mapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"schema-mapper.d.ts","sourceRoot":"","sources":["../../src/lib/schema-mapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,eAAe,EAAE,MAAM,aAAa,CAAA;AAGrE,eAAO,MAAM,wBAAwB,GACnC,gBAAgB,MAAM,EACtB,QAAQ,WAAW,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,SAAS;;;;;;;;;;;;;;;;;;;CAgCxE,CAAA;AAED,eAAO,MAAM,cAAc,GACzB,KAAK,YAAY,EACjB,iBAAiB,MAAM,EACvB,QAAQ,WAAW,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,SAAS,oCA2ExE,CAAA"}
|
package/dist/types.d.ts
CHANGED
|
@@ -97,6 +97,32 @@ export interface CollectionConfig<T = any> {
|
|
|
97
97
|
icon?: string;
|
|
98
98
|
searchFields?: Array<keyof T | string>;
|
|
99
99
|
}
|
|
100
|
+
export type TypesenseConfig = {
|
|
101
|
+
collections?: Partial<Record<string, {
|
|
102
|
+
displayName?: string;
|
|
103
|
+
enabled: boolean;
|
|
104
|
+
facetFields?: string[];
|
|
105
|
+
icon?: string;
|
|
106
|
+
searchFields?: string[];
|
|
107
|
+
sortFields?: string[];
|
|
108
|
+
}>>;
|
|
109
|
+
disabled?: boolean;
|
|
110
|
+
settings?: {
|
|
111
|
+
autoSync?: boolean;
|
|
112
|
+
batchSize?: number;
|
|
113
|
+
categorized?: boolean;
|
|
114
|
+
searchEndpoint?: string;
|
|
115
|
+
};
|
|
116
|
+
typesense: {
|
|
117
|
+
apiKey: string;
|
|
118
|
+
connectionTimeoutSeconds?: number;
|
|
119
|
+
nodes: Array<{
|
|
120
|
+
host: string;
|
|
121
|
+
port: number | string;
|
|
122
|
+
protocol: 'http' | 'https';
|
|
123
|
+
}>;
|
|
124
|
+
};
|
|
125
|
+
};
|
|
100
126
|
export interface TypesenseSearchConfig<T = Record<string, any>> {
|
|
101
127
|
collections: Record<string, CollectionConfig<T>>;
|
|
102
128
|
settings?: {
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;IACtB,OAAO,CAAC,EAAE,OAAO,GAAG,WAAW,CAAA;IAC/B,SAAS,EAAE,IAAI,GAAG,MAAM,CAAA;IACxB,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;IACnB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,IAAI,GAAG,MAAM,CAAA;CACzB;AAED,MAAM,WAAW,YAAY;IAC3B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;IACtB,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAA;IACzB,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,QAAQ;IACvB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;IACtB,IAAI,CAAC,EAAE,YAAY,CAAA;CACpB;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type Typesense from 'typesense';
|
|
2
|
-
import { type TypesenseConfig } from '../
|
|
2
|
+
import { type TypesenseConfig } from '../types.js';
|
|
3
3
|
export declare const getAllCollections: (typesenseClient: Typesense.Client, pluginOptions: TypesenseConfig, query: string, options: {
|
|
4
4
|
filters: Record<string, unknown>;
|
|
5
5
|
page: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getAllCollections.d.ts","sourceRoot":"","sources":["../../src/utils/getAllCollections.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"getAllCollections.d.ts","sourceRoot":"","sources":["../../src/utils/getAllCollections.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,WAAW,CAAA;AAGtC,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,aAAa,CAAA;AAElD,eAAO,MAAM,iBAAiB,GAC5B,iBAAiB,SAAS,CAAC,MAAM,EACjC,eAAe,eAAe,EAC9B,OAAO,MAAM,EACb,SAAS;IACP,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAChC,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB,sBA8FF,CAAA"}
|