jsx-slack
Version:
Build JSON object for Slack Block Kit surfaces from JSX
2 lines (1 loc) • 1.07 kB
JavaScript
import{createComponent as d}from"../../jsx-internals.mjs";import{coerceToInteger as m}from"../../utils.mjs";import{filter as p,plainText as _}from"../composition/utils.mjs";import{wrapInInput as v}from"../layout/Input.mjs";import{focusOnLoadFromProps as a}from"./utils.mjs";const c=d("ConversationsSelect",o=>{const s=o.actionId||o.name,t=p(o),r=o.placeholder!==void 0?_(o.placeholder):void 0,e=new Set((l=>[].concat(l!=null?l:[]))(o.initialConversation||o.value)),i=e.delete("current")||void 0,n=e.size>0?[...e.values()]:void 0;return v(o.multiple?{type:"multi_conversations_select",action_id:s,placeholder:r,initial_conversations:n,filter:t,default_to_current_conversation:i,max_selected_items:m(o.maxSelectedItems),confirm:o.confirm,focus_on_load:a(o)}:{type:"conversations_select",action_id:o.actionId||o.name,placeholder:r,initial_conversation:n==null?void 0:n[0],filter:t,default_to_current_conversation:i,response_url_enabled:o.responseUrlEnabled!==void 0?!!o.responseUrlEnabled:void 0,confirm:o.confirm,focus_on_load:a(o)},o,c)});export{c as ConversationsSelect};