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
@@ -8,15 +8,37 @@ import { getClass, getModuleClass } from "../util/css.js";
8
8
  import type { OptionalChildProps } from "../util/props.js";
9
9
  import BLOCK_CSS from "./Block.module.css";
10
10
 
11
+ /**
12
+ * CSS class applied to the root element of every `Block`.
13
+ *
14
+ * @see https://dhoulb.github.io/shelving/ui/block/Block/BLOCK_CLASS
15
+ */
11
16
  export const BLOCK_CLASS = getModuleClass(BLOCK_CSS, "block");
12
17
 
18
+ /**
19
+ * Semantic element names a `Block` may render as via its `as` prop.
20
+ *
21
+ * @see https://dhoulb.github.io/shelving/ui/block/Block/BlockElement
22
+ */
13
23
  export type BlockElement = "div" | "section" | "header" | "footer" | "nav" | "aside" | "figure";
14
24
 
25
+ /**
26
+ * Props for `Block` — colour, space, typography, and width variants plus an optional `as` element override.
27
+ *
28
+ * @see https://dhoulb.github.io/shelving/ui/block/Block/BlockProps
29
+ */
15
30
  export interface BlockProps extends ColorVariants, SpaceVariants, TypographyVariants, WidthVariants, OptionalChildProps {
16
31
  as?: BlockElement | undefined;
17
32
  }
18
33
 
19
- /** Plain `<div>` block with block-level spacing. */
34
+ /**
35
+ * Plain `<div>` block with block-level spacing.
36
+ * - Pass `as` to render a different semantic element (`section`, `header`, `footer`, `nav`, `aside`, `figure`).
37
+ *
38
+ * @example <Block><Paragraph>Hello</Paragraph></Block>
39
+ * @example <Block as="aside" narrow><Paragraph>Sidebar</Paragraph></Block>
40
+ * @see https://dhoulb.github.io/shelving/ui/block/Block/Block
41
+ */
20
42
  export function Block({ as: Component = "div", children, ...props }: BlockProps): ReactElement {
21
43
  return (
22
44
  <Component
@@ -3,8 +3,29 @@ 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 { OptionalChildProps } from "../util/props.js";
6
+ /**
7
+ * CSS class applied to the root `<blockquote>` element of every `Blockquote`.
8
+ *
9
+ * @see https://dhoulb.github.io/shelving/ui/block/Blockquote/BLOCKQUOTE_CLASS
10
+ */
6
11
  export declare const BLOCKQUOTE_CLASS: string | undefined;
12
+ /**
13
+ * CSS class that styles `<blockquote>` elements when they appear inside `Prose`.
14
+ *
15
+ * @see https://dhoulb.github.io/shelving/ui/block/Blockquote/BLOCKQUOTE_PROSE_CLASS
16
+ */
7
17
  export declare const BLOCKQUOTE_PROSE_CLASS: string | undefined;
18
+ /**
19
+ * Props for `Blockquote` — colour, space, and typography variants plus optional children.
20
+ *
21
+ * @see https://dhoulb.github.io/shelving/ui/block/Blockquote/BlockquoteProps
22
+ */
8
23
  export interface BlockquoteProps extends ColorVariants, SpaceVariants, TypographyVariants, OptionalChildProps {
9
24
  }
25
+ /**
26
+ * Quoted block of text — rendered as `<blockquote>`.
27
+ *
28
+ * @example <Blockquote>To be or not to be.</Blockquote>
29
+ * @see https://dhoulb.github.io/shelving/ui/block/Blockquote/Blockquote
30
+ */
10
31
  export declare function Blockquote({ children, ...props }: BlockquoteProps): ReactElement;
@@ -4,8 +4,24 @@ 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 BLOCKQUOTE_CSS from "./Blockquote.module.css";
7
+ /**
8
+ * CSS class applied to the root `<blockquote>` element of every `Blockquote`.
9
+ *
10
+ * @see https://dhoulb.github.io/shelving/ui/block/Blockquote/BLOCKQUOTE_CLASS
11
+ */
7
12
  export const BLOCKQUOTE_CLASS = getModuleClass(BLOCKQUOTE_CSS, "blockquote");
13
+ /**
14
+ * CSS class that styles `<blockquote>` elements when they appear inside `Prose`.
15
+ *
16
+ * @see https://dhoulb.github.io/shelving/ui/block/Blockquote/BLOCKQUOTE_PROSE_CLASS
17
+ */
8
18
  export const BLOCKQUOTE_PROSE_CLASS = getModuleClass(BLOCKQUOTE_CSS, "prose");
19
+ /**
20
+ * Quoted block of text — rendered as `<blockquote>`.
21
+ *
22
+ * @example <Blockquote>To be or not to be.</Blockquote>
23
+ * @see https://dhoulb.github.io/shelving/ui/block/Blockquote/Blockquote
24
+ */
9
25
  export function Blockquote({ children, ...props }) {
10
26
  return (_jsx("blockquote", { className: getClass(BLOCKQUOTE_CLASS, //
11
27
  getColorClass(props), getSpaceClass(props), getTypographyClass(props)), children: children }));
@@ -6,11 +6,33 @@ import { getClass, getModuleClass } from "../util/css.js";
6
6
  import type { OptionalChildProps } from "../util/props.js";
7
7
  import BLOCKQUOTE_CSS from "./Blockquote.module.css";
8
8
 
9
+ /**
10
+ * CSS class applied to the root `<blockquote>` element of every `Blockquote`.
11
+ *
12
+ * @see https://dhoulb.github.io/shelving/ui/block/Blockquote/BLOCKQUOTE_CLASS
13
+ */
9
14
  export const BLOCKQUOTE_CLASS = getModuleClass(BLOCKQUOTE_CSS, "blockquote");
15
+
16
+ /**
17
+ * CSS class that styles `<blockquote>` elements when they appear inside `Prose`.
18
+ *
19
+ * @see https://dhoulb.github.io/shelving/ui/block/Blockquote/BLOCKQUOTE_PROSE_CLASS
20
+ */
10
21
  export const BLOCKQUOTE_PROSE_CLASS = getModuleClass(BLOCKQUOTE_CSS, "prose");
11
22
 
23
+ /**
24
+ * Props for `Blockquote` — colour, space, and typography variants plus optional children.
25
+ *
26
+ * @see https://dhoulb.github.io/shelving/ui/block/Blockquote/BlockquoteProps
27
+ */
12
28
  export interface BlockquoteProps extends ColorVariants, SpaceVariants, TypographyVariants, OptionalChildProps {}
13
29
 
30
+ /**
31
+ * Quoted block of text — rendered as `<blockquote>`.
32
+ *
33
+ * @example <Blockquote>To be or not to be.</Blockquote>
34
+ * @see https://dhoulb.github.io/shelving/ui/block/Blockquote/Blockquote
35
+ */
14
36
  export function Blockquote({ children, ...props }: BlockquoteProps): ReactElement {
15
37
  return (
16
38
  <blockquote
@@ -3,9 +3,29 @@ 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 { OptionalChildProps } from "../util/index.js";
6
+ /**
7
+ * CSS class applied to the root `<figcaption>` element of every `Caption`.
8
+ *
9
+ * @see https://dhoulb.github.io/shelving/ui/block/Caption/CAPTION_CLASS
10
+ */
6
11
  export declare const CAPTION_CLASS: string | undefined;
12
+ /**
13
+ * CSS class that styles `<figcaption>` elements when they appear inside `Prose`.
14
+ *
15
+ * @see https://dhoulb.github.io/shelving/ui/block/Caption/CAPTION_PROSE_CLASS
16
+ */
7
17
  export declare const CAPTION_PROSE_CLASS: string | undefined;
18
+ /**
19
+ * Props for `Caption` — colour, space, and typography variants plus optional children.
20
+ *
21
+ * @see https://dhoulb.github.io/shelving/ui/block/Caption/CaptionProps
22
+ */
8
23
  export interface CaptionProps extends ColorVariants, SpaceVariants, TypographyVariants, OptionalChildProps {
9
24
  }
10
- /** `<figcaption>` block — caption text for a `<Figure>`. */
25
+ /**
26
+ * `<figcaption>` block — caption text for a `<Figure>`.
27
+ *
28
+ * @example <Figure><Image src="/cat.jpg" /><Caption>A cat</Caption></Figure>
29
+ * @see https://dhoulb.github.io/shelving/ui/block/Caption/Caption
30
+ */
11
31
  export declare function Caption({ children, ...props }: CaptionProps): ReactElement;
@@ -4,9 +4,24 @@ 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 CAPTION_CSS from "./Caption.module.css";
7
+ /**
8
+ * CSS class applied to the root `<figcaption>` element of every `Caption`.
9
+ *
10
+ * @see https://dhoulb.github.io/shelving/ui/block/Caption/CAPTION_CLASS
11
+ */
7
12
  export const CAPTION_CLASS = getModuleClass(CAPTION_CSS, "divider");
13
+ /**
14
+ * CSS class that styles `<figcaption>` elements when they appear inside `Prose`.
15
+ *
16
+ * @see https://dhoulb.github.io/shelving/ui/block/Caption/CAPTION_PROSE_CLASS
17
+ */
8
18
  export const CAPTION_PROSE_CLASS = getModuleClass(CAPTION_CSS, "prose");
9
- /** `<figcaption>` block — caption text for a `<Figure>`. */
19
+ /**
20
+ * `<figcaption>` block — caption text for a `<Figure>`.
21
+ *
22
+ * @example <Figure><Image src="/cat.jpg" /><Caption>A cat</Caption></Figure>
23
+ * @see https://dhoulb.github.io/shelving/ui/block/Caption/Caption
24
+ */
10
25
  export function Caption({ children, ...props }) {
11
26
  return (_jsx("figcaption", { className: getClass(CAPTION_CLASS, //
12
27
  getColorClass(props), getSpaceClass(props), getTypographyClass(props)), children: children }));
@@ -6,12 +6,33 @@ import { getClass, getModuleClass } from "../util/css.js";
6
6
  import type { OptionalChildProps } from "../util/index.js";
7
7
  import CAPTION_CSS from "./Caption.module.css";
8
8
 
9
+ /**
10
+ * CSS class applied to the root `<figcaption>` element of every `Caption`.
11
+ *
12
+ * @see https://dhoulb.github.io/shelving/ui/block/Caption/CAPTION_CLASS
13
+ */
9
14
  export const CAPTION_CLASS = getModuleClass(CAPTION_CSS, "divider");
15
+
16
+ /**
17
+ * CSS class that styles `<figcaption>` elements when they appear inside `Prose`.
18
+ *
19
+ * @see https://dhoulb.github.io/shelving/ui/block/Caption/CAPTION_PROSE_CLASS
20
+ */
10
21
  export const CAPTION_PROSE_CLASS = getModuleClass(CAPTION_CSS, "prose");
11
22
 
23
+ /**
24
+ * Props for `Caption` — colour, space, and typography variants plus optional children.
25
+ *
26
+ * @see https://dhoulb.github.io/shelving/ui/block/Caption/CaptionProps
27
+ */
12
28
  export interface CaptionProps extends ColorVariants, SpaceVariants, TypographyVariants, OptionalChildProps {}
13
29
 
14
- /** `<figcaption>` block — caption text for a `<Figure>`. */
30
+ /**
31
+ * `<figcaption>` block — caption text for a `<Figure>`.
32
+ *
33
+ * @example <Figure><Image src="/cat.jpg" /><Caption>A cat</Caption></Figure>
34
+ * @see https://dhoulb.github.io/shelving/ui/block/Caption/Caption
35
+ */
15
36
  export function Caption({ children, ...props }: CaptionProps): ReactElement {
16
37
  return (
17
38
  <figcaption
@@ -6,6 +6,11 @@ import { type SpaceVariants } from "../style/Space.js";
6
6
  import { type StatusVariants } from "../style/Status.js";
7
7
  import { type TypographyVariants } from "../style/Typography.js";
8
8
  import { type WidthVariants } from "../style/Width.js";
9
+ /**
10
+ * Props for `Card` — combines `ClickableProps` (for navigable cards) with colour, status, padding, space, typography, and width variants.
11
+ *
12
+ * @see https://dhoulb.github.io/shelving/ui/block/Card/CardProps
13
+ */
9
14
  export interface CardProps extends ClickableProps, ColorVariants, StatusVariants, PaddingVariants, SpaceVariants, TypographyVariants, WidthVariants {
10
15
  }
11
16
  /**
@@ -17,5 +22,6 @@ export interface CardProps extends ClickableProps, ColorVariants, StatusVariants
17
22
  * @example <Card><Subheading>Static</Subheading></Card>
18
23
  * @example <Card href="/foo" title="Open foo"><Subheading>Clickable</Subheading></Card>
19
24
  * @example <Card status="error"><Subheading>Not found</Subheading></Card>
25
+ * @see https://dhoulb.github.io/shelving/ui/block/Card/Card
20
26
  */
21
27
  export declare function Card({ children, href, onClick, title, ...props }: CardProps): ReactElement;
package/ui/block/Card.js CHANGED
@@ -17,6 +17,7 @@ import CARD_CSS from "./Card.module.css";
17
17
  * @example <Card><Subheading>Static</Subheading></Card>
18
18
  * @example <Card href="/foo" title="Open foo"><Subheading>Clickable</Subheading></Card>
19
19
  * @example <Card status="error"><Subheading>Not found</Subheading></Card>
20
+ * @see https://dhoulb.github.io/shelving/ui/block/Card/Card
20
21
  */
21
22
  export function Card({ children, href, onClick, title = "Open", ...props }) {
22
23
  const overlay = (href || onClick) && _jsx(Clickable, { title: title, href: href, onClick: onClick, ...props, className: CARD_CSS.overlay });
package/ui/block/Card.tsx CHANGED
@@ -9,6 +9,11 @@ import { getWidthClass, type WidthVariants } from "../style/Width.js";
9
9
  import { getClass, getModuleClass } from "../util/css.js";
10
10
  import CARD_CSS from "./Card.module.css";
11
11
 
12
+ /**
13
+ * Props for `Card` — combines `ClickableProps` (for navigable cards) with colour, status, padding, space, typography, and width variants.
14
+ *
15
+ * @see https://dhoulb.github.io/shelving/ui/block/Card/CardProps
16
+ */
12
17
  export interface CardProps
13
18
  extends ClickableProps,
14
19
  ColorVariants,
@@ -27,6 +32,7 @@ export interface CardProps
27
32
  * @example <Card><Subheading>Static</Subheading></Card>
28
33
  * @example <Card href="/foo" title="Open foo"><Subheading>Clickable</Subheading></Card>
29
34
  * @example <Card status="error"><Subheading>Not found</Subheading></Card>
35
+ * @see https://dhoulb.github.io/shelving/ui/block/Card/Card
30
36
  */
31
37
  export function Card({ children, href, onClick, title = "Open", ...props }: CardProps): ReactElement {
32
38
  const overlay = (href || onClick) && <Clickable title={title} href={href} onClick={onClick} {...props} className={CARD_CSS.overlay} />;
@@ -4,13 +4,31 @@ import { type GapVariants } from "../style/Gap.js";
4
4
  import { type SpaceVariants } from "../style/Space.js";
5
5
  import { type TypographyVariants } from "../style/Typography.js";
6
6
  import type { OptionalChildProps } from "../util/props.js";
7
+ /**
8
+ * CSS class applied to the root `<dl>` element of every `Definitions`.
9
+ *
10
+ * @see https://dhoulb.github.io/shelving/ui/block/Definitions/DEFINITIONS_CLASS
11
+ */
7
12
  export declare const DEFINITIONS_CLASS: string | undefined;
13
+ /**
14
+ * CSS class that styles `<dl>` elements when they appear inside `Prose`.
15
+ *
16
+ * @see https://dhoulb.github.io/shelving/ui/block/Definitions/DEFINITIONS_PROSE_CLASS
17
+ */
8
18
  export declare const DEFINITIONS_PROSE_CLASS: string | undefined;
19
+ /**
20
+ * Props for `Definitions` — colour, gap, space, and typography variants plus optional children.
21
+ *
22
+ * @see https://dhoulb.github.io/shelving/ui/block/Definitions/DefinitionsProps
23
+ */
9
24
  export interface DefinitionsProps extends ColorVariants, GapVariants, SpaceVariants, TypographyVariants, OptionalChildProps {
10
25
  }
11
26
  /**
12
27
  * Description list — a sequence of term/value pairs rendered as a `<dl>`.
13
28
  * - Children are raw `<dt>` / `<dd>` elements — `<dt>` is the term label, `<dd>` the value, stacked term-above-value.
14
29
  * - The spacing between pairs is overridable via the `--definitions-gap` hook.
30
+ *
31
+ * @example <Definitions><dt>Name</dt><dd>Acme</dd></Definitions>
32
+ * @see https://dhoulb.github.io/shelving/ui/block/Definitions/Definitions
15
33
  */
16
34
  export declare function Definitions({ children, ...props }: DefinitionsProps): ReactElement;
@@ -5,12 +5,25 @@ import { getSpaceClass } from "../style/Space.js";
5
5
  import { getTypographyClass } from "../style/Typography.js";
6
6
  import { getClass, getModuleClass } from "../util/css.js";
7
7
  import DEFINITIONS_CSS from "./Definitions.module.css";
8
+ /**
9
+ * CSS class applied to the root `<dl>` element of every `Definitions`.
10
+ *
11
+ * @see https://dhoulb.github.io/shelving/ui/block/Definitions/DEFINITIONS_CLASS
12
+ */
8
13
  export const DEFINITIONS_CLASS = getModuleClass(DEFINITIONS_CSS, "definitions");
14
+ /**
15
+ * CSS class that styles `<dl>` elements when they appear inside `Prose`.
16
+ *
17
+ * @see https://dhoulb.github.io/shelving/ui/block/Definitions/DEFINITIONS_PROSE_CLASS
18
+ */
9
19
  export const DEFINITIONS_PROSE_CLASS = getModuleClass(DEFINITIONS_CSS, "prose");
10
20
  /**
11
21
  * Description list — a sequence of term/value pairs rendered as a `<dl>`.
12
22
  * - Children are raw `<dt>` / `<dd>` elements — `<dt>` is the term label, `<dd>` the value, stacked term-above-value.
13
23
  * - The spacing between pairs is overridable via the `--definitions-gap` hook.
24
+ *
25
+ * @example <Definitions><dt>Name</dt><dd>Acme</dd></Definitions>
26
+ * @see https://dhoulb.github.io/shelving/ui/block/Definitions/Definitions
14
27
  */
15
28
  export function Definitions({ children, ...props }) {
16
29
  return (_jsx("dl", { className: getClass(DEFINITIONS_CLASS, //
@@ -7,15 +7,34 @@ import { getClass, getModuleClass } from "../util/css.js";
7
7
  import type { OptionalChildProps } from "../util/props.js";
8
8
  import DEFINITIONS_CSS from "./Definitions.module.css";
9
9
 
10
+ /**
11
+ * CSS class applied to the root `<dl>` element of every `Definitions`.
12
+ *
13
+ * @see https://dhoulb.github.io/shelving/ui/block/Definitions/DEFINITIONS_CLASS
14
+ */
10
15
  export const DEFINITIONS_CLASS = getModuleClass(DEFINITIONS_CSS, "definitions");
16
+
17
+ /**
18
+ * CSS class that styles `<dl>` elements when they appear inside `Prose`.
19
+ *
20
+ * @see https://dhoulb.github.io/shelving/ui/block/Definitions/DEFINITIONS_PROSE_CLASS
21
+ */
11
22
  export const DEFINITIONS_PROSE_CLASS = getModuleClass(DEFINITIONS_CSS, "prose");
12
23
 
24
+ /**
25
+ * Props for `Definitions` — colour, gap, space, and typography variants plus optional children.
26
+ *
27
+ * @see https://dhoulb.github.io/shelving/ui/block/Definitions/DefinitionsProps
28
+ */
13
29
  export interface DefinitionsProps extends ColorVariants, GapVariants, SpaceVariants, TypographyVariants, OptionalChildProps {}
14
30
 
15
31
  /**
16
32
  * Description list — a sequence of term/value pairs rendered as a `<dl>`.
17
33
  * - Children are raw `<dt>` / `<dd>` elements — `<dt>` is the term label, `<dd>` the value, stacked term-above-value.
18
34
  * - The spacing between pairs is overridable via the `--definitions-gap` hook.
35
+ *
36
+ * @example <Definitions><dt>Name</dt><dd>Acme</dd></Definitions>
37
+ * @see https://dhoulb.github.io/shelving/ui/block/Definitions/Definitions
19
38
  */
20
39
  export function Definitions({ children, ...props }: DefinitionsProps): ReactElement {
21
40
  return (
@@ -1,7 +1,28 @@
1
1
  import { type ColorVariants } from "../style/Color.js";
2
2
  import { type SpaceVariants } from "../style/Space.js";
3
+ /**
4
+ * CSS class applied to the root `<hr>` element of every `Divider`.
5
+ *
6
+ * @see https://dhoulb.github.io/shelving/ui/block/Divider/DIVIDER_CLASS
7
+ */
3
8
  export declare const DIVIDER_CLASS: string | undefined;
9
+ /**
10
+ * CSS class that styles `<hr>` elements when they appear inside `Prose`.
11
+ *
12
+ * @see https://dhoulb.github.io/shelving/ui/block/Divider/DIVIDER_PROSE_CLASS
13
+ */
4
14
  export declare const DIVIDER_PROSE_CLASS: string | undefined;
15
+ /**
16
+ * Props for `Divider` — space and colour variants.
17
+ *
18
+ * @see https://dhoulb.github.io/shelving/ui/block/Divider/DividerProps
19
+ */
5
20
  export interface DividerProps extends SpaceVariants, ColorVariants {
6
21
  }
22
+ /**
23
+ * Horizontal rule separating blocks of content — rendered as `<hr>`.
24
+ *
25
+ * @example <Divider />
26
+ * @see https://dhoulb.github.io/shelving/ui/block/Divider/Divider
27
+ */
7
28
  export declare function Divider(props: DividerProps): import("react").JSX.Element;
@@ -3,8 +3,24 @@ import { getColorClass } from "../style/Color.js";
3
3
  import { getSpaceClass } from "../style/Space.js";
4
4
  import { getClass, getModuleClass } from "../util/css.js";
5
5
  import DIVIDER_CSS from "./Divider.module.css";
6
+ /**
7
+ * CSS class applied to the root `<hr>` element of every `Divider`.
8
+ *
9
+ * @see https://dhoulb.github.io/shelving/ui/block/Divider/DIVIDER_CLASS
10
+ */
6
11
  export const DIVIDER_CLASS = getModuleClass(DIVIDER_CSS, "divider");
12
+ /**
13
+ * CSS class that styles `<hr>` elements when they appear inside `Prose`.
14
+ *
15
+ * @see https://dhoulb.github.io/shelving/ui/block/Divider/DIVIDER_PROSE_CLASS
16
+ */
7
17
  export const DIVIDER_PROSE_CLASS = getModuleClass(DIVIDER_CSS, "prose");
18
+ /**
19
+ * Horizontal rule separating blocks of content — rendered as `<hr>`.
20
+ *
21
+ * @example <Divider />
22
+ * @see https://dhoulb.github.io/shelving/ui/block/Divider/Divider
23
+ */
8
24
  export function Divider(props) {
9
25
  return (_jsx("hr", { className: getClass(DIVIDER_CLASS, //
10
26
  getSpaceClass(props), getColorClass(props)) }));
@@ -3,11 +3,33 @@ import { getSpaceClass, type SpaceVariants } from "../style/Space.js";
3
3
  import { getClass, getModuleClass } from "../util/css.js";
4
4
  import DIVIDER_CSS from "./Divider.module.css";
5
5
 
6
+ /**
7
+ * CSS class applied to the root `<hr>` element of every `Divider`.
8
+ *
9
+ * @see https://dhoulb.github.io/shelving/ui/block/Divider/DIVIDER_CLASS
10
+ */
6
11
  export const DIVIDER_CLASS = getModuleClass(DIVIDER_CSS, "divider");
12
+
13
+ /**
14
+ * CSS class that styles `<hr>` elements when they appear inside `Prose`.
15
+ *
16
+ * @see https://dhoulb.github.io/shelving/ui/block/Divider/DIVIDER_PROSE_CLASS
17
+ */
7
18
  export const DIVIDER_PROSE_CLASS = getModuleClass(DIVIDER_CSS, "prose");
8
19
 
20
+ /**
21
+ * Props for `Divider` — space and colour variants.
22
+ *
23
+ * @see https://dhoulb.github.io/shelving/ui/block/Divider/DividerProps
24
+ */
9
25
  export interface DividerProps extends SpaceVariants, ColorVariants {}
10
26
 
27
+ /**
28
+ * Horizontal rule separating blocks of content — rendered as `<hr>`.
29
+ *
30
+ * @example <Divider />
31
+ * @see https://dhoulb.github.io/shelving/ui/block/Divider/Divider
32
+ */
11
33
  export function Divider(props: DividerProps) {
12
34
  return (
13
35
  <hr
@@ -3,9 +3,23 @@ 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 `Heading`.
8
+ *
9
+ * @see https://dhoulb.github.io/shelving/ui/block/Heading/HEADING_CLASS
10
+ */
6
11
  export declare const HEADING_CLASS: string | undefined;
12
+ /**
13
+ * CSS class that styles a `Heading` when it appears inside `Prose` longform content.
14
+ *
15
+ * @see https://dhoulb.github.io/shelving/ui/block/Heading/HEADING_PROSE_CLASS
16
+ */
7
17
  export declare const HEADING_PROSE_CLASS: string | undefined;
8
- /** Props shared by `Title`, `Heading`, and `Subheading`. */
18
+ /**
19
+ * Props shared by `Title`, `Heading`, and `Subheading` — colour, space, and typography variants plus a heading-level override.
20
+ *
21
+ * @see https://dhoulb.github.io/shelving/ui/block/Heading/HeadingProps
22
+ */
9
23
  export interface HeadingProps extends ColorVariants, SpaceVariants, TypographyVariants, ChildProps {
10
24
  /**
11
25
  * Heading level (`1`–`6`) — sets the rendered `<h1>`–`<h6>` tag.
@@ -16,5 +30,10 @@ export interface HeadingProps extends ColorVariants, SpaceVariants, TypographyVa
16
30
  /**
17
31
  * Section heading — renders an `<h2>`.
18
32
  * - Sits between `Title` (`<h1>`) and `Subheading` (`<h3>`) in the heading hierarchy.
33
+ *
34
+ * @param props Colour, space, and typography variants plus an optional `level` override and `children`.
35
+ * @returns Rendered `<h2>` heading element.
36
+ * @example <Heading>Section title</Heading>
37
+ * @see https://dhoulb.github.io/shelving/ui/block/Heading/Heading
19
38
  */
20
39
  export declare function Heading({ level, children, ...props }: HeadingProps): 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 HEADING_CSS from "./Heading.module.css";
7
+ /**
8
+ * CSS class applied to the root element of every `Heading`.
9
+ *
10
+ * @see https://dhoulb.github.io/shelving/ui/block/Heading/HEADING_CLASS
11
+ */
7
12
  export const HEADING_CLASS = getModuleClass(HEADING_CSS, "heading");
13
+ /**
14
+ * CSS class that styles a `Heading` when it appears inside `Prose` longform content.
15
+ *
16
+ * @see https://dhoulb.github.io/shelving/ui/block/Heading/HEADING_PROSE_CLASS
17
+ */
8
18
  export const HEADING_PROSE_CLASS = getModuleClass(HEADING_CSS, "prose");
9
19
  /**
10
20
  * Section heading — renders an `<h2>`.
11
21
  * - Sits between `Title` (`<h1>`) and `Subheading` (`<h3>`) in the heading hierarchy.
22
+ *
23
+ * @param props Colour, space, and typography variants plus an optional `level` override and `children`.
24
+ * @returns Rendered `<h2>` heading element.
25
+ * @example <Heading>Section title</Heading>
26
+ * @see https://dhoulb.github.io/shelving/ui/block/Heading/Heading
12
27
  */
13
28
  export function Heading({ level = "2", children, ...props }) {
14
29
  const Element = `h${level}`;
@@ -6,10 +6,25 @@ import { getClass, getModuleClass } from "../util/css.js";
6
6
  import type { ChildProps } from "../util/props.js";
7
7
  import HEADING_CSS from "./Heading.module.css";
8
8
 
9
+ /**
10
+ * CSS class applied to the root element of every `Heading`.
11
+ *
12
+ * @see https://dhoulb.github.io/shelving/ui/block/Heading/HEADING_CLASS
13
+ */
9
14
  export const HEADING_CLASS = getModuleClass(HEADING_CSS, "heading");
15
+
16
+ /**
17
+ * CSS class that styles a `Heading` when it appears inside `Prose` longform content.
18
+ *
19
+ * @see https://dhoulb.github.io/shelving/ui/block/Heading/HEADING_PROSE_CLASS
20
+ */
10
21
  export const HEADING_PROSE_CLASS = getModuleClass(HEADING_CSS, "prose");
11
22
 
12
- /** Props shared by `Title`, `Heading`, and `Subheading`. */
23
+ /**
24
+ * Props shared by `Title`, `Heading`, and `Subheading` — colour, space, and typography variants plus a heading-level override.
25
+ *
26
+ * @see https://dhoulb.github.io/shelving/ui/block/Heading/HeadingProps
27
+ */
13
28
  export interface HeadingProps extends ColorVariants, SpaceVariants, TypographyVariants, ChildProps {
14
29
  /**
15
30
  * Heading level (`1`–`6`) — sets the rendered `<h1>`–`<h6>` tag.
@@ -21,6 +36,11 @@ export interface HeadingProps extends ColorVariants, SpaceVariants, TypographyVa
21
36
  /**
22
37
  * Section heading — renders an `<h2>`.
23
38
  * - Sits between `Title` (`<h1>`) and `Subheading` (`<h3>`) in the heading hierarchy.
39
+ *
40
+ * @param props Colour, space, and typography variants plus an optional `level` override and `children`.
41
+ * @returns Rendered `<h2>` heading element.
42
+ * @example <Heading>Section title</Heading>
43
+ * @see https://dhoulb.github.io/shelving/ui/block/Heading/Heading
24
44
  */
25
45
  export function Heading({ level = "2", children, ...props }: HeadingProps): ReactElement {
26
46
  const Element: `h${typeof level}` = `h${level}`;
@@ -1,10 +1,33 @@
1
1
  import type { ReactElement } from "react";
2
2
  import { type SpaceVariants } from "../style/Space.js";
3
3
  import { type WidthVariants } from "../style/Width.js";
4
+ /**
5
+ * CSS class applied to the root element of every `Image`.
6
+ *
7
+ * @see https://dhoulb.github.io/shelving/ui/block/Image/IMAGE_CLASS
8
+ */
4
9
  export declare const IMAGE_CLASS: string | undefined;
10
+ /**
11
+ * CSS class that styles an `Image` when it appears inside `Prose` longform content.
12
+ *
13
+ * @see https://dhoulb.github.io/shelving/ui/block/Image/IMAGE_PROSE_CLASS
14
+ */
5
15
  export declare const IMAGE_PROSE_CLASS: string | undefined;
16
+ /**
17
+ * Props for `Image` — an `src`, optional `alt` text, plus space and width variants.
18
+ *
19
+ * @see https://dhoulb.github.io/shelving/ui/block/Image/ImageProps
20
+ */
6
21
  export interface ImageProps extends SpaceVariants, WidthVariants {
7
22
  src: string;
8
23
  alt?: string;
9
24
  }
25
+ /**
26
+ * Image block — renders an `<img>` with space and width variants applied.
27
+ *
28
+ * @param props The image `src`, optional `alt` text, plus space and width variants.
29
+ * @returns Rendered `<img>` element.
30
+ * @example <Image src="/logo.png" alt="Logo" width="medium" />
31
+ * @see https://dhoulb.github.io/shelving/ui/block/Image/Image
32
+ */
10
33
  export declare function Image({ src, alt, ...variants }: ImageProps): ReactElement;
package/ui/block/Image.js CHANGED
@@ -3,8 +3,26 @@ import { getSpaceClass } from "../style/Space.js";
3
3
  import { getWidthClass } from "../style/Width.js";
4
4
  import { getClass, getModuleClass } from "../util/css.js";
5
5
  import styles from "./Image.module.css";
6
+ /**
7
+ * CSS class applied to the root element of every `Image`.
8
+ *
9
+ * @see https://dhoulb.github.io/shelving/ui/block/Image/IMAGE_CLASS
10
+ */
6
11
  export const IMAGE_CLASS = getModuleClass(styles, "image");
12
+ /**
13
+ * CSS class that styles an `Image` when it appears inside `Prose` longform content.
14
+ *
15
+ * @see https://dhoulb.github.io/shelving/ui/block/Image/IMAGE_PROSE_CLASS
16
+ */
7
17
  export const IMAGE_PROSE_CLASS = getModuleClass(styles, "prose");
18
+ /**
19
+ * Image block — renders an `<img>` with space and width variants applied.
20
+ *
21
+ * @param props The image `src`, optional `alt` text, plus space and width variants.
22
+ * @returns Rendered `<img>` element.
23
+ * @example <Image src="/logo.png" alt="Logo" width="medium" />
24
+ * @see https://dhoulb.github.io/shelving/ui/block/Image/Image
25
+ */
8
26
  export function Image({ src, alt, ...variants }) {
9
27
  return _jsx("img", { src: src, alt: alt, className: getClass(IMAGE_CLASS, getSpaceClass(variants), getWidthClass(variants)) });
10
28
  }