aidos-ui 4.0.4 → 4.0.6

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 (376) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +23 -3
  3. package/dist/index.d.ts +801 -68
  4. package/dist/index.js +3934 -68
  5. package/dist/index.js.map +1 -1
  6. package/dist/jsx-dev-runtime.d.ts +6 -2
  7. package/dist/jsx-dev-runtime.js +87 -42
  8. package/dist/jsx-dev-runtime.js.map +1 -1
  9. package/dist/jsx-runtime.d.ts +1 -1
  10. package/dist/jsx-runtime.js +2 -2
  11. package/dist/jsx-runtime.js.map +1 -1
  12. package/dist/vite-plugin-jss-debug.d.ts +3 -1
  13. package/dist/vite-plugin-jss-debug.js +57 -74
  14. package/dist/vite-plugin-jss-debug.js.map +1 -1
  15. package/package.json +61 -27
  16. package/.prettierrc +0 -4
  17. package/CLAUDE.md +0 -72
  18. package/dist/Badge.d.ts +0 -6
  19. package/dist/Badge.js +0 -22
  20. package/dist/Badge.js.map +0 -1
  21. package/dist/BaseButton.d.ts +0 -14
  22. package/dist/BaseButton.js +0 -23
  23. package/dist/BaseButton.js.map +0 -1
  24. package/dist/BaseInput.d.ts +0 -14
  25. package/dist/BaseInput.js +0 -15
  26. package/dist/BaseInput.js.map +0 -1
  27. package/dist/BaseLink.d.ts +0 -18
  28. package/dist/BaseLink.js +0 -29
  29. package/dist/BaseLink.js.map +0 -1
  30. package/dist/BaseList.d.ts +0 -6
  31. package/dist/BaseList.js +0 -14
  32. package/dist/BaseList.js.map +0 -1
  33. package/dist/BaseListAddOn.d.ts +0 -5
  34. package/dist/BaseListAddOn.js +0 -7
  35. package/dist/BaseListAddOn.js.map +0 -1
  36. package/dist/BaseListItem.d.ts +0 -26
  37. package/dist/BaseListItem.js +0 -29
  38. package/dist/BaseListItem.js.map +0 -1
  39. package/dist/BaseView.d.ts +0 -12
  40. package/dist/BaseView.js +0 -26
  41. package/dist/BaseView.js.map +0 -1
  42. package/dist/Box.d.ts +0 -4
  43. package/dist/Box.js +0 -6
  44. package/dist/Box.js.map +0 -1
  45. package/dist/Button.d.ts +0 -20
  46. package/dist/Button.js +0 -19
  47. package/dist/Button.js.map +0 -1
  48. package/dist/Calendar.d.ts +0 -18
  49. package/dist/Calendar.js +0 -57
  50. package/dist/Calendar.js.map +0 -1
  51. package/dist/Card.d.ts +0 -4
  52. package/dist/Card.js +0 -14
  53. package/dist/Card.js.map +0 -1
  54. package/dist/Checkbox.d.ts +0 -11
  55. package/dist/Checkbox.js +0 -32
  56. package/dist/Checkbox.js.map +0 -1
  57. package/dist/Circle.d.ts +0 -5
  58. package/dist/Circle.js +0 -12
  59. package/dist/Circle.js.map +0 -1
  60. package/dist/Column.d.ts +0 -6
  61. package/dist/Column.js +0 -7
  62. package/dist/Column.js.map +0 -1
  63. package/dist/DarkMode.d.ts +0 -13
  64. package/dist/DarkMode.js +0 -62
  65. package/dist/DarkMode.js.map +0 -1
  66. package/dist/DateInput.d.ts +0 -13
  67. package/dist/DateInput.js +0 -29
  68. package/dist/DateInput.js.map +0 -1
  69. package/dist/DatePicker.d.ts +0 -11
  70. package/dist/DatePicker.js +0 -34
  71. package/dist/DatePicker.js.map +0 -1
  72. package/dist/DatetimeInput.d.ts +0 -13
  73. package/dist/DatetimeInput.js +0 -31
  74. package/dist/DatetimeInput.js.map +0 -1
  75. package/dist/DesignBook.d.ts +0 -1
  76. package/dist/DesignBook.js +0 -55
  77. package/dist/DesignBook.js.map +0 -1
  78. package/dist/Dialog.d.ts +0 -17
  79. package/dist/Dialog.js +0 -92
  80. package/dist/Dialog.js.map +0 -1
  81. package/dist/Dropdown.d.ts +0 -14
  82. package/dist/Dropdown.js +0 -65
  83. package/dist/Dropdown.js.map +0 -1
  84. package/dist/Emitter.d.ts +0 -6
  85. package/dist/Emitter.js +0 -19
  86. package/dist/Emitter.js.map +0 -1
  87. package/dist/FlexLayout.d.ts +0 -11
  88. package/dist/FlexLayout.js +0 -18
  89. package/dist/FlexLayout.js.map +0 -1
  90. package/dist/Icon.d.ts +0 -12
  91. package/dist/Icon.js +0 -60
  92. package/dist/Icon.js.map +0 -1
  93. package/dist/IconButton.d.ts +0 -11
  94. package/dist/IconButton.js +0 -34
  95. package/dist/IconButton.js.map +0 -1
  96. package/dist/IconLink.d.ts +0 -9
  97. package/dist/IconLink.js +0 -32
  98. package/dist/IconLink.js.map +0 -1
  99. package/dist/IconType.d.ts +0 -1
  100. package/dist/IconType.js +0 -2
  101. package/dist/IconType.js.map +0 -1
  102. package/dist/Interactable.d.ts +0 -50
  103. package/dist/Interactable.js +0 -169
  104. package/dist/Interactable.js.map +0 -1
  105. package/dist/JSSComment.d.ts +0 -10
  106. package/dist/JSSComment.js +0 -52
  107. package/dist/JSSComment.js.map +0 -1
  108. package/dist/Link.d.ts +0 -22
  109. package/dist/Link.js +0 -29
  110. package/dist/Link.js.map +0 -1
  111. package/dist/List.d.ts +0 -15
  112. package/dist/List.js +0 -29
  113. package/dist/List.js.map +0 -1
  114. package/dist/ListButtonItem.d.ts +0 -14
  115. package/dist/ListButtonItem.js +0 -11
  116. package/dist/ListButtonItem.js.map +0 -1
  117. package/dist/ListDivider.d.ts +0 -1
  118. package/dist/ListDivider.js +0 -12
  119. package/dist/ListDivider.js.map +0 -1
  120. package/dist/ListHeaderItem.d.ts +0 -10
  121. package/dist/ListHeaderItem.js +0 -15
  122. package/dist/ListHeaderItem.js.map +0 -1
  123. package/dist/ListItem.d.ts +0 -9
  124. package/dist/ListItem.js +0 -9
  125. package/dist/ListItem.js.map +0 -1
  126. package/dist/ListLinkItem.d.ts +0 -16
  127. package/dist/ListLinkItem.js +0 -11
  128. package/dist/ListLinkItem.js.map +0 -1
  129. package/dist/ListSpacer.d.ts +0 -1
  130. package/dist/ListSpacer.js +0 -13
  131. package/dist/ListSpacer.js.map +0 -1
  132. package/dist/MenuIcon.d.ts +0 -5
  133. package/dist/MenuIcon.js +0 -31
  134. package/dist/MenuIcon.js.map +0 -1
  135. package/dist/NextJSRouter.d.ts +0 -1
  136. package/dist/NextJSRouter.js +0 -37
  137. package/dist/NextJSRouter.js.map +0 -1
  138. package/dist/NextJSRouterState.d.ts +0 -38
  139. package/dist/NextJSRouterState.js +0 -111
  140. package/dist/NextJSRouterState.js.map +0 -1
  141. package/dist/OnVisible.d.ts +0 -5
  142. package/dist/OnVisible.js +0 -28
  143. package/dist/OnVisible.js.map +0 -1
  144. package/dist/Popover.d.ts +0 -22
  145. package/dist/Popover.js +0 -90
  146. package/dist/Popover.js.map +0 -1
  147. package/dist/ProgressBar.d.ts +0 -7
  148. package/dist/ProgressBar.js +0 -42
  149. package/dist/ProgressBar.js.map +0 -1
  150. package/dist/ProgressCircle.d.ts +0 -5
  151. package/dist/ProgressCircle.js +0 -12
  152. package/dist/ProgressCircle.js.map +0 -1
  153. package/dist/Providers.d.ts +0 -9
  154. package/dist/Providers.js +0 -16
  155. package/dist/Providers.js.map +0 -1
  156. package/dist/RangeInput.d.ts +0 -14
  157. package/dist/RangeInput.js +0 -32
  158. package/dist/RangeInput.js.map +0 -1
  159. package/dist/ResultOrError.d.ts +0 -13
  160. package/dist/ResultOrError.js +0 -7
  161. package/dist/ResultOrError.js.map +0 -1
  162. package/dist/RootView.d.ts +0 -5
  163. package/dist/RootView.js +0 -35
  164. package/dist/RootView.js.map +0 -1
  165. package/dist/Row.d.ts +0 -6
  166. package/dist/Row.js +0 -7
  167. package/dist/Row.js.map +0 -1
  168. package/dist/Select.d.ts +0 -9
  169. package/dist/Select.js +0 -17
  170. package/dist/Select.js.map +0 -1
  171. package/dist/StackContext.d.ts +0 -8
  172. package/dist/StackContext.js +0 -25
  173. package/dist/StackContext.js.map +0 -1
  174. package/dist/StaticCheckbox.d.ts +0 -16
  175. package/dist/StaticCheckbox.js +0 -48
  176. package/dist/StaticCheckbox.js.map +0 -1
  177. package/dist/Storage.d.ts +0 -13
  178. package/dist/Storage.js +0 -146
  179. package/dist/Storage.js.map +0 -1
  180. package/dist/Stream.d.ts +0 -9
  181. package/dist/Stream.js +0 -36
  182. package/dist/Stream.js.map +0 -1
  183. package/dist/Sublist.d.ts +0 -12
  184. package/dist/Sublist.js +0 -18
  185. package/dist/Sublist.js.map +0 -1
  186. package/dist/SubmitIconInput.d.ts +0 -8
  187. package/dist/SubmitIconInput.js +0 -25
  188. package/dist/SubmitIconInput.js.map +0 -1
  189. package/dist/Tabs.d.ts +0 -23
  190. package/dist/Tabs.js +0 -39
  191. package/dist/Tabs.js.map +0 -1
  192. package/dist/Text.d.ts +0 -25
  193. package/dist/Text.js +0 -52
  194. package/dist/Text.js.map +0 -1
  195. package/dist/TextArea.d.ts +0 -11
  196. package/dist/TextArea.js +0 -27
  197. package/dist/TextArea.js.map +0 -1
  198. package/dist/TextInput.d.ts +0 -15
  199. package/dist/TextInput.js +0 -61
  200. package/dist/TextInput.js.map +0 -1
  201. package/dist/TextInputWithState.d.ts +0 -8
  202. package/dist/TextInputWithState.js +0 -14
  203. package/dist/TextInputWithState.js.map +0 -1
  204. package/dist/TextPairing.d.ts +0 -21
  205. package/dist/TextPairing.js +0 -26
  206. package/dist/TextPairing.js.map +0 -1
  207. package/dist/TimeInput.d.ts +0 -15
  208. package/dist/TimeInput.js +0 -58
  209. package/dist/TimeInput.js.map +0 -1
  210. package/dist/Tooltip.d.ts +0 -11
  211. package/dist/Tooltip.js +0 -73
  212. package/dist/Tooltip.js.map +0 -1
  213. package/dist/aria.d.ts +0 -8
  214. package/dist/aria.js +0 -42
  215. package/dist/aria.js.map +0 -1
  216. package/dist/guid.d.ts +0 -1
  217. package/dist/guid.js +0 -7
  218. package/dist/guid.js.map +0 -1
  219. package/dist/hash.d.ts +0 -1
  220. package/dist/hash.js +0 -20
  221. package/dist/hash.js.map +0 -1
  222. package/dist/isServer.d.ts +0 -1
  223. package/dist/isServer.js +0 -4
  224. package/dist/isServer.js.map +0 -1
  225. package/dist/jss.d.ts +0 -122
  226. package/dist/jss.js +0 -515
  227. package/dist/jss.js.map +0 -1
  228. package/dist/numberToBase.d.ts +0 -1
  229. package/dist/numberToBase.js +0 -44
  230. package/dist/numberToBase.js.map +0 -1
  231. package/dist/stateMachineContextFactory.d.ts +0 -36
  232. package/dist/stateMachineContextFactory.js +0 -48
  233. package/dist/stateMachineContextFactory.js.map +0 -1
  234. package/dist/useCookie.d.ts +0 -9
  235. package/dist/useCookie.js +0 -67
  236. package/dist/useCookie.js.map +0 -1
  237. package/dist/useKeyboard.d.ts +0 -8
  238. package/dist/useKeyboard.js +0 -26
  239. package/dist/useKeyboard.js.map +0 -1
  240. package/dist/useNavigation.d.ts +0 -5
  241. package/dist/useNavigation.js +0 -79
  242. package/dist/useNavigation.js.map +0 -1
  243. package/dist/usePromise.d.ts +0 -1
  244. package/dist/usePromise.js +0 -12
  245. package/dist/usePromise.js.map +0 -1
  246. package/dist/useRefEffect.d.ts +0 -1
  247. package/dist/useRefEffect.js +0 -15
  248. package/dist/useRefEffect.js.map +0 -1
  249. package/jss-debug-loader.mjs +0 -44
  250. package/next-env.d.ts +0 -6
  251. package/next.config.js +0 -33
  252. package/scripts/embeddings.js +0 -93
  253. package/scripts/openai_embeddings.js +0 -100
  254. package/scripts/publish.js +0 -28
  255. package/scripts/test_embeddings.js +0 -47
  256. package/src/Badge.tsx +0 -36
  257. package/src/BaseButton.tsx +0 -62
  258. package/src/BaseInput.tsx +0 -63
  259. package/src/BaseLink.tsx +0 -80
  260. package/src/BaseList.tsx +0 -26
  261. package/src/BaseListAddOn.tsx +0 -10
  262. package/src/BaseListItem.tsx +0 -119
  263. package/src/BaseView.tsx +0 -57
  264. package/src/Box.tsx +0 -20
  265. package/src/Button.tsx +0 -90
  266. package/src/Calendar.tsx +0 -123
  267. package/src/Card.tsx +0 -30
  268. package/src/Checkbox.tsx +0 -63
  269. package/src/Circle.tsx +0 -24
  270. package/src/Column.tsx +0 -12
  271. package/src/DarkMode.tsx +0 -100
  272. package/src/DateInput.tsx +0 -63
  273. package/src/DatePicker.tsx +0 -67
  274. package/src/DatetimeInput.tsx +0 -64
  275. package/src/DesignBook.tsx +0 -677
  276. package/src/Dialog.tsx +0 -150
  277. package/src/Dropdown.tsx +0 -146
  278. package/src/Emitter.ts +0 -26
  279. package/src/FlexLayout.tsx +0 -53
  280. package/src/Icon.tsx +0 -80
  281. package/src/IconButton.tsx +0 -81
  282. package/src/IconLink.tsx +0 -59
  283. package/src/IconType.ts +0 -787
  284. package/src/Interactable.tsx +0 -210
  285. package/src/JSSComment.tsx +0 -56
  286. package/src/Link.tsx +0 -110
  287. package/src/List.tsx +0 -58
  288. package/src/ListButtonItem.tsx +0 -69
  289. package/src/ListDivider.tsx +0 -13
  290. package/src/ListHeaderItem.tsx +0 -45
  291. package/src/ListItem.tsx +0 -24
  292. package/src/ListLinkItem.tsx +0 -76
  293. package/src/ListSpacer.tsx +0 -14
  294. package/src/MenuIcon.tsx +0 -50
  295. package/src/NextJSRouter.tsx +0 -60
  296. package/src/NextJSRouterState.tsx +0 -154
  297. package/src/OnVisible.tsx +0 -42
  298. package/src/Popover.tsx +0 -145
  299. package/src/ProgressBar.tsx +0 -63
  300. package/src/ProgressCircle.tsx +0 -38
  301. package/src/Providers.tsx +0 -33
  302. package/src/RangeInput.tsx +0 -82
  303. package/src/ResultOrError.ts +0 -15
  304. package/src/RootView.tsx +0 -55
  305. package/src/Row.tsx +0 -12
  306. package/src/Select.tsx +0 -39
  307. package/src/StackContext.tsx +0 -52
  308. package/src/StaticCheckbox.tsx +0 -72
  309. package/src/Storage.tsx +0 -198
  310. package/src/Stream.tsx +0 -50
  311. package/src/Sublist.tsx +0 -61
  312. package/src/SubmitIconInput.tsx +0 -45
  313. package/src/Tabs.tsx +0 -110
  314. package/src/Text.tsx +0 -111
  315. package/src/TextArea.tsx +0 -58
  316. package/src/TextInput.tsx +0 -123
  317. package/src/TextInputWithState.tsx +0 -32
  318. package/src/TextPairing.tsx +0 -115
  319. package/src/TimeInput.tsx +0 -109
  320. package/src/Tooltip.tsx +0 -109
  321. package/src/aria.ts +0 -72
  322. package/src/docs/mdx.tsx +0 -137
  323. package/src/docs/pages.ts +0 -115
  324. package/src/docs/searchIndex.ts +0 -1
  325. package/src/examples/ExampleDialog.tsx +0 -28
  326. package/src/guid.ts +0 -7
  327. package/src/hash.ts +0 -21
  328. package/src/index.ts +0 -68
  329. package/src/isServer.ts +0 -3
  330. package/src/jss.tsx +0 -712
  331. package/src/jsx-dev-runtime.ts +0 -74
  332. package/src/jsx-runtime.ts +0 -2
  333. package/src/numberToBase.ts +0 -52
  334. package/src/pages/Badge.mdx +0 -152
  335. package/src/pages/Button.mdx +0 -163
  336. package/src/pages/Calendar.mdx +0 -254
  337. package/src/pages/Card.mdx +0 -147
  338. package/src/pages/Checkbox.mdx +0 -131
  339. package/src/pages/Dialog.mdx +0 -197
  340. package/src/pages/FlexLayout.mdx +0 -211
  341. package/src/pages/Hashing.mdx +0 -211
  342. package/src/pages/Icon.mdx +0 -171
  343. package/src/pages/IconButton.mdx +0 -155
  344. package/src/pages/Link.mdx +0 -160
  345. package/src/pages/List.mdx +0 -262
  346. package/src/pages/ListHeader.mdx +0 -220
  347. package/src/pages/Popover.mdx +0 -223
  348. package/src/pages/ProgressBar.mdx +0 -200
  349. package/src/pages/ProgressCircle.mdx +0 -218
  350. package/src/pages/RangeInput.mdx +0 -237
  351. package/src/pages/Tabs.mdx +0 -281
  352. package/src/pages/Text.mdx +0 -154
  353. package/src/pages/TextInput.mdx +0 -235
  354. package/src/pages/TextPairing.mdx +0 -204
  355. package/src/pages/TimeInput.mdx +0 -178
  356. package/src/pages/Tooltip.mdx +0 -115
  357. package/src/pages/_app.tsx +0 -466
  358. package/src/pages/_document.tsx +0 -30
  359. package/src/pages/css-in-js.mdx +0 -240
  360. package/src/pages/index.mdx +0 -58
  361. package/src/pages/navigation.mdx +0 -158
  362. package/src/pages/prism.css +0 -3
  363. package/src/pages/useCookie.mdx +0 -176
  364. package/src/pages/useKeyboard.mdx +0 -257
  365. package/src/pages/useNavigation.mdx +0 -258
  366. package/src/pages/usePromise.mdx +0 -280
  367. package/src/pages/useRefEffect.mdx +0 -251
  368. package/src/stateMachineContextFactory.tsx +0 -111
  369. package/src/useCookie.tsx +0 -95
  370. package/src/useKeyboard.tsx +0 -43
  371. package/src/useNavigation.tsx +0 -89
  372. package/src/usePromise.tsx +0 -18
  373. package/src/useRefEffect.tsx +0 -18
  374. package/src/vite-plugin-jss-debug.ts +0 -77
  375. package/tsconfig.build.json +0 -23
  376. package/tsconfig.json +0 -38
@@ -1,466 +0,0 @@
1
- import type { AppProps } from "next/app";
2
- import Link from "next/link";
3
- import Head from "next/head";
4
- import React, { useCallback, useEffect, useRef, useState } from "react";
5
- import {
6
- TABLET,
7
- cssVar,
8
- darkTheme,
9
- desktop,
10
- getPadding,
11
- laptop,
12
- lightTheme,
13
- mobile,
14
- tablet,
15
- } from "../jss";
16
- import { Providers } from "../Providers";
17
- import { BaseView } from "../BaseView";
18
- import { ListDivider } from "../ListDivider";
19
- import { List } from "../List";
20
- import { ListLinkItem } from "../ListLinkItem";
21
- import { Row } from "../Row";
22
- import { useRouter } from "next/dist/client/router";
23
- import { highlightAll } from "prismjs";
24
- import { IconLink } from "../IconLink";
25
- import { TextInput } from "../TextInput";
26
- import { DarkModeToggle } from "../DarkMode";
27
- import { useKeyboard } from "../useKeyboard";
28
- import { Sublist } from "../Sublist";
29
-
30
- import "./prism.css";
31
- import { IconButton } from "../IconButton";
32
- import { Column } from "../Column";
33
- import { Icon } from "../Icon";
34
- import { BaseLinkComponentOverrideContext } from "../BaseLink";
35
- import { DocsMDXProvider, labelToID } from "../docs/mdx";
36
- import type { Pipeline } from "@xenova/transformers";
37
- import { pages } from "../docs/pages";
38
-
39
- import { Inter } from "next/font/google";
40
-
41
- const inter = Inter({ subsets: ["latin"] });
42
-
43
- let transformersPromise: Promise<typeof import("@xenova/transformers")> | null =
44
- null;
45
- const getTransformers = () => {
46
- if (!transformersPromise) {
47
- transformersPromise = import("@xenova/transformers");
48
- }
49
- return transformersPromise;
50
- };
51
-
52
- const searchIndex = import("../docs/searchIndex").then(
53
- (module) => module.index
54
- );
55
-
56
- export default function App({ Component, pageProps }: AppProps) {
57
- const router = useRouter();
58
- const [pathname, setPathname] = useState(router.pathname);
59
- const [showList, setShowList] = useState(false);
60
- const [query, setQuery] = useState("");
61
- const [queriedPages, setQueriedPages] = useState<Array<PageLink>>([]);
62
- const queriedPagesRef = useRef<Array<PageLink>>([]);
63
- const queryIndexRef = useRef<void | number>(undefined);
64
- const queryInputRef = useKeyboard<HTMLInputElement>([
65
- {
66
- key: "K",
67
- metaKey: true,
68
- action: (root) => root.focus(),
69
- },
70
- {
71
- key: "ArrowUp",
72
- onlyWhenFocused: true,
73
- action: () => {
74
- setQueryIndex((current) => Math.max((current ?? 0) - 1, 0));
75
- },
76
- },
77
- {
78
- key: "K",
79
- ctrlKey: true,
80
- onlyWhenFocused: true,
81
- action: () => {
82
- setQueryIndex((current) => Math.max((current ?? 0) - 1, 0));
83
- },
84
- },
85
- {
86
- key: "ArrowDown",
87
- onlyWhenFocused: true,
88
- action: () => {
89
- setQueryIndex((current) =>
90
- Math.min((current ?? 0) + 1, queriedPagesRef.current.length - 1)
91
- );
92
- },
93
- },
94
- {
95
- key: "J",
96
- onlyWhenFocused: true,
97
- ctrlKey: true,
98
- action: () => {
99
- setQueryIndex((current) =>
100
- Math.min((current ?? 0) + 1, queriedPagesRef.current.length - 1)
101
- );
102
- },
103
- },
104
- {
105
- key: "Enter",
106
- onlyWhenFocused: true,
107
- action: () => {
108
- if (queryIndexRef.current === undefined) {
109
- return;
110
- } else if (queriedPagesRef.current.length === 0) {
111
- return;
112
- } else {
113
- const element = queriedPagesRef.current[queryIndexRef.current];
114
- if (element.type === "link") {
115
- window.open(`/${element.page}`, "_self");
116
- setQuery("");
117
- }
118
- }
119
- },
120
- },
121
- {
122
- key: "Escape",
123
- onlyWhenFocused: true,
124
- action: () => {
125
- setQuery("");
126
- },
127
- },
128
- ]);
129
- const [queryIndex, setQueryIndex] = useState<void | number>(undefined);
130
-
131
- const sanetisedQuery = query
132
- .replace(/[^a-zA-Z]+/g, "")
133
- .trim()
134
- .toLowerCase();
135
-
136
- const isQuerying = sanetisedQuery.length > 0;
137
-
138
- useEffect(() => {
139
- if (isQuerying) {
140
- setQueryIndex(0);
141
- if (window.innerWidth <= TABLET) {
142
- setShowList(true);
143
- }
144
- } else {
145
- setQueryIndex(undefined);
146
- if (window.innerWidth <= TABLET) {
147
- setShowList(false);
148
- }
149
- }
150
- }, [isQuerying]);
151
-
152
- useEffect(() => {
153
- queryIndexRef.current = queryIndex;
154
- }, [queryIndex]);
155
-
156
- const stateRef = useRef<string | null>(null);
157
-
158
- useEffect(() => {
159
- if (sanetisedQuery.length === 0) {
160
- return;
161
- }
162
-
163
- const effectId = self.crypto.randomUUID();
164
- stateRef.current = effectId;
165
-
166
- const isInvalid = () => effectId !== stateRef.current;
167
-
168
- async function run() {
169
- const data = await searchIndex;
170
-
171
- if (isInvalid()) {
172
- return;
173
- }
174
-
175
- const generateEmbeddings = await loadModel();
176
-
177
- if (isInvalid()) {
178
- return;
179
- }
180
-
181
- const { dot } = await getTransformers();
182
-
183
- const queryEmbeddings = await generateEmbeddings(query, {
184
- normalize: true,
185
- pooling: "mean",
186
- }).then((embedding) => embedding.data);
187
-
188
- if (isInvalid()) {
189
- return;
190
- }
191
-
192
- let seen = new Set();
193
-
194
- queriedPagesRef.current = data.index
195
- .map((element) => {
196
- return {
197
- ...element,
198
- dot: dot(queryEmbeddings, element.embedding),
199
- };
200
- })
201
- .filter((element) => element.dot > 0.2)
202
- .sort((a, b) => b.dot - a.dot)
203
- .slice(0, 5)
204
- .filter((result) => {
205
- if (seen.has(result.filename)) {
206
- return false;
207
- } else {
208
- seen.add(result.filename);
209
- return true;
210
- }
211
- })
212
- .map((result) => {
213
- const heading =
214
- result.headingDepth > 1 && result.heading.length > 0
215
- ? labelToID(result.heading)
216
- : null;
217
- const page = result.filename === "index" ? "" : result.filename;
218
- return {
219
- type: "link",
220
- name: result.filename,
221
- page: heading ? `${page}#${heading}` : page,
222
- };
223
- });
224
- setQueriedPages(queriedPagesRef.current.slice());
225
- }
226
-
227
- run();
228
- }, [sanetisedQuery]);
229
-
230
- useEffect(() => {
231
- highlightAll();
232
- });
233
-
234
- const link = useCallback((props) => <Link {...props} />, []);
235
-
236
- return (
237
- <>
238
- <Head>
239
- <title>Aidos UI</title>
240
- <meta name="description" content="A humble UI toolkit" />
241
- <meta name="viewport" content="width=device-width, initial-scale=1" />
242
- </Head>
243
- <BaseLinkComponentOverrideContext.Provider value={link}>
244
- {/* @ts-ignore */}
245
- <style jsx global>{`
246
- html {
247
- font-family: ${inter.style.fontFamily};
248
- }
249
- `}</style>
250
-
251
- <Providers themes={{ light: lightTheme, dark: darkTheme }}>
252
- <DocsMDXProvider>
253
- <BaseView
254
- jss={[
255
- {
256
- height: "100%",
257
- overflow: "hidden",
258
- display: "grid",
259
- },
260
- mobile({
261
- gridTemplateColumns: "1fr",
262
- gridTemplateRows: "auto 1fr",
263
- gridTemplateAreas: `
264
- "header"
265
- "content"
266
- `,
267
- }),
268
- tablet({
269
- gridTemplateColumns: "1fr",
270
- gridTemplateRows: "auto 1fr",
271
- gridTemplateAreas: `
272
- "header"
273
- "content"
274
- `,
275
- }),
276
- laptop({
277
- gridTemplateColumns: "350px 1fr",
278
- gridTemplateRows: "auto 1fr",
279
- gridTemplateAreas: `
280
- "header content"
281
- "list content"
282
- `,
283
- }),
284
- desktop({
285
- gridTemplateColumns: "400px 1fr",
286
- gridTemplateRows: "auto 1fr",
287
- gridTemplateAreas: `
288
- "header content"
289
- "list content"
290
- `,
291
- }),
292
- ]}
293
- >
294
- <Row
295
- jss={{
296
- gridArea: "header",
297
- borderBottom: `1px solid ${cssVar("--divider")}`,
298
- }}
299
- gap="medium"
300
- padding="medium"
301
- align="center"
302
- justify="space-between"
303
- >
304
- <TextInput
305
- jssRoot={{ flexGrow: 1 }}
306
- ref={queryInputRef}
307
- role="combobox"
308
- aria-haspopup="grid"
309
- aria-expanded={isQuerying ? "true" : "false"}
310
- aria-controls=""
311
- placeholder="Semantic search (⌘K)"
312
- value={query}
313
- onValueChange={(value) => {
314
- setQuery(value);
315
- }}
316
- addOn={
317
- <Icon icon="fa-search" size="medium" color="secondary" />
318
- }
319
- />
320
- <Row gap="medium" align="center">
321
- <DarkModeToggle />
322
- <IconLink
323
- aria-label="github"
324
- target="_blank"
325
- href="https://github.com/germtb/aidos-ui"
326
- icon="fa-github"
327
- size="medium"
328
- color="secondary"
329
- bare
330
- />
331
- <IconButton
332
- aria-label={showList ? "Hide list" : "Open list"}
333
- jss={[
334
- laptop({ display: "none" }),
335
- desktop({ display: "none" }),
336
- ]}
337
- icon={showList ? "fa-close" : "fa-bars"}
338
- color="secondary"
339
- onClick={() => setShowList((x) => !x)}
340
- size="medium"
341
- bare
342
- />
343
- </Row>
344
- </Row>
345
- <ListDivider />
346
- <Column
347
- jss={[
348
- {
349
- gridArea: "list",
350
- zIndex: 1,
351
- padding: cssVar("--spacing-m"),
352
- overflow: "hidden",
353
- backgroundColor: cssVar("--primary-background"),
354
- },
355
- mobile({
356
- position: "absolute",
357
- display: showList ? "flex" : "none",
358
- left: 0,
359
- right: 0,
360
- top: 59,
361
- bottom: 0,
362
- }),
363
- tablet({
364
- position: "absolute",
365
- display: showList ? "flex" : "none",
366
- left: 0,
367
- right: 0,
368
- top: 59,
369
- bottom: 0,
370
- }),
371
- ]}
372
- >
373
- <List
374
- bare
375
- id="main-list"
376
- navigation={true}
377
- jss={[{ overflow: "scroll" }]}
378
- ariaLabel={"API"}
379
- >
380
- {(isQuerying ? queriedPages : pages).map((element, index) => {
381
- if (element.type === "link") {
382
- const page = element.page;
383
- const name = element.name;
384
-
385
- return (
386
- <ListLinkItem
387
- key={isQuerying ? `${index}-${page}` : page}
388
- onClick={() => {
389
- setPathname(`/${page}`);
390
- setQuery("");
391
- setShowList(false);
392
- }}
393
- selected={
394
- isQuerying
395
- ? index === queryIndex
396
- : pathname === `/${page}`
397
- }
398
- href={`/${page}`}
399
- headline={name ?? page}
400
- headlineSize={element.headlineSize}
401
- headlineBold={element.headlineBold}
402
- />
403
- );
404
- } else if (element.type === "section") {
405
- return (
406
- <Sublist
407
- key={`section-${element.label}`}
408
- label={element.label}
409
- labelBold
410
- >
411
- {element.content.map((element) => {
412
- const page = element.page;
413
- return (
414
- <ListLinkItem
415
- key={page}
416
- onClick={() => {
417
- setPathname(`/${page}`);
418
- setShowList(false);
419
- }}
420
- selected={pathname === `/${page}`}
421
- href={`/${page}`}
422
- headline={element.name ?? page}
423
- headlineSize={element.headlineSize}
424
- headlineBold={element.headlineBold}
425
- />
426
- );
427
- })}
428
- </Sublist>
429
- );
430
- } else {
431
- const _: never = element;
432
- }
433
- })}
434
- </List>
435
- </Column>
436
- <BaseView
437
- jss={[
438
- {
439
- borderLeft: `1px solid ${cssVar("--divider")}`,
440
- gridArea: "content",
441
- overflow: "scroll",
442
- },
443
- getPadding(["large", "xlarge"]),
444
- ]}
445
- >
446
- <Component {...pageProps} />
447
- </BaseView>
448
- </BaseView>
449
- </DocsMDXProvider>
450
- </Providers>
451
- </BaseLinkComponentOverrideContext.Provider>
452
- </>
453
- );
454
- }
455
-
456
- let modelPromise: Promise<Pipeline> | null = null;
457
-
458
- const loadModel: () => Promise<Pipeline> = async () => {
459
- const { pipeline } = await getTransformers();
460
- if (modelPromise == null) {
461
- modelPromise = pipeline("feature-extraction", "Xenova/all-MiniLM-L6-v2");
462
- }
463
- const generateEmbeddings = await modelPromise;
464
-
465
- return generateEmbeddings;
466
- };
@@ -1,30 +0,0 @@
1
- import { Html, Head, Main, NextScript } from "next/document";
2
- import React from "react";
3
- import { useCookie } from "../useCookie";
4
- import { JSServerStyles } from "../jss";
5
-
6
- export default function Document() {
7
- const [darkModeEnabled] = useCookie("dark-mode", {
8
- initialValue: false,
9
- loadingValue: false,
10
- });
11
-
12
- return (
13
- <Html lang="en">
14
- <Head>
15
- <JSServerStyles />
16
- </Head>
17
- <body className={darkModeEnabled ? "dark-mode" : ""}>
18
- <Main />
19
- <NextScript />
20
- <style>{`
21
- #__next {
22
- height: 100%;
23
- width: 100%;
24
- overflow-y: auto;
25
- }
26
- `}</style>
27
- </body>
28
- </Html>
29
- );
30
- }