slackblock 0.4.0 → 1.0.0-0
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 +33 -26
- package/LICENSE +21 -21
- package/README.md +95 -85
- package/dist/block.cjs +341 -0
- package/dist/block.cjs.map +1 -0
- package/dist/block.d.mts +412 -0
- package/dist/block.d.ts +412 -0
- package/dist/block.mjs +268 -0
- package/dist/block.mjs.map +1 -0
- package/dist/index.cjs +1202 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.mts +6 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.mjs +1170 -0
- package/dist/index.mjs.map +1 -0
- package/dist/types.d-DgQXbJte.d.mts +296 -0
- package/dist/types.d-DgQXbJte.d.ts +296 -0
- package/package.json +85 -135
- package/blocks.js +0 -12
- package/index.js +0 -7
- package/lib/components/block/button.js +0 -27
- package/lib/components/block/confirmation.js +0 -27
- package/lib/components/block/image.js +0 -27
- package/lib/components/block/text.js +0 -27
- package/lib/components/index.js +0 -42
- package/lib/components/input/date-picker.js +0 -27
- package/lib/components/input/option-group.js +0 -27
- package/lib/components/input/option.js +0 -27
- package/lib/components/input/overflow.js +0 -27
- package/lib/components/input/radio-group.js +0 -27
- package/lib/components/input/select.js +0 -34
- package/lib/components/input/text.js +0 -27
- package/lib/components/layout/actions.js +0 -27
- package/lib/components/layout/container.js +0 -27
- package/lib/components/layout/context.js +0 -27
- package/lib/components/layout/divider.js +0 -27
- package/lib/components/layout/file.js +0 -27
- package/lib/components/layout/image.js +0 -27
- package/lib/components/layout/input.js +0 -27
- package/lib/components/layout/section.js +0 -27
- package/lib/components/message.js +0 -27
- package/lib/index.js +0 -7
- package/lib/parser/index.js +0 -32
- package/lib/renderer/index.js +0 -71
- package/lib/transformers/block/button.js +0 -29
- package/lib/transformers/block/confirmation.js +0 -18
- package/lib/transformers/block/image.js +0 -10
- package/lib/transformers/block/text.js +0 -16
- package/lib/transformers/index.js +0 -54
- package/lib/transformers/input/date-picker.js +0 -30
- package/lib/transformers/input/option-group.js +0 -19
- package/lib/transformers/input/option.js +0 -19
- package/lib/transformers/input/overflow.js +0 -19
- package/lib/transformers/input/radio-group.js +0 -22
- package/lib/transformers/input/select.js +0 -84
- package/lib/transformers/input/text.js +0 -31
- package/lib/transformers/layout/actions.js +0 -18
- package/lib/transformers/layout/container.js +0 -11
- package/lib/transformers/layout/context.js +0 -18
- package/lib/transformers/layout/divider.js +0 -10
- package/lib/transformers/layout/file.js +0 -14
- package/lib/transformers/layout/image.js +0 -23
- package/lib/transformers/layout/input.js +0 -26
- package/lib/transformers/layout/section.js +0 -31
- package/lib/utils/get-type.js +0 -16
- package/lib/utils/type-helpers.js +0 -2
- package/src/components/block/button.tsx +0 -20
- package/src/components/block/confirmation.tsx +0 -19
- package/src/components/block/image.tsx +0 -8
- package/src/components/block/text.tsx +0 -10
- package/src/components/index.ts +0 -23
- package/src/components/input/date-picker.tsx +0 -11
- package/src/components/input/option-group.tsx +0 -9
- package/src/components/input/option.tsx +0 -9
- package/src/components/input/overflow.tsx +0 -12
- package/src/components/input/radio-group.tsx +0 -13
- package/src/components/input/select.tsx +0 -36
- package/src/components/input/text.tsx +0 -12
- package/src/components/layout/actions.tsx +0 -9
- package/src/components/layout/container.tsx +0 -9
- package/src/components/layout/context.tsx +0 -12
- package/src/components/layout/divider.tsx +0 -7
- package/src/components/layout/file.tsx +0 -8
- package/src/components/layout/image.tsx +0 -10
- package/src/components/layout/input.tsx +0 -12
- package/src/components/layout/section.tsx +0 -15
- package/src/components/message.tsx +0 -20
- package/src/constants/types.d.ts +0 -93
- package/src/index.ts +0 -3
- package/src/parser/index.ts +0 -32
- package/src/renderer/index.ts +0 -75
- package/src/transformers/block/button.tsx +0 -47
- package/src/transformers/block/confirmation.tsx +0 -26
- package/src/transformers/block/image.ts +0 -18
- package/src/transformers/block/text.ts +0 -34
- package/src/transformers/index.ts +0 -65
- package/src/transformers/input/date-picker.tsx +0 -43
- package/src/transformers/input/option-group.tsx +0 -26
- package/src/transformers/input/option.tsx +0 -27
- package/src/transformers/input/overflow.ts +0 -33
- package/src/transformers/input/radio-group.ts +0 -38
- package/src/transformers/input/select.tsx +0 -136
- package/src/transformers/input/text.tsx +0 -47
- package/src/transformers/layout/actions.ts +0 -29
- package/src/transformers/layout/container.ts +0 -16
- package/src/transformers/layout/context.ts +0 -35
- package/src/transformers/layout/divider.ts +0 -20
- package/src/transformers/layout/file.ts +0 -24
- package/src/transformers/layout/image.tsx +0 -34
- package/src/transformers/layout/input.tsx +0 -39
- package/src/transformers/layout/section.ts +0 -53
- package/src/tsconfig.json +0 -11
- package/src/utils/get-type.ts +0 -20
- package/src/utils/type-helpers.ts +0 -1
- package/test/index.test.tsx +0 -11
- package/test/parser/parser.test.tsx +0 -67
- package/test/renderer/renderer.test.tsx +0 -138
- package/test/transformers/block/button.test.tsx +0 -63
- package/test/transformers/block/confirmation.test.tsx +0 -37
- package/test/transformers/block/image.test.tsx +0 -20
- package/test/transformers/block/text.test.tsx +0 -32
- package/test/transformers/input/date-picker.test.tsx +0 -66
- package/test/transformers/input/option-group.test.tsx +0 -26
- package/test/transformers/input/option.test.tsx +0 -36
- package/test/transformers/input/overflow.test.tsx +0 -57
- package/test/transformers/input/radio-group.test.tsx +0 -81
- package/test/transformers/input/select.test.tsx +0 -249
- package/test/transformers/input/text.test.tsx +0 -42
- package/test/transformers/layout/actions.test.tsx +0 -33
- package/test/transformers/layout/container.test.tsx +0 -34
- package/test/transformers/layout/context.test.tsx +0 -43
- package/test/transformers/layout/divider.test.tsx +0 -20
- package/test/transformers/layout/file.test.tsx +0 -26
- package/test/transformers/layout/image.test.tsx +0 -43
- package/test/transformers/layout/input.test.tsx +0 -59
- package/test/transformers/layout/section.test.tsx +0 -89
- package/test/tsconfig.json +0 -9
- package/test/utils/get-type.test.tsx +0 -21
- package/tsconfig.json +0 -14
package/CHANGELOG.md
CHANGED
|
@@ -1,26 +1,33 @@
|
|
|
1
|
-
# Changelog
|
|
2
|
-
|
|
3
|
-
### 0.
|
|
4
|
-
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
-
|
|
18
|
-
|
|
19
|
-
### 0.0
|
|
20
|
-
-
|
|
21
|
-
|
|
22
|
-
### 0.0
|
|
23
|
-
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
### 1.0.0
|
|
4
|
+
- Modernize tooling (Node 24, pnpm, tsup, Vitest, XO, Husky + lint-staged)
|
|
5
|
+
- Stabilize parser/transformer routing and align output types to serialized JSON
|
|
6
|
+
- Expand Block Kit coverage (header, rich_text, video, checkboxes, time/datetime pickers)
|
|
7
|
+
- Add rich_text helpers and improved select/input features
|
|
8
|
+
- Add validation warnings for Slack limits
|
|
9
|
+
|
|
10
|
+
### 0.4.0
|
|
11
|
+
- Allow for `<Section/>` blocks to have `null` components (useful for conditional renders)
|
|
12
|
+
|
|
13
|
+
### 0.3.1
|
|
14
|
+
- Fix issue that caused an error to be thrown if a child is `null`
|
|
15
|
+
|
|
16
|
+
### 0.3.0
|
|
17
|
+
- Add `Container` block to allow for better conditional rendering
|
|
18
|
+
|
|
19
|
+
### 0.2.0
|
|
20
|
+
- Add ability to color messages
|
|
21
|
+
|
|
22
|
+
### 0.1.0
|
|
23
|
+
- Add all additional props to the top level `<Message/>` component
|
|
24
|
+
- Remove `token` / `channel` prop since they are out of scope for the component
|
|
25
|
+
|
|
26
|
+
### 0.0.4
|
|
27
|
+
- Fix issue where `<Actions/>` block would have incorrect type
|
|
28
|
+
|
|
29
|
+
### 0.0.3
|
|
30
|
+
- Fix issue where `<Button/>` element was outputting `actionId` when it should be `action_id`
|
|
31
|
+
|
|
32
|
+
### 0.0.1 / 0.0.2
|
|
33
|
+
- Initial release
|
package/LICENSE
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
MIT License
|
|
2
|
-
|
|
3
|
-
Copyright (c) 2019 Kolya Venturi
|
|
4
|
-
|
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
-
in the Software without restriction, including without limitation the rights
|
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
-
furnished to do so, subject to the following conditions:
|
|
11
|
-
|
|
12
|
-
The above copyright notice and this permission notice shall be included in all
|
|
13
|
-
copies or substantial portions of the Software.
|
|
14
|
-
|
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
-
SOFTWARE.
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2019 Kolya Venturi
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
CHANGED
|
@@ -1,85 +1,95 @@
|
|
|
1
|
-
# SlackBlock
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
[](https://circleci.com/gh/kolyaventuri/block/tree/master)
|
|
5
|
-
|
|
6
|
-
## What
|
|
7
|
-
A message builder for Slack bots, using JSX
|
|
8
|
-
|
|
9
|
-
## Getting started
|
|
10
|
-
Install the library with `
|
|
11
|
-
|
|
12
|
-
- Import the renderer with `import render from 'slackblock';`
|
|
13
|
-
- Import the top level `Message` block, along with any blocks you need from `import { Message, Section, Text, ... } from 'slackblock/block';`
|
|
14
|
-
- Build your message!
|
|
15
|
-
```jsx
|
|
16
|
-
/* example */
|
|
17
|
-
|
|
18
|
-
const text = <Text plainText>Hello</Text>;
|
|
19
|
-
|
|
20
|
-
const message = render(
|
|
21
|
-
<Message>
|
|
22
|
-
<Section text={text}>
|
|
23
|
-
<Text>Some *message* for _Slack_.</Text>
|
|
24
|
-
</Section>
|
|
25
|
-
</Message>
|
|
26
|
-
);
|
|
27
|
-
|
|
28
|
-
console.log(message);
|
|
29
|
-
/*
|
|
30
|
-
{
|
|
31
|
-
"blocks": [
|
|
32
|
-
{
|
|
33
|
-
"type": "section",
|
|
34
|
-
"text": {
|
|
35
|
-
"
|
|
36
|
-
"text": "Hello"
|
|
37
|
-
},
|
|
38
|
-
"fields": [
|
|
39
|
-
{
|
|
40
|
-
"type": "mrkdwn",
|
|
41
|
-
"text": "Some *message* for _Slack_."
|
|
42
|
-
}
|
|
43
|
-
]
|
|
44
|
-
}
|
|
45
|
-
]
|
|
46
|
-
}
|
|
47
|
-
*/
|
|
48
|
-
```
|
|
49
|
-
|
|
50
|
-
There is a `<Container/>` component, which allows for conditional rendering by passing through the children as though it didn't exist.
|
|
51
|
-
```jsx
|
|
52
|
-
const elem = (
|
|
53
|
-
<Container>
|
|
54
|
-
<Text>Test</Text>
|
|
55
|
-
</Container>
|
|
56
|
-
);
|
|
57
|
-
|
|
58
|
-
const shouldDoThing = ...;
|
|
59
|
-
|
|
60
|
-
const message = render(
|
|
61
|
-
<Message>
|
|
62
|
-
{shouldDoThing && elem}
|
|
63
|
-
</Message>
|
|
64
|
-
);
|
|
65
|
-
```
|
|
66
|
-
|
|
67
|
-
## Things to note
|
|
68
|
-
- The outputted message only needs to have your `token` and desired `channel_id` added, and it will be ready to send to the slack API!
|
|
69
|
-
-
|
|
70
|
-
- There is
|
|
71
|
-
|
|
72
|
-
- If a
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
<Option value="
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
##
|
|
83
|
-
-
|
|
84
|
-
|
|
85
|
-
|
|
1
|
+
# SlackBlock
|
|
2
|
+
JSX-based Slack message renderer
|
|
3
|
+
|
|
4
|
+
[](https://circleci.com/gh/kolyaventuri/block/tree/master)
|
|
5
|
+
|
|
6
|
+
## What
|
|
7
|
+
A message builder for Slack bots, using JSX with a React-compatible API. Generally follows the [Block Kit](https://api.slack.com/block-kit) naming and options.
|
|
8
|
+
|
|
9
|
+
## Getting started
|
|
10
|
+
Install the library with your package manager, for example `pnpm add slackblock`.
|
|
11
|
+
|
|
12
|
+
- Import the renderer with `import render from 'slackblock';`
|
|
13
|
+
- Import the top level `Message` block, along with any blocks you need from `import { Message, Section, Text, ... } from 'slackblock/block';`
|
|
14
|
+
- Build your message!
|
|
15
|
+
```jsx
|
|
16
|
+
/* example */
|
|
17
|
+
|
|
18
|
+
const text = <Text plainText>Hello</Text>;
|
|
19
|
+
|
|
20
|
+
const message = render(
|
|
21
|
+
<Message>
|
|
22
|
+
<Section text={text}>
|
|
23
|
+
<Text>Some *message* for _Slack_.</Text>
|
|
24
|
+
</Section>
|
|
25
|
+
</Message>
|
|
26
|
+
);
|
|
27
|
+
|
|
28
|
+
console.log(message);
|
|
29
|
+
/*
|
|
30
|
+
{
|
|
31
|
+
"blocks": [
|
|
32
|
+
{
|
|
33
|
+
"type": "section",
|
|
34
|
+
"text": {
|
|
35
|
+
"type": "plain_text",
|
|
36
|
+
"text": "Hello"
|
|
37
|
+
},
|
|
38
|
+
"fields": [
|
|
39
|
+
{
|
|
40
|
+
"type": "mrkdwn",
|
|
41
|
+
"text": "Some *message* for _Slack_."
|
|
42
|
+
}
|
|
43
|
+
]
|
|
44
|
+
}
|
|
45
|
+
]
|
|
46
|
+
}
|
|
47
|
+
*/
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
There is a `<Container/>` component, which allows for conditional rendering by passing through the children as though it didn't exist.
|
|
51
|
+
```jsx
|
|
52
|
+
const elem = (
|
|
53
|
+
<Container>
|
|
54
|
+
<Text>Test</Text>
|
|
55
|
+
</Container>
|
|
56
|
+
);
|
|
57
|
+
|
|
58
|
+
const shouldDoThing = ...;
|
|
59
|
+
|
|
60
|
+
const message = render(
|
|
61
|
+
<Message>
|
|
62
|
+
{shouldDoThing && elem}
|
|
63
|
+
</Message>
|
|
64
|
+
);
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
## Things to note
|
|
68
|
+
- The outputted message only needs to have your `token` and desired `channel_id` added, and it will be ready to send to the slack API!
|
|
69
|
+
- React is a peer dependency and used only as a JSX runtime (no DOM renderer required).
|
|
70
|
+
- There is limited input validation (for example, date/time formats and select constraints). Warnings are emitted for common Slack limits (IDs, text lengths, block counts). Non-recognized blocks will be ignored, but Slack will be the ultimate decider if your message is valid. Validation is on the roadmap.
|
|
71
|
+
- There is currently almost no documentation. This will be resolved, but in general...
|
|
72
|
+
- If a Slack message wants a property in format `foo_bar`, you will add it as a `fooBar` property in your message(ex: `<Element fooBar='blah'/>`)
|
|
73
|
+
- If a component such as a `<Section/>` wants fields which seem like children, they probably are for the sake of rendering. This is especially important with `select` menus, as your `<Option/>` tags will be passed as children
|
|
74
|
+
- ex:
|
|
75
|
+
```jsx
|
|
76
|
+
<Select ...>
|
|
77
|
+
<Option value="val">text</Option>
|
|
78
|
+
<Option value="val2">text2</Option>
|
|
79
|
+
</Select>
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
## Supported blocks and elements
|
|
83
|
+
Blocks: `Message` (top-level), `Section`, `Actions`, `Context`, `Divider`, `File`, `Image` (block), `Header`, `Input`, `RichText`, `Video`.
|
|
84
|
+
|
|
85
|
+
Elements: `Text`, `Image` (element), `Button`, `Confirmation`, `Select`, `Option`, `OptionGroup`, `Overflow`, `RadioGroup`, `Checkboxes`, `DatePicker`, `TimePicker`, `DateTimePicker`, `TextInput`.
|
|
86
|
+
|
|
87
|
+
Rich text helpers: `RichTextSection`, `RichTextList`, `RichTextQuote`, `RichTextPreformatted`, `RichTextText`, `RichTextLink`, `RichTextUser`, `RichTextChannel`, `RichTextEmoji`, `RichTextDate`, `RichTextBroadcast`, `RichTextUserGroup`.
|
|
88
|
+
|
|
89
|
+
Field support highlights: `select` filters/min query length, `option` description, `focusOnLoad` for inputs, `dispatchActionConfig` for text inputs, and `accessibilityLabel` on buttons.
|
|
90
|
+
|
|
91
|
+
|
|
92
|
+
## TODO
|
|
93
|
+
- Add real documentation
|
|
94
|
+
- Add validation
|
|
95
|
+
- Add richer rich_text validation
|
package/dist/block.cjs
ADDED
|
@@ -0,0 +1,341 @@
|
|
|
1
|
+
var __create = Object.create;
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __export = (target, all) => {
|
|
8
|
+
for (var name in all)
|
|
9
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
10
|
+
};
|
|
11
|
+
var __copyProps = (to, from, except, desc) => {
|
|
12
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
+
for (let key of __getOwnPropNames(from))
|
|
14
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
15
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
16
|
+
}
|
|
17
|
+
return to;
|
|
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
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
28
|
+
|
|
29
|
+
// src/block.ts
|
|
30
|
+
var block_exports = {};
|
|
31
|
+
__export(block_exports, {
|
|
32
|
+
Actions: () => Actions,
|
|
33
|
+
Button: () => Button,
|
|
34
|
+
Checkboxes: () => Checkboxes,
|
|
35
|
+
Confirmation: () => Confirmation,
|
|
36
|
+
Container: () => Container,
|
|
37
|
+
Context: () => Context,
|
|
38
|
+
DatePicker: () => DatePicker,
|
|
39
|
+
DateTimePicker: () => DateTimePicker,
|
|
40
|
+
Divider: () => Divider,
|
|
41
|
+
File: () => File,
|
|
42
|
+
Header: () => Header,
|
|
43
|
+
Image: () => Image,
|
|
44
|
+
ImageLayout: () => Image2,
|
|
45
|
+
Input: () => Input,
|
|
46
|
+
Message: () => Message,
|
|
47
|
+
Option: () => Option,
|
|
48
|
+
OptionGroup: () => OptionGroup,
|
|
49
|
+
Overflow: () => Overflow,
|
|
50
|
+
RadioGroup: () => RadioGroup,
|
|
51
|
+
RichText: () => RichText,
|
|
52
|
+
RichTextBroadcast: () => RichTextBroadcast,
|
|
53
|
+
RichTextChannel: () => RichTextChannel,
|
|
54
|
+
RichTextDate: () => RichTextDate,
|
|
55
|
+
RichTextEmoji: () => RichTextEmoji,
|
|
56
|
+
RichTextLink: () => RichTextLink,
|
|
57
|
+
RichTextList: () => RichTextList,
|
|
58
|
+
RichTextPreformatted: () => RichTextPreformatted,
|
|
59
|
+
RichTextQuote: () => RichTextQuote,
|
|
60
|
+
RichTextSection: () => RichTextSection,
|
|
61
|
+
RichTextText: () => RichTextText,
|
|
62
|
+
RichTextUser: () => RichTextUser,
|
|
63
|
+
RichTextUserGroup: () => RichTextUserGroup,
|
|
64
|
+
Section: () => Section,
|
|
65
|
+
Select: () => Select,
|
|
66
|
+
Text: () => Text,
|
|
67
|
+
TextInput: () => TextInput,
|
|
68
|
+
TimePicker: () => TimePicker,
|
|
69
|
+
Video: () => Video
|
|
70
|
+
});
|
|
71
|
+
module.exports = __toCommonJS(block_exports);
|
|
72
|
+
|
|
73
|
+
// src/components/message.tsx
|
|
74
|
+
var import_react = __toESM(require("react"));
|
|
75
|
+
var Message = class extends import_react.default.Component {
|
|
76
|
+
};
|
|
77
|
+
Message.slackType = "Message";
|
|
78
|
+
|
|
79
|
+
// src/components/block/button.tsx
|
|
80
|
+
var import_react2 = __toESM(require("react"));
|
|
81
|
+
var Button = class extends import_react2.default.Component {
|
|
82
|
+
};
|
|
83
|
+
Button.slackType = "Button";
|
|
84
|
+
|
|
85
|
+
// src/components/block/confirmation.tsx
|
|
86
|
+
var import_react3 = __toESM(require("react"));
|
|
87
|
+
var Confirmation = class extends import_react3.default.Component {
|
|
88
|
+
};
|
|
89
|
+
Confirmation.slackType = "Confirmation";
|
|
90
|
+
|
|
91
|
+
// src/components/block/image.tsx
|
|
92
|
+
var import_react4 = __toESM(require("react"));
|
|
93
|
+
var Image = class extends import_react4.default.Component {
|
|
94
|
+
};
|
|
95
|
+
Image.slackType = "Image";
|
|
96
|
+
|
|
97
|
+
// src/components/block/text.tsx
|
|
98
|
+
var import_react5 = __toESM(require("react"));
|
|
99
|
+
var Text = class extends import_react5.default.Component {
|
|
100
|
+
};
|
|
101
|
+
Text.slackType = "Text";
|
|
102
|
+
|
|
103
|
+
// src/components/input/date-picker.tsx
|
|
104
|
+
var import_react6 = __toESM(require("react"));
|
|
105
|
+
var DatePicker = class extends import_react6.default.Component {
|
|
106
|
+
};
|
|
107
|
+
DatePicker.slackType = "DatePicker";
|
|
108
|
+
|
|
109
|
+
// src/components/input/date-time-picker.tsx
|
|
110
|
+
var import_react7 = __toESM(require("react"));
|
|
111
|
+
var DateTimePicker = class extends import_react7.default.Component {
|
|
112
|
+
};
|
|
113
|
+
DateTimePicker.slackType = "DateTimePicker";
|
|
114
|
+
|
|
115
|
+
// src/components/input/checkboxes.tsx
|
|
116
|
+
var import_react8 = __toESM(require("react"));
|
|
117
|
+
var Checkboxes = class extends import_react8.default.Component {
|
|
118
|
+
};
|
|
119
|
+
Checkboxes.slackType = "Checkboxes";
|
|
120
|
+
|
|
121
|
+
// src/components/input/option-group.tsx
|
|
122
|
+
var import_react9 = __toESM(require("react"));
|
|
123
|
+
var OptionGroup = class extends import_react9.default.Component {
|
|
124
|
+
};
|
|
125
|
+
OptionGroup.slackType = "OptionGroup";
|
|
126
|
+
|
|
127
|
+
// src/components/input/option.tsx
|
|
128
|
+
var import_react10 = __toESM(require("react"));
|
|
129
|
+
var Option = class extends import_react10.default.Component {
|
|
130
|
+
};
|
|
131
|
+
Option.slackType = "Option";
|
|
132
|
+
|
|
133
|
+
// src/components/input/overflow.tsx
|
|
134
|
+
var import_react11 = __toESM(require("react"));
|
|
135
|
+
var Overflow = class extends import_react11.default.Component {
|
|
136
|
+
};
|
|
137
|
+
Overflow.slackType = "Overflow";
|
|
138
|
+
|
|
139
|
+
// src/components/input/radio-group.tsx
|
|
140
|
+
var import_react12 = __toESM(require("react"));
|
|
141
|
+
var RadioGroup = class extends import_react12.default.Component {
|
|
142
|
+
};
|
|
143
|
+
RadioGroup.slackType = "RadioGroup";
|
|
144
|
+
|
|
145
|
+
// src/components/input/select.tsx
|
|
146
|
+
var import_react13 = __toESM(require("react"));
|
|
147
|
+
var Select = class extends import_react13.default.Component {
|
|
148
|
+
};
|
|
149
|
+
Select.slackType = "Select";
|
|
150
|
+
|
|
151
|
+
// src/components/input/text.tsx
|
|
152
|
+
var import_react14 = __toESM(require("react"));
|
|
153
|
+
var TextInput = class extends import_react14.default.Component {
|
|
154
|
+
};
|
|
155
|
+
TextInput.slackType = "TextInput";
|
|
156
|
+
|
|
157
|
+
// src/components/input/time-picker.tsx
|
|
158
|
+
var import_react15 = __toESM(require("react"));
|
|
159
|
+
var TimePicker = class extends import_react15.default.Component {
|
|
160
|
+
};
|
|
161
|
+
TimePicker.slackType = "TimePicker";
|
|
162
|
+
|
|
163
|
+
// src/components/layout/actions.tsx
|
|
164
|
+
var import_react16 = __toESM(require("react"));
|
|
165
|
+
var Actions = class extends import_react16.default.Component {
|
|
166
|
+
};
|
|
167
|
+
Actions.slackType = "Actions";
|
|
168
|
+
|
|
169
|
+
// src/components/layout/context.tsx
|
|
170
|
+
var import_react17 = __toESM(require("react"));
|
|
171
|
+
var Context = class extends import_react17.default.Component {
|
|
172
|
+
};
|
|
173
|
+
Context.slackType = "Context";
|
|
174
|
+
|
|
175
|
+
// src/components/layout/divider.tsx
|
|
176
|
+
var import_react18 = __toESM(require("react"));
|
|
177
|
+
var Divider = class extends import_react18.default.Component {
|
|
178
|
+
};
|
|
179
|
+
Divider.slackType = "Divider";
|
|
180
|
+
|
|
181
|
+
// src/components/layout/file.tsx
|
|
182
|
+
var import_react19 = __toESM(require("react"));
|
|
183
|
+
var File = class extends import_react19.default.Component {
|
|
184
|
+
};
|
|
185
|
+
File.slackType = "File";
|
|
186
|
+
|
|
187
|
+
// src/components/layout/header.tsx
|
|
188
|
+
var import_react20 = __toESM(require("react"));
|
|
189
|
+
var Header = class extends import_react20.default.Component {
|
|
190
|
+
};
|
|
191
|
+
Header.slackType = "Header";
|
|
192
|
+
|
|
193
|
+
// src/components/layout/image.tsx
|
|
194
|
+
var import_react21 = __toESM(require("react"));
|
|
195
|
+
var Image2 = class extends import_react21.default.Component {
|
|
196
|
+
};
|
|
197
|
+
Image2.slackType = "ImageLayout";
|
|
198
|
+
|
|
199
|
+
// src/components/layout/input.tsx
|
|
200
|
+
var import_react22 = __toESM(require("react"));
|
|
201
|
+
var Input = class extends import_react22.default.Component {
|
|
202
|
+
};
|
|
203
|
+
Input.slackType = "Input";
|
|
204
|
+
|
|
205
|
+
// src/components/layout/rich-text.tsx
|
|
206
|
+
var import_react23 = __toESM(require("react"));
|
|
207
|
+
var RichText = class extends import_react23.default.Component {
|
|
208
|
+
};
|
|
209
|
+
RichText.slackType = "RichText";
|
|
210
|
+
|
|
211
|
+
// src/components/layout/section.tsx
|
|
212
|
+
var import_react24 = __toESM(require("react"));
|
|
213
|
+
var Section = class extends import_react24.default.Component {
|
|
214
|
+
};
|
|
215
|
+
Section.slackType = "Section";
|
|
216
|
+
|
|
217
|
+
// src/components/layout/container.tsx
|
|
218
|
+
var import_react25 = __toESM(require("react"));
|
|
219
|
+
var Container = class extends import_react25.default.Component {
|
|
220
|
+
};
|
|
221
|
+
Container.slackType = "Container";
|
|
222
|
+
|
|
223
|
+
// src/components/layout/video.tsx
|
|
224
|
+
var import_react26 = __toESM(require("react"));
|
|
225
|
+
var Video = class extends import_react26.default.Component {
|
|
226
|
+
};
|
|
227
|
+
Video.slackType = "Video";
|
|
228
|
+
|
|
229
|
+
// src/components/rich-text/section.tsx
|
|
230
|
+
var import_react27 = __toESM(require("react"));
|
|
231
|
+
var RichTextSection = class extends import_react27.default.Component {
|
|
232
|
+
};
|
|
233
|
+
RichTextSection.slackType = "RichTextSection";
|
|
234
|
+
|
|
235
|
+
// src/components/rich-text/list.tsx
|
|
236
|
+
var import_react28 = __toESM(require("react"));
|
|
237
|
+
var RichTextList = class extends import_react28.default.Component {
|
|
238
|
+
};
|
|
239
|
+
RichTextList.slackType = "RichTextList";
|
|
240
|
+
|
|
241
|
+
// src/components/rich-text/quote.tsx
|
|
242
|
+
var import_react29 = __toESM(require("react"));
|
|
243
|
+
var RichTextQuote = class extends import_react29.default.Component {
|
|
244
|
+
};
|
|
245
|
+
RichTextQuote.slackType = "RichTextQuote";
|
|
246
|
+
|
|
247
|
+
// src/components/rich-text/preformatted.tsx
|
|
248
|
+
var import_react30 = __toESM(require("react"));
|
|
249
|
+
var RichTextPreformatted = class extends import_react30.default.Component {
|
|
250
|
+
};
|
|
251
|
+
RichTextPreformatted.slackType = "RichTextPreformatted";
|
|
252
|
+
|
|
253
|
+
// src/components/rich-text/text.tsx
|
|
254
|
+
var import_react31 = __toESM(require("react"));
|
|
255
|
+
var RichTextText = class extends import_react31.default.Component {
|
|
256
|
+
};
|
|
257
|
+
RichTextText.slackType = "RichTextText";
|
|
258
|
+
|
|
259
|
+
// src/components/rich-text/link.tsx
|
|
260
|
+
var import_react32 = __toESM(require("react"));
|
|
261
|
+
var RichTextLink = class extends import_react32.default.Component {
|
|
262
|
+
};
|
|
263
|
+
RichTextLink.slackType = "RichTextLink";
|
|
264
|
+
|
|
265
|
+
// src/components/rich-text/user.tsx
|
|
266
|
+
var import_react33 = __toESM(require("react"));
|
|
267
|
+
var RichTextUser = class extends import_react33.default.Component {
|
|
268
|
+
};
|
|
269
|
+
RichTextUser.slackType = "RichTextUser";
|
|
270
|
+
|
|
271
|
+
// src/components/rich-text/channel.tsx
|
|
272
|
+
var import_react34 = __toESM(require("react"));
|
|
273
|
+
var RichTextChannel = class extends import_react34.default.Component {
|
|
274
|
+
};
|
|
275
|
+
RichTextChannel.slackType = "RichTextChannel";
|
|
276
|
+
|
|
277
|
+
// src/components/rich-text/emoji.tsx
|
|
278
|
+
var import_react35 = __toESM(require("react"));
|
|
279
|
+
var RichTextEmoji = class extends import_react35.default.Component {
|
|
280
|
+
};
|
|
281
|
+
RichTextEmoji.slackType = "RichTextEmoji";
|
|
282
|
+
|
|
283
|
+
// src/components/rich-text/date.tsx
|
|
284
|
+
var import_react36 = __toESM(require("react"));
|
|
285
|
+
var RichTextDate = class extends import_react36.default.Component {
|
|
286
|
+
};
|
|
287
|
+
RichTextDate.slackType = "RichTextDate";
|
|
288
|
+
|
|
289
|
+
// src/components/rich-text/broadcast.tsx
|
|
290
|
+
var import_react37 = __toESM(require("react"));
|
|
291
|
+
var RichTextBroadcast = class extends import_react37.default.Component {
|
|
292
|
+
};
|
|
293
|
+
RichTextBroadcast.slackType = "RichTextBroadcast";
|
|
294
|
+
|
|
295
|
+
// src/components/rich-text/user-group.tsx
|
|
296
|
+
var import_react38 = __toESM(require("react"));
|
|
297
|
+
var RichTextUserGroup = class extends import_react38.default.Component {
|
|
298
|
+
};
|
|
299
|
+
RichTextUserGroup.slackType = "RichTextUserGroup";
|
|
300
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
301
|
+
0 && (module.exports = {
|
|
302
|
+
Actions,
|
|
303
|
+
Button,
|
|
304
|
+
Checkboxes,
|
|
305
|
+
Confirmation,
|
|
306
|
+
Container,
|
|
307
|
+
Context,
|
|
308
|
+
DatePicker,
|
|
309
|
+
DateTimePicker,
|
|
310
|
+
Divider,
|
|
311
|
+
File,
|
|
312
|
+
Header,
|
|
313
|
+
Image,
|
|
314
|
+
ImageLayout,
|
|
315
|
+
Input,
|
|
316
|
+
Message,
|
|
317
|
+
Option,
|
|
318
|
+
OptionGroup,
|
|
319
|
+
Overflow,
|
|
320
|
+
RadioGroup,
|
|
321
|
+
RichText,
|
|
322
|
+
RichTextBroadcast,
|
|
323
|
+
RichTextChannel,
|
|
324
|
+
RichTextDate,
|
|
325
|
+
RichTextEmoji,
|
|
326
|
+
RichTextLink,
|
|
327
|
+
RichTextList,
|
|
328
|
+
RichTextPreformatted,
|
|
329
|
+
RichTextQuote,
|
|
330
|
+
RichTextSection,
|
|
331
|
+
RichTextText,
|
|
332
|
+
RichTextUser,
|
|
333
|
+
RichTextUserGroup,
|
|
334
|
+
Section,
|
|
335
|
+
Select,
|
|
336
|
+
Text,
|
|
337
|
+
TextInput,
|
|
338
|
+
TimePicker,
|
|
339
|
+
Video
|
|
340
|
+
});
|
|
341
|
+
//# sourceMappingURL=block.cjs.map
|