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.
Files changed (139) hide show
  1. package/CHANGELOG.md +33 -26
  2. package/LICENSE +21 -21
  3. package/README.md +95 -85
  4. package/dist/block.cjs +341 -0
  5. package/dist/block.cjs.map +1 -0
  6. package/dist/block.d.mts +412 -0
  7. package/dist/block.d.ts +412 -0
  8. package/dist/block.mjs +268 -0
  9. package/dist/block.mjs.map +1 -0
  10. package/dist/index.cjs +1202 -0
  11. package/dist/index.cjs.map +1 -0
  12. package/dist/index.d.mts +6 -0
  13. package/dist/index.d.ts +6 -0
  14. package/dist/index.mjs +1170 -0
  15. package/dist/index.mjs.map +1 -0
  16. package/dist/types.d-DgQXbJte.d.mts +296 -0
  17. package/dist/types.d-DgQXbJte.d.ts +296 -0
  18. package/package.json +85 -135
  19. package/blocks.js +0 -12
  20. package/index.js +0 -7
  21. package/lib/components/block/button.js +0 -27
  22. package/lib/components/block/confirmation.js +0 -27
  23. package/lib/components/block/image.js +0 -27
  24. package/lib/components/block/text.js +0 -27
  25. package/lib/components/index.js +0 -42
  26. package/lib/components/input/date-picker.js +0 -27
  27. package/lib/components/input/option-group.js +0 -27
  28. package/lib/components/input/option.js +0 -27
  29. package/lib/components/input/overflow.js +0 -27
  30. package/lib/components/input/radio-group.js +0 -27
  31. package/lib/components/input/select.js +0 -34
  32. package/lib/components/input/text.js +0 -27
  33. package/lib/components/layout/actions.js +0 -27
  34. package/lib/components/layout/container.js +0 -27
  35. package/lib/components/layout/context.js +0 -27
  36. package/lib/components/layout/divider.js +0 -27
  37. package/lib/components/layout/file.js +0 -27
  38. package/lib/components/layout/image.js +0 -27
  39. package/lib/components/layout/input.js +0 -27
  40. package/lib/components/layout/section.js +0 -27
  41. package/lib/components/message.js +0 -27
  42. package/lib/index.js +0 -7
  43. package/lib/parser/index.js +0 -32
  44. package/lib/renderer/index.js +0 -71
  45. package/lib/transformers/block/button.js +0 -29
  46. package/lib/transformers/block/confirmation.js +0 -18
  47. package/lib/transformers/block/image.js +0 -10
  48. package/lib/transformers/block/text.js +0 -16
  49. package/lib/transformers/index.js +0 -54
  50. package/lib/transformers/input/date-picker.js +0 -30
  51. package/lib/transformers/input/option-group.js +0 -19
  52. package/lib/transformers/input/option.js +0 -19
  53. package/lib/transformers/input/overflow.js +0 -19
  54. package/lib/transformers/input/radio-group.js +0 -22
  55. package/lib/transformers/input/select.js +0 -84
  56. package/lib/transformers/input/text.js +0 -31
  57. package/lib/transformers/layout/actions.js +0 -18
  58. package/lib/transformers/layout/container.js +0 -11
  59. package/lib/transformers/layout/context.js +0 -18
  60. package/lib/transformers/layout/divider.js +0 -10
  61. package/lib/transformers/layout/file.js +0 -14
  62. package/lib/transformers/layout/image.js +0 -23
  63. package/lib/transformers/layout/input.js +0 -26
  64. package/lib/transformers/layout/section.js +0 -31
  65. package/lib/utils/get-type.js +0 -16
  66. package/lib/utils/type-helpers.js +0 -2
  67. package/src/components/block/button.tsx +0 -20
  68. package/src/components/block/confirmation.tsx +0 -19
  69. package/src/components/block/image.tsx +0 -8
  70. package/src/components/block/text.tsx +0 -10
  71. package/src/components/index.ts +0 -23
  72. package/src/components/input/date-picker.tsx +0 -11
  73. package/src/components/input/option-group.tsx +0 -9
  74. package/src/components/input/option.tsx +0 -9
  75. package/src/components/input/overflow.tsx +0 -12
  76. package/src/components/input/radio-group.tsx +0 -13
  77. package/src/components/input/select.tsx +0 -36
  78. package/src/components/input/text.tsx +0 -12
  79. package/src/components/layout/actions.tsx +0 -9
  80. package/src/components/layout/container.tsx +0 -9
  81. package/src/components/layout/context.tsx +0 -12
  82. package/src/components/layout/divider.tsx +0 -7
  83. package/src/components/layout/file.tsx +0 -8
  84. package/src/components/layout/image.tsx +0 -10
  85. package/src/components/layout/input.tsx +0 -12
  86. package/src/components/layout/section.tsx +0 -15
  87. package/src/components/message.tsx +0 -20
  88. package/src/constants/types.d.ts +0 -93
  89. package/src/index.ts +0 -3
  90. package/src/parser/index.ts +0 -32
  91. package/src/renderer/index.ts +0 -75
  92. package/src/transformers/block/button.tsx +0 -47
  93. package/src/transformers/block/confirmation.tsx +0 -26
  94. package/src/transformers/block/image.ts +0 -18
  95. package/src/transformers/block/text.ts +0 -34
  96. package/src/transformers/index.ts +0 -65
  97. package/src/transformers/input/date-picker.tsx +0 -43
  98. package/src/transformers/input/option-group.tsx +0 -26
  99. package/src/transformers/input/option.tsx +0 -27
  100. package/src/transformers/input/overflow.ts +0 -33
  101. package/src/transformers/input/radio-group.ts +0 -38
  102. package/src/transformers/input/select.tsx +0 -136
  103. package/src/transformers/input/text.tsx +0 -47
  104. package/src/transformers/layout/actions.ts +0 -29
  105. package/src/transformers/layout/container.ts +0 -16
  106. package/src/transformers/layout/context.ts +0 -35
  107. package/src/transformers/layout/divider.ts +0 -20
  108. package/src/transformers/layout/file.ts +0 -24
  109. package/src/transformers/layout/image.tsx +0 -34
  110. package/src/transformers/layout/input.tsx +0 -39
  111. package/src/transformers/layout/section.ts +0 -53
  112. package/src/tsconfig.json +0 -11
  113. package/src/utils/get-type.ts +0 -20
  114. package/src/utils/type-helpers.ts +0 -1
  115. package/test/index.test.tsx +0 -11
  116. package/test/parser/parser.test.tsx +0 -67
  117. package/test/renderer/renderer.test.tsx +0 -138
  118. package/test/transformers/block/button.test.tsx +0 -63
  119. package/test/transformers/block/confirmation.test.tsx +0 -37
  120. package/test/transformers/block/image.test.tsx +0 -20
  121. package/test/transformers/block/text.test.tsx +0 -32
  122. package/test/transformers/input/date-picker.test.tsx +0 -66
  123. package/test/transformers/input/option-group.test.tsx +0 -26
  124. package/test/transformers/input/option.test.tsx +0 -36
  125. package/test/transformers/input/overflow.test.tsx +0 -57
  126. package/test/transformers/input/radio-group.test.tsx +0 -81
  127. package/test/transformers/input/select.test.tsx +0 -249
  128. package/test/transformers/input/text.test.tsx +0 -42
  129. package/test/transformers/layout/actions.test.tsx +0 -33
  130. package/test/transformers/layout/container.test.tsx +0 -34
  131. package/test/transformers/layout/context.test.tsx +0 -43
  132. package/test/transformers/layout/divider.test.tsx +0 -20
  133. package/test/transformers/layout/file.test.tsx +0 -26
  134. package/test/transformers/layout/image.test.tsx +0 -43
  135. package/test/transformers/layout/input.test.tsx +0 -59
  136. package/test/transformers/layout/section.test.tsx +0 -89
  137. package/test/tsconfig.json +0 -9
  138. package/test/utils/get-type.test.tsx +0 -21
  139. package/tsconfig.json +0 -14
package/CHANGELOG.md CHANGED
@@ -1,26 +1,33 @@
1
- # Changelog
2
-
3
- ### 0.4.0
4
- - Allow for `<Section/>` blocks to have `null` components (useful for conditional renders)
5
-
6
- ### 0.3.1
7
- - Fix issue that caused an error to be thrown if a child is `null`
8
-
9
- ### 0.3.0
10
- - Add `Container` block to allow for better conditional rendering
11
-
12
- ### 0.2.0
13
- - Add ability to color messages
14
-
15
- ### 0.1.0
16
- - Add all additional props to the top level `<Message/>` component
17
- - Remove `token` / `channel` prop since they are out of scope for the component
18
-
19
- ### 0.0.4
20
- - Fix issue where `<Actions/>` block would have incorrect type
21
-
22
- ### 0.0.3
23
- - Fix issue where `<Button/>` element was outputting `actionId` when it should be `action_id`
24
-
25
- ### 0.0.1 / 0.0.2
26
- - Initial release
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
- React-based Slack message renderer
3
-
4
- [![CircleCI](https://circleci.com/gh/kolyaventuri/block/tree/master.svg?style=svg)](https://circleci.com/gh/kolyaventuri/block/tree/master)
5
-
6
- ## What
7
- A message builder for Slack bots, using JSX / React syntax. Generally follows the [Block Kit](https://api.slack.com/block-kit) naming and options
8
-
9
- ## Getting started
10
- Install the library with `npm i 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
- "text": "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
- - There is current _very little to no_ input validation. Non-recognized blocks will be ignored, but Slack will be the ultimate decider if your message is valid. Validation is on the roadmap.
70
- - There is currently almost no documentation. This will be resolved, but in general...
71
- - 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'/>`)
72
- - 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
73
- - ex:
74
- ```jsx
75
- <Select ...>
76
- <Option value="val">text</Option>
77
- <Option value="val2">text2</Option>
78
- </Select>
79
- ```
80
-
81
-
82
- ## TODO
83
- - Add real documentation
84
- - Expose types
85
- - Add validation
1
+ # SlackBlock
2
+ JSX-based Slack message renderer
3
+
4
+ [![CircleCI](https://circleci.com/gh/kolyaventuri/block/tree/master.svg?style=svg)](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