slackblock 1.1.0 → 2.0.0-beta.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/CHANGELOG.md +62 -0
- package/README.md +227 -68
- package/dist/block.cjs +79 -124
- package/dist/block.cjs.map +1 -1
- package/dist/{block.d.mts → block.d.cts} +128 -92
- package/dist/block.d.ts +128 -92
- package/dist/block.mjs +80 -114
- package/dist/block.mjs.map +1 -1
- package/dist/index.cjs +250 -143
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +22 -0
- package/dist/index.d.ts +19 -4
- package/dist/index.mjs +243 -133
- package/dist/index.mjs.map +1 -1
- package/dist/jsx-dev-runtime.cjs +43 -0
- package/dist/jsx-dev-runtime.cjs.map +1 -0
- package/dist/jsx-dev-runtime.d.cts +1 -0
- package/dist/jsx-dev-runtime.d.ts +1 -0
- package/dist/jsx-dev-runtime.mjs +15 -0
- package/dist/jsx-dev-runtime.mjs.map +1 -0
- package/dist/jsx-runtime.cjs +46 -0
- package/dist/jsx-runtime.cjs.map +1 -0
- package/dist/jsx-runtime.d.cts +28 -0
- package/dist/jsx-runtime.d.ts +28 -0
- package/dist/jsx-runtime.mjs +19 -0
- package/dist/jsx-runtime.mjs.map +1 -0
- package/dist/{types.d-0WEt-h92.d.mts → types.d-BHoTwZUO.d.cts} +11 -11
- package/dist/{types.d-0WEt-h92.d.ts → types.d-BHoTwZUO.d.ts} +11 -11
- package/package.json +35 -30
- package/dist/index.d.mts +0 -7
package/dist/block.cjs
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
2
|
var __defProp = Object.defineProperty;
|
|
3
3
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
4
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
6
5
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
7
7
|
var __export = (target, all) => {
|
|
8
8
|
for (var name in all)
|
|
9
9
|
__defProp(target, name, { get: all[name], enumerable: true });
|
|
@@ -16,15 +16,8 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
16
16
|
}
|
|
17
17
|
return to;
|
|
18
18
|
};
|
|
19
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
20
|
-
// If the importer is in node compatibility mode or this is not an ESM
|
|
21
|
-
// file that has been converted to a CommonJS file using a Babel-
|
|
22
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
23
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
24
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
25
|
-
mod
|
|
26
|
-
));
|
|
27
19
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
20
|
+
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
28
21
|
|
|
29
22
|
// src/block.ts
|
|
30
23
|
var block_exports = {};
|
|
@@ -71,232 +64,194 @@ __export(block_exports, {
|
|
|
71
64
|
module.exports = __toCommonJS(block_exports);
|
|
72
65
|
|
|
73
66
|
// src/components/message.tsx
|
|
74
|
-
var
|
|
75
|
-
var Message = class extends import_react.default.Component {
|
|
67
|
+
var Message = class {
|
|
76
68
|
};
|
|
77
|
-
Message
|
|
69
|
+
__publicField(Message, "slackType", "Message");
|
|
78
70
|
|
|
79
71
|
// src/components/block/button.tsx
|
|
80
|
-
var
|
|
81
|
-
var Button = class extends import_react2.default.Component {
|
|
72
|
+
var Button = class {
|
|
82
73
|
};
|
|
83
|
-
Button
|
|
74
|
+
__publicField(Button, "slackType", "Button");
|
|
84
75
|
|
|
85
76
|
// src/components/block/confirmation.tsx
|
|
86
|
-
var
|
|
87
|
-
var Confirmation = class extends import_react3.default.Component {
|
|
77
|
+
var Confirmation = class {
|
|
88
78
|
};
|
|
89
|
-
Confirmation
|
|
79
|
+
__publicField(Confirmation, "slackType", "Confirmation");
|
|
90
80
|
|
|
91
81
|
// src/components/block/image.tsx
|
|
92
|
-
var
|
|
93
|
-
var Image = class extends import_react4.default.Component {
|
|
82
|
+
var Image = class {
|
|
94
83
|
};
|
|
95
|
-
Image
|
|
84
|
+
__publicField(Image, "slackType", "Image");
|
|
96
85
|
|
|
97
86
|
// src/components/block/text.tsx
|
|
98
|
-
var
|
|
99
|
-
var Text = class extends import_react5.default.Component {
|
|
87
|
+
var Text = class {
|
|
100
88
|
};
|
|
101
|
-
Text
|
|
89
|
+
__publicField(Text, "slackType", "Text");
|
|
102
90
|
|
|
103
91
|
// src/components/input/date-picker.tsx
|
|
104
|
-
var
|
|
105
|
-
var DatePicker = class extends import_react6.default.Component {
|
|
92
|
+
var DatePicker = class {
|
|
106
93
|
};
|
|
107
|
-
DatePicker
|
|
94
|
+
__publicField(DatePicker, "slackType", "DatePicker");
|
|
108
95
|
|
|
109
96
|
// src/components/input/date-time-picker.tsx
|
|
110
|
-
var
|
|
111
|
-
var DateTimePicker = class extends import_react7.default.Component {
|
|
97
|
+
var DateTimePicker = class {
|
|
112
98
|
};
|
|
113
|
-
DateTimePicker
|
|
99
|
+
__publicField(DateTimePicker, "slackType", "DateTimePicker");
|
|
114
100
|
|
|
115
101
|
// src/components/input/checkboxes.tsx
|
|
116
|
-
var
|
|
117
|
-
var Checkboxes = class extends import_react8.default.Component {
|
|
102
|
+
var Checkboxes = class {
|
|
118
103
|
};
|
|
119
|
-
Checkboxes
|
|
104
|
+
__publicField(Checkboxes, "slackType", "Checkboxes");
|
|
120
105
|
|
|
121
106
|
// src/components/input/option-group.tsx
|
|
122
|
-
var
|
|
123
|
-
var OptionGroup = class extends import_react9.default.Component {
|
|
107
|
+
var OptionGroup = class {
|
|
124
108
|
};
|
|
125
|
-
OptionGroup
|
|
109
|
+
__publicField(OptionGroup, "slackType", "OptionGroup");
|
|
126
110
|
|
|
127
111
|
// src/components/input/option.tsx
|
|
128
|
-
var
|
|
129
|
-
var Option = class extends import_react10.default.Component {
|
|
112
|
+
var Option = class {
|
|
130
113
|
};
|
|
131
|
-
Option
|
|
114
|
+
__publicField(Option, "slackType", "Option");
|
|
132
115
|
|
|
133
116
|
// src/components/input/overflow.tsx
|
|
134
|
-
var
|
|
135
|
-
var Overflow = class extends import_react11.default.Component {
|
|
117
|
+
var Overflow = class {
|
|
136
118
|
};
|
|
137
|
-
Overflow
|
|
119
|
+
__publicField(Overflow, "slackType", "Overflow");
|
|
138
120
|
|
|
139
121
|
// src/components/input/radio-group.tsx
|
|
140
|
-
var
|
|
141
|
-
var RadioGroup = class extends import_react12.default.Component {
|
|
122
|
+
var RadioGroup = class {
|
|
142
123
|
};
|
|
143
|
-
RadioGroup
|
|
124
|
+
__publicField(RadioGroup, "slackType", "RadioGroup");
|
|
144
125
|
|
|
145
126
|
// src/components/input/select.tsx
|
|
146
|
-
var
|
|
147
|
-
var Select = class extends import_react13.default.Component {
|
|
127
|
+
var Select = class {
|
|
148
128
|
};
|
|
149
|
-
Select
|
|
129
|
+
__publicField(Select, "slackType", "Select");
|
|
150
130
|
|
|
151
131
|
// src/components/input/text.tsx
|
|
152
|
-
var
|
|
153
|
-
var TextInput = class extends import_react14.default.Component {
|
|
132
|
+
var TextInput = class {
|
|
154
133
|
};
|
|
155
|
-
TextInput
|
|
134
|
+
__publicField(TextInput, "slackType", "TextInput");
|
|
156
135
|
|
|
157
136
|
// src/components/input/time-picker.tsx
|
|
158
|
-
var
|
|
159
|
-
var TimePicker = class extends import_react15.default.Component {
|
|
137
|
+
var TimePicker = class {
|
|
160
138
|
};
|
|
161
|
-
TimePicker
|
|
139
|
+
__publicField(TimePicker, "slackType", "TimePicker");
|
|
162
140
|
|
|
163
141
|
// src/components/layout/actions.tsx
|
|
164
|
-
var
|
|
165
|
-
var Actions = class extends import_react16.default.Component {
|
|
142
|
+
var Actions = class {
|
|
166
143
|
};
|
|
167
|
-
Actions
|
|
144
|
+
__publicField(Actions, "slackType", "Actions");
|
|
168
145
|
|
|
169
146
|
// src/components/layout/context.tsx
|
|
170
|
-
var
|
|
171
|
-
var Context = class extends import_react17.default.Component {
|
|
147
|
+
var Context = class {
|
|
172
148
|
};
|
|
173
|
-
Context
|
|
149
|
+
__publicField(Context, "slackType", "Context");
|
|
174
150
|
|
|
175
151
|
// src/components/layout/divider.tsx
|
|
176
|
-
var
|
|
177
|
-
var Divider = class extends import_react18.default.Component {
|
|
152
|
+
var Divider = class {
|
|
178
153
|
};
|
|
179
|
-
Divider
|
|
154
|
+
__publicField(Divider, "slackType", "Divider");
|
|
180
155
|
|
|
181
156
|
// src/components/layout/file.tsx
|
|
182
|
-
var
|
|
183
|
-
var File = class extends import_react19.default.Component {
|
|
157
|
+
var File = class {
|
|
184
158
|
};
|
|
185
|
-
File
|
|
159
|
+
__publicField(File, "slackType", "File");
|
|
186
160
|
|
|
187
161
|
// src/components/layout/header.tsx
|
|
188
|
-
var
|
|
189
|
-
var Header = class extends import_react20.default.Component {
|
|
162
|
+
var Header = class {
|
|
190
163
|
};
|
|
191
|
-
Header
|
|
164
|
+
__publicField(Header, "slackType", "Header");
|
|
192
165
|
|
|
193
166
|
// src/components/layout/image.tsx
|
|
194
|
-
var
|
|
195
|
-
var Image2 = class extends import_react21.default.Component {
|
|
167
|
+
var Image2 = class {
|
|
196
168
|
};
|
|
197
|
-
Image2
|
|
169
|
+
__publicField(Image2, "slackType", "ImageLayout");
|
|
198
170
|
|
|
199
171
|
// src/components/layout/input.tsx
|
|
200
|
-
var
|
|
201
|
-
var Input = class extends import_react22.default.Component {
|
|
172
|
+
var Input = class {
|
|
202
173
|
};
|
|
203
|
-
Input
|
|
174
|
+
__publicField(Input, "slackType", "Input");
|
|
204
175
|
|
|
205
176
|
// src/components/layout/rich-text.tsx
|
|
206
|
-
var
|
|
207
|
-
var RichText = class extends import_react23.default.Component {
|
|
177
|
+
var RichText = class {
|
|
208
178
|
};
|
|
209
|
-
RichText
|
|
179
|
+
__publicField(RichText, "slackType", "RichText");
|
|
210
180
|
|
|
211
181
|
// src/components/layout/section.tsx
|
|
212
|
-
var
|
|
213
|
-
var Section = class extends import_react24.default.Component {
|
|
182
|
+
var Section = class {
|
|
214
183
|
};
|
|
215
|
-
Section
|
|
184
|
+
__publicField(Section, "slackType", "Section");
|
|
216
185
|
|
|
217
186
|
// src/components/layout/container.tsx
|
|
218
|
-
var
|
|
219
|
-
var Container = class extends import_react25.default.Component {
|
|
187
|
+
var Container = class {
|
|
220
188
|
};
|
|
221
|
-
Container
|
|
189
|
+
__publicField(Container, "slackType", "Container");
|
|
222
190
|
|
|
223
191
|
// src/components/layout/video.tsx
|
|
224
|
-
var
|
|
225
|
-
var Video = class extends import_react26.default.Component {
|
|
192
|
+
var Video = class {
|
|
226
193
|
};
|
|
227
|
-
Video
|
|
194
|
+
__publicField(Video, "slackType", "Video");
|
|
228
195
|
|
|
229
196
|
// src/components/rich-text/section.tsx
|
|
230
|
-
var
|
|
231
|
-
var RichTextSection = class extends import_react27.default.Component {
|
|
197
|
+
var RichTextSection = class {
|
|
232
198
|
};
|
|
233
|
-
RichTextSection
|
|
199
|
+
__publicField(RichTextSection, "slackType", "RichTextSection");
|
|
234
200
|
|
|
235
201
|
// src/components/rich-text/list.tsx
|
|
236
|
-
var
|
|
237
|
-
var RichTextList = class extends import_react28.default.Component {
|
|
202
|
+
var RichTextList = class {
|
|
238
203
|
};
|
|
239
|
-
RichTextList
|
|
204
|
+
__publicField(RichTextList, "slackType", "RichTextList");
|
|
240
205
|
|
|
241
206
|
// src/components/rich-text/quote.tsx
|
|
242
|
-
var
|
|
243
|
-
var RichTextQuote = class extends import_react29.default.Component {
|
|
207
|
+
var RichTextQuote = class {
|
|
244
208
|
};
|
|
245
|
-
RichTextQuote
|
|
209
|
+
__publicField(RichTextQuote, "slackType", "RichTextQuote");
|
|
246
210
|
|
|
247
211
|
// src/components/rich-text/preformatted.tsx
|
|
248
|
-
var
|
|
249
|
-
var RichTextPreformatted = class extends import_react30.default.Component {
|
|
212
|
+
var RichTextPreformatted = class {
|
|
250
213
|
};
|
|
251
|
-
RichTextPreformatted
|
|
214
|
+
__publicField(RichTextPreformatted, "slackType", "RichTextPreformatted");
|
|
252
215
|
|
|
253
216
|
// src/components/rich-text/text.tsx
|
|
254
|
-
var
|
|
255
|
-
var RichTextText = class extends import_react31.default.Component {
|
|
217
|
+
var RichTextText = class {
|
|
256
218
|
};
|
|
257
|
-
RichTextText
|
|
219
|
+
__publicField(RichTextText, "slackType", "RichTextText");
|
|
258
220
|
|
|
259
221
|
// src/components/rich-text/link.tsx
|
|
260
|
-
var
|
|
261
|
-
var RichTextLink = class extends import_react32.default.Component {
|
|
222
|
+
var RichTextLink = class {
|
|
262
223
|
};
|
|
263
|
-
RichTextLink
|
|
224
|
+
__publicField(RichTextLink, "slackType", "RichTextLink");
|
|
264
225
|
|
|
265
226
|
// src/components/rich-text/user.tsx
|
|
266
|
-
var
|
|
267
|
-
var RichTextUser = class extends import_react33.default.Component {
|
|
227
|
+
var RichTextUser = class {
|
|
268
228
|
};
|
|
269
|
-
RichTextUser
|
|
229
|
+
__publicField(RichTextUser, "slackType", "RichTextUser");
|
|
270
230
|
|
|
271
231
|
// src/components/rich-text/channel.tsx
|
|
272
|
-
var
|
|
273
|
-
var RichTextChannel = class extends import_react34.default.Component {
|
|
232
|
+
var RichTextChannel = class {
|
|
274
233
|
};
|
|
275
|
-
RichTextChannel
|
|
234
|
+
__publicField(RichTextChannel, "slackType", "RichTextChannel");
|
|
276
235
|
|
|
277
236
|
// src/components/rich-text/emoji.tsx
|
|
278
|
-
var
|
|
279
|
-
var RichTextEmoji = class extends import_react35.default.Component {
|
|
237
|
+
var RichTextEmoji = class {
|
|
280
238
|
};
|
|
281
|
-
RichTextEmoji
|
|
239
|
+
__publicField(RichTextEmoji, "slackType", "RichTextEmoji");
|
|
282
240
|
|
|
283
241
|
// src/components/rich-text/date.tsx
|
|
284
|
-
var
|
|
285
|
-
var RichTextDate = class extends import_react36.default.Component {
|
|
242
|
+
var RichTextDate = class {
|
|
286
243
|
};
|
|
287
|
-
RichTextDate
|
|
244
|
+
__publicField(RichTextDate, "slackType", "RichTextDate");
|
|
288
245
|
|
|
289
246
|
// src/components/rich-text/broadcast.tsx
|
|
290
|
-
var
|
|
291
|
-
var RichTextBroadcast = class extends import_react37.default.Component {
|
|
247
|
+
var RichTextBroadcast = class {
|
|
292
248
|
};
|
|
293
|
-
RichTextBroadcast
|
|
249
|
+
__publicField(RichTextBroadcast, "slackType", "RichTextBroadcast");
|
|
294
250
|
|
|
295
251
|
// src/components/rich-text/user-group.tsx
|
|
296
|
-
var
|
|
297
|
-
var RichTextUserGroup = class extends import_react38.default.Component {
|
|
252
|
+
var RichTextUserGroup = class {
|
|
298
253
|
};
|
|
299
|
-
RichTextUserGroup
|
|
254
|
+
__publicField(RichTextUserGroup, "slackType", "RichTextUserGroup");
|
|
300
255
|
// Annotate the CommonJS export names for ESM import in node:
|
|
301
256
|
0 && (module.exports = {
|
|
302
257
|
Actions,
|
package/dist/block.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/block.ts","../src/components/message.tsx","../src/components/block/button.tsx","../src/components/block/confirmation.tsx","../src/components/block/image.tsx","../src/components/block/text.tsx","../src/components/input/date-picker.tsx","../src/components/input/date-time-picker.tsx","../src/components/input/checkboxes.tsx","../src/components/input/option-group.tsx","../src/components/input/option.tsx","../src/components/input/overflow.tsx","../src/components/input/radio-group.tsx","../src/components/input/select.tsx","../src/components/input/text.tsx","../src/components/input/time-picker.tsx","../src/components/layout/actions.tsx","../src/components/layout/context.tsx","../src/components/layout/divider.tsx","../src/components/layout/file.tsx","../src/components/layout/header.tsx","../src/components/layout/image.tsx","../src/components/layout/input.tsx","../src/components/layout/rich-text.tsx","../src/components/layout/section.tsx","../src/components/layout/container.tsx","../src/components/layout/video.tsx","../src/components/rich-text/section.tsx","../src/components/rich-text/list.tsx","../src/components/rich-text/quote.tsx","../src/components/rich-text/preformatted.tsx","../src/components/rich-text/text.tsx","../src/components/rich-text/link.tsx","../src/components/rich-text/user.tsx","../src/components/rich-text/channel.tsx","../src/components/rich-text/emoji.tsx","../src/components/rich-text/date.tsx","../src/components/rich-text/broadcast.tsx","../src/components/rich-text/user-group.tsx"],"sourcesContent":["export * from './components';\n","import React from 'react';\n\nimport {type Child} from '../constants/types';\n\ntype Properties = {\n children: Child;\n text?: string;\n asUser?: boolean;\n iconEmoji?: string;\n iconUrl?: string;\n markdown?: boolean;\n parse?: 'full' | 'none';\n replyBroadcast?: boolean;\n replyTo?: string;\n unfurlLinks?: boolean;\n unfurlMedia?: boolean;\n username?: string;\n color?: string;\n};\n\nexport default class Message extends React.Component<Properties> {\n static slackType = 'Message';\n}\n","import React from 'react';\n\nimport type Confirmation from './confirmation';\n\ntype TopProperties = {\n children: string;\n actionId: string;\n url?: string;\n value?: string;\n style?: 'primary' | 'danger';\n accessibilityLabel?: string;\n};\n\nexport type ButtonProps = TopProperties & {\n confirm?: React.ReactElement<Confirmation>;\n};\n\ntype Properties = ButtonProps;\n\nexport default class Button extends React.Component<Properties> {\n static slackType = 'Button';\n}\n","import React from 'react';\n\nimport type Text from './text';\n\ntype TopProperties = {\n title: string;\n confirm: string;\n deny: string;\n};\n\n/* This is a dumb workaround to merging props */\nexport type ConfirmationProps = TopProperties & {\n children: React.ReactElement<Text>;\n};\n\ntype Properties = ConfirmationProps;\n\nexport default class Confirmation extends React.Component<Properties> {\n static slackType = 'Confirmation';\n}\n","import React from 'react';\n\nexport type Props = {\n url: string;\n alt: string;\n};\n\nexport default class Image extends React.Component<Props> {\n static slackType = 'Image';\n}\n","import React from 'react';\n\nexport type Props = {\n children: string;\n plainText?: boolean;\n emoji?: boolean;\n verbatim?: boolean;\n};\n\nexport default class Text extends React.Component<Props> {\n static slackType = 'Text';\n}\n","import React from 'react';\n\nimport type Confirmation from '../block/confirmation';\n\nexport type Props = {\n actionId: string;\n placeholder?: string;\n initialDate?: string;\n confirm?: React.ReactElement<Confirmation>;\n focusOnLoad?: boolean;\n};\n\nexport default class DatePicker extends React.Component<Props> {\n static slackType = 'DatePicker';\n}\n","import React from 'react';\n\nimport type Confirmation from '../block/confirmation';\n\nexport type Props = {\n actionId: string;\n initialDateTime?: number;\n confirm?: React.ReactElement<Confirmation>;\n focusOnLoad?: boolean;\n};\n\nexport default class DateTimePicker extends React.Component<Props> {\n static slackType = 'DateTimePicker';\n}\n","import React from 'react';\n\nimport type Confirmation from '../block/confirmation';\nimport {type SingleOrArray} from '../../utils/type-helpers';\n\nimport type Option from './option';\n\nexport type Props = {\n actionId: string;\n children: SingleOrArray<React.ReactElement<Option>>;\n initialOptions?: Array<React.ReactElement<Option>>;\n confirm?: React.ReactElement<Confirmation>;\n focusOnLoad?: boolean;\n};\n\nexport default class Checkboxes extends React.Component<Props> {\n static slackType = 'Checkboxes';\n}\n","import React from 'react';\n\nimport type Option from './option';\n\nexport type Props = {\n label: string;\n children: React.ReactElement<Option> | Array<React.ReactElement<Option>>;\n};\n\nexport default class OptionGroup extends React.Component<Props> {\n static slackType = 'OptionGroup';\n}\n","import React from 'react';\n\nexport type Props = {\n children: string;\n value: string;\n url?: string;\n description?: string;\n};\n\nexport default class Option extends React.Component<Props> {\n static slackType = 'Option';\n}\n","import React from 'react';\n\nimport type Confirmation from '../block/confirmation';\nimport {type SingleOrArray} from '../../utils/type-helpers';\n\nimport type Option from './option';\n\nexport type Props = {\n actionId: string;\n children: SingleOrArray<React.ReactElement<Option>>;\n confirm?: React.ReactElement<Confirmation>;\n};\n\nexport default class Overflow extends React.Component<Props> {\n static slackType = 'Overflow';\n}\n","import React from 'react';\n\nimport type Confirmation from '../block/confirmation';\nimport {type SingleOrArray} from '../../utils/type-helpers';\n\nimport type Option from './option';\n\nexport type Props = {\n actionId: string;\n children: SingleOrArray<React.ReactElement<Option>>;\n initialOption?: React.ReactElement<Option>;\n confirm?: React.ReactElement<Confirmation>;\n focusOnLoad?: boolean;\n};\n\nexport default class RadioGroup extends React.Component<Props> {\n static slackType = 'RadioGroup';\n}\n","import React from 'react';\n\nimport type Confirmation from '../block/confirmation';\nimport {type SingleOrArray} from '../../utils/type-helpers';\n\nimport type Option from './option';\nimport type OptionGroup from './option-group';\n\nexport const selectTypes = {\n STATIC: 'static',\n EXTERNAL: 'external',\n USER: 'user',\n CONVERSATION: 'conversation',\n CHANNEL: 'channel',\n} as const;\n\ntype SelectType = typeof selectTypes[keyof typeof selectTypes];\n\ntype ConversationFilter = {\n include?: Array<'im' | 'mpim' | 'private' | 'public'>;\n excludeExternalSharedChannels?: boolean;\n excludeBotUsers?: boolean;\n};\n\nexport type Props = {\n placeholder: string;\n actionId: string;\n type?: SelectType;\n multi?: boolean;\n children?: SingleOrArray<React.ReactElement<Option>> | SingleOrArray<React.ReactElement<OptionGroup>>;\n initialOptions?: Array<React.ReactElement<Option>>;\n confirm?: React.ReactElement<Confirmation>;\n maxSelectedItems?: number;\n minQueryLength?: number;\n focusOnLoad?: boolean;\n initialUsers?: string[];\n initialConversations?: string[];\n initialChannels?: string[];\n defaultToCurrentConversation?: boolean;\n responseUrlEnabled?: boolean;\n filter?: ConversationFilter;\n};\n\nexport default class Select extends React.Component<Props> {\n static slackType = 'Select';\n}\n","import React from 'react';\n\nexport type Props = {\n actionId: string;\n placeholder?: string;\n initial?: string;\n multiline?: boolean;\n minLength?: number;\n maxLength?: number;\n focusOnLoad?: boolean;\n dispatchActionConfig?: {\n triggerActionsOn: Array<'on_enter_pressed' | 'on_character_entered'>;\n };\n};\n\nexport default class TextInput extends React.Component<Props> {\n static slackType = 'TextInput';\n}\n","import React from 'react';\n\nimport type Confirmation from '../block/confirmation';\n\nexport type Props = {\n actionId: string;\n placeholder?: string;\n initialTime?: string;\n confirm?: React.ReactElement<Confirmation>;\n focusOnLoad?: boolean;\n};\n\nexport default class TimePicker extends React.Component<Props> {\n static slackType = 'TimePicker';\n}\n","import React from 'react';\n\nimport {type InteractiveBlockElement} from '../../constants/types';\n\nexport type Props = {\n children: InteractiveBlockElement | InteractiveBlockElement[];\n blockId?: string;\n};\n\nexport default class Actions extends React.Component<Props> {\n static slackType = 'Actions';\n}\n","import React from 'react';\n\nimport type Text from '../block/text';\nimport type Image from '../block/image';\n\nexport type ImageOrText = React.ReactElement<Text> | React.ReactElement<Image>;\n\nexport type Props = {\n children: ImageOrText | ImageOrText[];\n blockId?: string;\n};\n\nexport default class Context extends React.Component<Props> {\n static slackType = 'Context';\n}\n","import React from 'react';\n\nexport type Props = {\n blockId?: string;\n};\n\nexport default class Divider extends React.Component<Props> {\n static slackType = 'Divider';\n}\n","import React from 'react';\n\nexport type Props = {\n externalId: string;\n blockId?: string;\n};\n\nexport default class File extends React.Component<Props> {\n static slackType = 'File';\n}\n","import React from 'react';\n\nexport type Props = {\n text: string;\n blockId?: string;\n emoji?: boolean;\n};\n\nexport default class Header extends React.Component<Props> {\n static slackType = 'Header';\n}\n","import React from 'react';\n\nexport type Props = {\n url: string;\n alt: string;\n title?: string;\n blockId?: string;\n};\n\nexport default class Image extends React.Component<Props> {\n static slackType = 'ImageLayout';\n}\n","import React from 'react';\n\nimport {type InputBlockElement} from '../../constants/types';\n\nexport type Props = {\n label: string;\n element: InputBlockElement;\n hint?: string;\n optional?: boolean;\n blockId?: string;\n};\n\nexport default class Input extends React.Component<Props> {\n static slackType = 'Input';\n}\n","import React from 'react';\n\nimport {type SingleOrArray} from '../../utils/type-helpers';\n\nexport type RichTextElement = Record<string, any>;\n\nexport type Props = {\n elements?: RichTextElement[];\n children?: SingleOrArray<React.ReactElement | string>;\n blockId?: string;\n};\n\nexport default class RichText extends React.Component<Props> {\n static slackType = 'RichText';\n}\n","import React from 'react';\n\nimport type Text from '../block/text';\nimport {type BlockElement} from '../../constants/types';\nimport {type SingleOrArray} from '../../utils/type-helpers';\n\ntype TextElement = React.ReactElement<Text>;\n\nexport type Props = {\n text: React.ReactElement<Text>;\n blockId?: string;\n // eslint-disable-next-line @typescript-eslint/no-restricted-types -- We actually want to handle null children\n children?: SingleOrArray<TextElement | null | undefined | false>;\n accessory?: BlockElement;\n};\n\nexport default class Section extends React.Component<Props> {\n static slackType = 'Section';\n}\n","import React from 'react';\n\nimport {type SingleOrArray} from '../../utils/type-helpers';\nimport {type Child} from '../../constants/types';\n\nexport type Props = {\n children: SingleOrArray<Child>;\n};\n\nexport default class Container extends React.Component<Props> {\n static slackType = 'Container';\n}\n","import React from 'react';\n\nexport type Props = {\n title: string;\n videoUrl: string;\n thumbnailUrl: string;\n altText: string;\n titleUrl?: string;\n description?: string;\n authorName?: string;\n providerName?: string;\n providerIconUrl?: string;\n blockId?: string;\n};\n\nexport default class Video extends React.Component<Props> {\n static slackType = 'Video';\n}\n","import React from 'react';\n\nimport {type SingleOrArray} from '../../utils/type-helpers';\n\nexport type Props = {\n children: SingleOrArray<React.ReactElement | string>;\n};\n\nexport default class RichTextSection extends React.Component<Props> {\n static slackType = 'RichTextSection';\n}\n","import React from 'react';\n\nimport {type SingleOrArray} from '../../utils/type-helpers';\n\nimport {type RichTextListStyle} from './types';\n\nexport type Props = {\n style: RichTextListStyle;\n children: SingleOrArray<React.ReactElement | string>;\n indent?: number;\n border?: number;\n};\n\nexport default class RichTextList extends React.Component<Props> {\n static slackType = 'RichTextList';\n}\n","import React from 'react';\n\nimport {type SingleOrArray} from '../../utils/type-helpers';\n\nexport type Props = {\n children: SingleOrArray<React.ReactElement | string>;\n};\n\nexport default class RichTextQuote extends React.Component<Props> {\n static slackType = 'RichTextQuote';\n}\n","import React from 'react';\n\nimport {type SingleOrArray} from '../../utils/type-helpers';\n\nexport type Props = {\n children: SingleOrArray<React.ReactElement | string>;\n};\n\nexport default class RichTextPreformatted extends React.Component<Props> {\n static slackType = 'RichTextPreformatted';\n}\n","import React from 'react';\n\nimport {type RichTextStyle} from './types';\n\nexport type Props = {\n children: string;\n style?: RichTextStyle;\n};\n\nexport default class RichTextText extends React.Component<Props> {\n static slackType = 'RichTextText';\n}\n","import React from 'react';\n\nimport {type RichTextStyle} from './types';\n\nexport type Props = {\n url: string;\n children?: string;\n style?: RichTextStyle;\n};\n\nexport default class RichTextLink extends React.Component<Props> {\n static slackType = 'RichTextLink';\n}\n","import React from 'react';\n\nexport type Props = {\n userId: string;\n};\n\nexport default class RichTextUser extends React.Component<Props> {\n static slackType = 'RichTextUser';\n}\n","import React from 'react';\n\nexport type Props = {\n channelId: string;\n};\n\nexport default class RichTextChannel extends React.Component<Props> {\n static slackType = 'RichTextChannel';\n}\n","import React from 'react';\n\nexport type Props = {\n name: string;\n};\n\nexport default class RichTextEmoji extends React.Component<Props> {\n static slackType = 'RichTextEmoji';\n}\n","import React from 'react';\n\nexport type Props = {\n timestamp: number;\n format: string;\n fallback: string;\n link?: string;\n};\n\nexport default class RichTextDate extends React.Component<Props> {\n static slackType = 'RichTextDate';\n}\n","import React from 'react';\n\nimport {type RichTextBroadcastRange} from './types';\n\nexport type Props = {\n range: RichTextBroadcastRange;\n};\n\nexport default class RichTextBroadcast extends React.Component<Props> {\n static slackType = 'RichTextBroadcast';\n}\n","import React from 'react';\n\nexport type Props = {\n usergroupId: string;\n};\n\nexport default class RichTextUserGroup extends React.Component<Props> {\n static slackType = 'RichTextUserGroup';\n}\n"],"mappings":"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","names":["Image","React","import_react","React","import_react","React","import_react","React","import_react","React","import_react","React","import_react","React","import_react","React","import_react","React","import_react","React","import_react","React","import_react","React","import_react","React","import_react","React","import_react","React","import_react","React","import_react","React","import_react","React","import_react","React","import_react","React","import_react","Image","React","import_react","React","import_react","React","import_react","React","import_react","React","import_react","React","import_react","React","import_react","React","import_react","React","import_react","React","import_react","React","import_react","React","import_react","React","import_react","React","import_react","React","import_react","React","import_react","React","import_react","React"]}
|
|
1
|
+
{"version":3,"sources":["../src/block.ts","../src/components/message.tsx","../src/components/block/button.tsx","../src/components/block/confirmation.tsx","../src/components/block/image.tsx","../src/components/block/text.tsx","../src/components/input/date-picker.tsx","../src/components/input/date-time-picker.tsx","../src/components/input/checkboxes.tsx","../src/components/input/option-group.tsx","../src/components/input/option.tsx","../src/components/input/overflow.tsx","../src/components/input/radio-group.tsx","../src/components/input/select.tsx","../src/components/input/text.tsx","../src/components/input/time-picker.tsx","../src/components/layout/actions.tsx","../src/components/layout/context.tsx","../src/components/layout/divider.tsx","../src/components/layout/file.tsx","../src/components/layout/header.tsx","../src/components/layout/image.tsx","../src/components/layout/input.tsx","../src/components/layout/rich-text.tsx","../src/components/layout/section.tsx","../src/components/layout/container.tsx","../src/components/layout/video.tsx","../src/components/rich-text/section.tsx","../src/components/rich-text/list.tsx","../src/components/rich-text/quote.tsx","../src/components/rich-text/preformatted.tsx","../src/components/rich-text/text.tsx","../src/components/rich-text/link.tsx","../src/components/rich-text/user.tsx","../src/components/rich-text/channel.tsx","../src/components/rich-text/emoji.tsx","../src/components/rich-text/date.tsx","../src/components/rich-text/broadcast.tsx","../src/components/rich-text/user-group.tsx"],"sourcesContent":["export * from './components';\n","\nimport {type Child} from '../constants/types';\n\n/**\n * Props for the `<Message>` component.\n *\n * The top-level element required by `render()` / `renderToMessage()`.\n * Add blocks as children; use `text` as a fallback for notifications.\n */\nexport type Properties = {\n children: Child;\n text?: string;\n asUser?: boolean;\n iconEmoji?: string;\n iconUrl?: string;\n markdown?: boolean;\n parse?: 'full' | 'none';\n replyBroadcast?: boolean;\n replyTo?: string;\n unfurlLinks?: boolean;\n unfurlMedia?: boolean;\n username?: string;\n color?: string;\n};\n\n/**\n * Root element for a Slack chat message.\n *\n * Must be the top-level element passed to `render()`.\n * Add layout blocks as children.\n *\n * @example\n * ```tsx\n * render(\n * <Message text=\"Fallback\">\n * <Header text=\"Hello\" />\n * </Message>\n * );\n * ```\n */\nexport default class Message {\n static slackType = 'Message';\n declare props: Properties;\n}\n","\ntype TopProperties = {\n children: string;\n actionId: string;\n url?: string;\n value?: string;\n style?: 'primary' | 'danger';\n accessibilityLabel?: string;\n};\n\nexport type ButtonProps = TopProperties & {\n confirm?: JSX.Element;\n};\n\ntype Properties = ButtonProps;\n\n/**\n * A button element — clickable button used in `<Actions>` blocks or as a\n * `<Section>` accessory.\n *\n * @example\n * ```tsx\n * <Button actionId=\"submit\" style=\"primary\" value=\"yes\">Submit</Button>\n * <Button actionId=\"delete\" style=\"danger\" confirm={confirmDialog}>Delete</Button>\n * <Button actionId=\"docs\" url=\"https://example.com\">View docs</Button>\n * ```\n */\nexport default class Button {\n static slackType = 'Button';\n declare props: Properties;\n}\n","\ntype TopProperties = {\n title: string;\n confirm: string;\n deny: string;\n};\n\n/* This is a dumb workaround to merging props */\nexport type ConfirmationProps = TopProperties & {\n children: JSX.Element;\n};\n\ntype Properties = ConfirmationProps;\n\n/**\n * A confirmation dialog — shown before an interactive action is triggered.\n *\n * Pass a `<Confirmation>` element to the `confirm` prop of interactive\n * elements such as `<Button>`, `<Select>`, `<Overflow>`, etc.\n *\n * @example\n * ```tsx\n * const dialog = (\n * <Confirmation title=\"Are you sure?\" confirm=\"Yes, delete\" deny=\"Cancel\">\n * <Text plainText>This action cannot be undone.</Text>\n * </Confirmation>\n * );\n *\n * <Button actionId=\"delete\" confirm={dialog} style=\"danger\">Delete</Button>\n * ```\n */\nexport default class Confirmation {\n static slackType = 'Confirmation';\n declare props: Properties;\n}\n","\nexport type Props = {\n url: string;\n alt: string;\n};\n\n/**\n * An image element — displays an inline image inside `<Context>` or as a\n * `<Section>` accessory.\n *\n * For a full-width image block, use `<ImageLayout>` instead.\n *\n * @example\n * ```tsx\n * <Context>\n * <Image url=\"https://example.com/icon.png\" alt=\"icon\" />\n * <Text>Some context</Text>\n * </Context>\n * ```\n */\nexport default class Image {\n static slackType = 'Image';\n declare props: Props;\n}\n","\nexport type Props = {\n children: string;\n plainText?: boolean;\n emoji?: boolean;\n verbatim?: boolean;\n};\n\n/**\n * A text object — renders as `mrkdwn` (default) or `plain_text`.\n *\n * Used as the `text` prop on `<Section>`, `<Header>`, inside `<Context>`,\n * and as a child of `<Section>` for fields.\n *\n * @example\n * ```tsx\n * <Text>Hello *world*</Text>\n * <Text plainText emoji>Hello :wave:</Text>\n * ```\n */\nexport default class Text {\n static slackType = 'Text';\n declare props: Props;\n}\n","\nexport type Props = {\n actionId: string;\n placeholder?: string;\n initialDate?: string;\n confirm?: JSX.Element;\n focusOnLoad?: boolean;\n};\n\n/**\n * A date picker — a calendar-style date selector.\n *\n * `initialDate` must be in `YYYY-MM-DD` format.\n *\n * @example\n * ```tsx\n * <Input label=\"Due date\" element={\n * <DatePicker actionId=\"due_date\" initialDate=\"2024-12-31\" />\n * } />\n * ```\n */\nexport default class DatePicker {\n static slackType = 'DatePicker';\n declare props: Props;\n}\n","\nexport type Props = {\n actionId: string;\n initialDateTime?: number;\n confirm?: JSX.Element;\n focusOnLoad?: boolean;\n};\n\n/**\n * A combined date and time picker.\n *\n * `initialDateTime` is a Unix timestamp (seconds since epoch).\n *\n * @example\n * ```tsx\n * <Input label=\"Scheduled at\" element={\n * <DateTimePicker actionId=\"scheduled_at\" initialDateTime={1700000000} />\n * } />\n * ```\n */\nexport default class DateTimePicker {\n static slackType = 'DateTimePicker';\n declare props: Props;\n}\n","\nimport {type SingleOrArray} from '../../utils/type-helpers';\n\nexport type Props = {\n actionId: string;\n children: SingleOrArray<JSX.Element>;\n initialOptions?: JSX.Element[];\n confirm?: JSX.Element;\n focusOnLoad?: boolean;\n};\n\n/**\n * A checkbox group — allows multiple selections from a list of options.\n *\n * Pass `<Option>` elements as children. Pre-check options via `initialOptions`.\n *\n * @example\n * ```tsx\n * <Checkboxes actionId=\"prefs\" initialOptions={[slackOption]}>\n * <Option value=\"emails\">Emails</Option>\n * <Option value=\"slack\">Slack</Option>\n * </Checkboxes>\n * ```\n */\nexport default class Checkboxes {\n static slackType = 'Checkboxes';\n declare props: Props;\n}\n","\nexport type Props = {\n label: string;\n children: JSX.Element | JSX.Element[];\n};\n\n/**\n * Groups options under a labeled heading inside a `<Select>`.\n *\n * @example\n * ```tsx\n * <Select placeholder=\"Pick one\" actionId=\"grouped\">\n * <OptionGroup label=\"Fruits\">\n * <Option value=\"apple\">Apple</Option>\n * </OptionGroup>\n * </Select>\n * ```\n */\nexport default class OptionGroup {\n static slackType = 'OptionGroup';\n declare props: Props;\n}\n","\nexport type Props = {\n children: string;\n value: string;\n url?: string;\n description?: string;\n};\n\n/**\n * An option item for `<Select>`, `<Checkboxes>`, `<RadioGroup>`, or `<Overflow>`.\n *\n * The children (text) is the display label; `value` is sent in the action payload.\n *\n * @example\n * ```tsx\n * <Option value=\"opt_a\" description=\"The first option\">Option A</Option>\n * ```\n */\nexport default class Option {\n static slackType = 'Option';\n declare props: Props;\n}\n","\nimport {type SingleOrArray} from '../../utils/type-helpers';\n\nexport type Props = {\n actionId: string;\n children: SingleOrArray<JSX.Element>;\n confirm?: JSX.Element;\n};\n\n/**\n * An overflow menu — the \"⋯\" button that reveals a list of options.\n *\n * Requires at least 2 `<Option>` children. Options can include a `url` to open a link.\n *\n * @example\n * ```tsx\n * <Overflow actionId=\"more\">\n * <Option value=\"edit\">Edit</Option>\n * <Option value=\"delete\">Delete</Option>\n * <Option value=\"docs\" url=\"https://example.com/docs\">View docs</Option>\n * </Overflow>\n * ```\n */\nexport default class Overflow {\n static slackType = 'Overflow';\n declare props: Props;\n}\n","\nimport {type SingleOrArray} from '../../utils/type-helpers';\n\nexport type Props = {\n actionId: string;\n children: SingleOrArray<JSX.Element>;\n initialOption?: JSX.Element;\n confirm?: JSX.Element;\n focusOnLoad?: boolean;\n};\n\n/**\n * A radio button group — allows exactly one selection from a list of options.\n *\n * Pass `<Option>` elements as children. Pre-select an option via `initialOption`.\n *\n * @example\n * ```tsx\n * <RadioGroup actionId=\"size\" initialOption={<Option value=\"m\">Medium</Option>}>\n * <Option value=\"s\">Small</Option>\n * <Option value=\"m\">Medium</Option>\n * <Option value=\"l\">Large</Option>\n * </RadioGroup>\n * ```\n */\nexport default class RadioGroup {\n static slackType = 'RadioGroup';\n declare props: Props;\n}\n","\nimport {type SingleOrArray} from '../../utils/type-helpers';\n\nexport const selectTypes = {\n STATIC: 'static',\n EXTERNAL: 'external',\n USER: 'user',\n CONVERSATION: 'conversation',\n CHANNEL: 'channel',\n} as const;\n\ntype SelectType = typeof selectTypes[keyof typeof selectTypes];\n\ntype ConversationFilter = {\n include?: Array<'im' | 'mpim' | 'private' | 'public'>;\n excludeExternalSharedChannels?: boolean;\n excludeBotUsers?: boolean;\n};\n\nexport type Props = {\n placeholder: string;\n actionId: string;\n type?: SelectType;\n multi?: boolean;\n children?: SingleOrArray<JSX.Element>;\n initialOptions?: JSX.Element[];\n confirm?: JSX.Element;\n maxSelectedItems?: number;\n minQueryLength?: number;\n focusOnLoad?: boolean;\n initialUsers?: string[];\n initialConversations?: string[];\n initialChannels?: string[];\n defaultToCurrentConversation?: boolean;\n responseUrlEnabled?: boolean;\n filter?: ConversationFilter;\n};\n\n/**\n * A select menu — supports static options, external data sources, and user /\n * channel / conversation lists. Can be single or multi-select.\n *\n * Use the `type` prop to switch data sources (default: `'static'`).\n * Pass `<Option>` or `<OptionGroup>` children for static selects.\n *\n * @example\n * ```tsx\n * // Static single-select\n * <Select placeholder=\"Pick one\" actionId=\"color\">\n * <Option value=\"red\">Red</Option>\n * <Option value=\"blue\">Blue</Option>\n * </Select>\n *\n * // User multi-select\n * <Select type=\"user\" multi placeholder=\"Pick users\" actionId=\"mentions\" />\n * ```\n */\nexport default class Select {\n static slackType = 'Select';\n declare props: Props;\n}\n","\nexport type Props = {\n actionId: string;\n placeholder?: string;\n initial?: string;\n multiline?: boolean;\n minLength?: number;\n maxLength?: number;\n focusOnLoad?: boolean;\n dispatchActionConfig?: {\n triggerActionsOn: Array<'on_enter_pressed' | 'on_character_entered'>;\n };\n};\n\n/**\n * A plain-text input field — used as the `element` prop inside `<Input>`.\n *\n * @example\n * ```tsx\n * <Input label=\"Your name\" element={\n * <TextInput\n * actionId=\"name\"\n * placeholder=\"Jane Doe\"\n * maxLength={80}\n * focusOnLoad\n * />\n * } />\n * ```\n */\nexport default class TextInput {\n static slackType = 'TextInput';\n declare props: Props;\n}\n","\nexport type Props = {\n actionId: string;\n placeholder?: string;\n initialTime?: string;\n confirm?: JSX.Element;\n focusOnLoad?: boolean;\n};\n\n/**\n * A time picker — a clock-style time selector.\n *\n * `initialTime` must be in `HH:mm` (24-hour) format.\n *\n * @example\n * ```tsx\n * <Input label=\"Meeting time\" element={\n * <TimePicker actionId=\"meeting_time\" initialTime=\"09:00\" />\n * } />\n * ```\n */\nexport default class TimePicker {\n static slackType = 'TimePicker';\n declare props: Props;\n}\n","\nimport {type InteractiveBlockElement} from '../../constants/types';\n\nexport type Props = {\n children: InteractiveBlockElement | InteractiveBlockElement[];\n blockId?: string;\n};\n\n/**\n * An actions block — displays interactive elements in a horizontal row.\n *\n * Accepts up to 25 interactive elements as children: `<Button>`, `<Select>`,\n * `<Overflow>`, `<DatePicker>`, `<TimePicker>`, `<DateTimePicker>`.\n *\n * @example\n * ```tsx\n * <Actions>\n * <Button actionId=\"approve\" style=\"primary\">Approve</Button>\n * <Button actionId=\"deny\" style=\"danger\">Deny</Button>\n * </Actions>\n * ```\n */\nexport default class Actions {\n static slackType = 'Actions';\n declare props: Props;\n}\n","\nexport type ImageOrText = JSX.Element;\n\nexport type Props = {\n children: ImageOrText | ImageOrText[];\n blockId?: string;\n};\n\n/**\n * A context block — displays small text and images in a horizontal row.\n *\n * Accepts up to 10 `<Text>` or `<Image>` elements as children.\n *\n * @example\n * ```tsx\n * <Context>\n * <Image url=\"https://example.com/avatar.png\" alt=\"avatar\" />\n * <Text>Posted by *Jane Doe*</Text>\n * </Context>\n * ```\n */\nexport default class Context {\n static slackType = 'Context';\n declare props: Props;\n}\n","\nexport type Props = {\n blockId?: string;\n};\n\n/**\n * A divider block — renders a horizontal rule between blocks.\n *\n * @example\n * ```tsx\n * <Divider />\n * ```\n */\nexport default class Divider {\n static slackType = 'Divider';\n declare props: Props;\n}\n","\nexport type Props = {\n externalId: string;\n blockId?: string;\n};\n\n/**\n * A file block — embeds a remote file that has been shared in Slack.\n *\n * @example\n * ```tsx\n * <File externalId=\"my-report-id\" />\n * ```\n */\nexport default class File {\n static slackType = 'File';\n declare props: Props;\n}\n","\nexport type Props = {\n text: string;\n blockId?: string;\n emoji?: boolean;\n};\n\n/**\n * A header block — displays large, bold plain text at the top of a section.\n *\n * Maximum 150 characters.\n *\n * @example\n * ```tsx\n * <Header text=\"Deploy complete\" emoji />\n * ```\n */\nexport default class Header {\n static slackType = 'Header';\n declare props: Props;\n}\n","\nexport type Props = {\n url: string;\n alt: string;\n title?: string;\n blockId?: string;\n};\n\n/**\n * An image layout block — displays a full-width image.\n *\n * Imported as `ImageLayout` to avoid ambiguity with the `<Image>` element.\n *\n * @example\n * ```tsx\n * import { ImageLayout } from 'slackblock/block';\n *\n * <ImageLayout\n * url=\"https://example.com/chart.png\"\n * alt=\"Sales chart\"\n * title=\"Q4 Results\"\n * />\n * ```\n */\nexport default class Image {\n static slackType = 'ImageLayout';\n declare props: Props;\n}\n","\nimport {type InputBlockElement} from '../../constants/types';\n\nexport type Props = {\n label: string;\n element: InputBlockElement;\n hint?: string;\n optional?: boolean;\n blockId?: string;\n};\n\n/**\n * An input block — wraps a single interactive input element with a label.\n *\n * Pass the input element via the `element` prop (not as a child).\n *\n * @example\n * ```tsx\n * <Input\n * label=\"Your name\"\n * hint=\"Use your full name\"\n * element={<TextInput actionId=\"name\" placeholder=\"Jane Doe\" />}\n * />\n * ```\n */\nexport default class Input {\n static slackType = 'Input';\n declare props: Props;\n}\n","\nimport {type SingleOrArray} from '../../utils/type-helpers';\n\nexport type RichTextElement = Record<string, any>;\n\nexport type Props = {\n elements?: RichTextElement[];\n children?: SingleOrArray<JSX.Element | string>;\n blockId?: string;\n};\n\n/**\n * A rich text block — contains formatted text with inline styling, lists,\n * quotes, and preformatted code.\n *\n * Accepts `<RichTextSection>`, `<RichTextList>`, `<RichTextQuote>`, and\n * `<RichTextPreformatted>` as children.\n *\n * @example\n * ```tsx\n * <RichText>\n * <RichTextSection>\n * <RichTextText style={{ bold: true }}>Hello</RichTextText>\n * </RichTextSection>\n * </RichText>\n * ```\n */\nexport default class RichText {\n static slackType = 'RichText';\n declare props: Props;\n}\n","\nimport {type BlockElement} from '../../constants/types';\nimport {type SingleOrArray} from '../../utils/type-helpers';\n\ntype TextElement = JSX.Element;\n\nexport type Props = {\n text: JSX.Element;\n blockId?: string;\n // eslint-disable-next-line @typescript-eslint/no-restricted-types -- We actually want to handle null children\n children?: SingleOrArray<TextElement | null | undefined | false>;\n accessory?: BlockElement;\n};\n\n/**\n * A section block — the most versatile layout block.\n *\n * Displays a primary text label, optional two-column fields (children),\n * and an optional accessory element on the right.\n *\n * @example\n * ```tsx\n * <Section\n * text={<Text>Hello *world*</Text>}\n * accessory={<Button actionId=\"more\">More</Button>}\n * >\n * <Text plainText>Field A</Text>\n * <Text plainText>Field B</Text>\n * </Section>\n * ```\n */\nexport default class Section {\n static slackType = 'Section';\n declare props: Props;\n}\n","\nimport {type SingleOrArray} from '../../utils/type-helpers';\nimport {type Child} from '../../constants/types';\n\nexport type Props = {\n children: SingleOrArray<Child>;\n};\n\n/**\n * A pass-through utility component that renders its children without adding\n * any wrapper block. Useful for conditional rendering and mapping arrays\n * without introducing an extra layout layer.\n *\n * @example\n * ```tsx\n * <Message text=\"Hello\">\n * {isAdmin && (\n * <Container>\n * <Section text={<Text>Admin section</Text>} />\n * <Divider />\n * </Container>\n * )}\n * </Message>\n * ```\n */\nexport default class Container {\n static slackType = 'Container';\n declare props: Props;\n}\n","\nexport type Props = {\n title: string;\n videoUrl: string;\n thumbnailUrl: string;\n altText: string;\n titleUrl?: string;\n description?: string;\n authorName?: string;\n providerName?: string;\n providerIconUrl?: string;\n blockId?: string;\n};\n\n/**\n * A video block — embeds an external video with a thumbnail, title, and metadata.\n *\n * @example\n * ```tsx\n * <Video\n * title=\"Product Demo\"\n * videoUrl=\"https://example.com/demo.mp4\"\n * thumbnailUrl=\"https://example.com/thumb.png\"\n * altText=\"Product demo video\"\n * authorName=\"Product Team\"\n * />\n * ```\n */\nexport default class Video {\n static slackType = 'Video';\n declare props: Props;\n}\n","\nimport {type SingleOrArray} from '../../utils/type-helpers';\n\nexport type Props = {\n children: SingleOrArray<JSX.Element | string>;\n};\n\n/**\n * An inline container for rich text content within a `<RichText>` block.\n * Also used as individual list items inside `<RichTextList>`.\n *\n * @example\n * ```tsx\n * <RichTextSection>\n * <RichTextText style={{ bold: true }}>Hello</RichTextText>\n * {' world'}\n * </RichTextSection>\n * ```\n */\nexport default class RichTextSection {\n static slackType = 'RichTextSection';\n declare props: Props;\n}\n","\nimport {type SingleOrArray} from '../../utils/type-helpers';\n\nimport {type RichTextListStyle} from './types';\n\nexport type Props = {\n style: RichTextListStyle;\n children: SingleOrArray<JSX.Element | string>;\n indent?: number;\n border?: number;\n};\n\n/**\n * A bulleted or numbered list in rich text.\n *\n * Each list item should be a `<RichTextSection>` child.\n * Supports indentation (`indent` 0–6) and border styling.\n *\n * @example\n * ```tsx\n * <RichTextList style=\"bullet\" indent={1}>\n * <RichTextSection><RichTextText>Item one</RichTextText></RichTextSection>\n * <RichTextSection><RichTextText>Item two</RichTextText></RichTextSection>\n * </RichTextList>\n * ```\n */\nexport default class RichTextList {\n static slackType = 'RichTextList';\n declare props: Props;\n}\n","\nimport {type SingleOrArray} from '../../utils/type-helpers';\n\nexport type Props = {\n children: SingleOrArray<JSX.Element | string>;\n};\n\n/**\n * A blockquote in rich text — displays content with a visual left-border indent.\n *\n * @example\n * ```tsx\n * <RichTextQuote>\n * <RichTextText>This is a quoted passage.</RichTextText>\n * </RichTextQuote>\n * ```\n */\nexport default class RichTextQuote {\n static slackType = 'RichTextQuote';\n declare props: Props;\n}\n","\nimport {type SingleOrArray} from '../../utils/type-helpers';\n\nexport type Props = {\n children: SingleOrArray<JSX.Element | string>;\n};\n\n/**\n * A preformatted code block in rich text — monospaced, no line wrapping.\n *\n * @example\n * ```tsx\n * <RichTextPreformatted>\n * <RichTextText style={{ code: true }}>const x = 1;</RichTextText>\n * </RichTextPreformatted>\n * ```\n */\nexport default class RichTextPreformatted {\n static slackType = 'RichTextPreformatted';\n declare props: Props;\n}\n","\nimport {type RichTextStyle} from './types';\n\nexport type Props = {\n children: string;\n style?: RichTextStyle;\n};\n\n/**\n * Styled text within a rich text block.\n *\n * Apply bold, italic, strikethrough, or inline code styling via `style`.\n *\n * @example\n * ```tsx\n * <RichTextText style={{ bold: true, italic: true }}>Bold italic</RichTextText>\n * <RichTextText style={{ code: true }}>inline code</RichTextText>\n * ```\n */\nexport default class RichTextText {\n static slackType = 'RichTextText';\n declare props: Props;\n}\n","\nimport {type RichTextStyle} from './types';\n\nexport type Props = {\n url: string;\n children?: string;\n style?: RichTextStyle;\n};\n\n/**\n * A hyperlink within rich text. Displays `children` as the link text,\n * or falls back to the URL if `children` is omitted.\n *\n * @example\n * ```tsx\n * <RichTextLink url=\"https://example.com\" style={{ bold: true }}>Visit us</RichTextLink>\n * ```\n */\nexport default class RichTextLink {\n static slackType = 'RichTextLink';\n declare props: Props;\n}\n","\nexport type Props = {\n userId: string;\n};\n\n/**\n * Mentions a Slack user by ID in rich text (renders as `@username`).\n *\n * @example\n * ```tsx\n * <RichTextUser userId=\"U123456\" />\n * ```\n */\nexport default class RichTextUser {\n static slackType = 'RichTextUser';\n declare props: Props;\n}\n","\nexport type Props = {\n channelId: string;\n};\n\n/**\n * Mentions a Slack channel by ID in rich text (renders as `#channel-name`).\n *\n * @example\n * ```tsx\n * <RichTextChannel channelId=\"C123456\" />\n * ```\n */\nexport default class RichTextChannel {\n static slackType = 'RichTextChannel';\n declare props: Props;\n}\n","\nexport type Props = {\n name: string;\n};\n\n/**\n * Renders an emoji by name in rich text.\n *\n * @example\n * ```tsx\n * <RichTextEmoji name=\"wave\" />\n * ```\n */\nexport default class RichTextEmoji {\n static slackType = 'RichTextEmoji';\n declare props: Props;\n}\n","\nexport type Props = {\n timestamp: number;\n format: string;\n fallback: string;\n};\n\n/**\n * Renders a formatted date that adapts to each viewer's local timezone.\n *\n * `timestamp` is a Unix timestamp. `format` uses Slack's date format tokens\n * (e.g. `\"{date_long} at {time}\"`). `fallback` is shown if rendering fails.\n *\n * @see https://api.slack.com/reference/surfaces/formatting#date-formatting\n *\n * @example\n * ```tsx\n * <RichTextDate\n * timestamp={1700000000}\n * format=\"{date_long} at {time}\"\n * fallback=\"Nov 14, 2023 at 22:13\"\n * />\n * ```\n */\nexport default class RichTextDate {\n static slackType = 'RichTextDate';\n declare props: Props;\n}\n","\nimport {type RichTextBroadcastRange} from './types';\n\nexport type Props = {\n range: RichTextBroadcastRange;\n};\n\n/**\n * A `@here`, `@channel`, or `@everyone` broadcast mention in rich text.\n *\n * @example\n * ```tsx\n * <RichTextBroadcast range=\"here\" />\n * ```\n */\nexport default class RichTextBroadcast {\n static slackType = 'RichTextBroadcast';\n declare props: Props;\n}\n","\nexport type Props = {\n usergroupId: string;\n};\n\n/**\n * Mentions a Slack user group by ID in rich text.\n *\n * @example\n * ```tsx\n * <RichTextUserGroup usergroupId=\"S123456\" />\n * ```\n */\nexport default class RichTextUserGroup {\n static slackType = 'RichTextUserGroup';\n declare props: Props;\n}\n"],"mappings":"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","names":["Image","Image"]}
|