@openwarelabs/blocks 0.9.0 → 0.10.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (291) hide show
  1. package/README.md +36 -10
  2. package/dist/app-shells/Shell01/Shell01.d.cts +6 -0
  3. package/dist/app-shells/Shell01/Shell01.d.ts +6 -0
  4. package/dist/app-shells/Shell01/Shell01.types.d.cts +48 -0
  5. package/dist/app-shells/Shell01/Shell01.types.d.ts +48 -0
  6. package/dist/app-shells/Shell02/Shell02.d.cts +7 -0
  7. package/dist/app-shells/Shell02/Shell02.d.ts +7 -0
  8. package/dist/app-shells/Shell02/Shell02.types.d.cts +50 -0
  9. package/dist/app-shells/Shell02/Shell02.types.d.ts +50 -0
  10. package/dist/app-shells/Shell03/Shell03.d.cts +6 -0
  11. package/dist/app-shells/Shell03/Shell03.d.ts +6 -0
  12. package/dist/app-shells/Shell03/Shell03.types.d.cts +73 -0
  13. package/dist/app-shells/Shell03/Shell03.types.d.ts +73 -0
  14. package/dist/app-shells/Shell04/Shell04.d.cts +6 -0
  15. package/dist/app-shells/Shell04/Shell04.d.ts +6 -0
  16. package/dist/app-shells/Shell04/Shell04.types.d.cts +68 -0
  17. package/dist/app-shells/Shell04/Shell04.types.d.ts +68 -0
  18. package/dist/blog/Blog01/Blog01.d.cts +3 -0
  19. package/dist/blog/Blog01/Blog01.d.ts +3 -0
  20. package/dist/blog/Blog01/Blog01.types.d.cts +55 -0
  21. package/dist/blog/Blog01/Blog01.types.d.ts +55 -0
  22. package/dist/blog/Blog02/Blog02.d.cts +3 -0
  23. package/dist/blog/Blog02/Blog02.d.ts +3 -0
  24. package/dist/blog/Blog02/Blog02.types.d.cts +51 -0
  25. package/dist/blog/Blog02/Blog02.types.d.ts +51 -0
  26. package/dist/blog/Blog03/Blog03.d.cts +3 -0
  27. package/dist/blog/Blog03/Blog03.d.ts +3 -0
  28. package/dist/blog/Blog03/Blog03.types.d.cts +66 -0
  29. package/dist/blog/Blog03/Blog03.types.d.ts +66 -0
  30. package/dist/blog/Blog04/Blog04.d.cts +3 -0
  31. package/dist/blog/Blog04/Blog04.d.ts +3 -0
  32. package/dist/blog/Blog04/Blog04.types.d.cts +64 -0
  33. package/dist/blog/Blog04/Blog04.types.d.ts +64 -0
  34. package/dist/chat/Chat01/Chat01.d.cts +6 -0
  35. package/dist/chat/Chat01/Chat01.d.ts +6 -0
  36. package/dist/chat/Chat01/Chat01.types.d.cts +95 -0
  37. package/dist/chat/Chat01/Chat01.types.d.ts +95 -0
  38. package/dist/chat/Chat02/Chat02.d.cts +6 -0
  39. package/dist/chat/Chat02/Chat02.d.ts +6 -0
  40. package/dist/chat/Chat02/Chat02.types.d.cts +70 -0
  41. package/dist/chat/Chat02/Chat02.types.d.ts +70 -0
  42. package/dist/chat/Chat03/Chat03.d.cts +6 -0
  43. package/dist/chat/Chat03/Chat03.d.ts +6 -0
  44. package/dist/chat/Chat03/Chat03.types.d.cts +96 -0
  45. package/dist/chat/Chat03/Chat03.types.d.ts +96 -0
  46. package/dist/contact/Contact01/Contact01.d.cts +3 -0
  47. package/dist/contact/Contact01/Contact01.d.ts +3 -0
  48. package/dist/contact/Contact01/Contact01.types.d.cts +103 -0
  49. package/dist/contact/Contact01/Contact01.types.d.ts +103 -0
  50. package/dist/contact/Contact02/Contact02.d.cts +3 -0
  51. package/dist/contact/Contact02/Contact02.d.ts +3 -0
  52. package/dist/contact/Contact02/Contact02.types.d.cts +56 -0
  53. package/dist/contact/Contact02/Contact02.types.d.ts +56 -0
  54. package/dist/dashboards/Dashboard01/Dashboard01.d.cts +3 -0
  55. package/dist/dashboards/Dashboard01/Dashboard01.d.ts +3 -0
  56. package/dist/dashboards/Dashboard01/Dashboard01.types.d.cts +53 -0
  57. package/dist/dashboards/Dashboard01/Dashboard01.types.d.ts +53 -0
  58. package/dist/dashboards/Dashboard02/Dashboard02.d.cts +3 -0
  59. package/dist/dashboards/Dashboard02/Dashboard02.d.ts +3 -0
  60. package/dist/dashboards/Dashboard02/Dashboard02.types.d.cts +74 -0
  61. package/dist/dashboards/Dashboard02/Dashboard02.types.d.ts +74 -0
  62. package/dist/dashboards/Dashboard03/Dashboard03.d.cts +6 -0
  63. package/dist/dashboards/Dashboard03/Dashboard03.d.ts +6 -0
  64. package/dist/dashboards/Dashboard03/Dashboard03.types.d.cts +131 -0
  65. package/dist/dashboards/Dashboard03/Dashboard03.types.d.ts +131 -0
  66. package/dist/empty-states/Empty01/Empty01.d.cts +3 -0
  67. package/dist/empty-states/Empty01/Empty01.d.ts +3 -0
  68. package/dist/empty-states/Empty01/Empty01.types.d.cts +94 -0
  69. package/dist/empty-states/Empty01/Empty01.types.d.ts +94 -0
  70. package/dist/empty-states/Empty02/Empty02.d.cts +3 -0
  71. package/dist/empty-states/Empty02/Empty02.d.ts +3 -0
  72. package/dist/empty-states/Empty02/Empty02.types.d.cts +72 -0
  73. package/dist/empty-states/Empty02/Empty02.types.d.ts +72 -0
  74. package/dist/empty-states/Empty03/Empty03.d.cts +3 -0
  75. package/dist/empty-states/Empty03/Empty03.d.ts +3 -0
  76. package/dist/empty-states/Empty03/Empty03.types.d.cts +72 -0
  77. package/dist/empty-states/Empty03/Empty03.types.d.ts +72 -0
  78. package/dist/error-pages/ErrorPage01/ErrorPage01.d.cts +3 -0
  79. package/dist/error-pages/ErrorPage01/ErrorPage01.d.ts +3 -0
  80. package/dist/error-pages/ErrorPage01/ErrorPage01.types.d.cts +48 -0
  81. package/dist/error-pages/ErrorPage01/ErrorPage01.types.d.ts +48 -0
  82. package/dist/error-pages/ErrorPage02/ErrorPage02.d.cts +3 -0
  83. package/dist/error-pages/ErrorPage02/ErrorPage02.d.ts +3 -0
  84. package/dist/error-pages/ErrorPage02/ErrorPage02.types.d.cts +45 -0
  85. package/dist/error-pages/ErrorPage02/ErrorPage02.types.d.ts +45 -0
  86. package/dist/error-pages/ErrorPage03/ErrorPage03.d.cts +3 -0
  87. package/dist/error-pages/ErrorPage03/ErrorPage03.d.ts +3 -0
  88. package/dist/error-pages/ErrorPage03/ErrorPage03.types.d.cts +45 -0
  89. package/dist/error-pages/ErrorPage03/ErrorPage03.types.d.ts +45 -0
  90. package/dist/faq/Faq01/Faq01.d.cts +3 -0
  91. package/dist/faq/Faq01/Faq01.d.ts +3 -0
  92. package/dist/faq/Faq01/Faq01.types.d.cts +23 -0
  93. package/dist/faq/Faq01/Faq01.types.d.ts +23 -0
  94. package/dist/faq/Faq02/Faq02.d.cts +3 -0
  95. package/dist/faq/Faq02/Faq02.d.ts +3 -0
  96. package/dist/faq/Faq02/Faq02.types.d.cts +24 -0
  97. package/dist/faq/Faq02/Faq02.types.d.ts +24 -0
  98. package/dist/faq/Faq03/Faq03.d.cts +3 -0
  99. package/dist/faq/Faq03/Faq03.d.ts +3 -0
  100. package/dist/faq/Faq03/Faq03.types.d.cts +42 -0
  101. package/dist/faq/Faq03/Faq03.types.d.ts +42 -0
  102. package/dist/forms/Form01/Form01.d.cts +3 -0
  103. package/dist/forms/Form01/Form01.d.ts +3 -0
  104. package/dist/forms/Form01/Form01.types.d.cts +20 -0
  105. package/dist/forms/Form01/Form01.types.d.ts +20 -0
  106. package/dist/forms/Form02/Form02.d.cts +3 -0
  107. package/dist/forms/Form02/Form02.d.ts +3 -0
  108. package/dist/forms/Form02/Form02.types.d.cts +38 -0
  109. package/dist/forms/Form02/Form02.types.d.ts +38 -0
  110. package/dist/forms/Form03/Form03.d.cts +3 -0
  111. package/dist/forms/Form03/Form03.d.ts +3 -0
  112. package/dist/forms/Form03/Form03.types.d.cts +55 -0
  113. package/dist/forms/Form03/Form03.types.d.ts +55 -0
  114. package/dist/index.cjs +6190 -22
  115. package/dist/index.cjs.map +4 -4
  116. package/dist/index.d.cts +135 -1
  117. package/dist/index.d.ts +135 -1
  118. package/dist/index.js +6220 -19
  119. package/dist/index.js.map +4 -4
  120. package/dist/lists-and-tables/List01/List01.d.cts +6 -0
  121. package/dist/lists-and-tables/List01/List01.d.ts +6 -0
  122. package/dist/lists-and-tables/List01/List01.types.d.cts +60 -0
  123. package/dist/lists-and-tables/List01/List01.types.d.ts +60 -0
  124. package/dist/lists-and-tables/List02/List02.d.cts +3 -0
  125. package/dist/lists-and-tables/List02/List02.d.ts +3 -0
  126. package/dist/lists-and-tables/List02/List02.types.d.cts +54 -0
  127. package/dist/lists-and-tables/List02/List02.types.d.ts +54 -0
  128. package/dist/lists-and-tables/List03/List03.d.cts +3 -0
  129. package/dist/lists-and-tables/List03/List03.d.ts +3 -0
  130. package/dist/lists-and-tables/List03/List03.types.d.cts +41 -0
  131. package/dist/lists-and-tables/List03/List03.types.d.ts +41 -0
  132. package/dist/lists-and-tables/List04/List04.d.cts +3 -0
  133. package/dist/lists-and-tables/List04/List04.d.ts +3 -0
  134. package/dist/lists-and-tables/List04/List04.types.d.cts +67 -0
  135. package/dist/lists-and-tables/List04/List04.types.d.ts +67 -0
  136. package/dist/logo-clouds/Logos01/Logos01.d.cts +3 -0
  137. package/dist/logo-clouds/Logos01/Logos01.d.ts +3 -0
  138. package/dist/logo-clouds/Logos01/Logos01.types.d.cts +13 -0
  139. package/dist/logo-clouds/Logos01/Logos01.types.d.ts +13 -0
  140. package/dist/logo-clouds/Logos02/Logos02.d.cts +3 -0
  141. package/dist/logo-clouds/Logos02/Logos02.d.ts +3 -0
  142. package/dist/logo-clouds/Logos02/Logos02.types.d.cts +28 -0
  143. package/dist/logo-clouds/Logos02/Logos02.types.d.ts +28 -0
  144. package/dist/logo-clouds/Logos03/Logos03.d.cts +3 -0
  145. package/dist/logo-clouds/Logos03/Logos03.d.ts +3 -0
  146. package/dist/logo-clouds/Logos03/Logos03.types.d.cts +23 -0
  147. package/dist/logo-clouds/Logos03/Logos03.types.d.ts +23 -0
  148. package/dist/newsletter/Newsletter01/Newsletter01.d.cts +3 -0
  149. package/dist/newsletter/Newsletter01/Newsletter01.d.ts +3 -0
  150. package/dist/newsletter/Newsletter01/Newsletter01.types.d.cts +39 -0
  151. package/dist/newsletter/Newsletter01/Newsletter01.types.d.ts +39 -0
  152. package/dist/newsletter/Newsletter02/Newsletter02.d.cts +3 -0
  153. package/dist/newsletter/Newsletter02/Newsletter02.d.ts +3 -0
  154. package/dist/newsletter/Newsletter02/Newsletter02.types.d.cts +42 -0
  155. package/dist/newsletter/Newsletter02/Newsletter02.types.d.ts +42 -0
  156. package/dist/notifications/Notifications01/Notifications01.d.cts +3 -0
  157. package/dist/notifications/Notifications01/Notifications01.d.ts +3 -0
  158. package/dist/notifications/Notifications01/Notifications01.types.d.cts +74 -0
  159. package/dist/notifications/Notifications01/Notifications01.types.d.ts +74 -0
  160. package/dist/notifications/Notifications02/Notifications02.d.cts +3 -0
  161. package/dist/notifications/Notifications02/Notifications02.d.ts +3 -0
  162. package/dist/notifications/Notifications02/Notifications02.types.d.cts +65 -0
  163. package/dist/notifications/Notifications02/Notifications02.types.d.ts +65 -0
  164. package/dist/notifications/Notifications03/Notifications03.d.cts +3 -0
  165. package/dist/notifications/Notifications03/Notifications03.d.ts +3 -0
  166. package/dist/notifications/Notifications03/Notifications03.types.d.cts +87 -0
  167. package/dist/notifications/Notifications03/Notifications03.types.d.ts +87 -0
  168. package/dist/onboarding/Onboarding01/Onboarding01.d.cts +3 -0
  169. package/dist/onboarding/Onboarding01/Onboarding01.d.ts +3 -0
  170. package/dist/onboarding/Onboarding01/Onboarding01.types.d.cts +46 -0
  171. package/dist/onboarding/Onboarding01/Onboarding01.types.d.ts +46 -0
  172. package/dist/onboarding/Onboarding02/Onboarding02.d.cts +3 -0
  173. package/dist/onboarding/Onboarding02/Onboarding02.d.ts +3 -0
  174. package/dist/onboarding/Onboarding02/Onboarding02.types.d.cts +68 -0
  175. package/dist/onboarding/Onboarding02/Onboarding02.types.d.ts +68 -0
  176. package/dist/onboarding/Onboarding03/Onboarding03.d.cts +3 -0
  177. package/dist/onboarding/Onboarding03/Onboarding03.d.ts +3 -0
  178. package/dist/onboarding/Onboarding03/Onboarding03.types.d.cts +38 -0
  179. package/dist/onboarding/Onboarding03/Onboarding03.types.d.ts +38 -0
  180. package/dist/page-headings/PageHeading01/PageHeading01.d.cts +6 -0
  181. package/dist/page-headings/PageHeading01/PageHeading01.d.ts +6 -0
  182. package/dist/page-headings/PageHeading01/PageHeading01.types.d.cts +35 -0
  183. package/dist/page-headings/PageHeading01/PageHeading01.types.d.ts +35 -0
  184. package/dist/page-headings/PageHeading02/PageHeading02.d.cts +3 -0
  185. package/dist/page-headings/PageHeading02/PageHeading02.d.ts +3 -0
  186. package/dist/page-headings/PageHeading02/PageHeading02.types.d.cts +49 -0
  187. package/dist/page-headings/PageHeading02/PageHeading02.types.d.ts +49 -0
  188. package/dist/page-headings/PageHeading03/PageHeading03.d.cts +6 -0
  189. package/dist/page-headings/PageHeading03/PageHeading03.d.ts +6 -0
  190. package/dist/page-headings/PageHeading03/PageHeading03.types.d.cts +83 -0
  191. package/dist/page-headings/PageHeading03/PageHeading03.types.d.ts +83 -0
  192. package/dist/section-headings/SectionHeading01/SectionHeading01.d.cts +3 -0
  193. package/dist/section-headings/SectionHeading01/SectionHeading01.d.ts +3 -0
  194. package/dist/section-headings/SectionHeading01/SectionHeading01.types.d.cts +9 -0
  195. package/dist/section-headings/SectionHeading01/SectionHeading01.types.d.ts +9 -0
  196. package/dist/section-headings/SectionHeading02/SectionHeading02.d.cts +3 -0
  197. package/dist/section-headings/SectionHeading02/SectionHeading02.d.ts +3 -0
  198. package/dist/section-headings/SectionHeading02/SectionHeading02.types.d.cts +12 -0
  199. package/dist/section-headings/SectionHeading02/SectionHeading02.types.d.ts +12 -0
  200. package/dist/section-headings/SectionHeading03/SectionHeading03.d.cts +3 -0
  201. package/dist/section-headings/SectionHeading03/SectionHeading03.d.ts +3 -0
  202. package/dist/section-headings/SectionHeading03/SectionHeading03.types.d.cts +12 -0
  203. package/dist/section-headings/SectionHeading03/SectionHeading03.types.d.ts +12 -0
  204. package/dist/settings/Settings01/Settings01.d.cts +3 -0
  205. package/dist/settings/Settings01/Settings01.d.ts +3 -0
  206. package/dist/settings/Settings01/Settings01.types.d.cts +46 -0
  207. package/dist/settings/Settings01/Settings01.types.d.ts +46 -0
  208. package/dist/settings/Settings02/Settings02.d.cts +3 -0
  209. package/dist/settings/Settings02/Settings02.d.ts +3 -0
  210. package/dist/settings/Settings02/Settings02.types.d.cts +45 -0
  211. package/dist/settings/Settings02/Settings02.types.d.ts +45 -0
  212. package/dist/settings/Settings03/Settings03.d.cts +3 -0
  213. package/dist/settings/Settings03/Settings03.d.ts +3 -0
  214. package/dist/settings/Settings03/Settings03.types.d.cts +132 -0
  215. package/dist/settings/Settings03/Settings03.types.d.ts +132 -0
  216. package/dist/settings/Settings04/Settings04.d.cts +3 -0
  217. package/dist/settings/Settings04/Settings04.d.ts +3 -0
  218. package/dist/settings/Settings04/Settings04.types.d.cts +124 -0
  219. package/dist/settings/Settings04/Settings04.types.d.ts +124 -0
  220. package/dist/settings/Settings05/Settings05.d.cts +3 -0
  221. package/dist/settings/Settings05/Settings05.d.ts +3 -0
  222. package/dist/settings/Settings05/Settings05.types.d.cts +94 -0
  223. package/dist/settings/Settings05/Settings05.types.d.ts +94 -0
  224. package/dist/shared/AppWorkspaceItems.d.cts +3 -0
  225. package/dist/shared/AppWorkspaceItems.d.ts +3 -0
  226. package/dist/shared/BlockActions.d.cts +1 -1
  227. package/dist/shared/BlockActions.d.ts +1 -1
  228. package/dist/shared/BlockMenuItems.d.cts +3 -0
  229. package/dist/shared/BlockMenuItems.d.ts +3 -0
  230. package/dist/shared/appShell.d.cts +19 -0
  231. package/dist/shared/appShell.d.ts +19 -0
  232. package/dist/shared/icons.d.cts +59 -13
  233. package/dist/shared/icons.d.ts +59 -13
  234. package/dist/shared/shared.types.d.cts +128 -0
  235. package/dist/shared/shared.types.d.ts +128 -0
  236. package/dist/shared/tableColumns.d.cts +10 -0
  237. package/dist/shared/tableColumns.d.ts +10 -0
  238. package/dist/sign-in/SignIn01/SignIn01.d.cts +3 -0
  239. package/dist/sign-in/SignIn01/SignIn01.d.ts +3 -0
  240. package/dist/sign-in/SignIn01/SignIn01.types.d.cts +52 -0
  241. package/dist/sign-in/SignIn01/SignIn01.types.d.ts +52 -0
  242. package/dist/sign-in/SignIn02/SignIn02.d.cts +3 -0
  243. package/dist/sign-in/SignIn02/SignIn02.d.ts +3 -0
  244. package/dist/sign-in/SignIn02/SignIn02.types.d.cts +79 -0
  245. package/dist/sign-in/SignIn02/SignIn02.types.d.ts +79 -0
  246. package/dist/sign-in/SignIn03/SignIn03.d.cts +3 -0
  247. package/dist/sign-in/SignIn03/SignIn03.d.ts +3 -0
  248. package/dist/sign-in/SignIn03/SignIn03.types.d.cts +51 -0
  249. package/dist/sign-in/SignIn03/SignIn03.types.d.ts +51 -0
  250. package/dist/sign-in/SignIn04/SignIn04.d.cts +3 -0
  251. package/dist/sign-in/SignIn04/SignIn04.d.ts +3 -0
  252. package/dist/sign-in/SignIn04/SignIn04.types.d.cts +56 -0
  253. package/dist/sign-in/SignIn04/SignIn04.types.d.ts +56 -0
  254. package/dist/sign-in/SignIn05/SignIn05.d.cts +3 -0
  255. package/dist/sign-in/SignIn05/SignIn05.d.ts +3 -0
  256. package/dist/sign-in/SignIn05/SignIn05.types.d.cts +86 -0
  257. package/dist/sign-in/SignIn05/SignIn05.types.d.ts +86 -0
  258. package/dist/stats/Stats01/Stats01.d.cts +3 -0
  259. package/dist/stats/Stats01/Stats01.d.ts +3 -0
  260. package/dist/stats/Stats01/Stats01.types.d.cts +19 -0
  261. package/dist/stats/Stats01/Stats01.types.d.ts +19 -0
  262. package/dist/stats/Stats02/Stats02.d.cts +3 -0
  263. package/dist/stats/Stats02/Stats02.d.ts +3 -0
  264. package/dist/stats/Stats02/Stats02.types.d.cts +30 -0
  265. package/dist/stats/Stats02/Stats02.types.d.ts +30 -0
  266. package/dist/stats/Stats03/Stats03.d.cts +3 -0
  267. package/dist/stats/Stats03/Stats03.d.ts +3 -0
  268. package/dist/stats/Stats03/Stats03.types.d.cts +24 -0
  269. package/dist/stats/Stats03/Stats03.types.d.ts +24 -0
  270. package/dist/styles.css +11992 -2727
  271. package/dist/team/Team01/Team01.d.cts +3 -0
  272. package/dist/team/Team01/Team01.d.ts +3 -0
  273. package/dist/team/Team01/Team01.types.d.cts +25 -0
  274. package/dist/team/Team01/Team01.types.d.ts +25 -0
  275. package/dist/team/Team02/Team02.d.cts +3 -0
  276. package/dist/team/Team02/Team02.d.ts +3 -0
  277. package/dist/team/Team02/Team02.types.d.cts +37 -0
  278. package/dist/team/Team02/Team02.types.d.ts +37 -0
  279. package/dist/testimonials/Testimonial01/Testimonial01.d.cts +3 -0
  280. package/dist/testimonials/Testimonial01/Testimonial01.d.ts +3 -0
  281. package/dist/testimonials/Testimonial01/Testimonial01.types.d.cts +21 -0
  282. package/dist/testimonials/Testimonial01/Testimonial01.types.d.ts +21 -0
  283. package/dist/testimonials/Testimonial02/Testimonial02.d.cts +3 -0
  284. package/dist/testimonials/Testimonial02/Testimonial02.d.ts +3 -0
  285. package/dist/testimonials/Testimonial02/Testimonial02.types.d.cts +25 -0
  286. package/dist/testimonials/Testimonial02/Testimonial02.types.d.ts +25 -0
  287. package/dist/testimonials/Testimonial03/Testimonial03.d.cts +3 -0
  288. package/dist/testimonials/Testimonial03/Testimonial03.d.ts +3 -0
  289. package/dist/testimonials/Testimonial03/Testimonial03.types.d.cts +45 -0
  290. package/dist/testimonials/Testimonial03/Testimonial03.types.d.ts +45 -0
  291. package/package.json +3 -3
@@ -0,0 +1,6 @@
1
+ import type { List01Props } from "./List01.types.cjs";
2
+ /**
3
+ * A section title with its primary action, then one card: a search field and filters, a sortable table, and the
4
+ * pages. Any change to what's shown starts again from the first page.
5
+ */
6
+ export declare function List01<Row extends object>({ title, description, primaryAction, columns, rows, rowKey, searchText, filters, defaultSort, pageSize, emptyIcon, labels, className, ...props }: List01Props<Row>): import("react").JSX.Element;
@@ -0,0 +1,6 @@
1
+ import type { List01Props } from "./List01.types.js";
2
+ /**
3
+ * A section title with its primary action, then one card: a search field and filters, a sortable table, and the
4
+ * pages. Any change to what's shown starts again from the first page.
5
+ */
6
+ export declare function List01<Row extends object>({ title, description, primaryAction, columns, rows, rowKey, searchText, filters, defaultSort, pageSize, emptyIcon, labels, className, ...props }: List01Props<Row>): import("react").JSX.Element;
@@ -0,0 +1,60 @@
1
+ import type { HTMLAttributes, ReactNode } from "react";
2
+ import type { SelectOption, TableSort } from "@openwarelabs/ui";
3
+ import type { BlockButton, BlockTableColumn } from "../../shared/shared.types.cjs";
4
+ /** A filter over the table: a select of choices, each matching the rows whose value is that choice. */
5
+ export interface List01Filter<Row> {
6
+ /** Unique among the filters. */
7
+ id: string;
8
+ /** The select's name for screen readers: "Status". */
9
+ label: string;
10
+ /** The first choice, which shows every row: "Any status". */
11
+ allLabel: string;
12
+ /** The other choices. A row matches one when `value(row)` is its value. */
13
+ options: SelectOption[];
14
+ /** The row's value for this filter. */
15
+ value(row: Row): string;
16
+ }
17
+ export interface List01Labels {
18
+ /** The search field's placeholder. @default "Search" */
19
+ searchPlaceholder?: string;
20
+ /** The search field's name for screen readers. @default "Search" */
21
+ search?: string;
22
+ /** Describes the table for screen readers. @default the title, when it's text */
23
+ caption?: string;
24
+ /** The count at the end of the toolbar. @default "24 rows", or "3 of 24 rows" while searching or filtering */
25
+ count?(shown: number, total: number): ReactNode;
26
+ /** Names the page buttons for screen readers. @default "Pages" */
27
+ pages?: string;
28
+ /** The empty state's title when nothing matches. @default "Nothing matches" */
29
+ emptyTitle?: string;
30
+ /** The line under it, given what was searched for (empty when only filters are on). @default "Nothing matches “…” with these filters." */
31
+ emptyDescription?(query: string): ReactNode;
32
+ /** The button that clears the search and the filters. @default "Clear search and filters" */
33
+ clearAll?: string;
34
+ }
35
+ export interface List01Props<Row extends object> extends Omit<HTMLAttributes<HTMLElement>, "title" | "children"> {
36
+ /** The section's heading. */
37
+ title: ReactNode;
38
+ /** A line under it. */
39
+ description?: ReactNode;
40
+ /** The one primary action, beside the title: "Deploy a branch". */
41
+ primaryAction?: BlockButton;
42
+ /** The table's columns. Sortable ones sort the whole list, before it's split into pages. */
43
+ columns: Array<BlockTableColumn<Row>>;
44
+ /** Every row; the component searches, filters, sorts and pages them. */
45
+ rows: Row[];
46
+ /** A field name or function giving each row a unique key. @default "id" */
47
+ rowKey?: keyof Row | ((row: Row) => string | number);
48
+ /** The words in a row that the search matches. Without it there's no search field. */
49
+ searchText?(row: Row): string[];
50
+ /** Selects after the search field, each narrowing the rows. */
51
+ filters?: Array<List01Filter<Row>>;
52
+ /** The order to start with. */
53
+ defaultSort?: TableSort;
54
+ /** Rows on a page. @default 8 */
55
+ pageSize?: number;
56
+ /** A 20px icon for the empty state, usually from lucide-react. @default a search glass with a cross */
57
+ emptyIcon?: ReactNode;
58
+ /** Words that aren't content (names for screen readers, the count, the empty state), in English unless you pass your own. */
59
+ labels?: List01Labels;
60
+ }
@@ -0,0 +1,60 @@
1
+ import type { HTMLAttributes, ReactNode } from "react";
2
+ import type { SelectOption, TableSort } from "@openwarelabs/ui";
3
+ import type { BlockButton, BlockTableColumn } from "../../shared/shared.types.js";
4
+ /** A filter over the table: a select of choices, each matching the rows whose value is that choice. */
5
+ export interface List01Filter<Row> {
6
+ /** Unique among the filters. */
7
+ id: string;
8
+ /** The select's name for screen readers: "Status". */
9
+ label: string;
10
+ /** The first choice, which shows every row: "Any status". */
11
+ allLabel: string;
12
+ /** The other choices. A row matches one when `value(row)` is its value. */
13
+ options: SelectOption[];
14
+ /** The row's value for this filter. */
15
+ value(row: Row): string;
16
+ }
17
+ export interface List01Labels {
18
+ /** The search field's placeholder. @default "Search" */
19
+ searchPlaceholder?: string;
20
+ /** The search field's name for screen readers. @default "Search" */
21
+ search?: string;
22
+ /** Describes the table for screen readers. @default the title, when it's text */
23
+ caption?: string;
24
+ /** The count at the end of the toolbar. @default "24 rows", or "3 of 24 rows" while searching or filtering */
25
+ count?(shown: number, total: number): ReactNode;
26
+ /** Names the page buttons for screen readers. @default "Pages" */
27
+ pages?: string;
28
+ /** The empty state's title when nothing matches. @default "Nothing matches" */
29
+ emptyTitle?: string;
30
+ /** The line under it, given what was searched for (empty when only filters are on). @default "Nothing matches “…” with these filters." */
31
+ emptyDescription?(query: string): ReactNode;
32
+ /** The button that clears the search and the filters. @default "Clear search and filters" */
33
+ clearAll?: string;
34
+ }
35
+ export interface List01Props<Row extends object> extends Omit<HTMLAttributes<HTMLElement>, "title" | "children"> {
36
+ /** The section's heading. */
37
+ title: ReactNode;
38
+ /** A line under it. */
39
+ description?: ReactNode;
40
+ /** The one primary action, beside the title: "Deploy a branch". */
41
+ primaryAction?: BlockButton;
42
+ /** The table's columns. Sortable ones sort the whole list, before it's split into pages. */
43
+ columns: Array<BlockTableColumn<Row>>;
44
+ /** Every row; the component searches, filters, sorts and pages them. */
45
+ rows: Row[];
46
+ /** A field name or function giving each row a unique key. @default "id" */
47
+ rowKey?: keyof Row | ((row: Row) => string | number);
48
+ /** The words in a row that the search matches. Without it there's no search field. */
49
+ searchText?(row: Row): string[];
50
+ /** Selects after the search field, each narrowing the rows. */
51
+ filters?: Array<List01Filter<Row>>;
52
+ /** The order to start with. */
53
+ defaultSort?: TableSort;
54
+ /** Rows on a page. @default 8 */
55
+ pageSize?: number;
56
+ /** A 20px icon for the empty state, usually from lucide-react. @default a search glass with a cross */
57
+ emptyIcon?: ReactNode;
58
+ /** Words that aren't content (names for screen readers, the count, the empty state), in English unless you pass your own. */
59
+ labels?: List01Labels;
60
+ }
@@ -0,0 +1,3 @@
1
+ import type { List02Props } from "./List02.types.cjs";
2
+ /** A table with checkboxes. Once rows are selected, a bar takes over the card's header with what can be done to all of them. */
3
+ export declare function List02<Row extends object>({ title, description, primaryAction, columns, rows, rowKey, rowLabel, defaultSort, selectedKeys, defaultSelectedKeys, onSelectionChange, bulkActions, summary, hint, labels, className, ...props }: List02Props<Row>): import("react").JSX.Element;
@@ -0,0 +1,3 @@
1
+ import type { List02Props } from "./List02.types.js";
2
+ /** A table with checkboxes. Once rows are selected, a bar takes over the card's header with what can be done to all of them. */
3
+ export declare function List02<Row extends object>({ title, description, primaryAction, columns, rows, rowKey, rowLabel, defaultSort, selectedKeys, defaultSelectedKeys, onSelectionChange, bulkActions, summary, hint, labels, className, ...props }: List02Props<Row>): import("react").JSX.Element;
@@ -0,0 +1,54 @@
1
+ import type { HTMLAttributes, Key, ReactNode } from "react";
2
+ import type { TableSort } from "@openwarelabs/ui";
3
+ import type { BlockButton, BlockMenuItem, BlockTableColumn } from "../../shared/shared.types.cjs";
4
+ /** Something the bar can do to every selected row: a button, or a button that opens a menu of choices. */
5
+ export interface List02BulkAction extends BlockButton {
6
+ /** `danger` for actions that remove or can't be undone. @default "secondary" */
7
+ variant?: "secondary" | "danger";
8
+ /** Makes it a button that opens a menu of these choices, with a chevron after its label. */
9
+ menu?: BlockMenuItem[];
10
+ /** A small heading at the top of the menu: "Make them all". */
11
+ menuHeading?: ReactNode;
12
+ }
13
+ export interface List02Labels {
14
+ /** Describes the table for screen readers. @default the title, when it's text */
15
+ caption?: string;
16
+ /** Names the bar for screen readers. @default "Selected rows" */
17
+ bar?: string;
18
+ /** The count at the start of the bar. @default "2 selected" */
19
+ selected?(count: number): ReactNode;
20
+ /** The button that clears the selection, and its tooltip. @default "Clear selection" */
21
+ clearSelection?: string;
22
+ }
23
+ export interface List02Props<Row extends object> extends Omit<HTMLAttributes<HTMLElement>, "title" | "children"> {
24
+ /** The section's heading. */
25
+ title: ReactNode;
26
+ /** A line under it. */
27
+ description?: ReactNode;
28
+ /** The one primary action, beside the title: "Invite people". */
29
+ primaryAction?: BlockButton;
30
+ /** The table's columns, after the checkboxes. */
31
+ columns: Array<BlockTableColumn<Row>>;
32
+ /** The rows. */
33
+ rows: Row[];
34
+ /** A field name or function giving each row a unique key: what the selection holds. @default "id" */
35
+ rowKey?: keyof Row | ((row: Row) => Key);
36
+ /** Names a row for its checkbox, read out as "Select …". */
37
+ rowLabel?(row: Row): string;
38
+ /** The order to start with. */
39
+ defaultSort?: TableSort;
40
+ /** The selected rows' keys, when you keep them yourself. */
41
+ selectedKeys?: Key[];
42
+ /** The rows selected to start with. */
43
+ defaultSelectedKeys?: Key[];
44
+ /** Called with the selected rows' keys when the selection changes. */
45
+ onSelectionChange?(keys: Key[]): void;
46
+ /** What can be done to the selected rows, given them: the buttons in the bar that takes over the card's header. */
47
+ bulkActions?(selected: Row[]): List02BulkAction[];
48
+ /** The card's header while nothing is selected, on the left: how many rows there are. */
49
+ summary?: ReactNode;
50
+ /** A caption on the right of it, such as how selecting works. Hidden on phones. */
51
+ hint?: ReactNode;
52
+ /** Words that aren't content (names for screen readers, the count), in English unless you pass your own. */
53
+ labels?: List02Labels;
54
+ }
@@ -0,0 +1,54 @@
1
+ import type { HTMLAttributes, Key, ReactNode } from "react";
2
+ import type { TableSort } from "@openwarelabs/ui";
3
+ import type { BlockButton, BlockMenuItem, BlockTableColumn } from "../../shared/shared.types.js";
4
+ /** Something the bar can do to every selected row: a button, or a button that opens a menu of choices. */
5
+ export interface List02BulkAction extends BlockButton {
6
+ /** `danger` for actions that remove or can't be undone. @default "secondary" */
7
+ variant?: "secondary" | "danger";
8
+ /** Makes it a button that opens a menu of these choices, with a chevron after its label. */
9
+ menu?: BlockMenuItem[];
10
+ /** A small heading at the top of the menu: "Make them all". */
11
+ menuHeading?: ReactNode;
12
+ }
13
+ export interface List02Labels {
14
+ /** Describes the table for screen readers. @default the title, when it's text */
15
+ caption?: string;
16
+ /** Names the bar for screen readers. @default "Selected rows" */
17
+ bar?: string;
18
+ /** The count at the start of the bar. @default "2 selected" */
19
+ selected?(count: number): ReactNode;
20
+ /** The button that clears the selection, and its tooltip. @default "Clear selection" */
21
+ clearSelection?: string;
22
+ }
23
+ export interface List02Props<Row extends object> extends Omit<HTMLAttributes<HTMLElement>, "title" | "children"> {
24
+ /** The section's heading. */
25
+ title: ReactNode;
26
+ /** A line under it. */
27
+ description?: ReactNode;
28
+ /** The one primary action, beside the title: "Invite people". */
29
+ primaryAction?: BlockButton;
30
+ /** The table's columns, after the checkboxes. */
31
+ columns: Array<BlockTableColumn<Row>>;
32
+ /** The rows. */
33
+ rows: Row[];
34
+ /** A field name or function giving each row a unique key: what the selection holds. @default "id" */
35
+ rowKey?: keyof Row | ((row: Row) => Key);
36
+ /** Names a row for its checkbox, read out as "Select …". */
37
+ rowLabel?(row: Row): string;
38
+ /** The order to start with. */
39
+ defaultSort?: TableSort;
40
+ /** The selected rows' keys, when you keep them yourself. */
41
+ selectedKeys?: Key[];
42
+ /** The rows selected to start with. */
43
+ defaultSelectedKeys?: Key[];
44
+ /** Called with the selected rows' keys when the selection changes. */
45
+ onSelectionChange?(keys: Key[]): void;
46
+ /** What can be done to the selected rows, given them: the buttons in the bar that takes over the card's header. */
47
+ bulkActions?(selected: Row[]): List02BulkAction[];
48
+ /** The card's header while nothing is selected, on the left: how many rows there are. */
49
+ summary?: ReactNode;
50
+ /** A caption on the right of it, such as how selecting works. Hidden on phones. */
51
+ hint?: ReactNode;
52
+ /** Words that aren't content (names for screen readers, the count), in English unless you pass your own. */
53
+ labels?: List02Labels;
54
+ }
@@ -0,0 +1,3 @@
1
+ import type { List03Props } from "./List03.types.cjs";
2
+ /** Rows of a title, one line of detail and a status, each with its actions in a menu at its end. On phones the status moves under the detail. */
3
+ export declare function List03({ title, description, primaryAction, items, footnote, labels, className, ...props }: List03Props): import("react").JSX.Element;
@@ -0,0 +1,3 @@
1
+ import type { List03Props } from "./List03.types.js";
2
+ /** Rows of a title, one line of detail and a status, each with its actions in a menu at its end. On phones the status moves under the detail. */
3
+ export declare function List03({ title, description, primaryAction, items, footnote, labels, className, ...props }: List03Props): import("react").JSX.Element;
@@ -0,0 +1,41 @@
1
+ import type { HTMLAttributes, ReactNode } from "react";
2
+ import type { BlockButton, BlockMenuItem, BlockStatus } from "../../shared/shared.types.cjs";
3
+ /** One row: a title, one line of detail and a status, with its actions in a menu at its end. */
4
+ export interface List03Item {
5
+ /** Unique in the list. */
6
+ id: string;
7
+ /** Its name, on the first line. */
8
+ title: string;
9
+ /** A short code in mono after the name: a key's last characters, a version. */
10
+ code?: ReactNode;
11
+ /** One line of detail under it: who made it, when it was last used. On phones it may wrap. */
12
+ detail?: ReactNode;
13
+ /** Its state, as a badge. */
14
+ status?: BlockStatus;
15
+ /** Mutes the name and the icon, for something expired, revoked or archived. */
16
+ inactive?: boolean;
17
+ /** A 16px icon on a tile at the start of the row, usually from lucide-react. */
18
+ icon?: ReactNode;
19
+ /** What can be done to it, in a menu behind a button at the row's end. */
20
+ menu?: BlockMenuItem[];
21
+ }
22
+ export interface List03Labels {
23
+ /** Names a row's menu button. @default "Actions for Production deploys" */
24
+ actions?(title: string): string;
25
+ /** Names a row's menu. @default "Production deploys actions" */
26
+ menu?(title: string): string;
27
+ }
28
+ export interface List03Props extends Omit<HTMLAttributes<HTMLElement>, "title" | "children"> {
29
+ /** The section's heading. */
30
+ title: ReactNode;
31
+ /** A line or two under it. */
32
+ description?: ReactNode;
33
+ /** The one primary action, beside the title: "Create key". */
34
+ primaryAction?: BlockButton;
35
+ /** The rows, in order. */
36
+ items: List03Item[];
37
+ /** A caption under the list: how things expire, where to find more. */
38
+ footnote?: ReactNode;
39
+ /** Words that aren't content (names for screen readers), in English unless you pass your own. */
40
+ labels?: List03Labels;
41
+ }
@@ -0,0 +1,41 @@
1
+ import type { HTMLAttributes, ReactNode } from "react";
2
+ import type { BlockButton, BlockMenuItem, BlockStatus } from "../../shared/shared.types.js";
3
+ /** One row: a title, one line of detail and a status, with its actions in a menu at its end. */
4
+ export interface List03Item {
5
+ /** Unique in the list. */
6
+ id: string;
7
+ /** Its name, on the first line. */
8
+ title: string;
9
+ /** A short code in mono after the name: a key's last characters, a version. */
10
+ code?: ReactNode;
11
+ /** One line of detail under it: who made it, when it was last used. On phones it may wrap. */
12
+ detail?: ReactNode;
13
+ /** Its state, as a badge. */
14
+ status?: BlockStatus;
15
+ /** Mutes the name and the icon, for something expired, revoked or archived. */
16
+ inactive?: boolean;
17
+ /** A 16px icon on a tile at the start of the row, usually from lucide-react. */
18
+ icon?: ReactNode;
19
+ /** What can be done to it, in a menu behind a button at the row's end. */
20
+ menu?: BlockMenuItem[];
21
+ }
22
+ export interface List03Labels {
23
+ /** Names a row's menu button. @default "Actions for Production deploys" */
24
+ actions?(title: string): string;
25
+ /** Names a row's menu. @default "Production deploys actions" */
26
+ menu?(title: string): string;
27
+ }
28
+ export interface List03Props extends Omit<HTMLAttributes<HTMLElement>, "title" | "children"> {
29
+ /** The section's heading. */
30
+ title: ReactNode;
31
+ /** A line or two under it. */
32
+ description?: ReactNode;
33
+ /** The one primary action, beside the title: "Create key". */
34
+ primaryAction?: BlockButton;
35
+ /** The rows, in order. */
36
+ items: List03Item[];
37
+ /** A caption under the list: how things expire, where to find more. */
38
+ footnote?: ReactNode;
39
+ /** Words that aren't content (names for screen readers), in English unless you pass your own. */
40
+ labels?: List03Labels;
41
+ }
@@ -0,0 +1,3 @@
1
+ import type { List04Props } from "./List04.types.cjs";
2
+ /** A grid of cards, each with a tile, a name, a line about it, its status and its people, and a menu of actions. A search field narrows them. */
3
+ export declare function List04({ title, count, description, primaryAction, items, searchable, emptyIcon, labels, className, ...props }: List04Props): import("react").JSX.Element;
@@ -0,0 +1,3 @@
1
+ import type { List04Props } from "./List04.types.js";
2
+ /** A grid of cards, each with a tile, a name, a line about it, its status and its people, and a menu of actions. A search field narrows them. */
3
+ export declare function List04({ title, count, description, primaryAction, items, searchable, emptyIcon, labels, className, ...props }: List04Props): import("react").JSX.Element;
@@ -0,0 +1,67 @@
1
+ import type { HTMLAttributes, ReactNode } from "react";
2
+ import type { BlockButton, BlockMenuItem, BlockStatus } from "../../shared/shared.types.cjs";
3
+ /** One card: what it is, how it's doing, who works on it, and a menu of actions. */
4
+ export interface List04Item {
5
+ /** Unique in the grid. */
6
+ id: string;
7
+ /** Its name, as the card's heading. */
8
+ title: string;
9
+ /** A line in mono under the name, such as its repository. */
10
+ subtitle?: ReactNode;
11
+ /** A 17px icon on a tile before the name, usually from lucide-react. */
12
+ icon?: ReactNode;
13
+ /** A line or two about it. */
14
+ description?: ReactNode;
15
+ /** Its state, as a badge at the foot of the card. */
16
+ status?: BlockStatus;
17
+ /** A caption beside the badge: when it last changed. */
18
+ meta?: ReactNode;
19
+ /** The people on it, as avatars at the foot. Three show; the rest are counted. */
20
+ members?: string[];
21
+ /** Marks it with a small brass star after its name. */
22
+ pinned?: boolean;
23
+ /** What can be done to it, in a menu behind a button on the card. */
24
+ menu?: BlockMenuItem[];
25
+ /** The words the search matches. @default the title, and the description when it's text */
26
+ searchText?: string[];
27
+ }
28
+ export interface List04Labels {
29
+ /** The search field's placeholder, and its name for screen readers. @default "Search" */
30
+ search?: string;
31
+ /** Read out for the star of a pinned card. @default "Pinned" */
32
+ pinned?: string;
33
+ /** Names a card's menu button. @default "Actions for marketing-site" */
34
+ actions?(title: string): string;
35
+ /** Names a card's menu. @default "marketing-site actions" */
36
+ menu?(title: string): string;
37
+ /** Names a card's group of avatars. @default "6 people on marketing-site" */
38
+ members?(count: number, title: string): string;
39
+ /** The empty state's title when the search matches nothing. @default "Nothing matches" */
40
+ emptyTitle?: string;
41
+ /** The line under it, given the search. @default "Nothing is called “…”, and no description mentions it." */
42
+ emptyDescription?(query: string): ReactNode;
43
+ /** The button that clears the search. @default "Clear search" */
44
+ clearSearch?: string;
45
+ /** The empty state's title when there are no cards at all. @default "Nothing here yet" */
46
+ noItemsTitle?: string;
47
+ /** The line under it. */
48
+ noItemsDescription?: ReactNode;
49
+ }
50
+ export interface List04Props extends Omit<HTMLAttributes<HTMLElement>, "title" | "children"> {
51
+ /** The section's heading. */
52
+ title: ReactNode;
53
+ /** A muted count after the heading. */
54
+ count?: ReactNode;
55
+ /** A line under it. */
56
+ description?: ReactNode;
57
+ /** A small primary action beside the search field: "New project". */
58
+ primaryAction?: BlockButton;
59
+ /** The cards, in order: three to a row on desktops, two on tablets, one on phones. */
60
+ items: List04Item[];
61
+ /** Shows a search field that narrows the cards. @default true */
62
+ searchable?: boolean;
63
+ /** A 20px icon for the empty state, usually from lucide-react. @default a search glass with a cross */
64
+ emptyIcon?: ReactNode;
65
+ /** Words that aren't content (names for screen readers, the empty state), in English unless you pass your own. */
66
+ labels?: List04Labels;
67
+ }
@@ -0,0 +1,67 @@
1
+ import type { HTMLAttributes, ReactNode } from "react";
2
+ import type { BlockButton, BlockMenuItem, BlockStatus } from "../../shared/shared.types.js";
3
+ /** One card: what it is, how it's doing, who works on it, and a menu of actions. */
4
+ export interface List04Item {
5
+ /** Unique in the grid. */
6
+ id: string;
7
+ /** Its name, as the card's heading. */
8
+ title: string;
9
+ /** A line in mono under the name, such as its repository. */
10
+ subtitle?: ReactNode;
11
+ /** A 17px icon on a tile before the name, usually from lucide-react. */
12
+ icon?: ReactNode;
13
+ /** A line or two about it. */
14
+ description?: ReactNode;
15
+ /** Its state, as a badge at the foot of the card. */
16
+ status?: BlockStatus;
17
+ /** A caption beside the badge: when it last changed. */
18
+ meta?: ReactNode;
19
+ /** The people on it, as avatars at the foot. Three show; the rest are counted. */
20
+ members?: string[];
21
+ /** Marks it with a small brass star after its name. */
22
+ pinned?: boolean;
23
+ /** What can be done to it, in a menu behind a button on the card. */
24
+ menu?: BlockMenuItem[];
25
+ /** The words the search matches. @default the title, and the description when it's text */
26
+ searchText?: string[];
27
+ }
28
+ export interface List04Labels {
29
+ /** The search field's placeholder, and its name for screen readers. @default "Search" */
30
+ search?: string;
31
+ /** Read out for the star of a pinned card. @default "Pinned" */
32
+ pinned?: string;
33
+ /** Names a card's menu button. @default "Actions for marketing-site" */
34
+ actions?(title: string): string;
35
+ /** Names a card's menu. @default "marketing-site actions" */
36
+ menu?(title: string): string;
37
+ /** Names a card's group of avatars. @default "6 people on marketing-site" */
38
+ members?(count: number, title: string): string;
39
+ /** The empty state's title when the search matches nothing. @default "Nothing matches" */
40
+ emptyTitle?: string;
41
+ /** The line under it, given the search. @default "Nothing is called “…”, and no description mentions it." */
42
+ emptyDescription?(query: string): ReactNode;
43
+ /** The button that clears the search. @default "Clear search" */
44
+ clearSearch?: string;
45
+ /** The empty state's title when there are no cards at all. @default "Nothing here yet" */
46
+ noItemsTitle?: string;
47
+ /** The line under it. */
48
+ noItemsDescription?: ReactNode;
49
+ }
50
+ export interface List04Props extends Omit<HTMLAttributes<HTMLElement>, "title" | "children"> {
51
+ /** The section's heading. */
52
+ title: ReactNode;
53
+ /** A muted count after the heading. */
54
+ count?: ReactNode;
55
+ /** A line under it. */
56
+ description?: ReactNode;
57
+ /** A small primary action beside the search field: "New project". */
58
+ primaryAction?: BlockButton;
59
+ /** The cards, in order: three to a row on desktops, two on tablets, one on phones. */
60
+ items: List04Item[];
61
+ /** Shows a search field that narrows the cards. @default true */
62
+ searchable?: boolean;
63
+ /** A 20px icon for the empty state, usually from lucide-react. @default a search glass with a cross */
64
+ emptyIcon?: ReactNode;
65
+ /** Words that aren't content (names for screen readers, the empty state), in English unless you pass your own. */
66
+ labels?: List04Labels;
67
+ }
@@ -0,0 +1,3 @@
1
+ import type { Logos01Props } from "./Logos01.types.cjs";
2
+ /** A row of customers' logos under a small heading. */
3
+ export declare function Logos01({ title, logos, className, ...props }: Logos01Props): import("react").JSX.Element;
@@ -0,0 +1,3 @@
1
+ import type { Logos01Props } from "./Logos01.types.js";
2
+ /** A row of customers' logos under a small heading. */
3
+ export declare function Logos01({ title, logos, className, ...props }: Logos01Props): import("react").JSX.Element;
@@ -0,0 +1,13 @@
1
+ import type { HTMLAttributes, ReactNode } from "react";
2
+ export interface Logos01Logo {
3
+ /** The company, for the list's key. Put it in the logo too: as the <img>'s alt, or as text beside an SVG. */
4
+ name: string;
5
+ /** The logo: an `<img src alt>` or an inline SVG, in one colour (currentColor), about 22px tall. */
6
+ logo: ReactNode;
7
+ }
8
+ export interface Logos01Props extends Omit<HTMLAttributes<HTMLElement>, "title" | "children"> {
9
+ /** A small, muted heading over the logos: "Trusted by more than 4,000 software teams". */
10
+ title: ReactNode;
11
+ /** Customers' logos, in one row that wraps to a grid on smaller screens. Five or six look best. */
12
+ logos: Logos01Logo[];
13
+ }
@@ -0,0 +1,13 @@
1
+ import type { HTMLAttributes, ReactNode } from "react";
2
+ export interface Logos01Logo {
3
+ /** The company, for the list's key. Put it in the logo too: as the <img>'s alt, or as text beside an SVG. */
4
+ name: string;
5
+ /** The logo: an `<img src alt>` or an inline SVG, in one colour (currentColor), about 22px tall. */
6
+ logo: ReactNode;
7
+ }
8
+ export interface Logos01Props extends Omit<HTMLAttributes<HTMLElement>, "title" | "children"> {
9
+ /** A small, muted heading over the logos: "Trusted by more than 4,000 software teams". */
10
+ title: ReactNode;
11
+ /** Customers' logos, in one row that wraps to a grid on smaller screens. Five or six look best. */
12
+ logos: Logos01Logo[];
13
+ }
@@ -0,0 +1,3 @@
1
+ import type { Logos02Props } from "./Logos02.types.cjs";
2
+ /** Customers' logos in tiles on one card, each linking to its story. */
3
+ export declare function Logos02({ eyebrow, title, description, logos, link, labels, className, ...props }: Logos02Props): import("react").JSX.Element;
@@ -0,0 +1,3 @@
1
+ import type { Logos02Props } from "./Logos02.types.js";
2
+ /** Customers' logos in tiles on one card, each linking to its story. */
3
+ export declare function Logos02({ eyebrow, title, description, logos, link, labels, className, ...props }: Logos02Props): import("react").JSX.Element;
@@ -0,0 +1,28 @@
1
+ import type { HTMLAttributes, ReactNode } from "react";
2
+ import type { BlockLink } from "../../shared/shared.types.cjs";
3
+ export interface Logos02Logo {
4
+ /** The company, for the list's key. Put it in the logo too: as the <img>'s alt, or as text beside an SVG. */
5
+ name: string;
6
+ /** The logo: an `<img src alt>` or an inline SVG, in one colour (currentColor), about 22px tall. */
7
+ logo: ReactNode;
8
+ /** Where its tile goes, such as the customer's story. */
9
+ href: string;
10
+ }
11
+ export interface Logos02Labels {
12
+ /** Shown under a logo when its tile is hovered or focused. @default "Read the story" */
13
+ more?: string;
14
+ }
15
+ export interface Logos02Props extends Omit<HTMLAttributes<HTMLElement>, "title" | "children"> {
16
+ /** A small line in a Chip above the title, such as the section's name. */
17
+ eyebrow?: ReactNode;
18
+ /** The section's heading. */
19
+ title: ReactNode;
20
+ /** A sentence or two under the title. */
21
+ description?: ReactNode;
22
+ /** Customers' logos, each a tile that links to its story: four to a row, two on phones. Eight look best. */
23
+ logos: Logos02Logo[];
24
+ /** A link under the tiles: "See all 40 customer stories". */
25
+ link?: BlockLink;
26
+ /** Words that aren't content, in English unless you pass your own. */
27
+ labels?: Logos02Labels;
28
+ }
@@ -0,0 +1,28 @@
1
+ import type { HTMLAttributes, ReactNode } from "react";
2
+ import type { BlockLink } from "../../shared/shared.types.js";
3
+ export interface Logos02Logo {
4
+ /** The company, for the list's key. Put it in the logo too: as the <img>'s alt, or as text beside an SVG. */
5
+ name: string;
6
+ /** The logo: an `<img src alt>` or an inline SVG, in one colour (currentColor), about 22px tall. */
7
+ logo: ReactNode;
8
+ /** Where its tile goes, such as the customer's story. */
9
+ href: string;
10
+ }
11
+ export interface Logos02Labels {
12
+ /** Shown under a logo when its tile is hovered or focused. @default "Read the story" */
13
+ more?: string;
14
+ }
15
+ export interface Logos02Props extends Omit<HTMLAttributes<HTMLElement>, "title" | "children"> {
16
+ /** A small line in a Chip above the title, such as the section's name. */
17
+ eyebrow?: ReactNode;
18
+ /** The section's heading. */
19
+ title: ReactNode;
20
+ /** A sentence or two under the title. */
21
+ description?: ReactNode;
22
+ /** Customers' logos, each a tile that links to its story: four to a row, two on phones. Eight look best. */
23
+ logos: Logos02Logo[];
24
+ /** A link under the tiles: "See all 40 customer stories". */
25
+ link?: BlockLink;
26
+ /** Words that aren't content, in English unless you pass your own. */
27
+ labels?: Logos02Labels;
28
+ }
@@ -0,0 +1,3 @@
1
+ import type { Logos03Props } from "./Logos03.types.cjs";
2
+ /** A slow, endless row of customers' logos that pauses on hover and stands still with reduced motion. */
3
+ export declare function Logos03({ title, logos, labels, className, ...props }: Logos03Props): import("react").JSX.Element;
@@ -0,0 +1,3 @@
1
+ import type { Logos03Props } from "./Logos03.types.js";
2
+ /** A slow, endless row of customers' logos that pauses on hover and stands still with reduced motion. */
3
+ export declare function Logos03({ title, logos, labels, className, ...props }: Logos03Props): import("react").JSX.Element;