slack-blocks-to-jsx 0.8.6 → 1.0.1
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/dist/index.d.mts +131 -7
- package/dist/index.d.ts +131 -7
- package/dist/index.js +14 -5
- package/dist/index.mjs +14 -5
- package/dist/style.css +1 -1
- package/package.json +12 -9
- package/readme.md +253 -120
- package/tsup.config.ts +9 -0
package/dist/index.d.mts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
2
|
import { ComponentPropsWithoutRef, ReactNode } from 'react';
|
|
3
3
|
|
|
4
|
-
type Element = ButtonElement | CheckboxesElement | DatePickerElement | DateTimePickerElement | EmailInputElement | ImageElement | MultiStaticSelectElement | MultiExternalSelectElement | MultiUsersSelectElement | MultiConversationsSelectElement | MultiChannelsSelectElement | NumberInputElement | OverflowMenuElement | PlainTextInputElement | RadioButtonsElement | StaticSelectElement | ExternalSelectElement | UsersSelectElement | ConversationsSelectElement | ChannelsSelectElement | TimePickerElement | UrlTextInputElement | RichTextBlockElement;
|
|
4
|
+
type Element = ButtonElement | CheckboxesElement | DatePickerElement | DateTimePickerElement | EmailInputElement | FeedbackButtonsElement | FileInputElement | IconButtonElement | ImageElement | MultiStaticSelectElement | MultiExternalSelectElement | MultiUsersSelectElement | MultiConversationsSelectElement | MultiChannelsSelectElement | NumberInputElement | OverflowMenuElement | PlainTextInputElement | RadioButtonsElement | RichTextInputElement | StaticSelectElement | ExternalSelectElement | UsersSelectElement | ConversationsSelectElement | ChannelsSelectElement | TimePickerElement | UrlTextInputElement | UrlSourceElement | WorkflowButtonElement | RichTextBlockElement;
|
|
5
5
|
type ButtonElement = {
|
|
6
6
|
type: "button";
|
|
7
7
|
/**
|
|
@@ -604,6 +604,57 @@ type UrlTextInputElement = {
|
|
|
604
604
|
*/
|
|
605
605
|
placeholder?: TextObject<"plain_text">;
|
|
606
606
|
};
|
|
607
|
+
type FeedbackButtonsElement = {
|
|
608
|
+
type: "feedback_buttons";
|
|
609
|
+
positive_button: {
|
|
610
|
+
text: TextObject<"plain_text">;
|
|
611
|
+
value: string;
|
|
612
|
+
accessibility_label?: string;
|
|
613
|
+
};
|
|
614
|
+
negative_button: {
|
|
615
|
+
text: TextObject<"plain_text">;
|
|
616
|
+
value: string;
|
|
617
|
+
accessibility_label?: string;
|
|
618
|
+
};
|
|
619
|
+
action_id?: string;
|
|
620
|
+
};
|
|
621
|
+
type FileInputElement = {
|
|
622
|
+
type: "file_input";
|
|
623
|
+
action_id?: string;
|
|
624
|
+
filetypes?: string[];
|
|
625
|
+
max_files?: number;
|
|
626
|
+
};
|
|
627
|
+
type IconButtonElement = {
|
|
628
|
+
type: "icon_button";
|
|
629
|
+
icon: string;
|
|
630
|
+
text: TextObject<"plain_text">;
|
|
631
|
+
action_id?: string;
|
|
632
|
+
value?: string;
|
|
633
|
+
confirm?: ConfirmDialogObject;
|
|
634
|
+
accessibility_label?: string;
|
|
635
|
+
visible_to_user_ids?: string[];
|
|
636
|
+
};
|
|
637
|
+
type RichTextInputElement = {
|
|
638
|
+
type: "rich_text_input";
|
|
639
|
+
action_id: string;
|
|
640
|
+
initial_value?: RichTextBlock;
|
|
641
|
+
dispatch_action_config?: DispatchActionConfigObject;
|
|
642
|
+
focus_on_load?: boolean;
|
|
643
|
+
placeholder?: TextObject<"plain_text">;
|
|
644
|
+
};
|
|
645
|
+
type UrlSourceElement = {
|
|
646
|
+
type: "url";
|
|
647
|
+
url: string;
|
|
648
|
+
text: string;
|
|
649
|
+
};
|
|
650
|
+
type WorkflowButtonElement = {
|
|
651
|
+
type: "workflow_button";
|
|
652
|
+
text: TextObject<"plain_text">;
|
|
653
|
+
workflow: WorkflowObject;
|
|
654
|
+
action_id: string;
|
|
655
|
+
style?: Omit<Style, "confirm"> | undefined;
|
|
656
|
+
accessibility_label?: string;
|
|
657
|
+
};
|
|
607
658
|
|
|
608
659
|
type TextObjectTextType = "plain_text" | "mrkdwn";
|
|
609
660
|
type Style = "primary" | "danger" | "confirm";
|
|
@@ -686,7 +737,7 @@ type DispatchActionConfigObject = {
|
|
|
686
737
|
type FilterObject = {
|
|
687
738
|
/**
|
|
688
739
|
* Indicates which type of conversations should be included in the list. When this field is provided, any conversations that do not match will be excluded
|
|
689
|
-
|
|
740
|
+
|
|
690
741
|
* You should provide an array of strings from the following options: ***im***, ***mpim***, ***private***, and ***public***. The array cannot be empty.
|
|
691
742
|
*/
|
|
692
743
|
include?: string[];
|
|
@@ -699,8 +750,37 @@ type FilterObject = {
|
|
|
699
750
|
*/
|
|
700
751
|
exclude_bot_users?: boolean;
|
|
701
752
|
};
|
|
753
|
+
type SlackFileObject = {
|
|
754
|
+
/**
|
|
755
|
+
* The url_private or permalink of the Slack file.
|
|
756
|
+
*/
|
|
757
|
+
url?: string;
|
|
758
|
+
/**
|
|
759
|
+
* Slack ID of the file.
|
|
760
|
+
*/
|
|
761
|
+
id?: string;
|
|
762
|
+
};
|
|
763
|
+
type TriggerObject = {
|
|
764
|
+
/**
|
|
765
|
+
* A link trigger URL. Must be associated with a valid trigger.
|
|
766
|
+
*/
|
|
767
|
+
url: string;
|
|
768
|
+
/**
|
|
769
|
+
* An array of input parameter objects that map customizable values to workflow inputs.
|
|
770
|
+
*/
|
|
771
|
+
customizable_input_parameters?: {
|
|
772
|
+
name: string;
|
|
773
|
+
value: string;
|
|
774
|
+
}[];
|
|
775
|
+
};
|
|
776
|
+
type WorkflowObject = {
|
|
777
|
+
/**
|
|
778
|
+
* A trigger object that contains information about a workflow's trigger.
|
|
779
|
+
*/
|
|
780
|
+
trigger: TriggerObject;
|
|
781
|
+
};
|
|
702
782
|
|
|
703
|
-
type Block = ActionsBlock | ContextBlock | DividerBlock | FileBlock | HeaderBlock | ImageBlock | InputBlock | SectionBlock | TableBlock | VideoBlock | RichTextBlock;
|
|
783
|
+
type Block = ActionsBlock | ContextBlock | ContextActionsBlock | DividerBlock | FileBlock | HeaderBlock | ImageBlock | InputBlock | MarkdownBlock | PlanBlock | SectionBlock | TableBlock | TaskCardBlock | VideoBlock | RichTextBlock;
|
|
704
784
|
type ActionsBlock = {
|
|
705
785
|
/**
|
|
706
786
|
* Available in surfaces: **Modals**, **Messages**, **Home tabs**
|
|
@@ -811,7 +891,11 @@ type ImageBlock = {
|
|
|
811
891
|
/**
|
|
812
892
|
* The URL of the image to be displayed. Maximum length for this field is 3000 characters.
|
|
813
893
|
*/
|
|
814
|
-
image_url
|
|
894
|
+
image_url?: string;
|
|
895
|
+
/**
|
|
896
|
+
* A Slack image file object. Either image_url or slack_file must be provided.
|
|
897
|
+
*/
|
|
898
|
+
slack_file?: SlackFileObject;
|
|
815
899
|
/** Width of image in pixels (NOT PRESENT IN THE SLACK API BUT THEY ADD IT DYNAMICALLY) */
|
|
816
900
|
image_width?: number;
|
|
817
901
|
/** Height of image in pixels (NOT PRESENT IN THE SLACK API BUT THEY ADD IT DYNAMICALLY) */
|
|
@@ -854,7 +938,7 @@ type InputBlock = {
|
|
|
854
938
|
/**
|
|
855
939
|
* A plain-text input element, a checkbox element, a radio button element, a select menu element, a multi-select menu element, or a datepicker.
|
|
856
940
|
*/
|
|
857
|
-
element: PlainTextInputElement | CheckboxesElement | RadioButtonsElement | StaticSelectElement | MultiStaticSelectElement | DatePickerElement | UsersSelectElement;
|
|
941
|
+
element: PlainTextInputElement | CheckboxesElement | RadioButtonsElement | StaticSelectElement | MultiStaticSelectElement | MultiExternalSelectElement | MultiUsersSelectElement | MultiConversationsSelectElement | MultiChannelsSelectElement | DatePickerElement | DateTimePickerElement | TimePickerElement | UsersSelectElement | ExternalSelectElement | ConversationsSelectElement | ChannelsSelectElement | EmailInputElement | UrlTextInputElement | NumberInputElement | FileInputElement | RichTextInputElement;
|
|
858
942
|
/**
|
|
859
943
|
* A boolean that indicates whether or not the use of elements in this block should dispatch a {@link https://api.slack.com/reference/interaction-payloads/block-actions ***block_actions*** payload}. Defaults to false.
|
|
860
944
|
*/
|
|
@@ -898,6 +982,10 @@ type SectionBlock = {
|
|
|
898
982
|
* One of the available {@link https://api.slack.com/reference/messaging/block-elements element objects}.
|
|
899
983
|
*/
|
|
900
984
|
accessory?: Element;
|
|
985
|
+
/**
|
|
986
|
+
* When set to true, the full text is always displayed. When false or omitted, long text may be truncated with a "see more" option.
|
|
987
|
+
*/
|
|
988
|
+
expand?: boolean;
|
|
901
989
|
};
|
|
902
990
|
type VideoBlock = {
|
|
903
991
|
/**
|
|
@@ -1032,6 +1120,32 @@ type RichTextBlock = {
|
|
|
1032
1120
|
*/
|
|
1033
1121
|
elements: RichTextBlockElement[];
|
|
1034
1122
|
};
|
|
1123
|
+
type ContextActionsBlock = {
|
|
1124
|
+
type: "context_actions";
|
|
1125
|
+
elements: Element[];
|
|
1126
|
+
block_id?: string;
|
|
1127
|
+
};
|
|
1128
|
+
type MarkdownBlock = {
|
|
1129
|
+
type: "markdown";
|
|
1130
|
+
text: string;
|
|
1131
|
+
block_id?: string;
|
|
1132
|
+
};
|
|
1133
|
+
type PlanBlock = {
|
|
1134
|
+
type: "plan";
|
|
1135
|
+
title: string;
|
|
1136
|
+
tasks?: TaskCardBlock[];
|
|
1137
|
+
block_id?: string;
|
|
1138
|
+
};
|
|
1139
|
+
type TaskCardBlock = {
|
|
1140
|
+
type: "task_card";
|
|
1141
|
+
task_id: string;
|
|
1142
|
+
title: string;
|
|
1143
|
+
details?: RichTextBlock;
|
|
1144
|
+
output?: RichTextBlock;
|
|
1145
|
+
sources?: UrlSourceElement[];
|
|
1146
|
+
status?: "pending" | "in_progress" | "complete" | "error";
|
|
1147
|
+
block_id?: string;
|
|
1148
|
+
};
|
|
1035
1149
|
|
|
1036
1150
|
type RichTextBlockSubElement = RichTextList | RichTextPreformatted | RichTextQuote | RichTextSection;
|
|
1037
1151
|
type RichTextList = {
|
|
@@ -1055,6 +1169,10 @@ type RichTextPreformatted = {
|
|
|
1055
1169
|
* 0 or 1 (default 0) - if 1, a border is drawn on the left side of the block.
|
|
1056
1170
|
*/
|
|
1057
1171
|
border?: 0 | 1;
|
|
1172
|
+
/**
|
|
1173
|
+
* Programming language for syntax highlighting (e.g., "python", "javascript", "json").
|
|
1174
|
+
*/
|
|
1175
|
+
language?: string;
|
|
1058
1176
|
};
|
|
1059
1177
|
type RichTextQuote = {
|
|
1060
1178
|
type: "rich_text_quote";
|
|
@@ -1069,7 +1187,7 @@ type RichTextSection = {
|
|
|
1069
1187
|
elements: RichTextSectionElement[];
|
|
1070
1188
|
};
|
|
1071
1189
|
type RichTextBlockElement = RichTextList | RichTextPreformatted | RichTextQuote | RichTextSection;
|
|
1072
|
-
type RichTextSectionElement = RichTextSectionText | RichTextSectionChannel | RichTextSectionUser | RichTextSectionEmoji | RichTextSectionLink | RichTextSectionUsergroup | RichTextSectionBroadcast | RichTextSectionDate;
|
|
1190
|
+
type RichTextSectionElement = RichTextSectionText | RichTextSectionChannel | RichTextSectionUser | RichTextSectionEmoji | RichTextSectionLink | RichTextSectionUsergroup | RichTextSectionBroadcast | RichTextSectionDate | RichTextSectionColor;
|
|
1073
1191
|
type RichTextSectionDate = {
|
|
1074
1192
|
type: "date";
|
|
1075
1193
|
timestamp: number;
|
|
@@ -1110,6 +1228,7 @@ type RichTextSectionLink = {
|
|
|
1110
1228
|
type: "link";
|
|
1111
1229
|
url: string;
|
|
1112
1230
|
text?: string;
|
|
1231
|
+
unsafe?: boolean;
|
|
1113
1232
|
style?: RichTextSectionElementStyleCode;
|
|
1114
1233
|
};
|
|
1115
1234
|
type RichTextSectionUsergroup = {
|
|
@@ -1138,6 +1257,11 @@ type RichTextSectionElementStyleCode = {
|
|
|
1138
1257
|
strike?: boolean;
|
|
1139
1258
|
underline?: boolean;
|
|
1140
1259
|
};
|
|
1260
|
+
type RichTextSectionColor = {
|
|
1261
|
+
type: "color";
|
|
1262
|
+
value: string;
|
|
1263
|
+
style?: RichTextSectionElementStyle;
|
|
1264
|
+
};
|
|
1141
1265
|
|
|
1142
1266
|
type User = {
|
|
1143
1267
|
id: string;
|
|
@@ -1239,4 +1363,4 @@ type Props = {
|
|
|
1239
1363
|
type MessageProps = Props;
|
|
1240
1364
|
declare const Message: (props: Props) => react_jsx_runtime.JSX.Element;
|
|
1241
1365
|
|
|
1242
|
-
export { type ActionsBlock, type Block, type ButtonElement, type ChannelsSelectElement, type CheckboxesElement, type ConfirmDialogObject, type ContextBlock, type ConversationsSelectElement, type DatePickerElement, type DateTimePickerElement, type DispatchActionConfigObject, type DividerBlock, type Element, type EmailInputElement, type ExternalSelectElement, type FileBlock, type FilterObject, type HeaderBlock, type ImageBlock, type ImageElement, type InputBlock, Message, type MessageProps, type MultiChannelsSelectElement, type MultiConversationsSelectElement, type MultiExternalSelectElement, type MultiStaticSelectElement, type MultiUsersSelectElement, type NumberInputElement, type OptionGroupObject, type OptionObject, type OptionObjectWithoutUrl, type OverflowMenuElement, type PlainTextInputElement, type RadioButtonsElement, type RichTextBlock, type RichTextBlockElement, type RichTextBlockSubElement, type RichTextList, type RichTextPreformatted, type RichTextQuote, type RichTextSection, type RichTextSectionBroadcast, type RichTextSectionChannel, type RichTextSectionDate, type RichTextSectionElement, type RichTextSectionElementStyle, type RichTextSectionElementStyleCode, type RichTextSectionEmoji, type RichTextSectionLink, type RichTextSectionText, type RichTextSectionUser, type RichTextSectionUsergroup, type SectionBlock, type StaticSelectElement, type Style, type TableBlock, type TableCell, type TableColumnSetting, type TextObject, type TextObjectTextType, type TimePickerElement, type UrlTextInputElement, type UsersSelectElement, type VideoBlock };
|
|
1366
|
+
export { type ActionsBlock, type Block, type ButtonElement, type ChannelsSelectElement, type CheckboxesElement, type ConfirmDialogObject, type ContextActionsBlock, type ContextBlock, type ConversationsSelectElement, type DatePickerElement, type DateTimePickerElement, type DispatchActionConfigObject, type DividerBlock, type Element, type EmailInputElement, type ExternalSelectElement, type FeedbackButtonsElement, type FileBlock, type FileInputElement, type FilterObject, type HeaderBlock, type IconButtonElement, type ImageBlock, type ImageElement, type InputBlock, type MarkdownBlock, Message, type MessageProps, type MultiChannelsSelectElement, type MultiConversationsSelectElement, type MultiExternalSelectElement, type MultiStaticSelectElement, type MultiUsersSelectElement, type NumberInputElement, type OptionGroupObject, type OptionObject, type OptionObjectWithoutUrl, type OverflowMenuElement, type PlainTextInputElement, type PlanBlock, type RadioButtonsElement, type RichTextBlock, type RichTextBlockElement, type RichTextBlockSubElement, type RichTextInputElement, type RichTextList, type RichTextPreformatted, type RichTextQuote, type RichTextSection, type RichTextSectionBroadcast, type RichTextSectionChannel, type RichTextSectionColor, type RichTextSectionDate, type RichTextSectionElement, type RichTextSectionElementStyle, type RichTextSectionElementStyleCode, type RichTextSectionEmoji, type RichTextSectionLink, type RichTextSectionText, type RichTextSectionUser, type RichTextSectionUsergroup, type SectionBlock, type SlackFileObject, type StaticSelectElement, type Style, type TableBlock, type TableCell, type TableColumnSetting, type TaskCardBlock, type TextObject, type TextObjectTextType, type TimePickerElement, type TriggerObject, type UrlSourceElement, type UrlTextInputElement, type UsersSelectElement, type VideoBlock, type WorkflowButtonElement, type WorkflowObject };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
2
|
import { ComponentPropsWithoutRef, ReactNode } from 'react';
|
|
3
3
|
|
|
4
|
-
type Element = ButtonElement | CheckboxesElement | DatePickerElement | DateTimePickerElement | EmailInputElement | ImageElement | MultiStaticSelectElement | MultiExternalSelectElement | MultiUsersSelectElement | MultiConversationsSelectElement | MultiChannelsSelectElement | NumberInputElement | OverflowMenuElement | PlainTextInputElement | RadioButtonsElement | StaticSelectElement | ExternalSelectElement | UsersSelectElement | ConversationsSelectElement | ChannelsSelectElement | TimePickerElement | UrlTextInputElement | RichTextBlockElement;
|
|
4
|
+
type Element = ButtonElement | CheckboxesElement | DatePickerElement | DateTimePickerElement | EmailInputElement | FeedbackButtonsElement | FileInputElement | IconButtonElement | ImageElement | MultiStaticSelectElement | MultiExternalSelectElement | MultiUsersSelectElement | MultiConversationsSelectElement | MultiChannelsSelectElement | NumberInputElement | OverflowMenuElement | PlainTextInputElement | RadioButtonsElement | RichTextInputElement | StaticSelectElement | ExternalSelectElement | UsersSelectElement | ConversationsSelectElement | ChannelsSelectElement | TimePickerElement | UrlTextInputElement | UrlSourceElement | WorkflowButtonElement | RichTextBlockElement;
|
|
5
5
|
type ButtonElement = {
|
|
6
6
|
type: "button";
|
|
7
7
|
/**
|
|
@@ -604,6 +604,57 @@ type UrlTextInputElement = {
|
|
|
604
604
|
*/
|
|
605
605
|
placeholder?: TextObject<"plain_text">;
|
|
606
606
|
};
|
|
607
|
+
type FeedbackButtonsElement = {
|
|
608
|
+
type: "feedback_buttons";
|
|
609
|
+
positive_button: {
|
|
610
|
+
text: TextObject<"plain_text">;
|
|
611
|
+
value: string;
|
|
612
|
+
accessibility_label?: string;
|
|
613
|
+
};
|
|
614
|
+
negative_button: {
|
|
615
|
+
text: TextObject<"plain_text">;
|
|
616
|
+
value: string;
|
|
617
|
+
accessibility_label?: string;
|
|
618
|
+
};
|
|
619
|
+
action_id?: string;
|
|
620
|
+
};
|
|
621
|
+
type FileInputElement = {
|
|
622
|
+
type: "file_input";
|
|
623
|
+
action_id?: string;
|
|
624
|
+
filetypes?: string[];
|
|
625
|
+
max_files?: number;
|
|
626
|
+
};
|
|
627
|
+
type IconButtonElement = {
|
|
628
|
+
type: "icon_button";
|
|
629
|
+
icon: string;
|
|
630
|
+
text: TextObject<"plain_text">;
|
|
631
|
+
action_id?: string;
|
|
632
|
+
value?: string;
|
|
633
|
+
confirm?: ConfirmDialogObject;
|
|
634
|
+
accessibility_label?: string;
|
|
635
|
+
visible_to_user_ids?: string[];
|
|
636
|
+
};
|
|
637
|
+
type RichTextInputElement = {
|
|
638
|
+
type: "rich_text_input";
|
|
639
|
+
action_id: string;
|
|
640
|
+
initial_value?: RichTextBlock;
|
|
641
|
+
dispatch_action_config?: DispatchActionConfigObject;
|
|
642
|
+
focus_on_load?: boolean;
|
|
643
|
+
placeholder?: TextObject<"plain_text">;
|
|
644
|
+
};
|
|
645
|
+
type UrlSourceElement = {
|
|
646
|
+
type: "url";
|
|
647
|
+
url: string;
|
|
648
|
+
text: string;
|
|
649
|
+
};
|
|
650
|
+
type WorkflowButtonElement = {
|
|
651
|
+
type: "workflow_button";
|
|
652
|
+
text: TextObject<"plain_text">;
|
|
653
|
+
workflow: WorkflowObject;
|
|
654
|
+
action_id: string;
|
|
655
|
+
style?: Omit<Style, "confirm"> | undefined;
|
|
656
|
+
accessibility_label?: string;
|
|
657
|
+
};
|
|
607
658
|
|
|
608
659
|
type TextObjectTextType = "plain_text" | "mrkdwn";
|
|
609
660
|
type Style = "primary" | "danger" | "confirm";
|
|
@@ -686,7 +737,7 @@ type DispatchActionConfigObject = {
|
|
|
686
737
|
type FilterObject = {
|
|
687
738
|
/**
|
|
688
739
|
* Indicates which type of conversations should be included in the list. When this field is provided, any conversations that do not match will be excluded
|
|
689
|
-
|
|
740
|
+
|
|
690
741
|
* You should provide an array of strings from the following options: ***im***, ***mpim***, ***private***, and ***public***. The array cannot be empty.
|
|
691
742
|
*/
|
|
692
743
|
include?: string[];
|
|
@@ -699,8 +750,37 @@ type FilterObject = {
|
|
|
699
750
|
*/
|
|
700
751
|
exclude_bot_users?: boolean;
|
|
701
752
|
};
|
|
753
|
+
type SlackFileObject = {
|
|
754
|
+
/**
|
|
755
|
+
* The url_private or permalink of the Slack file.
|
|
756
|
+
*/
|
|
757
|
+
url?: string;
|
|
758
|
+
/**
|
|
759
|
+
* Slack ID of the file.
|
|
760
|
+
*/
|
|
761
|
+
id?: string;
|
|
762
|
+
};
|
|
763
|
+
type TriggerObject = {
|
|
764
|
+
/**
|
|
765
|
+
* A link trigger URL. Must be associated with a valid trigger.
|
|
766
|
+
*/
|
|
767
|
+
url: string;
|
|
768
|
+
/**
|
|
769
|
+
* An array of input parameter objects that map customizable values to workflow inputs.
|
|
770
|
+
*/
|
|
771
|
+
customizable_input_parameters?: {
|
|
772
|
+
name: string;
|
|
773
|
+
value: string;
|
|
774
|
+
}[];
|
|
775
|
+
};
|
|
776
|
+
type WorkflowObject = {
|
|
777
|
+
/**
|
|
778
|
+
* A trigger object that contains information about a workflow's trigger.
|
|
779
|
+
*/
|
|
780
|
+
trigger: TriggerObject;
|
|
781
|
+
};
|
|
702
782
|
|
|
703
|
-
type Block = ActionsBlock | ContextBlock | DividerBlock | FileBlock | HeaderBlock | ImageBlock | InputBlock | SectionBlock | TableBlock | VideoBlock | RichTextBlock;
|
|
783
|
+
type Block = ActionsBlock | ContextBlock | ContextActionsBlock | DividerBlock | FileBlock | HeaderBlock | ImageBlock | InputBlock | MarkdownBlock | PlanBlock | SectionBlock | TableBlock | TaskCardBlock | VideoBlock | RichTextBlock;
|
|
704
784
|
type ActionsBlock = {
|
|
705
785
|
/**
|
|
706
786
|
* Available in surfaces: **Modals**, **Messages**, **Home tabs**
|
|
@@ -811,7 +891,11 @@ type ImageBlock = {
|
|
|
811
891
|
/**
|
|
812
892
|
* The URL of the image to be displayed. Maximum length for this field is 3000 characters.
|
|
813
893
|
*/
|
|
814
|
-
image_url
|
|
894
|
+
image_url?: string;
|
|
895
|
+
/**
|
|
896
|
+
* A Slack image file object. Either image_url or slack_file must be provided.
|
|
897
|
+
*/
|
|
898
|
+
slack_file?: SlackFileObject;
|
|
815
899
|
/** Width of image in pixels (NOT PRESENT IN THE SLACK API BUT THEY ADD IT DYNAMICALLY) */
|
|
816
900
|
image_width?: number;
|
|
817
901
|
/** Height of image in pixels (NOT PRESENT IN THE SLACK API BUT THEY ADD IT DYNAMICALLY) */
|
|
@@ -854,7 +938,7 @@ type InputBlock = {
|
|
|
854
938
|
/**
|
|
855
939
|
* A plain-text input element, a checkbox element, a radio button element, a select menu element, a multi-select menu element, or a datepicker.
|
|
856
940
|
*/
|
|
857
|
-
element: PlainTextInputElement | CheckboxesElement | RadioButtonsElement | StaticSelectElement | MultiStaticSelectElement | DatePickerElement | UsersSelectElement;
|
|
941
|
+
element: PlainTextInputElement | CheckboxesElement | RadioButtonsElement | StaticSelectElement | MultiStaticSelectElement | MultiExternalSelectElement | MultiUsersSelectElement | MultiConversationsSelectElement | MultiChannelsSelectElement | DatePickerElement | DateTimePickerElement | TimePickerElement | UsersSelectElement | ExternalSelectElement | ConversationsSelectElement | ChannelsSelectElement | EmailInputElement | UrlTextInputElement | NumberInputElement | FileInputElement | RichTextInputElement;
|
|
858
942
|
/**
|
|
859
943
|
* A boolean that indicates whether or not the use of elements in this block should dispatch a {@link https://api.slack.com/reference/interaction-payloads/block-actions ***block_actions*** payload}. Defaults to false.
|
|
860
944
|
*/
|
|
@@ -898,6 +982,10 @@ type SectionBlock = {
|
|
|
898
982
|
* One of the available {@link https://api.slack.com/reference/messaging/block-elements element objects}.
|
|
899
983
|
*/
|
|
900
984
|
accessory?: Element;
|
|
985
|
+
/**
|
|
986
|
+
* When set to true, the full text is always displayed. When false or omitted, long text may be truncated with a "see more" option.
|
|
987
|
+
*/
|
|
988
|
+
expand?: boolean;
|
|
901
989
|
};
|
|
902
990
|
type VideoBlock = {
|
|
903
991
|
/**
|
|
@@ -1032,6 +1120,32 @@ type RichTextBlock = {
|
|
|
1032
1120
|
*/
|
|
1033
1121
|
elements: RichTextBlockElement[];
|
|
1034
1122
|
};
|
|
1123
|
+
type ContextActionsBlock = {
|
|
1124
|
+
type: "context_actions";
|
|
1125
|
+
elements: Element[];
|
|
1126
|
+
block_id?: string;
|
|
1127
|
+
};
|
|
1128
|
+
type MarkdownBlock = {
|
|
1129
|
+
type: "markdown";
|
|
1130
|
+
text: string;
|
|
1131
|
+
block_id?: string;
|
|
1132
|
+
};
|
|
1133
|
+
type PlanBlock = {
|
|
1134
|
+
type: "plan";
|
|
1135
|
+
title: string;
|
|
1136
|
+
tasks?: TaskCardBlock[];
|
|
1137
|
+
block_id?: string;
|
|
1138
|
+
};
|
|
1139
|
+
type TaskCardBlock = {
|
|
1140
|
+
type: "task_card";
|
|
1141
|
+
task_id: string;
|
|
1142
|
+
title: string;
|
|
1143
|
+
details?: RichTextBlock;
|
|
1144
|
+
output?: RichTextBlock;
|
|
1145
|
+
sources?: UrlSourceElement[];
|
|
1146
|
+
status?: "pending" | "in_progress" | "complete" | "error";
|
|
1147
|
+
block_id?: string;
|
|
1148
|
+
};
|
|
1035
1149
|
|
|
1036
1150
|
type RichTextBlockSubElement = RichTextList | RichTextPreformatted | RichTextQuote | RichTextSection;
|
|
1037
1151
|
type RichTextList = {
|
|
@@ -1055,6 +1169,10 @@ type RichTextPreformatted = {
|
|
|
1055
1169
|
* 0 or 1 (default 0) - if 1, a border is drawn on the left side of the block.
|
|
1056
1170
|
*/
|
|
1057
1171
|
border?: 0 | 1;
|
|
1172
|
+
/**
|
|
1173
|
+
* Programming language for syntax highlighting (e.g., "python", "javascript", "json").
|
|
1174
|
+
*/
|
|
1175
|
+
language?: string;
|
|
1058
1176
|
};
|
|
1059
1177
|
type RichTextQuote = {
|
|
1060
1178
|
type: "rich_text_quote";
|
|
@@ -1069,7 +1187,7 @@ type RichTextSection = {
|
|
|
1069
1187
|
elements: RichTextSectionElement[];
|
|
1070
1188
|
};
|
|
1071
1189
|
type RichTextBlockElement = RichTextList | RichTextPreformatted | RichTextQuote | RichTextSection;
|
|
1072
|
-
type RichTextSectionElement = RichTextSectionText | RichTextSectionChannel | RichTextSectionUser | RichTextSectionEmoji | RichTextSectionLink | RichTextSectionUsergroup | RichTextSectionBroadcast | RichTextSectionDate;
|
|
1190
|
+
type RichTextSectionElement = RichTextSectionText | RichTextSectionChannel | RichTextSectionUser | RichTextSectionEmoji | RichTextSectionLink | RichTextSectionUsergroup | RichTextSectionBroadcast | RichTextSectionDate | RichTextSectionColor;
|
|
1073
1191
|
type RichTextSectionDate = {
|
|
1074
1192
|
type: "date";
|
|
1075
1193
|
timestamp: number;
|
|
@@ -1110,6 +1228,7 @@ type RichTextSectionLink = {
|
|
|
1110
1228
|
type: "link";
|
|
1111
1229
|
url: string;
|
|
1112
1230
|
text?: string;
|
|
1231
|
+
unsafe?: boolean;
|
|
1113
1232
|
style?: RichTextSectionElementStyleCode;
|
|
1114
1233
|
};
|
|
1115
1234
|
type RichTextSectionUsergroup = {
|
|
@@ -1138,6 +1257,11 @@ type RichTextSectionElementStyleCode = {
|
|
|
1138
1257
|
strike?: boolean;
|
|
1139
1258
|
underline?: boolean;
|
|
1140
1259
|
};
|
|
1260
|
+
type RichTextSectionColor = {
|
|
1261
|
+
type: "color";
|
|
1262
|
+
value: string;
|
|
1263
|
+
style?: RichTextSectionElementStyle;
|
|
1264
|
+
};
|
|
1141
1265
|
|
|
1142
1266
|
type User = {
|
|
1143
1267
|
id: string;
|
|
@@ -1239,4 +1363,4 @@ type Props = {
|
|
|
1239
1363
|
type MessageProps = Props;
|
|
1240
1364
|
declare const Message: (props: Props) => react_jsx_runtime.JSX.Element;
|
|
1241
1365
|
|
|
1242
|
-
export { type ActionsBlock, type Block, type ButtonElement, type ChannelsSelectElement, type CheckboxesElement, type ConfirmDialogObject, type ContextBlock, type ConversationsSelectElement, type DatePickerElement, type DateTimePickerElement, type DispatchActionConfigObject, type DividerBlock, type Element, type EmailInputElement, type ExternalSelectElement, type FileBlock, type FilterObject, type HeaderBlock, type ImageBlock, type ImageElement, type InputBlock, Message, type MessageProps, type MultiChannelsSelectElement, type MultiConversationsSelectElement, type MultiExternalSelectElement, type MultiStaticSelectElement, type MultiUsersSelectElement, type NumberInputElement, type OptionGroupObject, type OptionObject, type OptionObjectWithoutUrl, type OverflowMenuElement, type PlainTextInputElement, type RadioButtonsElement, type RichTextBlock, type RichTextBlockElement, type RichTextBlockSubElement, type RichTextList, type RichTextPreformatted, type RichTextQuote, type RichTextSection, type RichTextSectionBroadcast, type RichTextSectionChannel, type RichTextSectionDate, type RichTextSectionElement, type RichTextSectionElementStyle, type RichTextSectionElementStyleCode, type RichTextSectionEmoji, type RichTextSectionLink, type RichTextSectionText, type RichTextSectionUser, type RichTextSectionUsergroup, type SectionBlock, type StaticSelectElement, type Style, type TableBlock, type TableCell, type TableColumnSetting, type TextObject, type TextObjectTextType, type TimePickerElement, type UrlTextInputElement, type UsersSelectElement, type VideoBlock };
|
|
1366
|
+
export { type ActionsBlock, type Block, type ButtonElement, type ChannelsSelectElement, type CheckboxesElement, type ConfirmDialogObject, type ContextActionsBlock, type ContextBlock, type ConversationsSelectElement, type DatePickerElement, type DateTimePickerElement, type DispatchActionConfigObject, type DividerBlock, type Element, type EmailInputElement, type ExternalSelectElement, type FeedbackButtonsElement, type FileBlock, type FileInputElement, type FilterObject, type HeaderBlock, type IconButtonElement, type ImageBlock, type ImageElement, type InputBlock, type MarkdownBlock, Message, type MessageProps, type MultiChannelsSelectElement, type MultiConversationsSelectElement, type MultiExternalSelectElement, type MultiStaticSelectElement, type MultiUsersSelectElement, type NumberInputElement, type OptionGroupObject, type OptionObject, type OptionObjectWithoutUrl, type OverflowMenuElement, type PlainTextInputElement, type PlanBlock, type RadioButtonsElement, type RichTextBlock, type RichTextBlockElement, type RichTextBlockSubElement, type RichTextInputElement, type RichTextList, type RichTextPreformatted, type RichTextQuote, type RichTextSection, type RichTextSectionBroadcast, type RichTextSectionChannel, type RichTextSectionColor, type RichTextSectionDate, type RichTextSectionElement, type RichTextSectionElementStyle, type RichTextSectionElementStyleCode, type RichTextSectionEmoji, type RichTextSectionLink, type RichTextSectionText, type RichTextSectionUser, type RichTextSectionUsergroup, type SectionBlock, type SlackFileObject, type StaticSelectElement, type Style, type TableBlock, type TableCell, type TableColumnSetting, type TaskCardBlock, type TextObject, type TextObjectTextType, type TimePickerElement, type TriggerObject, type UrlSourceElement, type UrlTextInputElement, type UsersSelectElement, type VideoBlock, type WorkflowButtonElement, type WorkflowObject };
|