shelving 1.236.0 → 1.236.2

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 (793) hide show
  1. package/api/cache/APICache.d.ts +69 -6
  2. package/api/cache/APICache.js +61 -5
  3. package/api/cache/EndpointCache.d.ts +75 -7
  4. package/api/cache/EndpointCache.js +75 -7
  5. package/api/endpoint/Endpoint.d.ts +141 -25
  6. package/api/endpoint/Endpoint.js +55 -9
  7. package/api/endpoint/util.d.ts +28 -6
  8. package/api/provider/APIProvider.d.ts +58 -14
  9. package/api/provider/APIProvider.js +24 -2
  10. package/api/provider/CachedAPIProvider.d.ts +58 -5
  11. package/api/provider/CachedAPIProvider.js +58 -6
  12. package/api/provider/ClientAPIProvider.d.ts +80 -4
  13. package/api/provider/ClientAPIProvider.js +75 -4
  14. package/api/provider/DebugAPIProvider.d.ts +40 -1
  15. package/api/provider/DebugAPIProvider.js +40 -1
  16. package/api/provider/JSONAPIProvider.d.ts +18 -2
  17. package/api/provider/JSONAPIProvider.js +18 -2
  18. package/api/provider/LoggingAPIProvider.d.ts +25 -2
  19. package/api/provider/LoggingAPIProvider.js +25 -2
  20. package/api/provider/MockAPIProvider.d.ts +72 -1
  21. package/api/provider/MockAPIProvider.js +60 -4
  22. package/api/provider/MockEndpointAPIProvider.d.ts +9 -0
  23. package/api/provider/MockEndpointAPIProvider.js +9 -0
  24. package/api/provider/ThroughAPIProvider.d.ts +67 -1
  25. package/api/provider/ThroughAPIProvider.js +67 -1
  26. package/api/provider/ValidationAPIProvider.d.ts +32 -1
  27. package/api/provider/ValidationAPIProvider.js +32 -1
  28. package/api/provider/XMLAPIProvider.d.ts +18 -2
  29. package/api/provider/XMLAPIProvider.js +18 -2
  30. package/api/store/EndpointStore.d.ts +24 -1
  31. package/api/store/EndpointStore.js +24 -1
  32. package/bun/BunPostgreSQLProvider.d.ts +38 -0
  33. package/bun/BunPostgreSQLProvider.js +38 -2
  34. package/cloudflare/CloudflareD1Provider.d.ts +29 -2
  35. package/cloudflare/CloudflareD1Provider.js +29 -2
  36. package/cloudflare/CloudflareKVProvider.d.ts +115 -0
  37. package/cloudflare/CloudflareKVProvider.js +115 -0
  38. package/cloudflare/types.d.ts +41 -7
  39. package/db/cache/CollectionCache.d.ts +83 -7
  40. package/db/cache/CollectionCache.js +83 -7
  41. package/db/cache/DBCache.d.ts +93 -8
  42. package/db/cache/DBCache.js +85 -7
  43. package/db/collection/Collection.d.ts +103 -15
  44. package/db/collection/Collection.js +58 -6
  45. package/db/migrate/DBMigrator.d.ts +29 -1
  46. package/db/migrate/DBMigrator.js +20 -1
  47. package/db/migrate/PostgreSQLMigrator.d.ts +8 -1
  48. package/db/migrate/PostgreSQLMigrator.js +8 -1
  49. package/db/migrate/SQLMigrator.d.ts +63 -4
  50. package/db/migrate/SQLMigrator.js +51 -1
  51. package/db/migrate/SQLiteMigrator.d.ts +8 -1
  52. package/db/migrate/SQLiteMigrator.js +8 -1
  53. package/db/provider/CacheDBProvider.d.ts +135 -1
  54. package/db/provider/CacheDBProvider.js +135 -1
  55. package/db/provider/ChangesDBProvider.d.ts +84 -3
  56. package/db/provider/ChangesDBProvider.js +77 -2
  57. package/db/provider/DBProvider.d.ts +148 -1
  58. package/db/provider/DBProvider.js +51 -1
  59. package/db/provider/DebugDBProvider.d.ts +118 -1
  60. package/db/provider/DebugDBProvider.js +118 -1
  61. package/db/provider/MemoryDBProvider.d.ts +262 -7
  62. package/db/provider/MemoryDBProvider.js +262 -7
  63. package/db/provider/MockDBProvider.d.ts +113 -2
  64. package/db/provider/MockDBProvider.js +106 -1
  65. package/db/provider/PostgreSQLProvider.d.ts +34 -2
  66. package/db/provider/PostgreSQLProvider.js +34 -4
  67. package/db/provider/SQLProvider.d.ts +250 -14
  68. package/db/provider/SQLProvider.js +237 -13
  69. package/db/provider/SQLiteProvider.d.ts +41 -1
  70. package/db/provider/SQLiteProvider.js +41 -4
  71. package/db/provider/ThroughDBProvider.d.ts +156 -1
  72. package/db/provider/ThroughDBProvider.js +156 -1
  73. package/db/provider/ValidationDBProvider.d.ts +120 -1
  74. package/db/provider/ValidationDBProvider.js +120 -1
  75. package/db/store/ItemStore.d.ts +38 -2
  76. package/db/store/ItemStore.js +38 -2
  77. package/db/store/QueryStore.d.ts +64 -6
  78. package/db/store/QueryStore.js +64 -6
  79. package/error/BaseError.d.ts +27 -2
  80. package/error/BaseError.js +14 -0
  81. package/error/Errors.d.ts +12 -1
  82. package/error/Errors.js +12 -1
  83. package/error/NetworkError.d.ts +13 -1
  84. package/error/NetworkError.js +13 -1
  85. package/error/RequestError.d.ts +90 -7
  86. package/error/RequestError.js +90 -7
  87. package/error/RequiredError.d.ts +11 -1
  88. package/error/RequiredError.js +11 -1
  89. package/error/ResponseError.d.ts +19 -2
  90. package/error/ResponseError.js +19 -2
  91. package/error/UnexpectedError.d.ts +14 -1
  92. package/error/UnexpectedError.js +14 -1
  93. package/error/UnimplementedError.d.ts +13 -1
  94. package/error/UnimplementedError.js +13 -1
  95. package/error/ValueError.d.ts +14 -1
  96. package/error/ValueError.js +14 -1
  97. package/extract/DirectoryExtractor.d.ts +35 -1
  98. package/extract/DirectoryExtractor.js +30 -0
  99. package/extract/Extractor.d.ts +21 -2
  100. package/extract/Extractor.js +7 -1
  101. package/extract/FileExtractor.d.ts +18 -0
  102. package/extract/FileExtractor.js +18 -0
  103. package/extract/IndexExtractor.d.ts +36 -1
  104. package/extract/IndexExtractor.js +31 -0
  105. package/extract/MarkupExtractor.d.ts +15 -0
  106. package/extract/MarkupExtractor.js +15 -0
  107. package/extract/MergingExtractor.d.ts +36 -1
  108. package/extract/MergingExtractor.js +31 -0
  109. package/extract/ModuleExtractor.d.ts +25 -1
  110. package/extract/ModuleExtractor.js +20 -0
  111. package/extract/PackageExtractor.d.ts +36 -1
  112. package/extract/PackageExtractor.js +31 -0
  113. package/extract/ThroughExtractor.d.ts +22 -1
  114. package/extract/ThroughExtractor.js +22 -1
  115. package/extract/TypescriptExtractor.d.ts +21 -0
  116. package/extract/TypescriptExtractor.js +28 -3
  117. package/firestore/client/FirestoreClientProvider.d.ts +129 -4
  118. package/firestore/client/FirestoreClientProvider.js +129 -4
  119. package/firestore/lite/FirestoreLiteProvider.d.ts +128 -3
  120. package/firestore/lite/FirestoreLiteProvider.js +128 -3
  121. package/firestore/server/FirestoreServerProvider.d.ts +129 -2
  122. package/firestore/server/FirestoreServerProvider.js +129 -2
  123. package/markup/MarkupParser.d.ts +57 -10
  124. package/markup/MarkupParser.js +50 -9
  125. package/markup/MarkupRule.d.ts +34 -1
  126. package/markup/Parser.d.ts +18 -0
  127. package/markup/Parser.js +11 -0
  128. package/markup/rule/blockquote.d.ts +3 -0
  129. package/markup/rule/blockquote.js +3 -0
  130. package/markup/rule/code.d.ts +3 -0
  131. package/markup/rule/code.js +3 -0
  132. package/markup/rule/fenced.d.ts +3 -0
  133. package/markup/rule/fenced.js +3 -0
  134. package/markup/rule/heading.d.ts +3 -0
  135. package/markup/rule/heading.js +3 -0
  136. package/markup/rule/index.d.ts +16 -3
  137. package/markup/rule/index.js +16 -3
  138. package/markup/rule/inline.d.ts +4 -1
  139. package/markup/rule/inline.js +5 -2
  140. package/markup/rule/linebreak.d.ts +3 -0
  141. package/markup/rule/linebreak.js +3 -0
  142. package/markup/rule/link.d.ts +6 -0
  143. package/markup/rule/link.js +6 -0
  144. package/markup/rule/ordered.d.ts +3 -0
  145. package/markup/rule/ordered.js +3 -0
  146. package/markup/rule/paragraph.d.ts +3 -0
  147. package/markup/rule/paragraph.js +3 -0
  148. package/markup/rule/separator.d.ts +3 -0
  149. package/markup/rule/separator.js +3 -0
  150. package/markup/rule/table.d.ts +3 -0
  151. package/markup/rule/table.js +3 -0
  152. package/markup/rule/unordered.d.ts +3 -0
  153. package/markup/rule/unordered.js +3 -0
  154. package/markup/util/regexp.d.ts +80 -3
  155. package/markup/util/regexp.js +44 -0
  156. package/package.json +1 -1
  157. package/react/createAPIContext.d.ts +15 -0
  158. package/react/createAPIContext.js +10 -0
  159. package/react/createDBContext.d.ts +15 -0
  160. package/react/createDBContext.js +10 -0
  161. package/react/useInstance.d.ts +11 -0
  162. package/react/useInstance.js +11 -0
  163. package/react/useLazy.d.ts +11 -0
  164. package/react/useMap.d.ts +14 -1
  165. package/react/useMap.js +14 -1
  166. package/react/useReduce.d.ts +12 -0
  167. package/react/useSequence.d.ts +10 -0
  168. package/react/useSequence.js +10 -0
  169. package/react/useStore.d.ts +16 -1
  170. package/schema/AddressSchema.d.ts +41 -4
  171. package/schema/AddressSchema.js +36 -3
  172. package/schema/ArraySchema.d.ts +48 -6
  173. package/schema/ArraySchema.js +40 -5
  174. package/schema/BooleanSchema.d.ts +59 -3
  175. package/schema/BooleanSchema.js +51 -2
  176. package/schema/ChoiceSchema.d.ts +61 -7
  177. package/schema/ChoiceSchema.js +44 -2
  178. package/schema/ColorSchema.d.ts +41 -8
  179. package/schema/ColorSchema.js +36 -7
  180. package/schema/CountrySchema.d.ts +44 -4
  181. package/schema/CountrySchema.js +39 -3
  182. package/schema/CurrencyAmountSchema.d.ts +104 -8
  183. package/schema/CurrencyAmountSchema.js +91 -4
  184. package/schema/CurrencyCodeSchema.d.ts +56 -4
  185. package/schema/CurrencyCodeSchema.js +49 -3
  186. package/schema/DataSchema.d.ts +101 -10
  187. package/schema/DataSchema.js +87 -8
  188. package/schema/DateSchema.d.ts +73 -4
  189. package/schema/DateSchema.js +57 -2
  190. package/schema/DateTimeSchema.d.ts +40 -3
  191. package/schema/DateTimeSchema.js +40 -3
  192. package/schema/DictionarySchema.d.ts +54 -4
  193. package/schema/DictionarySchema.js +47 -3
  194. package/schema/EmailSchema.d.ts +34 -3
  195. package/schema/EmailSchema.js +34 -3
  196. package/schema/EntitySchema.d.ts +45 -4
  197. package/schema/EntitySchema.js +38 -3
  198. package/schema/FileSchema.d.ts +45 -4
  199. package/schema/FileSchema.js +39 -3
  200. package/schema/KeySchema.d.ts +32 -3
  201. package/schema/KeySchema.js +32 -3
  202. package/schema/NullableSchema.d.ts +64 -4
  203. package/schema/NullableSchema.js +59 -3
  204. package/schema/NumberSchema.d.ts +137 -12
  205. package/schema/NumberSchema.js +127 -11
  206. package/schema/OptionalSchema.d.ts +61 -4
  207. package/schema/OptionalSchema.js +56 -4
  208. package/schema/PasswordSchema.d.ts +37 -1
  209. package/schema/PasswordSchema.js +32 -1
  210. package/schema/PhoneSchema.d.ts +40 -4
  211. package/schema/PhoneSchema.js +35 -3
  212. package/schema/RequiredSchema.d.ts +39 -3
  213. package/schema/RequiredSchema.js +41 -3
  214. package/schema/Schema.d.ts +67 -7
  215. package/schema/Schema.js +42 -6
  216. package/schema/SlugSchema.d.ts +37 -5
  217. package/schema/SlugSchema.js +37 -5
  218. package/schema/StringSchema.d.ts +124 -19
  219. package/schema/StringSchema.js +107 -17
  220. package/schema/ThroughSchema.d.ts +35 -2
  221. package/schema/ThroughSchema.js +30 -1
  222. package/schema/TimeSchema.d.ts +43 -3
  223. package/schema/TimeSchema.js +43 -3
  224. package/schema/URISchema.d.ts +67 -6
  225. package/schema/URISchema.js +60 -6
  226. package/schema/URLSchema.d.ts +69 -6
  227. package/schema/URLSchema.js +61 -6
  228. package/schema/UUIDSchema.d.ts +37 -4
  229. package/schema/UUIDSchema.js +37 -4
  230. package/sequence/DeferredSequence.d.ts +49 -3
  231. package/sequence/DeferredSequence.js +39 -3
  232. package/sequence/InspectSequence.d.ts +59 -5
  233. package/sequence/InspectSequence.js +59 -5
  234. package/sequence/LazySequence.d.ts +30 -2
  235. package/sequence/LazySequence.js +30 -2
  236. package/sequence/Sequence.d.ts +11 -0
  237. package/sequence/Sequence.js +10 -0
  238. package/sequence/ThroughSequence.d.ts +15 -0
  239. package/sequence/ThroughSequence.js +15 -0
  240. package/store/ArrayStore.d.ts +74 -11
  241. package/store/ArrayStore.js +74 -11
  242. package/store/BooleanStore.d.ts +19 -2
  243. package/store/BooleanStore.js +19 -2
  244. package/store/BusyStore.d.ts +13 -1
  245. package/store/BusyStore.js +13 -1
  246. package/store/DataStore.d.ts +118 -15
  247. package/store/DataStore.js +118 -15
  248. package/store/DictionaryStore.d.ts +66 -8
  249. package/store/DictionaryStore.js +66 -8
  250. package/store/FetchStore.d.ts +43 -6
  251. package/store/FetchStore.js +36 -5
  252. package/store/PathStore.d.ts +44 -5
  253. package/store/PathStore.js +44 -5
  254. package/store/PayloadFetchStore.d.ts +16 -1
  255. package/store/PayloadFetchStore.js +9 -1
  256. package/store/Store.d.ts +85 -16
  257. package/store/Store.js +52 -10
  258. package/store/URLStore.d.ts +173 -15
  259. package/store/URLStore.js +173 -15
  260. package/test/basics.d.ts +70 -0
  261. package/test/basics.js +60 -0
  262. package/test/people.d.ts +45 -0
  263. package/test/people.js +35 -0
  264. package/test/util.d.ts +30 -3
  265. package/test/util.js +30 -3
  266. package/ui/app/App.d.ts +14 -2
  267. package/ui/app/App.js +9 -2
  268. package/ui/app/App.tsx +14 -2
  269. package/ui/block/Address.d.ts +45 -3
  270. package/ui/block/Address.js +30 -3
  271. package/ui/block/Address.tsx +46 -3
  272. package/ui/block/Block.d.ts +23 -1
  273. package/ui/block/Block.js +13 -1
  274. package/ui/block/Block.tsx +23 -1
  275. package/ui/block/Blockquote.d.ts +21 -0
  276. package/ui/block/Blockquote.js +16 -0
  277. package/ui/block/Blockquote.tsx +22 -0
  278. package/ui/block/Caption.d.ts +21 -1
  279. package/ui/block/Caption.js +16 -1
  280. package/ui/block/Caption.tsx +22 -1
  281. package/ui/block/Card.d.ts +6 -0
  282. package/ui/block/Card.js +1 -0
  283. package/ui/block/Card.tsx +6 -0
  284. package/ui/block/Definitions.d.ts +18 -0
  285. package/ui/block/Definitions.js +13 -0
  286. package/ui/block/Definitions.tsx +19 -0
  287. package/ui/block/Divider.d.ts +21 -0
  288. package/ui/block/Divider.js +16 -0
  289. package/ui/block/Divider.tsx +22 -0
  290. package/ui/block/Heading.d.ts +20 -1
  291. package/ui/block/Heading.js +15 -0
  292. package/ui/block/Heading.tsx +21 -1
  293. package/ui/block/Image.d.ts +23 -0
  294. package/ui/block/Image.js +18 -0
  295. package/ui/block/Image.tsx +24 -0
  296. package/ui/block/Label.d.ts +18 -3
  297. package/ui/block/Label.js +13 -3
  298. package/ui/block/Label.tsx +18 -3
  299. package/ui/block/List.d.ts +30 -0
  300. package/ui/block/List.js +25 -0
  301. package/ui/block/List.tsx +32 -0
  302. package/ui/block/Panel.d.ts +13 -1
  303. package/ui/block/Panel.js +3 -0
  304. package/ui/block/Panel.tsx +13 -1
  305. package/ui/block/Paragraph.d.ts +23 -0
  306. package/ui/block/Paragraph.js +18 -0
  307. package/ui/block/Paragraph.tsx +24 -0
  308. package/ui/block/Preformatted.d.ts +20 -0
  309. package/ui/block/Preformatted.js +15 -0
  310. package/ui/block/Preformatted.tsx +21 -0
  311. package/ui/block/Prose.d.ts +14 -1
  312. package/ui/block/Prose.js +9 -1
  313. package/ui/block/Prose.tsx +14 -1
  314. package/ui/block/Section.d.ts +69 -6
  315. package/ui/block/Section.js +59 -6
  316. package/ui/block/Section.tsx +70 -6
  317. package/ui/block/Subheading.d.ts +20 -1
  318. package/ui/block/Subheading.js +15 -0
  319. package/ui/block/Subheading.tsx +21 -1
  320. package/ui/block/Table.d.ts +20 -0
  321. package/ui/block/Table.js +15 -0
  322. package/ui/block/Table.tsx +21 -0
  323. package/ui/block/Title.d.ts +20 -1
  324. package/ui/block/Title.js +15 -0
  325. package/ui/block/Title.tsx +21 -1
  326. package/ui/block/Video.d.ts +50 -3
  327. package/ui/block/Video.js +30 -3
  328. package/ui/block/Video.tsx +50 -3
  329. package/ui/dialog/Dialog.d.ts +28 -1
  330. package/ui/dialog/Dialog.js +18 -1
  331. package/ui/dialog/Dialog.tsx +28 -1
  332. package/ui/dialog/Dialogs.d.ts +53 -6
  333. package/ui/dialog/Dialogs.js +43 -6
  334. package/ui/dialog/Dialogs.tsx +53 -6
  335. package/ui/dialog/Modal.d.ts +13 -0
  336. package/ui/dialog/Modal.js +8 -0
  337. package/ui/dialog/Modal.tsx +13 -0
  338. package/ui/docs/DocumentationButtons.d.ts +5 -1
  339. package/ui/docs/DocumentationButtons.tsx +5 -1
  340. package/ui/docs/DocumentationCard.d.ts +6 -1
  341. package/ui/docs/DocumentationCard.js +6 -1
  342. package/ui/docs/DocumentationCard.tsx +6 -1
  343. package/ui/docs/DocumentationKind.d.ts +13 -1
  344. package/ui/docs/DocumentationKind.js +8 -0
  345. package/ui/docs/DocumentationKind.tsx +13 -1
  346. package/ui/docs/DocumentationPage.d.ts +6 -1
  347. package/ui/docs/DocumentationPage.js +6 -1
  348. package/ui/docs/DocumentationPage.tsx +6 -1
  349. package/ui/docs/DocumentationSignatures.d.ts +10 -1
  350. package/ui/docs/DocumentationSignatures.js +5 -0
  351. package/ui/docs/DocumentationSignatures.tsx +10 -1
  352. package/ui/form/ArrayInput.d.ts +15 -0
  353. package/ui/form/ArrayInput.tsx +15 -0
  354. package/ui/form/ArrayRadioInputs.d.ts +10 -0
  355. package/ui/form/ArrayRadioInputs.js +5 -0
  356. package/ui/form/ArrayRadioInputs.tsx +10 -0
  357. package/ui/form/Button.d.ts +19 -3
  358. package/ui/form/Button.js +14 -2
  359. package/ui/form/Button.tsx +19 -3
  360. package/ui/form/ButtonInput.d.ts +14 -1
  361. package/ui/form/ButtonInput.js +9 -1
  362. package/ui/form/ButtonInput.tsx +14 -1
  363. package/ui/form/ButtonInputPopover.d.ts +10 -0
  364. package/ui/form/ButtonInputPopover.js +5 -0
  365. package/ui/form/ButtonInputPopover.tsx +10 -0
  366. package/ui/form/ButtonPopover.d.ts +11 -1
  367. package/ui/form/ButtonPopover.js +6 -1
  368. package/ui/form/ButtonPopover.tsx +11 -1
  369. package/ui/form/CheckboxInput.d.ts +14 -1
  370. package/ui/form/CheckboxInput.js +9 -1
  371. package/ui/form/CheckboxInput.tsx +14 -1
  372. package/ui/form/ChoiceRadioInputs.d.ts +10 -0
  373. package/ui/form/ChoiceRadioInputs.tsx +10 -0
  374. package/ui/form/Clickable.d.ts +45 -5
  375. package/ui/form/Clickable.js +30 -3
  376. package/ui/form/Clickable.tsx +45 -5
  377. package/ui/form/DataInput.d.ts +14 -0
  378. package/ui/form/DataInput.tsx +14 -0
  379. package/ui/form/DateInput.d.ts +14 -0
  380. package/ui/form/DateInput.js +9 -0
  381. package/ui/form/DateInput.tsx +14 -0
  382. package/ui/form/DictionaryInput.d.ts +15 -0
  383. package/ui/form/DictionaryInput.tsx +15 -0
  384. package/ui/form/Field.d.ts +5 -0
  385. package/ui/form/Field.tsx +5 -0
  386. package/ui/form/FileInput.d.ts +14 -0
  387. package/ui/form/FileInput.js +9 -0
  388. package/ui/form/FileInput.tsx +14 -0
  389. package/ui/form/Form.d.ts +55 -6
  390. package/ui/form/Form.js +35 -3
  391. package/ui/form/Form.tsx +55 -6
  392. package/ui/form/FormContext.d.ts +24 -3
  393. package/ui/form/FormContext.js +5 -1
  394. package/ui/form/FormContext.tsx +24 -3
  395. package/ui/form/FormFields.d.ts +15 -2
  396. package/ui/form/FormFields.js +15 -2
  397. package/ui/form/FormFields.tsx +15 -2
  398. package/ui/form/FormFooter.d.ts +13 -3
  399. package/ui/form/FormFooter.js +8 -3
  400. package/ui/form/FormFooter.tsx +13 -3
  401. package/ui/form/FormInput.d.ts +21 -2
  402. package/ui/form/FormInput.js +16 -2
  403. package/ui/form/FormInput.tsx +21 -2
  404. package/ui/form/FormMessage.d.ts +8 -1
  405. package/ui/form/FormMessage.js +8 -1
  406. package/ui/form/FormMessage.tsx +8 -2
  407. package/ui/form/FormNotice.d.ts +8 -1
  408. package/ui/form/FormNotice.js +8 -1
  409. package/ui/form/FormNotice.tsx +8 -2
  410. package/ui/form/FormNotify.d.ts +8 -1
  411. package/ui/form/FormNotify.js +8 -1
  412. package/ui/form/FormNotify.tsx +8 -2
  413. package/ui/form/FormStore.d.ts +50 -6
  414. package/ui/form/FormStore.js +50 -6
  415. package/ui/form/FormStore.tsx +50 -6
  416. package/ui/form/Input.d.ts +65 -1
  417. package/ui/form/Input.js +60 -0
  418. package/ui/form/Input.tsx +77 -1
  419. package/ui/form/NumberInput.d.ts +14 -0
  420. package/ui/form/NumberInput.js +9 -0
  421. package/ui/form/NumberInput.tsx +14 -0
  422. package/ui/form/OutputInput.d.ts +13 -1
  423. package/ui/form/OutputInput.js +8 -1
  424. package/ui/form/OutputInput.tsx +13 -1
  425. package/ui/form/Popover.d.ts +18 -2
  426. package/ui/form/Popover.js +8 -2
  427. package/ui/form/Popover.tsx +18 -2
  428. package/ui/form/Progress.d.ts +26 -2
  429. package/ui/form/Progress.js +16 -2
  430. package/ui/form/Progress.tsx +26 -2
  431. package/ui/form/QueryInput.d.ts +14 -5
  432. package/ui/form/QueryInput.js +9 -5
  433. package/ui/form/QueryInput.tsx +14 -5
  434. package/ui/form/RadioInput.d.ts +14 -1
  435. package/ui/form/RadioInput.js +9 -1
  436. package/ui/form/RadioInput.tsx +14 -1
  437. package/ui/form/SchemaInput.d.ts +138 -7
  438. package/ui/form/SchemaInput.js +79 -4
  439. package/ui/form/SchemaInput.tsx +138 -7
  440. package/ui/form/SelectInput.d.ts +14 -0
  441. package/ui/form/SelectInput.tsx +14 -0
  442. package/ui/form/SubmitButton.d.ts +14 -1
  443. package/ui/form/SubmitButton.js +9 -1
  444. package/ui/form/SubmitButton.tsx +14 -1
  445. package/ui/form/TextInput.d.ts +15 -0
  446. package/ui/form/TextInput.js +10 -0
  447. package/ui/form/TextInput.tsx +15 -0
  448. package/ui/inline/Code.d.ts +29 -0
  449. package/ui/inline/Code.js +24 -0
  450. package/ui/inline/Code.tsx +31 -0
  451. package/ui/inline/Deleted.d.ts +23 -0
  452. package/ui/inline/Deleted.js +18 -0
  453. package/ui/inline/Deleted.tsx +24 -0
  454. package/ui/inline/Emphasis.d.ts +23 -0
  455. package/ui/inline/Emphasis.js +18 -0
  456. package/ui/inline/Emphasis.tsx +24 -0
  457. package/ui/inline/Inserted.d.ts +23 -0
  458. package/ui/inline/Inserted.js +18 -0
  459. package/ui/inline/Inserted.tsx +24 -0
  460. package/ui/inline/Link.d.ts +23 -0
  461. package/ui/inline/Link.js +18 -0
  462. package/ui/inline/Link.tsx +24 -0
  463. package/ui/inline/Mark.d.ts +23 -0
  464. package/ui/inline/Mark.js +18 -0
  465. package/ui/inline/Mark.tsx +24 -0
  466. package/ui/inline/Small.d.ts +23 -0
  467. package/ui/inline/Small.js +18 -0
  468. package/ui/inline/Small.tsx +24 -0
  469. package/ui/inline/Strong.d.ts +23 -0
  470. package/ui/inline/Strong.js +18 -0
  471. package/ui/inline/Strong.tsx +24 -0
  472. package/ui/inline/Subscript.d.ts +23 -0
  473. package/ui/inline/Subscript.js +18 -0
  474. package/ui/inline/Subscript.tsx +24 -0
  475. package/ui/inline/Superscript.d.ts +23 -0
  476. package/ui/inline/Superscript.js +18 -0
  477. package/ui/inline/Superscript.tsx +24 -0
  478. package/ui/inline/When.d.ts +42 -3
  479. package/ui/inline/When.js +27 -3
  480. package/ui/inline/When.tsx +42 -3
  481. package/ui/layout/CenteredLayout.d.ts +12 -1
  482. package/ui/layout/CenteredLayout.js +7 -1
  483. package/ui/layout/CenteredLayout.tsx +12 -1
  484. package/ui/layout/Layout.d.ts +12 -3
  485. package/ui/layout/Layout.js +12 -3
  486. package/ui/layout/Layout.ts +12 -3
  487. package/ui/layout/SidebarLayout.d.ts +12 -0
  488. package/ui/layout/SidebarLayout.js +7 -0
  489. package/ui/layout/SidebarLayout.tsx +12 -0
  490. package/ui/menu/Menu.d.ts +22 -0
  491. package/ui/menu/Menu.js +12 -0
  492. package/ui/menu/Menu.tsx +22 -0
  493. package/ui/misc/Catcher.d.ts +77 -5
  494. package/ui/misc/Catcher.js +47 -5
  495. package/ui/misc/Catcher.tsx +77 -5
  496. package/ui/misc/Loading.d.ts +20 -0
  497. package/ui/misc/Loading.js +15 -0
  498. package/ui/misc/Loading.tsx +20 -0
  499. package/ui/misc/Mapper.d.ts +13 -1
  500. package/ui/misc/Mapper.js +4 -0
  501. package/ui/misc/Mapper.tsx +13 -1
  502. package/ui/misc/Markup.d.ts +9 -1
  503. package/ui/misc/Markup.js +4 -0
  504. package/ui/misc/Markup.tsx +9 -1
  505. package/ui/misc/MetaContext.d.ts +24 -7
  506. package/ui/misc/MetaContext.js +19 -6
  507. package/ui/misc/MetaContext.tsx +24 -7
  508. package/ui/misc/StatusIcon.d.ts +16 -1
  509. package/ui/misc/StatusIcon.js +11 -1
  510. package/ui/misc/StatusIcon.tsx +16 -1
  511. package/ui/misc/Tag.d.ts +21 -0
  512. package/ui/misc/Tag.js +11 -0
  513. package/ui/misc/Tag.tsx +21 -0
  514. package/ui/notice/Message.d.ts +27 -1
  515. package/ui/notice/Message.js +22 -1
  516. package/ui/notice/Message.tsx +27 -1
  517. package/ui/notice/Notice.d.ts +24 -0
  518. package/ui/notice/Notice.js +19 -0
  519. package/ui/notice/Notice.tsx +24 -0
  520. package/ui/notice/NoticeStore.d.ts +30 -2
  521. package/ui/notice/NoticeStore.js +30 -2
  522. package/ui/notice/NoticeStore.ts +30 -2
  523. package/ui/notice/Notices.d.ts +11 -1
  524. package/ui/notice/Notices.js +6 -1
  525. package/ui/notice/Notices.tsx +11 -1
  526. package/ui/notice/NoticesStore.d.ts +23 -3
  527. package/ui/notice/NoticesStore.js +23 -3
  528. package/ui/notice/NoticesStore.ts +23 -3
  529. package/ui/page/HTML.d.ts +13 -2
  530. package/ui/page/HTML.js +8 -2
  531. package/ui/page/HTML.tsx +13 -2
  532. package/ui/page/Head.d.ts +5 -1
  533. package/ui/page/Head.js +5 -1
  534. package/ui/page/Head.tsx +5 -1
  535. package/ui/page/Page.d.ts +12 -1
  536. package/ui/page/Page.js +7 -1
  537. package/ui/page/Page.tsx +12 -1
  538. package/ui/router/Navigation.d.ts +11 -0
  539. package/ui/router/Navigation.js +6 -0
  540. package/ui/router/Navigation.tsx +11 -0
  541. package/ui/router/NavigationContext.d.ts +14 -2
  542. package/ui/router/NavigationContext.js +14 -2
  543. package/ui/router/NavigationContext.tsx +14 -2
  544. package/ui/router/NavigationStore.d.ts +29 -1
  545. package/ui/router/NavigationStore.js +29 -1
  546. package/ui/router/NavigationStore.tsx +29 -1
  547. package/ui/router/Router.d.ts +12 -1
  548. package/ui/router/Router.js +7 -1
  549. package/ui/router/Router.tsx +12 -1
  550. package/ui/router/Routes.d.ts +14 -4
  551. package/ui/router/Routes.tsx +14 -4
  552. package/ui/style/Color.d.ts +15 -2
  553. package/ui/style/Color.js +5 -0
  554. package/ui/style/Color.tsx +15 -2
  555. package/ui/style/Flex.d.ts +41 -4
  556. package/ui/style/Flex.js +26 -3
  557. package/ui/style/Flex.tsx +41 -4
  558. package/ui/style/Gap.d.ts +18 -3
  559. package/ui/style/Gap.js +8 -1
  560. package/ui/style/Gap.tsx +18 -3
  561. package/ui/style/Padding.d.ts +18 -3
  562. package/ui/style/Padding.js +8 -1
  563. package/ui/style/Padding.tsx +18 -3
  564. package/ui/style/Scroll.d.ts +36 -1
  565. package/ui/style/Scroll.js +26 -1
  566. package/ui/style/Scroll.tsx +37 -1
  567. package/ui/style/Space.d.ts +18 -3
  568. package/ui/style/Space.js +8 -1
  569. package/ui/style/Space.tsx +18 -3
  570. package/ui/style/Status.d.ts +23 -7
  571. package/ui/style/Status.js +13 -5
  572. package/ui/style/Status.tsx +23 -7
  573. package/ui/style/Tint.d.ts +7 -1
  574. package/ui/style/Tint.js +7 -1
  575. package/ui/style/Tint.tsx +7 -1
  576. package/ui/style/Typography.d.ts +38 -6
  577. package/ui/style/Typography.js +8 -0
  578. package/ui/style/Typography.tsx +38 -6
  579. package/ui/style/Width.d.ts +18 -1
  580. package/ui/style/Width.js +8 -0
  581. package/ui/style/Width.tsx +18 -1
  582. package/ui/transition/CollapseTransition.d.ts +13 -0
  583. package/ui/transition/CollapseTransition.js +8 -0
  584. package/ui/transition/CollapseTransition.tsx +13 -0
  585. package/ui/transition/FadeTransition.d.ts +13 -0
  586. package/ui/transition/FadeTransition.js +8 -0
  587. package/ui/transition/FadeTransition.tsx +13 -0
  588. package/ui/transition/HorizontalTransition.d.ts +13 -0
  589. package/ui/transition/HorizontalTransition.js +8 -0
  590. package/ui/transition/HorizontalTransition.tsx +13 -0
  591. package/ui/transition/Transition.d.ts +12 -4
  592. package/ui/transition/Transition.js +7 -3
  593. package/ui/transition/Transition.tsx +12 -4
  594. package/ui/transition/VerticalTransition.d.ts +13 -0
  595. package/ui/transition/VerticalTransition.js +8 -0
  596. package/ui/transition/VerticalTransition.tsx +13 -0
  597. package/ui/transition/util.d.ts +16 -6
  598. package/ui/transition/util.js +7 -1
  599. package/ui/transition/util.tsx +16 -6
  600. package/ui/tree/TreeApp.d.ts +11 -0
  601. package/ui/tree/TreeApp.js +6 -0
  602. package/ui/tree/TreeApp.tsx +11 -0
  603. package/ui/tree/TreeBreadcrumbs.d.ts +11 -0
  604. package/ui/tree/TreeBreadcrumbs.js +6 -0
  605. package/ui/tree/TreeBreadcrumbs.tsx +11 -0
  606. package/ui/tree/TreeButton.d.ts +9 -1
  607. package/ui/tree/TreeButton.js +4 -0
  608. package/ui/tree/TreeButton.tsx +9 -1
  609. package/ui/tree/TreeCard.d.ts +8 -1
  610. package/ui/tree/TreeCard.js +8 -1
  611. package/ui/tree/TreeCard.tsx +8 -1
  612. package/ui/tree/TreeCards.d.ts +16 -1
  613. package/ui/tree/TreeCards.js +11 -1
  614. package/ui/tree/TreeCards.tsx +16 -1
  615. package/ui/tree/TreeContext.d.ts +18 -1
  616. package/ui/tree/TreeContext.js +18 -1
  617. package/ui/tree/TreeContext.tsx +18 -1
  618. package/ui/tree/TreeMenu.d.ts +28 -1
  619. package/ui/tree/TreeMenu.js +23 -1
  620. package/ui/tree/TreeMenu.tsx +28 -1
  621. package/ui/tree/TreePage.d.ts +6 -0
  622. package/ui/tree/TreePage.js +6 -0
  623. package/ui/tree/TreePage.tsx +6 -0
  624. package/ui/tree/TreeRouter.d.ts +17 -2
  625. package/ui/tree/TreeRouter.js +12 -2
  626. package/ui/tree/TreeRouter.tsx +17 -2
  627. package/ui/tree/TreeSidebar.d.ts +11 -0
  628. package/ui/tree/TreeSidebar.js +6 -0
  629. package/ui/tree/TreeSidebar.tsx +11 -0
  630. package/ui/util/context.d.ts +13 -1
  631. package/ui/util/context.ts +13 -1
  632. package/ui/util/css.d.ts +17 -4
  633. package/ui/util/css.js +5 -1
  634. package/ui/util/css.ts +17 -4
  635. package/ui/util/event.d.ts +9 -1
  636. package/ui/util/event.js +9 -1
  637. package/ui/util/event.ts +9 -1
  638. package/ui/util/focus.d.ts +24 -5
  639. package/ui/util/focus.js +24 -5
  640. package/ui/util/focus.ts +24 -5
  641. package/ui/util/meta.d.ts +113 -21
  642. package/ui/util/meta.js +73 -13
  643. package/ui/util/meta.ts +113 -21
  644. package/ui/util/notice.d.ts +98 -10
  645. package/ui/util/notice.js +93 -9
  646. package/ui/util/notice.ts +98 -10
  647. package/ui/util/props.d.ts +10 -2
  648. package/ui/util/props.ts +10 -2
  649. package/ui/util/refresh.d.ts +10 -1
  650. package/ui/util/refresh.js +10 -1
  651. package/ui/util/refresh.ts +10 -1
  652. package/ui/util/scroll.d.ts +20 -4
  653. package/ui/util/scroll.js +20 -4
  654. package/ui/util/scroll.ts +20 -4
  655. package/ui/util/state.d.ts +19 -5
  656. package/ui/util/state.js +19 -5
  657. package/ui/util/state.ts +19 -5
  658. package/util/ansi.d.ts +118 -0
  659. package/util/ansi.js +116 -0
  660. package/util/array.d.ts +349 -33
  661. package/util/array.js +284 -27
  662. package/util/async.d.ts +87 -9
  663. package/util/async.js +80 -8
  664. package/util/base64.d.ts +56 -6
  665. package/util/base64.js +56 -6
  666. package/util/boolean.d.ts +75 -10
  667. package/util/boolean.js +75 -10
  668. package/util/buffer.d.ts +26 -3
  669. package/util/buffer.js +21 -3
  670. package/util/bytes.d.ts +42 -4
  671. package/util/bytes.js +32 -2
  672. package/util/class.d.ts +59 -8
  673. package/util/class.js +44 -5
  674. package/util/color.d.ts +131 -13
  675. package/util/color.js +126 -12
  676. package/util/constants.d.ts +132 -19
  677. package/util/constants.js +132 -19
  678. package/util/crypto.d.ts +17 -1
  679. package/util/crypto.js +17 -1
  680. package/util/currency.d.ts +38 -4
  681. package/util/currency.js +33 -3
  682. package/util/data.d.ts +139 -24
  683. package/util/data.js +39 -5
  684. package/util/date.d.ts +152 -18
  685. package/util/date.js +147 -17
  686. package/util/debug.d.ts +112 -11
  687. package/util/debug.js +114 -11
  688. package/util/dictionary.d.ts +205 -24
  689. package/util/dictionary.js +162 -17
  690. package/util/diff.d.ts +22 -3
  691. package/util/diff.js +11 -1
  692. package/util/dispose.d.ts +74 -2
  693. package/util/dispose.js +74 -2
  694. package/util/duration.d.ts +278 -16
  695. package/util/duration.js +267 -15
  696. package/util/element.d.ts +59 -6
  697. package/util/element.js +32 -3
  698. package/util/entity.d.ts +39 -6
  699. package/util/entity.js +5 -1
  700. package/util/entry.d.ts +56 -9
  701. package/util/entry.js +32 -4
  702. package/util/env.d.ts +26 -4
  703. package/util/env.js +26 -4
  704. package/util/equal.d.ts +181 -17
  705. package/util/equal.js +181 -17
  706. package/util/error.d.ts +57 -5
  707. package/util/error.js +52 -4
  708. package/util/file.d.ts +30 -7
  709. package/util/file.js +25 -6
  710. package/util/filter.d.ts +36 -4
  711. package/util/filter.js +31 -3
  712. package/util/focus.d.ts +9 -1
  713. package/util/focus.js +9 -1
  714. package/util/format.d.ts +186 -22
  715. package/util/format.js +135 -14
  716. package/util/function.d.ts +66 -11
  717. package/util/function.js +31 -4
  718. package/util/geo.d.ts +60 -8
  719. package/util/geo.js +45 -5
  720. package/util/hash.d.ts +21 -2
  721. package/util/hash.js +21 -2
  722. package/util/http.d.ts +134 -19
  723. package/util/http.js +94 -11
  724. package/util/hydrate.d.ts +19 -2
  725. package/util/hydrate.js +12 -1
  726. package/util/item.d.ts +70 -11
  727. package/util/item.js +35 -4
  728. package/util/iterate.d.ts +109 -13
  729. package/util/iterate.js +86 -10
  730. package/util/jwt.d.ts +47 -13
  731. package/util/jwt.js +36 -12
  732. package/util/lazy.d.ts +9 -6
  733. package/util/link.d.ts +10 -3
  734. package/util/link.js +5 -2
  735. package/util/log.d.ts +26 -3
  736. package/util/log.js +26 -3
  737. package/util/map.d.ts +144 -19
  738. package/util/map.js +101 -11
  739. package/util/merge.d.ts +23 -1
  740. package/util/merge.js +6 -0
  741. package/util/null.d.ts +102 -13
  742. package/util/null.js +92 -11
  743. package/util/number.d.ts +125 -8
  744. package/util/number.js +120 -7
  745. package/util/object.d.ts +263 -31
  746. package/util/object.js +154 -17
  747. package/util/path.d.ts +91 -15
  748. package/util/path.js +60 -9
  749. package/util/query.d.ts +78 -9
  750. package/util/query.js +58 -6
  751. package/util/random.d.ts +67 -4
  752. package/util/random.js +67 -4
  753. package/util/regexp.d.ts +201 -24
  754. package/util/regexp.js +106 -11
  755. package/util/sequence.d.ts +66 -8
  756. package/util/sequence.js +52 -7
  757. package/util/serialise.d.ts +7 -1
  758. package/util/serialise.js +7 -1
  759. package/util/set.d.ts +103 -13
  760. package/util/set.js +83 -9
  761. package/util/sort.d.ts +32 -7
  762. package/util/sort.js +26 -6
  763. package/util/source.d.ts +28 -3
  764. package/util/source.js +22 -2
  765. package/util/start.d.ts +62 -5
  766. package/util/start.js +47 -2
  767. package/util/string.d.ts +209 -25
  768. package/util/string.js +188 -21
  769. package/util/template.d.ts +58 -9
  770. package/util/template.js +45 -6
  771. package/util/timeout.d.ts +35 -11
  772. package/util/timeout.js +35 -11
  773. package/util/transform.d.ts +87 -8
  774. package/util/transform.js +75 -7
  775. package/util/tree.d.ts +39 -6
  776. package/util/tree.js +3 -0
  777. package/util/types.d.ts +8 -2
  778. package/util/undefined.d.ts +47 -6
  779. package/util/undefined.js +47 -6
  780. package/util/units.d.ts +107 -12
  781. package/util/units.js +97 -12
  782. package/util/update.d.ts +36 -4
  783. package/util/update.js +24 -2
  784. package/util/uri.d.ts +138 -6
  785. package/util/uri.js +44 -3
  786. package/util/url.d.ts +152 -7
  787. package/util/url.js +136 -5
  788. package/util/uuid.d.ts +28 -3
  789. package/util/uuid.js +28 -3
  790. package/util/validate.d.ts +85 -20
  791. package/util/validate.js +61 -12
  792. package/util/xml.d.ts +9 -10
  793. package/util/xml.js +9 -10
@@ -4,21 +4,84 @@ import { type SpaceVariants } from "../style/Space.js";
4
4
  import { type TypographyVariants } from "../style/Typography.js";
5
5
  import { type WidthVariants } from "../style/Width.js";
6
6
  import type { OptionalChildProps } from "../util/props.js";
7
+ /**
8
+ * CSS class applied to the root element of every `Section` and its semantic siblings.
9
+ *
10
+ * @see https://dhoulb.github.io/shelving/ui/block/Section/SECTION_CLASS
11
+ */
7
12
  export declare const SECTION_CLASS: string | undefined;
13
+ /**
14
+ * CSS class that styles a `Section` when it appears inside `Prose` longform content.
15
+ *
16
+ * @see https://dhoulb.github.io/shelving/ui/block/Section/SECTION_PROSE_CLASS
17
+ */
8
18
  export declare const SECTION_PROSE_CLASS: string | undefined;
19
+ /**
20
+ * Semantic element names a `Section` may render as via its `as` prop.
21
+ *
22
+ * @see https://dhoulb.github.io/shelving/ui/block/Section/SectionElement
23
+ */
9
24
  export type SectionElement = "section" | "header" | "footer" | "nav" | "aside" | "figure";
25
+ /**
26
+ * Props for `Section` and its semantic siblings — colour, space, typography, and width variants plus an optional `as` element override.
27
+ *
28
+ * @see https://dhoulb.github.io/shelving/ui/block/Section/SectionProps
29
+ */
10
30
  export interface SectionProps extends ColorVariants, SpaceVariants, TypographyVariants, WidthVariants, OptionalChildProps {
11
31
  as?: SectionElement | undefined;
12
32
  }
13
- /** `<section>` block with block-level spacing. */
33
+ /**
34
+ * `<section>` block with block-level spacing.
35
+ * - Pass `as` to render a different semantic element.
36
+ *
37
+ * @param props Colour, space, typography, and width variants plus optional `as` override and `children`.
38
+ * @returns Rendered `<section>` element.
39
+ * @example <Section><Heading>About</Heading></Section>
40
+ * @see https://dhoulb.github.io/shelving/ui/block/Section/Section
41
+ */
14
42
  export declare function Section(props: SectionProps): ReactElement;
15
- /** `<header>` block with block-level spacing. */
43
+ /**
44
+ * `<header>` block with block-level spacing.
45
+ *
46
+ * @param props Colour, space, typography, and width variants plus optional `as` override and `children`.
47
+ * @returns Rendered `<header>` element.
48
+ * @example <Header><Title>Welcome</Title></Header>
49
+ * @see https://dhoulb.github.io/shelving/ui/block/Section/Header
50
+ */
16
51
  export declare function Header(props: SectionProps): ReactElement;
17
- /** `<footer>` block with block-level spacing. */
52
+ /**
53
+ * `<footer>` block with block-level spacing.
54
+ *
55
+ * @param props Colour, space, typography, and width variants plus optional `as` override and `children`.
56
+ * @returns Rendered `<footer>` element.
57
+ * @example <Footer><Small>© 2026</Small></Footer>
58
+ * @see https://dhoulb.github.io/shelving/ui/block/Section/Footer
59
+ */
18
60
  export declare function Footer(props: SectionProps): ReactElement;
19
- /** `<nav>` block with block-level spacing. */
61
+ /**
62
+ * `<nav>` block with block-level spacing.
63
+ *
64
+ * @param props Colour, space, typography, and width variants plus optional `as` override and `children`.
65
+ * @returns Rendered `<nav>` element.
66
+ * @example <Nav><Link href="/">Home</Link></Nav>
67
+ * @see https://dhoulb.github.io/shelving/ui/block/Section/Nav
68
+ */
20
69
  export declare function Nav(props: SectionProps): ReactElement;
21
- /** `<aside>` block with block-level spacing. */
70
+ /**
71
+ * `<aside>` block with block-level spacing.
72
+ *
73
+ * @param props Colour, space, typography, and width variants plus optional `as` override and `children`.
74
+ * @returns Rendered `<aside>` element.
75
+ * @example <Aside narrow><Paragraph>Sidebar</Paragraph></Aside>
76
+ * @see https://dhoulb.github.io/shelving/ui/block/Section/Aside
77
+ */
22
78
  export declare function Aside(props: SectionProps): ReactElement;
23
- /** `<figure>` block with block-level spacing. Pair with `<Caption>` for `<figcaption>` content. */
79
+ /**
80
+ * `<figure>` block with block-level spacing. Pair with `<Caption>` for `<figcaption>` content.
81
+ *
82
+ * @param props Colour, space, typography, and width variants plus optional `as` override and `children`.
83
+ * @returns Rendered `<figure>` element.
84
+ * @example <Figure><Image src="/cat.jpg" /><Caption>A cat</Caption></Figure>
85
+ * @see https://dhoulb.github.io/shelving/ui/block/Section/Figure
86
+ */
24
87
  export declare function Figure(props: SectionProps): ReactElement;
@@ -5,32 +5,85 @@ import { getTypographyClass } from "../style/Typography.js";
5
5
  import { getWidthClass } from "../style/Width.js";
6
6
  import { getClass, getModuleClass } from "../util/css.js";
7
7
  import SECTION_CSS from "./Section.module.css";
8
+ /**
9
+ * CSS class applied to the root element of every `Section` and its semantic siblings.
10
+ *
11
+ * @see https://dhoulb.github.io/shelving/ui/block/Section/SECTION_CLASS
12
+ */
8
13
  export const SECTION_CLASS = getModuleClass(SECTION_CSS, "section");
14
+ /**
15
+ * CSS class that styles a `Section` when it appears inside `Prose` longform content.
16
+ *
17
+ * @see https://dhoulb.github.io/shelving/ui/block/Section/SECTION_PROSE_CLASS
18
+ */
9
19
  export const SECTION_PROSE_CLASS = getModuleClass(SECTION_CSS, "prose");
10
20
  function renderSection(defaultComponent, { as: Component = defaultComponent, children, ...variants }) {
11
21
  return (_jsx(Component, { className: getClass(SECTION_CLASS, getColorClass(variants), getSpaceClass(variants), getTypographyClass(variants), getWidthClass(variants)), children: children }));
12
22
  }
13
- /** `<section>` block with block-level spacing. */
23
+ /**
24
+ * `<section>` block with block-level spacing.
25
+ * - Pass `as` to render a different semantic element.
26
+ *
27
+ * @param props Colour, space, typography, and width variants plus optional `as` override and `children`.
28
+ * @returns Rendered `<section>` element.
29
+ * @example <Section><Heading>About</Heading></Section>
30
+ * @see https://dhoulb.github.io/shelving/ui/block/Section/Section
31
+ */
14
32
  export function Section(props) {
15
33
  return renderSection("section", props);
16
34
  }
17
- /** `<header>` block with block-level spacing. */
35
+ /**
36
+ * `<header>` block with block-level spacing.
37
+ *
38
+ * @param props Colour, space, typography, and width variants plus optional `as` override and `children`.
39
+ * @returns Rendered `<header>` element.
40
+ * @example <Header><Title>Welcome</Title></Header>
41
+ * @see https://dhoulb.github.io/shelving/ui/block/Section/Header
42
+ */
18
43
  export function Header(props) {
19
44
  return renderSection("header", props);
20
45
  }
21
- /** `<footer>` block with block-level spacing. */
46
+ /**
47
+ * `<footer>` block with block-level spacing.
48
+ *
49
+ * @param props Colour, space, typography, and width variants plus optional `as` override and `children`.
50
+ * @returns Rendered `<footer>` element.
51
+ * @example <Footer><Small>© 2026</Small></Footer>
52
+ * @see https://dhoulb.github.io/shelving/ui/block/Section/Footer
53
+ */
22
54
  export function Footer(props) {
23
55
  return renderSection("footer", props);
24
56
  }
25
- /** `<nav>` block with block-level spacing. */
57
+ /**
58
+ * `<nav>` block with block-level spacing.
59
+ *
60
+ * @param props Colour, space, typography, and width variants plus optional `as` override and `children`.
61
+ * @returns Rendered `<nav>` element.
62
+ * @example <Nav><Link href="/">Home</Link></Nav>
63
+ * @see https://dhoulb.github.io/shelving/ui/block/Section/Nav
64
+ */
26
65
  export function Nav(props) {
27
66
  return renderSection("nav", props);
28
67
  }
29
- /** `<aside>` block with block-level spacing. */
68
+ /**
69
+ * `<aside>` block with block-level spacing.
70
+ *
71
+ * @param props Colour, space, typography, and width variants plus optional `as` override and `children`.
72
+ * @returns Rendered `<aside>` element.
73
+ * @example <Aside narrow><Paragraph>Sidebar</Paragraph></Aside>
74
+ * @see https://dhoulb.github.io/shelving/ui/block/Section/Aside
75
+ */
30
76
  export function Aside(props) {
31
77
  return renderSection("aside", props);
32
78
  }
33
- /** `<figure>` block with block-level spacing. Pair with `<Caption>` for `<figcaption>` content. */
79
+ /**
80
+ * `<figure>` block with block-level spacing. Pair with `<Caption>` for `<figcaption>` content.
81
+ *
82
+ * @param props Colour, space, typography, and width variants plus optional `as` override and `children`.
83
+ * @returns Rendered `<figure>` element.
84
+ * @example <Figure><Image src="/cat.jpg" /><Caption>A cat</Caption></Figure>
85
+ * @see https://dhoulb.github.io/shelving/ui/block/Section/Figure
86
+ */
34
87
  export function Figure(props) {
35
88
  return renderSection("figure", props);
36
89
  }
@@ -7,11 +7,32 @@ import { getClass, getModuleClass } from "../util/css.js";
7
7
  import type { OptionalChildProps } from "../util/props.js";
8
8
  import SECTION_CSS from "./Section.module.css";
9
9
 
10
+ /**
11
+ * CSS class applied to the root element of every `Section` and its semantic siblings.
12
+ *
13
+ * @see https://dhoulb.github.io/shelving/ui/block/Section/SECTION_CLASS
14
+ */
10
15
  export const SECTION_CLASS = getModuleClass(SECTION_CSS, "section");
16
+
17
+ /**
18
+ * CSS class that styles a `Section` when it appears inside `Prose` longform content.
19
+ *
20
+ * @see https://dhoulb.github.io/shelving/ui/block/Section/SECTION_PROSE_CLASS
21
+ */
11
22
  export const SECTION_PROSE_CLASS = getModuleClass(SECTION_CSS, "prose");
12
23
 
24
+ /**
25
+ * Semantic element names a `Section` may render as via its `as` prop.
26
+ *
27
+ * @see https://dhoulb.github.io/shelving/ui/block/Section/SectionElement
28
+ */
13
29
  export type SectionElement = "section" | "header" | "footer" | "nav" | "aside" | "figure";
14
30
 
31
+ /**
32
+ * Props for `Section` and its semantic siblings — colour, space, typography, and width variants plus an optional `as` element override.
33
+ *
34
+ * @see https://dhoulb.github.io/shelving/ui/block/Section/SectionProps
35
+ */
15
36
  export interface SectionProps extends ColorVariants, SpaceVariants, TypographyVariants, WidthVariants, OptionalChildProps {
16
37
  as?: SectionElement | undefined;
17
38
  }
@@ -35,32 +56,75 @@ function renderSection(
35
56
  );
36
57
  }
37
58
 
38
- /** `<section>` block with block-level spacing. */
59
+ /**
60
+ * `<section>` block with block-level spacing.
61
+ * - Pass `as` to render a different semantic element.
62
+ *
63
+ * @param props Colour, space, typography, and width variants plus optional `as` override and `children`.
64
+ * @returns Rendered `<section>` element.
65
+ * @example <Section><Heading>About</Heading></Section>
66
+ * @see https://dhoulb.github.io/shelving/ui/block/Section/Section
67
+ */
39
68
  export function Section(props: SectionProps): ReactElement {
40
69
  return renderSection("section", props);
41
70
  }
42
71
 
43
- /** `<header>` block with block-level spacing. */
72
+ /**
73
+ * `<header>` block with block-level spacing.
74
+ *
75
+ * @param props Colour, space, typography, and width variants plus optional `as` override and `children`.
76
+ * @returns Rendered `<header>` element.
77
+ * @example <Header><Title>Welcome</Title></Header>
78
+ * @see https://dhoulb.github.io/shelving/ui/block/Section/Header
79
+ */
44
80
  export function Header(props: SectionProps): ReactElement {
45
81
  return renderSection("header", props);
46
82
  }
47
83
 
48
- /** `<footer>` block with block-level spacing. */
84
+ /**
85
+ * `<footer>` block with block-level spacing.
86
+ *
87
+ * @param props Colour, space, typography, and width variants plus optional `as` override and `children`.
88
+ * @returns Rendered `<footer>` element.
89
+ * @example <Footer><Small>© 2026</Small></Footer>
90
+ * @see https://dhoulb.github.io/shelving/ui/block/Section/Footer
91
+ */
49
92
  export function Footer(props: SectionProps): ReactElement {
50
93
  return renderSection("footer", props);
51
94
  }
52
95
 
53
- /** `<nav>` block with block-level spacing. */
96
+ /**
97
+ * `<nav>` block with block-level spacing.
98
+ *
99
+ * @param props Colour, space, typography, and width variants plus optional `as` override and `children`.
100
+ * @returns Rendered `<nav>` element.
101
+ * @example <Nav><Link href="/">Home</Link></Nav>
102
+ * @see https://dhoulb.github.io/shelving/ui/block/Section/Nav
103
+ */
54
104
  export function Nav(props: SectionProps): ReactElement {
55
105
  return renderSection("nav", props);
56
106
  }
57
107
 
58
- /** `<aside>` block with block-level spacing. */
108
+ /**
109
+ * `<aside>` block with block-level spacing.
110
+ *
111
+ * @param props Colour, space, typography, and width variants plus optional `as` override and `children`.
112
+ * @returns Rendered `<aside>` element.
113
+ * @example <Aside narrow><Paragraph>Sidebar</Paragraph></Aside>
114
+ * @see https://dhoulb.github.io/shelving/ui/block/Section/Aside
115
+ */
59
116
  export function Aside(props: SectionProps): ReactElement {
60
117
  return renderSection("aside", props);
61
118
  }
62
119
 
63
- /** `<figure>` block with block-level spacing. Pair with `<Caption>` for `<figcaption>` content. */
120
+ /**
121
+ * `<figure>` block with block-level spacing. Pair with `<Caption>` for `<figcaption>` content.
122
+ *
123
+ * @param props Colour, space, typography, and width variants plus optional `as` override and `children`.
124
+ * @returns Rendered `<figure>` element.
125
+ * @example <Figure><Image src="/cat.jpg" /><Caption>A cat</Caption></Figure>
126
+ * @see https://dhoulb.github.io/shelving/ui/block/Section/Figure
127
+ */
64
128
  export function Figure(props: SectionProps): ReactElement {
65
129
  return renderSection("figure", props);
66
130
  }
@@ -1,11 +1,30 @@
1
1
  import type { ReactElement } from "react";
2
2
  import type { HeadingProps } from "./Heading.js";
3
+ /**
4
+ * CSS class applied to the root element of every `Subheading`.
5
+ *
6
+ * @see https://dhoulb.github.io/shelving/ui/block/Subheading/SUBHEADING_CLASS
7
+ */
3
8
  export declare const SUBHEADING_CLASS: string | undefined;
9
+ /**
10
+ * CSS class that styles a `Subheading` when it appears inside `Prose` longform content.
11
+ *
12
+ * @see https://dhoulb.github.io/shelving/ui/block/Subheading/SUBHEADING_PROSE_CLASS
13
+ */
4
14
  export declare const SUBHEADING_PROSE_CLASS: string | undefined;
5
- /** Props for `Subheading` — identical to `HeadingProps`. */
15
+ /**
16
+ * Props for `Subheading` — identical to `HeadingProps`.
17
+ *
18
+ * @see https://dhoulb.github.io/shelving/ui/block/Subheading/SubheadingProps
19
+ */
6
20
  export type SubheadingProps = HeadingProps;
7
21
  /**
8
22
  * Subsection heading — renders an `<h3>`.
9
23
  * - Only marginally larger than body text; its bold weight is the main differentiator.
24
+ *
25
+ * @param props Colour, space, and typography variants plus an optional `level` override and `children`.
26
+ * @returns Rendered `<h3>` heading element.
27
+ * @example <Subheading>Details</Subheading>
28
+ * @see https://dhoulb.github.io/shelving/ui/block/Subheading/Subheading
10
29
  */
11
30
  export declare function Subheading({ level, children, ...props }: SubheadingProps): ReactElement;
@@ -4,11 +4,26 @@ import { getSpaceClass } from "../style/Space.js";
4
4
  import { getTypographyClass } from "../style/Typography.js";
5
5
  import { getClass, getModuleClass } from "../util/css.js";
6
6
  import SUBHEADING_CSS from "./Subheading.module.css";
7
+ /**
8
+ * CSS class applied to the root element of every `Subheading`.
9
+ *
10
+ * @see https://dhoulb.github.io/shelving/ui/block/Subheading/SUBHEADING_CLASS
11
+ */
7
12
  export const SUBHEADING_CLASS = getModuleClass(SUBHEADING_CSS, "subheading");
13
+ /**
14
+ * CSS class that styles a `Subheading` when it appears inside `Prose` longform content.
15
+ *
16
+ * @see https://dhoulb.github.io/shelving/ui/block/Subheading/SUBHEADING_PROSE_CLASS
17
+ */
8
18
  export const SUBHEADING_PROSE_CLASS = getModuleClass(SUBHEADING_CSS, "prose");
9
19
  /**
10
20
  * Subsection heading — renders an `<h3>`.
11
21
  * - Only marginally larger than body text; its bold weight is the main differentiator.
22
+ *
23
+ * @param props Colour, space, and typography variants plus an optional `level` override and `children`.
24
+ * @returns Rendered `<h3>` heading element.
25
+ * @example <Subheading>Details</Subheading>
26
+ * @see https://dhoulb.github.io/shelving/ui/block/Subheading/Subheading
12
27
  */
13
28
  export function Subheading({ level = "3", children, ...props }) {
14
29
  const Element = `h${level}`;
@@ -6,15 +6,35 @@ import { getClass, getModuleClass } from "../util/css.js";
6
6
  import type { HeadingProps } from "./Heading.js";
7
7
  import SUBHEADING_CSS from "./Subheading.module.css";
8
8
 
9
+ /**
10
+ * CSS class applied to the root element of every `Subheading`.
11
+ *
12
+ * @see https://dhoulb.github.io/shelving/ui/block/Subheading/SUBHEADING_CLASS
13
+ */
9
14
  export const SUBHEADING_CLASS = getModuleClass(SUBHEADING_CSS, "subheading");
15
+
16
+ /**
17
+ * CSS class that styles a `Subheading` when it appears inside `Prose` longform content.
18
+ *
19
+ * @see https://dhoulb.github.io/shelving/ui/block/Subheading/SUBHEADING_PROSE_CLASS
20
+ */
10
21
  export const SUBHEADING_PROSE_CLASS = getModuleClass(SUBHEADING_CSS, "prose");
11
22
 
12
- /** Props for `Subheading` — identical to `HeadingProps`. */
23
+ /**
24
+ * Props for `Subheading` — identical to `HeadingProps`.
25
+ *
26
+ * @see https://dhoulb.github.io/shelving/ui/block/Subheading/SubheadingProps
27
+ */
13
28
  export type SubheadingProps = HeadingProps;
14
29
 
15
30
  /**
16
31
  * Subsection heading — renders an `<h3>`.
17
32
  * - Only marginally larger than body text; its bold weight is the main differentiator.
33
+ *
34
+ * @param props Colour, space, and typography variants plus an optional `level` override and `children`.
35
+ * @returns Rendered `<h3>` heading element.
36
+ * @example <Subheading>Details</Subheading>
37
+ * @see https://dhoulb.github.io/shelving/ui/block/Subheading/Subheading
18
38
  */
19
39
  export function Subheading({ level = "3", children, ...props }: SubheadingProps): ReactElement {
20
40
  const Element: `h${typeof level}` = `h${level}`;
@@ -3,13 +3,33 @@ import { type ColorVariants } from "../style/Color.js";
3
3
  import { type SpaceVariants } from "../style/Space.js";
4
4
  import { type TypographyVariants } from "../style/Typography.js";
5
5
  import type { ChildProps } from "../util/props.js";
6
+ /**
7
+ * CSS class applied to the root element of every `Table`.
8
+ *
9
+ * @see https://dhoulb.github.io/shelving/ui/block/Table/TABLE_CLASS
10
+ */
6
11
  export declare const TABLE_CLASS: string | undefined;
12
+ /**
13
+ * CSS class that styles a `Table` when it appears inside `Prose` longform content.
14
+ *
15
+ * @see https://dhoulb.github.io/shelving/ui/block/Table/TABLE_PROSE_CLASS
16
+ */
7
17
  export declare const TABLE_PROSE_CLASS: string | undefined;
18
+ /**
19
+ * Props for `Table` — colour, space, and typography variants plus `children`.
20
+ *
21
+ * @see https://dhoulb.github.io/shelving/ui/block/Table/TableProps
22
+ */
8
23
  export interface TableProps extends ColorVariants, SpaceVariants, TypographyVariants, ChildProps {
9
24
  }
10
25
  /**
11
26
  * Table block — rendered as `<table>`.
12
27
  * - Wrap in a `<Scroll horizontal>` if the table may exceed the container width on small screens.
13
28
  * - `<th>` / `<td>` cells draw the borders (the `<table>` element itself has none); override their weight via the `--table-border` / `--table-stroke` hooks.
29
+ *
30
+ * @param props Colour, space, and typography variants plus `children`.
31
+ * @returns Rendered `<table>` element.
32
+ * @example <Table><tbody><tr><td>Cell</td></tr></tbody></Table>
33
+ * @see https://dhoulb.github.io/shelving/ui/block/Table/Table
14
34
  */
15
35
  export declare function Table({ children, ...props }: TableProps): ReactElement;
package/ui/block/Table.js CHANGED
@@ -4,12 +4,27 @@ import { getSpaceClass } from "../style/Space.js";
4
4
  import { getTypographyClass } from "../style/Typography.js";
5
5
  import { getClass, getModuleClass } from "../util/css.js";
6
6
  import TABLE_CSS from "./Table.module.css";
7
+ /**
8
+ * CSS class applied to the root element of every `Table`.
9
+ *
10
+ * @see https://dhoulb.github.io/shelving/ui/block/Table/TABLE_CLASS
11
+ */
7
12
  export const TABLE_CLASS = getModuleClass(TABLE_CSS, "divider");
13
+ /**
14
+ * CSS class that styles a `Table` when it appears inside `Prose` longform content.
15
+ *
16
+ * @see https://dhoulb.github.io/shelving/ui/block/Table/TABLE_PROSE_CLASS
17
+ */
8
18
  export const TABLE_PROSE_CLASS = getModuleClass(TABLE_CSS, "prose");
9
19
  /**
10
20
  * Table block — rendered as `<table>`.
11
21
  * - Wrap in a `<Scroll horizontal>` if the table may exceed the container width on small screens.
12
22
  * - `<th>` / `<td>` cells draw the borders (the `<table>` element itself has none); override their weight via the `--table-border` / `--table-stroke` hooks.
23
+ *
24
+ * @param props Colour, space, and typography variants plus `children`.
25
+ * @returns Rendered `<table>` element.
26
+ * @example <Table><tbody><tr><td>Cell</td></tr></tbody></Table>
27
+ * @see https://dhoulb.github.io/shelving/ui/block/Table/Table
13
28
  */
14
29
  export function Table({ children, ...props }) {
15
30
  return (_jsx("table", { className: getClass(TABLE_CLASS, //
@@ -6,15 +6,36 @@ import { getClass, getModuleClass } from "../util/css.js";
6
6
  import type { ChildProps } from "../util/props.js";
7
7
  import TABLE_CSS from "./Table.module.css";
8
8
 
9
+ /**
10
+ * CSS class applied to the root element of every `Table`.
11
+ *
12
+ * @see https://dhoulb.github.io/shelving/ui/block/Table/TABLE_CLASS
13
+ */
9
14
  export const TABLE_CLASS = getModuleClass(TABLE_CSS, "divider");
15
+
16
+ /**
17
+ * CSS class that styles a `Table` when it appears inside `Prose` longform content.
18
+ *
19
+ * @see https://dhoulb.github.io/shelving/ui/block/Table/TABLE_PROSE_CLASS
20
+ */
10
21
  export const TABLE_PROSE_CLASS = getModuleClass(TABLE_CSS, "prose");
11
22
 
23
+ /**
24
+ * Props for `Table` — colour, space, and typography variants plus `children`.
25
+ *
26
+ * @see https://dhoulb.github.io/shelving/ui/block/Table/TableProps
27
+ */
12
28
  export interface TableProps extends ColorVariants, SpaceVariants, TypographyVariants, ChildProps {}
13
29
 
14
30
  /**
15
31
  * Table block — rendered as `<table>`.
16
32
  * - Wrap in a `<Scroll horizontal>` if the table may exceed the container width on small screens.
17
33
  * - `<th>` / `<td>` cells draw the borders (the `<table>` element itself has none); override their weight via the `--table-border` / `--table-stroke` hooks.
34
+ *
35
+ * @param props Colour, space, and typography variants plus `children`.
36
+ * @returns Rendered `<table>` element.
37
+ * @example <Table><tbody><tr><td>Cell</td></tr></tbody></Table>
38
+ * @see https://dhoulb.github.io/shelving/ui/block/Table/Table
18
39
  */
19
40
  export function Table({ children, ...props }: TableProps): ReactElement {
20
41
  return (
@@ -1,11 +1,30 @@
1
1
  import type { ReactElement } from "react";
2
2
  import type { HeadingProps } from "./Heading.js";
3
+ /**
4
+ * CSS class applied to the root element of every `Title`.
5
+ *
6
+ * @see https://dhoulb.github.io/shelving/ui/block/Title/TITLE_CLASS
7
+ */
3
8
  export declare const TITLE_CLASS: string | undefined;
9
+ /**
10
+ * CSS class that styles a `Title` when it appears inside `Prose` longform content.
11
+ *
12
+ * @see https://dhoulb.github.io/shelving/ui/block/Title/TITLE_PROSE_CLASS
13
+ */
4
14
  export declare const TITLE_PROSE_CLASS: string | undefined;
5
- /** Props for `Title` — identical to `HeadingProps`. */
15
+ /**
16
+ * Props for `Title` — identical to `HeadingProps`.
17
+ *
18
+ * @see https://dhoulb.github.io/shelving/ui/block/Title/TitleProps
19
+ */
6
20
  export type TitleProps = HeadingProps;
7
21
  /**
8
22
  * Page title — renders an `<h1>`.
9
23
  * - The most prominent heading on a page; there should normally be exactly one.
24
+ *
25
+ * @param props Colour, space, and typography variants plus an optional `level` override and `children`.
26
+ * @returns Rendered `<h1>` heading element.
27
+ * @example <Title>Welcome</Title>
28
+ * @see https://dhoulb.github.io/shelving/ui/block/Title/Title
10
29
  */
11
30
  export declare function Title({ level, children, ...props }: TitleProps): ReactElement;
package/ui/block/Title.js CHANGED
@@ -4,11 +4,26 @@ import { getSpaceClass } from "../style/Space.js";
4
4
  import { getTypographyClass } from "../style/Typography.js";
5
5
  import { getClass, getModuleClass } from "../util/css.js";
6
6
  import TITLE_CSS from "./Title.module.css";
7
+ /**
8
+ * CSS class applied to the root element of every `Title`.
9
+ *
10
+ * @see https://dhoulb.github.io/shelving/ui/block/Title/TITLE_CLASS
11
+ */
7
12
  export const TITLE_CLASS = getModuleClass(TITLE_CSS, "title");
13
+ /**
14
+ * CSS class that styles a `Title` when it appears inside `Prose` longform content.
15
+ *
16
+ * @see https://dhoulb.github.io/shelving/ui/block/Title/TITLE_PROSE_CLASS
17
+ */
8
18
  export const TITLE_PROSE_CLASS = getModuleClass(TITLE_CSS, "prose");
9
19
  /**
10
20
  * Page title — renders an `<h1>`.
11
21
  * - The most prominent heading on a page; there should normally be exactly one.
22
+ *
23
+ * @param props Colour, space, and typography variants plus an optional `level` override and `children`.
24
+ * @returns Rendered `<h1>` heading element.
25
+ * @example <Title>Welcome</Title>
26
+ * @see https://dhoulb.github.io/shelving/ui/block/Title/Title
12
27
  */
13
28
  export function Title({ level = "1", children, ...props }) {
14
29
  const Element = `h${level}`;
@@ -6,15 +6,35 @@ import { getClass, getModuleClass } from "../util/css.js";
6
6
  import type { HeadingProps } from "./Heading.js";
7
7
  import TITLE_CSS from "./Title.module.css";
8
8
 
9
+ /**
10
+ * CSS class applied to the root element of every `Title`.
11
+ *
12
+ * @see https://dhoulb.github.io/shelving/ui/block/Title/TITLE_CLASS
13
+ */
9
14
  export const TITLE_CLASS = getModuleClass(TITLE_CSS, "title");
15
+
16
+ /**
17
+ * CSS class that styles a `Title` when it appears inside `Prose` longform content.
18
+ *
19
+ * @see https://dhoulb.github.io/shelving/ui/block/Title/TITLE_PROSE_CLASS
20
+ */
10
21
  export const TITLE_PROSE_CLASS = getModuleClass(TITLE_CSS, "prose");
11
22
 
12
- /** Props for `Title` — identical to `HeadingProps`. */
23
+ /**
24
+ * Props for `Title` — identical to `HeadingProps`.
25
+ *
26
+ * @see https://dhoulb.github.io/shelving/ui/block/Title/TitleProps
27
+ */
13
28
  export type TitleProps = HeadingProps;
14
29
 
15
30
  /**
16
31
  * Page title — renders an `<h1>`.
17
32
  * - The most prominent heading on a page; there should normally be exactly one.
33
+ *
34
+ * @param props Colour, space, and typography variants plus an optional `level` override and `children`.
35
+ * @returns Rendered `<h1>` heading element.
36
+ * @example <Title>Welcome</Title>
37
+ * @see https://dhoulb.github.io/shelving/ui/block/Title/Title
18
38
  */
19
39
  export function Title({ level = "1", children, ...props }: TitleProps): ReactElement {
20
40
  const Element: `h${typeof level}` = `h${level}`;