@seekora-ai/ui-sdk-react 0.2.0 → 0.2.5

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 (66) hide show
  1. package/dist/components/FederatedDropdown.d.ts +6 -0
  2. package/dist/components/FederatedDropdown.d.ts.map +1 -1
  3. package/dist/components/FederatedDropdown.js +4 -2
  4. package/dist/components/SearchBarWithSuggestions.d.ts +4 -0
  5. package/dist/components/SearchBarWithSuggestions.d.ts.map +1 -1
  6. package/dist/components/SearchBarWithSuggestions.js +2 -2
  7. package/dist/components/SearchResults.d.ts.map +1 -1
  8. package/dist/components/SearchResults.js +24 -58
  9. package/dist/docsearch/components/DocSearch.d.ts +4 -0
  10. package/dist/docsearch/components/DocSearch.d.ts.map +1 -0
  11. package/dist/docsearch/components/DocSearch.js +91 -0
  12. package/dist/docsearch/components/DocSearchButton.d.ts +4 -0
  13. package/dist/docsearch/components/DocSearchButton.d.ts.map +1 -0
  14. package/dist/docsearch/components/DocSearchButton.js +12 -0
  15. package/dist/docsearch/components/Footer.d.ts +8 -0
  16. package/dist/docsearch/components/Footer.d.ts.map +1 -0
  17. package/dist/docsearch/components/Footer.js +23 -0
  18. package/dist/docsearch/components/Highlight.d.ts +9 -0
  19. package/dist/docsearch/components/Highlight.d.ts.map +1 -0
  20. package/dist/docsearch/components/Highlight.js +48 -0
  21. package/dist/docsearch/components/Hit.d.ts +15 -0
  22. package/dist/docsearch/components/Hit.d.ts.map +1 -0
  23. package/dist/docsearch/components/Hit.js +96 -0
  24. package/dist/docsearch/components/Modal.d.ts +9 -0
  25. package/dist/docsearch/components/Modal.d.ts.map +1 -0
  26. package/dist/docsearch/components/Modal.js +54 -0
  27. package/dist/docsearch/components/Results.d.ts +23 -0
  28. package/dist/docsearch/components/Results.d.ts.map +1 -0
  29. package/dist/docsearch/components/Results.js +145 -0
  30. package/dist/docsearch/components/SearchBox.d.ts +12 -0
  31. package/dist/docsearch/components/SearchBox.d.ts.map +1 -0
  32. package/dist/docsearch/components/SearchBox.js +18 -0
  33. package/dist/docsearch/hooks/useDocSearch.d.ts +33 -0
  34. package/dist/docsearch/hooks/useDocSearch.d.ts.map +1 -0
  35. package/dist/docsearch/hooks/useDocSearch.js +211 -0
  36. package/dist/docsearch/hooks/useKeyboard.d.ts +17 -0
  37. package/dist/docsearch/hooks/useKeyboard.d.ts.map +1 -0
  38. package/dist/docsearch/hooks/useKeyboard.js +71 -0
  39. package/dist/docsearch/hooks/useSeekoraSearch.d.ts +27 -0
  40. package/dist/docsearch/hooks/useSeekoraSearch.d.ts.map +1 -0
  41. package/dist/docsearch/hooks/useSeekoraSearch.js +207 -0
  42. package/dist/docsearch/index.d.ts +13 -0
  43. package/dist/docsearch/index.d.ts.map +1 -0
  44. package/dist/docsearch/index.js +11 -0
  45. package/dist/docsearch/types.d.ts +172 -0
  46. package/dist/docsearch/types.d.ts.map +1 -0
  47. package/dist/docsearch/types.js +4 -0
  48. package/dist/docsearch.css +237 -0
  49. package/dist/hooks/useAnalytics.d.ts +8 -4
  50. package/dist/hooks/useAnalytics.d.ts.map +1 -1
  51. package/dist/hooks/useAnalytics.js +14 -9
  52. package/dist/hooks/useQuerySuggestionsEnhanced.js +1 -1
  53. package/dist/hooks/useSuggestionsAnalytics.d.ts +3 -1
  54. package/dist/hooks/useSuggestionsAnalytics.d.ts.map +1 -1
  55. package/dist/hooks/useSuggestionsAnalytics.js +11 -9
  56. package/dist/index.d.ts +4 -0
  57. package/dist/index.d.ts.map +1 -1
  58. package/dist/index.js +11 -0
  59. package/dist/index.umd.js +1 -1
  60. package/dist/src/index.d.ts +271 -7
  61. package/dist/src/index.esm.js +1705 -84
  62. package/dist/src/index.esm.js.map +1 -1
  63. package/dist/src/index.js +1712 -83
  64. package/dist/src/index.js.map +1 -1
  65. package/package.json +9 -6
  66. package/src/docsearch/docsearch.css +237 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@seekora-ai/ui-sdk-react",
3
- "version": "0.2.0",
3
+ "version": "0.2.5",
4
4
  "description": "Seekora UI Components SDK for React - Interactive UI components for search and query suggestions",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -11,14 +11,17 @@
11
11
  "require": "./dist/index.js",
12
12
  "types": "./dist/index.d.ts"
13
13
  },
14
+ "./docsearch.css": "./src/docsearch/docsearch.css",
14
15
  "./package.json": "./package.json"
15
16
  },
16
17
  "files": [
17
18
  "dist",
19
+ "src/docsearch/docsearch.css",
18
20
  "README.md"
19
21
  ],
20
22
  "scripts": {
21
- "build": "npm run build:ts && npm run build:bundle",
23
+ "build": "npm run build:ts && npm run build:bundle && npm run build:docsearch-css",
24
+ "build:docsearch-css": "mkdir -p dist && cp src/docsearch/docsearch.css dist/docsearch.css",
22
25
  "build:ts": "tsc",
23
26
  "build:bundle": "rollup -c",
24
27
  "dev": "rollup -c -w",
@@ -38,13 +41,13 @@
38
41
  "author": "Seekora",
39
42
  "license": "MIT",
40
43
  "peerDependencies": {
41
- "@seekora-ai/search-sdk": "^0.2.0",
44
+ "@seekora-ai/search-sdk": "^0.2.4",
42
45
  "react": "^16.8.0 || ^17.0.0 || ^18.0.0",
43
46
  "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0"
44
47
  },
45
48
  "dependencies": {
46
- "@seekora-ai/ui-sdk-core": "^0.2.0",
47
- "@seekora-ai/ui-sdk-types": "^0.2.0",
49
+ "@seekora-ai/ui-sdk-core": "^0.2.5",
50
+ "@seekora-ai/ui-sdk-types": "^0.2.5",
48
51
  "clsx": "^2.1.0"
49
52
  },
50
53
  "devDependencies": {
@@ -53,7 +56,7 @@
53
56
  "@rollup/plugin-replace": "^5.0.5",
54
57
  "@rollup/plugin-terser": "^0.4.4",
55
58
  "@rollup/plugin-typescript": "^11.1.5",
56
- "@seekora-ai/search-sdk": "^0.2.0",
59
+ "@seekora-ai/search-sdk": "^0.2.4",
57
60
  "@types/node": "^20.0.0",
58
61
  "@types/react": "^18.2.0",
59
62
  "@types/react-dom": "^18.2.0",
@@ -0,0 +1,237 @@
1
+ /**
2
+ * Seekora DocSearch CSS - bundled with @seekora/ui-sdk-react
3
+ * Override CSS variables to customize. Dark mode: [data-theme="dark"] or prefers-color-scheme.
4
+ */
5
+
6
+ :root {
7
+ --seekora-docsearch-primary: #5468ff;
8
+ --seekora-docsearch-primary-hover: #4458e8;
9
+ --seekora-docsearch-text: #1a1a1a;
10
+ --seekora-docsearch-text-muted: #6b7280;
11
+ --seekora-docsearch-text-secondary: #9ca3af;
12
+ --seekora-docsearch-background: #ffffff;
13
+ --seekora-docsearch-background-secondary: #f9fafb;
14
+ --seekora-docsearch-border: #e5e7eb;
15
+ --seekora-docsearch-border-light: #f3f4f6;
16
+ --seekora-docsearch-shadow: rgba(0, 0, 0, 0.1);
17
+ --seekora-docsearch-shadow-strong: rgba(0, 0, 0, 0.2);
18
+ --seekora-docsearch-overlay: rgba(0, 0, 0, 0.4);
19
+ --seekora-docsearch-highlight-bg: rgba(84, 104, 255, 0.1);
20
+ --seekora-docsearch-highlight-text: #5468ff;
21
+ --seekora-docsearch-hit-bg: transparent;
22
+ --seekora-docsearch-hit-bg-hover: #f3f4f6;
23
+ --seekora-docsearch-hit-bg-selected: #eef2ff;
24
+ --seekora-docsearch-icon: #9ca3af;
25
+ --seekora-docsearch-icon-active: #5468ff;
26
+ --seekora-docsearch-key-bg: #f3f4f6;
27
+ --seekora-docsearch-key-border: #d1d5db;
28
+ --seekora-docsearch-key-text: #6b7280;
29
+ --seekora-docsearch-spacing-xs: 4px;
30
+ --seekora-docsearch-spacing-sm: 8px;
31
+ --seekora-docsearch-spacing-md: 12px;
32
+ --seekora-docsearch-spacing-lg: 16px;
33
+ --seekora-docsearch-spacing-xl: 24px;
34
+ --seekora-docsearch-font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
35
+ --seekora-docsearch-font-size-xs: 11px;
36
+ --seekora-docsearch-font-size-sm: 13px;
37
+ --seekora-docsearch-font-size-md: 14px;
38
+ --seekora-docsearch-font-size-lg: 16px;
39
+ --seekora-docsearch-font-weight-normal: 400;
40
+ --seekora-docsearch-font-weight-medium: 500;
41
+ --seekora-docsearch-font-weight-semibold: 600;
42
+ --seekora-docsearch-line-height: 1.5;
43
+ --seekora-docsearch-radius-sm: 4px;
44
+ --seekora-docsearch-radius-md: 8px;
45
+ --seekora-docsearch-radius-lg: 12px;
46
+ --seekora-docsearch-radius-xl: 16px;
47
+ --seekora-docsearch-transition-fast: 100ms;
48
+ --seekora-docsearch-transition-normal: 150ms;
49
+ --seekora-docsearch-transition-slow: 200ms;
50
+ --seekora-docsearch-modal-width: 560px;
51
+ --seekora-docsearch-modal-max-height: 80vh;
52
+ --seekora-docsearch-modal-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
53
+ --seekora-docsearch-z-index: 99999;
54
+ }
55
+
56
+ [data-theme="dark"], .dark {
57
+ --seekora-docsearch-primary: #7c8aff;
58
+ --seekora-docsearch-primary-hover: #6e7dff;
59
+ --seekora-docsearch-text: #f9fafb;
60
+ --seekora-docsearch-text-muted: #9ca3af;
61
+ --seekora-docsearch-text-secondary: #6b7280;
62
+ --seekora-docsearch-background: #1f2937;
63
+ --seekora-docsearch-background-secondary: #111827;
64
+ --seekora-docsearch-border: #374151;
65
+ --seekora-docsearch-border-light: #374151;
66
+ --seekora-docsearch-shadow: rgba(0, 0, 0, 0.3);
67
+ --seekora-docsearch-shadow-strong: rgba(0, 0, 0, 0.5);
68
+ --seekora-docsearch-overlay: rgba(0, 0, 0, 0.6);
69
+ --seekora-docsearch-highlight-bg: rgba(124, 138, 255, 0.15);
70
+ --seekora-docsearch-highlight-text: #a5b4fc;
71
+ --seekora-docsearch-hit-bg: transparent;
72
+ --seekora-docsearch-hit-bg-hover: #374151;
73
+ --seekora-docsearch-hit-bg-selected: #312e81;
74
+ --seekora-docsearch-icon: #6b7280;
75
+ --seekora-docsearch-icon-active: #7c8aff;
76
+ --seekora-docsearch-key-bg: #374151;
77
+ --seekora-docsearch-key-border: #4b5563;
78
+ --seekora-docsearch-key-text: #9ca3af;
79
+ }
80
+
81
+ @media (prefers-color-scheme: dark) {
82
+ :root:not([data-theme="light"]):not(.light) {
83
+ --seekora-docsearch-primary: #7c8aff;
84
+ --seekora-docsearch-primary-hover: #6e7dff;
85
+ --seekora-docsearch-text: #f9fafb;
86
+ --seekora-docsearch-text-muted: #9ca3af;
87
+ --seekora-docsearch-text-secondary: #6b7280;
88
+ --seekora-docsearch-background: #1f2937;
89
+ --seekora-docsearch-background-secondary: #111827;
90
+ --seekora-docsearch-border: #374151;
91
+ --seekora-docsearch-border-light: #374151;
92
+ --seekora-docsearch-shadow: rgba(0, 0, 0, 0.3);
93
+ --seekora-docsearch-shadow-strong: rgba(0, 0, 0, 0.5);
94
+ --seekora-docsearch-overlay: rgba(0, 0, 0, 0.6);
95
+ --seekora-docsearch-highlight-bg: rgba(124, 138, 255, 0.15);
96
+ --seekora-docsearch-highlight-text: #a5b4fc;
97
+ --seekora-docsearch-hit-bg: transparent;
98
+ --seekora-docsearch-hit-bg-hover: #374151;
99
+ --seekora-docsearch-hit-bg-selected: #312e81;
100
+ --seekora-docsearch-icon: #6b7280;
101
+ --seekora-docsearch-icon-active: #7c8aff;
102
+ --seekora-docsearch-key-bg: #374151;
103
+ --seekora-docsearch-key-border: #4b5563;
104
+ --seekora-docsearch-key-text: #9ca3af;
105
+ }
106
+ }
107
+
108
+ .seekora-docsearch-button {
109
+ display: flex;
110
+ align-items: center;
111
+ gap: var(--seekora-docsearch-spacing-sm);
112
+ padding: var(--seekora-docsearch-spacing-sm) var(--seekora-docsearch-spacing-md);
113
+ min-width: 200px;
114
+ height: 40px;
115
+ background: var(--seekora-docsearch-background);
116
+ border: 1px solid var(--seekora-docsearch-border);
117
+ border-radius: var(--seekora-docsearch-radius-md);
118
+ color: var(--seekora-docsearch-text-muted);
119
+ font-family: var(--seekora-docsearch-font-family);
120
+ font-size: var(--seekora-docsearch-font-size-md);
121
+ cursor: pointer;
122
+ transition: all var(--seekora-docsearch-transition-normal) ease;
123
+ box-shadow: 0 1px 2px var(--seekora-docsearch-shadow);
124
+ }
125
+ .seekora-docsearch-button:hover { border-color: var(--seekora-docsearch-primary); box-shadow: 0 2px 4px var(--seekora-docsearch-shadow); }
126
+ .seekora-docsearch-button:focus { outline: none; border-color: var(--seekora-docsearch-primary); box-shadow: 0 0 0 3px var(--seekora-docsearch-highlight-bg); }
127
+ .seekora-docsearch-button-icon { display: flex; align-items: center; justify-content: center; color: var(--seekora-docsearch-icon); flex-shrink: 0; }
128
+ .seekora-docsearch-button-placeholder { flex: 1; text-align: left; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
129
+ .seekora-docsearch-button-keys { display: flex; align-items: center; gap: var(--seekora-docsearch-spacing-xs); flex-shrink: 0; }
130
+ .seekora-docsearch-button-key {
131
+ display: inline-flex; align-items: center; justify-content: center; padding: 2px 6px; min-width: 20px; height: 20px;
132
+ background: var(--seekora-docsearch-key-bg); border: 1px solid var(--seekora-docsearch-key-border);
133
+ border-radius: var(--seekora-docsearch-radius-sm); color: var(--seekora-docsearch-key-text);
134
+ font-family: var(--seekora-docsearch-font-family); font-size: var(--seekora-docsearch-font-size-xs);
135
+ font-weight: var(--seekora-docsearch-font-weight-medium); box-shadow: inset 0 -1px 0 var(--seekora-docsearch-key-border);
136
+ }
137
+ @media (max-width: 640px) {
138
+ .seekora-docsearch-button { min-width: auto; padding: var(--seekora-docsearch-spacing-sm); }
139
+ .seekora-docsearch-button-placeholder { display: none; }
140
+ .seekora-docsearch-button-keys { display: none; }
141
+ }
142
+
143
+ .seekora-docsearch-overlay {
144
+ position: fixed; inset: 0; z-index: var(--seekora-docsearch-z-index);
145
+ display: flex; align-items: flex-start; justify-content: center;
146
+ padding: 10vh var(--seekora-docsearch-spacing-lg);
147
+ background: var(--seekora-docsearch-overlay); backdrop-filter: blur(4px);
148
+ animation: seekora-docsearch-fade-in var(--seekora-docsearch-transition-normal) ease;
149
+ }
150
+ @keyframes seekora-docsearch-fade-in { from { opacity: 0; } to { opacity: 1; } }
151
+ .seekora-docsearch-container { width: 100%; max-width: var(--seekora-docsearch-modal-width); animation: seekora-docsearch-slide-in var(--seekora-docsearch-transition-slow) ease; }
152
+ @keyframes seekora-docsearch-slide-in { from { opacity: 0; transform: translateY(-20px) scale(0.98); } to { opacity: 1; transform: translateY(0) scale(1); } }
153
+ .seekora-docsearch-modal {
154
+ display: flex; flex-direction: column; max-height: var(--seekora-docsearch-modal-max-height);
155
+ background: var(--seekora-docsearch-background); border: 1px solid var(--seekora-docsearch-border);
156
+ border-radius: var(--seekora-docsearch-radius-xl); box-shadow: var(--seekora-docsearch-modal-shadow); overflow: hidden;
157
+ }
158
+ .seekora-docsearch-header { display: flex; align-items: center; gap: var(--seekora-docsearch-spacing-sm); padding: var(--seekora-docsearch-spacing-md); border-bottom: 1px solid var(--seekora-docsearch-border-light); }
159
+ .seekora-docsearch-close {
160
+ display: flex; align-items: center; justify-content: center;
161
+ padding: var(--seekora-docsearch-spacing-xs) var(--seekora-docsearch-spacing-sm);
162
+ background: var(--seekora-docsearch-key-bg); border: 1px solid var(--seekora-docsearch-key-border);
163
+ border-radius: var(--seekora-docsearch-radius-sm); color: var(--seekora-docsearch-key-text);
164
+ font-family: var(--seekora-docsearch-font-family); font-size: var(--seekora-docsearch-font-size-xs);
165
+ font-weight: var(--seekora-docsearch-font-weight-medium); cursor: pointer; transition: all var(--seekora-docsearch-transition-fast) ease; flex-shrink: 0;
166
+ }
167
+ .seekora-docsearch-close:hover { background: var(--seekora-docsearch-hit-bg-hover); border-color: var(--seekora-docsearch-border); }
168
+ .seekora-docsearch-close-text { text-transform: uppercase; letter-spacing: 0.05em; }
169
+ .seekora-docsearch-body { flex: 1; overflow-y: auto; min-height: 0; overscroll-behavior: contain; scroll-behavior: auto; scroll-padding: 8px 0; }
170
+ .seekora-docsearch-body::-webkit-scrollbar { width: 8px; }
171
+ .seekora-docsearch-body::-webkit-scrollbar-track { background: transparent; }
172
+ .seekora-docsearch-body::-webkit-scrollbar-thumb { background: var(--seekora-docsearch-border); border-radius: 4px; }
173
+ .seekora-docsearch-body::-webkit-scrollbar-thumb:hover { background: var(--seekora-docsearch-text-muted); }
174
+ @media (max-width: 640px) {
175
+ .seekora-docsearch-overlay { padding: var(--seekora-docsearch-spacing-md); }
176
+ .seekora-docsearch-modal { max-height: calc(100vh - 32px); border-radius: var(--seekora-docsearch-radius-lg); }
177
+ }
178
+
179
+ .seekora-docsearch-searchbox {
180
+ display: flex; align-items: center; gap: var(--seekora-docsearch-spacing-sm); flex: 1;
181
+ padding: 0 var(--seekora-docsearch-spacing-sm); background: var(--seekora-docsearch-background-secondary);
182
+ border: 1px solid transparent; border-radius: var(--seekora-docsearch-radius-md); transition: all var(--seekora-docsearch-transition-fast) ease;
183
+ }
184
+ .seekora-docsearch-searchbox:focus-within { background: var(--seekora-docsearch-background); border-color: var(--seekora-docsearch-primary); box-shadow: 0 0 0 3px var(--seekora-docsearch-highlight-bg); }
185
+ .seekora-docsearch-searchbox-icon { display: flex; align-items: center; justify-content: center; color: var(--seekora-docsearch-icon); flex-shrink: 0; cursor: default; }
186
+ .seekora-docsearch-searchbox:focus-within .seekora-docsearch-searchbox-icon { color: var(--seekora-docsearch-icon-active); }
187
+ .seekora-docsearch-input {
188
+ flex: 1; padding: var(--seekora-docsearch-spacing-md) var(--seekora-docsearch-spacing-sm);
189
+ background: transparent; border: none; color: var(--seekora-docsearch-text);
190
+ font-family: var(--seekora-docsearch-font-family); font-size: var(--seekora-docsearch-font-size-lg);
191
+ line-height: var(--seekora-docsearch-line-height); outline: none; min-width: 0;
192
+ }
193
+ .seekora-docsearch-input::placeholder { color: var(--seekora-docsearch-text-secondary); }
194
+ .seekora-docsearch-clear { display: flex; align-items: center; justify-content: center; padding: var(--seekora-docsearch-spacing-xs); background: transparent; border: none; border-radius: var(--seekora-docsearch-radius-sm); color: var(--seekora-docsearch-text-muted); cursor: pointer; transition: all var(--seekora-docsearch-transition-fast) ease; flex-shrink: 0; }
195
+ .seekora-docsearch-clear:hover { background: var(--seekora-docsearch-hit-bg-hover); color: var(--seekora-docsearch-text); }
196
+ .seekora-docsearch-spinner { display: flex; align-items: center; justify-content: center; color: var(--seekora-docsearch-primary); animation: seekora-docsearch-spin 0.8s linear infinite; }
197
+ @keyframes seekora-docsearch-spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
198
+
199
+ .seekora-docsearch-results { padding: var(--seekora-docsearch-spacing-sm) 0; }
200
+ .seekora-docsearch-results-list { list-style: none; margin: 0; padding: 0; }
201
+ .seekora-docsearch-results-group { margin-bottom: var(--seekora-docsearch-spacing-sm); }
202
+ .seekora-docsearch-results-group:last-child { margin-bottom: 0; }
203
+ .seekora-docsearch-results-group-header { padding: var(--seekora-docsearch-spacing-sm) var(--seekora-docsearch-spacing-lg); color: var(--seekora-docsearch-text-muted); font-size: var(--seekora-docsearch-font-size-sm); font-weight: var(--seekora-docsearch-font-weight-semibold); text-transform: uppercase; letter-spacing: 0.05em; }
204
+ .seekora-docsearch-results-group-items { list-style: none; margin: 0; padding: 0; }
205
+ .seekora-docsearch-hit { display: flex; align-items: center; gap: var(--seekora-docsearch-spacing-md); padding: var(--seekora-docsearch-spacing-md) var(--seekora-docsearch-spacing-lg); background: var(--seekora-docsearch-hit-bg); color: var(--seekora-docsearch-text); text-decoration: none; cursor: pointer; transition: background var(--seekora-docsearch-transition-fast) ease; }
206
+ .seekora-docsearch-hit:hover { background: var(--seekora-docsearch-hit-bg-hover); }
207
+ .seekora-docsearch-hit--selected { background: var(--seekora-docsearch-hit-bg-selected); }
208
+ .seekora-docsearch-hit--selected:hover { background: var(--seekora-docsearch-hit-bg-selected); }
209
+ .seekora-docsearch-hit-icon { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; background: var(--seekora-docsearch-background-secondary); border-radius: var(--seekora-docsearch-radius-md); color: var(--seekora-docsearch-icon); flex-shrink: 0; }
210
+ .seekora-docsearch-hit--selected .seekora-docsearch-hit-icon { background: var(--seekora-docsearch-primary); color: white; }
211
+ .seekora-docsearch-hit-content { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: var(--seekora-docsearch-spacing-xs); }
212
+ .seekora-docsearch-hit-breadcrumb { color: var(--seekora-docsearch-text-secondary); font-size: var(--seekora-docsearch-font-size-xs); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
213
+ .seekora-docsearch-hit-title { color: var(--seekora-docsearch-text); font-size: var(--seekora-docsearch-font-size-md); font-weight: var(--seekora-docsearch-font-weight-medium); line-height: var(--seekora-docsearch-line-height); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
214
+ .seekora-docsearch-hit-description { color: var(--seekora-docsearch-text-muted); font-size: var(--seekora-docsearch-font-size-sm); line-height: var(--seekora-docsearch-line-height); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
215
+ .seekora-docsearch-hit-action { display: flex; align-items: center; justify-content: center; color: var(--seekora-docsearch-text-secondary); flex-shrink: 0; opacity: 0; transition: opacity var(--seekora-docsearch-transition-fast) ease; }
216
+ .seekora-docsearch-hit:hover .seekora-docsearch-hit-action, .seekora-docsearch-hit--selected .seekora-docsearch-hit-action { opacity: 1; }
217
+ .seekora-docsearch-highlight mark { background: var(--seekora-docsearch-highlight-bg); color: var(--seekora-docsearch-highlight-text); font-weight: var(--seekora-docsearch-font-weight-semibold); padding: 0 2px; border-radius: 2px; }
218
+ .seekora-docsearch-empty, .seekora-docsearch-loading, .seekora-docsearch-no-results, .seekora-docsearch-error { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--seekora-docsearch-spacing-xl); text-align: center; }
219
+ .seekora-docsearch-empty-text, .seekora-docsearch-loading-text, .seekora-docsearch-no-results-text, .seekora-docsearch-error-text { color: var(--seekora-docsearch-text-muted); font-size: var(--seekora-docsearch-font-size-md); margin: 0; }
220
+ .seekora-docsearch-loading-spinner { color: var(--seekora-docsearch-primary); margin-bottom: var(--seekora-docsearch-spacing-md); animation: seekora-docsearch-spin 0.8s linear infinite; }
221
+ .seekora-docsearch-error-text { color: #ef4444; }
222
+ .seekora-docsearch-hit--child { padding-left: var(--seekora-docsearch-spacing-md); }
223
+ .seekora-docsearch-hit--child .seekora-docsearch-hit-icon { width: 32px; height: 32px; }
224
+ .seekora-docsearch-hit-tree { display: flex; align-items: center; justify-content: center; flex-shrink: 0; color: var(--seekora-docsearch-border); }
225
+ .seekora-docsearch-hit-tree-icon { width: 16px; height: 20px; color: var(--seekora-docsearch-border); }
226
+
227
+ .seekora-docsearch-footer { display: flex; align-items: center; justify-content: space-between; padding: var(--seekora-docsearch-spacing-md) var(--seekora-docsearch-spacing-lg); background: var(--seekora-docsearch-background-secondary); border-top: 1px solid var(--seekora-docsearch-border-light); }
228
+ .seekora-docsearch-footer-commands { display: flex; align-items: center; }
229
+ .seekora-docsearch-footer-commands-list { display: flex; align-items: center; gap: var(--seekora-docsearch-spacing-lg); list-style: none; margin: 0; padding: 0; }
230
+ .seekora-docsearch-footer-command { display: flex; align-items: center; gap: var(--seekora-docsearch-spacing-xs); color: var(--seekora-docsearch-text-muted); font-size: var(--seekora-docsearch-font-size-xs); }
231
+ .seekora-docsearch-key { display: inline-flex; align-items: center; justify-content: center; min-width: 20px; height: 20px; padding: 0 4px; background: var(--seekora-docsearch-key-bg); border: 1px solid var(--seekora-docsearch-key-border); border-radius: var(--seekora-docsearch-radius-sm); color: var(--seekora-docsearch-key-text); font-family: var(--seekora-docsearch-font-family); font-size: var(--seekora-docsearch-font-size-xs); font-weight: var(--seekora-docsearch-font-weight-medium); box-shadow: inset 0 -1px 0 var(--seekora-docsearch-key-border); }
232
+ .seekora-docsearch-footer-logo { display: flex; align-items: center; gap: var(--seekora-docsearch-spacing-sm); }
233
+ .seekora-docsearch-footer-logo-text { color: var(--seekora-docsearch-text-secondary); font-size: var(--seekora-docsearch-font-size-xs); }
234
+ .seekora-docsearch-footer-logo-link { display: flex; align-items: center; color: var(--seekora-docsearch-text); text-decoration: none; transition: color var(--seekora-docsearch-transition-fast) ease; }
235
+ .seekora-docsearch-footer-logo-link:hover { color: var(--seekora-docsearch-primary); }
236
+ .seekora-docsearch-logo { height: 16px; width: auto; }
237
+ @media (max-width: 640px) { .seekora-docsearch-footer { justify-content: center; } .seekora-docsearch-footer-commands { display: none; } }