@tightknitai/block-kitchen 0.10.25 → 0.10.27
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/README.md +4 -1
- package/dist/helpers.d.cts +2 -2
- package/dist/helpers.d.ts +2 -2
- package/dist/index.cjs +437 -85
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +438 -86
- package/dist/index.js.map +1 -1
- package/dist/{palette-DTE9U5si.d.cts → palette-xi4VWU0p.d.cts} +37 -1
- package/dist/{palette-DTE9U5si.d.ts → palette-xi4VWU0p.d.ts} +37 -1
- package/dist/palette.cjs.map +1 -1
- package/dist/palette.d.cts +1 -1
- package/dist/palette.d.ts +1 -1
- package/dist/palette.js.map +1 -1
- package/dist/styles.css +2 -2
- package/package.json +6 -6
|
@@ -123,6 +123,11 @@ interface PaletteVariantBadge {
|
|
|
123
123
|
label: string;
|
|
124
124
|
/** Optional icon shown before the text, e.g. a Lucide icon component. */
|
|
125
125
|
icon?: ComponentType<SVGProps<SVGSVGElement>>;
|
|
126
|
+
/**
|
|
127
|
+
* Extra classes for the tag, merged over its defaults (conflicting Tailwind
|
|
128
|
+
* classes win), so it can match the host's own plan badges.
|
|
129
|
+
*/
|
|
130
|
+
className?: string;
|
|
126
131
|
}
|
|
127
132
|
/**
|
|
128
133
|
* One section in the palette. Sections group related variants under a
|
|
@@ -1102,6 +1107,31 @@ interface MentionsConfig {
|
|
|
1102
1107
|
*/
|
|
1103
1108
|
getChannelName?: (channelId: string) => string | undefined;
|
|
1104
1109
|
}
|
|
1110
|
+
/**
|
|
1111
|
+
* Opt-in image uploads, passed as {@link BlockKitchenBaseProps.imageUpload}.
|
|
1112
|
+
* Image URL fields gain an "Upload" button and accept a dropped file, and an
|
|
1113
|
+
* image file dropped on the canvas adds an image block.
|
|
1114
|
+
*
|
|
1115
|
+
* Like every other I/O concern, the upload is brokered by the host: the
|
|
1116
|
+
* builder hands over the `File` and writes whatever URL comes back into the
|
|
1117
|
+
* block. Slack fetches that URL when the message is posted, so it must be
|
|
1118
|
+
* publicly reachable.
|
|
1119
|
+
*/
|
|
1120
|
+
interface ImageUploadConfig {
|
|
1121
|
+
/**
|
|
1122
|
+
* Uploads one image and resolves its public URL. A rejection's `message`
|
|
1123
|
+
* is shown to the user, so reject with something they can act on (e.g.
|
|
1124
|
+
* "File size exceeds 5 MB limit").
|
|
1125
|
+
*/
|
|
1126
|
+
uploadImage: (file: File) => Promise<{
|
|
1127
|
+
url: string;
|
|
1128
|
+
}>;
|
|
1129
|
+
/**
|
|
1130
|
+
* Optional. MIME types the file picker offers and drops accept. Defaults
|
|
1131
|
+
* to PNG, JPEG and GIF, the formats Slack renders in an image block.
|
|
1132
|
+
*/
|
|
1133
|
+
accept?: readonly string[];
|
|
1134
|
+
}
|
|
1105
1135
|
/**
|
|
1106
1136
|
* Hooks forwarded to `slack-blocks-to-jsx`'s `<Message>` so the consumer can
|
|
1107
1137
|
* resolve user mentions, channel mentions, custom emojis, and links to
|
|
@@ -1245,6 +1275,12 @@ interface BlockKitchenBaseProps {
|
|
|
1245
1275
|
* configuration and display by raw id.
|
|
1246
1276
|
*/
|
|
1247
1277
|
mentions?: MentionsConfig;
|
|
1278
|
+
/**
|
|
1279
|
+
* Opt-in image uploads from the user's device. See
|
|
1280
|
+
* {@link ImageUploadConfig}. Without it, images are added by public URL
|
|
1281
|
+
* only.
|
|
1282
|
+
*/
|
|
1283
|
+
imageUpload?: ImageUploadConfig;
|
|
1248
1284
|
/**
|
|
1249
1285
|
* Opt-in: load an existing Slack message into the editor. Adds a
|
|
1250
1286
|
* "Find message" toolbar entry — the user pastes a permalink (or picks a
|
|
@@ -1536,4 +1572,4 @@ interface BlockKitchenComposeOnlyProps {
|
|
|
1536
1572
|
*/
|
|
1537
1573
|
type BlockKitchenProps = BlockKitchenBaseProps & (BlockKitchenSendProps | BlockKitchenComposeOnlyProps);
|
|
1538
1574
|
|
|
1539
|
-
export { type
|
|
1575
|
+
export { type MentionChannel as $, type AlertBlock as A, type BlockKitchenProps as B, type ChannelOption as C, type CustomBlockEditor as D, type CustomBlockEditorProps as E, type CustomEmoji as F, type DataTableActionCell as G, type DataTableBlock as H, type DataTableCell as I, type DataTableRawNumberCell as J, type DataVisualizationBlock as K, type EditableVia as L, type FeedbackButtonSubobject as M, type FeedbackButtonsElement as N, type HeaderLevel as O, type PreviewSurface as P, type IconButtonElement as Q, type IconButtonIcon as R, type SupportedBlock as S, type Template as T, type ImageUploadConfig as U, type InputBlock as V, type LoadMessageInput as W, type LoadResult as X, type LoadedMessage as Y, type LoadingConfig as Z, type MarkdownBlock as _, type SendAsUserStatus as a, type MentionUser as a0, type MentionsConfig as a1, type PaletteMode as a2, type PaletteSection as a3, type PaletteVariant as a4, type PaletteVariantBadge as a5, type PieChart as a6, type PieChartSegment as a7, type PlanBlock as a8, type PreviewHooks as a9, type PrimaryActionConfig as aa, type PrimaryActionContext as ab, type RecentMessage as ac, type SendResult as ad, type SupportedBlockType as ae, type SupportedHeaderBlock as af, type TableBlock as ag, type TableCell as ah, type TableColumnSetting as ai, type TableRawTextCell as aj, type TaskCardBlock as ak, type TaskCardStatus as al, type UpdatePayload as am, type UpdateResult as an, type UrlSourceElement as ao, type ValidationSummary as ap, type VideoBlock as aq, defaultPalette as ar, extraAlertVariant as as, legacyInputVariants as at, buildVariantById as au, type SendPayload as b, type SendExtrasContext as c, type PreviewTheme as d, type AlertLevel as e, type BlockAction as f, type BlockKitchenBaseProps as g, type BlockKitchenComposeOnlyProps as h, type BlockKitchenSendProps as i, type BlockPosition as j, type BrandPreset as k, type BrandTheme as l, type BrandTokens as m, type BuilderBlock as n, type CardBlock as o, type CarouselBlock as p, type CartesianChart as q, type Chart as r, type ChartAxisConfig as s, type ChartDataPoint as t, type ChartSeries as u, type ChartType as v, type ContainerBlock as w, type ContainerChildBlock as x, type ContextActionsBlock as y, type ContextActionsElement as z };
|
|
@@ -123,6 +123,11 @@ interface PaletteVariantBadge {
|
|
|
123
123
|
label: string;
|
|
124
124
|
/** Optional icon shown before the text, e.g. a Lucide icon component. */
|
|
125
125
|
icon?: ComponentType<SVGProps<SVGSVGElement>>;
|
|
126
|
+
/**
|
|
127
|
+
* Extra classes for the tag, merged over its defaults (conflicting Tailwind
|
|
128
|
+
* classes win), so it can match the host's own plan badges.
|
|
129
|
+
*/
|
|
130
|
+
className?: string;
|
|
126
131
|
}
|
|
127
132
|
/**
|
|
128
133
|
* One section in the palette. Sections group related variants under a
|
|
@@ -1102,6 +1107,31 @@ interface MentionsConfig {
|
|
|
1102
1107
|
*/
|
|
1103
1108
|
getChannelName?: (channelId: string) => string | undefined;
|
|
1104
1109
|
}
|
|
1110
|
+
/**
|
|
1111
|
+
* Opt-in image uploads, passed as {@link BlockKitchenBaseProps.imageUpload}.
|
|
1112
|
+
* Image URL fields gain an "Upload" button and accept a dropped file, and an
|
|
1113
|
+
* image file dropped on the canvas adds an image block.
|
|
1114
|
+
*
|
|
1115
|
+
* Like every other I/O concern, the upload is brokered by the host: the
|
|
1116
|
+
* builder hands over the `File` and writes whatever URL comes back into the
|
|
1117
|
+
* block. Slack fetches that URL when the message is posted, so it must be
|
|
1118
|
+
* publicly reachable.
|
|
1119
|
+
*/
|
|
1120
|
+
interface ImageUploadConfig {
|
|
1121
|
+
/**
|
|
1122
|
+
* Uploads one image and resolves its public URL. A rejection's `message`
|
|
1123
|
+
* is shown to the user, so reject with something they can act on (e.g.
|
|
1124
|
+
* "File size exceeds 5 MB limit").
|
|
1125
|
+
*/
|
|
1126
|
+
uploadImage: (file: File) => Promise<{
|
|
1127
|
+
url: string;
|
|
1128
|
+
}>;
|
|
1129
|
+
/**
|
|
1130
|
+
* Optional. MIME types the file picker offers and drops accept. Defaults
|
|
1131
|
+
* to PNG, JPEG and GIF, the formats Slack renders in an image block.
|
|
1132
|
+
*/
|
|
1133
|
+
accept?: readonly string[];
|
|
1134
|
+
}
|
|
1105
1135
|
/**
|
|
1106
1136
|
* Hooks forwarded to `slack-blocks-to-jsx`'s `<Message>` so the consumer can
|
|
1107
1137
|
* resolve user mentions, channel mentions, custom emojis, and links to
|
|
@@ -1245,6 +1275,12 @@ interface BlockKitchenBaseProps {
|
|
|
1245
1275
|
* configuration and display by raw id.
|
|
1246
1276
|
*/
|
|
1247
1277
|
mentions?: MentionsConfig;
|
|
1278
|
+
/**
|
|
1279
|
+
* Opt-in image uploads from the user's device. See
|
|
1280
|
+
* {@link ImageUploadConfig}. Without it, images are added by public URL
|
|
1281
|
+
* only.
|
|
1282
|
+
*/
|
|
1283
|
+
imageUpload?: ImageUploadConfig;
|
|
1248
1284
|
/**
|
|
1249
1285
|
* Opt-in: load an existing Slack message into the editor. Adds a
|
|
1250
1286
|
* "Find message" toolbar entry — the user pastes a permalink (or picks a
|
|
@@ -1536,4 +1572,4 @@ interface BlockKitchenComposeOnlyProps {
|
|
|
1536
1572
|
*/
|
|
1537
1573
|
type BlockKitchenProps = BlockKitchenBaseProps & (BlockKitchenSendProps | BlockKitchenComposeOnlyProps);
|
|
1538
1574
|
|
|
1539
|
-
export { type
|
|
1575
|
+
export { type MentionChannel as $, type AlertBlock as A, type BlockKitchenProps as B, type ChannelOption as C, type CustomBlockEditor as D, type CustomBlockEditorProps as E, type CustomEmoji as F, type DataTableActionCell as G, type DataTableBlock as H, type DataTableCell as I, type DataTableRawNumberCell as J, type DataVisualizationBlock as K, type EditableVia as L, type FeedbackButtonSubobject as M, type FeedbackButtonsElement as N, type HeaderLevel as O, type PreviewSurface as P, type IconButtonElement as Q, type IconButtonIcon as R, type SupportedBlock as S, type Template as T, type ImageUploadConfig as U, type InputBlock as V, type LoadMessageInput as W, type LoadResult as X, type LoadedMessage as Y, type LoadingConfig as Z, type MarkdownBlock as _, type SendAsUserStatus as a, type MentionUser as a0, type MentionsConfig as a1, type PaletteMode as a2, type PaletteSection as a3, type PaletteVariant as a4, type PaletteVariantBadge as a5, type PieChart as a6, type PieChartSegment as a7, type PlanBlock as a8, type PreviewHooks as a9, type PrimaryActionConfig as aa, type PrimaryActionContext as ab, type RecentMessage as ac, type SendResult as ad, type SupportedBlockType as ae, type SupportedHeaderBlock as af, type TableBlock as ag, type TableCell as ah, type TableColumnSetting as ai, type TableRawTextCell as aj, type TaskCardBlock as ak, type TaskCardStatus as al, type UpdatePayload as am, type UpdateResult as an, type UrlSourceElement as ao, type ValidationSummary as ap, type VideoBlock as aq, defaultPalette as ar, extraAlertVariant as as, legacyInputVariants as at, buildVariantById as au, type SendPayload as b, type SendExtrasContext as c, type PreviewTheme as d, type AlertLevel as e, type BlockAction as f, type BlockKitchenBaseProps as g, type BlockKitchenComposeOnlyProps as h, type BlockKitchenSendProps as i, type BlockPosition as j, type BrandPreset as k, type BrandTheme as l, type BrandTokens as m, type BuilderBlock as n, type CardBlock as o, type CarouselBlock as p, type CartesianChart as q, type Chart as r, type ChartAxisConfig as s, type ChartDataPoint as t, type ChartSeries as u, type ChartType as v, type ContainerBlock as w, type ContainerChildBlock as x, type ContextActionsBlock as y, type ContextActionsElement as z };
|
package/dist/palette.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/lib/default-blocks.ts"],"names":["Sparkles","FileText","AlignLeft","MousePointerClick","TextCursorInput","LayoutTemplate","Bell","Pilcrow","ImageIcon","VideoIcon","GalleryHorizontal","TableIcon","ChartColumnBig","Container"],"mappings":"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","file":"palette.cjs","sourcesContent":["import {\n AlignLeft,\n Bell,\n ChartColumnBig,\n Container,\n FileText,\n GalleryHorizontal,\n Image as ImageIcon,\n LayoutTemplate,\n MousePointerClick,\n Pilcrow,\n Sparkles,\n Table as TableIcon,\n TextCursorInput,\n Video as VideoIcon\n} from 'lucide-react';\nimport type { ComponentType, SVGProps } from 'react';\nimport type { SupportedBlock, SupportedBlockType } from '../types';\n\n/**\n * One pre-built block example shown as a draggable item in the palette.\n * Modeled on Slack's real Block Kit Builder (\"All selects\", \"Datepickers\",\n * \"Filtered conversation\", etc).\n */\nexport interface PaletteVariant {\n /** Stable id used as the DnD draggable id (`palette:${id}`). */\n id: string;\n /** Visible label shown next to the `+` icon. */\n label: string;\n /** Builds a fresh block payload when this variant is dropped. */\n factory: () => SupportedBlock;\n /**\n * Whether this variant belongs to the palette's simple mode — the short,\n * flat starter list shown before the user opens \"Advanced\" (see\n * `paletteMode` on `BlockKitchen`). Defaults to `false`: a variant is\n * advanced-only unless it opts in.\n *\n * Only consulted when simple mode is enabled. A palette with no `basic`\n * variants at all can't offer one, so it stays in advanced mode.\n */\n basic?: boolean;\n /**\n * Label to use in simple mode, where the flat list drops the section\n * headings that give the ordinary `label` its context — \"No title\" says\n * nothing once \"Image\" is gone from above it. Ignored outside simple\n * mode, and unnecessary for a variant whose label already stands alone.\n */\n basicLabel?: string;\n /**\n * A short tag shown beside the label, e.g. the plan a block belongs to\n * (\"Enterprise\"). Shown whether or not the variant is `locked`.\n */\n badge?: PaletteVariantBadge;\n /**\n * Shows the variant without letting anyone add it: it can't be dragged,\n * and it has no add button. Use it to show a block the user's plan doesn't\n * include, alongside a `badge` saying which one does. Picking it calls\n * `onLockedSelect`.\n */\n locked?: boolean;\n /**\n * Called when the user picks a `locked` variant, e.g. to open an upgrade\n * prompt. Without it a locked variant is inert.\n */\n onLockedSelect?: () => void;\n}\n\n/** A tag shown beside a palette variant's label. See {@link PaletteVariant.badge}. */\nexport interface PaletteVariantBadge {\n /** Visible text, e.g. `'Enterprise'`. */\n label: string;\n /** Optional icon shown before the text, e.g. a Lucide icon component. */\n icon?: ComponentType<SVGProps<SVGSVGElement>>;\n}\n\n/**\n * One section in the palette. Sections group related variants under a\n * single heading + icon, matching Slack's Block Kit Builder sidebar\n * (Agents, Markdown, Section, Actions, Input, Structure, Rich Text,\n * Image, Card and Carousel, Table).\n *\n * Variant ids must be unique across the entire palette — the drag-drop\n * variant lookup keys by id, so a duplicate would shadow the earlier one.\n */\nexport interface PaletteSection {\n /** Visible heading for the section. */\n name: string;\n /** Lucide icon component rendered next to the section heading. */\n icon: ComponentType<SVGProps<SVGSVGElement>>;\n variants: PaletteVariant[];\n}\n\n/**\n * The built-in palette. Mirrors Slack's real Block Kit Builder: related\n * variants (e.g. every select type) are combined into single showcase\n * `actions` blocks (\"All selects\", \"Datepickers\") rather than each\n * variant being its own row. The full set of single-element `input`\n * variants is still available via {@link legacyInputVariants}.\n */\nexport const defaultPalette: readonly PaletteSection[] = [\n {\n name: 'Agents',\n icon: Sparkles,\n variants: [\n {\n id: 'agents_feedback_remove',\n label: 'Feedback + remove',\n factory: () => ({\n type: 'context_actions',\n elements: [\n {\n type: 'feedback_buttons',\n action_id: 'feedback',\n positive_button: {\n text: { type: 'plain_text', text: 'Good Response' },\n value: 'positive'\n },\n negative_button: {\n text: { type: 'plain_text', text: 'Bad Response' },\n value: 'negative'\n }\n },\n {\n type: 'icon_button',\n action_id: 'remove',\n icon: 'trash',\n text: { type: 'plain_text', text: 'Remove' }\n }\n ]\n })\n },\n {\n id: 'agents_feedback_only',\n label: 'Feedback only',\n factory: () => ({\n type: 'context_actions',\n elements: [\n {\n type: 'feedback_buttons',\n action_id: 'feedback',\n positive_button: {\n text: { type: 'plain_text', text: '👍' },\n value: 'positive'\n },\n negative_button: {\n text: { type: 'plain_text', text: '👎' },\n value: 'negative'\n }\n }\n ]\n })\n },\n {\n id: 'agents_plan',\n label: 'Plan',\n factory: () => ({\n type: 'plan',\n title: 'Investigating the issue',\n tasks: [\n {\n type: 'task_card',\n task_id: 'task_1',\n title: 'Read the bug report',\n status: 'complete'\n },\n {\n type: 'task_card',\n task_id: 'task_2',\n title: 'Reproduce the error locally',\n status: 'in_progress'\n },\n {\n type: 'task_card',\n task_id: 'task_3',\n title: 'Identify the root cause',\n status: 'pending'\n }\n ]\n })\n },\n {\n id: 'agents_task_card',\n label: 'Task card',\n factory: () => ({\n type: 'task_card',\n task_id: 'task_1',\n title: 'Summarize the latest release notes',\n status: 'in_progress'\n })\n },\n {\n id: 'agents_task_card_with_sources',\n label: 'Task card with sources',\n factory: () => ({\n type: 'task_card',\n task_id: 'task_2',\n title: 'Cite supporting docs',\n status: 'complete',\n sources: [\n {\n type: 'url',\n url: 'https://example.com/runbook',\n text: 'Runbook'\n },\n {\n type: 'url',\n url: 'https://example.com/changelog',\n text: 'Changelog'\n }\n ]\n })\n }\n ]\n },\n {\n name: 'Markdown',\n icon: FileText,\n variants: [\n {\n id: 'markdown_basic',\n label: 'Basic',\n factory: () => ({\n type: 'markdown',\n text: 'A **markdown** block. Supports _italic_, ~~strike~~, `code`, [links](https://slack.com), lists, tables, and task lists.'\n })\n },\n {\n id: 'markdown_list',\n label: 'List',\n factory: () => ({\n type: 'markdown',\n text: '**Roadmap**\\n\\n- Item one\\n- Item two\\n- Item three'\n })\n },\n {\n id: 'markdown_code',\n label: 'Code block',\n factory: () => ({\n type: 'markdown',\n // biome-ignore lint/suspicious/noTemplateCurlyInString: literal markdown source for a code-block sample\n text: '```ts\\nconst greet = (name: string) => `Hello, ${name}!`;\\n```'\n })\n }\n ]\n },\n {\n name: 'Section',\n icon: AlignLeft,\n variants: [\n {\n id: 'section_plain_text',\n label: 'Plain text',\n factory: () => ({\n type: 'section',\n text: {\n type: 'plain_text',\n text: 'A simple plain-text section.',\n emoji: true\n }\n })\n },\n {\n id: 'section_mrkdwn',\n label: 'Mrkdwn',\n factory: () => ({\n type: 'section',\n text: {\n type: 'mrkdwn',\n text: 'A *markdown* section. Supports _italic_, ~strike~, `code`, and <https://slack.com|links>.'\n }\n })\n },\n {\n id: 'section_with_button',\n label: 'With button accessory',\n factory: () => ({\n type: 'section',\n text: {\n type: 'mrkdwn',\n text: 'A section with a button accessory on the right.'\n },\n accessory: {\n type: 'button',\n text: { type: 'plain_text', text: 'Click me', emoji: true },\n action_id: 'section_button'\n }\n })\n },\n {\n id: 'section_with_image',\n label: 'With image accessory',\n factory: () => ({\n type: 'section',\n text: {\n type: 'mrkdwn',\n text: 'A section with an image accessory on the right.'\n },\n accessory: {\n type: 'image',\n image_url: 'https://placehold.co/80x80?text=Img',\n alt_text: 'Placeholder accessory image'\n }\n })\n }\n ]\n },\n {\n name: 'Actions',\n icon: MousePointerClick,\n variants: [\n {\n id: 'actions_all_selects',\n label: 'All selects',\n factory: () => ({\n type: 'actions',\n elements: [\n {\n type: 'static_select',\n action_id: 'static_select',\n placeholder: { type: 'plain_text', text: 'Static', emoji: true },\n options: [\n {\n text: { type: 'plain_text', text: 'Option 1', emoji: true },\n value: 'option_1'\n },\n {\n text: { type: 'plain_text', text: 'Option 2', emoji: true },\n value: 'option_2'\n }\n ]\n },\n {\n type: 'users_select',\n action_id: 'users_select',\n placeholder: { type: 'plain_text', text: 'User', emoji: true }\n },\n {\n type: 'channels_select',\n action_id: 'channels_select',\n placeholder: { type: 'plain_text', text: 'Channel', emoji: true }\n },\n {\n type: 'conversations_select',\n action_id: 'conversations_select',\n placeholder: {\n type: 'plain_text',\n text: 'Conversation',\n emoji: true\n }\n },\n {\n type: 'external_select',\n action_id: 'external_select',\n placeholder: { type: 'plain_text', text: 'External', emoji: true },\n min_query_length: 0\n }\n ]\n })\n },\n {\n id: 'actions_filtered_conversation',\n label: 'Filtered conversation',\n factory: () => ({\n type: 'actions',\n elements: [\n {\n type: 'conversations_select',\n action_id: 'filtered_conversations_select',\n placeholder: {\n type: 'plain_text',\n text: 'Pick a public channel',\n emoji: true\n },\n filter: {\n include: ['public'],\n exclude_bot_users: true,\n exclude_external_shared_channels: true\n }\n }\n ]\n })\n },\n {\n id: 'actions_selects_initial_values',\n label: 'Selects with initial values',\n factory: () => ({\n type: 'actions',\n elements: [\n {\n type: 'static_select',\n action_id: 'static_select_initial',\n placeholder: { type: 'plain_text', text: 'Pick one', emoji: true },\n initial_option: {\n text: { type: 'plain_text', text: 'Option 2', emoji: true },\n value: 'option_2'\n },\n options: [\n {\n text: { type: 'plain_text', text: 'Option 1', emoji: true },\n value: 'option_1'\n },\n {\n text: { type: 'plain_text', text: 'Option 2', emoji: true },\n value: 'option_2'\n },\n {\n text: { type: 'plain_text', text: 'Option 3', emoji: true },\n value: 'option_3'\n }\n ]\n },\n {\n type: 'users_select',\n action_id: 'users_select_initial',\n placeholder: { type: 'plain_text', text: 'Pick a user', emoji: true },\n initial_user: 'U0LAN0Z89'\n },\n {\n type: 'channels_select',\n action_id: 'channels_select_initial',\n placeholder: {\n type: 'plain_text',\n text: 'Pick a channel',\n emoji: true\n },\n initial_channel: 'C012AB3CD'\n }\n ]\n })\n },\n {\n id: 'actions_button',\n label: 'Button',\n factory: () => ({\n type: 'actions',\n elements: [\n {\n type: 'button',\n text: { type: 'plain_text', text: 'Click me', emoji: true },\n action_id: 'button_1'\n }\n ]\n })\n },\n {\n id: 'actions_datepickers',\n label: 'Datepickers',\n factory: () => ({\n type: 'actions',\n elements: [\n {\n type: 'datepicker',\n action_id: 'datepicker',\n placeholder: {\n type: 'plain_text',\n text: 'Select a date',\n emoji: true\n }\n },\n {\n type: 'timepicker',\n action_id: 'timepicker',\n placeholder: {\n type: 'plain_text',\n text: 'Select a time',\n emoji: true\n }\n },\n {\n type: 'datetimepicker',\n action_id: 'datetimepicker'\n }\n ]\n })\n },\n {\n id: 'actions_checkboxes',\n label: 'Checkboxes',\n factory: () => ({\n type: 'actions',\n elements: [\n {\n type: 'checkboxes',\n action_id: 'checkboxes',\n options: [\n {\n text: { type: 'plain_text', text: 'Option 1', emoji: true },\n value: 'option_1'\n },\n {\n text: { type: 'plain_text', text: 'Option 2', emoji: true },\n value: 'option_2'\n },\n {\n text: { type: 'plain_text', text: 'Option 3', emoji: true },\n value: 'option_3'\n }\n ]\n }\n ]\n })\n },\n {\n id: 'actions_radio_buttons',\n label: 'Radio buttons',\n factory: () => ({\n type: 'actions',\n elements: [\n {\n type: 'radio_buttons',\n action_id: 'radio_buttons',\n options: [\n {\n text: { type: 'plain_text', text: 'Option 1', emoji: true },\n value: 'option_1'\n },\n {\n text: { type: 'plain_text', text: 'Option 2', emoji: true },\n value: 'option_2'\n },\n {\n text: { type: 'plain_text', text: 'Option 3', emoji: true },\n value: 'option_3'\n }\n ]\n }\n ]\n })\n },\n {\n id: 'actions_timepicker',\n label: 'Timepicker',\n factory: () => ({\n type: 'actions',\n elements: [\n {\n type: 'timepicker',\n action_id: 'timepicker_only',\n placeholder: {\n type: 'plain_text',\n text: 'Select a time',\n emoji: true\n }\n }\n ]\n })\n }\n ]\n },\n {\n name: 'Input',\n icon: TextCursorInput,\n variants: [\n {\n id: 'input_plain_text',\n label: 'Plain text',\n factory: () => ({\n type: 'input',\n label: { type: 'plain_text', text: 'Label', emoji: true },\n element: {\n type: 'plain_text_input',\n action_id: 'plain_text_input',\n placeholder: {\n type: 'plain_text',\n text: 'Enter some text',\n emoji: true\n }\n }\n })\n },\n {\n id: 'input_multiline_text',\n label: 'Multiline text',\n factory: () => ({\n type: 'input',\n label: { type: 'plain_text', text: 'Description', emoji: true },\n element: {\n type: 'plain_text_input',\n action_id: 'plain_text_input_multiline',\n multiline: true,\n placeholder: {\n type: 'plain_text',\n text: 'Enter a longer description',\n emoji: true\n }\n }\n })\n },\n {\n id: 'input_email',\n label: 'Email',\n factory: () => ({\n type: 'input',\n label: { type: 'plain_text', text: 'Email address', emoji: true },\n element: {\n type: 'email_text_input',\n action_id: 'email_text_input',\n placeholder: {\n type: 'plain_text',\n text: 'name@example.com',\n emoji: true\n }\n }\n })\n },\n {\n id: 'input_url',\n label: 'URL',\n factory: () => ({\n type: 'input',\n label: { type: 'plain_text', text: 'Website', emoji: true },\n element: {\n type: 'url_text_input',\n action_id: 'url_text_input',\n placeholder: {\n type: 'plain_text',\n text: 'https://example.com',\n emoji: true\n }\n }\n })\n },\n {\n id: 'input_number',\n label: 'Number',\n factory: () => ({\n type: 'input',\n label: { type: 'plain_text', text: 'Quantity', emoji: true },\n element: {\n type: 'number_input',\n action_id: 'number_input',\n is_decimal_allowed: false,\n placeholder: { type: 'plain_text', text: '0', emoji: true }\n }\n })\n },\n {\n id: 'input_date',\n label: 'Date',\n factory: () => ({\n type: 'input',\n label: { type: 'plain_text', text: 'Pick a date', emoji: true },\n element: {\n type: 'datepicker',\n action_id: 'datepicker',\n placeholder: {\n type: 'plain_text',\n text: 'Select a date',\n emoji: true\n }\n }\n })\n },\n {\n id: 'input_select',\n label: 'Select',\n factory: () => ({\n type: 'input',\n label: { type: 'plain_text', text: 'Pick an option', emoji: true },\n element: {\n type: 'static_select',\n action_id: 'static_select',\n placeholder: {\n type: 'plain_text',\n text: 'Choose one',\n emoji: true\n },\n options: [\n {\n text: { type: 'plain_text', text: 'Option 1', emoji: true },\n value: 'option_1'\n },\n {\n text: { type: 'plain_text', text: 'Option 2', emoji: true },\n value: 'option_2'\n },\n {\n text: { type: 'plain_text', text: 'Option 3', emoji: true },\n value: 'option_3'\n }\n ]\n }\n })\n },\n {\n id: 'input_rich_text',\n label: 'Rich text',\n factory: () => ({\n type: 'input',\n label: { type: 'plain_text', text: 'Description', emoji: true },\n element: {\n type: 'rich_text_input',\n action_id: 'rich_text_input',\n placeholder: {\n type: 'plain_text',\n text: 'Type something',\n emoji: true\n }\n }\n })\n },\n {\n id: 'input_file',\n label: 'File upload',\n factory: () => ({\n type: 'input',\n label: { type: 'plain_text', text: 'Upload a file', emoji: true },\n element: {\n type: 'file_input',\n action_id: 'file_input',\n max_files: 1\n }\n })\n }\n ]\n },\n {\n name: 'Structure',\n icon: LayoutTemplate,\n variants: [\n {\n id: 'structure_header',\n label: 'Header',\n basic: true,\n factory: () => ({\n type: 'header',\n text: { type: 'plain_text', text: 'Heading text', emoji: true }\n })\n },\n {\n id: 'structure_divider',\n label: 'Divider',\n basic: true,\n factory: () => ({ type: 'divider' })\n },\n {\n id: 'structure_context_plain',\n label: 'Context (plain text)',\n factory: () => ({\n type: 'context',\n elements: [{ type: 'plain_text', text: 'Posted by your app', emoji: true }]\n })\n },\n {\n id: 'structure_context_mrkdwn',\n label: 'Context (mrkdwn)',\n factory: () => ({\n type: 'context',\n elements: [{ type: 'mrkdwn', text: 'Posted by *your app*' }]\n })\n },\n {\n id: 'structure_context_text_images',\n label: 'Context (text + images)',\n factory: () => ({\n type: 'context',\n elements: [\n {\n type: 'image',\n image_url: 'https://placehold.co/40x40?text=A',\n alt_text: 'Avatar'\n },\n { type: 'mrkdwn', text: '*Alex* posted in <#general>' }\n ]\n })\n }\n ]\n },\n {\n name: 'Alert',\n icon: Bell,\n variants: [\n {\n id: 'alert_default',\n label: 'Default',\n factory: () => ({\n type: 'alert',\n text: {\n type: 'mrkdwn',\n text: 'A neutral alert message.'\n }\n })\n },\n {\n id: 'alert_info',\n label: 'Info',\n factory: () => ({\n type: 'alert',\n level: 'info',\n text: {\n type: 'mrkdwn',\n text: 'FYI: the build finished in 42 seconds.'\n }\n })\n },\n {\n id: 'alert_warning',\n label: 'Warning',\n factory: () => ({\n type: 'alert',\n level: 'warning',\n text: {\n type: 'mrkdwn',\n text: 'Heads up: this action cannot be undone.'\n }\n })\n },\n {\n id: 'alert_error',\n label: 'Error',\n factory: () => ({\n type: 'alert',\n level: 'error',\n text: {\n type: 'mrkdwn',\n text: 'Something went wrong. Please try again.'\n }\n })\n },\n {\n id: 'alert_success',\n label: 'Success',\n factory: () => ({\n type: 'alert',\n level: 'success',\n text: {\n type: 'mrkdwn',\n text: 'Your changes have been saved.'\n }\n })\n }\n ]\n },\n {\n name: 'Rich Text',\n icon: Pilcrow,\n variants: [\n {\n id: 'rich_text_section',\n label: 'Rich Text Section',\n // The block a message is mostly made of, and so one of the handful\n // simple mode offers — listed there without its section heading,\n // hence the self-describing label.\n basic: true,\n factory: () => ({\n type: 'rich_text',\n elements: [\n {\n type: 'rich_text_section',\n elements: [\n { type: 'text', text: 'A rich text ' },\n { type: 'text', text: 'section', style: { bold: true } },\n { type: 'text', text: ' with inline ' },\n { type: 'text', text: 'styled', style: { italic: true } },\n { type: 'text', text: ' text.' }\n ]\n }\n ]\n })\n }\n ]\n },\n {\n name: 'Image',\n icon: ImageIcon,\n variants: [\n {\n id: 'image_with_title',\n label: 'With title',\n factory: () => ({\n type: 'image',\n image_url: 'https://placehold.co/600x300?text=Image',\n alt_text: 'Placeholder image',\n title: { type: 'plain_text', text: 'Image title', emoji: true }\n })\n },\n {\n id: 'image_no_title',\n label: 'No title',\n // The plain image is the one an ordinary message reaches for, so it\n // carries simple mode's image slot — under its own name there, with\n // no \"Image\" heading overhead to lend \"No title\" its meaning.\n basic: true,\n basicLabel: 'Image',\n factory: () => ({\n type: 'image',\n image_url: 'https://placehold.co/600x300?text=Image',\n alt_text: 'Placeholder image'\n })\n }\n ]\n },\n {\n name: 'Video',\n icon: VideoIcon,\n variants: [\n {\n id: 'video_basic',\n label: 'Basic',\n factory: () => ({\n type: 'video',\n alt_text: 'A short demo video',\n title: { type: 'plain_text', text: 'Product demo', emoji: true },\n thumbnail_url: 'https://placehold.co/600x340?text=Video',\n video_url: 'https://www.youtube.com/embed/dQw4w9WgXcQ'\n })\n },\n {\n id: 'video_with_metadata',\n label: 'With metadata',\n factory: () => ({\n type: 'video',\n alt_text: 'A short demo video',\n title: { type: 'plain_text', text: 'Product demo', emoji: true },\n title_url: 'https://www.youtube.com/watch?v=dQw4w9WgXcQ',\n thumbnail_url: 'https://placehold.co/600x340?text=Video',\n video_url: 'https://www.youtube.com/embed/dQw4w9WgXcQ',\n author_name: 'Acme',\n description: {\n type: 'plain_text',\n text: 'A short walkthrough of the new release.',\n emoji: true\n },\n provider_name: 'YouTube',\n provider_icon_url: 'https://placehold.co/16x16?text=YT'\n })\n }\n ]\n },\n {\n name: 'Card and Carousel',\n icon: GalleryHorizontal,\n variants: [\n {\n id: 'card_basic',\n label: 'Card',\n factory: () => ({\n type: 'card',\n icon: {\n type: 'image',\n image_url: 'https://placehold.co/36x36?text=Icon',\n alt_text: 'Card icon'\n },\n title: { type: 'mrkdwn', text: 'Card title' },\n subtitle: { type: 'mrkdwn', text: 'Card subtitle' },\n body: {\n type: 'mrkdwn',\n text: 'A short description of what this card is about.'\n }\n })\n },\n {\n id: 'card_with_hero',\n label: 'Card with hero image',\n factory: () => ({\n type: 'card',\n hero_image: {\n type: 'image',\n image_url: 'https://placehold.co/400x200?text=Hero',\n alt_text: 'Card hero image'\n },\n title: { type: 'mrkdwn', text: 'Card title' },\n body: {\n type: 'mrkdwn',\n text: 'A short description of what this card is about.'\n }\n })\n },\n {\n id: 'card_with_actions',\n label: 'Card with actions',\n factory: () => ({\n type: 'card',\n title: { type: 'mrkdwn', text: 'Card title' },\n body: {\n type: 'mrkdwn',\n text: 'A short description of what this card is about.'\n },\n actions: [\n {\n type: 'button',\n text: { type: 'plain_text', text: 'Open', emoji: true },\n action_id: 'card_action_1'\n }\n ]\n })\n },\n {\n id: 'carousel_basic',\n label: 'Carousel',\n factory: () => ({\n type: 'carousel',\n elements: [\n {\n type: 'card',\n title: { type: 'mrkdwn', text: 'Card 1' },\n body: { type: 'mrkdwn', text: 'First card in the carousel.' }\n },\n {\n type: 'card',\n title: { type: 'mrkdwn', text: 'Card 2' },\n body: { type: 'mrkdwn', text: 'Second card in the carousel.' }\n },\n {\n type: 'card',\n title: { type: 'mrkdwn', text: 'Card 3' },\n body: { type: 'mrkdwn', text: 'Third card in the carousel.' }\n }\n ]\n })\n }\n ]\n },\n {\n name: 'Table',\n icon: TableIcon,\n variants: [\n {\n id: 'table_simple',\n label: 'Simple table',\n factory: () => ({\n type: 'table',\n rows: [\n [\n { type: 'raw_text', text: 'Header 1' },\n { type: 'raw_text', text: 'Header 2' },\n { type: 'raw_text', text: 'Header 3' }\n ],\n [\n { type: 'raw_text', text: 'Row 1, A' },\n { type: 'raw_text', text: 'Row 1, B' },\n { type: 'raw_text', text: 'Row 1, C' }\n ],\n [\n { type: 'raw_text', text: 'Row 2, A' },\n { type: 'raw_text', text: 'Row 2, B' },\n { type: 'raw_text', text: 'Row 2, C' }\n ]\n ]\n })\n },\n {\n // Slack's documented example.\n id: 'data_table_basic',\n label: 'Data table',\n factory: () => ({\n type: 'data_table',\n caption: 'A Fabulous Table',\n rows: [\n [\n { type: 'raw_text', text: 'Name' },\n { type: 'raw_text', text: 'Department' },\n { type: 'raw_text', text: 'Badge' }\n ],\n [\n { type: 'raw_text', text: 'Data Refinement Department' },\n { type: 'raw_text', text: 'MDR' },\n {\n type: 'rich_text',\n elements: [\n { type: 'rich_text_section', elements: [{ type: 'text', text: 'Blue', style: { bold: true } }] }\n ]\n }\n ],\n [\n { type: 'raw_text', text: 'Art Sourcing Department' },\n { type: 'raw_text', text: 'O&D' },\n {\n type: 'rich_text',\n elements: [\n {\n type: 'rich_text_section',\n elements: [\n { type: 'text', text: 'Green ' },\n { type: 'text', text: 'review', style: { italic: true } }\n ]\n }\n ]\n }\n ],\n [\n { type: 'raw_text', text: 'Wellness Department' },\n { type: 'raw_text', text: 'Wellness Center' },\n {\n type: 'rich_text',\n elements: [\n { type: 'rich_text_section', elements: [{ type: 'text', text: 'Limited', style: { bold: true } }] }\n ]\n }\n ]\n ]\n })\n }\n ]\n },\n {\n name: 'Data Visualization',\n icon: ChartColumnBig,\n variants: [\n {\n id: 'dataviz_line',\n label: 'Line chart',\n factory: () => ({\n type: 'data_visualization',\n title: 'Weekly active users by platform',\n chart: {\n type: 'line',\n series: [\n {\n name: 'Desktop',\n data: [\n { label: 'Mon', value: 800 },\n { label: 'Tue', value: 920 },\n { label: 'Wed', value: 880 },\n { label: 'Thu', value: 1010 },\n { label: 'Fri', value: 1120 }\n ]\n },\n {\n name: 'Mobile',\n data: [\n { label: 'Mon', value: 400 },\n { label: 'Tue', value: 530 },\n { label: 'Wed', value: 500 },\n { label: 'Thu', value: 590 },\n { label: 'Fri', value: 600 }\n ]\n }\n ],\n axis_config: {\n categories: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri'],\n x_label: 'Day',\n y_label: 'Users'\n }\n }\n })\n },\n {\n id: 'dataviz_bar',\n label: 'Bar chart',\n factory: () => ({\n type: 'data_visualization',\n title: 'Messages sent by platform',\n chart: {\n type: 'bar',\n series: [\n {\n name: 'Desktop',\n data: [\n { label: 'Mon', value: 1500 },\n { label: 'Tue', value: 1400 },\n { label: 'Wed', value: 1700 },\n { label: 'Thu', value: 1600 },\n { label: 'Fri', value: 1280 }\n ]\n },\n {\n name: 'Mobile',\n data: [\n { label: 'Mon', value: 800 },\n { label: 'Tue', value: 750 },\n { label: 'Wed', value: 920 },\n { label: 'Thu', value: 880 },\n { label: 'Fri', value: 700 }\n ]\n }\n ],\n axis_config: {\n categories: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri'],\n x_label: 'Day',\n y_label: 'Messages'\n }\n }\n })\n },\n {\n id: 'dataviz_area',\n label: 'Area chart',\n factory: () => ({\n type: 'data_visualization',\n title: 'Concurrent users by platform',\n chart: {\n type: 'area',\n series: [\n {\n name: 'Desktop',\n data: [\n { label: 'Mon', value: 2800 },\n { label: 'Tue', value: 3000 },\n { label: 'Wed', value: 3400 },\n { label: 'Thu', value: 3200 },\n { label: 'Fri', value: 3500 }\n ]\n },\n {\n name: 'Mobile',\n data: [\n { label: 'Mon', value: 1400 },\n { label: 'Tue', value: 1500 },\n { label: 'Wed', value: 1700 },\n { label: 'Thu', value: 1600 },\n { label: 'Fri', value: 1800 }\n ]\n }\n ],\n axis_config: {\n categories: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri'],\n x_label: 'Day',\n y_label: 'Users'\n }\n }\n })\n },\n {\n id: 'dataviz_pie',\n label: 'Pie chart',\n factory: () => ({\n type: 'data_visualization',\n title: 'Plan distribution by tier',\n chart: {\n type: 'pie',\n segments: [\n { label: 'Free', value: 4200 },\n { label: 'Pro', value: 2300 },\n { label: 'Business+', value: 1100 },\n { label: 'Enterprise', value: 480 }\n ]\n }\n })\n }\n ]\n },\n {\n name: 'Container',\n icon: Container,\n variants: [\n {\n id: 'container_collapsible',\n label: 'Collapsible container',\n factory: () => ({\n type: 'container',\n title: { type: 'plain_text', text: 'Bulk update: 2 records selected' },\n subtitle: { type: 'plain_text', text: 'Review changes before confirming' },\n is_collapsible: true,\n child_blocks: [\n {\n type: 'section',\n text: { type: 'mrkdwn', text: '*DCW-1024*\\nStatus: Open → Closed' }\n },\n { type: 'divider' },\n {\n type: 'section',\n text: { type: 'mrkdwn', text: '*DCW-1025*\\nStatus: In Progress → Closed' }\n },\n {\n type: 'actions',\n elements: [\n {\n type: 'button',\n text: { type: 'plain_text', text: 'Confirm All', emoji: true },\n style: 'primary',\n action_id: 'bulk_confirm'\n },\n {\n type: 'button',\n text: { type: 'plain_text', text: 'Cancel', emoji: true },\n action_id: 'bulk_cancel'\n }\n ]\n }\n ]\n })\n }\n ]\n }\n] as const;\n\n/**\n * The single-element `input`-block variants that used to ship in\n * `defaultPalette` before it was consolidated to mirror Slack's Block\n * Kit Builder. Kept reachable so consumers who referenced these ids via\n * the `palette` prop can spread them back into a custom palette.\n *\n * @example\n * ```tsx\n * import { defaultPalette, legacyInputVariants } from '@tightknitai/block-kitchen';\n * import { TextCursorInput } from 'lucide-react';\n *\n * const palette = [\n * ...defaultPalette,\n * { name: 'All inputs', icon: TextCursorInput, variants: [...legacyInputVariants] }\n * ];\n * ```\n *\n * Note: some ids here (`input_plain_text`, `input_date`, etc.) collide\n * with curated ids in the new `defaultPalette`. `buildVariantById`\n * keeps the last entry for a given id, so spread `legacyInputVariants`\n * after `defaultPalette` to use the legacy factory.\n */\nexport const legacyInputVariants: readonly PaletteVariant[] = [\n {\n id: 'input_plain_text',\n label: 'plain text',\n factory: () => ({\n type: 'input',\n label: { type: 'plain_text', text: 'Label', emoji: true },\n element: {\n type: 'plain_text_input',\n action_id: 'plain_text_input',\n placeholder: {\n type: 'plain_text',\n text: 'Enter some text',\n emoji: true\n }\n }\n })\n },\n {\n id: 'input_multiline_text',\n label: 'multiline text',\n factory: () => ({\n type: 'input',\n label: { type: 'plain_text', text: 'Description', emoji: true },\n element: {\n type: 'plain_text_input',\n action_id: 'plain_text_input_multiline',\n multiline: true,\n placeholder: {\n type: 'plain_text',\n text: 'Enter a longer description',\n emoji: true\n }\n }\n })\n },\n {\n id: 'input_email',\n label: 'email',\n factory: () => ({\n type: 'input',\n label: { type: 'plain_text', text: 'Email address', emoji: true },\n element: {\n type: 'email_text_input',\n action_id: 'email_text_input',\n placeholder: {\n type: 'plain_text',\n text: 'name@example.com',\n emoji: true\n }\n }\n })\n },\n {\n id: 'input_url',\n label: 'url',\n factory: () => ({\n type: 'input',\n label: { type: 'plain_text', text: 'Website', emoji: true },\n element: {\n type: 'url_text_input',\n action_id: 'url_text_input',\n placeholder: {\n type: 'plain_text',\n text: 'https://example.com',\n emoji: true\n }\n }\n })\n },\n {\n id: 'input_number',\n label: 'number',\n factory: () => ({\n type: 'input',\n label: { type: 'plain_text', text: 'Quantity', emoji: true },\n element: {\n type: 'number_input',\n action_id: 'number_input',\n is_decimal_allowed: false,\n placeholder: { type: 'plain_text', text: '0', emoji: true }\n }\n })\n },\n {\n id: 'input_date',\n label: 'date',\n factory: () => ({\n type: 'input',\n label: { type: 'plain_text', text: 'Pick a date', emoji: true },\n element: {\n type: 'datepicker',\n action_id: 'datepicker',\n placeholder: {\n type: 'plain_text',\n text: 'Select a date',\n emoji: true\n }\n }\n })\n },\n {\n id: 'input_time',\n label: 'time',\n factory: () => ({\n type: 'input',\n label: { type: 'plain_text', text: 'Pick a time', emoji: true },\n element: {\n type: 'timepicker',\n action_id: 'timepicker',\n placeholder: {\n type: 'plain_text',\n text: 'Select a time',\n emoji: true\n }\n }\n })\n },\n {\n id: 'input_datetime',\n label: 'date and time',\n factory: () => ({\n type: 'input',\n label: {\n type: 'plain_text',\n text: 'Pick a date and time',\n emoji: true\n },\n element: {\n type: 'datetimepicker',\n action_id: 'datetimepicker'\n }\n })\n },\n {\n id: 'input_static_select',\n label: 'select',\n factory: () => ({\n type: 'input',\n label: { type: 'plain_text', text: 'Pick an option', emoji: true },\n element: {\n type: 'static_select',\n action_id: 'static_select',\n placeholder: {\n type: 'plain_text',\n text: 'Choose one',\n emoji: true\n },\n options: [\n {\n text: { type: 'plain_text', text: 'Option 1', emoji: true },\n value: 'option_1'\n },\n {\n text: { type: 'plain_text', text: 'Option 2', emoji: true },\n value: 'option_2'\n },\n {\n text: { type: 'plain_text', text: 'Option 3', emoji: true },\n value: 'option_3'\n }\n ]\n }\n })\n },\n {\n id: 'input_multi_static_select',\n label: 'multi-select',\n factory: () => ({\n type: 'input',\n label: { type: 'plain_text', text: 'Pick options', emoji: true },\n element: {\n type: 'multi_static_select',\n action_id: 'multi_static_select',\n placeholder: {\n type: 'plain_text',\n text: 'Choose one or more',\n emoji: true\n },\n options: [\n {\n text: { type: 'plain_text', text: 'Option 1', emoji: true },\n value: 'option_1'\n },\n {\n text: { type: 'plain_text', text: 'Option 2', emoji: true },\n value: 'option_2'\n },\n {\n text: { type: 'plain_text', text: 'Option 3', emoji: true },\n value: 'option_3'\n }\n ]\n }\n })\n },\n {\n id: 'input_users_select',\n label: 'users select',\n factory: () => ({\n type: 'input',\n label: { type: 'plain_text', text: 'Pick a user', emoji: true },\n element: {\n type: 'users_select',\n action_id: 'users_select',\n placeholder: {\n type: 'plain_text',\n text: 'Select a user',\n emoji: true\n }\n }\n })\n },\n {\n id: 'input_multi_users_select',\n label: 'multi users select',\n factory: () => ({\n type: 'input',\n label: { type: 'plain_text', text: 'Pick users', emoji: true },\n element: {\n type: 'multi_users_select',\n action_id: 'multi_users_select',\n placeholder: {\n type: 'plain_text',\n text: 'Select users',\n emoji: true\n }\n }\n })\n },\n {\n id: 'input_channels_select',\n label: 'channels select',\n factory: () => ({\n type: 'input',\n label: { type: 'plain_text', text: 'Pick a channel', emoji: true },\n element: {\n type: 'channels_select',\n action_id: 'channels_select',\n placeholder: {\n type: 'plain_text',\n text: 'Select a channel',\n emoji: true\n }\n }\n })\n },\n {\n id: 'input_multi_channels_select',\n label: 'multi channels select',\n factory: () => ({\n type: 'input',\n label: { type: 'plain_text', text: 'Pick channels', emoji: true },\n element: {\n type: 'multi_channels_select',\n action_id: 'multi_channels_select',\n placeholder: {\n type: 'plain_text',\n text: 'Select channels',\n emoji: true\n }\n }\n })\n },\n {\n id: 'input_conversations_select',\n label: 'conversations select',\n factory: () => ({\n type: 'input',\n label: {\n type: 'plain_text',\n text: 'Pick a conversation',\n emoji: true\n },\n element: {\n type: 'conversations_select',\n action_id: 'conversations_select',\n placeholder: {\n type: 'plain_text',\n text: 'Select a conversation',\n emoji: true\n }\n }\n })\n },\n {\n id: 'input_multi_conversations_select',\n label: 'multi conversations select',\n factory: () => ({\n type: 'input',\n label: {\n type: 'plain_text',\n text: 'Pick conversations',\n emoji: true\n },\n element: {\n type: 'multi_conversations_select',\n action_id: 'multi_conversations_select',\n placeholder: {\n type: 'plain_text',\n text: 'Select conversations',\n emoji: true\n }\n }\n })\n },\n {\n id: 'input_external_select',\n label: 'external select',\n factory: () => ({\n type: 'input',\n label: { type: 'plain_text', text: 'Pick an option', emoji: true },\n element: {\n type: 'external_select',\n action_id: 'external_select',\n placeholder: {\n type: 'plain_text',\n text: 'Choose one',\n emoji: true\n },\n min_query_length: 0\n }\n })\n },\n {\n id: 'input_multi_external_select',\n label: 'multi external select',\n factory: () => ({\n type: 'input',\n label: { type: 'plain_text', text: 'Pick options', emoji: true },\n element: {\n type: 'multi_external_select',\n action_id: 'multi_external_select',\n placeholder: {\n type: 'plain_text',\n text: 'Choose one or more',\n emoji: true\n },\n min_query_length: 0\n }\n })\n },\n {\n id: 'input_radio_buttons',\n label: 'radio buttons',\n factory: () => ({\n type: 'input',\n label: { type: 'plain_text', text: 'Pick one', emoji: true },\n element: {\n type: 'radio_buttons',\n action_id: 'radio_buttons',\n options: [\n {\n text: { type: 'plain_text', text: 'Option 1', emoji: true },\n value: 'option_1'\n },\n {\n text: { type: 'plain_text', text: 'Option 2', emoji: true },\n value: 'option_2'\n },\n {\n text: { type: 'plain_text', text: 'Option 3', emoji: true },\n value: 'option_3'\n }\n ]\n }\n })\n },\n {\n id: 'input_checkboxes',\n label: 'checkboxes',\n factory: () => ({\n type: 'input',\n label: { type: 'plain_text', text: 'Pick any', emoji: true },\n element: {\n type: 'checkboxes',\n action_id: 'checkboxes',\n options: [\n {\n text: { type: 'plain_text', text: 'Option 1', emoji: true },\n value: 'option_1'\n },\n {\n text: { type: 'plain_text', text: 'Option 2', emoji: true },\n value: 'option_2'\n },\n {\n text: { type: 'plain_text', text: 'Option 3', emoji: true },\n value: 'option_3'\n }\n ]\n }\n })\n },\n {\n id: 'input_rich_text',\n label: 'rich text input',\n factory: () => ({\n type: 'input',\n label: { type: 'plain_text', text: 'Description', emoji: true },\n element: {\n type: 'rich_text_input',\n action_id: 'rich_text_input',\n placeholder: {\n type: 'plain_text',\n text: 'Type something',\n emoji: true\n }\n }\n })\n },\n {\n id: 'input_file',\n label: 'file upload',\n factory: () => ({\n type: 'input',\n label: { type: 'plain_text', text: 'Upload a file', emoji: true },\n element: {\n type: 'file_input',\n action_id: 'file_input',\n max_files: 1\n }\n })\n }\n] as const;\n\n/**\n * Standalone `alert` block variant. The full set of severity-level alert\n * variants ships in `defaultPalette` under the \"Alert\" section; this\n * export is retained for backward compatibility with consumers who\n * previously spread it onto a custom palette. Shares the `alert_warning`\n * id with its counterpart in `defaultPalette` — spread after\n * `defaultPalette` (or omit it entirely) to avoid duplicate-id lookups.\n */\nexport const extraAlertVariant: PaletteVariant = {\n id: 'alert_warning',\n label: 'Warning',\n factory: () => ({\n type: 'alert',\n level: 'warning',\n text: {\n type: 'mrkdwn',\n text: 'Heads up: this action cannot be undone.'\n }\n })\n};\n\n/**\n * Builds a lookup table mapping a variant id to its definition for a\n * resolved palette. Used by the DnD drop handler to resolve a\n * `palette:${id}` drag back to a factory.\n * @param sections - the palette in use (defaults or a consumer-provided one)\n * @returns a map keyed by variant id\n */\nexport function buildVariantById(sections: readonly PaletteSection[]): ReadonlyMap<string, PaletteVariant> {\n return new Map(sections.flatMap((section) => section.variants.map((v) => [v.id, v] as const)));\n}\n\n/**\n * Human-readable label for a supported block type. Used in the per-block\n * popover editor heading.\n * @param type - the block type\n * @returns a short label (e.g. \"Section\")\n */\nexport function labelForBlockType(type: SupportedBlockType): string {\n switch (type) {\n case 'section':\n return 'Section';\n case 'header':\n return 'Header';\n case 'divider':\n return 'Divider';\n case 'context':\n return 'Context';\n case 'actions':\n return 'Buttons';\n case 'image':\n return 'Image';\n case 'markdown':\n return 'Markdown';\n case 'table':\n return 'Table';\n case 'rich_text':\n return 'Rich Text';\n case 'alert':\n return 'Alert';\n case 'card':\n return 'Card';\n case 'carousel':\n return 'Carousel';\n case 'context_actions':\n return 'Context Actions';\n case 'input':\n return 'Input';\n case 'video':\n return 'Video';\n case 'plan':\n return 'Plan';\n case 'task_card':\n return 'Task Card';\n case 'data_visualization':\n return 'Data Visualization';\n case 'container':\n return 'Container';\n case 'data_table':\n return 'Data Table';\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/lib/default-blocks.ts"],"names":["Sparkles","FileText","AlignLeft","MousePointerClick","TextCursorInput","LayoutTemplate","Bell","Pilcrow","ImageIcon","VideoIcon","GalleryHorizontal","TableIcon","ChartColumnBig","Container"],"mappings":"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","file":"palette.cjs","sourcesContent":["import {\n AlignLeft,\n Bell,\n ChartColumnBig,\n Container,\n FileText,\n GalleryHorizontal,\n Image as ImageIcon,\n LayoutTemplate,\n MousePointerClick,\n Pilcrow,\n Sparkles,\n Table as TableIcon,\n TextCursorInput,\n Video as VideoIcon\n} from 'lucide-react';\nimport type { ComponentType, SVGProps } from 'react';\nimport type { SupportedBlock, SupportedBlockType } from '../types';\n\n/**\n * One pre-built block example shown as a draggable item in the palette.\n * Modeled on Slack's real Block Kit Builder (\"All selects\", \"Datepickers\",\n * \"Filtered conversation\", etc).\n */\nexport interface PaletteVariant {\n /** Stable id used as the DnD draggable id (`palette:${id}`). */\n id: string;\n /** Visible label shown next to the `+` icon. */\n label: string;\n /** Builds a fresh block payload when this variant is dropped. */\n factory: () => SupportedBlock;\n /**\n * Whether this variant belongs to the palette's simple mode — the short,\n * flat starter list shown before the user opens \"Advanced\" (see\n * `paletteMode` on `BlockKitchen`). Defaults to `false`: a variant is\n * advanced-only unless it opts in.\n *\n * Only consulted when simple mode is enabled. A palette with no `basic`\n * variants at all can't offer one, so it stays in advanced mode.\n */\n basic?: boolean;\n /**\n * Label to use in simple mode, where the flat list drops the section\n * headings that give the ordinary `label` its context — \"No title\" says\n * nothing once \"Image\" is gone from above it. Ignored outside simple\n * mode, and unnecessary for a variant whose label already stands alone.\n */\n basicLabel?: string;\n /**\n * A short tag shown beside the label, e.g. the plan a block belongs to\n * (\"Enterprise\"). Shown whether or not the variant is `locked`.\n */\n badge?: PaletteVariantBadge;\n /**\n * Shows the variant without letting anyone add it: it can't be dragged,\n * and it has no add button. Use it to show a block the user's plan doesn't\n * include, alongside a `badge` saying which one does. Picking it calls\n * `onLockedSelect`.\n */\n locked?: boolean;\n /**\n * Called when the user picks a `locked` variant, e.g. to open an upgrade\n * prompt. Without it a locked variant is inert.\n */\n onLockedSelect?: () => void;\n}\n\n/** A tag shown beside a palette variant's label. See {@link PaletteVariant.badge}. */\nexport interface PaletteVariantBadge {\n /** Visible text, e.g. `'Enterprise'`. */\n label: string;\n /** Optional icon shown before the text, e.g. a Lucide icon component. */\n icon?: ComponentType<SVGProps<SVGSVGElement>>;\n /**\n * Extra classes for the tag, merged over its defaults (conflicting Tailwind\n * classes win), so it can match the host's own plan badges.\n */\n className?: string;\n}\n\n/**\n * One section in the palette. Sections group related variants under a\n * single heading + icon, matching Slack's Block Kit Builder sidebar\n * (Agents, Markdown, Section, Actions, Input, Structure, Rich Text,\n * Image, Card and Carousel, Table).\n *\n * Variant ids must be unique across the entire palette — the drag-drop\n * variant lookup keys by id, so a duplicate would shadow the earlier one.\n */\nexport interface PaletteSection {\n /** Visible heading for the section. */\n name: string;\n /** Lucide icon component rendered next to the section heading. */\n icon: ComponentType<SVGProps<SVGSVGElement>>;\n variants: PaletteVariant[];\n}\n\n/**\n * The built-in palette. Mirrors Slack's real Block Kit Builder: related\n * variants (e.g. every select type) are combined into single showcase\n * `actions` blocks (\"All selects\", \"Datepickers\") rather than each\n * variant being its own row. The full set of single-element `input`\n * variants is still available via {@link legacyInputVariants}.\n */\nexport const defaultPalette: readonly PaletteSection[] = [\n {\n name: 'Agents',\n icon: Sparkles,\n variants: [\n {\n id: 'agents_feedback_remove',\n label: 'Feedback + remove',\n factory: () => ({\n type: 'context_actions',\n elements: [\n {\n type: 'feedback_buttons',\n action_id: 'feedback',\n positive_button: {\n text: { type: 'plain_text', text: 'Good Response' },\n value: 'positive'\n },\n negative_button: {\n text: { type: 'plain_text', text: 'Bad Response' },\n value: 'negative'\n }\n },\n {\n type: 'icon_button',\n action_id: 'remove',\n icon: 'trash',\n text: { type: 'plain_text', text: 'Remove' }\n }\n ]\n })\n },\n {\n id: 'agents_feedback_only',\n label: 'Feedback only',\n factory: () => ({\n type: 'context_actions',\n elements: [\n {\n type: 'feedback_buttons',\n action_id: 'feedback',\n positive_button: {\n text: { type: 'plain_text', text: '👍' },\n value: 'positive'\n },\n negative_button: {\n text: { type: 'plain_text', text: '👎' },\n value: 'negative'\n }\n }\n ]\n })\n },\n {\n id: 'agents_plan',\n label: 'Plan',\n factory: () => ({\n type: 'plan',\n title: 'Investigating the issue',\n tasks: [\n {\n type: 'task_card',\n task_id: 'task_1',\n title: 'Read the bug report',\n status: 'complete'\n },\n {\n type: 'task_card',\n task_id: 'task_2',\n title: 'Reproduce the error locally',\n status: 'in_progress'\n },\n {\n type: 'task_card',\n task_id: 'task_3',\n title: 'Identify the root cause',\n status: 'pending'\n }\n ]\n })\n },\n {\n id: 'agents_task_card',\n label: 'Task card',\n factory: () => ({\n type: 'task_card',\n task_id: 'task_1',\n title: 'Summarize the latest release notes',\n status: 'in_progress'\n })\n },\n {\n id: 'agents_task_card_with_sources',\n label: 'Task card with sources',\n factory: () => ({\n type: 'task_card',\n task_id: 'task_2',\n title: 'Cite supporting docs',\n status: 'complete',\n sources: [\n {\n type: 'url',\n url: 'https://example.com/runbook',\n text: 'Runbook'\n },\n {\n type: 'url',\n url: 'https://example.com/changelog',\n text: 'Changelog'\n }\n ]\n })\n }\n ]\n },\n {\n name: 'Markdown',\n icon: FileText,\n variants: [\n {\n id: 'markdown_basic',\n label: 'Basic',\n factory: () => ({\n type: 'markdown',\n text: 'A **markdown** block. Supports _italic_, ~~strike~~, `code`, [links](https://slack.com), lists, tables, and task lists.'\n })\n },\n {\n id: 'markdown_list',\n label: 'List',\n factory: () => ({\n type: 'markdown',\n text: '**Roadmap**\\n\\n- Item one\\n- Item two\\n- Item three'\n })\n },\n {\n id: 'markdown_code',\n label: 'Code block',\n factory: () => ({\n type: 'markdown',\n // biome-ignore lint/suspicious/noTemplateCurlyInString: literal markdown source for a code-block sample\n text: '```ts\\nconst greet = (name: string) => `Hello, ${name}!`;\\n```'\n })\n }\n ]\n },\n {\n name: 'Section',\n icon: AlignLeft,\n variants: [\n {\n id: 'section_plain_text',\n label: 'Plain text',\n factory: () => ({\n type: 'section',\n text: {\n type: 'plain_text',\n text: 'A simple plain-text section.',\n emoji: true\n }\n })\n },\n {\n id: 'section_mrkdwn',\n label: 'Mrkdwn',\n factory: () => ({\n type: 'section',\n text: {\n type: 'mrkdwn',\n text: 'A *markdown* section. Supports _italic_, ~strike~, `code`, and <https://slack.com|links>.'\n }\n })\n },\n {\n id: 'section_with_button',\n label: 'With button accessory',\n factory: () => ({\n type: 'section',\n text: {\n type: 'mrkdwn',\n text: 'A section with a button accessory on the right.'\n },\n accessory: {\n type: 'button',\n text: { type: 'plain_text', text: 'Click me', emoji: true },\n action_id: 'section_button'\n }\n })\n },\n {\n id: 'section_with_image',\n label: 'With image accessory',\n factory: () => ({\n type: 'section',\n text: {\n type: 'mrkdwn',\n text: 'A section with an image accessory on the right.'\n },\n accessory: {\n type: 'image',\n image_url: 'https://placehold.co/80x80?text=Img',\n alt_text: 'Placeholder accessory image'\n }\n })\n }\n ]\n },\n {\n name: 'Actions',\n icon: MousePointerClick,\n variants: [\n {\n id: 'actions_all_selects',\n label: 'All selects',\n factory: () => ({\n type: 'actions',\n elements: [\n {\n type: 'static_select',\n action_id: 'static_select',\n placeholder: { type: 'plain_text', text: 'Static', emoji: true },\n options: [\n {\n text: { type: 'plain_text', text: 'Option 1', emoji: true },\n value: 'option_1'\n },\n {\n text: { type: 'plain_text', text: 'Option 2', emoji: true },\n value: 'option_2'\n }\n ]\n },\n {\n type: 'users_select',\n action_id: 'users_select',\n placeholder: { type: 'plain_text', text: 'User', emoji: true }\n },\n {\n type: 'channels_select',\n action_id: 'channels_select',\n placeholder: { type: 'plain_text', text: 'Channel', emoji: true }\n },\n {\n type: 'conversations_select',\n action_id: 'conversations_select',\n placeholder: {\n type: 'plain_text',\n text: 'Conversation',\n emoji: true\n }\n },\n {\n type: 'external_select',\n action_id: 'external_select',\n placeholder: { type: 'plain_text', text: 'External', emoji: true },\n min_query_length: 0\n }\n ]\n })\n },\n {\n id: 'actions_filtered_conversation',\n label: 'Filtered conversation',\n factory: () => ({\n type: 'actions',\n elements: [\n {\n type: 'conversations_select',\n action_id: 'filtered_conversations_select',\n placeholder: {\n type: 'plain_text',\n text: 'Pick a public channel',\n emoji: true\n },\n filter: {\n include: ['public'],\n exclude_bot_users: true,\n exclude_external_shared_channels: true\n }\n }\n ]\n })\n },\n {\n id: 'actions_selects_initial_values',\n label: 'Selects with initial values',\n factory: () => ({\n type: 'actions',\n elements: [\n {\n type: 'static_select',\n action_id: 'static_select_initial',\n placeholder: { type: 'plain_text', text: 'Pick one', emoji: true },\n initial_option: {\n text: { type: 'plain_text', text: 'Option 2', emoji: true },\n value: 'option_2'\n },\n options: [\n {\n text: { type: 'plain_text', text: 'Option 1', emoji: true },\n value: 'option_1'\n },\n {\n text: { type: 'plain_text', text: 'Option 2', emoji: true },\n value: 'option_2'\n },\n {\n text: { type: 'plain_text', text: 'Option 3', emoji: true },\n value: 'option_3'\n }\n ]\n },\n {\n type: 'users_select',\n action_id: 'users_select_initial',\n placeholder: { type: 'plain_text', text: 'Pick a user', emoji: true },\n initial_user: 'U0LAN0Z89'\n },\n {\n type: 'channels_select',\n action_id: 'channels_select_initial',\n placeholder: {\n type: 'plain_text',\n text: 'Pick a channel',\n emoji: true\n },\n initial_channel: 'C012AB3CD'\n }\n ]\n })\n },\n {\n id: 'actions_button',\n label: 'Button',\n factory: () => ({\n type: 'actions',\n elements: [\n {\n type: 'button',\n text: { type: 'plain_text', text: 'Click me', emoji: true },\n action_id: 'button_1'\n }\n ]\n })\n },\n {\n id: 'actions_datepickers',\n label: 'Datepickers',\n factory: () => ({\n type: 'actions',\n elements: [\n {\n type: 'datepicker',\n action_id: 'datepicker',\n placeholder: {\n type: 'plain_text',\n text: 'Select a date',\n emoji: true\n }\n },\n {\n type: 'timepicker',\n action_id: 'timepicker',\n placeholder: {\n type: 'plain_text',\n text: 'Select a time',\n emoji: true\n }\n },\n {\n type: 'datetimepicker',\n action_id: 'datetimepicker'\n }\n ]\n })\n },\n {\n id: 'actions_checkboxes',\n label: 'Checkboxes',\n factory: () => ({\n type: 'actions',\n elements: [\n {\n type: 'checkboxes',\n action_id: 'checkboxes',\n options: [\n {\n text: { type: 'plain_text', text: 'Option 1', emoji: true },\n value: 'option_1'\n },\n {\n text: { type: 'plain_text', text: 'Option 2', emoji: true },\n value: 'option_2'\n },\n {\n text: { type: 'plain_text', text: 'Option 3', emoji: true },\n value: 'option_3'\n }\n ]\n }\n ]\n })\n },\n {\n id: 'actions_radio_buttons',\n label: 'Radio buttons',\n factory: () => ({\n type: 'actions',\n elements: [\n {\n type: 'radio_buttons',\n action_id: 'radio_buttons',\n options: [\n {\n text: { type: 'plain_text', text: 'Option 1', emoji: true },\n value: 'option_1'\n },\n {\n text: { type: 'plain_text', text: 'Option 2', emoji: true },\n value: 'option_2'\n },\n {\n text: { type: 'plain_text', text: 'Option 3', emoji: true },\n value: 'option_3'\n }\n ]\n }\n ]\n })\n },\n {\n id: 'actions_timepicker',\n label: 'Timepicker',\n factory: () => ({\n type: 'actions',\n elements: [\n {\n type: 'timepicker',\n action_id: 'timepicker_only',\n placeholder: {\n type: 'plain_text',\n text: 'Select a time',\n emoji: true\n }\n }\n ]\n })\n }\n ]\n },\n {\n name: 'Input',\n icon: TextCursorInput,\n variants: [\n {\n id: 'input_plain_text',\n label: 'Plain text',\n factory: () => ({\n type: 'input',\n label: { type: 'plain_text', text: 'Label', emoji: true },\n element: {\n type: 'plain_text_input',\n action_id: 'plain_text_input',\n placeholder: {\n type: 'plain_text',\n text: 'Enter some text',\n emoji: true\n }\n }\n })\n },\n {\n id: 'input_multiline_text',\n label: 'Multiline text',\n factory: () => ({\n type: 'input',\n label: { type: 'plain_text', text: 'Description', emoji: true },\n element: {\n type: 'plain_text_input',\n action_id: 'plain_text_input_multiline',\n multiline: true,\n placeholder: {\n type: 'plain_text',\n text: 'Enter a longer description',\n emoji: true\n }\n }\n })\n },\n {\n id: 'input_email',\n label: 'Email',\n factory: () => ({\n type: 'input',\n label: { type: 'plain_text', text: 'Email address', emoji: true },\n element: {\n type: 'email_text_input',\n action_id: 'email_text_input',\n placeholder: {\n type: 'plain_text',\n text: 'name@example.com',\n emoji: true\n }\n }\n })\n },\n {\n id: 'input_url',\n label: 'URL',\n factory: () => ({\n type: 'input',\n label: { type: 'plain_text', text: 'Website', emoji: true },\n element: {\n type: 'url_text_input',\n action_id: 'url_text_input',\n placeholder: {\n type: 'plain_text',\n text: 'https://example.com',\n emoji: true\n }\n }\n })\n },\n {\n id: 'input_number',\n label: 'Number',\n factory: () => ({\n type: 'input',\n label: { type: 'plain_text', text: 'Quantity', emoji: true },\n element: {\n type: 'number_input',\n action_id: 'number_input',\n is_decimal_allowed: false,\n placeholder: { type: 'plain_text', text: '0', emoji: true }\n }\n })\n },\n {\n id: 'input_date',\n label: 'Date',\n factory: () => ({\n type: 'input',\n label: { type: 'plain_text', text: 'Pick a date', emoji: true },\n element: {\n type: 'datepicker',\n action_id: 'datepicker',\n placeholder: {\n type: 'plain_text',\n text: 'Select a date',\n emoji: true\n }\n }\n })\n },\n {\n id: 'input_select',\n label: 'Select',\n factory: () => ({\n type: 'input',\n label: { type: 'plain_text', text: 'Pick an option', emoji: true },\n element: {\n type: 'static_select',\n action_id: 'static_select',\n placeholder: {\n type: 'plain_text',\n text: 'Choose one',\n emoji: true\n },\n options: [\n {\n text: { type: 'plain_text', text: 'Option 1', emoji: true },\n value: 'option_1'\n },\n {\n text: { type: 'plain_text', text: 'Option 2', emoji: true },\n value: 'option_2'\n },\n {\n text: { type: 'plain_text', text: 'Option 3', emoji: true },\n value: 'option_3'\n }\n ]\n }\n })\n },\n {\n id: 'input_rich_text',\n label: 'Rich text',\n factory: () => ({\n type: 'input',\n label: { type: 'plain_text', text: 'Description', emoji: true },\n element: {\n type: 'rich_text_input',\n action_id: 'rich_text_input',\n placeholder: {\n type: 'plain_text',\n text: 'Type something',\n emoji: true\n }\n }\n })\n },\n {\n id: 'input_file',\n label: 'File upload',\n factory: () => ({\n type: 'input',\n label: { type: 'plain_text', text: 'Upload a file', emoji: true },\n element: {\n type: 'file_input',\n action_id: 'file_input',\n max_files: 1\n }\n })\n }\n ]\n },\n {\n name: 'Structure',\n icon: LayoutTemplate,\n variants: [\n {\n id: 'structure_header',\n label: 'Header',\n basic: true,\n factory: () => ({\n type: 'header',\n text: { type: 'plain_text', text: 'Heading text', emoji: true }\n })\n },\n {\n id: 'structure_divider',\n label: 'Divider',\n basic: true,\n factory: () => ({ type: 'divider' })\n },\n {\n id: 'structure_context_plain',\n label: 'Context (plain text)',\n factory: () => ({\n type: 'context',\n elements: [{ type: 'plain_text', text: 'Posted by your app', emoji: true }]\n })\n },\n {\n id: 'structure_context_mrkdwn',\n label: 'Context (mrkdwn)',\n factory: () => ({\n type: 'context',\n elements: [{ type: 'mrkdwn', text: 'Posted by *your app*' }]\n })\n },\n {\n id: 'structure_context_text_images',\n label: 'Context (text + images)',\n factory: () => ({\n type: 'context',\n elements: [\n {\n type: 'image',\n image_url: 'https://placehold.co/40x40?text=A',\n alt_text: 'Avatar'\n },\n { type: 'mrkdwn', text: '*Alex* posted in <#general>' }\n ]\n })\n }\n ]\n },\n {\n name: 'Alert',\n icon: Bell,\n variants: [\n {\n id: 'alert_default',\n label: 'Default',\n factory: () => ({\n type: 'alert',\n text: {\n type: 'mrkdwn',\n text: 'A neutral alert message.'\n }\n })\n },\n {\n id: 'alert_info',\n label: 'Info',\n factory: () => ({\n type: 'alert',\n level: 'info',\n text: {\n type: 'mrkdwn',\n text: 'FYI: the build finished in 42 seconds.'\n }\n })\n },\n {\n id: 'alert_warning',\n label: 'Warning',\n factory: () => ({\n type: 'alert',\n level: 'warning',\n text: {\n type: 'mrkdwn',\n text: 'Heads up: this action cannot be undone.'\n }\n })\n },\n {\n id: 'alert_error',\n label: 'Error',\n factory: () => ({\n type: 'alert',\n level: 'error',\n text: {\n type: 'mrkdwn',\n text: 'Something went wrong. Please try again.'\n }\n })\n },\n {\n id: 'alert_success',\n label: 'Success',\n factory: () => ({\n type: 'alert',\n level: 'success',\n text: {\n type: 'mrkdwn',\n text: 'Your changes have been saved.'\n }\n })\n }\n ]\n },\n {\n name: 'Rich Text',\n icon: Pilcrow,\n variants: [\n {\n id: 'rich_text_section',\n label: 'Rich Text Section',\n // The block a message is mostly made of, and so one of the handful\n // simple mode offers — listed there without its section heading,\n // hence the self-describing label.\n basic: true,\n factory: () => ({\n type: 'rich_text',\n elements: [\n {\n type: 'rich_text_section',\n elements: [\n { type: 'text', text: 'A rich text ' },\n { type: 'text', text: 'section', style: { bold: true } },\n { type: 'text', text: ' with inline ' },\n { type: 'text', text: 'styled', style: { italic: true } },\n { type: 'text', text: ' text.' }\n ]\n }\n ]\n })\n }\n ]\n },\n {\n name: 'Image',\n icon: ImageIcon,\n variants: [\n {\n id: 'image_with_title',\n label: 'With title',\n factory: () => ({\n type: 'image',\n image_url: 'https://placehold.co/600x300?text=Image',\n alt_text: 'Placeholder image',\n title: { type: 'plain_text', text: 'Image title', emoji: true }\n })\n },\n {\n id: 'image_no_title',\n label: 'No title',\n // The plain image is the one an ordinary message reaches for, so it\n // carries simple mode's image slot — under its own name there, with\n // no \"Image\" heading overhead to lend \"No title\" its meaning.\n basic: true,\n basicLabel: 'Image',\n factory: () => ({\n type: 'image',\n image_url: 'https://placehold.co/600x300?text=Image',\n alt_text: 'Placeholder image'\n })\n }\n ]\n },\n {\n name: 'Video',\n icon: VideoIcon,\n variants: [\n {\n id: 'video_basic',\n label: 'Basic',\n factory: () => ({\n type: 'video',\n alt_text: 'A short demo video',\n title: { type: 'plain_text', text: 'Product demo', emoji: true },\n thumbnail_url: 'https://placehold.co/600x340?text=Video',\n video_url: 'https://www.youtube.com/embed/dQw4w9WgXcQ'\n })\n },\n {\n id: 'video_with_metadata',\n label: 'With metadata',\n factory: () => ({\n type: 'video',\n alt_text: 'A short demo video',\n title: { type: 'plain_text', text: 'Product demo', emoji: true },\n title_url: 'https://www.youtube.com/watch?v=dQw4w9WgXcQ',\n thumbnail_url: 'https://placehold.co/600x340?text=Video',\n video_url: 'https://www.youtube.com/embed/dQw4w9WgXcQ',\n author_name: 'Acme',\n description: {\n type: 'plain_text',\n text: 'A short walkthrough of the new release.',\n emoji: true\n },\n provider_name: 'YouTube',\n provider_icon_url: 'https://placehold.co/16x16?text=YT'\n })\n }\n ]\n },\n {\n name: 'Card and Carousel',\n icon: GalleryHorizontal,\n variants: [\n {\n id: 'card_basic',\n label: 'Card',\n factory: () => ({\n type: 'card',\n icon: {\n type: 'image',\n image_url: 'https://placehold.co/36x36?text=Icon',\n alt_text: 'Card icon'\n },\n title: { type: 'mrkdwn', text: 'Card title' },\n subtitle: { type: 'mrkdwn', text: 'Card subtitle' },\n body: {\n type: 'mrkdwn',\n text: 'A short description of what this card is about.'\n }\n })\n },\n {\n id: 'card_with_hero',\n label: 'Card with hero image',\n factory: () => ({\n type: 'card',\n hero_image: {\n type: 'image',\n image_url: 'https://placehold.co/400x200?text=Hero',\n alt_text: 'Card hero image'\n },\n title: { type: 'mrkdwn', text: 'Card title' },\n body: {\n type: 'mrkdwn',\n text: 'A short description of what this card is about.'\n }\n })\n },\n {\n id: 'card_with_actions',\n label: 'Card with actions',\n factory: () => ({\n type: 'card',\n title: { type: 'mrkdwn', text: 'Card title' },\n body: {\n type: 'mrkdwn',\n text: 'A short description of what this card is about.'\n },\n actions: [\n {\n type: 'button',\n text: { type: 'plain_text', text: 'Open', emoji: true },\n action_id: 'card_action_1'\n }\n ]\n })\n },\n {\n id: 'carousel_basic',\n label: 'Carousel',\n factory: () => ({\n type: 'carousel',\n elements: [\n {\n type: 'card',\n title: { type: 'mrkdwn', text: 'Card 1' },\n body: { type: 'mrkdwn', text: 'First card in the carousel.' }\n },\n {\n type: 'card',\n title: { type: 'mrkdwn', text: 'Card 2' },\n body: { type: 'mrkdwn', text: 'Second card in the carousel.' }\n },\n {\n type: 'card',\n title: { type: 'mrkdwn', text: 'Card 3' },\n body: { type: 'mrkdwn', text: 'Third card in the carousel.' }\n }\n ]\n })\n }\n ]\n },\n {\n name: 'Table',\n icon: TableIcon,\n variants: [\n {\n id: 'table_simple',\n label: 'Simple table',\n factory: () => ({\n type: 'table',\n rows: [\n [\n { type: 'raw_text', text: 'Header 1' },\n { type: 'raw_text', text: 'Header 2' },\n { type: 'raw_text', text: 'Header 3' }\n ],\n [\n { type: 'raw_text', text: 'Row 1, A' },\n { type: 'raw_text', text: 'Row 1, B' },\n { type: 'raw_text', text: 'Row 1, C' }\n ],\n [\n { type: 'raw_text', text: 'Row 2, A' },\n { type: 'raw_text', text: 'Row 2, B' },\n { type: 'raw_text', text: 'Row 2, C' }\n ]\n ]\n })\n },\n {\n // Slack's documented example.\n id: 'data_table_basic',\n label: 'Data table',\n factory: () => ({\n type: 'data_table',\n caption: 'A Fabulous Table',\n rows: [\n [\n { type: 'raw_text', text: 'Name' },\n { type: 'raw_text', text: 'Department' },\n { type: 'raw_text', text: 'Badge' }\n ],\n [\n { type: 'raw_text', text: 'Data Refinement Department' },\n { type: 'raw_text', text: 'MDR' },\n {\n type: 'rich_text',\n elements: [\n { type: 'rich_text_section', elements: [{ type: 'text', text: 'Blue', style: { bold: true } }] }\n ]\n }\n ],\n [\n { type: 'raw_text', text: 'Art Sourcing Department' },\n { type: 'raw_text', text: 'O&D' },\n {\n type: 'rich_text',\n elements: [\n {\n type: 'rich_text_section',\n elements: [\n { type: 'text', text: 'Green ' },\n { type: 'text', text: 'review', style: { italic: true } }\n ]\n }\n ]\n }\n ],\n [\n { type: 'raw_text', text: 'Wellness Department' },\n { type: 'raw_text', text: 'Wellness Center' },\n {\n type: 'rich_text',\n elements: [\n { type: 'rich_text_section', elements: [{ type: 'text', text: 'Limited', style: { bold: true } }] }\n ]\n }\n ]\n ]\n })\n }\n ]\n },\n {\n name: 'Data Visualization',\n icon: ChartColumnBig,\n variants: [\n {\n id: 'dataviz_line',\n label: 'Line chart',\n factory: () => ({\n type: 'data_visualization',\n title: 'Weekly active users by platform',\n chart: {\n type: 'line',\n series: [\n {\n name: 'Desktop',\n data: [\n { label: 'Mon', value: 800 },\n { label: 'Tue', value: 920 },\n { label: 'Wed', value: 880 },\n { label: 'Thu', value: 1010 },\n { label: 'Fri', value: 1120 }\n ]\n },\n {\n name: 'Mobile',\n data: [\n { label: 'Mon', value: 400 },\n { label: 'Tue', value: 530 },\n { label: 'Wed', value: 500 },\n { label: 'Thu', value: 590 },\n { label: 'Fri', value: 600 }\n ]\n }\n ],\n axis_config: {\n categories: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri'],\n x_label: 'Day',\n y_label: 'Users'\n }\n }\n })\n },\n {\n id: 'dataviz_bar',\n label: 'Bar chart',\n factory: () => ({\n type: 'data_visualization',\n title: 'Messages sent by platform',\n chart: {\n type: 'bar',\n series: [\n {\n name: 'Desktop',\n data: [\n { label: 'Mon', value: 1500 },\n { label: 'Tue', value: 1400 },\n { label: 'Wed', value: 1700 },\n { label: 'Thu', value: 1600 },\n { label: 'Fri', value: 1280 }\n ]\n },\n {\n name: 'Mobile',\n data: [\n { label: 'Mon', value: 800 },\n { label: 'Tue', value: 750 },\n { label: 'Wed', value: 920 },\n { label: 'Thu', value: 880 },\n { label: 'Fri', value: 700 }\n ]\n }\n ],\n axis_config: {\n categories: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri'],\n x_label: 'Day',\n y_label: 'Messages'\n }\n }\n })\n },\n {\n id: 'dataviz_area',\n label: 'Area chart',\n factory: () => ({\n type: 'data_visualization',\n title: 'Concurrent users by platform',\n chart: {\n type: 'area',\n series: [\n {\n name: 'Desktop',\n data: [\n { label: 'Mon', value: 2800 },\n { label: 'Tue', value: 3000 },\n { label: 'Wed', value: 3400 },\n { label: 'Thu', value: 3200 },\n { label: 'Fri', value: 3500 }\n ]\n },\n {\n name: 'Mobile',\n data: [\n { label: 'Mon', value: 1400 },\n { label: 'Tue', value: 1500 },\n { label: 'Wed', value: 1700 },\n { label: 'Thu', value: 1600 },\n { label: 'Fri', value: 1800 }\n ]\n }\n ],\n axis_config: {\n categories: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri'],\n x_label: 'Day',\n y_label: 'Users'\n }\n }\n })\n },\n {\n id: 'dataviz_pie',\n label: 'Pie chart',\n factory: () => ({\n type: 'data_visualization',\n title: 'Plan distribution by tier',\n chart: {\n type: 'pie',\n segments: [\n { label: 'Free', value: 4200 },\n { label: 'Pro', value: 2300 },\n { label: 'Business+', value: 1100 },\n { label: 'Enterprise', value: 480 }\n ]\n }\n })\n }\n ]\n },\n {\n name: 'Container',\n icon: Container,\n variants: [\n {\n id: 'container_collapsible',\n label: 'Collapsible container',\n factory: () => ({\n type: 'container',\n title: { type: 'plain_text', text: 'Bulk update: 2 records selected' },\n subtitle: { type: 'plain_text', text: 'Review changes before confirming' },\n is_collapsible: true,\n child_blocks: [\n {\n type: 'section',\n text: { type: 'mrkdwn', text: '*DCW-1024*\\nStatus: Open → Closed' }\n },\n { type: 'divider' },\n {\n type: 'section',\n text: { type: 'mrkdwn', text: '*DCW-1025*\\nStatus: In Progress → Closed' }\n },\n {\n type: 'actions',\n elements: [\n {\n type: 'button',\n text: { type: 'plain_text', text: 'Confirm All', emoji: true },\n style: 'primary',\n action_id: 'bulk_confirm'\n },\n {\n type: 'button',\n text: { type: 'plain_text', text: 'Cancel', emoji: true },\n action_id: 'bulk_cancel'\n }\n ]\n }\n ]\n })\n }\n ]\n }\n] as const;\n\n/**\n * The single-element `input`-block variants that used to ship in\n * `defaultPalette` before it was consolidated to mirror Slack's Block\n * Kit Builder. Kept reachable so consumers who referenced these ids via\n * the `palette` prop can spread them back into a custom palette.\n *\n * @example\n * ```tsx\n * import { defaultPalette, legacyInputVariants } from '@tightknitai/block-kitchen';\n * import { TextCursorInput } from 'lucide-react';\n *\n * const palette = [\n * ...defaultPalette,\n * { name: 'All inputs', icon: TextCursorInput, variants: [...legacyInputVariants] }\n * ];\n * ```\n *\n * Note: some ids here (`input_plain_text`, `input_date`, etc.) collide\n * with curated ids in the new `defaultPalette`. `buildVariantById`\n * keeps the last entry for a given id, so spread `legacyInputVariants`\n * after `defaultPalette` to use the legacy factory.\n */\nexport const legacyInputVariants: readonly PaletteVariant[] = [\n {\n id: 'input_plain_text',\n label: 'plain text',\n factory: () => ({\n type: 'input',\n label: { type: 'plain_text', text: 'Label', emoji: true },\n element: {\n type: 'plain_text_input',\n action_id: 'plain_text_input',\n placeholder: {\n type: 'plain_text',\n text: 'Enter some text',\n emoji: true\n }\n }\n })\n },\n {\n id: 'input_multiline_text',\n label: 'multiline text',\n factory: () => ({\n type: 'input',\n label: { type: 'plain_text', text: 'Description', emoji: true },\n element: {\n type: 'plain_text_input',\n action_id: 'plain_text_input_multiline',\n multiline: true,\n placeholder: {\n type: 'plain_text',\n text: 'Enter a longer description',\n emoji: true\n }\n }\n })\n },\n {\n id: 'input_email',\n label: 'email',\n factory: () => ({\n type: 'input',\n label: { type: 'plain_text', text: 'Email address', emoji: true },\n element: {\n type: 'email_text_input',\n action_id: 'email_text_input',\n placeholder: {\n type: 'plain_text',\n text: 'name@example.com',\n emoji: true\n }\n }\n })\n },\n {\n id: 'input_url',\n label: 'url',\n factory: () => ({\n type: 'input',\n label: { type: 'plain_text', text: 'Website', emoji: true },\n element: {\n type: 'url_text_input',\n action_id: 'url_text_input',\n placeholder: {\n type: 'plain_text',\n text: 'https://example.com',\n emoji: true\n }\n }\n })\n },\n {\n id: 'input_number',\n label: 'number',\n factory: () => ({\n type: 'input',\n label: { type: 'plain_text', text: 'Quantity', emoji: true },\n element: {\n type: 'number_input',\n action_id: 'number_input',\n is_decimal_allowed: false,\n placeholder: { type: 'plain_text', text: '0', emoji: true }\n }\n })\n },\n {\n id: 'input_date',\n label: 'date',\n factory: () => ({\n type: 'input',\n label: { type: 'plain_text', text: 'Pick a date', emoji: true },\n element: {\n type: 'datepicker',\n action_id: 'datepicker',\n placeholder: {\n type: 'plain_text',\n text: 'Select a date',\n emoji: true\n }\n }\n })\n },\n {\n id: 'input_time',\n label: 'time',\n factory: () => ({\n type: 'input',\n label: { type: 'plain_text', text: 'Pick a time', emoji: true },\n element: {\n type: 'timepicker',\n action_id: 'timepicker',\n placeholder: {\n type: 'plain_text',\n text: 'Select a time',\n emoji: true\n }\n }\n })\n },\n {\n id: 'input_datetime',\n label: 'date and time',\n factory: () => ({\n type: 'input',\n label: {\n type: 'plain_text',\n text: 'Pick a date and time',\n emoji: true\n },\n element: {\n type: 'datetimepicker',\n action_id: 'datetimepicker'\n }\n })\n },\n {\n id: 'input_static_select',\n label: 'select',\n factory: () => ({\n type: 'input',\n label: { type: 'plain_text', text: 'Pick an option', emoji: true },\n element: {\n type: 'static_select',\n action_id: 'static_select',\n placeholder: {\n type: 'plain_text',\n text: 'Choose one',\n emoji: true\n },\n options: [\n {\n text: { type: 'plain_text', text: 'Option 1', emoji: true },\n value: 'option_1'\n },\n {\n text: { type: 'plain_text', text: 'Option 2', emoji: true },\n value: 'option_2'\n },\n {\n text: { type: 'plain_text', text: 'Option 3', emoji: true },\n value: 'option_3'\n }\n ]\n }\n })\n },\n {\n id: 'input_multi_static_select',\n label: 'multi-select',\n factory: () => ({\n type: 'input',\n label: { type: 'plain_text', text: 'Pick options', emoji: true },\n element: {\n type: 'multi_static_select',\n action_id: 'multi_static_select',\n placeholder: {\n type: 'plain_text',\n text: 'Choose one or more',\n emoji: true\n },\n options: [\n {\n text: { type: 'plain_text', text: 'Option 1', emoji: true },\n value: 'option_1'\n },\n {\n text: { type: 'plain_text', text: 'Option 2', emoji: true },\n value: 'option_2'\n },\n {\n text: { type: 'plain_text', text: 'Option 3', emoji: true },\n value: 'option_3'\n }\n ]\n }\n })\n },\n {\n id: 'input_users_select',\n label: 'users select',\n factory: () => ({\n type: 'input',\n label: { type: 'plain_text', text: 'Pick a user', emoji: true },\n element: {\n type: 'users_select',\n action_id: 'users_select',\n placeholder: {\n type: 'plain_text',\n text: 'Select a user',\n emoji: true\n }\n }\n })\n },\n {\n id: 'input_multi_users_select',\n label: 'multi users select',\n factory: () => ({\n type: 'input',\n label: { type: 'plain_text', text: 'Pick users', emoji: true },\n element: {\n type: 'multi_users_select',\n action_id: 'multi_users_select',\n placeholder: {\n type: 'plain_text',\n text: 'Select users',\n emoji: true\n }\n }\n })\n },\n {\n id: 'input_channels_select',\n label: 'channels select',\n factory: () => ({\n type: 'input',\n label: { type: 'plain_text', text: 'Pick a channel', emoji: true },\n element: {\n type: 'channels_select',\n action_id: 'channels_select',\n placeholder: {\n type: 'plain_text',\n text: 'Select a channel',\n emoji: true\n }\n }\n })\n },\n {\n id: 'input_multi_channels_select',\n label: 'multi channels select',\n factory: () => ({\n type: 'input',\n label: { type: 'plain_text', text: 'Pick channels', emoji: true },\n element: {\n type: 'multi_channels_select',\n action_id: 'multi_channels_select',\n placeholder: {\n type: 'plain_text',\n text: 'Select channels',\n emoji: true\n }\n }\n })\n },\n {\n id: 'input_conversations_select',\n label: 'conversations select',\n factory: () => ({\n type: 'input',\n label: {\n type: 'plain_text',\n text: 'Pick a conversation',\n emoji: true\n },\n element: {\n type: 'conversations_select',\n action_id: 'conversations_select',\n placeholder: {\n type: 'plain_text',\n text: 'Select a conversation',\n emoji: true\n }\n }\n })\n },\n {\n id: 'input_multi_conversations_select',\n label: 'multi conversations select',\n factory: () => ({\n type: 'input',\n label: {\n type: 'plain_text',\n text: 'Pick conversations',\n emoji: true\n },\n element: {\n type: 'multi_conversations_select',\n action_id: 'multi_conversations_select',\n placeholder: {\n type: 'plain_text',\n text: 'Select conversations',\n emoji: true\n }\n }\n })\n },\n {\n id: 'input_external_select',\n label: 'external select',\n factory: () => ({\n type: 'input',\n label: { type: 'plain_text', text: 'Pick an option', emoji: true },\n element: {\n type: 'external_select',\n action_id: 'external_select',\n placeholder: {\n type: 'plain_text',\n text: 'Choose one',\n emoji: true\n },\n min_query_length: 0\n }\n })\n },\n {\n id: 'input_multi_external_select',\n label: 'multi external select',\n factory: () => ({\n type: 'input',\n label: { type: 'plain_text', text: 'Pick options', emoji: true },\n element: {\n type: 'multi_external_select',\n action_id: 'multi_external_select',\n placeholder: {\n type: 'plain_text',\n text: 'Choose one or more',\n emoji: true\n },\n min_query_length: 0\n }\n })\n },\n {\n id: 'input_radio_buttons',\n label: 'radio buttons',\n factory: () => ({\n type: 'input',\n label: { type: 'plain_text', text: 'Pick one', emoji: true },\n element: {\n type: 'radio_buttons',\n action_id: 'radio_buttons',\n options: [\n {\n text: { type: 'plain_text', text: 'Option 1', emoji: true },\n value: 'option_1'\n },\n {\n text: { type: 'plain_text', text: 'Option 2', emoji: true },\n value: 'option_2'\n },\n {\n text: { type: 'plain_text', text: 'Option 3', emoji: true },\n value: 'option_3'\n }\n ]\n }\n })\n },\n {\n id: 'input_checkboxes',\n label: 'checkboxes',\n factory: () => ({\n type: 'input',\n label: { type: 'plain_text', text: 'Pick any', emoji: true },\n element: {\n type: 'checkboxes',\n action_id: 'checkboxes',\n options: [\n {\n text: { type: 'plain_text', text: 'Option 1', emoji: true },\n value: 'option_1'\n },\n {\n text: { type: 'plain_text', text: 'Option 2', emoji: true },\n value: 'option_2'\n },\n {\n text: { type: 'plain_text', text: 'Option 3', emoji: true },\n value: 'option_3'\n }\n ]\n }\n })\n },\n {\n id: 'input_rich_text',\n label: 'rich text input',\n factory: () => ({\n type: 'input',\n label: { type: 'plain_text', text: 'Description', emoji: true },\n element: {\n type: 'rich_text_input',\n action_id: 'rich_text_input',\n placeholder: {\n type: 'plain_text',\n text: 'Type something',\n emoji: true\n }\n }\n })\n },\n {\n id: 'input_file',\n label: 'file upload',\n factory: () => ({\n type: 'input',\n label: { type: 'plain_text', text: 'Upload a file', emoji: true },\n element: {\n type: 'file_input',\n action_id: 'file_input',\n max_files: 1\n }\n })\n }\n] as const;\n\n/**\n * Standalone `alert` block variant. The full set of severity-level alert\n * variants ships in `defaultPalette` under the \"Alert\" section; this\n * export is retained for backward compatibility with consumers who\n * previously spread it onto a custom palette. Shares the `alert_warning`\n * id with its counterpart in `defaultPalette` — spread after\n * `defaultPalette` (or omit it entirely) to avoid duplicate-id lookups.\n */\nexport const extraAlertVariant: PaletteVariant = {\n id: 'alert_warning',\n label: 'Warning',\n factory: () => ({\n type: 'alert',\n level: 'warning',\n text: {\n type: 'mrkdwn',\n text: 'Heads up: this action cannot be undone.'\n }\n })\n};\n\n/**\n * Builds a lookup table mapping a variant id to its definition for a\n * resolved palette. Used by the DnD drop handler to resolve a\n * `palette:${id}` drag back to a factory.\n * @param sections - the palette in use (defaults or a consumer-provided one)\n * @returns a map keyed by variant id\n */\nexport function buildVariantById(sections: readonly PaletteSection[]): ReadonlyMap<string, PaletteVariant> {\n return new Map(sections.flatMap((section) => section.variants.map((v) => [v.id, v] as const)));\n}\n\n/**\n * Human-readable label for a supported block type. Used in the per-block\n * popover editor heading.\n * @param type - the block type\n * @returns a short label (e.g. \"Section\")\n */\nexport function labelForBlockType(type: SupportedBlockType): string {\n switch (type) {\n case 'section':\n return 'Section';\n case 'header':\n return 'Header';\n case 'divider':\n return 'Divider';\n case 'context':\n return 'Context';\n case 'actions':\n return 'Buttons';\n case 'image':\n return 'Image';\n case 'markdown':\n return 'Markdown';\n case 'table':\n return 'Table';\n case 'rich_text':\n return 'Rich Text';\n case 'alert':\n return 'Alert';\n case 'card':\n return 'Card';\n case 'carousel':\n return 'Carousel';\n case 'context_actions':\n return 'Context Actions';\n case 'input':\n return 'Input';\n case 'video':\n return 'Video';\n case 'plan':\n return 'Plan';\n case 'task_card':\n return 'Task Card';\n case 'data_visualization':\n return 'Data Visualization';\n case 'container':\n return 'Container';\n case 'data_table':\n return 'Data Table';\n }\n}\n"]}
|
package/dist/palette.d.cts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export { a2 as PaletteMode, a3 as PaletteSection, a4 as PaletteVariant, S as SupportedBlock, ae as SupportedBlockType, au as buildVariantById, ar as defaultPalette, as as extraAlertVariant, at as legacyInputVariants } from './palette-xi4VWU0p.cjs';
|
|
2
2
|
import 'react';
|
|
3
3
|
import 'slack-web-api-client';
|