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/Image.tsx
CHANGED
|
@@ -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
|
}
|
package/ui/block/Label.d.ts
CHANGED
|
@@ -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
|
|
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
|
|
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}`;
|
package/ui/block/Label.tsx
CHANGED
|
@@ -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
|
|
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}`;
|
package/ui/block/List.d.ts
CHANGED
|
@@ -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(
|
package/ui/block/Panel.d.ts
CHANGED
|
@@ -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
|
-
/**
|
|
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, //
|
package/ui/block/Panel.tsx
CHANGED
|
@@ -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
|
-
/**
|
|
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 (
|
package/ui/block/Paragraph.d.ts
CHANGED
|
@@ -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;
|
package/ui/block/Paragraph.js
CHANGED
|
@@ -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 }));
|
package/ui/block/Paragraph.tsx
CHANGED
|
@@ -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;
|
package/ui/block/Preformatted.js
CHANGED
|
@@ -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 (
|
package/ui/block/Prose.d.ts
CHANGED
|
@@ -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
|
-
/**
|
|
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
|
-
/**
|
|
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
|
}
|
package/ui/block/Prose.tsx
CHANGED
|
@@ -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
|
-
/**
|
|
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
|
}
|