slack-block-builder

Lightweight Node.js library for building Slack Block Kit UIs, with a declarative syntax inspired by SwiftUI.

MIT License

Downloads
338.7K
Stars
524
Committers
15
slack-block-builder - Version 2.8.0 Latest Release

Published by raycharius 10 months ago

✨ Add FileInput element and other minor changes

  • ✨ The FileInput element is now supported (thanks, @michaelbudgell)
  • ✨ Added isExpandable parameter to the Accordion component to pass in a function that dictates whether or not to display/hide the expand button (thanks, @tanguyantoine)
  • ✨ Add altText as a prop for Video block (thanks, @soominchun)
  • ✨ Add multiline as a prop for TextInput element (thanks, @carlovsk)
  • 🐛 Fix typing issues (thanks, @tanguyantoine)
  • 🐛 Fix issue with source not being added to the File block
slack-block-builder - Version 2.7.2

Published by raycharius almost 2 years ago

🐛 Fix issue with DateTimePicker import

  • DateTimePicker is now available as a top-level import
slack-block-builder - Version 2.7.1

Published 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()
slack-block-builder - Version 2.7.0

Published by raycharius almost 2 years ago

✨ Support new block elements introduced by Slack and minor bug fixes

  • Add DateTimePicker() to support the all-new date time picker element introduced by Slack.
  • Add NumberInput(), URLInput(), EmailInput() to support the new input types introduced by Slack.
  • Fix bug where props passed into the constructor were assigned instead of copied (thanks, @nlwillia!).
slack-block-builder - Version 2.6.0

Published by raycharius over 2 years ago

✨ Add Video() to support video blocks and minor feature and bug fixes

  • Add Video() to the library to support the latest block supported by the Slack API.
  • Add buildBlock() and buildBlocks() utility functions to build and return Slack API-ready objects for separate blocks.
  • Fix bug where using conditionals within the build functions for Accordion and Paginator lead to TypeScript errors.
slack-block-builder - Version 2.5.0

Published by raycharius over 2 years ago

✨ Add accessibilityLabel() method and introduce OptionCollection and OptionGroupCollection

  • Add accessibilityLabel() method to the ButtonBuilder object.
  • Add two utility functions, OptionCollection and OptionGroupCollection for using Block Builder to create responses to payloads from select menus with external data sources.
slack-block-builder - Version 2.4.2

Published by raycharius almost 3 years ago

🐛 Fix critical issue with filter and dispatch configs

  • In 2.4.0, there was a critical bug introduced that created issues with the filter and dispatch configs for Block Kit Elements
slack-block-builder - Version 2.4.0

Published by raycharius almost 3 years ago

✨ Add focusOnLoad() methods to elements and introduce inline conditional helper functions

  • Add focusOnLoad() method to supported elements to support the focus_on_load feature of Block Kit.
  • Add 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.
  • A lot of reworking for the internal file structure.
slack-block-builder - Version 2.3.1

Published by raycharius almost 3 years ago

🐛 Fix issue with exclude_bot_users and exclude_external_shared_channels

  • When calling the 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.
slack-block-builder - Version 2.3.0

Published by raycharius almost 3 years ago

✨ Add buttonId to object passed to actionId function for Paginator and EasyPaginator

  • Add a buttonId parameter to ensure that the resulting action_id for each button in the paginator navigation is always unique.
slack-block-builder - Version 2.2.0

Published by raycharius about 3 years ago

✨ Add common UI components to the library

  • Add the Paginator and EasyPaginator components for paginated content.
  • Add the 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.

slack-block-builder - Version 2.1.2

Published by raycharius about 3 years ago

🐛 Fix Issue with type compatibility with Slack Node SDK's

  • Fix the return type for Surface.buildToObject() for better TypeScript compatibility with Slack's own WebClient from their Node SDK (thanks, @M1kep!).
slack-block-builder - Version 2.1.1

Published by raycharius about 3 years ago

🐛 Fix Issue with printPreviewUrl() method

  • Fix getPreviewUrl() for HomeTab, Modal, WorkflowStep (thanks, @zcei!).
slack-block-builder - Version 2.1.0

Published by raycharius over 3 years ago

✨ New Methods and TS Bug Fix

  • Add getPreviewUrl() method to surfaces (thanks, @zaini!).
  • Add emoji() method to Md (thanks @trevor-gullstad!).
  • Fix TypeScript not allowing undefined as an argument when strict: true (thanks @tsnieman!).
slack-block-builder - Release Version 2

Published by raycharius over 3 years ago

✨ Block Builder Version 2 is now here!

  • Better TypeScript experience.
  • Configuration methods now accept arguments.
  • New BlockCollection and AttachmentCollection features.
  • New Md object with Slack markdown helpers.
  • All objects now importable through their 'categories' as well as top-level.
  • Improved JSDoc annotations.

To read more about this release and possible breaking changes, see the announcement.

slack-block-builder - Add Support for Workflow Steps

Published by raycharius over 3 years ago

✨ Block Builder now supports workflow step modals with the WorkflowStep object

  • Add WorkflowStep object.
  • Fix types for Bits.ConfirmationDialog.
slack-block-builder - Add Option to Ignore Markdown on Message Object

Published by raycharius almost 4 years ago

✨ Add ignoreMarkdown() Method to Message

  • Add ignoreMarkdown to Message object.
  • Fix types for Context.elements() args.
  • Fix tests for onCharacterEntered and onEnterPressed.
slack-block-builder - Add Fallback to Attachment

Published by raycharius almost 4 years ago

✨ Add fallback() Method to Bits.Attachment

  • Add fallback to Attachment object.
slack-block-builder - Refactor and Update TypeScript Definitions

Published by raycharius almost 4 years ago

⚡ Refactor and Update TypeScript Definitions

  • Refactor Message and Surface objects, so that the printPreviewUrl method is on all surfaces.
  • Updated types.d.ts to reflect this change.
slack-block-builder - Update TypeScript Definitions

Published by raycharius about 4 years ago

⚡ Update TypeScript Definitions

  • Update TypeScript definitions to include TimePicker and other methods added in version 1.7.0.