Lightweight Node.js library for building Slack Block Kit UIs, with a declarative syntax inspired by SwiftUI.
MIT License
✨ Add FileInput
element and other minor changes
FileInput
element is now supported (thanks, @michaelbudgell)isExpandable
parameter to the Accordion
component to pass in a function that dictates whether or not to display/hide the expand button (thanks, @tanguyantoine)altText
as a prop for Video
block (thanks, @soominchun)multiline
as a prop for TextInput
element (thanks, @carlovsk)source
not being added to the File
blockPublished by raycharius almost 2 years ago
🐛 Fix issue with DateTimePicker
import
DateTimePicker
is now available as a top-level importPublished by raycharius almost 2 years ago
🐛 Fix issues with newly added elements and type constraints
DateTimePickerBuilder
, NumberInputBuilder
, EmailInputBuilder
, URLInputBuilder
are now assignable to Input.element()
DateTimePickerBuilder
is now assignable to Actions.elements()
Published by raycharius almost 2 years ago
✨ Support new block elements introduced by Slack and minor bug fixes
DateTimePicker()
to support the all-new date time picker element introduced by Slack.NumberInput()
, URLInput()
, EmailInput()
to support the new input types introduced by Slack.Published by raycharius over 2 years ago
✨ Add Video()
to support video blocks and minor feature and bug fixes
Video()
to the library to support the latest block supported by the Slack API.buildBlock()
and buildBlocks()
utility functions to build and return Slack API-ready objects for separate blocks.Accordion
and Paginator
lead to TypeScript errors.Published by raycharius over 2 years ago
✨ Add accessibilityLabel()
method and introduce OptionCollection
and OptionGroupCollection
accessibilityLabel()
method to the ButtonBuilder
object.OptionCollection
and OptionGroupCollection
for using Block Builder to create responses to payloads from select menus with external data sources.Published by raycharius almost 3 years ago
🐛 Fix critical issue with filter and dispatch configs
Published by raycharius almost 3 years ago
✨ Add focusOnLoad()
methods to elements and introduce inline conditional helper functions
focusOnLoad()
method to supported elements to support the focus_on_load
feature of Block Kit.setIfTruthy()
, omitIfTruthy()
, setIfFalsy()
, omitIfFalsy()
functions to make it easy to use inline conditionals. More information can be found in the README and on the doc site.Published by raycharius almost 3 years ago
🐛 Fix issue with exclude_bot_users
and exclude_external_shared_channels
excludeBotUsers
and excludeExternalSharedChannels
, the resulting DTO had both a filter
argument as well as exclude_bot_users
and exclude_external_shared_channels
, resulting in an invalid payload. This has been resolved.Published by raycharius almost 3 years ago
✨ Add buttonId
to object passed to actionId
function for Paginator
and EasyPaginator
buttonId
parameter to ensure that the resulting action_id
for each button in the paginator navigation is always unique.Published by raycharius about 3 years ago
✨ Add common UI components to the library
Paginator
and EasyPaginator
components for paginated content.Accordion
component for expandable content.Note that there's more information available in the README, on the docs site, and in the demo app repository.
Published by raycharius about 3 years ago
🐛 Fix Issue with type compatibility with Slack Node SDK's
Surface.buildToObject()
for better TypeScript compatibility with Slack's own WebClient
from their Node SDK (thanks, @M1kep!).Published by raycharius about 3 years ago
🐛 Fix Issue with printPreviewUrl()
method
getPreviewUrl()
for HomeTab
, Modal
, WorkflowStep
(thanks, @zcei!).Published by raycharius over 3 years ago
✨ New Methods and TS Bug Fix
getPreviewUrl()
method to surfaces (thanks, @zaini!).emoji()
method to Md
(thanks @trevor-gullstad!).undefined
as an argument when strict: true
(thanks @tsnieman!).Published by raycharius over 3 years ago
✨ Block Builder Version 2 is now here!
BlockCollection
and AttachmentCollection
features.Md
object with Slack markdown helpers.To read more about this release and possible breaking changes, see the announcement.
Published by raycharius over 3 years ago
✨ Block Builder now supports workflow step modals with the WorkflowStep
object
WorkflowStep
object.Bits.ConfirmationDialog
.Published by raycharius almost 4 years ago
✨ Add ignoreMarkdown()
Method to Message
ignoreMarkdown
to Message
object.Context.elements()
args.onCharacterEntered
and onEnterPressed
.Published by raycharius almost 4 years ago
✨ Add fallback()
Method to Bits.Attachment
fallback
to Attachment
object.Published by raycharius almost 4 years ago
⚡ Refactor and Update TypeScript Definitions
Message
and Surface
objects, so that the printPreviewUrl
method is on all surfaces.types.d.ts
to reflect this change.Published by raycharius about 4 years ago
⚡ Update TypeScript Definitions
TimePicker
and other methods added in version 1.7.0.