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/dist/block.cjs CHANGED
@@ -1,9 +1,9 @@
1
- var __create = Object.create;
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 import_react = __toESM(require("react"));
75
- var Message = class extends import_react.default.Component {
67
+ var Message = class {
76
68
  };
77
- Message.slackType = "Message";
69
+ __publicField(Message, "slackType", "Message");
78
70
 
79
71
  // src/components/block/button.tsx
80
- var import_react2 = __toESM(require("react"));
81
- var Button = class extends import_react2.default.Component {
72
+ var Button = class {
82
73
  };
83
- Button.slackType = "Button";
74
+ __publicField(Button, "slackType", "Button");
84
75
 
85
76
  // src/components/block/confirmation.tsx
86
- var import_react3 = __toESM(require("react"));
87
- var Confirmation = class extends import_react3.default.Component {
77
+ var Confirmation = class {
88
78
  };
89
- Confirmation.slackType = "Confirmation";
79
+ __publicField(Confirmation, "slackType", "Confirmation");
90
80
 
91
81
  // src/components/block/image.tsx
92
- var import_react4 = __toESM(require("react"));
93
- var Image = class extends import_react4.default.Component {
82
+ var Image = class {
94
83
  };
95
- Image.slackType = "Image";
84
+ __publicField(Image, "slackType", "Image");
96
85
 
97
86
  // src/components/block/text.tsx
98
- var import_react5 = __toESM(require("react"));
99
- var Text = class extends import_react5.default.Component {
87
+ var Text = class {
100
88
  };
101
- Text.slackType = "Text";
89
+ __publicField(Text, "slackType", "Text");
102
90
 
103
91
  // src/components/input/date-picker.tsx
104
- var import_react6 = __toESM(require("react"));
105
- var DatePicker = class extends import_react6.default.Component {
92
+ var DatePicker = class {
106
93
  };
107
- DatePicker.slackType = "DatePicker";
94
+ __publicField(DatePicker, "slackType", "DatePicker");
108
95
 
109
96
  // src/components/input/date-time-picker.tsx
110
- var import_react7 = __toESM(require("react"));
111
- var DateTimePicker = class extends import_react7.default.Component {
97
+ var DateTimePicker = class {
112
98
  };
113
- DateTimePicker.slackType = "DateTimePicker";
99
+ __publicField(DateTimePicker, "slackType", "DateTimePicker");
114
100
 
115
101
  // src/components/input/checkboxes.tsx
116
- var import_react8 = __toESM(require("react"));
117
- var Checkboxes = class extends import_react8.default.Component {
102
+ var Checkboxes = class {
118
103
  };
119
- Checkboxes.slackType = "Checkboxes";
104
+ __publicField(Checkboxes, "slackType", "Checkboxes");
120
105
 
121
106
  // src/components/input/option-group.tsx
122
- var import_react9 = __toESM(require("react"));
123
- var OptionGroup = class extends import_react9.default.Component {
107
+ var OptionGroup = class {
124
108
  };
125
- OptionGroup.slackType = "OptionGroup";
109
+ __publicField(OptionGroup, "slackType", "OptionGroup");
126
110
 
127
111
  // src/components/input/option.tsx
128
- var import_react10 = __toESM(require("react"));
129
- var Option = class extends import_react10.default.Component {
112
+ var Option = class {
130
113
  };
131
- Option.slackType = "Option";
114
+ __publicField(Option, "slackType", "Option");
132
115
 
133
116
  // src/components/input/overflow.tsx
134
- var import_react11 = __toESM(require("react"));
135
- var Overflow = class extends import_react11.default.Component {
117
+ var Overflow = class {
136
118
  };
137
- Overflow.slackType = "Overflow";
119
+ __publicField(Overflow, "slackType", "Overflow");
138
120
 
139
121
  // src/components/input/radio-group.tsx
140
- var import_react12 = __toESM(require("react"));
141
- var RadioGroup = class extends import_react12.default.Component {
122
+ var RadioGroup = class {
142
123
  };
143
- RadioGroup.slackType = "RadioGroup";
124
+ __publicField(RadioGroup, "slackType", "RadioGroup");
144
125
 
145
126
  // src/components/input/select.tsx
146
- var import_react13 = __toESM(require("react"));
147
- var Select = class extends import_react13.default.Component {
127
+ var Select = class {
148
128
  };
149
- Select.slackType = "Select";
129
+ __publicField(Select, "slackType", "Select");
150
130
 
151
131
  // src/components/input/text.tsx
152
- var import_react14 = __toESM(require("react"));
153
- var TextInput = class extends import_react14.default.Component {
132
+ var TextInput = class {
154
133
  };
155
- TextInput.slackType = "TextInput";
134
+ __publicField(TextInput, "slackType", "TextInput");
156
135
 
157
136
  // src/components/input/time-picker.tsx
158
- var import_react15 = __toESM(require("react"));
159
- var TimePicker = class extends import_react15.default.Component {
137
+ var TimePicker = class {
160
138
  };
161
- TimePicker.slackType = "TimePicker";
139
+ __publicField(TimePicker, "slackType", "TimePicker");
162
140
 
163
141
  // src/components/layout/actions.tsx
164
- var import_react16 = __toESM(require("react"));
165
- var Actions = class extends import_react16.default.Component {
142
+ var Actions = class {
166
143
  };
167
- Actions.slackType = "Actions";
144
+ __publicField(Actions, "slackType", "Actions");
168
145
 
169
146
  // src/components/layout/context.tsx
170
- var import_react17 = __toESM(require("react"));
171
- var Context = class extends import_react17.default.Component {
147
+ var Context = class {
172
148
  };
173
- Context.slackType = "Context";
149
+ __publicField(Context, "slackType", "Context");
174
150
 
175
151
  // src/components/layout/divider.tsx
176
- var import_react18 = __toESM(require("react"));
177
- var Divider = class extends import_react18.default.Component {
152
+ var Divider = class {
178
153
  };
179
- Divider.slackType = "Divider";
154
+ __publicField(Divider, "slackType", "Divider");
180
155
 
181
156
  // src/components/layout/file.tsx
182
- var import_react19 = __toESM(require("react"));
183
- var File = class extends import_react19.default.Component {
157
+ var File = class {
184
158
  };
185
- File.slackType = "File";
159
+ __publicField(File, "slackType", "File");
186
160
 
187
161
  // src/components/layout/header.tsx
188
- var import_react20 = __toESM(require("react"));
189
- var Header = class extends import_react20.default.Component {
162
+ var Header = class {
190
163
  };
191
- Header.slackType = "Header";
164
+ __publicField(Header, "slackType", "Header");
192
165
 
193
166
  // src/components/layout/image.tsx
194
- var import_react21 = __toESM(require("react"));
195
- var Image2 = class extends import_react21.default.Component {
167
+ var Image2 = class {
196
168
  };
197
- Image2.slackType = "ImageLayout";
169
+ __publicField(Image2, "slackType", "ImageLayout");
198
170
 
199
171
  // src/components/layout/input.tsx
200
- var import_react22 = __toESM(require("react"));
201
- var Input = class extends import_react22.default.Component {
172
+ var Input = class {
202
173
  };
203
- Input.slackType = "Input";
174
+ __publicField(Input, "slackType", "Input");
204
175
 
205
176
  // src/components/layout/rich-text.tsx
206
- var import_react23 = __toESM(require("react"));
207
- var RichText = class extends import_react23.default.Component {
177
+ var RichText = class {
208
178
  };
209
- RichText.slackType = "RichText";
179
+ __publicField(RichText, "slackType", "RichText");
210
180
 
211
181
  // src/components/layout/section.tsx
212
- var import_react24 = __toESM(require("react"));
213
- var Section = class extends import_react24.default.Component {
182
+ var Section = class {
214
183
  };
215
- Section.slackType = "Section";
184
+ __publicField(Section, "slackType", "Section");
216
185
 
217
186
  // src/components/layout/container.tsx
218
- var import_react25 = __toESM(require("react"));
219
- var Container = class extends import_react25.default.Component {
187
+ var Container = class {
220
188
  };
221
- Container.slackType = "Container";
189
+ __publicField(Container, "slackType", "Container");
222
190
 
223
191
  // src/components/layout/video.tsx
224
- var import_react26 = __toESM(require("react"));
225
- var Video = class extends import_react26.default.Component {
192
+ var Video = class {
226
193
  };
227
- Video.slackType = "Video";
194
+ __publicField(Video, "slackType", "Video");
228
195
 
229
196
  // src/components/rich-text/section.tsx
230
- var import_react27 = __toESM(require("react"));
231
- var RichTextSection = class extends import_react27.default.Component {
197
+ var RichTextSection = class {
232
198
  };
233
- RichTextSection.slackType = "RichTextSection";
199
+ __publicField(RichTextSection, "slackType", "RichTextSection");
234
200
 
235
201
  // src/components/rich-text/list.tsx
236
- var import_react28 = __toESM(require("react"));
237
- var RichTextList = class extends import_react28.default.Component {
202
+ var RichTextList = class {
238
203
  };
239
- RichTextList.slackType = "RichTextList";
204
+ __publicField(RichTextList, "slackType", "RichTextList");
240
205
 
241
206
  // src/components/rich-text/quote.tsx
242
- var import_react29 = __toESM(require("react"));
243
- var RichTextQuote = class extends import_react29.default.Component {
207
+ var RichTextQuote = class {
244
208
  };
245
- RichTextQuote.slackType = "RichTextQuote";
209
+ __publicField(RichTextQuote, "slackType", "RichTextQuote");
246
210
 
247
211
  // src/components/rich-text/preformatted.tsx
248
- var import_react30 = __toESM(require("react"));
249
- var RichTextPreformatted = class extends import_react30.default.Component {
212
+ var RichTextPreformatted = class {
250
213
  };
251
- RichTextPreformatted.slackType = "RichTextPreformatted";
214
+ __publicField(RichTextPreformatted, "slackType", "RichTextPreformatted");
252
215
 
253
216
  // src/components/rich-text/text.tsx
254
- var import_react31 = __toESM(require("react"));
255
- var RichTextText = class extends import_react31.default.Component {
217
+ var RichTextText = class {
256
218
  };
257
- RichTextText.slackType = "RichTextText";
219
+ __publicField(RichTextText, "slackType", "RichTextText");
258
220
 
259
221
  // src/components/rich-text/link.tsx
260
- var import_react32 = __toESM(require("react"));
261
- var RichTextLink = class extends import_react32.default.Component {
222
+ var RichTextLink = class {
262
223
  };
263
- RichTextLink.slackType = "RichTextLink";
224
+ __publicField(RichTextLink, "slackType", "RichTextLink");
264
225
 
265
226
  // src/components/rich-text/user.tsx
266
- var import_react33 = __toESM(require("react"));
267
- var RichTextUser = class extends import_react33.default.Component {
227
+ var RichTextUser = class {
268
228
  };
269
- RichTextUser.slackType = "RichTextUser";
229
+ __publicField(RichTextUser, "slackType", "RichTextUser");
270
230
 
271
231
  // src/components/rich-text/channel.tsx
272
- var import_react34 = __toESM(require("react"));
273
- var RichTextChannel = class extends import_react34.default.Component {
232
+ var RichTextChannel = class {
274
233
  };
275
- RichTextChannel.slackType = "RichTextChannel";
234
+ __publicField(RichTextChannel, "slackType", "RichTextChannel");
276
235
 
277
236
  // src/components/rich-text/emoji.tsx
278
- var import_react35 = __toESM(require("react"));
279
- var RichTextEmoji = class extends import_react35.default.Component {
237
+ var RichTextEmoji = class {
280
238
  };
281
- RichTextEmoji.slackType = "RichTextEmoji";
239
+ __publicField(RichTextEmoji, "slackType", "RichTextEmoji");
282
240
 
283
241
  // src/components/rich-text/date.tsx
284
- var import_react36 = __toESM(require("react"));
285
- var RichTextDate = class extends import_react36.default.Component {
242
+ var RichTextDate = class {
286
243
  };
287
- RichTextDate.slackType = "RichTextDate";
244
+ __publicField(RichTextDate, "slackType", "RichTextDate");
288
245
 
289
246
  // src/components/rich-text/broadcast.tsx
290
- var import_react37 = __toESM(require("react"));
291
- var RichTextBroadcast = class extends import_react37.default.Component {
247
+ var RichTextBroadcast = class {
292
248
  };
293
- RichTextBroadcast.slackType = "RichTextBroadcast";
249
+ __publicField(RichTextBroadcast, "slackType", "RichTextBroadcast");
294
250
 
295
251
  // src/components/rich-text/user-group.tsx
296
- var import_react38 = __toESM(require("react"));
297
- var RichTextUserGroup = class extends import_react38.default.Component {
252
+ var RichTextUserGroup = class {
298
253
  };
299
- RichTextUserGroup.slackType = "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,
@@ -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"]}