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.
- package/api/cache/APICache.d.ts +69 -6
- package/api/cache/APICache.js +61 -5
- package/api/cache/EndpointCache.d.ts +75 -7
- package/api/cache/EndpointCache.js +75 -7
- package/api/endpoint/Endpoint.d.ts +141 -25
- package/api/endpoint/Endpoint.js +55 -9
- package/api/endpoint/util.d.ts +28 -6
- package/api/provider/APIProvider.d.ts +58 -14
- package/api/provider/APIProvider.js +24 -2
- package/api/provider/CachedAPIProvider.d.ts +58 -5
- package/api/provider/CachedAPIProvider.js +58 -6
- package/api/provider/ClientAPIProvider.d.ts +80 -4
- package/api/provider/ClientAPIProvider.js +75 -4
- package/api/provider/DebugAPIProvider.d.ts +40 -1
- package/api/provider/DebugAPIProvider.js +40 -1
- package/api/provider/JSONAPIProvider.d.ts +18 -2
- package/api/provider/JSONAPIProvider.js +18 -2
- package/api/provider/LoggingAPIProvider.d.ts +25 -2
- package/api/provider/LoggingAPIProvider.js +25 -2
- package/api/provider/MockAPIProvider.d.ts +72 -1
- package/api/provider/MockAPIProvider.js +60 -4
- package/api/provider/MockEndpointAPIProvider.d.ts +9 -0
- package/api/provider/MockEndpointAPIProvider.js +9 -0
- package/api/provider/ThroughAPIProvider.d.ts +67 -1
- package/api/provider/ThroughAPIProvider.js +67 -1
- package/api/provider/ValidationAPIProvider.d.ts +32 -1
- package/api/provider/ValidationAPIProvider.js +32 -1
- package/api/provider/XMLAPIProvider.d.ts +18 -2
- package/api/provider/XMLAPIProvider.js +18 -2
- package/api/store/EndpointStore.d.ts +24 -1
- package/api/store/EndpointStore.js +24 -1
- package/bun/BunPostgreSQLProvider.d.ts +38 -0
- package/bun/BunPostgreSQLProvider.js +38 -2
- package/cloudflare/CloudflareD1Provider.d.ts +29 -2
- package/cloudflare/CloudflareD1Provider.js +29 -2
- package/cloudflare/CloudflareKVProvider.d.ts +115 -0
- package/cloudflare/CloudflareKVProvider.js +115 -0
- package/cloudflare/types.d.ts +41 -7
- package/db/cache/CollectionCache.d.ts +83 -7
- package/db/cache/CollectionCache.js +83 -7
- package/db/cache/DBCache.d.ts +93 -8
- package/db/cache/DBCache.js +85 -7
- package/db/collection/Collection.d.ts +103 -15
- package/db/collection/Collection.js +58 -6
- package/db/migrate/DBMigrator.d.ts +29 -1
- package/db/migrate/DBMigrator.js +20 -1
- package/db/migrate/PostgreSQLMigrator.d.ts +8 -1
- package/db/migrate/PostgreSQLMigrator.js +8 -1
- package/db/migrate/SQLMigrator.d.ts +63 -4
- package/db/migrate/SQLMigrator.js +51 -1
- package/db/migrate/SQLiteMigrator.d.ts +8 -1
- package/db/migrate/SQLiteMigrator.js +8 -1
- package/db/provider/CacheDBProvider.d.ts +135 -1
- package/db/provider/CacheDBProvider.js +135 -1
- package/db/provider/ChangesDBProvider.d.ts +84 -3
- package/db/provider/ChangesDBProvider.js +77 -2
- package/db/provider/DBProvider.d.ts +148 -1
- package/db/provider/DBProvider.js +51 -1
- package/db/provider/DebugDBProvider.d.ts +118 -1
- package/db/provider/DebugDBProvider.js +118 -1
- package/db/provider/MemoryDBProvider.d.ts +262 -7
- package/db/provider/MemoryDBProvider.js +262 -7
- package/db/provider/MockDBProvider.d.ts +113 -2
- package/db/provider/MockDBProvider.js +106 -1
- package/db/provider/PostgreSQLProvider.d.ts +34 -2
- package/db/provider/PostgreSQLProvider.js +34 -4
- package/db/provider/SQLProvider.d.ts +250 -14
- package/db/provider/SQLProvider.js +237 -13
- package/db/provider/SQLiteProvider.d.ts +41 -1
- package/db/provider/SQLiteProvider.js +41 -4
- package/db/provider/ThroughDBProvider.d.ts +156 -1
- package/db/provider/ThroughDBProvider.js +156 -1
- package/db/provider/ValidationDBProvider.d.ts +120 -1
- package/db/provider/ValidationDBProvider.js +120 -1
- package/db/store/ItemStore.d.ts +38 -2
- package/db/store/ItemStore.js +38 -2
- package/db/store/QueryStore.d.ts +64 -6
- package/db/store/QueryStore.js +64 -6
- package/error/BaseError.d.ts +27 -2
- package/error/BaseError.js +14 -0
- package/error/Errors.d.ts +12 -1
- package/error/Errors.js +12 -1
- package/error/NetworkError.d.ts +13 -1
- package/error/NetworkError.js +13 -1
- package/error/RequestError.d.ts +90 -7
- package/error/RequestError.js +90 -7
- package/error/RequiredError.d.ts +11 -1
- package/error/RequiredError.js +11 -1
- package/error/ResponseError.d.ts +19 -2
- package/error/ResponseError.js +19 -2
- package/error/UnexpectedError.d.ts +14 -1
- package/error/UnexpectedError.js +14 -1
- package/error/UnimplementedError.d.ts +13 -1
- package/error/UnimplementedError.js +13 -1
- package/error/ValueError.d.ts +14 -1
- package/error/ValueError.js +14 -1
- package/extract/DirectoryExtractor.d.ts +35 -1
- package/extract/DirectoryExtractor.js +30 -0
- package/extract/Extractor.d.ts +21 -2
- package/extract/Extractor.js +7 -1
- package/extract/FileExtractor.d.ts +18 -0
- package/extract/FileExtractor.js +18 -0
- package/extract/IndexExtractor.d.ts +36 -1
- package/extract/IndexExtractor.js +31 -0
- package/extract/MarkupExtractor.d.ts +15 -0
- package/extract/MarkupExtractor.js +15 -0
- package/extract/MergingExtractor.d.ts +36 -1
- package/extract/MergingExtractor.js +31 -0
- package/extract/ModuleExtractor.d.ts +25 -1
- package/extract/ModuleExtractor.js +20 -0
- package/extract/PackageExtractor.d.ts +36 -1
- package/extract/PackageExtractor.js +31 -0
- package/extract/ThroughExtractor.d.ts +22 -1
- package/extract/ThroughExtractor.js +22 -1
- package/extract/TypescriptExtractor.d.ts +21 -0
- package/extract/TypescriptExtractor.js +28 -3
- package/firestore/client/FirestoreClientProvider.d.ts +129 -4
- package/firestore/client/FirestoreClientProvider.js +129 -4
- package/firestore/lite/FirestoreLiteProvider.d.ts +128 -3
- package/firestore/lite/FirestoreLiteProvider.js +128 -3
- package/firestore/server/FirestoreServerProvider.d.ts +129 -2
- package/firestore/server/FirestoreServerProvider.js +129 -2
- package/markup/MarkupParser.d.ts +57 -10
- package/markup/MarkupParser.js +50 -9
- package/markup/MarkupRule.d.ts +34 -1
- package/markup/Parser.d.ts +18 -0
- package/markup/Parser.js +11 -0
- package/markup/rule/blockquote.d.ts +3 -0
- package/markup/rule/blockquote.js +3 -0
- package/markup/rule/code.d.ts +3 -0
- package/markup/rule/code.js +3 -0
- package/markup/rule/fenced.d.ts +3 -0
- package/markup/rule/fenced.js +3 -0
- package/markup/rule/heading.d.ts +3 -0
- package/markup/rule/heading.js +3 -0
- package/markup/rule/index.d.ts +16 -3
- package/markup/rule/index.js +16 -3
- package/markup/rule/inline.d.ts +4 -1
- package/markup/rule/inline.js +5 -2
- package/markup/rule/linebreak.d.ts +3 -0
- package/markup/rule/linebreak.js +3 -0
- package/markup/rule/link.d.ts +6 -0
- package/markup/rule/link.js +6 -0
- package/markup/rule/ordered.d.ts +3 -0
- package/markup/rule/ordered.js +3 -0
- package/markup/rule/paragraph.d.ts +3 -0
- package/markup/rule/paragraph.js +3 -0
- package/markup/rule/separator.d.ts +3 -0
- package/markup/rule/separator.js +3 -0
- package/markup/rule/table.d.ts +3 -0
- package/markup/rule/table.js +3 -0
- package/markup/rule/unordered.d.ts +3 -0
- package/markup/rule/unordered.js +3 -0
- package/markup/util/regexp.d.ts +80 -3
- package/markup/util/regexp.js +44 -0
- package/package.json +1 -1
- package/react/createAPIContext.d.ts +15 -0
- package/react/createAPIContext.js +10 -0
- package/react/createDBContext.d.ts +15 -0
- package/react/createDBContext.js +10 -0
- package/react/useInstance.d.ts +11 -0
- package/react/useInstance.js +11 -0
- package/react/useLazy.d.ts +11 -0
- package/react/useMap.d.ts +14 -1
- package/react/useMap.js +14 -1
- package/react/useReduce.d.ts +12 -0
- package/react/useSequence.d.ts +10 -0
- package/react/useSequence.js +10 -0
- package/react/useStore.d.ts +16 -1
- package/schema/AddressSchema.d.ts +41 -4
- package/schema/AddressSchema.js +36 -3
- package/schema/ArraySchema.d.ts +48 -6
- package/schema/ArraySchema.js +40 -5
- package/schema/BooleanSchema.d.ts +59 -3
- package/schema/BooleanSchema.js +51 -2
- package/schema/ChoiceSchema.d.ts +61 -7
- package/schema/ChoiceSchema.js +44 -2
- package/schema/ColorSchema.d.ts +41 -8
- package/schema/ColorSchema.js +36 -7
- package/schema/CountrySchema.d.ts +44 -4
- package/schema/CountrySchema.js +39 -3
- package/schema/CurrencyAmountSchema.d.ts +104 -8
- package/schema/CurrencyAmountSchema.js +91 -4
- package/schema/CurrencyCodeSchema.d.ts +56 -4
- package/schema/CurrencyCodeSchema.js +49 -3
- package/schema/DataSchema.d.ts +101 -10
- package/schema/DataSchema.js +87 -8
- package/schema/DateSchema.d.ts +73 -4
- package/schema/DateSchema.js +57 -2
- package/schema/DateTimeSchema.d.ts +40 -3
- package/schema/DateTimeSchema.js +40 -3
- package/schema/DictionarySchema.d.ts +54 -4
- package/schema/DictionarySchema.js +47 -3
- package/schema/EmailSchema.d.ts +34 -3
- package/schema/EmailSchema.js +34 -3
- package/schema/EntitySchema.d.ts +45 -4
- package/schema/EntitySchema.js +38 -3
- package/schema/FileSchema.d.ts +45 -4
- package/schema/FileSchema.js +39 -3
- package/schema/KeySchema.d.ts +32 -3
- package/schema/KeySchema.js +32 -3
- package/schema/NullableSchema.d.ts +64 -4
- package/schema/NullableSchema.js +59 -3
- package/schema/NumberSchema.d.ts +137 -12
- package/schema/NumberSchema.js +127 -11
- package/schema/OptionalSchema.d.ts +61 -4
- package/schema/OptionalSchema.js +56 -4
- package/schema/PasswordSchema.d.ts +37 -1
- package/schema/PasswordSchema.js +32 -1
- package/schema/PhoneSchema.d.ts +40 -4
- package/schema/PhoneSchema.js +35 -3
- package/schema/RequiredSchema.d.ts +39 -3
- package/schema/RequiredSchema.js +41 -3
- package/schema/Schema.d.ts +67 -7
- package/schema/Schema.js +42 -6
- package/schema/SlugSchema.d.ts +37 -5
- package/schema/SlugSchema.js +37 -5
- package/schema/StringSchema.d.ts +124 -19
- package/schema/StringSchema.js +107 -17
- package/schema/ThroughSchema.d.ts +35 -2
- package/schema/ThroughSchema.js +30 -1
- package/schema/TimeSchema.d.ts +43 -3
- package/schema/TimeSchema.js +43 -3
- package/schema/URISchema.d.ts +67 -6
- package/schema/URISchema.js +60 -6
- package/schema/URLSchema.d.ts +69 -6
- package/schema/URLSchema.js +61 -6
- package/schema/UUIDSchema.d.ts +37 -4
- package/schema/UUIDSchema.js +37 -4
- package/sequence/DeferredSequence.d.ts +49 -3
- package/sequence/DeferredSequence.js +39 -3
- package/sequence/InspectSequence.d.ts +59 -5
- package/sequence/InspectSequence.js +59 -5
- package/sequence/LazySequence.d.ts +30 -2
- package/sequence/LazySequence.js +30 -2
- package/sequence/Sequence.d.ts +11 -0
- package/sequence/Sequence.js +10 -0
- package/sequence/ThroughSequence.d.ts +15 -0
- package/sequence/ThroughSequence.js +15 -0
- package/store/ArrayStore.d.ts +74 -11
- package/store/ArrayStore.js +74 -11
- package/store/BooleanStore.d.ts +19 -2
- package/store/BooleanStore.js +19 -2
- package/store/BusyStore.d.ts +13 -1
- package/store/BusyStore.js +13 -1
- package/store/DataStore.d.ts +118 -15
- package/store/DataStore.js +118 -15
- package/store/DictionaryStore.d.ts +66 -8
- package/store/DictionaryStore.js +66 -8
- package/store/FetchStore.d.ts +43 -6
- package/store/FetchStore.js +36 -5
- package/store/PathStore.d.ts +44 -5
- package/store/PathStore.js +44 -5
- package/store/PayloadFetchStore.d.ts +16 -1
- package/store/PayloadFetchStore.js +9 -1
- package/store/Store.d.ts +85 -16
- package/store/Store.js +52 -10
- package/store/URLStore.d.ts +173 -15
- package/store/URLStore.js +173 -15
- package/test/basics.d.ts +70 -0
- package/test/basics.js +60 -0
- package/test/people.d.ts +45 -0
- package/test/people.js +35 -0
- package/test/util.d.ts +30 -3
- package/test/util.js +30 -3
- package/ui/app/App.d.ts +14 -2
- package/ui/app/App.js +9 -2
- package/ui/app/App.tsx +14 -2
- package/ui/block/Address.d.ts +45 -3
- package/ui/block/Address.js +30 -3
- package/ui/block/Address.tsx +46 -3
- package/ui/block/Block.d.ts +23 -1
- package/ui/block/Block.js +13 -1
- package/ui/block/Block.tsx +23 -1
- package/ui/block/Blockquote.d.ts +21 -0
- package/ui/block/Blockquote.js +16 -0
- package/ui/block/Blockquote.tsx +22 -0
- package/ui/block/Caption.d.ts +21 -1
- package/ui/block/Caption.js +16 -1
- package/ui/block/Caption.tsx +22 -1
- package/ui/block/Card.d.ts +6 -0
- package/ui/block/Card.js +1 -0
- package/ui/block/Card.tsx +6 -0
- package/ui/block/Definitions.d.ts +18 -0
- package/ui/block/Definitions.js +13 -0
- package/ui/block/Definitions.tsx +19 -0
- package/ui/block/Divider.d.ts +21 -0
- package/ui/block/Divider.js +16 -0
- package/ui/block/Divider.tsx +22 -0
- package/ui/block/Heading.d.ts +20 -1
- package/ui/block/Heading.js +15 -0
- package/ui/block/Heading.tsx +21 -1
- package/ui/block/Image.d.ts +23 -0
- package/ui/block/Image.js +18 -0
- package/ui/block/Image.tsx +24 -0
- package/ui/block/Label.d.ts +18 -3
- package/ui/block/Label.js +13 -3
- package/ui/block/Label.tsx +18 -3
- package/ui/block/List.d.ts +30 -0
- package/ui/block/List.js +25 -0
- package/ui/block/List.tsx +32 -0
- package/ui/block/Panel.d.ts +13 -1
- package/ui/block/Panel.js +3 -0
- package/ui/block/Panel.tsx +13 -1
- package/ui/block/Paragraph.d.ts +23 -0
- package/ui/block/Paragraph.js +18 -0
- package/ui/block/Paragraph.tsx +24 -0
- package/ui/block/Preformatted.d.ts +20 -0
- package/ui/block/Preformatted.js +15 -0
- package/ui/block/Preformatted.tsx +21 -0
- package/ui/block/Prose.d.ts +14 -1
- package/ui/block/Prose.js +9 -1
- package/ui/block/Prose.tsx +14 -1
- package/ui/block/Section.d.ts +69 -6
- package/ui/block/Section.js +59 -6
- package/ui/block/Section.tsx +70 -6
- package/ui/block/Subheading.d.ts +20 -1
- package/ui/block/Subheading.js +15 -0
- package/ui/block/Subheading.tsx +21 -1
- package/ui/block/Table.d.ts +20 -0
- package/ui/block/Table.js +15 -0
- package/ui/block/Table.tsx +21 -0
- package/ui/block/Title.d.ts +20 -1
- package/ui/block/Title.js +15 -0
- package/ui/block/Title.tsx +21 -1
- package/ui/block/Video.d.ts +50 -3
- package/ui/block/Video.js +30 -3
- package/ui/block/Video.tsx +50 -3
- package/ui/dialog/Dialog.d.ts +28 -1
- package/ui/dialog/Dialog.js +18 -1
- package/ui/dialog/Dialog.tsx +28 -1
- package/ui/dialog/Dialogs.d.ts +53 -6
- package/ui/dialog/Dialogs.js +43 -6
- package/ui/dialog/Dialogs.tsx +53 -6
- package/ui/dialog/Modal.d.ts +13 -0
- package/ui/dialog/Modal.js +8 -0
- package/ui/dialog/Modal.tsx +13 -0
- package/ui/docs/DocumentationButtons.d.ts +5 -1
- package/ui/docs/DocumentationButtons.tsx +5 -1
- package/ui/docs/DocumentationCard.d.ts +6 -1
- package/ui/docs/DocumentationCard.js +6 -1
- package/ui/docs/DocumentationCard.tsx +6 -1
- package/ui/docs/DocumentationKind.d.ts +13 -1
- package/ui/docs/DocumentationKind.js +8 -0
- package/ui/docs/DocumentationKind.tsx +13 -1
- package/ui/docs/DocumentationPage.d.ts +6 -1
- package/ui/docs/DocumentationPage.js +6 -1
- package/ui/docs/DocumentationPage.tsx +6 -1
- package/ui/docs/DocumentationSignatures.d.ts +10 -1
- package/ui/docs/DocumentationSignatures.js +5 -0
- package/ui/docs/DocumentationSignatures.tsx +10 -1
- package/ui/form/ArrayInput.d.ts +15 -0
- package/ui/form/ArrayInput.tsx +15 -0
- package/ui/form/ArrayRadioInputs.d.ts +10 -0
- package/ui/form/ArrayRadioInputs.js +5 -0
- package/ui/form/ArrayRadioInputs.tsx +10 -0
- package/ui/form/Button.d.ts +19 -3
- package/ui/form/Button.js +14 -2
- package/ui/form/Button.tsx +19 -3
- package/ui/form/ButtonInput.d.ts +14 -1
- package/ui/form/ButtonInput.js +9 -1
- package/ui/form/ButtonInput.tsx +14 -1
- package/ui/form/ButtonInputPopover.d.ts +10 -0
- package/ui/form/ButtonInputPopover.js +5 -0
- package/ui/form/ButtonInputPopover.tsx +10 -0
- package/ui/form/ButtonPopover.d.ts +11 -1
- package/ui/form/ButtonPopover.js +6 -1
- package/ui/form/ButtonPopover.tsx +11 -1
- package/ui/form/CheckboxInput.d.ts +14 -1
- package/ui/form/CheckboxInput.js +9 -1
- package/ui/form/CheckboxInput.tsx +14 -1
- package/ui/form/ChoiceRadioInputs.d.ts +10 -0
- package/ui/form/ChoiceRadioInputs.tsx +10 -0
- package/ui/form/Clickable.d.ts +45 -5
- package/ui/form/Clickable.js +30 -3
- package/ui/form/Clickable.tsx +45 -5
- package/ui/form/DataInput.d.ts +14 -0
- package/ui/form/DataInput.tsx +14 -0
- package/ui/form/DateInput.d.ts +14 -0
- package/ui/form/DateInput.js +9 -0
- package/ui/form/DateInput.tsx +14 -0
- package/ui/form/DictionaryInput.d.ts +15 -0
- package/ui/form/DictionaryInput.tsx +15 -0
- package/ui/form/Field.d.ts +5 -0
- package/ui/form/Field.tsx +5 -0
- package/ui/form/FileInput.d.ts +14 -0
- package/ui/form/FileInput.js +9 -0
- package/ui/form/FileInput.tsx +14 -0
- package/ui/form/Form.d.ts +55 -6
- package/ui/form/Form.js +35 -3
- package/ui/form/Form.tsx +55 -6
- package/ui/form/FormContext.d.ts +24 -3
- package/ui/form/FormContext.js +5 -1
- package/ui/form/FormContext.tsx +24 -3
- package/ui/form/FormFields.d.ts +15 -2
- package/ui/form/FormFields.js +15 -2
- package/ui/form/FormFields.tsx +15 -2
- package/ui/form/FormFooter.d.ts +13 -3
- package/ui/form/FormFooter.js +8 -3
- package/ui/form/FormFooter.tsx +13 -3
- package/ui/form/FormInput.d.ts +21 -2
- package/ui/form/FormInput.js +16 -2
- package/ui/form/FormInput.tsx +21 -2
- package/ui/form/FormMessage.d.ts +8 -1
- package/ui/form/FormMessage.js +8 -1
- package/ui/form/FormMessage.tsx +8 -2
- package/ui/form/FormNotice.d.ts +8 -1
- package/ui/form/FormNotice.js +8 -1
- package/ui/form/FormNotice.tsx +8 -2
- package/ui/form/FormNotify.d.ts +8 -1
- package/ui/form/FormNotify.js +8 -1
- package/ui/form/FormNotify.tsx +8 -2
- package/ui/form/FormStore.d.ts +50 -6
- package/ui/form/FormStore.js +50 -6
- package/ui/form/FormStore.tsx +50 -6
- package/ui/form/Input.d.ts +65 -1
- package/ui/form/Input.js +60 -0
- package/ui/form/Input.tsx +77 -1
- package/ui/form/NumberInput.d.ts +14 -0
- package/ui/form/NumberInput.js +9 -0
- package/ui/form/NumberInput.tsx +14 -0
- package/ui/form/OutputInput.d.ts +13 -1
- package/ui/form/OutputInput.js +8 -1
- package/ui/form/OutputInput.tsx +13 -1
- package/ui/form/Popover.d.ts +18 -2
- package/ui/form/Popover.js +8 -2
- package/ui/form/Popover.tsx +18 -2
- package/ui/form/Progress.d.ts +26 -2
- package/ui/form/Progress.js +16 -2
- package/ui/form/Progress.tsx +26 -2
- package/ui/form/QueryInput.d.ts +14 -5
- package/ui/form/QueryInput.js +9 -5
- package/ui/form/QueryInput.tsx +14 -5
- package/ui/form/RadioInput.d.ts +14 -1
- package/ui/form/RadioInput.js +9 -1
- package/ui/form/RadioInput.tsx +14 -1
- package/ui/form/SchemaInput.d.ts +138 -7
- package/ui/form/SchemaInput.js +79 -4
- package/ui/form/SchemaInput.tsx +138 -7
- package/ui/form/SelectInput.d.ts +14 -0
- package/ui/form/SelectInput.tsx +14 -0
- package/ui/form/SubmitButton.d.ts +14 -1
- package/ui/form/SubmitButton.js +9 -1
- package/ui/form/SubmitButton.tsx +14 -1
- package/ui/form/TextInput.d.ts +15 -0
- package/ui/form/TextInput.js +10 -0
- package/ui/form/TextInput.tsx +15 -0
- package/ui/inline/Code.d.ts +29 -0
- package/ui/inline/Code.js +24 -0
- package/ui/inline/Code.tsx +31 -0
- package/ui/inline/Deleted.d.ts +23 -0
- package/ui/inline/Deleted.js +18 -0
- package/ui/inline/Deleted.tsx +24 -0
- package/ui/inline/Emphasis.d.ts +23 -0
- package/ui/inline/Emphasis.js +18 -0
- package/ui/inline/Emphasis.tsx +24 -0
- package/ui/inline/Inserted.d.ts +23 -0
- package/ui/inline/Inserted.js +18 -0
- package/ui/inline/Inserted.tsx +24 -0
- package/ui/inline/Link.d.ts +23 -0
- package/ui/inline/Link.js +18 -0
- package/ui/inline/Link.tsx +24 -0
- package/ui/inline/Mark.d.ts +23 -0
- package/ui/inline/Mark.js +18 -0
- package/ui/inline/Mark.tsx +24 -0
- package/ui/inline/Small.d.ts +23 -0
- package/ui/inline/Small.js +18 -0
- package/ui/inline/Small.tsx +24 -0
- package/ui/inline/Strong.d.ts +23 -0
- package/ui/inline/Strong.js +18 -0
- package/ui/inline/Strong.tsx +24 -0
- package/ui/inline/Subscript.d.ts +23 -0
- package/ui/inline/Subscript.js +18 -0
- package/ui/inline/Subscript.tsx +24 -0
- package/ui/inline/Superscript.d.ts +23 -0
- package/ui/inline/Superscript.js +18 -0
- package/ui/inline/Superscript.tsx +24 -0
- package/ui/inline/When.d.ts +42 -3
- package/ui/inline/When.js +27 -3
- package/ui/inline/When.tsx +42 -3
- package/ui/layout/CenteredLayout.d.ts +12 -1
- package/ui/layout/CenteredLayout.js +7 -1
- package/ui/layout/CenteredLayout.tsx +12 -1
- package/ui/layout/Layout.d.ts +12 -3
- package/ui/layout/Layout.js +12 -3
- package/ui/layout/Layout.ts +12 -3
- package/ui/layout/SidebarLayout.d.ts +12 -0
- package/ui/layout/SidebarLayout.js +7 -0
- package/ui/layout/SidebarLayout.tsx +12 -0
- package/ui/menu/Menu.d.ts +22 -0
- package/ui/menu/Menu.js +12 -0
- package/ui/menu/Menu.tsx +22 -0
- package/ui/misc/Catcher.d.ts +77 -5
- package/ui/misc/Catcher.js +47 -5
- package/ui/misc/Catcher.tsx +77 -5
- package/ui/misc/Loading.d.ts +20 -0
- package/ui/misc/Loading.js +15 -0
- package/ui/misc/Loading.tsx +20 -0
- package/ui/misc/Mapper.d.ts +13 -1
- package/ui/misc/Mapper.js +4 -0
- package/ui/misc/Mapper.tsx +13 -1
- package/ui/misc/Markup.d.ts +9 -1
- package/ui/misc/Markup.js +4 -0
- package/ui/misc/Markup.tsx +9 -1
- package/ui/misc/MetaContext.d.ts +24 -7
- package/ui/misc/MetaContext.js +19 -6
- package/ui/misc/MetaContext.tsx +24 -7
- package/ui/misc/StatusIcon.d.ts +16 -1
- package/ui/misc/StatusIcon.js +11 -1
- package/ui/misc/StatusIcon.tsx +16 -1
- package/ui/misc/Tag.d.ts +21 -0
- package/ui/misc/Tag.js +11 -0
- package/ui/misc/Tag.tsx +21 -0
- package/ui/notice/Message.d.ts +27 -1
- package/ui/notice/Message.js +22 -1
- package/ui/notice/Message.tsx +27 -1
- package/ui/notice/Notice.d.ts +24 -0
- package/ui/notice/Notice.js +19 -0
- package/ui/notice/Notice.tsx +24 -0
- package/ui/notice/NoticeStore.d.ts +30 -2
- package/ui/notice/NoticeStore.js +30 -2
- package/ui/notice/NoticeStore.ts +30 -2
- package/ui/notice/Notices.d.ts +11 -1
- package/ui/notice/Notices.js +6 -1
- package/ui/notice/Notices.tsx +11 -1
- package/ui/notice/NoticesStore.d.ts +23 -3
- package/ui/notice/NoticesStore.js +23 -3
- package/ui/notice/NoticesStore.ts +23 -3
- package/ui/page/HTML.d.ts +13 -2
- package/ui/page/HTML.js +8 -2
- package/ui/page/HTML.tsx +13 -2
- package/ui/page/Head.d.ts +5 -1
- package/ui/page/Head.js +5 -1
- package/ui/page/Head.tsx +5 -1
- package/ui/page/Page.d.ts +12 -1
- package/ui/page/Page.js +7 -1
- package/ui/page/Page.tsx +12 -1
- package/ui/router/Navigation.d.ts +11 -0
- package/ui/router/Navigation.js +6 -0
- package/ui/router/Navigation.tsx +11 -0
- package/ui/router/NavigationContext.d.ts +14 -2
- package/ui/router/NavigationContext.js +14 -2
- package/ui/router/NavigationContext.tsx +14 -2
- package/ui/router/NavigationStore.d.ts +29 -1
- package/ui/router/NavigationStore.js +29 -1
- package/ui/router/NavigationStore.tsx +29 -1
- package/ui/router/Router.d.ts +12 -1
- package/ui/router/Router.js +7 -1
- package/ui/router/Router.tsx +12 -1
- package/ui/router/Routes.d.ts +14 -4
- package/ui/router/Routes.tsx +14 -4
- package/ui/style/Color.d.ts +15 -2
- package/ui/style/Color.js +5 -0
- package/ui/style/Color.tsx +15 -2
- package/ui/style/Flex.d.ts +41 -4
- package/ui/style/Flex.js +26 -3
- package/ui/style/Flex.tsx +41 -4
- package/ui/style/Gap.d.ts +18 -3
- package/ui/style/Gap.js +8 -1
- package/ui/style/Gap.tsx +18 -3
- package/ui/style/Padding.d.ts +18 -3
- package/ui/style/Padding.js +8 -1
- package/ui/style/Padding.tsx +18 -3
- package/ui/style/Scroll.d.ts +36 -1
- package/ui/style/Scroll.js +26 -1
- package/ui/style/Scroll.tsx +37 -1
- package/ui/style/Space.d.ts +18 -3
- package/ui/style/Space.js +8 -1
- package/ui/style/Space.tsx +18 -3
- package/ui/style/Status.d.ts +23 -7
- package/ui/style/Status.js +13 -5
- package/ui/style/Status.tsx +23 -7
- package/ui/style/Tint.d.ts +7 -1
- package/ui/style/Tint.js +7 -1
- package/ui/style/Tint.tsx +7 -1
- package/ui/style/Typography.d.ts +38 -6
- package/ui/style/Typography.js +8 -0
- package/ui/style/Typography.tsx +38 -6
- package/ui/style/Width.d.ts +18 -1
- package/ui/style/Width.js +8 -0
- package/ui/style/Width.tsx +18 -1
- package/ui/transition/CollapseTransition.d.ts +13 -0
- package/ui/transition/CollapseTransition.js +8 -0
- package/ui/transition/CollapseTransition.tsx +13 -0
- package/ui/transition/FadeTransition.d.ts +13 -0
- package/ui/transition/FadeTransition.js +8 -0
- package/ui/transition/FadeTransition.tsx +13 -0
- package/ui/transition/HorizontalTransition.d.ts +13 -0
- package/ui/transition/HorizontalTransition.js +8 -0
- package/ui/transition/HorizontalTransition.tsx +13 -0
- package/ui/transition/Transition.d.ts +12 -4
- package/ui/transition/Transition.js +7 -3
- package/ui/transition/Transition.tsx +12 -4
- package/ui/transition/VerticalTransition.d.ts +13 -0
- package/ui/transition/VerticalTransition.js +8 -0
- package/ui/transition/VerticalTransition.tsx +13 -0
- package/ui/transition/util.d.ts +16 -6
- package/ui/transition/util.js +7 -1
- package/ui/transition/util.tsx +16 -6
- package/ui/tree/TreeApp.d.ts +11 -0
- package/ui/tree/TreeApp.js +6 -0
- package/ui/tree/TreeApp.tsx +11 -0
- package/ui/tree/TreeBreadcrumbs.d.ts +11 -0
- package/ui/tree/TreeBreadcrumbs.js +6 -0
- package/ui/tree/TreeBreadcrumbs.tsx +11 -0
- package/ui/tree/TreeButton.d.ts +9 -1
- package/ui/tree/TreeButton.js +4 -0
- package/ui/tree/TreeButton.tsx +9 -1
- package/ui/tree/TreeCard.d.ts +8 -1
- package/ui/tree/TreeCard.js +8 -1
- package/ui/tree/TreeCard.tsx +8 -1
- package/ui/tree/TreeCards.d.ts +16 -1
- package/ui/tree/TreeCards.js +11 -1
- package/ui/tree/TreeCards.tsx +16 -1
- package/ui/tree/TreeContext.d.ts +18 -1
- package/ui/tree/TreeContext.js +18 -1
- package/ui/tree/TreeContext.tsx +18 -1
- package/ui/tree/TreeMenu.d.ts +28 -1
- package/ui/tree/TreeMenu.js +23 -1
- package/ui/tree/TreeMenu.tsx +28 -1
- package/ui/tree/TreePage.d.ts +6 -0
- package/ui/tree/TreePage.js +6 -0
- package/ui/tree/TreePage.tsx +6 -0
- package/ui/tree/TreeRouter.d.ts +17 -2
- package/ui/tree/TreeRouter.js +12 -2
- package/ui/tree/TreeRouter.tsx +17 -2
- package/ui/tree/TreeSidebar.d.ts +11 -0
- package/ui/tree/TreeSidebar.js +6 -0
- package/ui/tree/TreeSidebar.tsx +11 -0
- package/ui/util/context.d.ts +13 -1
- package/ui/util/context.ts +13 -1
- package/ui/util/css.d.ts +17 -4
- package/ui/util/css.js +5 -1
- package/ui/util/css.ts +17 -4
- package/ui/util/event.d.ts +9 -1
- package/ui/util/event.js +9 -1
- package/ui/util/event.ts +9 -1
- package/ui/util/focus.d.ts +24 -5
- package/ui/util/focus.js +24 -5
- package/ui/util/focus.ts +24 -5
- package/ui/util/meta.d.ts +113 -21
- package/ui/util/meta.js +73 -13
- package/ui/util/meta.ts +113 -21
- package/ui/util/notice.d.ts +98 -10
- package/ui/util/notice.js +93 -9
- package/ui/util/notice.ts +98 -10
- package/ui/util/props.d.ts +10 -2
- package/ui/util/props.ts +10 -2
- package/ui/util/refresh.d.ts +10 -1
- package/ui/util/refresh.js +10 -1
- package/ui/util/refresh.ts +10 -1
- package/ui/util/scroll.d.ts +20 -4
- package/ui/util/scroll.js +20 -4
- package/ui/util/scroll.ts +20 -4
- package/ui/util/state.d.ts +19 -5
- package/ui/util/state.js +19 -5
- package/ui/util/state.ts +19 -5
- package/util/ansi.d.ts +118 -0
- package/util/ansi.js +116 -0
- package/util/array.d.ts +349 -33
- package/util/array.js +284 -27
- package/util/async.d.ts +87 -9
- package/util/async.js +80 -8
- package/util/base64.d.ts +56 -6
- package/util/base64.js +56 -6
- package/util/boolean.d.ts +75 -10
- package/util/boolean.js +75 -10
- package/util/buffer.d.ts +26 -3
- package/util/buffer.js +21 -3
- package/util/bytes.d.ts +42 -4
- package/util/bytes.js +32 -2
- package/util/class.d.ts +59 -8
- package/util/class.js +44 -5
- package/util/color.d.ts +131 -13
- package/util/color.js +126 -12
- package/util/constants.d.ts +132 -19
- package/util/constants.js +132 -19
- package/util/crypto.d.ts +17 -1
- package/util/crypto.js +17 -1
- package/util/currency.d.ts +38 -4
- package/util/currency.js +33 -3
- package/util/data.d.ts +139 -24
- package/util/data.js +39 -5
- package/util/date.d.ts +152 -18
- package/util/date.js +147 -17
- package/util/debug.d.ts +112 -11
- package/util/debug.js +114 -11
- package/util/dictionary.d.ts +205 -24
- package/util/dictionary.js +162 -17
- package/util/diff.d.ts +22 -3
- package/util/diff.js +11 -1
- package/util/dispose.d.ts +74 -2
- package/util/dispose.js +74 -2
- package/util/duration.d.ts +278 -16
- package/util/duration.js +267 -15
- package/util/element.d.ts +59 -6
- package/util/element.js +32 -3
- package/util/entity.d.ts +39 -6
- package/util/entity.js +5 -1
- package/util/entry.d.ts +56 -9
- package/util/entry.js +32 -4
- package/util/env.d.ts +26 -4
- package/util/env.js +26 -4
- package/util/equal.d.ts +181 -17
- package/util/equal.js +181 -17
- package/util/error.d.ts +57 -5
- package/util/error.js +52 -4
- package/util/file.d.ts +30 -7
- package/util/file.js +25 -6
- package/util/filter.d.ts +36 -4
- package/util/filter.js +31 -3
- package/util/focus.d.ts +9 -1
- package/util/focus.js +9 -1
- package/util/format.d.ts +186 -22
- package/util/format.js +135 -14
- package/util/function.d.ts +66 -11
- package/util/function.js +31 -4
- package/util/geo.d.ts +60 -8
- package/util/geo.js +45 -5
- package/util/hash.d.ts +21 -2
- package/util/hash.js +21 -2
- package/util/http.d.ts +134 -19
- package/util/http.js +94 -11
- package/util/hydrate.d.ts +19 -2
- package/util/hydrate.js +12 -1
- package/util/item.d.ts +70 -11
- package/util/item.js +35 -4
- package/util/iterate.d.ts +109 -13
- package/util/iterate.js +86 -10
- package/util/jwt.d.ts +47 -13
- package/util/jwt.js +36 -12
- package/util/lazy.d.ts +9 -6
- package/util/link.d.ts +10 -3
- package/util/link.js +5 -2
- package/util/log.d.ts +26 -3
- package/util/log.js +26 -3
- package/util/map.d.ts +144 -19
- package/util/map.js +101 -11
- package/util/merge.d.ts +23 -1
- package/util/merge.js +6 -0
- package/util/null.d.ts +102 -13
- package/util/null.js +92 -11
- package/util/number.d.ts +125 -8
- package/util/number.js +120 -7
- package/util/object.d.ts +263 -31
- package/util/object.js +154 -17
- package/util/path.d.ts +91 -15
- package/util/path.js +60 -9
- package/util/query.d.ts +78 -9
- package/util/query.js +58 -6
- package/util/random.d.ts +67 -4
- package/util/random.js +67 -4
- package/util/regexp.d.ts +201 -24
- package/util/regexp.js +106 -11
- package/util/sequence.d.ts +66 -8
- package/util/sequence.js +52 -7
- package/util/serialise.d.ts +7 -1
- package/util/serialise.js +7 -1
- package/util/set.d.ts +103 -13
- package/util/set.js +83 -9
- package/util/sort.d.ts +32 -7
- package/util/sort.js +26 -6
- package/util/source.d.ts +28 -3
- package/util/source.js +22 -2
- package/util/start.d.ts +62 -5
- package/util/start.js +47 -2
- package/util/string.d.ts +209 -25
- package/util/string.js +188 -21
- package/util/template.d.ts +58 -9
- package/util/template.js +45 -6
- package/util/timeout.d.ts +35 -11
- package/util/timeout.js +35 -11
- package/util/transform.d.ts +87 -8
- package/util/transform.js +75 -7
- package/util/tree.d.ts +39 -6
- package/util/tree.js +3 -0
- package/util/types.d.ts +8 -2
- package/util/undefined.d.ts +47 -6
- package/util/undefined.js +47 -6
- package/util/units.d.ts +107 -12
- package/util/units.js +97 -12
- package/util/update.d.ts +36 -4
- package/util/update.js +24 -2
- package/util/uri.d.ts +138 -6
- package/util/uri.js +44 -3
- package/util/url.d.ts +152 -7
- package/util/url.js +136 -5
- package/util/uuid.d.ts +28 -3
- package/util/uuid.js +28 -3
- package/util/validate.d.ts +85 -20
- package/util/validate.js +61 -12
- package/util/xml.d.ts +9 -10
- package/util/xml.js +9 -10
package/ui/block/Section.d.ts
CHANGED
|
@@ -4,21 +4,84 @@ import { type SpaceVariants } from "../style/Space.js";
|
|
|
4
4
|
import { type TypographyVariants } from "../style/Typography.js";
|
|
5
5
|
import { type WidthVariants } from "../style/Width.js";
|
|
6
6
|
import type { OptionalChildProps } from "../util/props.js";
|
|
7
|
+
/**
|
|
8
|
+
* CSS class applied to the root element of every `Section` and its semantic siblings.
|
|
9
|
+
*
|
|
10
|
+
* @see https://dhoulb.github.io/shelving/ui/block/Section/SECTION_CLASS
|
|
11
|
+
*/
|
|
7
12
|
export declare const SECTION_CLASS: string | undefined;
|
|
13
|
+
/**
|
|
14
|
+
* CSS class that styles a `Section` when it appears inside `Prose` longform content.
|
|
15
|
+
*
|
|
16
|
+
* @see https://dhoulb.github.io/shelving/ui/block/Section/SECTION_PROSE_CLASS
|
|
17
|
+
*/
|
|
8
18
|
export declare const SECTION_PROSE_CLASS: string | undefined;
|
|
19
|
+
/**
|
|
20
|
+
* Semantic element names a `Section` may render as via its `as` prop.
|
|
21
|
+
*
|
|
22
|
+
* @see https://dhoulb.github.io/shelving/ui/block/Section/SectionElement
|
|
23
|
+
*/
|
|
9
24
|
export type SectionElement = "section" | "header" | "footer" | "nav" | "aside" | "figure";
|
|
25
|
+
/**
|
|
26
|
+
* Props for `Section` and its semantic siblings — colour, space, typography, and width variants plus an optional `as` element override.
|
|
27
|
+
*
|
|
28
|
+
* @see https://dhoulb.github.io/shelving/ui/block/Section/SectionProps
|
|
29
|
+
*/
|
|
10
30
|
export interface SectionProps extends ColorVariants, SpaceVariants, TypographyVariants, WidthVariants, OptionalChildProps {
|
|
11
31
|
as?: SectionElement | undefined;
|
|
12
32
|
}
|
|
13
|
-
/**
|
|
33
|
+
/**
|
|
34
|
+
* `<section>` block with block-level spacing.
|
|
35
|
+
* - Pass `as` to render a different semantic element.
|
|
36
|
+
*
|
|
37
|
+
* @param props Colour, space, typography, and width variants plus optional `as` override and `children`.
|
|
38
|
+
* @returns Rendered `<section>` element.
|
|
39
|
+
* @example <Section><Heading>About</Heading></Section>
|
|
40
|
+
* @see https://dhoulb.github.io/shelving/ui/block/Section/Section
|
|
41
|
+
*/
|
|
14
42
|
export declare function Section(props: SectionProps): ReactElement;
|
|
15
|
-
/**
|
|
43
|
+
/**
|
|
44
|
+
* `<header>` block with block-level spacing.
|
|
45
|
+
*
|
|
46
|
+
* @param props Colour, space, typography, and width variants plus optional `as` override and `children`.
|
|
47
|
+
* @returns Rendered `<header>` element.
|
|
48
|
+
* @example <Header><Title>Welcome</Title></Header>
|
|
49
|
+
* @see https://dhoulb.github.io/shelving/ui/block/Section/Header
|
|
50
|
+
*/
|
|
16
51
|
export declare function Header(props: SectionProps): ReactElement;
|
|
17
|
-
/**
|
|
52
|
+
/**
|
|
53
|
+
* `<footer>` block with block-level spacing.
|
|
54
|
+
*
|
|
55
|
+
* @param props Colour, space, typography, and width variants plus optional `as` override and `children`.
|
|
56
|
+
* @returns Rendered `<footer>` element.
|
|
57
|
+
* @example <Footer><Small>© 2026</Small></Footer>
|
|
58
|
+
* @see https://dhoulb.github.io/shelving/ui/block/Section/Footer
|
|
59
|
+
*/
|
|
18
60
|
export declare function Footer(props: SectionProps): ReactElement;
|
|
19
|
-
/**
|
|
61
|
+
/**
|
|
62
|
+
* `<nav>` block with block-level spacing.
|
|
63
|
+
*
|
|
64
|
+
* @param props Colour, space, typography, and width variants plus optional `as` override and `children`.
|
|
65
|
+
* @returns Rendered `<nav>` element.
|
|
66
|
+
* @example <Nav><Link href="/">Home</Link></Nav>
|
|
67
|
+
* @see https://dhoulb.github.io/shelving/ui/block/Section/Nav
|
|
68
|
+
*/
|
|
20
69
|
export declare function Nav(props: SectionProps): ReactElement;
|
|
21
|
-
/**
|
|
70
|
+
/**
|
|
71
|
+
* `<aside>` block with block-level spacing.
|
|
72
|
+
*
|
|
73
|
+
* @param props Colour, space, typography, and width variants plus optional `as` override and `children`.
|
|
74
|
+
* @returns Rendered `<aside>` element.
|
|
75
|
+
* @example <Aside narrow><Paragraph>Sidebar</Paragraph></Aside>
|
|
76
|
+
* @see https://dhoulb.github.io/shelving/ui/block/Section/Aside
|
|
77
|
+
*/
|
|
22
78
|
export declare function Aside(props: SectionProps): ReactElement;
|
|
23
|
-
/**
|
|
79
|
+
/**
|
|
80
|
+
* `<figure>` block with block-level spacing. Pair with `<Caption>` for `<figcaption>` content.
|
|
81
|
+
*
|
|
82
|
+
* @param props Colour, space, typography, and width variants plus optional `as` override and `children`.
|
|
83
|
+
* @returns Rendered `<figure>` element.
|
|
84
|
+
* @example <Figure><Image src="/cat.jpg" /><Caption>A cat</Caption></Figure>
|
|
85
|
+
* @see https://dhoulb.github.io/shelving/ui/block/Section/Figure
|
|
86
|
+
*/
|
|
24
87
|
export declare function Figure(props: SectionProps): ReactElement;
|
package/ui/block/Section.js
CHANGED
|
@@ -5,32 +5,85 @@ import { getTypographyClass } from "../style/Typography.js";
|
|
|
5
5
|
import { getWidthClass } from "../style/Width.js";
|
|
6
6
|
import { getClass, getModuleClass } from "../util/css.js";
|
|
7
7
|
import SECTION_CSS from "./Section.module.css";
|
|
8
|
+
/**
|
|
9
|
+
* CSS class applied to the root element of every `Section` and its semantic siblings.
|
|
10
|
+
*
|
|
11
|
+
* @see https://dhoulb.github.io/shelving/ui/block/Section/SECTION_CLASS
|
|
12
|
+
*/
|
|
8
13
|
export const SECTION_CLASS = getModuleClass(SECTION_CSS, "section");
|
|
14
|
+
/**
|
|
15
|
+
* CSS class that styles a `Section` when it appears inside `Prose` longform content.
|
|
16
|
+
*
|
|
17
|
+
* @see https://dhoulb.github.io/shelving/ui/block/Section/SECTION_PROSE_CLASS
|
|
18
|
+
*/
|
|
9
19
|
export const SECTION_PROSE_CLASS = getModuleClass(SECTION_CSS, "prose");
|
|
10
20
|
function renderSection(defaultComponent, { as: Component = defaultComponent, children, ...variants }) {
|
|
11
21
|
return (_jsx(Component, { className: getClass(SECTION_CLASS, getColorClass(variants), getSpaceClass(variants), getTypographyClass(variants), getWidthClass(variants)), children: children }));
|
|
12
22
|
}
|
|
13
|
-
/**
|
|
23
|
+
/**
|
|
24
|
+
* `<section>` block with block-level spacing.
|
|
25
|
+
* - Pass `as` to render a different semantic element.
|
|
26
|
+
*
|
|
27
|
+
* @param props Colour, space, typography, and width variants plus optional `as` override and `children`.
|
|
28
|
+
* @returns Rendered `<section>` element.
|
|
29
|
+
* @example <Section><Heading>About</Heading></Section>
|
|
30
|
+
* @see https://dhoulb.github.io/shelving/ui/block/Section/Section
|
|
31
|
+
*/
|
|
14
32
|
export function Section(props) {
|
|
15
33
|
return renderSection("section", props);
|
|
16
34
|
}
|
|
17
|
-
/**
|
|
35
|
+
/**
|
|
36
|
+
* `<header>` block with block-level spacing.
|
|
37
|
+
*
|
|
38
|
+
* @param props Colour, space, typography, and width variants plus optional `as` override and `children`.
|
|
39
|
+
* @returns Rendered `<header>` element.
|
|
40
|
+
* @example <Header><Title>Welcome</Title></Header>
|
|
41
|
+
* @see https://dhoulb.github.io/shelving/ui/block/Section/Header
|
|
42
|
+
*/
|
|
18
43
|
export function Header(props) {
|
|
19
44
|
return renderSection("header", props);
|
|
20
45
|
}
|
|
21
|
-
/**
|
|
46
|
+
/**
|
|
47
|
+
* `<footer>` block with block-level spacing.
|
|
48
|
+
*
|
|
49
|
+
* @param props Colour, space, typography, and width variants plus optional `as` override and `children`.
|
|
50
|
+
* @returns Rendered `<footer>` element.
|
|
51
|
+
* @example <Footer><Small>© 2026</Small></Footer>
|
|
52
|
+
* @see https://dhoulb.github.io/shelving/ui/block/Section/Footer
|
|
53
|
+
*/
|
|
22
54
|
export function Footer(props) {
|
|
23
55
|
return renderSection("footer", props);
|
|
24
56
|
}
|
|
25
|
-
/**
|
|
57
|
+
/**
|
|
58
|
+
* `<nav>` block with block-level spacing.
|
|
59
|
+
*
|
|
60
|
+
* @param props Colour, space, typography, and width variants plus optional `as` override and `children`.
|
|
61
|
+
* @returns Rendered `<nav>` element.
|
|
62
|
+
* @example <Nav><Link href="/">Home</Link></Nav>
|
|
63
|
+
* @see https://dhoulb.github.io/shelving/ui/block/Section/Nav
|
|
64
|
+
*/
|
|
26
65
|
export function Nav(props) {
|
|
27
66
|
return renderSection("nav", props);
|
|
28
67
|
}
|
|
29
|
-
/**
|
|
68
|
+
/**
|
|
69
|
+
* `<aside>` block with block-level spacing.
|
|
70
|
+
*
|
|
71
|
+
* @param props Colour, space, typography, and width variants plus optional `as` override and `children`.
|
|
72
|
+
* @returns Rendered `<aside>` element.
|
|
73
|
+
* @example <Aside narrow><Paragraph>Sidebar</Paragraph></Aside>
|
|
74
|
+
* @see https://dhoulb.github.io/shelving/ui/block/Section/Aside
|
|
75
|
+
*/
|
|
30
76
|
export function Aside(props) {
|
|
31
77
|
return renderSection("aside", props);
|
|
32
78
|
}
|
|
33
|
-
/**
|
|
79
|
+
/**
|
|
80
|
+
* `<figure>` block with block-level spacing. Pair with `<Caption>` for `<figcaption>` content.
|
|
81
|
+
*
|
|
82
|
+
* @param props Colour, space, typography, and width variants plus optional `as` override and `children`.
|
|
83
|
+
* @returns Rendered `<figure>` element.
|
|
84
|
+
* @example <Figure><Image src="/cat.jpg" /><Caption>A cat</Caption></Figure>
|
|
85
|
+
* @see https://dhoulb.github.io/shelving/ui/block/Section/Figure
|
|
86
|
+
*/
|
|
34
87
|
export function Figure(props) {
|
|
35
88
|
return renderSection("figure", props);
|
|
36
89
|
}
|
package/ui/block/Section.tsx
CHANGED
|
@@ -7,11 +7,32 @@ import { getClass, getModuleClass } from "../util/css.js";
|
|
|
7
7
|
import type { OptionalChildProps } from "../util/props.js";
|
|
8
8
|
import SECTION_CSS from "./Section.module.css";
|
|
9
9
|
|
|
10
|
+
/**
|
|
11
|
+
* CSS class applied to the root element of every `Section` and its semantic siblings.
|
|
12
|
+
*
|
|
13
|
+
* @see https://dhoulb.github.io/shelving/ui/block/Section/SECTION_CLASS
|
|
14
|
+
*/
|
|
10
15
|
export const SECTION_CLASS = getModuleClass(SECTION_CSS, "section");
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* CSS class that styles a `Section` when it appears inside `Prose` longform content.
|
|
19
|
+
*
|
|
20
|
+
* @see https://dhoulb.github.io/shelving/ui/block/Section/SECTION_PROSE_CLASS
|
|
21
|
+
*/
|
|
11
22
|
export const SECTION_PROSE_CLASS = getModuleClass(SECTION_CSS, "prose");
|
|
12
23
|
|
|
24
|
+
/**
|
|
25
|
+
* Semantic element names a `Section` may render as via its `as` prop.
|
|
26
|
+
*
|
|
27
|
+
* @see https://dhoulb.github.io/shelving/ui/block/Section/SectionElement
|
|
28
|
+
*/
|
|
13
29
|
export type SectionElement = "section" | "header" | "footer" | "nav" | "aside" | "figure";
|
|
14
30
|
|
|
31
|
+
/**
|
|
32
|
+
* Props for `Section` and its semantic siblings — colour, space, typography, and width variants plus an optional `as` element override.
|
|
33
|
+
*
|
|
34
|
+
* @see https://dhoulb.github.io/shelving/ui/block/Section/SectionProps
|
|
35
|
+
*/
|
|
15
36
|
export interface SectionProps extends ColorVariants, SpaceVariants, TypographyVariants, WidthVariants, OptionalChildProps {
|
|
16
37
|
as?: SectionElement | undefined;
|
|
17
38
|
}
|
|
@@ -35,32 +56,75 @@ function renderSection(
|
|
|
35
56
|
);
|
|
36
57
|
}
|
|
37
58
|
|
|
38
|
-
/**
|
|
59
|
+
/**
|
|
60
|
+
* `<section>` block with block-level spacing.
|
|
61
|
+
* - Pass `as` to render a different semantic element.
|
|
62
|
+
*
|
|
63
|
+
* @param props Colour, space, typography, and width variants plus optional `as` override and `children`.
|
|
64
|
+
* @returns Rendered `<section>` element.
|
|
65
|
+
* @example <Section><Heading>About</Heading></Section>
|
|
66
|
+
* @see https://dhoulb.github.io/shelving/ui/block/Section/Section
|
|
67
|
+
*/
|
|
39
68
|
export function Section(props: SectionProps): ReactElement {
|
|
40
69
|
return renderSection("section", props);
|
|
41
70
|
}
|
|
42
71
|
|
|
43
|
-
/**
|
|
72
|
+
/**
|
|
73
|
+
* `<header>` block with block-level spacing.
|
|
74
|
+
*
|
|
75
|
+
* @param props Colour, space, typography, and width variants plus optional `as` override and `children`.
|
|
76
|
+
* @returns Rendered `<header>` element.
|
|
77
|
+
* @example <Header><Title>Welcome</Title></Header>
|
|
78
|
+
* @see https://dhoulb.github.io/shelving/ui/block/Section/Header
|
|
79
|
+
*/
|
|
44
80
|
export function Header(props: SectionProps): ReactElement {
|
|
45
81
|
return renderSection("header", props);
|
|
46
82
|
}
|
|
47
83
|
|
|
48
|
-
/**
|
|
84
|
+
/**
|
|
85
|
+
* `<footer>` block with block-level spacing.
|
|
86
|
+
*
|
|
87
|
+
* @param props Colour, space, typography, and width variants plus optional `as` override and `children`.
|
|
88
|
+
* @returns Rendered `<footer>` element.
|
|
89
|
+
* @example <Footer><Small>© 2026</Small></Footer>
|
|
90
|
+
* @see https://dhoulb.github.io/shelving/ui/block/Section/Footer
|
|
91
|
+
*/
|
|
49
92
|
export function Footer(props: SectionProps): ReactElement {
|
|
50
93
|
return renderSection("footer", props);
|
|
51
94
|
}
|
|
52
95
|
|
|
53
|
-
/**
|
|
96
|
+
/**
|
|
97
|
+
* `<nav>` block with block-level spacing.
|
|
98
|
+
*
|
|
99
|
+
* @param props Colour, space, typography, and width variants plus optional `as` override and `children`.
|
|
100
|
+
* @returns Rendered `<nav>` element.
|
|
101
|
+
* @example <Nav><Link href="/">Home</Link></Nav>
|
|
102
|
+
* @see https://dhoulb.github.io/shelving/ui/block/Section/Nav
|
|
103
|
+
*/
|
|
54
104
|
export function Nav(props: SectionProps): ReactElement {
|
|
55
105
|
return renderSection("nav", props);
|
|
56
106
|
}
|
|
57
107
|
|
|
58
|
-
/**
|
|
108
|
+
/**
|
|
109
|
+
* `<aside>` block with block-level spacing.
|
|
110
|
+
*
|
|
111
|
+
* @param props Colour, space, typography, and width variants plus optional `as` override and `children`.
|
|
112
|
+
* @returns Rendered `<aside>` element.
|
|
113
|
+
* @example <Aside narrow><Paragraph>Sidebar</Paragraph></Aside>
|
|
114
|
+
* @see https://dhoulb.github.io/shelving/ui/block/Section/Aside
|
|
115
|
+
*/
|
|
59
116
|
export function Aside(props: SectionProps): ReactElement {
|
|
60
117
|
return renderSection("aside", props);
|
|
61
118
|
}
|
|
62
119
|
|
|
63
|
-
/**
|
|
120
|
+
/**
|
|
121
|
+
* `<figure>` block with block-level spacing. Pair with `<Caption>` for `<figcaption>` content.
|
|
122
|
+
*
|
|
123
|
+
* @param props Colour, space, typography, and width variants plus optional `as` override and `children`.
|
|
124
|
+
* @returns Rendered `<figure>` element.
|
|
125
|
+
* @example <Figure><Image src="/cat.jpg" /><Caption>A cat</Caption></Figure>
|
|
126
|
+
* @see https://dhoulb.github.io/shelving/ui/block/Section/Figure
|
|
127
|
+
*/
|
|
64
128
|
export function Figure(props: SectionProps): ReactElement {
|
|
65
129
|
return renderSection("figure", props);
|
|
66
130
|
}
|
package/ui/block/Subheading.d.ts
CHANGED
|
@@ -1,11 +1,30 @@
|
|
|
1
1
|
import type { ReactElement } from "react";
|
|
2
2
|
import type { HeadingProps } from "./Heading.js";
|
|
3
|
+
/**
|
|
4
|
+
* CSS class applied to the root element of every `Subheading`.
|
|
5
|
+
*
|
|
6
|
+
* @see https://dhoulb.github.io/shelving/ui/block/Subheading/SUBHEADING_CLASS
|
|
7
|
+
*/
|
|
3
8
|
export declare const SUBHEADING_CLASS: string | undefined;
|
|
9
|
+
/**
|
|
10
|
+
* CSS class that styles a `Subheading` when it appears inside `Prose` longform content.
|
|
11
|
+
*
|
|
12
|
+
* @see https://dhoulb.github.io/shelving/ui/block/Subheading/SUBHEADING_PROSE_CLASS
|
|
13
|
+
*/
|
|
4
14
|
export declare const SUBHEADING_PROSE_CLASS: string | undefined;
|
|
5
|
-
/**
|
|
15
|
+
/**
|
|
16
|
+
* Props for `Subheading` — identical to `HeadingProps`.
|
|
17
|
+
*
|
|
18
|
+
* @see https://dhoulb.github.io/shelving/ui/block/Subheading/SubheadingProps
|
|
19
|
+
*/
|
|
6
20
|
export type SubheadingProps = HeadingProps;
|
|
7
21
|
/**
|
|
8
22
|
* Subsection heading — renders an `<h3>`.
|
|
9
23
|
* - Only marginally larger than body text; its bold weight is the main differentiator.
|
|
24
|
+
*
|
|
25
|
+
* @param props Colour, space, and typography variants plus an optional `level` override and `children`.
|
|
26
|
+
* @returns Rendered `<h3>` heading element.
|
|
27
|
+
* @example <Subheading>Details</Subheading>
|
|
28
|
+
* @see https://dhoulb.github.io/shelving/ui/block/Subheading/Subheading
|
|
10
29
|
*/
|
|
11
30
|
export declare function Subheading({ level, children, ...props }: SubheadingProps): ReactElement;
|
package/ui/block/Subheading.js
CHANGED
|
@@ -4,11 +4,26 @@ import { getSpaceClass } from "../style/Space.js";
|
|
|
4
4
|
import { getTypographyClass } from "../style/Typography.js";
|
|
5
5
|
import { getClass, getModuleClass } from "../util/css.js";
|
|
6
6
|
import SUBHEADING_CSS from "./Subheading.module.css";
|
|
7
|
+
/**
|
|
8
|
+
* CSS class applied to the root element of every `Subheading`.
|
|
9
|
+
*
|
|
10
|
+
* @see https://dhoulb.github.io/shelving/ui/block/Subheading/SUBHEADING_CLASS
|
|
11
|
+
*/
|
|
7
12
|
export const SUBHEADING_CLASS = getModuleClass(SUBHEADING_CSS, "subheading");
|
|
13
|
+
/**
|
|
14
|
+
* CSS class that styles a `Subheading` when it appears inside `Prose` longform content.
|
|
15
|
+
*
|
|
16
|
+
* @see https://dhoulb.github.io/shelving/ui/block/Subheading/SUBHEADING_PROSE_CLASS
|
|
17
|
+
*/
|
|
8
18
|
export const SUBHEADING_PROSE_CLASS = getModuleClass(SUBHEADING_CSS, "prose");
|
|
9
19
|
/**
|
|
10
20
|
* Subsection heading — renders an `<h3>`.
|
|
11
21
|
* - Only marginally larger than body text; its bold weight is the main differentiator.
|
|
22
|
+
*
|
|
23
|
+
* @param props Colour, space, and typography variants plus an optional `level` override and `children`.
|
|
24
|
+
* @returns Rendered `<h3>` heading element.
|
|
25
|
+
* @example <Subheading>Details</Subheading>
|
|
26
|
+
* @see https://dhoulb.github.io/shelving/ui/block/Subheading/Subheading
|
|
12
27
|
*/
|
|
13
28
|
export function Subheading({ level = "3", children, ...props }) {
|
|
14
29
|
const Element = `h${level}`;
|
package/ui/block/Subheading.tsx
CHANGED
|
@@ -6,15 +6,35 @@ import { getClass, getModuleClass } from "../util/css.js";
|
|
|
6
6
|
import type { HeadingProps } from "./Heading.js";
|
|
7
7
|
import SUBHEADING_CSS from "./Subheading.module.css";
|
|
8
8
|
|
|
9
|
+
/**
|
|
10
|
+
* CSS class applied to the root element of every `Subheading`.
|
|
11
|
+
*
|
|
12
|
+
* @see https://dhoulb.github.io/shelving/ui/block/Subheading/SUBHEADING_CLASS
|
|
13
|
+
*/
|
|
9
14
|
export const SUBHEADING_CLASS = getModuleClass(SUBHEADING_CSS, "subheading");
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* CSS class that styles a `Subheading` when it appears inside `Prose` longform content.
|
|
18
|
+
*
|
|
19
|
+
* @see https://dhoulb.github.io/shelving/ui/block/Subheading/SUBHEADING_PROSE_CLASS
|
|
20
|
+
*/
|
|
10
21
|
export const SUBHEADING_PROSE_CLASS = getModuleClass(SUBHEADING_CSS, "prose");
|
|
11
22
|
|
|
12
|
-
/**
|
|
23
|
+
/**
|
|
24
|
+
* Props for `Subheading` — identical to `HeadingProps`.
|
|
25
|
+
*
|
|
26
|
+
* @see https://dhoulb.github.io/shelving/ui/block/Subheading/SubheadingProps
|
|
27
|
+
*/
|
|
13
28
|
export type SubheadingProps = HeadingProps;
|
|
14
29
|
|
|
15
30
|
/**
|
|
16
31
|
* Subsection heading — renders an `<h3>`.
|
|
17
32
|
* - Only marginally larger than body text; its bold weight is the main differentiator.
|
|
33
|
+
*
|
|
34
|
+
* @param props Colour, space, and typography variants plus an optional `level` override and `children`.
|
|
35
|
+
* @returns Rendered `<h3>` heading element.
|
|
36
|
+
* @example <Subheading>Details</Subheading>
|
|
37
|
+
* @see https://dhoulb.github.io/shelving/ui/block/Subheading/Subheading
|
|
18
38
|
*/
|
|
19
39
|
export function Subheading({ level = "3", children, ...props }: SubheadingProps): ReactElement {
|
|
20
40
|
const Element: `h${typeof level}` = `h${level}`;
|
package/ui/block/Table.d.ts
CHANGED
|
@@ -3,13 +3,33 @@ import { type ColorVariants } from "../style/Color.js";
|
|
|
3
3
|
import { type SpaceVariants } from "../style/Space.js";
|
|
4
4
|
import { type TypographyVariants } from "../style/Typography.js";
|
|
5
5
|
import type { ChildProps } from "../util/props.js";
|
|
6
|
+
/**
|
|
7
|
+
* CSS class applied to the root element of every `Table`.
|
|
8
|
+
*
|
|
9
|
+
* @see https://dhoulb.github.io/shelving/ui/block/Table/TABLE_CLASS
|
|
10
|
+
*/
|
|
6
11
|
export declare const TABLE_CLASS: string | undefined;
|
|
12
|
+
/**
|
|
13
|
+
* CSS class that styles a `Table` when it appears inside `Prose` longform content.
|
|
14
|
+
*
|
|
15
|
+
* @see https://dhoulb.github.io/shelving/ui/block/Table/TABLE_PROSE_CLASS
|
|
16
|
+
*/
|
|
7
17
|
export declare const TABLE_PROSE_CLASS: string | undefined;
|
|
18
|
+
/**
|
|
19
|
+
* Props for `Table` — colour, space, and typography variants plus `children`.
|
|
20
|
+
*
|
|
21
|
+
* @see https://dhoulb.github.io/shelving/ui/block/Table/TableProps
|
|
22
|
+
*/
|
|
8
23
|
export interface TableProps extends ColorVariants, SpaceVariants, TypographyVariants, ChildProps {
|
|
9
24
|
}
|
|
10
25
|
/**
|
|
11
26
|
* Table block — rendered as `<table>`.
|
|
12
27
|
* - Wrap in a `<Scroll horizontal>` if the table may exceed the container width on small screens.
|
|
13
28
|
* - `<th>` / `<td>` cells draw the borders (the `<table>` element itself has none); override their weight via the `--table-border` / `--table-stroke` hooks.
|
|
29
|
+
*
|
|
30
|
+
* @param props Colour, space, and typography variants plus `children`.
|
|
31
|
+
* @returns Rendered `<table>` element.
|
|
32
|
+
* @example <Table><tbody><tr><td>Cell</td></tr></tbody></Table>
|
|
33
|
+
* @see https://dhoulb.github.io/shelving/ui/block/Table/Table
|
|
14
34
|
*/
|
|
15
35
|
export declare function Table({ children, ...props }: TableProps): ReactElement;
|
package/ui/block/Table.js
CHANGED
|
@@ -4,12 +4,27 @@ import { getSpaceClass } from "../style/Space.js";
|
|
|
4
4
|
import { getTypographyClass } from "../style/Typography.js";
|
|
5
5
|
import { getClass, getModuleClass } from "../util/css.js";
|
|
6
6
|
import TABLE_CSS from "./Table.module.css";
|
|
7
|
+
/**
|
|
8
|
+
* CSS class applied to the root element of every `Table`.
|
|
9
|
+
*
|
|
10
|
+
* @see https://dhoulb.github.io/shelving/ui/block/Table/TABLE_CLASS
|
|
11
|
+
*/
|
|
7
12
|
export const TABLE_CLASS = getModuleClass(TABLE_CSS, "divider");
|
|
13
|
+
/**
|
|
14
|
+
* CSS class that styles a `Table` when it appears inside `Prose` longform content.
|
|
15
|
+
*
|
|
16
|
+
* @see https://dhoulb.github.io/shelving/ui/block/Table/TABLE_PROSE_CLASS
|
|
17
|
+
*/
|
|
8
18
|
export const TABLE_PROSE_CLASS = getModuleClass(TABLE_CSS, "prose");
|
|
9
19
|
/**
|
|
10
20
|
* Table block — rendered as `<table>`.
|
|
11
21
|
* - Wrap in a `<Scroll horizontal>` if the table may exceed the container width on small screens.
|
|
12
22
|
* - `<th>` / `<td>` cells draw the borders (the `<table>` element itself has none); override their weight via the `--table-border` / `--table-stroke` hooks.
|
|
23
|
+
*
|
|
24
|
+
* @param props Colour, space, and typography variants plus `children`.
|
|
25
|
+
* @returns Rendered `<table>` element.
|
|
26
|
+
* @example <Table><tbody><tr><td>Cell</td></tr></tbody></Table>
|
|
27
|
+
* @see https://dhoulb.github.io/shelving/ui/block/Table/Table
|
|
13
28
|
*/
|
|
14
29
|
export function Table({ children, ...props }) {
|
|
15
30
|
return (_jsx("table", { className: getClass(TABLE_CLASS, //
|
package/ui/block/Table.tsx
CHANGED
|
@@ -6,15 +6,36 @@ import { getClass, getModuleClass } from "../util/css.js";
|
|
|
6
6
|
import type { ChildProps } from "../util/props.js";
|
|
7
7
|
import TABLE_CSS from "./Table.module.css";
|
|
8
8
|
|
|
9
|
+
/**
|
|
10
|
+
* CSS class applied to the root element of every `Table`.
|
|
11
|
+
*
|
|
12
|
+
* @see https://dhoulb.github.io/shelving/ui/block/Table/TABLE_CLASS
|
|
13
|
+
*/
|
|
9
14
|
export const TABLE_CLASS = getModuleClass(TABLE_CSS, "divider");
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* CSS class that styles a `Table` when it appears inside `Prose` longform content.
|
|
18
|
+
*
|
|
19
|
+
* @see https://dhoulb.github.io/shelving/ui/block/Table/TABLE_PROSE_CLASS
|
|
20
|
+
*/
|
|
10
21
|
export const TABLE_PROSE_CLASS = getModuleClass(TABLE_CSS, "prose");
|
|
11
22
|
|
|
23
|
+
/**
|
|
24
|
+
* Props for `Table` — colour, space, and typography variants plus `children`.
|
|
25
|
+
*
|
|
26
|
+
* @see https://dhoulb.github.io/shelving/ui/block/Table/TableProps
|
|
27
|
+
*/
|
|
12
28
|
export interface TableProps extends ColorVariants, SpaceVariants, TypographyVariants, ChildProps {}
|
|
13
29
|
|
|
14
30
|
/**
|
|
15
31
|
* Table block — rendered as `<table>`.
|
|
16
32
|
* - Wrap in a `<Scroll horizontal>` if the table may exceed the container width on small screens.
|
|
17
33
|
* - `<th>` / `<td>` cells draw the borders (the `<table>` element itself has none); override their weight via the `--table-border` / `--table-stroke` hooks.
|
|
34
|
+
*
|
|
35
|
+
* @param props Colour, space, and typography variants plus `children`.
|
|
36
|
+
* @returns Rendered `<table>` element.
|
|
37
|
+
* @example <Table><tbody><tr><td>Cell</td></tr></tbody></Table>
|
|
38
|
+
* @see https://dhoulb.github.io/shelving/ui/block/Table/Table
|
|
18
39
|
*/
|
|
19
40
|
export function Table({ children, ...props }: TableProps): ReactElement {
|
|
20
41
|
return (
|
package/ui/block/Title.d.ts
CHANGED
|
@@ -1,11 +1,30 @@
|
|
|
1
1
|
import type { ReactElement } from "react";
|
|
2
2
|
import type { HeadingProps } from "./Heading.js";
|
|
3
|
+
/**
|
|
4
|
+
* CSS class applied to the root element of every `Title`.
|
|
5
|
+
*
|
|
6
|
+
* @see https://dhoulb.github.io/shelving/ui/block/Title/TITLE_CLASS
|
|
7
|
+
*/
|
|
3
8
|
export declare const TITLE_CLASS: string | undefined;
|
|
9
|
+
/**
|
|
10
|
+
* CSS class that styles a `Title` when it appears inside `Prose` longform content.
|
|
11
|
+
*
|
|
12
|
+
* @see https://dhoulb.github.io/shelving/ui/block/Title/TITLE_PROSE_CLASS
|
|
13
|
+
*/
|
|
4
14
|
export declare const TITLE_PROSE_CLASS: string | undefined;
|
|
5
|
-
/**
|
|
15
|
+
/**
|
|
16
|
+
* Props for `Title` — identical to `HeadingProps`.
|
|
17
|
+
*
|
|
18
|
+
* @see https://dhoulb.github.io/shelving/ui/block/Title/TitleProps
|
|
19
|
+
*/
|
|
6
20
|
export type TitleProps = HeadingProps;
|
|
7
21
|
/**
|
|
8
22
|
* Page title — renders an `<h1>`.
|
|
9
23
|
* - The most prominent heading on a page; there should normally be exactly one.
|
|
24
|
+
*
|
|
25
|
+
* @param props Colour, space, and typography variants plus an optional `level` override and `children`.
|
|
26
|
+
* @returns Rendered `<h1>` heading element.
|
|
27
|
+
* @example <Title>Welcome</Title>
|
|
28
|
+
* @see https://dhoulb.github.io/shelving/ui/block/Title/Title
|
|
10
29
|
*/
|
|
11
30
|
export declare function Title({ level, children, ...props }: TitleProps): ReactElement;
|
package/ui/block/Title.js
CHANGED
|
@@ -4,11 +4,26 @@ import { getSpaceClass } from "../style/Space.js";
|
|
|
4
4
|
import { getTypographyClass } from "../style/Typography.js";
|
|
5
5
|
import { getClass, getModuleClass } from "../util/css.js";
|
|
6
6
|
import TITLE_CSS from "./Title.module.css";
|
|
7
|
+
/**
|
|
8
|
+
* CSS class applied to the root element of every `Title`.
|
|
9
|
+
*
|
|
10
|
+
* @see https://dhoulb.github.io/shelving/ui/block/Title/TITLE_CLASS
|
|
11
|
+
*/
|
|
7
12
|
export const TITLE_CLASS = getModuleClass(TITLE_CSS, "title");
|
|
13
|
+
/**
|
|
14
|
+
* CSS class that styles a `Title` when it appears inside `Prose` longform content.
|
|
15
|
+
*
|
|
16
|
+
* @see https://dhoulb.github.io/shelving/ui/block/Title/TITLE_PROSE_CLASS
|
|
17
|
+
*/
|
|
8
18
|
export const TITLE_PROSE_CLASS = getModuleClass(TITLE_CSS, "prose");
|
|
9
19
|
/**
|
|
10
20
|
* Page title — renders an `<h1>`.
|
|
11
21
|
* - The most prominent heading on a page; there should normally be exactly one.
|
|
22
|
+
*
|
|
23
|
+
* @param props Colour, space, and typography variants plus an optional `level` override and `children`.
|
|
24
|
+
* @returns Rendered `<h1>` heading element.
|
|
25
|
+
* @example <Title>Welcome</Title>
|
|
26
|
+
* @see https://dhoulb.github.io/shelving/ui/block/Title/Title
|
|
12
27
|
*/
|
|
13
28
|
export function Title({ level = "1", children, ...props }) {
|
|
14
29
|
const Element = `h${level}`;
|
package/ui/block/Title.tsx
CHANGED
|
@@ -6,15 +6,35 @@ import { getClass, getModuleClass } from "../util/css.js";
|
|
|
6
6
|
import type { HeadingProps } from "./Heading.js";
|
|
7
7
|
import TITLE_CSS from "./Title.module.css";
|
|
8
8
|
|
|
9
|
+
/**
|
|
10
|
+
* CSS class applied to the root element of every `Title`.
|
|
11
|
+
*
|
|
12
|
+
* @see https://dhoulb.github.io/shelving/ui/block/Title/TITLE_CLASS
|
|
13
|
+
*/
|
|
9
14
|
export const TITLE_CLASS = getModuleClass(TITLE_CSS, "title");
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* CSS class that styles a `Title` when it appears inside `Prose` longform content.
|
|
18
|
+
*
|
|
19
|
+
* @see https://dhoulb.github.io/shelving/ui/block/Title/TITLE_PROSE_CLASS
|
|
20
|
+
*/
|
|
10
21
|
export const TITLE_PROSE_CLASS = getModuleClass(TITLE_CSS, "prose");
|
|
11
22
|
|
|
12
|
-
/**
|
|
23
|
+
/**
|
|
24
|
+
* Props for `Title` — identical to `HeadingProps`.
|
|
25
|
+
*
|
|
26
|
+
* @see https://dhoulb.github.io/shelving/ui/block/Title/TitleProps
|
|
27
|
+
*/
|
|
13
28
|
export type TitleProps = HeadingProps;
|
|
14
29
|
|
|
15
30
|
/**
|
|
16
31
|
* Page title — renders an `<h1>`.
|
|
17
32
|
* - The most prominent heading on a page; there should normally be exactly one.
|
|
33
|
+
*
|
|
34
|
+
* @param props Colour, space, and typography variants plus an optional `level` override and `children`.
|
|
35
|
+
* @returns Rendered `<h1>` heading element.
|
|
36
|
+
* @example <Title>Welcome</Title>
|
|
37
|
+
* @see https://dhoulb.github.io/shelving/ui/block/Title/Title
|
|
18
38
|
*/
|
|
19
39
|
export function Title({ level = "1", children, ...props }: TitleProps): ReactElement {
|
|
20
40
|
const Element: `h${typeof level}` = `h${level}`;
|