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,14 +4,38 @@ import { getWidthClass, type WidthVariants } from "../style/Width.js";
4
4
  import { getClass, getModuleClass } from "../util/css.js";
5
5
  import styles from "./Image.module.css";
6
6
 
7
+ /**
8
+ * CSS class applied to the root element of every `Image`.
9
+ *
10
+ * @see https://dhoulb.github.io/shelving/ui/block/Image/IMAGE_CLASS
11
+ */
7
12
  export const IMAGE_CLASS = getModuleClass(styles, "image");
13
+
14
+ /**
15
+ * CSS class that styles an `Image` when it appears inside `Prose` longform content.
16
+ *
17
+ * @see https://dhoulb.github.io/shelving/ui/block/Image/IMAGE_PROSE_CLASS
18
+ */
8
19
  export const IMAGE_PROSE_CLASS = getModuleClass(styles, "prose");
9
20
 
21
+ /**
22
+ * Props for `Image` — an `src`, optional `alt` text, plus space and width variants.
23
+ *
24
+ * @see https://dhoulb.github.io/shelving/ui/block/Image/ImageProps
25
+ */
10
26
  export interface ImageProps extends SpaceVariants, WidthVariants {
11
27
  src: string;
12
28
  alt?: string;
13
29
  }
14
30
 
31
+ /**
32
+ * Image block — renders an `<img>` with space and width variants applied.
33
+ *
34
+ * @param props The image `src`, optional `alt` text, plus space and width variants.
35
+ * @returns Rendered `<img>` element.
36
+ * @example <Image src="/logo.png" alt="Logo" width="medium" />
37
+ * @see https://dhoulb.github.io/shelving/ui/block/Image/Image
38
+ */
15
39
  export function Image({ src, alt, ...variants }: ImageProps): ReactElement {
16
40
  return <img src={src} alt={alt} className={getClass(IMAGE_CLASS, getSpaceClass(variants), getWidthClass(variants))} />;
17
41
  }
@@ -1,11 +1,26 @@
1
1
  import type { ReactElement } from "react";
2
2
  import type { SubheadingProps } from "./Subheading.js";
3
+ /**
4
+ * CSS class applied to the root element of every `Label`.
5
+ *
6
+ * @see https://dhoulb.github.io/shelving/ui/block/Label/LABEL_CLASS
7
+ */
3
8
  export declare const LABEL_CLASS: string | undefined;
9
+ /**
10
+ * Props for `Label` — identical to `SubheadingProps`.
11
+ *
12
+ * @see https://dhoulb.github.io/shelving/ui/block/Label/LabelProps
13
+ */
4
14
  export interface LabelProps extends SubheadingProps {
5
15
  }
6
16
  /**
7
- * Label heading, a `<h3>` with a labelly apperance (UPPERCASE but with a smaller text size).
8
- * - This is the default style used by things like a `<th>` from a `<table>`
9
- * - Default text properties for all of these can be controlled with global variables: `--size-label`, `--font-label`, `--case-label`
17
+ * Label heading, a `<h3>` with a labelly appearance (UPPERCASE but with a smaller text size).
18
+ * - This is the default style used by things like a `<th>` from a `<table>`.
19
+ * - Default text properties for all of these can be controlled with global variables: `--size-label`, `--font-label`, `--case-label`.
20
+ *
21
+ * @param props Colour, space, and typography variants plus an optional `level` override and `children`.
22
+ * @returns Rendered `<h3>` label heading element.
23
+ * @example <Label>Email address</Label>
24
+ * @see https://dhoulb.github.io/shelving/ui/block/Label/Label
10
25
  */
11
26
  export declare function Label({ level, children, ...props }: LabelProps): ReactElement;
package/ui/block/Label.js CHANGED
@@ -4,11 +4,21 @@ 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 LABEL_CSS from "./Label.module.css";
7
+ /**
8
+ * CSS class applied to the root element of every `Label`.
9
+ *
10
+ * @see https://dhoulb.github.io/shelving/ui/block/Label/LABEL_CLASS
11
+ */
7
12
  export const LABEL_CLASS = getModuleClass(LABEL_CSS, "label");
8
13
  /**
9
- * Label heading, a `<h3>` with a labelly apperance (UPPERCASE but with a smaller text size).
10
- * - This is the default style used by things like a `<th>` from a `<table>`
11
- * - Default text properties for all of these can be controlled with global variables: `--size-label`, `--font-label`, `--case-label`
14
+ * Label heading, a `<h3>` with a labelly appearance (UPPERCASE but with a smaller text size).
15
+ * - This is the default style used by things like a `<th>` from a `<table>`.
16
+ * - Default text properties for all of these can be controlled with global variables: `--size-label`, `--font-label`, `--case-label`.
17
+ *
18
+ * @param props Colour, space, and typography variants plus an optional `level` override and `children`.
19
+ * @returns Rendered `<h3>` label heading element.
20
+ * @example <Label>Email address</Label>
21
+ * @see https://dhoulb.github.io/shelving/ui/block/Label/Label
12
22
  */
13
23
  export function Label({ level = "3", children, ...props }) {
14
24
  const Element = `h${level}`;
@@ -6,14 +6,29 @@ import { getClass, getModuleClass } from "../util/css.js";
6
6
  import LABEL_CSS from "./Label.module.css";
7
7
  import type { SubheadingProps } from "./Subheading.js";
8
8
 
9
+ /**
10
+ * CSS class applied to the root element of every `Label`.
11
+ *
12
+ * @see https://dhoulb.github.io/shelving/ui/block/Label/LABEL_CLASS
13
+ */
9
14
  export const LABEL_CLASS = getModuleClass(LABEL_CSS, "label");
10
15
 
16
+ /**
17
+ * Props for `Label` — identical to `SubheadingProps`.
18
+ *
19
+ * @see https://dhoulb.github.io/shelving/ui/block/Label/LabelProps
20
+ */
11
21
  export interface LabelProps extends SubheadingProps {}
12
22
 
13
23
  /**
14
- * Label heading, a `<h3>` with a labelly apperance (UPPERCASE but with a smaller text size).
15
- * - This is the default style used by things like a `<th>` from a `<table>`
16
- * - Default text properties for all of these can be controlled with global variables: `--size-label`, `--font-label`, `--case-label`
24
+ * Label heading, a `<h3>` with a labelly appearance (UPPERCASE but with a smaller text size).
25
+ * - This is the default style used by things like a `<th>` from a `<table>`.
26
+ * - Default text properties for all of these can be controlled with global variables: `--size-label`, `--font-label`, `--case-label`.
27
+ *
28
+ * @param props Colour, space, and typography variants plus an optional `level` override and `children`.
29
+ * @returns Rendered `<h3>` label heading element.
30
+ * @example <Label>Email address</Label>
31
+ * @see https://dhoulb.github.io/shelving/ui/block/Label/Label
17
32
  */
18
33
  export function Label({ level = "3", children, ...props }: LabelProps): ReactElement {
19
34
  const Element: `h${typeof level}` = `h${level}`;
@@ -3,11 +3,41 @@ import { type ColorVariants } from "../style/Color.js";
3
3
  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
+ /**
7
+ * CSS class applied to an ordered `List` (`<ol>`).
8
+ *
9
+ * @see https://dhoulb.github.io/shelving/ui/block/List/LIST_ORDERED_CLASS
10
+ */
6
11
  export declare const LIST_ORDERED_CLASS: string | undefined;
12
+ /**
13
+ * CSS class applied to an unordered `List` (`<ul>`).
14
+ *
15
+ * @see https://dhoulb.github.io/shelving/ui/block/List/LIST_UNORDERED_CLASS
16
+ */
7
17
  export declare const LIST_UNORDERED_CLASS: string | undefined;
18
+ /**
19
+ * CSS class that styles a `List` when it appears inside `Prose` longform content.
20
+ *
21
+ * @see https://dhoulb.github.io/shelving/ui/block/List/LIST_PROSE_CLASS
22
+ */
8
23
  export declare const LIST_PROSE_CLASS: string | undefined;
24
+ /**
25
+ * Props for `List` — colour, gap, space, and typography variants plus its list items and an `ordered` toggle.
26
+ *
27
+ * @see https://dhoulb.github.io/shelving/ui/block/List/ListProps
28
+ */
9
29
  export interface ListProps extends ColorVariants, GapVariants, SpaceVariants, TypographyVariants {
10
30
  children: ReactNode[];
11
31
  ordered?: boolean;
12
32
  }
33
+ /**
34
+ * List block — wraps each child in an `<li>` and renders an `<ul>` or `<ol>`.
35
+ * - Pass `ordered` to render an ordered `<ol>` instead of the default unordered `<ul>`.
36
+ *
37
+ * @param props Colour, gap, space, and typography variants plus the `children` items and `ordered` toggle.
38
+ * @returns Rendered `<ul>` or `<ol>` list element.
39
+ * @example <List>{["One", "Two", "Three"]}</List>
40
+ * @example <List ordered>{["First", "Second"]}</List>
41
+ * @see https://dhoulb.github.io/shelving/ui/block/List/List
42
+ */
13
43
  export declare function List({ children, ordered, ...props }: ListProps): ReactElement;
package/ui/block/List.js CHANGED
@@ -5,9 +5,34 @@ 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 LIST_CSS from "./List.module.css";
8
+ /**
9
+ * CSS class applied to an ordered `List` (`<ol>`).
10
+ *
11
+ * @see https://dhoulb.github.io/shelving/ui/block/List/LIST_ORDERED_CLASS
12
+ */
8
13
  export const LIST_ORDERED_CLASS = getModuleClass(LIST_CSS, "ordered");
14
+ /**
15
+ * CSS class applied to an unordered `List` (`<ul>`).
16
+ *
17
+ * @see https://dhoulb.github.io/shelving/ui/block/List/LIST_UNORDERED_CLASS
18
+ */
9
19
  export const LIST_UNORDERED_CLASS = getModuleClass(LIST_CSS, "unordered");
20
+ /**
21
+ * CSS class that styles a `List` when it appears inside `Prose` longform content.
22
+ *
23
+ * @see https://dhoulb.github.io/shelving/ui/block/List/LIST_PROSE_CLASS
24
+ */
10
25
  export const LIST_PROSE_CLASS = getModuleClass(LIST_CSS, "prose");
26
+ /**
27
+ * List block — wraps each child in an `<li>` and renders an `<ul>` or `<ol>`.
28
+ * - Pass `ordered` to render an ordered `<ol>` instead of the default unordered `<ul>`.
29
+ *
30
+ * @param props Colour, gap, space, and typography variants plus the `children` items and `ordered` toggle.
31
+ * @returns Rendered `<ul>` or `<ol>` list element.
32
+ * @example <List>{["One", "Two", "Three"]}</List>
33
+ * @example <List ordered>{["First", "Second"]}</List>
34
+ * @see https://dhoulb.github.io/shelving/ui/block/List/List
35
+ */
11
36
  export function List({ children, ordered = false, ...props }) {
12
37
  const items = children.map((v, i) => _jsx("li", { children: v }, i.toString()));
13
38
  const className = getClass(ordered ? LIST_ORDERED_CLASS : LIST_UNORDERED_CLASS, getColorClass(props), getGapClass(props), getSpaceClass(props), getTypographyClass(props));
package/ui/block/List.tsx CHANGED
@@ -6,15 +6,47 @@ import { getTypographyClass, type TypographyVariants } from "../style/Typography
6
6
  import { getClass, getModuleClass } from "../util/css.js";
7
7
  import LIST_CSS from "./List.module.css";
8
8
 
9
+ /**
10
+ * CSS class applied to an ordered `List` (`<ol>`).
11
+ *
12
+ * @see https://dhoulb.github.io/shelving/ui/block/List/LIST_ORDERED_CLASS
13
+ */
9
14
  export const LIST_ORDERED_CLASS = getModuleClass(LIST_CSS, "ordered");
15
+
16
+ /**
17
+ * CSS class applied to an unordered `List` (`<ul>`).
18
+ *
19
+ * @see https://dhoulb.github.io/shelving/ui/block/List/LIST_UNORDERED_CLASS
20
+ */
10
21
  export const LIST_UNORDERED_CLASS = getModuleClass(LIST_CSS, "unordered");
22
+
23
+ /**
24
+ * CSS class that styles a `List` when it appears inside `Prose` longform content.
25
+ *
26
+ * @see https://dhoulb.github.io/shelving/ui/block/List/LIST_PROSE_CLASS
27
+ */
11
28
  export const LIST_PROSE_CLASS = getModuleClass(LIST_CSS, "prose");
12
29
 
30
+ /**
31
+ * Props for `List` — colour, gap, space, and typography variants plus its list items and an `ordered` toggle.
32
+ *
33
+ * @see https://dhoulb.github.io/shelving/ui/block/List/ListProps
34
+ */
13
35
  export interface ListProps extends ColorVariants, GapVariants, SpaceVariants, TypographyVariants {
14
36
  children: ReactNode[];
15
37
  ordered?: boolean;
16
38
  }
17
39
 
40
+ /**
41
+ * List block — wraps each child in an `<li>` and renders an `<ul>` or `<ol>`.
42
+ * - Pass `ordered` to render an ordered `<ol>` instead of the default unordered `<ul>`.
43
+ *
44
+ * @param props Colour, gap, space, and typography variants plus the `children` items and `ordered` toggle.
45
+ * @returns Rendered `<ul>` or `<ol>` list element.
46
+ * @example <List>{["One", "Two", "Three"]}</List>
47
+ * @example <List ordered>{["First", "Second"]}</List>
48
+ * @see https://dhoulb.github.io/shelving/ui/block/List/List
49
+ */
18
50
  export function List({ children, ordered = false, ...props }: ListProps): ReactElement {
19
51
  const items = children.map((v, i) => <li key={i.toString()}>{v}</li>);
20
52
  const className = getClass(
@@ -3,8 +3,17 @@ import { type ColorVariants } from "../style/Color.js";
3
3
  import { type StatusVariants } from "../style/Status.js";
4
4
  import { type TypographyVariants } from "../style/Typography.js";
5
5
  import type { OptionalChildProps } from "../util/props.js";
6
- /** Allowed semantic elements for a `<Panel>`. */
6
+ /**
7
+ * Allowed semantic elements for a `<Panel>`.
8
+ *
9
+ * @see https://dhoulb.github.io/shelving/ui/block/Panel/PanelElement
10
+ */
7
11
  export type PanelElement = "section" | "header" | "footer" | "nav" | "aside" | "article" | "div";
12
+ /**
13
+ * Props for `Panel` — colour, status, and typography variants plus optional `children`.
14
+ *
15
+ * @see https://dhoulb.github.io/shelving/ui/block/Panel/PanelProps
16
+ */
8
17
  export interface PanelProps extends ColorVariants, StatusVariants, TypographyVariants, OptionalChildProps {
9
18
  }
10
19
  /**
@@ -14,7 +23,10 @@ export interface PanelProps extends ColorVariants, StatusVariants, TypographyVar
14
23
  *
15
24
  * Renders as a `<section>` by default; pass `as="header"` etc. for other semantic elements.
16
25
  *
26
+ * @param props Colour, status, and typography variants plus `children`.
27
+ * @returns Rendered full-width panel region.
17
28
  * @example <Panel><Block narrow><Title>Welcome</Title></Block></Panel>
18
29
  * @example <Panel as="header" color="primary"><Title>Welcome</Title></Panel>
30
+ * @see https://dhoulb.github.io/shelving/ui/block/Panel/Panel
19
31
  */
20
32
  export declare function Panel({ children, ...props }: PanelProps): ReactElement;
package/ui/block/Panel.js CHANGED
@@ -12,8 +12,11 @@ const PANEL_CLASS = getModuleClass(PANEL_CSS, "panel");
12
12
  *
13
13
  * Renders as a `<section>` by default; pass `as="header"` etc. for other semantic elements.
14
14
  *
15
+ * @param props Colour, status, and typography variants plus `children`.
16
+ * @returns Rendered full-width panel region.
15
17
  * @example <Panel><Block narrow><Title>Welcome</Title></Block></Panel>
16
18
  * @example <Panel as="header" color="primary"><Title>Welcome</Title></Panel>
19
+ * @see https://dhoulb.github.io/shelving/ui/block/Panel/Panel
17
20
  */
18
21
  export function Panel({ children, ...props }) {
19
22
  return (_jsx("div", { className: getClass(PANEL_CLASS, //
@@ -8,9 +8,18 @@ import PANEL_CSS from "./Panel.module.css";
8
8
 
9
9
  const PANEL_CLASS = getModuleClass(PANEL_CSS, "panel");
10
10
 
11
- /** Allowed semantic elements for a `<Panel>`. */
11
+ /**
12
+ * Allowed semantic elements for a `<Panel>`.
13
+ *
14
+ * @see https://dhoulb.github.io/shelving/ui/block/Panel/PanelElement
15
+ */
12
16
  export type PanelElement = "section" | "header" | "footer" | "nav" | "aside" | "article" | "div";
13
17
 
18
+ /**
19
+ * Props for `Panel` — colour, status, and typography variants plus optional `children`.
20
+ *
21
+ * @see https://dhoulb.github.io/shelving/ui/block/Panel/PanelProps
22
+ */
14
23
  export interface PanelProps extends ColorVariants, StatusVariants, TypographyVariants, OptionalChildProps {}
15
24
 
16
25
  /**
@@ -20,8 +29,11 @@ export interface PanelProps extends ColorVariants, StatusVariants, TypographyVar
20
29
  *
21
30
  * Renders as a `<section>` by default; pass `as="header"` etc. for other semantic elements.
22
31
  *
32
+ * @param props Colour, status, and typography variants plus `children`.
33
+ * @returns Rendered full-width panel region.
23
34
  * @example <Panel><Block narrow><Title>Welcome</Title></Block></Panel>
24
35
  * @example <Panel as="header" color="primary"><Title>Welcome</Title></Panel>
36
+ * @see https://dhoulb.github.io/shelving/ui/block/Panel/Panel
25
37
  */
26
38
  export function Panel({ children, ...props }: PanelProps): ReactElement {
27
39
  return (
@@ -3,8 +3,31 @@ 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 element of every `Paragraph`.
8
+ *
9
+ * @see https://dhoulb.github.io/shelving/ui/block/Paragraph/PARAGRAPH_CLASS
10
+ */
6
11
  export declare const PARAGRAPH_CLASS: string | undefined;
12
+ /**
13
+ * CSS class that styles a `Paragraph` when it appears inside `Prose` longform content.
14
+ *
15
+ * @see https://dhoulb.github.io/shelving/ui/block/Paragraph/PARAGRAPH_PROSE_CLASS
16
+ */
7
17
  export declare const PARAGRAPH_PROSE_CLASS: string | undefined;
18
+ /**
19
+ * Props for `Paragraph` — colour, space, and typography variants.
20
+ *
21
+ * @see https://dhoulb.github.io/shelving/ui/block/Paragraph/ParagraphProps
22
+ */
8
23
  export interface ParagraphProps extends ColorVariants, SpaceVariants, TypographyVariants, OptionalChildProps {
9
24
  }
25
+ /**
26
+ * Paragraph block of body text — rendered as `<p>`.
27
+ *
28
+ * @param props Colour, space, and typography variants plus `children`.
29
+ * @returns Rendered `<p>` paragraph element.
30
+ * @example <Paragraph>Hello world.</Paragraph>
31
+ * @see https://dhoulb.github.io/shelving/ui/block/Paragraph/Paragraph
32
+ */
10
33
  export declare function Paragraph({ children, ...props }: ParagraphProps): ReactElement;
@@ -4,8 +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 PARAGRAPH_CSS from "./Paragraph.module.css";
7
+ /**
8
+ * CSS class applied to the root element of every `Paragraph`.
9
+ *
10
+ * @see https://dhoulb.github.io/shelving/ui/block/Paragraph/PARAGRAPH_CLASS
11
+ */
7
12
  export const PARAGRAPH_CLASS = getModuleClass(PARAGRAPH_CSS, "paragraph");
13
+ /**
14
+ * CSS class that styles a `Paragraph` when it appears inside `Prose` longform content.
15
+ *
16
+ * @see https://dhoulb.github.io/shelving/ui/block/Paragraph/PARAGRAPH_PROSE_CLASS
17
+ */
8
18
  export const PARAGRAPH_PROSE_CLASS = getModuleClass(PARAGRAPH_CSS, "prose");
19
+ /**
20
+ * Paragraph block of body text — rendered as `<p>`.
21
+ *
22
+ * @param props Colour, space, and typography variants plus `children`.
23
+ * @returns Rendered `<p>` paragraph element.
24
+ * @example <Paragraph>Hello world.</Paragraph>
25
+ * @see https://dhoulb.github.io/shelving/ui/block/Paragraph/Paragraph
26
+ */
9
27
  export function Paragraph({ children, ...props }) {
10
28
  return (_jsx("p", { className: getClass(PARAGRAPH_CLASS, //
11
29
  getColorClass(props), getSpaceClass(props), getTypographyClass(props)), children: children }));
@@ -6,11 +6,35 @@ import { getClass, getModuleClass } from "../util/css.js";
6
6
  import type { OptionalChildProps } from "../util/props.js";
7
7
  import PARAGRAPH_CSS from "./Paragraph.module.css";
8
8
 
9
+ /**
10
+ * CSS class applied to the root element of every `Paragraph`.
11
+ *
12
+ * @see https://dhoulb.github.io/shelving/ui/block/Paragraph/PARAGRAPH_CLASS
13
+ */
9
14
  export const PARAGRAPH_CLASS = getModuleClass(PARAGRAPH_CSS, "paragraph");
15
+
16
+ /**
17
+ * CSS class that styles a `Paragraph` when it appears inside `Prose` longform content.
18
+ *
19
+ * @see https://dhoulb.github.io/shelving/ui/block/Paragraph/PARAGRAPH_PROSE_CLASS
20
+ */
10
21
  export const PARAGRAPH_PROSE_CLASS = getModuleClass(PARAGRAPH_CSS, "prose");
11
22
 
23
+ /**
24
+ * Props for `Paragraph` — colour, space, and typography variants.
25
+ *
26
+ * @see https://dhoulb.github.io/shelving/ui/block/Paragraph/ParagraphProps
27
+ */
12
28
  export interface ParagraphProps extends ColorVariants, SpaceVariants, TypographyVariants, OptionalChildProps {}
13
29
 
30
+ /**
31
+ * Paragraph block of body text — rendered as `<p>`.
32
+ *
33
+ * @param props Colour, space, and typography variants plus `children`.
34
+ * @returns Rendered `<p>` paragraph element.
35
+ * @example <Paragraph>Hello world.</Paragraph>
36
+ * @see https://dhoulb.github.io/shelving/ui/block/Paragraph/Paragraph
37
+ */
14
38
  export function Paragraph({ children, ...props }: ParagraphProps): ReactElement {
15
39
  return (
16
40
  <p
@@ -5,8 +5,23 @@ import { type SpaceVariants } from "../style/Space.js";
5
5
  import { type TypographyVariants } from "../style/Typography.js";
6
6
  import { type WidthVariants } from "../style/Width.js";
7
7
  import type { OptionalChildProps } from "../util/props.js";
8
+ /**
9
+ * CSS class applied to the root element of every `Preformatted` block.
10
+ *
11
+ * @see https://dhoulb.github.io/shelving/ui/block/Preformatted/PREFORMATTED_CLASS
12
+ */
8
13
  export declare const PREFORMATTED_CLASS: string | undefined;
14
+ /**
15
+ * CSS class that styles a `Preformatted` block when it appears inside `Prose` longform content.
16
+ *
17
+ * @see https://dhoulb.github.io/shelving/ui/block/Preformatted/PREFORMATTED_PROSE_CLASS
18
+ */
9
19
  export declare const PREFORMATTED_PROSE_CLASS: string | undefined;
20
+ /**
21
+ * Props for `Preformatted` — space, colour, typography, width, and padding variants plus a `wrap` toggle.
22
+ *
23
+ * @see https://dhoulb.github.io/shelving/ui/block/Preformatted/PreformattedProps
24
+ */
10
25
  export interface PreformattedProps extends SpaceVariants, ColorVariants, TypographyVariants, WidthVariants, PaddingVariants, OptionalChildProps {
11
26
  /** Enable line wrapping (default is nowrap). */
12
27
  wrap?: boolean | undefined;
@@ -15,5 +30,10 @@ export interface PreformattedProps extends SpaceVariants, ColorVariants, Typogra
15
30
  * Preformatted block of text — rendered as `<pre>`.
16
31
  * - Lines are not wrapped by default — overflowing content scrolls horizontally within the block.
17
32
  * - Pass `wrap` to wrap long lines instead; newlines and indentation are preserved either way.
33
+ *
34
+ * @param props Space, colour, typography, width, and padding variants plus the `wrap` toggle and `children`.
35
+ * @returns Rendered `<pre>` element.
36
+ * @example <Preformatted>{"line one\nline two"}</Preformatted>
37
+ * @see https://dhoulb.github.io/shelving/ui/block/Preformatted/Preformatted
18
38
  */
19
39
  export declare function Preformatted({ children, ...variants }: PreformattedProps): ReactElement;
@@ -6,12 +6,27 @@ import { getTypographyClass } from "../style/Typography.js";
6
6
  import { getWidthClass } from "../style/Width.js";
7
7
  import { getClass, getModuleClass } from "../util/css.js";
8
8
  import PREFORMATTED_CSS from "./Preformatted.module.css";
9
+ /**
10
+ * CSS class applied to the root element of every `Preformatted` block.
11
+ *
12
+ * @see https://dhoulb.github.io/shelving/ui/block/Preformatted/PREFORMATTED_CLASS
13
+ */
9
14
  export const PREFORMATTED_CLASS = getModuleClass(PREFORMATTED_CSS, "preformatted");
15
+ /**
16
+ * CSS class that styles a `Preformatted` block when it appears inside `Prose` longform content.
17
+ *
18
+ * @see https://dhoulb.github.io/shelving/ui/block/Preformatted/PREFORMATTED_PROSE_CLASS
19
+ */
10
20
  export const PREFORMATTED_PROSE_CLASS = getModuleClass(PREFORMATTED_CSS, "prose");
11
21
  /**
12
22
  * Preformatted block of text — rendered as `<pre>`.
13
23
  * - Lines are not wrapped by default — overflowing content scrolls horizontally within the block.
14
24
  * - Pass `wrap` to wrap long lines instead; newlines and indentation are preserved either way.
25
+ *
26
+ * @param props Space, colour, typography, width, and padding variants plus the `wrap` toggle and `children`.
27
+ * @returns Rendered `<pre>` element.
28
+ * @example <Preformatted>{"line one\nline two"}</Preformatted>
29
+ * @see https://dhoulb.github.io/shelving/ui/block/Preformatted/Preformatted
15
30
  */
16
31
  export function Preformatted({ children, ...variants }) {
17
32
  return (_jsx("pre", { className: getClass(getModuleClass(PREFORMATTED_CSS, "preformatted", variants), //
@@ -8,9 +8,25 @@ import { getClass, getModuleClass } from "../util/css.js";
8
8
  import type { OptionalChildProps } from "../util/props.js";
9
9
  import PREFORMATTED_CSS from "./Preformatted.module.css";
10
10
 
11
+ /**
12
+ * CSS class applied to the root element of every `Preformatted` block.
13
+ *
14
+ * @see https://dhoulb.github.io/shelving/ui/block/Preformatted/PREFORMATTED_CLASS
15
+ */
11
16
  export const PREFORMATTED_CLASS = getModuleClass(PREFORMATTED_CSS, "preformatted");
17
+
18
+ /**
19
+ * CSS class that styles a `Preformatted` block when it appears inside `Prose` longform content.
20
+ *
21
+ * @see https://dhoulb.github.io/shelving/ui/block/Preformatted/PREFORMATTED_PROSE_CLASS
22
+ */
12
23
  export const PREFORMATTED_PROSE_CLASS = getModuleClass(PREFORMATTED_CSS, "prose");
13
24
 
25
+ /**
26
+ * Props for `Preformatted` — space, colour, typography, width, and padding variants plus a `wrap` toggle.
27
+ *
28
+ * @see https://dhoulb.github.io/shelving/ui/block/Preformatted/PreformattedProps
29
+ */
14
30
  export interface PreformattedProps
15
31
  extends SpaceVariants,
16
32
  ColorVariants,
@@ -26,6 +42,11 @@ export interface PreformattedProps
26
42
  * Preformatted block of text — rendered as `<pre>`.
27
43
  * - Lines are not wrapped by default — overflowing content scrolls horizontally within the block.
28
44
  * - Pass `wrap` to wrap long lines instead; newlines and indentation are preserved either way.
45
+ *
46
+ * @param props Space, colour, typography, width, and padding variants plus the `wrap` toggle and `children`.
47
+ * @returns Rendered `<pre>` element.
48
+ * @example <Preformatted>{"line one\nline two"}</Preformatted>
49
+ * @see https://dhoulb.github.io/shelving/ui/block/Preformatted/Preformatted
29
50
  */
30
51
  export function Preformatted({ children, ...variants }: PreformattedProps): ReactElement {
31
52
  return (
@@ -1,6 +1,19 @@
1
1
  import type { ReactElement } from "react";
2
2
  import type { OptionalChildProps } from "../util/props.js";
3
+ /**
4
+ * Props for `Prose` — just the longform `children` to style.
5
+ *
6
+ * @see https://dhoulb.github.io/shelving/ui/block/Prose/ProseProps
7
+ */
3
8
  export interface ProseProps extends OptionalChildProps {
4
9
  }
5
- /** A section of longform text containing lots of `<p>` or `<ul>` style elements. */
10
+ /**
11
+ * A section of longform text containing lots of `<p>` or `<ul>` style elements.
12
+ * - Applies the prose variant of every block and inline component so nested content picks up the right longform spacing and typography.
13
+ *
14
+ * @param props The longform `children` to render inside the prose container.
15
+ * @returns Rendered `<div>` wrapping the prose content.
16
+ * @example <Prose><Paragraph>First.</Paragraph><Paragraph>Second.</Paragraph></Prose>
17
+ * @see https://dhoulb.github.io/shelving/ui/block/Prose/Prose
18
+ */
6
19
  export declare function Prose({ children }: ProseProps): ReactElement;
package/ui/block/Prose.js CHANGED
@@ -25,7 +25,15 @@ import { SUBHEADING_PROSE_CLASS } from "./Subheading.js";
25
25
  import { TABLE_PROSE_CLASS } from "./Table.js";
26
26
  import { TITLE_PROSE_CLASS } from "./Title.js";
27
27
  const PROSE_STYLES = getClass(PARAGRAPH_PROSE_CLASS, HEADING_PROSE_CLASS, SUBHEADING_PROSE_CLASS, ADDRESS_PROSE_CLASS, BLOCKQUOTE_PROSE_CLASS, SECTION_PROSE_CLASS, CODE_PROSE_CLASS, DEFINITIONS_PROSE_CLASS, DELETED_PROSE_CLASS, EMPHASIS_PROSE_CLASS, IMAGE_PROSE_CLASS, INSERTED_PROSE_CLASS, CAPTION_PROSE_CLASS, LIST_PROSE_CLASS, TITLE_PROSE_CLASS, LINK_PROSE_CLASS, MARK_PROSE_CLASS, PREFORMATTED_PROSE_CLASS, SMALL_PROSE_CLASS, STRONG_PROSE_CLASS, SUBSCRIPT_PROSE_CLASS, SUPERSCRIPT_PROSE_CLASS, TABLE_PROSE_CLASS, DIVIDER_PROSE_CLASS);
28
- /** A section of longform text containing lots of `<p>` or `<ul>` style elements. */
28
+ /**
29
+ * A section of longform text containing lots of `<p>` or `<ul>` style elements.
30
+ * - Applies the prose variant of every block and inline component so nested content picks up the right longform spacing and typography.
31
+ *
32
+ * @param props The longform `children` to render inside the prose container.
33
+ * @returns Rendered `<div>` wrapping the prose content.
34
+ * @example <Prose><Paragraph>First.</Paragraph><Paragraph>Second.</Paragraph></Prose>
35
+ * @see https://dhoulb.github.io/shelving/ui/block/Prose/Prose
36
+ */
29
37
  export function Prose({ children }) {
30
38
  return _jsx("div", { className: PROSE_STYLES, children: children });
31
39
  }
@@ -53,9 +53,22 @@ const PROSE_STYLES = getClass(
53
53
  DIVIDER_PROSE_CLASS,
54
54
  );
55
55
 
56
+ /**
57
+ * Props for `Prose` — just the longform `children` to style.
58
+ *
59
+ * @see https://dhoulb.github.io/shelving/ui/block/Prose/ProseProps
60
+ */
56
61
  export interface ProseProps extends OptionalChildProps {}
57
62
 
58
- /** A section of longform text containing lots of `<p>` or `<ul>` style elements. */
63
+ /**
64
+ * A section of longform text containing lots of `<p>` or `<ul>` style elements.
65
+ * - Applies the prose variant of every block and inline component so nested content picks up the right longform spacing and typography.
66
+ *
67
+ * @param props The longform `children` to render inside the prose container.
68
+ * @returns Rendered `<div>` wrapping the prose content.
69
+ * @example <Prose><Paragraph>First.</Paragraph><Paragraph>Second.</Paragraph></Prose>
70
+ * @see https://dhoulb.github.io/shelving/ui/block/Prose/Prose
71
+ */
59
72
  export function Prose({ children }: ProseProps): ReactElement {
60
73
  return <div className={PROSE_STYLES}>{children}</div>;
61
74
  }