@acmekit/docs-ui 2.13.41

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 (236) hide show
  1. package/dist/Items-YPPZD6C6.mjs +312 -0
  2. package/dist/chunk-JD7BP7O5.mjs +13144 -0
  3. package/dist/index.d.mts +1550 -0
  4. package/dist/index.d.ts +1550 -0
  5. package/dist/index.js +15218 -0
  6. package/dist/index.mjs +366 -0
  7. package/package.json +58 -0
  8. package/src/components/Badge/index.tsx +74 -0
  9. package/src/components/BadgesList/index.tsx +18 -0
  10. package/src/components/BetaBadge/index.tsx +24 -0
  11. package/src/components/Bordered/index.tsx +21 -0
  12. package/src/components/BorderedIcon/index.tsx +60 -0
  13. package/src/components/Breadcrumbs/index.tsx +83 -0
  14. package/src/components/Button/index.tsx +100 -0
  15. package/src/components/Card/Layout/Default/index.tsx +124 -0
  16. package/src/components/Card/Layout/Filler/index.tsx +30 -0
  17. package/src/components/Card/Layout/Large/index.tsx +88 -0
  18. package/src/components/Card/Layout/Mini/index.tsx +142 -0
  19. package/src/components/Card/index.tsx +50 -0
  20. package/src/components/CardList/index.tsx +40 -0
  21. package/src/components/ChildDocs/index.tsx +9 -0
  22. package/src/components/CodeBlock/Actions/AskAi/index.tsx +10 -0
  23. package/src/components/CodeBlock/Actions/Copy/index.tsx +59 -0
  24. package/src/components/CodeBlock/Actions/index.tsx +137 -0
  25. package/src/components/CodeBlock/Collapsible/Button/index.tsx +58 -0
  26. package/src/components/CodeBlock/Collapsible/Fade/index.tsx +55 -0
  27. package/src/components/CodeBlock/Collapsible/Lines/index.tsx +22 -0
  28. package/src/components/CodeBlock/Header/Wrapper/index.tsx +46 -0
  29. package/src/components/CodeBlock/Header/index.tsx +67 -0
  30. package/src/components/CodeBlock/Inline/index.tsx +20 -0
  31. package/src/components/CodeBlock/Line/index.tsx +331 -0
  32. package/src/components/CodeBlock/index.tsx +510 -0
  33. package/src/components/CodeMdx/index.tsx +45 -0
  34. package/src/components/CodeTabs/Item/index.tsx +67 -0
  35. package/src/components/CodeTabs/index.tsx +319 -0
  36. package/src/components/ContentMenu/Actions/index.tsx +7 -0
  37. package/src/components/ContentMenu/Products/index.tsx +64 -0
  38. package/src/components/ContentMenu/Toc/index.tsx +148 -0
  39. package/src/components/ContentMenu/Version/index.tsx +77 -0
  40. package/src/components/ContentMenu/index.tsx +31 -0
  41. package/src/components/CopyButton/index.tsx +76 -0
  42. package/src/components/Details/Summary/index.tsx +75 -0
  43. package/src/components/Details/index.tsx +98 -0
  44. package/src/components/DetailsList/index.tsx +32 -0
  45. package/src/components/DottedSeparator/index.tsx +30 -0
  46. package/src/components/EditButton/index.tsx +32 -0
  47. package/src/components/EditDate/index.tsx +33 -0
  48. package/src/components/ErrorPage/Icon/index.tsx +428 -0
  49. package/src/components/ErrorPage/index.tsx +32 -0
  50. package/src/components/Feedback/Solutions/index.tsx +105 -0
  51. package/src/components/Feedback/index.tsx +304 -0
  52. package/src/components/Footer/index.tsx +23 -0
  53. package/src/components/Heading/H1/index.tsx +21 -0
  54. package/src/components/Heading/H2/index.tsx +47 -0
  55. package/src/components/Heading/H3/index.tsx +42 -0
  56. package/src/components/Heading/H4/index.tsx +14 -0
  57. package/src/components/Heading/index.tsx +4 -0
  58. package/src/components/IconHeadline/index.tsx +15 -0
  59. package/src/components/Icons/AiAssistant/index.tsx +462 -0
  60. package/src/components/Icons/ArrowRightDown/index.tsx +30 -0
  61. package/src/components/Icons/BundledProduct/index.tsx +72 -0
  62. package/src/components/Icons/CalendarRefresh/index.tsx +70 -0
  63. package/src/components/Icons/ChefHat/index.tsx +65 -0
  64. package/src/components/Icons/CircleDottedLine/index.tsx +60 -0
  65. package/src/components/Icons/CloudSolid/index.tsx +47 -0
  66. package/src/components/Icons/ColoredAcmeKit/index.tsx +13 -0
  67. package/src/components/Icons/DecisionProcess/index.tsx +58 -0
  68. package/src/components/Icons/Erp/index.tsx +92 -0
  69. package/src/components/Icons/Github/index.tsx +22 -0
  70. package/src/components/Icons/House/index.tsx +23 -0
  71. package/src/components/Icons/ImageBinary/index.tsx +69 -0
  72. package/src/components/Icons/Kapa/index.tsx +22 -0
  73. package/src/components/Icons/Markdown/index.tsx +25 -0
  74. package/src/components/Icons/NavigationDropdown/Admin/index.tsx +33 -0
  75. package/src/components/Icons/NavigationDropdown/Doc/index.tsx +41 -0
  76. package/src/components/Icons/NavigationDropdown/DocV1/index.tsx +37 -0
  77. package/src/components/Icons/NavigationDropdown/Modules/index.tsx +33 -0
  78. package/src/components/Icons/NavigationDropdown/Resources/index.tsx +37 -0
  79. package/src/components/Icons/NavigationDropdown/Store/index.tsx +37 -0
  80. package/src/components/Icons/NavigationDropdown/Ui/index.tsx +37 -0
  81. package/src/components/Icons/NavigationDropdown/User/index.tsx +37 -0
  82. package/src/components/Icons/PuzzleColored/index.tsx +35 -0
  83. package/src/components/Icons/QuestionMark/index.tsx +23 -0
  84. package/src/components/Icons/Restock/index.tsx +55 -0
  85. package/src/components/Icons/ScrollText/index.tsx +68 -0
  86. package/src/components/Icons/ShadedBg/index.tsx +334 -0
  87. package/src/components/Icons/Shop/index.tsx +68 -0
  88. package/src/components/Icons/SidebarLeft/index.tsx +42 -0
  89. package/src/components/Icons/StripeColored/index.tsx +60 -0
  90. package/src/components/Icons/ThumbDown/index.tsx +23 -0
  91. package/src/components/Icons/ThumbUp/index.tsx +23 -0
  92. package/src/components/Icons/WindowPaintbrush/index.tsx +57 -0
  93. package/src/components/Icons/index.tsx +20 -0
  94. package/src/components/InlineCode/index.tsx +42 -0
  95. package/src/components/InlineIcon/index.tsx +21 -0
  96. package/src/components/InlineThemeImage/index.tsx +14 -0
  97. package/src/components/Input/Search/index.tsx +64 -0
  98. package/src/components/Input/Text/index.tsx +39 -0
  99. package/src/components/Kbd/index.tsx +33 -0
  100. package/src/components/Label/index.tsx +19 -0
  101. package/src/components/Link/index.tsx +67 -0
  102. package/src/components/LinkButton/index.tsx +43 -0
  103. package/src/components/Loading/Dots/index.tsx +16 -0
  104. package/src/components/Loading/Spinner/index.tsx +19 -0
  105. package/src/components/Loading/index.tsx +43 -0
  106. package/src/components/MDXComponents/index.tsx +209 -0
  107. package/src/components/MainNav/DesktopMenu/ThemeMenu/index.tsx +76 -0
  108. package/src/components/MainNav/DesktopMenu/index.tsx +100 -0
  109. package/src/components/MainNav/Items/Dropdown/index.tsx +88 -0
  110. package/src/components/MainNav/Items/Link/index.tsx +34 -0
  111. package/src/components/MainNav/Items/index.tsx +61 -0
  112. package/src/components/MainNav/MobileMenu/Main/index.tsx +67 -0
  113. package/src/components/MainNav/MobileMenu/SubMenu/index.tsx +77 -0
  114. package/src/components/MainNav/MobileMenu/index.tsx +103 -0
  115. package/src/components/MainNav/Version/index.tsx +33 -0
  116. package/src/components/MainNav/index.tsx +153 -0
  117. package/src/components/MarkdownContent/index.tsx +41 -0
  118. package/src/components/Menu/Action/index.tsx +43 -0
  119. package/src/components/Menu/Divider/index.tsx +35 -0
  120. package/src/components/Menu/Dropdown/index.tsx +78 -0
  121. package/src/components/Menu/Item/index.tsx +36 -0
  122. package/src/components/Menu/SubMenu/index.tsx +47 -0
  123. package/src/components/Menu/index.tsx +44 -0
  124. package/src/components/Modal/Footer/index.tsx +29 -0
  125. package/src/components/Modal/Header/index.tsx +33 -0
  126. package/src/components/Modal/index.tsx +124 -0
  127. package/src/components/Note/Layout/index.tsx +139 -0
  128. package/src/components/Note/Types/checks.tsx +7 -0
  129. package/src/components/Note/Types/default.tsx +7 -0
  130. package/src/components/Note/Types/error.tsx +7 -0
  131. package/src/components/Note/Types/soon.tsx +7 -0
  132. package/src/components/Note/Types/sucess.tsx +7 -0
  133. package/src/components/Note/Types/warning.tsx +7 -0
  134. package/src/components/Note/index.tsx +32 -0
  135. package/src/components/Notices/DeprecatedNotice/index.tsx +33 -0
  136. package/src/components/Notices/ExpandableNotice/index.tsx +36 -0
  137. package/src/components/Notices/FeatureFlagNotice/index.tsx +36 -0
  138. package/src/components/Notices/VersionNotice/index.tsx +37 -0
  139. package/src/components/Notification/Item/Layout/Default/index.tsx +89 -0
  140. package/src/components/Notification/Item/index.tsx +88 -0
  141. package/src/components/Notification/index.tsx +65 -0
  142. package/src/components/Pagination/Card/index.tsx +80 -0
  143. package/src/components/Pagination/index.tsx +35 -0
  144. package/src/components/Prerequisites/Item/index.tsx +43 -0
  145. package/src/components/Prerequisites/index.tsx +94 -0
  146. package/src/components/RadioItem/index.tsx +38 -0
  147. package/src/components/Rating/index.tsx +133 -0
  148. package/src/components/RootProviders/index.tsx +31 -0
  149. package/src/components/Select/Badge/index.tsx +122 -0
  150. package/src/components/Select/Dropdown/index.tsx +188 -0
  151. package/src/components/Select/Input/index.tsx +123 -0
  152. package/src/components/Select/index.ts +13 -0
  153. package/src/components/Sidebar/Child/index.tsx +43 -0
  154. package/src/components/Sidebar/Item/Category/index.tsx +151 -0
  155. package/src/components/Sidebar/Item/Link/index.tsx +174 -0
  156. package/src/components/Sidebar/Item/Sidebar/index.tsx +67 -0
  157. package/src/components/Sidebar/Item/SubCategory/index.tsx +83 -0
  158. package/src/components/Sidebar/Item/index.tsx +41 -0
  159. package/src/components/Sidebar/Top/MobileClose/index.tsx +21 -0
  160. package/src/components/Sidebar/Top/index.tsx +33 -0
  161. package/src/components/Sidebar/index.tsx +153 -0
  162. package/src/components/SourceCodeLink/index.tsx +37 -0
  163. package/src/components/SplitLists/index.tsx +58 -0
  164. package/src/components/Table/index.tsx +87 -0
  165. package/src/components/Tabs/index.tsx +106 -0
  166. package/src/components/TextArea/index.tsx +30 -0
  167. package/src/components/ThemeImage/index.tsx +26 -0
  168. package/src/components/Toggle/index.tsx +28 -0
  169. package/src/components/Tooltip/index.tsx +65 -0
  170. package/src/components/TypeList/Items/index.tsx +337 -0
  171. package/src/components/TypeList/index.tsx +63 -0
  172. package/src/components/WideSection/index.tsx +25 -0
  173. package/src/components/ZoomImg/index.tsx +17 -0
  174. package/src/components/index.ts +75 -0
  175. package/src/constants.tsx +261 -0
  176. package/src/global-config.ts +11 -0
  177. package/src/hooks/index.ts +14 -0
  178. package/src/hooks/use-active-on-scroll/index.tsx +223 -0
  179. package/src/hooks/use-click-outside/index.tsx +37 -0
  180. package/src/hooks/use-collapsible/index.tsx +128 -0
  181. package/src/hooks/use-collapsible-code-lines/index.tsx +149 -0
  182. package/src/hooks/use-copy/index.tsx +28 -0
  183. package/src/hooks/use-heading-url/index.tsx +32 -0
  184. package/src/hooks/use-is-external-link/index.tsx +19 -0
  185. package/src/hooks/use-keyboard-shortcut/index.tsx +71 -0
  186. package/src/hooks/use-mutation-observer/index.ts +32 -0
  187. package/src/hooks/use-page-scroll-manager/index.tsx +82 -0
  188. package/src/hooks/use-resize-observer/index.ts +20 -0
  189. package/src/hooks/use-scroll-utils/index.tsx +372 -0
  190. package/src/hooks/use-select/index.tsx +99 -0
  191. package/src/hooks/use-tabs/index.tsx +94 -0
  192. package/src/index.ts +8 -0
  193. package/src/layouts/barebone.tsx +18 -0
  194. package/src/layouts/index.ts +4 -0
  195. package/src/layouts/main-content.tsx +86 -0
  196. package/src/layouts/root.tsx +43 -0
  197. package/src/layouts/tight.tsx +29 -0
  198. package/src/layouts/wide.tsx +25 -0
  199. package/src/providers/AiAssistant/index.tsx +65 -0
  200. package/src/providers/BrowserProvider/index.tsx +40 -0
  201. package/src/providers/ColorMode/index.tsx +73 -0
  202. package/src/providers/Layout/index.tsx +52 -0
  203. package/src/providers/MainNav/index.tsx +134 -0
  204. package/src/providers/Mobile/index.tsx +62 -0
  205. package/src/providers/Modal/index.tsx +52 -0
  206. package/src/providers/Notification/index.tsx +149 -0
  207. package/src/providers/Pagination/index.tsx +230 -0
  208. package/src/providers/Search/index.tsx +91 -0
  209. package/src/providers/Sidebar/index.tsx +745 -0
  210. package/src/providers/SiteConfig/index.tsx +70 -0
  211. package/src/providers/index.ts +13 -0
  212. package/src/types/config.ts +34 -0
  213. package/src/types/frontmatter.ts +23 -0
  214. package/src/types/general.ts +1 -0
  215. package/src/types/index.ts +9 -0
  216. package/src/types/menu.ts +40 -0
  217. package/src/types/navigation-dropdown.ts +16 -0
  218. package/src/types/navigation.ts +21 -0
  219. package/src/types/sidebar.ts +109 -0
  220. package/src/types/toc.ts +19 -0
  221. package/src/types/ui.ts +9 -0
  222. package/src/utils/array-same-elms.ts +10 -0
  223. package/src/utils/capitalize.ts +3 -0
  224. package/src/utils/check-sidebar-item-visibility.ts +47 -0
  225. package/src/utils/decode-str.ts +8 -0
  226. package/src/utils/dom-utils.ts +29 -0
  227. package/src/utils/event-parser.ts +54 -0
  228. package/src/utils/get-link-with-base-path.ts +3 -0
  229. package/src/utils/get-navbar-items.ts +55 -0
  230. package/src/utils/get-scrolled-top.ts +8 -0
  231. package/src/utils/index.ts +13 -0
  232. package/src/utils/is-elm-window.ts +3 -0
  233. package/src/utils/is-in-view.ts +10 -0
  234. package/src/utils/os-browser-utils.ts +39 -0
  235. package/src/utils/set-obj-value.ts +38 -0
  236. package/src/utils/sidebar-utils.ts +129 -0
@@ -0,0 +1,23 @@
1
+ import { IconProps } from "@acmekit/icons/dist/types"
2
+ import React from "react"
3
+
4
+ export const ThumbDownIcon = (props: IconProps) => {
5
+ return (
6
+ <svg
7
+ width="20"
8
+ height="20"
9
+ viewBox="0 0 20 20"
10
+ fill="none"
11
+ xmlns="http://www.w3.org/2000/svg"
12
+ {...props}
13
+ >
14
+ <path
15
+ d="M6.25001 12.5H8.12501M14.8117 4.375C14.8208 4.41667 14.835 4.45833 14.855 4.49833C15.3475 5.49833 15.625 6.62333 15.625 7.8125C15.6268 9.00847 15.3413 10.1874 14.7925 11.25M14.8117 4.375C14.7483 4.07083 14.9642 3.75 15.2908 3.75H16.0475C16.7883 3.75 17.475 4.18167 17.6908 4.89C17.9733 5.815 18.125 6.79583 18.125 7.8125C18.125 9.10667 17.8792 10.3425 17.4325 11.4775C17.1775 12.1225 16.5275 12.5 15.8333 12.5H14.9558C14.5625 12.5 14.335 12.0367 14.5392 11.7C14.6285 11.553 14.7136 11.4029 14.7925 11.25M14.8117 4.375H13.7333C13.3303 4.37525 12.9299 4.31053 12.5475 4.18333L9.95251 3.31667C9.5701 3.18947 9.16969 3.12475 8.76668 3.125H5.42001C4.90501 3.125 4.40584 3.33083 4.08251 3.7325C2.6508 5.50731 1.87157 7.71971 1.87501 10C1.87501 10.3617 1.89418 10.7192 1.93168 11.0708C2.02251 11.9217 2.78834 12.5 3.64334 12.5H6.24835C6.76335 12.5 7.07418 13.1033 6.85251 13.5683C6.45441 14.4062 6.24856 15.3224 6.25001 16.25C6.25001 16.7473 6.44756 17.2242 6.79919 17.5758C7.15082 17.9275 7.62773 18.125 8.12501 18.125C8.29077 18.125 8.44974 18.0592 8.56695 17.9419C8.68416 17.8247 8.75001 17.6658 8.75001 17.5V16.9725C8.75001 16.495 8.84168 16.0225 9.01834 15.5792C9.27168 14.9458 9.79335 14.4708 10.3958 14.15C11.3208 13.6564 12.1326 12.9752 12.7792 12.15C13.1942 11.6217 13.8008 11.25 14.4725 11.25H14.7925"
16
+ stroke="currentColor"
17
+ strokeWidth="1.5"
18
+ strokeLinecap="round"
19
+ strokeLinejoin="round"
20
+ />
21
+ </svg>
22
+ )
23
+ }
@@ -0,0 +1,23 @@
1
+ import { IconProps } from "@acmekit/icons/dist/types"
2
+ import React from "react"
3
+
4
+ export const ThumbUpIcon = (props: IconProps) => {
5
+ return (
6
+ <svg
7
+ width="20"
8
+ height="20"
9
+ viewBox="0 0 20 20"
10
+ fill="none"
11
+ xmlns="http://www.w3.org/2000/svg"
12
+ {...props}
13
+ >
14
+ <path
15
+ d="M5.5275 8.75C6.19917 8.75 6.805 8.37833 7.22 7.85C7.86688 7.02468 8.67893 6.34349 9.60417 5.85C10.2067 5.53 10.7292 5.05333 10.9817 4.42083C11.159 3.97771 11.2501 3.50479 11.25 3.0275V2.5C11.25 2.33424 11.3159 2.17527 11.4331 2.05806C11.5503 1.94085 11.7092 1.875 11.875 1.875C12.3723 1.875 12.8492 2.07254 13.2008 2.42417C13.5525 2.77581 13.75 3.25272 13.75 3.75C13.75 4.71 13.5333 5.61917 13.1475 6.43167C12.9258 6.89667 13.2367 7.5 13.7517 7.5H16.3567C17.2117 7.5 17.9775 8.07833 18.0683 8.92917C18.1058 9.28083 18.125 9.6375 18.125 10C18.1284 12.2803 17.3492 14.4927 15.9175 16.2675C15.5942 16.6692 15.095 16.875 14.58 16.875H11.2333C10.8308 16.875 10.43 16.81 10.0475 16.6833L7.4525 15.8167C7.07009 15.6895 6.66968 15.6248 6.26667 15.625H4.92M4.92 15.625C4.98917 15.7958 5.06417 15.9625 5.145 16.1267C5.30917 16.46 5.08 16.875 4.70917 16.875H3.9525C3.21167 16.875 2.525 16.4433 2.30917 15.735C2.02054 14.7877 1.87422 13.8028 1.875 12.8125C1.875 11.5183 2.12084 10.2825 2.5675 9.1475C2.8225 8.5025 3.4725 8.125 4.16667 8.125H5.04417C5.4375 8.125 5.665 8.58833 5.46084 8.925C4.74908 10.0966 4.37369 11.4416 4.37584 12.8125C4.37584 13.8075 4.56917 14.7567 4.92084 15.625H4.92ZM11.875 7.5H13.75"
16
+ stroke="currentColor"
17
+ strokeWidth="1.5"
18
+ strokeLinecap="round"
19
+ strokeLinejoin="round"
20
+ />
21
+ </svg>
22
+ )
23
+ }
@@ -0,0 +1,57 @@
1
+ import React from "react"
2
+ import { IconProps } from "@acmekit/icons/dist/types"
3
+
4
+ export const WindowPaintbrushIcon = (props: IconProps) => {
5
+ return (
6
+ <svg
7
+ width="16"
8
+ height="16"
9
+ viewBox="0 0 16 16"
10
+ fill="none"
11
+ xmlns="http://www.w3.org/2000/svg"
12
+ {...props}
13
+ >
14
+ <g clipPath="url(#clip0_10703_107733)">
15
+ <path
16
+ opacity="0.3"
17
+ d="M5.11111 10.5022C7.03289 11.08 8.59289 11.128 9.86756 9.82311C10.6364 9.05155 10.6364 7.8 9.86756 7.02755C9.09867 6.25511 7.85778 6.24444 7.08267 7.02755C5.82223 8.30222 6.92267 9.512 5.11111 10.5022Z"
18
+ fill="currentColor"
19
+ />
20
+ <path
21
+ d="M10.4445 8.21954L14.9653 3.70132C15.456 3.21065 15.456 2.41421 14.9653 1.92354C14.4747 1.43288 13.6782 1.43288 13.1876 1.92354L8.65956 6.45332"
22
+ stroke="currentColor"
23
+ strokeWidth="1.5"
24
+ strokeLinecap="round"
25
+ strokeLinejoin="round"
26
+ />
27
+ <path
28
+ d="M5.11111 10.5022C7.03289 11.08 8.59289 11.128 9.86756 9.82311C10.6364 9.05155 10.6364 7.8 9.86756 7.02755C9.09867 6.25511 7.85778 6.24444 7.08267 7.02755C5.82223 8.30222 6.92267 9.512 5.11111 10.5022Z"
29
+ stroke="currentColor"
30
+ strokeWidth="1.5"
31
+ strokeLinecap="round"
32
+ strokeLinejoin="round"
33
+ />
34
+ <path
35
+ d="M14.4444 7.36357V11.7778C14.4444 12.76 13.6489 13.5556 12.6667 13.5556H3.33334C2.35111 13.5556 1.55556 12.76 1.55556 11.7778V4.22224C1.55556 3.24001 2.35111 2.44446 3.33334 2.44446H9.52445"
36
+ stroke="currentColor"
37
+ strokeWidth="1.5"
38
+ strokeLinecap="round"
39
+ strokeLinejoin="round"
40
+ />
41
+ <path
42
+ d="M3.77778 5.33333C4.14597 5.33333 4.44445 5.03485 4.44445 4.66667C4.44445 4.29848 4.14597 4 3.77778 4C3.40959 4 3.11111 4.29848 3.11111 4.66667C3.11111 5.03485 3.40959 5.33333 3.77778 5.33333Z"
43
+ fill="currentColor"
44
+ />
45
+ <path
46
+ d="M5.99999 5.33333C6.36818 5.33333 6.66666 5.03485 6.66666 4.66667C6.66666 4.29848 6.36818 4 5.99999 4C5.63181 4 5.33333 4.29848 5.33333 4.66667C5.33333 5.03485 5.63181 5.33333 5.99999 5.33333Z"
47
+ fill="currentColor"
48
+ />
49
+ </g>
50
+ <defs>
51
+ <clipPath id="clip0_10703_107733">
52
+ <rect width="16" height="16" fill="white" />
53
+ </clipPath>
54
+ </defs>
55
+ </svg>
56
+ )
57
+ }
@@ -0,0 +1,20 @@
1
+ export * from "./AiAssistant"
2
+ export * from "./BundledProduct"
3
+ export * from "./CalendarRefresh"
4
+ export * from "./ChefHat"
5
+ export * from "./CircleDottedLine"
6
+ export * from "./CloudSolid"
7
+ export * from "./ColoredAcmeKit"
8
+ export * from "./DecisionProcess"
9
+ export * from "./Erp"
10
+ export * from "./ImageBinary"
11
+ export * from "./PuzzleColored"
12
+ export * from "./QuestionMark"
13
+ export * from "./Restock"
14
+ export * from "./ScrollText"
15
+ export * from "./ShadedBg"
16
+ export * from "./Shop"
17
+ export * from "./StripeColored"
18
+ export * from "./ThumbDown"
19
+ export * from "./ThumbUp"
20
+ export * from "./WindowPaintbrush"
@@ -0,0 +1,42 @@
1
+
2
+ import React from "react"
3
+ import clsx from "clsx"
4
+ import { CopyButton } from "../../components/CopyButton"
5
+
6
+ export type InlineCodeProps = React.ComponentProps<"code"> & {
7
+ variant?: "default" | "grey-bg"
8
+ }
9
+
10
+ export const InlineCode = ({
11
+ variant = "default",
12
+ ...props
13
+ }: InlineCodeProps) => {
14
+ return (
15
+ <CopyButton
16
+ text={props.children as string}
17
+ buttonClassName={clsx(
18
+ "bg-transparent border-0 p-0 inline text-acmekit-fg-subtle group",
19
+ "font-monospace"
20
+ )}
21
+ >
22
+ <code
23
+ {...props}
24
+ className={clsx(
25
+ "text-acmekit-tag-neutral-text border whitespace-break-spaces",
26
+ "font-monospace text-code-label rounded-docs_sm py-0 px-[5px]",
27
+ variant === "default" && [
28
+ "bg-acmekit-tag-neutral-bg group-hover:bg-acmekit-tag-neutral-bg-hover",
29
+ "group-active:bg-acmekit-bg-subtle-pressed group-focus:bg-acmekit-bg-subtle-pressed",
30
+ "border-acmekit-tag-neutral-border",
31
+ ],
32
+ variant === "grey-bg" && [
33
+ "bg-acmekit-bg-switch-off group-hover:bg-acmekit-bg-switch-off-hover",
34
+ "group-active:bg-acmekit-bg-switch-off-hover group-focus:bg-acmekit-switch-off-hover",
35
+ "border-acmekit-border-strong",
36
+ ],
37
+ props.className
38
+ )}
39
+ />
40
+ </CopyButton>
41
+ )
42
+ }
@@ -0,0 +1,21 @@
1
+ import React from "react"
2
+ import { IconProps } from "@acmekit/icons/dist/types"
3
+ import clsx from "clsx"
4
+
5
+ type InlineIconProps = IconProps & {
6
+ Icon: React.ComponentType<IconProps>
7
+ alt?: string
8
+ }
9
+
10
+ export const InlineIcon = ({ Icon, alt, ...props }: InlineIconProps) => {
11
+ return (
12
+ <Icon
13
+ {...props}
14
+ className={clsx(
15
+ "text-acmekit-fg-subtle inline-block align-middle",
16
+ props.className
17
+ )}
18
+ aria-label={alt}
19
+ />
20
+ )
21
+ }
@@ -0,0 +1,14 @@
1
+ import React from "react"
2
+ import clsx from "clsx"
3
+ import { ThemeImage, ThemeImageProps } from "../../components/ThemeImage"
4
+
5
+ export const InlineThemeImage = (props: ThemeImageProps) => {
6
+ return (
7
+ <ThemeImage
8
+ {...props}
9
+ width={20}
10
+ height={20}
11
+ className={clsx(props.className, "inline")}
12
+ />
13
+ )
14
+ }
@@ -0,0 +1,64 @@
1
+
2
+ import { MagnifyingGlass, XMark } from "@acmekit/icons"
3
+ import clsx from "clsx"
4
+ import React from "react"
5
+ import { useKeyboardShortcut } from "../../../hooks/use-keyboard-shortcut"
6
+ import { Kbd } from "../../Kbd"
7
+
8
+ type SearchInputProps = {
9
+ onChange: (value: string) => void
10
+ } & Omit<React.ComponentProps<"input">, "onChange">
11
+
12
+ export const SearchInput = ({
13
+ value,
14
+ onChange,
15
+ className,
16
+ placeholder = "Search...",
17
+ ...props
18
+ }: SearchInputProps) => {
19
+ useKeyboardShortcut({
20
+ metakey: false,
21
+ shortcutKeys: ["escape"],
22
+ action: () => onChange(""),
23
+ checkEditing: false,
24
+ preventDefault: true,
25
+ })
26
+
27
+ return (
28
+ <div className="flex flex-col gap-docs_0.5">
29
+ <div className="relative">
30
+ <MagnifyingGlass className="absolute left-docs_0.5 top-[8.5px] bottom-[8.5px] text-acmekit-fg-muted" />
31
+ <input
32
+ type="text"
33
+ placeholder={placeholder}
34
+ className={clsx(
35
+ "w-full h-docs_2 pl-docs_2 text-base md:text-compact-small placeholder:text-acmekit-fg-muted",
36
+ "bg-acmekit-bg-field text-acmekit-fg-base rounded-full",
37
+ "shadow-borders-base hover:bg-acmekit-bg-field-hover",
38
+ "focus:bg-acmekit-bg-field focus:shadow-borders-interactive-with-active focus:outline-none",
39
+ className
40
+ )}
41
+ value={value}
42
+ onChange={(e) => onChange(e.target.value)}
43
+ {...props}
44
+ />
45
+ {value && (
46
+ <button
47
+ className={clsx(
48
+ "absolute right-docs_0.5 top-[8.5px] bottom-[8.5px] appearance-none",
49
+ "flex items-center justify-center"
50
+ )}
51
+ onClick={() => onChange("")}
52
+ data-testid="clear-button"
53
+ >
54
+ <XMark className="text-acmekit-fg-muted" />
55
+ </button>
56
+ )}
57
+ </div>
58
+ <span className="flex gap-docs_0.25 justify-end items-center text-compact-x-small">
59
+ <Kbd variant="small">esc</Kbd>
60
+ <span className="text-acmekit-fg-muted">Clear Search</span>
61
+ </span>
62
+ </div>
63
+ )
64
+ }
@@ -0,0 +1,39 @@
1
+ import React from "react"
2
+ import clsx from "clsx"
3
+
4
+ export type InputTextProps = {
5
+ className?: string
6
+ addGroupStyling?: boolean
7
+ passedRef?: React.Ref<HTMLInputElement>
8
+ } & React.DetailedHTMLProps<
9
+ React.InputHTMLAttributes<HTMLInputElement>,
10
+ HTMLInputElement
11
+ >
12
+
13
+ export const InputText = ({
14
+ addGroupStyling = false,
15
+ className,
16
+ passedRef,
17
+ ...props
18
+ }: InputTextProps) => {
19
+ return (
20
+ <input
21
+ {...props}
22
+ className={clsx(
23
+ "bg-acmekit-bg-field-component shadow-border-base dark:shadow-border-base-dark",
24
+ "rounded-docs_sm px-docs_0.5",
25
+ "hover:bg-acmekit-bg-field-component-hover",
26
+ addGroupStyling && "group-hover:bg-acmekit-bg-field-component-hover",
27
+ "focus:border-acmekit-border-interactive",
28
+ "active:border-acmekit-border-interactive",
29
+ "disabled:bg-acmekit-bg-disabled",
30
+ "disabled:border-acmekit-border-base",
31
+ "placeholder:text-acmekit-fg-muted",
32
+ "disabled:placeholder:text-acmekit-fg-disabled",
33
+ "text-compact-small font-base",
34
+ className
35
+ )}
36
+ ref={passedRef}
37
+ />
38
+ )
39
+ }
@@ -0,0 +1,33 @@
1
+ import React from "react"
2
+ import clsx from "clsx"
3
+
4
+ export type KbdProps = React.ComponentProps<"kbd"> & {
5
+ variant?: "default" | "small"
6
+ }
7
+
8
+ export const Kbd = ({
9
+ children,
10
+ className,
11
+ variant = "default",
12
+ ...props
13
+ }: KbdProps) => {
14
+ return (
15
+ <kbd
16
+ className={clsx(
17
+ "rounded-docs_xs border-solid border border-acmekit-border-base",
18
+ "inline-flex items-center justify-center",
19
+ "px-docs_0.25",
20
+ "bg-acmekit-bg-field",
21
+ "text-acmekit-fg-base",
22
+ "font-base shadow-none",
23
+ variant === "small"
24
+ ? "text-compact-x-small"
25
+ : "text-compact-x-small-plus",
26
+ className
27
+ )}
28
+ {...props}
29
+ >
30
+ {children}
31
+ </kbd>
32
+ )
33
+ }
@@ -0,0 +1,19 @@
1
+ import clsx from "clsx"
2
+ import React from "react"
3
+
4
+ export type LabelProps = {
5
+ className?: string
6
+ } & React.HTMLAttributes<HTMLSpanElement>
7
+
8
+ export const Label = ({ children, className }: LabelProps) => {
9
+ return (
10
+ <span
11
+ className={clsx(
12
+ "text-acmekit-fg-base text-compact-medium-plus",
13
+ className
14
+ )}
15
+ >
16
+ {children}
17
+ </span>
18
+ )
19
+ }
@@ -0,0 +1,67 @@
1
+ import React from "react"
2
+ import { Link as RouterLink } from "react-router-dom"
3
+ import clsx from "clsx"
4
+ import { TriangleRightMini } from "@acmekit/icons"
5
+
6
+ export type LinkProps = React.AllHTMLAttributes<HTMLAnchorElement> & {
7
+ href?: string
8
+ children?: React.ReactNode
9
+ className?: string
10
+ withIcon?: boolean
11
+ variant?: "default" | "content"
12
+ }
13
+
14
+ const HASH_REGEX = /#.*$/
15
+
16
+ export const Link = ({
17
+ href,
18
+ children,
19
+ className,
20
+ withIcon = false,
21
+ variant = "default",
22
+ ...rest
23
+ }: LinkProps) => {
24
+ const hash = href?.match(HASH_REGEX)?.[0] || ""
25
+ const hrefWithoutHash = href?.replace(HASH_REGEX, "") || ""
26
+ if (hrefWithoutHash.endsWith("page.mdx")) {
27
+ href = hrefWithoutHash.replace("/page.mdx", "") + hash
28
+ }
29
+
30
+ const isExternal =
31
+ href?.startsWith("http") || href?.startsWith("//") || rest.target === "_blank"
32
+
33
+ const linkClassName = clsx(
34
+ variant === "default" &&
35
+ "text-acmekit-fg-interactive hover:text-acmekit-fg-interactive-hover",
36
+ variant === "content" && [
37
+ "underline decoration-acmekit-fg-muted hover:decoration-acmekit-fg-interactive",
38
+ "decoration-[1.5px] font-medium transition-[text-decoration-color]",
39
+ ],
40
+ withIcon && "flex gap-0.25 items-center group",
41
+ className
42
+ )
43
+
44
+ if (isExternal) {
45
+ return (
46
+ <a href={href || ""} {...rest} className={linkClassName}>
47
+ {children}
48
+ {withIcon && (
49
+ <TriangleRightMini className="group-hover:translate-x-docs_0.125 transition-transform" />
50
+ )}
51
+ </a>
52
+ )
53
+ }
54
+
55
+ return (
56
+ <RouterLink
57
+ to={href || ""}
58
+ {...(rest as any)}
59
+ className={linkClassName}
60
+ >
61
+ {children}
62
+ {withIcon && (
63
+ <TriangleRightMini className="group-hover:translate-x-docs_0.125 transition-transform" />
64
+ )}
65
+ </RouterLink>
66
+ )
67
+ }
@@ -0,0 +1,43 @@
1
+ import React from "react"
2
+ import { Link, LinkProps as RouterLinkProps } from "react-router-dom"
3
+ import clsx from "clsx"
4
+
5
+ type LinkButtonProps = RouterLinkProps & {
6
+ variant?: "base" | "interactive" | "subtle" | "muted"
7
+ className?: string
8
+ }
9
+
10
+ export const LinkButton = ({
11
+ variant = "base",
12
+ className,
13
+ ...linkProps
14
+ }: LinkButtonProps) => {
15
+ return (
16
+ <Link
17
+ {...linkProps}
18
+ className={clsx(
19
+ className,
20
+ "inline-flex justify-center items-center",
21
+ "gap-docs_0.25 rounded-docs_xs",
22
+ "text-compact-small-plus disabled:text-acmekit-fg-disabled",
23
+ "focus:shadow-borders-focus no-underline",
24
+ variant === "base" && [
25
+ "text-acmekit-fg-base hover:text-acmekit-fg-subtle",
26
+ "focus:text-acmekit-fg-base",
27
+ ],
28
+ variant === "interactive" && [
29
+ "text-acmekit-fg-interactive hover:text-acmekit-interactive-hover",
30
+ "focus:text-acmekit-fg-interactive",
31
+ ],
32
+ variant === "subtle" && [
33
+ "text-acmekit-fg-subtle hover:text-acmekit-fg-base",
34
+ "focus:text-acmekit-fg-subtle",
35
+ ],
36
+ variant === "muted" && [
37
+ "text-acmekit-fg-muted hover:text-acmekit-fg-subtle",
38
+ "focus:text-acmekit-fg-muted",
39
+ ]
40
+ )}
41
+ />
42
+ )
43
+ }
@@ -0,0 +1,16 @@
1
+ import clsx from "clsx"
2
+ import React from "react"
3
+
4
+ export type DotsLoadingProps = {
5
+ className?: string
6
+ }
7
+
8
+ export const DotsLoading = ({ className }: DotsLoadingProps) => {
9
+ return (
10
+ <span className={clsx("text-medium text-acmekit-fg-subtle", className)}>
11
+ <span className="animate-pulsingDots">.</span>
12
+ <span className="animate-pulsingDots animation-delay-[500ms]">.</span>
13
+ <span className="animate-pulsingDots animation-delay-[1000ms]">.</span>
14
+ </span>
15
+ )
16
+ }
@@ -0,0 +1,19 @@
1
+ import React from "react"
2
+ import clsx from "clsx"
3
+ import { Spinner } from "@acmekit/icons"
4
+ import { IconProps } from "@acmekit/icons/dist/types"
5
+
6
+ export type SpinnerLoadingProps = {
7
+ iconProps?: IconProps
8
+ }
9
+
10
+ export const SpinnerLoading = ({ iconProps }: SpinnerLoadingProps) => {
11
+ return (
12
+ <span role="status">
13
+ <Spinner
14
+ {...iconProps}
15
+ className={clsx("animate-spin", iconProps?.className)}
16
+ />
17
+ </span>
18
+ )
19
+ }
@@ -0,0 +1,43 @@
1
+ import React from "react"
2
+ import clsx from "clsx"
3
+
4
+ export type LoadingProps = {
5
+ className?: string
6
+ barClassName?: string
7
+ count?: number
8
+ }
9
+
10
+ export const Loading = ({
11
+ className,
12
+ count = 6,
13
+ barClassName,
14
+ }: LoadingProps) => {
15
+ const getLoadingBars = () => {
16
+ const bars = []
17
+ for (let i = 0; i < count; i++) {
18
+ bars.push(
19
+ <span
20
+ className={clsx(
21
+ "bg-acmekit-bg-subtle-pressed h-docs_1 w-full rounded-full",
22
+ barClassName
23
+ )}
24
+ key={i}
25
+ ></span>
26
+ )
27
+ }
28
+
29
+ return bars
30
+ }
31
+ return (
32
+ <span
33
+ role="status"
34
+ className={clsx(
35
+ "my-docs_1 flex w-full animate-pulse flex-col gap-docs_1",
36
+ className
37
+ )}
38
+ >
39
+ {getLoadingBars()}
40
+ <span className="sr-only">Loading...</span>
41
+ </span>
42
+ )
43
+ }