@bigbinary/neeto-rules-frontend 2.6.3 → 2.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"NeetoRulesBuilder.js","sources":["../app/javascript/src/components/NeetoRulesBuilder/constants.js","../app/javascript/src/components/NeetoRulesBuilder/hooks/useClearingHover.js","../app/javascript/src/components/NeetoRulesBuilder/Token/constants.js","../app/javascript/src/components/NeetoRulesBuilder/Token/index.jsx","../app/javascript/src/components/NeetoRulesBuilder/utils.js","../app/javascript/src/components/NeetoRulesBuilder/Canvas/ConditionRow.jsx","../app/javascript/src/components/NeetoRulesBuilder/Canvas/Connector.jsx","../app/javascript/src/components/NeetoRulesBuilder/Canvas/DelayRow.jsx","../app/javascript/src/components/NeetoRulesBuilder/Canvas/MetaBlock.jsx","../app/javascript/src/components/NeetoRulesBuilder/Canvas/ScopeBlock.jsx","../app/javascript/src/components/NeetoRulesBuilder/Canvas/ActionRow.jsx","../app/javascript/src/components/NeetoRulesBuilder/Canvas/ThenBlock.jsx","../app/javascript/src/components/NeetoRulesBuilder/Canvas/WhenBlock.jsx","../app/javascript/src/components/NeetoRulesBuilder/hooks/usePaneCascade.js","../app/javascript/src/components/NeetoRulesBuilder/hooks/useRuleModel.js","../app/javascript/src/components/NeetoRulesBuilder/Panes/utils.js","../app/javascript/src/components/NeetoRulesBuilder/Canvas/index.jsx","../app/javascript/src/components/NeetoRulesBuilder/Panes/Fields/ActionConfigFields.jsx","../app/javascript/src/components/NeetoRulesBuilder/hooks/usePaneValidation.js","../app/javascript/src/components/NeetoRulesBuilder/Panes/ConfigPane.jsx","../app/javascript/src/components/NeetoRulesBuilder/Panes/DelayPane.jsx","../app/javascript/src/components/NeetoRulesBuilder/Common/utils.js","../app/javascript/src/components/NeetoRulesBuilder/Common/NumberStepper.jsx","../app/javascript/src/components/NeetoRulesBuilder/Panes/LeadTimePane.jsx","../app/javascript/src/components/NeetoRulesBuilder/Panes/NamePane.jsx","../app/javascript/src/components/NeetoRulesBuilder/Panes/OptionsPane.jsx","../app/javascript/src/components/NeetoRulesBuilder/Panes/Fields/RecipientField.jsx","../app/javascript/src/components/NeetoRulesBuilder/Panes/RecipientPane.jsx","../app/javascript/src/components/NeetoRulesBuilder/Panes/Fields/ConditionValueFields.jsx","../app/javascript/src/components/NeetoRulesBuilder/Panes/ValuePane.jsx","../app/javascript/src/components/NeetoRulesBuilder/Panes/constants.js","../app/javascript/src/components/NeetoRulesBuilder/Form.jsx","../app/javascript/src/components/NeetoRulesBuilder/index.jsx"],"sourcesContent":["export const PARAM_KIND = {\n ENUM_SINGLE: \"enum-single\",\n ENUM_MULTI: \"enum-multi\",\n};\n\nexport const UNIT_MINUTES = { minutes: 1, hours: 60, days: 1440 };\n\n/* eslint-disable @bigbinary/neeto/hard-coded-strings-should-be-localized */\n/* eslint-disable @bigbinary/neeto/neetocommons-tips */\nexport const TIME_UNITS = [\n { label: \"minutes\", value: \"minutes\" },\n { label: \"hours\", value: \"hours\" },\n { label: \"days\", value: \"days\" },\n];\n/* eslint-enable @bigbinary/neeto/hard-coded-strings-should-be-localized */\n/* eslint-enable @bigbinary/neeto/neetocommons-tips */\n\nexport const LEAD_TIME_UNITS = TIME_UNITS;\n\nexport const CONDITION_VERBS = {\n IS: \"is\",\n IS_NOT: \"is_not\",\n ANY_OF: \"any_of\",\n NONE_OF: \"none_of\",\n ALL_OF: \"all_of\",\n LESS_THAN: \"less_than\",\n GREATER_THAN: \"greater_than\",\n};\n\nexport const VERB_TOKENS = {\n MULTI_VALUE: \"_of\",\n CONTAINS: \"contains\",\n};\n\nexport const DEFAULT_SCHEMA = {\n triggers: { fieldKey: \"events\", options: [] },\n actor: { enabled: false, options: [], fieldKey: \"performer\" },\n conditions: { fields: [], fieldKey: \"conditions\", connectorMode: \"shared\" },\n actions: {\n options: [],\n channelMeta: {},\n recipients: [],\n fieldKey: \"actions\",\n },\n delay: { enabled: false, fieldKey: \"execution_delay\", units: [] },\n integrations: {},\n slots: {},\n};\n\nexport const STATUS_KEYS = { ENABLED: \"enabled\", DISABLED: \"disabled\" };\n\nexport const JOIN_TYPE = { and: \"and_operator\", or: \"or_operator\" };\n\nexport const CONDITION_MODE = { AND: \"and\", OR: \"or\" };\n\nexport const BUILDER_PANEL_TYPES = {\n TRIGGER: \"builder-trigger\",\n ACTOR: \"builder-actor\",\n CONDITION_FIELD: \"builder-condition-field\",\n OPERATOR: \"builder-operator\",\n CONNECTOR: \"builder-connector\",\n CONDITION_VALUE: \"builder-condition-value\",\n ACTION_CHANNEL: \"builder-action-channel\",\n ACTION_CONFIG: \"builder-action-config\",\n RECIPIENT: \"builder-recipient\",\n DELAY: \"builder-delay\",\n LEAD_TIME: \"builder-lead-time\",\n NAME: \"builder-name\",\n SCOPE: \"builder-scope\",\n};\n\nexport const BUILDER_ANCHORS = {\n TRIGGER_ADD: \"trigger-add\",\n TRIGGER_REPLACE: \"trigger-replace\",\n TRIGGER_ACTOR: \"trigger-actor\",\n TRIGGER_LEAD_TIME: \"trigger-lead-time\",\n COND_FIELD: \"cond-field\",\n COND_OP_TOGGLE: \"cond-op-toggle\",\n COND_CONNECTOR: \"cond-connector\",\n COND_VALUES: \"cond-values\",\n ACTION_ADD: \"action-add\",\n ACTION_CHANNEL: \"action-channel\",\n ACTION_CONFIG: \"action-config\",\n ACTION_RECIPIENT: \"action-recipient\",\n RULE_DELAY: \"rule-delay\",\n META_NAME: \"meta-name\",\n SCOPE: \"scope\",\n};\n\nexport const TOKEN_TO_PANEL_TYPE = {\n [BUILDER_ANCHORS.TRIGGER_ADD]: BUILDER_PANEL_TYPES.TRIGGER,\n [BUILDER_ANCHORS.TRIGGER_REPLACE]: BUILDER_PANEL_TYPES.TRIGGER,\n [BUILDER_ANCHORS.TRIGGER_ACTOR]: BUILDER_PANEL_TYPES.ACTOR,\n [BUILDER_ANCHORS.COND_FIELD]: BUILDER_PANEL_TYPES.CONDITION_FIELD,\n [BUILDER_ANCHORS.COND_OP_TOGGLE]: BUILDER_PANEL_TYPES.OPERATOR,\n [BUILDER_ANCHORS.COND_CONNECTOR]: BUILDER_PANEL_TYPES.CONNECTOR,\n [BUILDER_ANCHORS.COND_VALUES]: BUILDER_PANEL_TYPES.CONDITION_VALUE,\n [BUILDER_ANCHORS.ACTION_ADD]: BUILDER_PANEL_TYPES.ACTION_CHANNEL,\n [BUILDER_ANCHORS.ACTION_CHANNEL]: BUILDER_PANEL_TYPES.ACTION_CHANNEL,\n [BUILDER_ANCHORS.ACTION_CONFIG]: BUILDER_PANEL_TYPES.ACTION_CONFIG,\n [BUILDER_ANCHORS.ACTION_RECIPIENT]: BUILDER_PANEL_TYPES.RECIPIENT,\n [BUILDER_ANCHORS.RULE_DELAY]: BUILDER_PANEL_TYPES.DELAY,\n [BUILDER_ANCHORS.TRIGGER_LEAD_TIME]: BUILDER_PANEL_TYPES.LEAD_TIME,\n [BUILDER_ANCHORS.META_NAME]: BUILDER_PANEL_TYPES.NAME,\n [BUILDER_ANCHORS.SCOPE]: BUILDER_PANEL_TYPES.SCOPE,\n};\n\nexport const LARGE_PANEL_TYPES = [\n BUILDER_PANEL_TYPES.ACTION_CONFIG,\n BUILDER_PANEL_TYPES.SCOPE,\n BUILDER_PANEL_TYPES.NAME,\n];\n\nexport const CONDITION_ANCHORS = [\n BUILDER_ANCHORS.COND_FIELD,\n BUILDER_ANCHORS.COND_OP_TOGGLE,\n BUILDER_ANCHORS.COND_VALUES,\n BUILDER_ANCHORS.COND_CONNECTOR,\n];\n\nexport const ACTION_ANCHORS = [\n BUILDER_ANCHORS.ACTION_CHANNEL,\n BUILDER_ANCHORS.ACTION_CONFIG,\n BUILDER_ANCHORS.ACTION_RECIPIENT,\n];\n\nexport const PANE_SEARCH_THRESHOLD = 8;\n\nexport const CONFIG_FOCUSABLE_SELECTOR =\n 'input:not([type=\"radio\"]):not([type=\"checkbox\"]), textarea, [contenteditable=\"true\"]';\n\nexport const SMS_TYPES = [\"sms\", \"smsToNumbers\"];\n\nexport const RECIPIENT_FOCUSABLE_SELECTOR =\n 'input, textarea, [contenteditable=\"true\"]';\n\nexport const SMS_TO_NUMBERS = \"smsToNumbers\";\n\nexport const SWAP_CHANNEL_ORDER = [\n \"email\",\n \"sms\",\n \"slack\",\n \"webhook\",\n \"calendar_invite\",\n];\n\nexport const DEFAULT_DELAY_UNITS = TIME_UNITS;\n","import { useState } from \"react\";\n\nconst useClearingHover = () => {\n const [clearing, setClearing] = useState(false);\n\n const clearingHoverProps = {\n onMouseEnter: () => setClearing(true),\n onMouseLeave: () => setClearing(false),\n };\n\n const resetClearing = () => setClearing(false);\n\n return { clearing, clearingHoverProps, resetClearing };\n};\n\nexport default useClearingHover;\n","export const TOKEN_STATE = {\n FILLED: \"filled\",\n MUTED: \"muted\",\n // eslint-disable-next-line @bigbinary/neeto/hard-coded-strings-should-be-localized\n PLACEHOLDER: \"placeholder\",\n PLACEHOLDER_NEXT: \"placeholder-next\",\n DISABLED: \"disabled\",\n};\n\nexport const STATE_CLASS = {\n [TOKEN_STATE.PLACEHOLDER]: \"mb-placeholder\",\n [TOKEN_STATE.PLACEHOLDER_NEXT]: \"mb-placeholder mb-placeholder-next\",\n [TOKEN_STATE.DISABLED]: \"mb-placeholder mb-placeholder-disabled\",\n [TOKEN_STATE.FILLED]: \"mb-tok\",\n [TOKEN_STATE.MUTED]: \"mb-tok mb-tok-muted\",\n};\n","import classnames from \"classnames\";\n\nimport { STATE_CLASS, TOKEN_STATE } from \"./constants\";\n\nconst Token = ({\n children,\n state = TOKEN_STATE.FILLED,\n active = false,\n invalid = false,\n onClick,\n className,\n dataTestid,\n ...rest\n}) => {\n const isInteractive =\n typeof onClick === \"function\" && state !== TOKEN_STATE.DISABLED;\n\n return (\n <span\n data-testid={dataTestid}\n role={isInteractive ? \"button\" : undefined}\n tabIndex={isInteractive ? 0 : undefined}\n className={classnames(\n // eslint-disable-next-line security/detect-object-injection\n STATE_CLASS[state] || STATE_CLASS.filled,\n className,\n { \"mb-tok-active\": active, \"mb-tok-invalid\": invalid }\n )}\n onClick={isInteractive ? onClick : undefined}\n onKeyDown={\n isInteractive\n ? event => {\n if (!(event.key === \"Enter\" || event.key === \" \")) return;\n event.preventDefault();\n onClick(event);\n }\n : undefined\n }\n {...rest}\n >\n {children}\n </span>\n );\n};\n\nexport default Token;\n","import { t } from \"i18next\";\nimport { isNotEmpty } from \"neetocist\";\nimport { assoc, isEmpty, isNil, mergeDeepRight } from \"ramda\";\n\nimport {\n CONDITION_MODE,\n CONDITION_VERBS,\n DEFAULT_SCHEMA,\n JOIN_TYPE,\n STATUS_KEYS,\n UNIT_MINUTES,\n VERB_TOKENS,\n} from \"./constants\";\n\nconst humanize = value =>\n String(value ?? \"\")\n .replace(/[._]/g, \" \")\n .trim();\n\nconst isContainsVerb = verb =>\n verb.includes(VERB_TOKENS.MULTI_VALUE) && verb.includes(VERB_TOKENS.CONTAINS);\n\nconst isNumericVerb = verb =>\n verb === CONDITION_VERBS.LESS_THAN || verb === CONDITION_VERBS.GREATER_THAN;\n\n// eslint-disable-next-line @bigbinary/neeto/prefer-function-reference\nconst isExcludeVerb = verb =>\n [\n CONDITION_VERBS.IS,\n CONDITION_VERBS.IS_NOT,\n CONDITION_VERBS.ANY_OF,\n CONDITION_VERBS.NONE_OF,\n ].includes(verb);\nconst isMultiValueVerb = verb => String(verb).includes(VERB_TOKENS.MULTI_VALUE);\n\nconst sentencify = label =>\n label ? label.charAt(0).toLowerCase() + label.slice(1) : label;\n\nconst matchesTrigger = name => option =>\n option.eventValue === name || option.value === name || option.id === name;\n\nconst triggerOption = ({ schema, name }) =>\n (schema?.triggers?.options || []).find(matchesTrigger(name));\n\nconst triggerLabel = ({ schema, trigger }) => {\n const option = triggerOption({ schema, name: trigger?.name });\n\n return option?.plain || sentencify(option?.label || humanize(trigger?.name));\n};\n\nconst performerLabel = ({ schema, performer }) => {\n const option = (schema?.actor?.options || []).find(\n candidate => candidate.value === performer || candidate.id === performer\n );\n\n return sentencify(option?.label || humanize(performer));\n};\n\nconst conditionField = ({ schema, field }) =>\n (schema?.conditions?.fields || []).find(\n option => option.value === field || option.id === field\n );\n\nconst conditionFieldLabel = ({ schema, condition }) => {\n const field = conditionField({ schema, field: condition?.field });\n\n return String(field?.label || humanize(condition?.field)).toLowerCase();\n};\n\nconst operatorLabel = ({ schema, condition }) => {\n const map = schema?.conditions?.operatorLabels || {};\n\n return map[condition?.verb] || humanize(condition?.verb);\n};\n\nconst conditionNeedsValue = ({ schema, condition }) => {\n const field = conditionField({ schema, field: condition?.field });\n\n return !(field?.noValueForVerbs || []).includes(condition?.verb);\n};\n\nconst conditionValueLabel = ({ schema, condition }) => {\n const meta = condition?.metadata || {};\n const raw = meta.value ?? meta.values ?? meta.label;\n\n if (isNil(raw) || isEmpty(raw)) return null;\n\n const field = conditionField({ schema, field: condition?.field });\n const options =\n field?.values || field?.dropdownOptions || field?.options || [];\n const isEnum = isNotEmpty(options);\n\n const labelFor = value => {\n const option = options.find(\n candidate => (candidate.value ?? candidate.id) === value\n );\n const label = option ? (option.label ?? option.value ?? option.id) : value;\n\n return isEnum ? String(label).toLowerCase() : label;\n };\n\n const connector = String(condition?.verb || \"\").includes(\n CONDITION_VERBS.ALL_OF\n )\n ? t(\"neetoRules.operators.and\")\n : t(\"neetoRules.operators.or\");\n\n return Array.isArray(raw)\n ? raw.map(labelFor).join(` ${connector} `)\n : String(labelFor(raw));\n};\n\nconst actionOption = ({ schema, name }) =>\n (schema?.actions?.options || []).find(\n option => option.value === name || option.id === name\n );\n\nconst channelOption = ({ schema, channel }) =>\n (schema?.actions?.options || []).find(\n option => (option.value ?? option.id) === channel\n );\n\nconst actionParts = ({ schema, action }) => {\n const actions = schema?.actions || {};\n\n const resolved = action?.channel\n ? { channel: action.channel, recipient: action.recipient }\n : actions.actionForName?.(action?.name) || {};\n\n const channel = resolved.channel;\n const recipientValue = action?.recipient ?? resolved.recipient;\n\n const option = channel\n ? channelOption({ schema, channel })\n : actionOption({ schema, name: action?.name });\n\n // eslint-disable-next-line security/detect-object-injection\n const channelMeta = actions.channelMeta?.[channel] || {};\n const matchesRecipient = recipient =>\n (recipient.value ?? recipient.id) === recipientValue;\n\n const recipientLabel =\n (actions.recipients || []).find(matchesRecipient)?.label ||\n (option?.recipients || []).find(matchesRecipient)?.label ||\n recipientValue;\n\n return {\n option,\n channel,\n label: option?.label || humanize(action?.name),\n verb:\n channelMeta.verb ||\n (channel\n ? t(\"neetoRules.builder.send\")\n : option?.plain || option?.label) ||\n humanize(action?.name),\n paramKind: !channel && option?.paramType,\n valueNoun: option?.valueNoun,\n valueNounPlural: option?.valueNounPlural,\n mediumLabel: channelMeta.mediumLabel || option?.mediumLabel,\n icon: channelMeta.icon || option?.icon,\n needsRecipient: channelMeta.needsRecipient ?? option?.needsRecipient,\n separator: channelMeta.separator || option?.separator,\n configValue: actions.configValueLabel?.(action) || \"\",\n configValuePlaceholder:\n channelMeta.valuePlaceholder || option?.valuePlaceholder,\n recipient: recipientValue,\n recipientLabel,\n configTitle: channelMeta.configTitle || option?.configTitle,\n configSubtitle: channelMeta.configSubtitle || option?.configSubtitle,\n recipientTitle: channelMeta.recipientTitle || option?.recipientTitle,\n recipientSubtitle:\n channelMeta.recipientSubtitle || option?.recipientSubtitle,\n };\n};\n\nconst hasTrigger = rule => !isEmpty(rule?.triggers || []);\n\nconst hasAction = rule => (rule?.actions || []).some(action => action?.name);\n\nconst isRuleComplete = rule => hasTrigger(rule) && hasAction(rule);\n\nconst invalidScopeIndexes = ({ rule, schema }) => {\n const scope = schema?.scope;\n if (!scope?.enabled || !scope.requiresPhone?.(rule?.actions || [])) return [];\n\n return (rule?.scope || []).reduce((indexes, item, index) => {\n const value = item?.value ?? item;\n const option = (scope.options || []).find(\n candidate => (candidate.value ?? candidate.id) === value\n );\n const hasPhoneField = item?.hasPhoneField ?? option?.hasPhoneField;\n if (hasPhoneField === false) indexes.push(index);\n\n return indexes;\n }, []);\n};\n\nconst minutesToParts = minutes => {\n const total = Number(minutes) || 0;\n if (total && total % UNIT_MINUTES.days === 0) {\n return { value: total / UNIT_MINUTES.days, unit: \"days\" };\n }\n\n if (total && total % UNIT_MINUTES.hours === 0) {\n return { value: total / UNIT_MINUTES.hours, unit: \"hours\" };\n }\n\n return { value: total, unit: \"minutes\" };\n};\n\nconst partsToMinutes = ({ value, unit }) =>\n // eslint-disable-next-line security/detect-object-injection\n (Number(value) || 0) * (UNIT_MINUTES[unit] || 1);\n\nconst leadTimeLabel = minutes => {\n const { value, unit } = minutesToParts(minutes);\n const unitLabel = value === 1 ? unit.replace(/s$/, \"\") : unit;\n\n return `${value} ${unitLabel}`;\n};\n\nconst normalizeTriggers = triggers => {\n if (Array.isArray(triggers)) return { options: triggers };\n\n return triggers || {};\n};\n\nconst normalizeSchema = (rawSchema = {}) =>\n mergeDeepRight(DEFAULT_SCHEMA, {\n ...rawSchema,\n triggers: normalizeTriggers(rawSchema.triggers),\n });\n\nconst joinTypeFor = mode =>\n mode === CONDITION_MODE.OR ? JOIN_TYPE.or : JOIN_TYPE.and;\n\nconst modeFromJoinType = joinType =>\n joinType === JOIN_TYPE.or ? CONDITION_MODE.OR : CONDITION_MODE.AND;\n\n// eslint-disable-next-line security/detect-object-injection\nconst valueAt = ({ values, key }) => values?.[key]?.value;\n\nconst asArray = maybeArray => (Array.isArray(maybeArray) ? maybeArray : []);\n\nconst fieldKeysFromSchema = (schema = {}) => ({\n triggers: schema.triggers?.fieldKey || \"events\",\n performer: schema.actor?.fieldKey || \"performer\",\n conditions: schema.conditions?.fieldKey || \"conditions\",\n actions: schema.actions?.fieldKey || \"actions\",\n delay: schema.delay?.fieldKey || \"execution_delay\",\n leadTime: schema.triggers?.leadTime?.fieldKey,\n scope: schema.scope?.fieldKey || \"meetingIds\",\n status: \"status\",\n name: \"name\",\n});\n\nconst valuesToRuleModel = ({ values = {}, schema = {} } = {}) => {\n const keys = fieldKeysFromSchema(schema);\n\n const conditions = asArray(valueAt({ values, key: keys.conditions }));\n const rawDelay = valueAt({ values, key: keys.delay });\n\n return {\n name: valueAt({ values, key: keys.name }) || \"\",\n active: valueAt({ values, key: keys.status }) !== STATUS_KEYS.DISABLED,\n triggers: asArray(valueAt({ values, key: keys.triggers })),\n performer: valueAt({ values, key: keys.performer }) ?? null,\n conditions,\n conditionMode: modeFromJoinType(conditions[0]?.joinType),\n delay: isNil(rawDelay) || isEmpty(rawDelay) ? null : rawDelay,\n actions: asArray(valueAt({ values, key: keys.actions })),\n leadTime: keys.leadTime ? valueAt({ values, key: keys.leadTime }) : null,\n scope: asArray(valueAt({ values, key: keys.scope })),\n };\n};\n\nconst setTriggers = ({ schema, triggers }) => ({\n path: `${fieldKeysFromSchema(schema).triggers}.value`,\n value: triggers,\n});\n\nconst setPerformer = ({ schema, performer }) => ({\n path: `${fieldKeysFromSchema(schema).performer}.value`,\n value: performer,\n});\n\nconst setActions = ({ schema, actions }) => ({\n path: `${fieldKeysFromSchema(schema).actions}.value`,\n value: actions,\n});\n\nconst setConditions = ({ schema, conditions }) => ({\n path: `${fieldKeysFromSchema(schema).conditions}.value`,\n value: conditions,\n});\n\nconst setConditionMode = ({ schema, conditions, joinType }) =>\n setConditions({\n schema,\n conditions: conditions.map(condition =>\n assoc(\"joinType\", joinTypeFor(joinType), condition)\n ),\n });\n\nconst setDelay = ({ schema, delay }) => ({\n path: `${fieldKeysFromSchema(schema).delay}.value`,\n value: delay ?? {},\n});\n\nconst setActive = ({ schema, active }) => ({\n path: `${fieldKeysFromSchema(schema).status}.value`,\n value: active ? STATUS_KEYS.ENABLED : STATUS_KEYS.DISABLED,\n});\n\nconst setScope = ({ schema, scope }) => ({\n path: `${fieldKeysFromSchema(schema).scope}.value`,\n value: scope,\n});\n\nconst removeArrayItem = ({ values, fieldKey, index }) => {\n const list = asArray(valueAt({ values, key: fieldKey }));\n // eslint-disable-next-line security/detect-object-injection\n const removed = list[index];\n const nextList = list.filter((_, i) => i !== index);\n\n const result = [{ path: `${fieldKey}.value`, value: nextList }];\n if (removed?.id) {\n // eslint-disable-next-line security/detect-object-injection\n const deleted = asArray(values?.[fieldKey]?.deleted);\n result.push({\n path: `${fieldKey}.deleted`,\n value: [...deleted, { ...removed, _destroy: true }],\n });\n }\n\n return result;\n};\n\nexport {\n humanize,\n isContainsVerb,\n isNumericVerb,\n isExcludeVerb,\n isMultiValueVerb,\n sentencify,\n triggerLabel,\n performerLabel,\n conditionFieldLabel,\n operatorLabel,\n conditionValueLabel,\n conditionNeedsValue,\n actionParts,\n hasTrigger,\n hasAction,\n isRuleComplete,\n invalidScopeIndexes,\n minutesToParts,\n partsToMinutes,\n leadTimeLabel,\n normalizeSchema,\n joinTypeFor,\n fieldKeysFromSchema,\n valuesToRuleModel,\n setTriggers,\n setPerformer,\n setActions,\n setConditions,\n setConditionMode,\n setDelay,\n setActive,\n setScope,\n removeArrayItem,\n};\n","import classnames from \"classnames\";\nimport { Delete, Plus } from \"neetoicons\";\nimport { Button } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { BUILDER_ANCHORS, CONDITION_MODE } from \"../constants\";\nimport useClearingHover from \"../hooks/useClearingHover\";\nimport Token from \"../Token\";\nimport { TOKEN_STATE } from \"../Token/constants\";\nimport {\n conditionFieldLabel,\n operatorLabel,\n conditionValueLabel,\n conditionNeedsValue,\n sentencify,\n} from \"../utils\";\n\nconst ConditionRow = ({\n rule,\n schema,\n condition,\n index,\n onToken: handleToken,\n onAddCondition: handleAddCondition,\n onRemove: handleRemove,\n isActive = () => false,\n isInvalid = () => false,\n}) => {\n const { t } = useTranslation();\n const isFirst = index === 0;\n const hasField = !!condition?.field;\n const hasVerb = !!condition?.verb;\n const conditionField = (schema?.conditions?.fields || []).find(\n field => (field.value ?? field.id) === condition?.field\n );\n\n const operatorPlaceholder =\n conditionField?.operatorPlaceholder ||\n t(\"neetoRules.builder.selectOperator\");\n const value = conditionValueLabel({ schema, condition });\n const needsValue = conditionNeedsValue({ schema, condition });\n const { clearing, clearingHoverProps } = useClearingHover();\n\n return (\n <div className={classnames(\"mb-row\", { clearing })}>\n <div className=\"mb-sentence\">\n {isFirst ? (\n <span className=\"mb-fixed\">{t(\"neetoRules.operators.and\")}</span>\n ) : (\n <Token\n active={isActive({ type: BUILDER_ANCHORS.COND_CONNECTOR, index })}\n className=\"mb-tok-muted\"\n dataTestid={`cond-connector-${index}`}\n onClick={\n handleToken &&\n (() =>\n handleToken({ type: BUILDER_ANCHORS.COND_CONNECTOR, index }))\n }\n >\n {rule.conditionMode === CONDITION_MODE.OR\n ? t(\"neetoRules.operators.or\")\n : t(\"neetoRules.operators.and\")}\n </Token>\n )}\n {hasField ? (\n <>\n <Token\n active={isActive({ type: BUILDER_ANCHORS.COND_FIELD, index })}\n dataTestid={`cond-field-${index}`}\n onClick={\n handleToken &&\n (() => handleToken({ type: BUILDER_ANCHORS.COND_FIELD, index }))\n }\n >\n {conditionFieldLabel({ schema, condition })}\n </Token>\n <Token\n active={isActive({ type: BUILDER_ANCHORS.COND_OP_TOGGLE, index })}\n dataTestid={`cond-op-${index}`}\n state={hasVerb ? TOKEN_STATE.FILLED : TOKEN_STATE.MUTED}\n invalid={isInvalid({\n type: BUILDER_ANCHORS.COND_OP_TOGGLE,\n index,\n })}\n onClick={\n handleToken &&\n (() =>\n handleToken({ type: BUILDER_ANCHORS.COND_OP_TOGGLE, index }))\n }\n >\n {hasVerb\n ? sentencify(operatorLabel({ schema, condition }))\n : operatorPlaceholder}\n </Token>\n {hasVerb && needsValue && (\n <Token\n active={isActive({ type: BUILDER_ANCHORS.COND_VALUES, index })}\n dataTestid={`cond-values-${index}`}\n state={value ? TOKEN_STATE.FILLED : TOKEN_STATE.MUTED}\n invalid={isInvalid({\n type: BUILDER_ANCHORS.COND_VALUES,\n index,\n })}\n onClick={\n handleToken &&\n (() =>\n handleToken({ type: BUILDER_ANCHORS.COND_VALUES, index }))\n }\n >\n {value || t(\"neetoRules.form.addValue\")}\n </Token>\n )}\n </>\n ) : (\n <Token\n active={isActive({ type: BUILDER_ANCHORS.COND_FIELD, index })}\n dataTestid={`cond-field-${index}`}\n invalid={isInvalid({ type: BUILDER_ANCHORS.COND_FIELD, index })}\n state={TOKEN_STATE.PLACEHOLDER_NEXT}\n onClick={\n handleToken &&\n (() => handleToken({ type: BUILDER_ANCHORS.COND_FIELD, index }))\n }\n >\n {t(\"neetoRules.builder.selectCondition\")}\n </Token>\n )}\n </div>\n <div className=\"mb-row-actions\">\n {handleAddCondition && (\n <Button\n data-testid={`cond-add-${index}`}\n icon={Plus}\n size=\"small\"\n style=\"text\"\n tooltipProps={{\n content: t(\"neetoRules.builder.aria.addAnotherCondition\"),\n position: \"top\",\n }}\n onClick={handleAddCondition}\n />\n )}\n {handleRemove && (\n <Button\n data-testid={`cond-remove-${index}`}\n icon={Delete}\n size=\"small\"\n style=\"text\"\n tooltipProps={{\n content: t(\"neetoRules.builder.aria.deleteCondition\"),\n position: \"top\",\n }}\n onClick={handleRemove}\n {...clearingHoverProps}\n />\n )}\n </div>\n </div>\n );\n};\n\nexport default ConditionRow;\n","import classnames from \"classnames\";\n\nconst Connector = ({ active = false }) => (\n <div aria-hidden className={classnames(\"mb-arrow\", { \"is-active\": active })}>\n <svg fill=\"none\" height=\"28\" viewBox=\"0 0 24 28\" width=\"24\">\n <path\n d=\"M12 2 V22 M5 15 l7 7 l7 -7\"\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth=\"2\"\n />\n </svg>\n </div>\n);\n\nexport default Connector;\n","import classnames from \"classnames\";\nimport { Delete } from \"neetoicons\";\nimport { Button } from \"neetoui\";\nimport { isNil } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { BUILDER_ANCHORS } from \"../constants\";\nimport useClearingHover from \"../hooks/useClearingHover\";\nimport Token from \"../Token\";\nimport { TOKEN_STATE } from \"../Token/constants\";\n\nconst DelayRow = ({\n rule,\n onToken: handleToken,\n onRemove: handleRemove,\n isActive = () => false,\n isInvalid = () => false,\n}) => {\n const { t } = useTranslation();\n const { delay } = rule;\n const { clearing, clearingHoverProps } = useClearingHover();\n if (!delay) return null;\n\n const label = [delay.value, delay.unit]\n .filter(part => part !== \"\" && !isNil(part))\n .join(\" \");\n\n return (\n <div className={classnames(\"mb-row\", { clearing })}>\n <div className=\"mb-sentence\">\n <span className=\"mb-fixed\">\n {t(\"neetoRules.form.delayExecutionBy\")}\n </span>\n <Token\n dataTestid=\"rule-delay\"\n state={label ? TOKEN_STATE.FILLED : TOKEN_STATE.MUTED}\n active={isActive({\n type: BUILDER_ANCHORS.RULE_DELAY,\n index: undefined,\n })}\n invalid={isInvalid({\n type: BUILDER_ANCHORS.RULE_DELAY,\n index: undefined,\n })}\n onClick={\n handleToken &&\n (() => handleToken({ type: BUILDER_ANCHORS.RULE_DELAY }))\n }\n >\n {label || t(\"neetoRules.builder.setDelay\")}\n </Token>\n </div>\n {handleRemove && (\n <div className=\"mb-row-actions\">\n <Button\n data-testid=\"rule-delay-remove\"\n icon={Delete}\n size=\"small\"\n style=\"text\"\n tooltipProps={{\n content: t(\"neetoRules.builder.aria.removeDelay\"),\n position: \"top\",\n }}\n onClick={handleRemove}\n {...clearingHoverProps}\n />\n </div>\n )}\n </div>\n );\n};\n\nexport default DelayRow;\n","import classnames from \"classnames\";\nimport { withT } from \"neetocommons/react-utils\";\n\nconst MetaBlock = withT(\n ({\n t,\n rule,\n showName = true,\n isInvalid = false,\n onEditName: handleEditName,\n onToggleActive: handleToggleActive,\n }) => (\n <div className=\"mb-meta\">\n {showName && (\n <div className=\"mb-meta-field\">\n <span className=\"mb-meta-label\">\n {t(\"neetoRules.builder.automationName\")}\n </span>\n <div\n role={handleEditName ? \"button\" : undefined}\n tabIndex={handleEditName ? 0 : undefined}\n className={classnames(\"mb-meta-input-wrap\", {\n \"mb-meta-invalid\": isInvalid,\n })}\n onClick={handleEditName}\n >\n <span className=\"mb-meta-name-display\">{rule.name}</span>\n <span aria-hidden className=\"mb-meta-edit\">\n <svg fill=\"none\" height=\"14\" viewBox=\"0 0 24 24\" width=\"14\">\n <path\n d=\"M12 20h9 M16.5 3.5a2.1 2.1 0 0 1 3 3L7 19l-4 1 1-4Z\"\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth=\"2\"\n />\n </svg>\n </span>\n </div>\n </div>\n )}\n <label className=\"mb-meta-active\">\n <input\n checked={rule.active}\n readOnly={!handleToggleActive}\n type=\"checkbox\"\n onChange={handleToggleActive || undefined}\n />\n <span aria-hidden className=\"mb-checkbox\">\n <svg fill=\"none\" height=\"12\" viewBox=\"0 0 14 14\" width=\"12\">\n <path d=\"M2 7l3.5 3.5L12 3.5\" />\n </svg>\n </span>\n {t(\"neetoRules.builder.activateThisAutomation\")}\n </label>\n </div>\n )\n);\n\nexport default MetaBlock;\n","/* eslint-disable @bigbinary/neeto/no-multiple-components-in-a-file */\nimport classnames from \"classnames\";\nimport { Delete, Plus } from \"neetoicons\";\nimport { Button } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { BUILDER_ANCHORS } from \"../constants\";\nimport useClearingHover from \"../hooks/useClearingHover\";\nimport Token from \"../Token\";\nimport { TOKEN_STATE } from \"../Token/constants\";\n\nconst itemLabel = item =>\n item?.label || item?.name || item?.value || String(item ?? \"\");\n\nconst ScopeBlock = ({\n rule,\n schema,\n onToken: handleToken,\n onRemoveScope: handleRemoveScope,\n isActive = () => false,\n isInvalid = () => false,\n}) => {\n const { t } = useTranslation();\n const scope = rule.scope || [];\n const placeholder =\n schema?.scope?.placeholder || t(\"neetoRules.builder.scope.placeholder\");\n\n if (isEmpty(scope)) {\n return (\n <div className=\"mb-row\">\n <div className=\"mb-sentence\">\n <Token\n active={isActive({ type: BUILDER_ANCHORS.SCOPE, index: undefined })}\n dataTestid=\"scope-add\"\n state={TOKEN_STATE.PLACEHOLDER_NEXT}\n onClick={\n handleToken &&\n (() => handleToken({ type: BUILDER_ANCHORS.SCOPE }))\n }\n >\n {placeholder}\n </Token>\n </div>\n </div>\n );\n }\n\n return scope.map((item, index) => (\n <ScopeRow\n {...{ index, isActive, isInvalid, item, schema }}\n isLast={index === scope.length - 1}\n key={(item?.value ?? item) || index}\n onRemoveScope={handleRemoveScope}\n onToken={handleToken}\n />\n ));\n};\n\nconst ScopeRow = ({\n schema,\n item,\n index,\n onToken: handleToken,\n onRemoveScope: handleRemoveScope,\n isActive,\n isInvalid,\n isLast,\n}) => {\n const { t } = useTranslation();\n const { clearing, clearingHoverProps } = useClearingHover();\n const lead = schema?.scope?.lead || t(\"neetoRules.builder.scope.lead\");\n\n return (\n <div className={classnames(\"mb-row\", { clearing })}>\n <div className=\"mb-sentence\">\n <span className=\"mb-fixed\">{lead}</span>\n <Token\n active={isActive({ type: BUILDER_ANCHORS.SCOPE, index: undefined })}\n dataTestid={`scope-${index}`}\n invalid={isInvalid({ type: BUILDER_ANCHORS.SCOPE, index })}\n onClick={\n handleToken && (() => handleToken({ type: BUILDER_ANCHORS.SCOPE }))\n }\n >\n {itemLabel(item)}\n </Token>\n </div>\n <div className=\"mb-row-actions\">\n {handleToken && isLast && (\n <Button\n data-testid={`scope-add-${index}`}\n icon={Plus}\n size=\"small\"\n style=\"text\"\n tooltipProps={{\n content: t(\"neetoRules.builder.aria.addAnotherBookingPage\"),\n position: \"top\",\n }}\n onClick={() => handleToken({ type: BUILDER_ANCHORS.SCOPE })}\n />\n )}\n {handleRemoveScope && (\n <Button\n data-testid={`scope-remove-${index}`}\n icon={Delete}\n size=\"small\"\n style=\"text\"\n tooltipProps={{\n content: t(\"neetoRules.builder.aria.removeBookingPage\"),\n position: \"top\",\n }}\n onClick={() => handleRemoveScope(index)}\n {...clearingHoverProps}\n />\n )}\n </div>\n </div>\n );\n};\n\nexport default ScopeBlock;\n","import classnames from \"classnames\";\nimport { isNotEmpty } from \"neetocist\";\nimport { Delete, Plus } from \"neetoicons\";\nimport { Button } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { PARAM_KIND, BUILDER_ANCHORS } from \"../constants\";\nimport useClearingHover from \"../hooks/useClearingHover\";\nimport Token from \"../Token\";\nimport { TOKEN_STATE } from \"../Token/constants\";\nimport { actionParts, sentencify } from \"../utils\";\n\nconst ActionRow = ({\n schema,\n action,\n index,\n position,\n onToken: handleToken,\n onAddAction: handleAddAction,\n onRemove: handleRemove,\n isActive = () => false,\n isInvalid = () => false,\n}) => {\n const { t } = useTranslation();\n const {\n option,\n label,\n verb,\n mediumLabel,\n icon: MediumIcon,\n needsRecipient,\n recipient,\n recipientLabel,\n separator,\n configValue,\n configValuePlaceholder,\n paramKind,\n valueNoun,\n valueNounPlural,\n } = actionParts({ schema, action });\n\n const hasParamTail =\n paramKind === PARAM_KIND.ENUM_SINGLE || paramKind === PARAM_KIND.ENUM_MULTI;\n\n const multiPlaceholder = valueNounPlural\n ? t(\"neetoRules.builder.selectNoun\", { noun: valueNounPlural })\n : t(\"neetoRules.form.selectValues\");\n\n const singlePlaceholder = valueNoun\n ? t(\"neetoRules.builder.selectNoun\", { noun: valueNoun })\n : t(\"neetoRules.form.selectValue\");\n\n const paramPlaceholder =\n paramKind === PARAM_KIND.ENUM_MULTI ? multiPlaceholder : singlePlaceholder;\n\n const connector =\n (position ?? index) === 0\n ? t(\"neetoRules.common.then\")\n : t(\"neetoRules.operators.and\");\n const verbLabel = sentencify(verb || label);\n const isVerbActive =\n isActive({ type: BUILDER_ANCHORS.ACTION_CHANNEL, index }) ||\n isActive({ type: BUILDER_ANCHORS.ACTION_ADD, index });\n const configLabel = mediumLabel || sentencify(option?.placeholder);\n const isConfigured = isNotEmpty(action?.metadata);\n const { clearing, clearingHoverProps } = useClearingHover();\n\n return (\n <div className={classnames(\"mb-row mb-row-draggable\", { clearing })}>\n <div className=\"mb-sentence\">\n <span className=\"mb-fixed\">{connector}</span>\n {separator ? (\n <Token\n active={isVerbActive}\n className=\"mb-tok-medium\"\n dataTestid={`action-verb-${index}`}\n onClick={\n handleToken &&\n (() =>\n handleToken({ type: BUILDER_ANCHORS.ACTION_CHANNEL, index }))\n }\n >\n {verbLabel}\n {MediumIcon && <MediumIcon size={14} />}\n {configLabel}\n </Token>\n ) : (\n <>\n <Token\n active={isVerbActive}\n dataTestid={`action-verb-${index}`}\n onClick={\n handleToken &&\n (() =>\n handleToken({ type: BUILDER_ANCHORS.ACTION_CHANNEL, index }))\n }\n >\n {verbLabel}\n </Token>\n {hasParamTail ? (\n <Token\n dataTestid={`action-config-value-${index}`}\n state={configValue ? TOKEN_STATE.FILLED : TOKEN_STATE.MUTED}\n active={isActive({\n type: BUILDER_ANCHORS.ACTION_CONFIG,\n index,\n })}\n invalid={isInvalid({\n type: BUILDER_ANCHORS.ACTION_CONFIG,\n index,\n })}\n onClick={\n handleToken &&\n (() =>\n handleToken({ type: BUILDER_ANCHORS.ACTION_CONFIG, index }))\n }\n >\n {configValue || paramPlaceholder}\n </Token>\n ) : (\n configLabel && (\n <Token\n className=\"mb-tok-medium\"\n dataTestid={`action-config-${index}`}\n state={isConfigured ? TOKEN_STATE.FILLED : TOKEN_STATE.MUTED}\n active={isActive({\n type: BUILDER_ANCHORS.ACTION_CONFIG,\n index,\n })}\n invalid={isInvalid({\n type: BUILDER_ANCHORS.ACTION_CONFIG,\n index,\n })}\n onClick={\n handleToken &&\n (() =>\n handleToken({\n type: BUILDER_ANCHORS.ACTION_CONFIG,\n index,\n }))\n }\n >\n {MediumIcon && <MediumIcon size={14} />}\n {configLabel}\n </Token>\n )\n )}\n </>\n )}\n {separator && (\n <>\n <span className=\"mb-fixed\">{separator}</span>\n <Token\n active={isActive({ type: BUILDER_ANCHORS.ACTION_CONFIG, index })}\n dataTestid={`action-config-value-${index}`}\n state={configValue ? TOKEN_STATE.FILLED : TOKEN_STATE.MUTED}\n invalid={isInvalid({\n type: BUILDER_ANCHORS.ACTION_CONFIG,\n index,\n })}\n onClick={\n handleToken &&\n (() =>\n handleToken({ type: BUILDER_ANCHORS.ACTION_CONFIG, index }))\n }\n >\n {configValue ||\n sentencify(configValuePlaceholder) ||\n t(\"neetoRules.builder.selectFallback\")}\n </Token>\n </>\n )}\n {needsRecipient && (\n <>\n <span className=\"mb-fixed\">{t(\"neetoRules.common.to\")}</span>\n <Token\n dataTestid={`action-recipient-${index}`}\n state={recipient ? TOKEN_STATE.FILLED : TOKEN_STATE.MUTED}\n active={isActive({\n type: BUILDER_ANCHORS.ACTION_RECIPIENT,\n index,\n })}\n invalid={isInvalid({\n type: BUILDER_ANCHORS.ACTION_RECIPIENT,\n index,\n })}\n onClick={\n handleToken &&\n (() =>\n handleToken({\n type: BUILDER_ANCHORS.ACTION_RECIPIENT,\n index,\n }))\n }\n >\n {recipient\n ? String(recipientLabel).toLowerCase()\n : t(\"neetoRules.builder.selectRecipient\")}\n </Token>\n </>\n )}\n </div>\n <div className=\"mb-row-actions\">\n {handleAddAction && (\n <Button\n data-testid={`action-add-${index}`}\n icon={Plus}\n size=\"small\"\n style=\"text\"\n tooltipProps={{\n content: t(\"neetoRules.builder.aria.addAnotherAction\"),\n position: \"top\",\n }}\n onClick={handleAddAction}\n />\n )}\n {handleRemove && (\n <Button\n data-testid={`action-remove-${index}`}\n icon={Delete}\n size=\"small\"\n style=\"text\"\n tooltipProps={{\n content: t(\"neetoRules.builder.aria.deleteAction\"),\n position: \"top\",\n }}\n onClick={handleRemove}\n {...clearingHoverProps}\n />\n )}\n </div>\n </div>\n );\n};\n\nexport default ActionRow;\n","import { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport ActionRow from \"./ActionRow\";\n\nimport { BUILDER_ANCHORS } from \"../constants\";\nimport Token from \"../Token\";\nimport { TOKEN_STATE } from \"../Token/constants\";\nimport { hasTrigger } from \"../utils\";\n\nconst ThenBlock = ({\n rule,\n schema,\n onToken: handleToken,\n onAddAction: handleAddAction,\n onRemoveAction: handleRemoveAction,\n isActive = () => false,\n isInvalid = () => false,\n adding = false,\n}) => {\n const { t } = useTranslation();\n const named = rule.actions\n .map((action, index) => ({ action, index }))\n .filter(({ action }) => action?.channel || action?.name);\n\n if (isEmpty(named)) {\n const isTriggerSet = hasTrigger(rule);\n\n return (\n <div className=\"mb-row\">\n <div className=\"mb-sentence\">\n <Token\n active={isActive({ type: BUILDER_ANCHORS.ACTION_ADD, index: 0 })}\n dataTestid=\"action-add\"\n invalid={isInvalid({ type: BUILDER_ANCHORS.ACTION_ADD, index: 0 })}\n state={\n isTriggerSet ? TOKEN_STATE.PLACEHOLDER_NEXT : TOKEN_STATE.DISABLED\n }\n title={\n isTriggerSet\n ? undefined\n : t(\"neetoRules.builder.pickTriggerFirst\")\n }\n onClick={isTriggerSet ? handleAddAction : undefined}\n >\n {t(\"neetoRules.builder.thenDoThis\")}\n </Token>\n </div>\n </div>\n );\n }\n\n return (\n <>\n {named.map(({ action, index }, position) => (\n <ActionRow\n {...{ action, index, isActive, isInvalid, position, schema }}\n key={action.id ?? index}\n onAddAction={position === named.length - 1 && handleAddAction}\n onRemove={handleRemoveAction && (() => handleRemoveAction(index))}\n onToken={handleToken}\n />\n ))}\n {adding && (\n <div className=\"mb-row\">\n <div className=\"mb-sentence\">\n <span className=\"mb-fixed\">{t(\"neetoRules.operators.and\")}</span>\n <Token\n active\n dataTestid=\"action-add-next\"\n state={TOKEN_STATE.PLACEHOLDER_NEXT}\n onClick={handleAddAction}\n >\n {t(\"neetoRules.form.doThis\")}\n </Token>\n </div>\n </div>\n )}\n </>\n );\n};\n\nexport default ThenBlock;\n","import { Fragment } from \"react\";\n\nimport classnames from \"classnames\";\nimport { Delete, Plus } from \"neetoicons\";\nimport { Button } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { BUILDER_ANCHORS } from \"../constants\";\nimport useClearingHover from \"../hooks/useClearingHover\";\nimport Token from \"../Token\";\nimport { TOKEN_STATE } from \"../Token/constants\";\nimport { triggerLabel, performerLabel, leadTimeLabel } from \"../utils\";\n\nconst WhenBlock = ({\n rule,\n schema,\n onToken: handleToken,\n onAddCondition: handleAddCondition,\n onClearTrigger: handleClearTrigger,\n isActive = () => false,\n isInvalid = () => false,\n}) => {\n const { t } = useTranslation();\n const { triggers, performer } = rule;\n const isActorEnabled = schema?.actor?.enabled;\n const { clearing, clearingHoverProps, resetClearing } = useClearingHover();\n // eslint-disable-next-line @bigbinary/neeto/prefer-function-reference\n const hasLeadTimeFor = name =>\n (schema?.triggers?.leadTime?.appliesTo || []).includes(name);\n\n if (isEmpty(triggers)) {\n return (\n <div className=\"mb-row\">\n <div className=\"mb-sentence\">\n <Token\n dataTestid=\"trigger-add\"\n state={TOKEN_STATE.PLACEHOLDER_NEXT}\n onClick={\n handleToken &&\n (() => handleToken({ type: BUILDER_ANCHORS.TRIGGER_ADD }))\n }\n >\n {t(\"neetoRules.builder.whenThisHappens\")}\n </Token>\n </div>\n </div>\n );\n }\n\n return (\n <div className={classnames(\"mb-row\", { clearing })}>\n <div className=\"mb-sentence\">\n <span className=\"mb-fixed\">{t(\"neetoRules.common.when\")}</span>\n {triggers.map((trigger, index) => (\n <Fragment key={trigger.id ?? index}>\n {index > 0 && (\n <span className=\"mb-fixed\">{t(\"neetoRules.operators.or\")}</span>\n )}\n {hasLeadTimeFor(trigger.name) && (\n <Token\n dataTestid={`trigger-lead-time-${index}`}\n active={isActive({\n type: BUILDER_ANCHORS.TRIGGER_LEAD_TIME,\n index,\n })}\n onClick={\n handleToken &&\n (() =>\n handleToken({\n type: BUILDER_ANCHORS.TRIGGER_LEAD_TIME,\n index,\n }))\n }\n >\n {leadTimeLabel(rule.leadTime)}\n </Token>\n )}\n <Token\n dataTestid={`trigger-${index}`}\n active={\n isActive({ type: BUILDER_ANCHORS.TRIGGER_REPLACE, index }) ||\n (index === 0 &&\n isActive({\n type: BUILDER_ANCHORS.TRIGGER_ADD,\n index: undefined,\n }))\n }\n onClick={\n handleToken &&\n (() =>\n handleToken({\n type: BUILDER_ANCHORS.TRIGGER_REPLACE,\n index,\n trigger,\n }))\n }\n >\n {triggerLabel({ schema, trigger })}\n </Token>\n </Fragment>\n ))}\n {isActorEnabled && (\n <>\n <span className=\"mb-fixed\">{t(\"neetoRules.common.by\")}</span>\n <Token\n dataTestid=\"trigger-actor\"\n state={performer ? TOKEN_STATE.FILLED : TOKEN_STATE.MUTED}\n active={isActive({\n type: BUILDER_ANCHORS.TRIGGER_ACTOR,\n index: undefined,\n })}\n invalid={isInvalid({\n type: BUILDER_ANCHORS.TRIGGER_ACTOR,\n index: undefined,\n })}\n onClick={\n handleToken &&\n (() => handleToken({ type: BUILDER_ANCHORS.TRIGGER_ACTOR }))\n }\n >\n {performer\n ? performerLabel({ schema, performer })\n : t(\"neetoRules.builder.selectActor\")}\n </Token>\n </>\n )}\n </div>\n <div className=\"mb-row-actions\">\n {handleAddCondition && (\n <Button\n data-testid=\"trigger-add-condition\"\n icon={Plus}\n size=\"small\"\n style=\"text\"\n tooltipProps={{\n content: t(\"neetoRules.builder.aria.addCondition\"),\n position: \"top\",\n }}\n onClick={handleAddCondition}\n />\n )}\n {handleClearTrigger && (\n <Button\n data-testid=\"trigger-clear\"\n icon={Delete}\n size=\"small\"\n style=\"text\"\n tooltipProps={{\n content: t(\"neetoRules.builder.aria.clearTrigger\"),\n position: \"top\",\n }}\n onClick={() => {\n resetClearing();\n handleClearTrigger();\n }}\n {...clearingHoverProps}\n />\n )}\n </div>\n </div>\n );\n};\n\nexport default WhenBlock;\n","import { useCallback } from \"react\";\n\nimport useUtilityStore from \"components/stores/useUtilityStore\";\n\nimport { TOKEN_TO_PANEL_TYPE, LARGE_PANEL_TYPES } from \"../constants\";\n\nconst usePaneCascade = schema => {\n const { setPanelState, resetPanelState } = useUtilityStore.pick();\n\n const openType = useCallback(\n ({ type, data = {} }) =>\n setPanelState({\n type,\n variant: \"builder\",\n size: LARGE_PANEL_TYPES.includes(type) ? \"large\" : \"small\",\n data: { schema, ...data },\n }),\n [schema, setPanelState]\n );\n\n const openPane = useCallback(\n token => {\n const type = TOKEN_TO_PANEL_TYPE[token?.type];\n if (!type) return;\n\n openType({ type, data: { anchor: token.type, index: token.index } });\n },\n [openType]\n );\n\n return { openPane, openType, closePane: resetPanelState };\n};\n\nexport default usePaneCascade;\n","import { useMemo } from \"react\";\n\nimport { useFormikContext } from \"formik\";\n\nimport {\n valuesToRuleModel,\n setTriggers,\n setPerformer,\n setActions,\n setConditions,\n setConditionMode,\n setDelay,\n setActive,\n setScope,\n removeArrayItem,\n fieldKeysFromSchema,\n} from \"../utils\";\n\nconst useRuleModel = schema => {\n const { values, setFieldValue } = useFormikContext();\n\n const apply = ({ path, value }) => setFieldValue(path, value);\n const applyAll = edits => edits.forEach(apply);\n\n const rule = useMemo(\n () => valuesToRuleModel({ values, schema }),\n [values, schema]\n );\n\n return {\n rule,\n fieldKeys: fieldKeysFromSchema(schema),\n setTriggers: triggers => apply(setTriggers({ schema, triggers })),\n setPerformer: performer => apply(setPerformer({ schema, performer })),\n setActions: actions => apply(setActions({ schema, actions })),\n setConditions: conditions => apply(setConditions({ schema, conditions })),\n setConditionMode: joinType =>\n apply(\n setConditionMode({ schema, conditions: rule.conditions, joinType })\n ),\n setDelay: delay => apply(setDelay({ schema, delay })),\n setActive: active => apply(setActive({ schema, active })),\n setScope: scope => apply(setScope({ schema, scope })),\n removeCondition: index =>\n applyAll(\n removeArrayItem({\n values,\n fieldKey: fieldKeysFromSchema(schema).conditions,\n index,\n })\n ),\n removeAction: index =>\n applyAll(\n removeArrayItem({\n values,\n fieldKey: fieldKeysFromSchema(schema).actions,\n index,\n })\n ),\n };\n};\n\nexport default useRuleModel;\n","import { t } from \"i18next\";\nimport { isNotEmpty, removeBy, toLabelAndValue } from \"neetocist\";\nimport { pluck } from \"ramda\";\n\nimport {\n BUILDER_ANCHORS,\n BUILDER_PANEL_TYPES,\n CONDITION_MODE,\n SWAP_CHANNEL_ORDER,\n} from \"../constants\";\nimport {\n humanize,\n isContainsVerb,\n isNumericVerb,\n isExcludeVerb,\n} from \"../utils\";\n\nconst triggerValue = option => option.eventValue ?? option.value ?? option.id;\n\nconst optionValue = option => option.value ?? option.id;\n\nconst normalizeOptions = options =>\n (options || []).map(option =>\n typeof option === \"string\" ? toLabelAndValue(option) : option\n );\n\nconst groupByCategory = options => {\n const groups = [];\n const indexByCategory = {};\n options.forEach(option => {\n const category = option.category || \"\";\n // eslint-disable-next-line security/detect-object-injection\n if (indexByCategory[category] === undefined) {\n // eslint-disable-next-line security/detect-object-injection\n indexByCategory[category] = groups.length;\n groups.push([category, []]);\n }\n // eslint-disable-next-line security/detect-object-injection\n groups[indexByCategory[category]][1].push(option);\n });\n\n return groups;\n};\n\nconst conditionAt = ({ rule, index }) =>\n // eslint-disable-next-line security/detect-object-injection\n rule.conditions[index] || {};\n\n// eslint-disable-next-line security/detect-object-injection\nconst actionAt = ({ rule, index }) => rule.actions[index] || {};\n\nconst findField = ({ schema, value }) =>\n (schema.conditions?.fields || []).find(field => optionValue(field) === value);\n\nconst findActionOption = ({ schema, name }) =>\n (schema.actions?.options || []).find(option => optionValue(option) === name);\n\nconst channelOf = ({ schema, action }) =>\n action?.channel || schema.actions?.actionForName?.(action?.name)?.channel;\n\nconst recipientOf = ({ schema, action }) =>\n action?.recipient ?? schema.actions?.actionForName?.(action?.name)?.recipient;\n\nconst channelMetaOf = ({ schema, action }) =>\n schema.actions?.channelMeta?.[channelOf({ schema, action })] || {};\n\nconst actionHasConfig = ({ schema, action }) => {\n const meta = channelMetaOf({ schema, action });\n if (meta.mediumLabel) return true;\n\n const option = findActionOption({ schema, name: action?.name });\n if (option?.component || option?.renderConfig) return true;\n\n if (schema.actions?.hasConfig) return schema.actions.hasConfig(action);\n\n return !!schema.actions?.renderConfig;\n};\n\nconst recipientsFor = ({ schema, action }) => {\n const channel = channelOf({ schema, action });\n if (channel && schema.actions?.recipientsFor) {\n return schema.actions.recipientsFor(channel);\n }\n\n const option = findActionOption({ schema, name: channel });\n if (option?.recipients) return option.recipients;\n\n return schema.actions?.recipients || [];\n};\n\nconst nextTriggers = ({ schema, rule, value }) => {\n if (schema.triggers?.multi) {\n const names = pluck(\"name\", rule.triggers);\n\n return names.includes(value)\n ? removeBy({ name: value }, rule.triggers)\n : [...rule.triggers, { name: value }];\n }\n\n return [{ name: value }];\n};\n\nconst nextConditionAt = ({ schema, rule, index, value }) => {\n const field = findField({ schema, value });\n const previous = conditionAt({ rule, index });\n const first = field?.allowMatching?.[0];\n const defaultVerb =\n first && !(field?.noValueForVerbs || []).includes(first)\n ? first\n : undefined;\n\n const verb = (field?.allowMatching || []).includes(previous.verb)\n ? previous.verb\n : defaultVerb;\n\n return {\n ...previous,\n field: value,\n kind: field?.kind,\n verb,\n metadata: {},\n };\n};\n\nconst nextActionAt = ({ schema, rule, index, value }) => {\n if (!schema.actions?.resolveName) {\n const option = findActionOption({ schema, name: value });\n const prev = actionAt({ rule, index });\n\n if (option?.recipients) {\n const channelChanged = prev.channel !== value;\n\n return {\n ...prev,\n channel: value,\n recipient: channelChanged ? undefined : prev.recipient,\n name: \"\",\n type: option?.type,\n metadata: channelChanged ? {} : prev.metadata,\n };\n }\n\n return {\n ...prev,\n channel: undefined,\n recipient: undefined,\n name: value,\n type: option?.type,\n metadata: {},\n };\n }\n\n const prev = actionAt({ rule, index });\n const prevChannel = channelOf({ schema, action: prev });\n const channelChanged = prevChannel !== value;\n let recipient = channelChanged ? undefined : prev.recipient;\n if (channelChanged) {\n const channelRecipients =\n // eslint-disable-next-line security/detect-object-injection\n schema.actions?.recipientsByChannel?.[value] || [];\n if (channelRecipients.length === 1) [recipient] = channelRecipients;\n }\n\n return {\n ...prev,\n channel: value,\n recipient,\n name: schema.actions.resolveName({ channel: value, recipient }),\n metadata: channelChanged ? {} : prev.metadata,\n };\n};\n\nconst nextActionRecipientAt = ({ schema, rule, index, value }) => {\n const prev = actionAt({ rule, index });\n const channel = channelOf({ schema, action: prev });\n\n return {\n ...prev,\n recipient: value,\n name: schema.actions?.resolveName\n ? schema.actions.resolveName({ channel, recipient: value })\n : value,\n };\n};\n\nconst descriptorFor = ({ anchor, schema, rule, index }) => {\n switch (anchor) {\n case BUILDER_ANCHORS.TRIGGER_ADD:\n case BUILDER_ANCHORS.TRIGGER_REPLACE: {\n const multi = !!schema.triggers?.multi;\n const isReplace = anchor === BUILDER_ANCHORS.TRIGGER_REPLACE;\n const triggerTitle = isReplace\n ? (multi && t(\"neetoRules.builder.panes.changeTriggers\")) ||\n t(\"neetoRules.builder.panes.changeTrigger\")\n : (multi && t(\"neetoRules.builder.panes.whenEllipsis\")) ||\n t(\"neetoRules.builder.panes.addTrigger\");\n\n const triggerSubtitle =\n (multi && t(\"neetoRules.builder.panes.triggerSubtitleMulti\")) ||\n (isReplace\n ? t(\"neetoRules.builder.panes.triggerSubtitleReplace\")\n : t(\"neetoRules.builder.panes.triggerSubtitleAdd\"));\n\n return {\n title: triggerTitle,\n subtitle: triggerSubtitle,\n multi,\n cascade: !!schema.actor?.enabled,\n options: (schema.triggers?.options || []).map(option => ({\n label: option.paneLabel || option.label,\n value: triggerValue(option),\n category: option.category,\n })),\n selectedValues: pluck(\"name\", rule.triggers),\n };\n }\n case BUILDER_ANCHORS.TRIGGER_ACTOR:\n return {\n title: t(\"neetoRules.builder.panes.actorTitle\"),\n subtitle: t(\"neetoRules.builder.panes.actorSubtitle\"),\n options: (schema.actor?.options || []).map(option => ({\n label: option.label,\n value: optionValue(option),\n })),\n selectedValues: [rule.performer],\n };\n case BUILDER_ANCHORS.COND_FIELD:\n return {\n title: t(\"neetoRules.builder.panes.addCondition\"),\n subtitle: t(\"neetoRules.builder.panes.condFieldSubtitle\"),\n cascade: true,\n options: (schema.conditions?.fields || []).map(field => ({\n label: field.paneLabel || field.label,\n value: optionValue(field),\n category: field.category,\n })),\n selectedValues: [conditionAt({ rule, index }).field],\n };\n case BUILDER_ANCHORS.COND_OP_TOGGLE: {\n const field = findField({\n schema,\n value: conditionAt({ rule, index }).field,\n });\n const labels = schema.conditions?.operatorLabels || {};\n const verbs = field?.allowMatching || [];\n const fieldLabel = field?.paneLabel || field?.label || \"\";\n\n const isContains = isNotEmpty(verbs) && verbs.every(isContainsVerb);\n const isNumeric = !isContains && verbs.some(isNumericVerb);\n const isExclude = !isContains && !isNumeric && verbs.some(isExcludeVerb);\n const hasOptions = isNotEmpty(\n normalizeOptions(\n field?.values || field?.dropdownOptions || field?.options\n )\n );\n\n const containsVariant = hasOptions ? \"Values\" : \"Keywords\";\n const numericOrExcludeVariant = isExclude ? \"Exclude\" : \"\";\n const nonContainsVariant = isNumeric ? \"Number\" : numericOrExcludeVariant;\n const variant = isContains ? containsVariant : nonContainsVariant;\n\n return {\n title: t(`neetoRules.builder.panes.operatorTitle${variant}`),\n subtitle: variant\n ? t(`neetoRules.builder.panes.operatorSubtitle${variant}`, {\n field: fieldLabel,\n })\n : t(\"neetoRules.builder.panes.operatorSubtitle\"),\n cascade: true,\n options: verbs.map(verb => ({\n // eslint-disable-next-line security/detect-object-injection\n label: labels[verb] || humanize(verb),\n value: verb,\n })),\n selectedValues: [conditionAt({ rule, index }).verb],\n };\n }\n case BUILDER_ANCHORS.COND_CONNECTOR:\n return {\n title: t(\"neetoRules.builder.panes.connectorTitle\"),\n subtitle: t(\"neetoRules.builder.panes.connectorSubtitle\"),\n options: [\n {\n label: t(\"neetoRules.builder.panes.connectorAndOption\"),\n value: CONDITION_MODE.AND,\n },\n {\n label: t(\"neetoRules.builder.panes.connectorOrOption\"),\n value: CONDITION_MODE.OR,\n },\n ],\n selectedValues: [rule.conditionMode],\n };\n case BUILDER_ANCHORS.ACTION_ADD:\n case BUILDER_ANCHORS.ACTION_CHANNEL: {\n const isSwap = anchor === BUILDER_ANCHORS.ACTION_CHANNEL;\n const channelMetaFor = value =>\n // eslint-disable-next-line security/detect-object-injection\n schema.actions?.channelMeta?.[value] || {};\n\n const rank = value => {\n const idx = SWAP_CHANNEL_ORDER.indexOf(value);\n\n return idx === -1 ? SWAP_CHANNEL_ORDER.length : idx;\n };\n\n const sourceOptions = isSwap\n ? [...(schema.actions?.options || [])].sort(\n (optionA, optionB) =>\n rank(optionValue(optionA)) - rank(optionValue(optionB))\n )\n : schema.actions?.options || [];\n\n return {\n title: isSwap\n ? t(\"neetoRules.builder.panes.actionSwapTitle\")\n : t(\"neetoRules.builder.panes.actionAddTitle\"),\n subtitle: isSwap\n ? t(\"neetoRules.builder.panes.actionSwapSubtitle\")\n : t(\"neetoRules.builder.panes.actionAddSubtitle\"),\n cascade: true,\n options: sourceOptions.map(option => {\n const value = optionValue(option);\n const meta = channelMetaFor(value);\n\n return {\n label: isSwap ? meta.channelLabel || option.label : option.label,\n value,\n category: option.category,\n disabled: !!option.disabled,\n icon: (isSwap ? meta.icon : option.icon) || option.icon,\n };\n }),\n selectedValues: [\n channelOf({ schema, action: actionAt({ rule, index }) }) ??\n actionAt({ rule, index }).name,\n ],\n };\n }\n case BUILDER_ANCHORS.ACTION_RECIPIENT: {\n const action = actionAt({ rule, index });\n const channel = channelOf({ schema, action });\n // eslint-disable-next-line security/detect-object-injection\n const meta = schema.actions?.channelMeta?.[channel] || {};\n const option = findActionOption({ schema, name: channel });\n\n return {\n title:\n meta.recipientTitle ||\n option?.recipientTitle ||\n t(\"neetoRules.builder.panes.recipientTitle\"),\n subtitle:\n meta.recipientSubtitle ||\n option?.recipientSubtitle ||\n t(\"neetoRules.builder.panes.recipientSubtitle\"),\n options: recipientsFor({ schema, action }).map(recipient => ({\n label: recipient.label,\n value: optionValue(recipient),\n })),\n selectedValues: [recipientOf({ schema, action })],\n };\n }\n case BUILDER_ANCHORS.SCOPE: {\n const sc = schema.scope || {};\n const selected = (rule.scope || []).map(item => item?.value ?? item);\n const requiresPhone = sc.requiresPhone?.(rule.actions) || false;\n\n return {\n title: selected.length\n ? sc.paneChangeTitle || t(\"neetoRules.builder.panes.scopeChangeTitle\")\n : sc.paneTitle || t(\"neetoRules.builder.panes.scopeTitle\"),\n subtitle:\n sc.paneSubtitle || t(\"neetoRules.builder.panes.scopeSubtitle\"),\n multi: true,\n options: (sc.options || []).map(option => {\n const value = optionValue(option);\n const blockedNoPhone =\n requiresPhone && option.hasPhoneField === false;\n const isSelected = selected.includes(value);\n\n return {\n label: option.label,\n value,\n disabled: (!!option.disabled || blockedNoPhone) && !isSelected,\n disabledReason: blockedNoPhone && sc.disabledReason,\n disabledTooltip: blockedNoPhone && sc.disabledTooltip,\n };\n }),\n selectedValues: selected,\n };\n }\n default:\n return { title: \"\", subtitle: \"\", options: [], selectedValues: [] };\n }\n};\n\nconst commitFor = ({ anchor, schema, rule, index, value, helpers }) => {\n const {\n setTriggers,\n setPerformer,\n setConditionMode,\n setFieldValue,\n fieldKeys,\n } = helpers;\n\n switch (anchor) {\n case BUILDER_ANCHORS.TRIGGER_ADD:\n case BUILDER_ANCHORS.TRIGGER_REPLACE: {\n if (schema.triggers?.multi) {\n const names = pluck(\"name\", rule.triggers);\n setTriggers(\n names.includes(value)\n ? removeBy({ name: value }, rule.triggers)\n : [...rule.triggers, { name: value }]\n );\n\n return \"stay\";\n }\n setTriggers([{ name: value }]);\n\n const leadTime = schema.triggers?.leadTime;\n if (\n leadTime?.fieldKey &&\n (leadTime.appliesTo || []).includes(value) &&\n !rule.leadTime\n ) {\n // eslint-disable-next-line @bigbinary/neeto/use-common-constants\n setFieldValue(`${leadTime.fieldKey}.value`, leadTime.default ?? 10);\n }\n\n return \"stay\";\n }\n case BUILDER_ANCHORS.TRIGGER_ACTOR:\n setPerformer(value);\n\n return \"stay\";\n case BUILDER_ANCHORS.COND_FIELD: {\n setFieldValue(\n `${fieldKeys.conditions}.value.${index}`,\n nextConditionAt({ schema, rule, index, value })\n );\n\n return \"stay\";\n }\n case BUILDER_ANCHORS.COND_OP_TOGGLE:\n setFieldValue(`${fieldKeys.conditions}.value.${index}.verb`, value);\n\n return \"stay\";\n case BUILDER_ANCHORS.COND_CONNECTOR:\n setConditionMode(value);\n\n return \"stay\";\n case BUILDER_ANCHORS.ACTION_ADD:\n case BUILDER_ANCHORS.ACTION_CHANNEL: {\n setFieldValue(\n `${fieldKeys.actions}.value.${index}`,\n nextActionAt({ schema, rule, index, value })\n );\n\n return \"stay\";\n }\n case BUILDER_ANCHORS.ACTION_RECIPIENT: {\n setFieldValue(\n `${fieldKeys.actions}.value.${index}`,\n nextActionRecipientAt({ schema, rule, index, value })\n );\n\n return \"stay\";\n }\n case BUILDER_ANCHORS.SCOPE: {\n const sc = schema.scope || {};\n const key = sc.fieldKey || \"scope\";\n const current = rule.scope || [];\n const has = current.some(item => (item?.value ?? item) === value);\n const next = has\n ? current.filter(item => (item?.value ?? item) !== value)\n : [\n ...current,\n (sc.options || []).find(\n option => optionValue(option) === value\n ) || { value },\n ];\n setFieldValue(`${key}.value`, next);\n\n return \"stay\";\n }\n default:\n return \"close\";\n }\n};\n\nconst continueTargetFor = ({ anchor, schema, rule, index }) => {\n switch (anchor) {\n case BUILDER_ANCHORS.TRIGGER_ADD:\n case BUILDER_ANCHORS.TRIGGER_REPLACE:\n return schema.actor?.enabled\n ? {\n type: BUILDER_PANEL_TYPES.ACTOR,\n data: { anchor: BUILDER_ANCHORS.TRIGGER_ACTOR },\n }\n : null;\n case BUILDER_ANCHORS.COND_FIELD:\n return {\n type: BUILDER_PANEL_TYPES.OPERATOR,\n data: { index, anchor: BUILDER_ANCHORS.COND_OP_TOGGLE },\n };\n case BUILDER_ANCHORS.COND_OP_TOGGLE: {\n const condition = conditionAt({ rule, index });\n const field = findField({ schema, value: condition.field });\n if ((field?.noValueForVerbs || []).includes(condition.verb)) return null;\n\n return {\n type: BUILDER_PANEL_TYPES.CONDITION_VALUE,\n data: { index, anchor: BUILDER_ANCHORS.COND_VALUES },\n };\n }\n case BUILDER_ANCHORS.ACTION_ADD:\n case BUILDER_ANCHORS.ACTION_CHANNEL: {\n const action = actionAt({ rule, index });\n\n if (actionHasConfig({ schema, action })) {\n return {\n type: BUILDER_PANEL_TYPES.ACTION_CONFIG,\n data: { index, anchor: BUILDER_ANCHORS.ACTION_CONFIG },\n };\n }\n\n return channelMetaOf({ schema, action }).needsRecipient\n ? {\n type: BUILDER_PANEL_TYPES.RECIPIENT,\n data: { index, anchor: BUILDER_ANCHORS.ACTION_RECIPIENT },\n }\n : null;\n }\n case BUILDER_ANCHORS.ACTION_RECIPIENT:\n return null;\n default:\n return null;\n }\n};\n\nconst replaceAt = ({ list, index, item }) => {\n const next = [...list];\n // eslint-disable-next-line security/detect-object-injection\n next[index] = item;\n\n return next;\n};\n\nconst applyPreview = ({ rule, schema, anchor, index, value }) => {\n switch (anchor) {\n case BUILDER_ANCHORS.TRIGGER_ADD:\n case BUILDER_ANCHORS.TRIGGER_REPLACE:\n return {\n ...rule,\n triggers: Array.isArray(value)\n ? value.map(name => ({ name }))\n : nextTriggers({ schema, rule, value }),\n };\n case BUILDER_ANCHORS.TRIGGER_ACTOR:\n return { ...rule, performer: value };\n case BUILDER_ANCHORS.COND_FIELD:\n return {\n ...rule,\n conditions: replaceAt({\n list: rule.conditions,\n index,\n item: nextConditionAt({ schema, rule, index, value }),\n }),\n };\n case BUILDER_ANCHORS.COND_OP_TOGGLE:\n return {\n ...rule,\n conditions: replaceAt({\n list: rule.conditions,\n index,\n item: { ...conditionAt({ rule, index }), verb: value },\n }),\n };\n case BUILDER_ANCHORS.COND_CONNECTOR:\n return { ...rule, conditionMode: value };\n case BUILDER_ANCHORS.ACTION_ADD:\n case BUILDER_ANCHORS.ACTION_CHANNEL:\n return {\n ...rule,\n actions: replaceAt({\n list: rule.actions,\n index,\n item: nextActionAt({ schema, rule, index, value }),\n }),\n };\n case BUILDER_ANCHORS.ACTION_RECIPIENT:\n return {\n ...rule,\n actions: replaceAt({\n list: rule.actions,\n index,\n item: nextActionRecipientAt({ schema, rule, index, value }),\n }),\n };\n default:\n return rule;\n }\n};\n\nexport {\n optionValue,\n normalizeOptions,\n groupByCategory,\n descriptorFor,\n commitFor,\n continueTargetFor,\n applyPreview,\n};\n","import { Fragment, useEffect, useMemo, useRef, useState } from \"react\";\n\nimport { flatten } from \"flat\";\nimport { useFormikContext } from \"formik\";\nimport { isNotEmpty } from \"neetocist\";\nimport { Plus } from \"neetoicons\";\nimport { Button } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport useUtilityStore from \"components/stores/useUtilityStore\";\n\nimport ConditionRow from \"./ConditionRow\";\nimport Connector from \"./Connector\";\nimport DelayRow from \"./DelayRow\";\nimport MetaBlock from \"./MetaBlock\";\nimport ScopeBlock from \"./ScopeBlock\";\nimport ThenBlock from \"./ThenBlock\";\nimport WhenBlock from \"./WhenBlock\";\n\nimport {\n ACTION_ANCHORS,\n BUILDER_ANCHORS,\n CONDITION_ANCHORS,\n} from \"../constants\";\nimport usePaneCascade from \"../hooks/usePaneCascade\";\nimport useRuleModel from \"../hooks/useRuleModel\";\nimport { applyPreview } from \"../Panes/utils\";\nimport {\n hasTrigger,\n isRuleComplete,\n invalidScopeIndexes,\n joinTypeFor,\n} from \"../utils\";\n\nconst Canvas = ({ schema }) => {\n const { t } = useTranslation();\n const { openPane, closePane } = usePaneCascade(schema);\n const { errors, submitCount } = useFormikContext();\n const {\n rule,\n fieldKeys,\n setTriggers,\n setPerformer,\n setConditions,\n setActions,\n setDelay,\n removeCondition,\n removeAction,\n setActive,\n setScope,\n } = useRuleModel(schema);\n\n const { builderPreview, panelState } = useUtilityStore.pick();\n const displayRule = useMemo(\n () =>\n builderPreview ? applyPreview({ rule, schema, ...builderPreview }) : rule,\n [rule, schema, builderPreview]\n );\n\n const activeToken = panelState?.data || {};\n const isActive = ({ type, index }) =>\n !!panelState?.type &&\n activeToken.anchor === type &&\n activeToken.index === index;\n\n const addingAction =\n !!panelState?.type &&\n activeToken.anchor === BUILDER_ANCHORS.ACTION_ADD &&\n activeToken.index === rule.actions.length &&\n !builderPreview;\n\n const flatErrors = useMemo(() => flatten(errors || {}), [errors]);\n const [flashing, setFlashing] = useState(false);\n const lastSubmitCount = useRef(submitCount);\n useEffect(() => {\n if (submitCount <= lastSubmitCount.current) return undefined;\n lastSubmitCount.current = submitCount;\n if (\n isEmpty(flatErrors) &&\n isRuleComplete(rule) &&\n isEmpty(invalidScopeIndexes({ rule, schema }))\n ) {\n return undefined;\n }\n\n setFlashing(true);\n const timer = setTimeout(() => setFlashing(false), 2200);\n\n return () => clearTimeout(timer);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [submitCount]);\n\n const hasErrorAt = ({ prefix, exclude = [] }) =>\n Object.keys(flatErrors).some(\n key =>\n (key === prefix || key.startsWith(`${prefix}.`)) &&\n !exclude.some(\n sub =>\n key === `${prefix}.${sub}` || key.startsWith(`${prefix}.${sub}.`)\n )\n );\n\n const isInvalid = ({ type, index }) => {\n if (!flashing) return false;\n\n const conditionMeta = `${fieldKeys.conditions}.value.${index}.metadata`;\n const actionMeta = `${fieldKeys.actions}.value.${index}.metadata`;\n // eslint-disable-next-line security/detect-object-injection\n const actionItem = rule.actions[index] || {};\n const channel =\n actionItem.channel ||\n schema.actions?.actionForName?.(actionItem.name)?.channel;\n\n const hasRecipientEditor = !!schema.actions?.renderRecipientEditor?.({\n channel,\n name: actionMeta,\n action: actionItem,\n });\n\n const hasRecipientField = !!schema.actions?.renderRecipientField?.({\n channel,\n recipient: actionItem.recipient,\n name: actionMeta,\n action: actionItem,\n });\n\n const flatOption =\n schema.actions?.optionForName?.(actionItem.name) ||\n schema.actions?.optionForChannel?.(channel);\n\n const recipientFields = [\n ...(hasRecipientEditor || hasRecipientField ? [\"emails\"] : []),\n ...(flatOption?.type === \"smsToNumbers\" ? [\"phoneNumbers\"] : []),\n ];\n switch (type) {\n case BUILDER_ANCHORS.TRIGGER_ACTOR: {\n const actorKey = schema.actor?.fieldKey;\n\n return !!actorKey && hasErrorAt({ prefix: `${actorKey}.value` });\n }\n case BUILDER_ANCHORS.COND_FIELD:\n return hasErrorAt({\n prefix: `${fieldKeys.conditions}.value.${index}.field`,\n });\n case BUILDER_ANCHORS.COND_OP_TOGGLE: {\n // eslint-disable-next-line security/detect-object-injection\n const condition = rule.conditions[index] || {};\n\n return !!condition.field && !condition.verb;\n }\n case BUILDER_ANCHORS.COND_VALUES:\n return hasErrorAt({ prefix: conditionMeta });\n case BUILDER_ANCHORS.ACTION_CONFIG:\n return hasErrorAt({ prefix: actionMeta, exclude: recipientFields });\n case BUILDER_ANCHORS.ACTION_RECIPIENT:\n return recipientFields.some(field =>\n hasErrorAt({ prefix: `${actionMeta}.${field}` })\n );\n case BUILDER_ANCHORS.ACTION_ADD:\n return !rule.actions.some(item => item?.channel || item?.name);\n case BUILDER_ANCHORS.RULE_DELAY:\n return hasErrorAt({ prefix: `${fieldKeys.delay}.value` });\n case BUILDER_ANCHORS.SCOPE:\n return invalidScopeIndexes({ rule, schema }).includes(index);\n case BUILDER_ANCHORS.META_NAME:\n return hasErrorAt({ prefix: `${fieldKeys.name}.value` });\n default:\n return false;\n }\n };\n\n const closePaneIfTargeting = ({ anchors, index }) => {\n if (\n panelState?.type &&\n anchors.includes(activeToken.anchor) &&\n activeToken.index === index\n ) {\n closePane();\n }\n };\n\n const handleRemoveCondition = index => {\n closePaneIfTargeting({ anchors: CONDITION_ANCHORS, index });\n removeCondition(index);\n };\n\n const handleRemoveAction = index => {\n closePaneIfTargeting({ anchors: ACTION_ANCHORS, index });\n removeAction(index);\n const remaining = rule.actions.filter((_, i) => i !== index);\n if (!remaining.some(action => action?.channel || action?.name)) {\n setScope([]);\n }\n };\n\n const handleRemoveDelay = () => {\n closePaneIfTargeting({\n anchors: [BUILDER_ANCHORS.RULE_DELAY],\n index: undefined,\n });\n setDelay(null);\n };\n\n const isTriggerSet = hasTrigger(rule);\n const hasAction = rule.actions.some(\n action => action?.channel || action?.name\n );\n const isScopeEnabled = schema?.scope?.enabled && isTriggerSet && hasAction;\n const isScopeComplete =\n !schema?.scope?.enabled || isNotEmpty(rule.scope || []);\n const isComplete = isRuleComplete(rule) && isScopeComplete;\n const handleRemoveScope = index =>\n setScope((rule.scope || []).filter((_, i) => i !== index));\n const conditionFields = schema?.conditions?.fields || [];\n const canAddCondition = isNotEmpty(conditionFields);\n const leadTimeAppliesTo = schema?.triggers?.leadTime?.appliesTo || [];\n const hasLeadTimeTrigger = rule.triggers.some(trigger =>\n leadTimeAppliesTo.includes(trigger.name)\n );\n const isDelayEnabled = schema?.delay?.enabled && !hasLeadTimeTrigger;\n\n useEffect(() => {\n if (hasLeadTimeTrigger && rule.delay) setDelay(null);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [hasLeadTimeTrigger, rule.delay]);\n\n const handleAddCondition = () => {\n if (isEmpty(conditionFields)) return;\n\n setConditions([\n ...rule.conditions,\n { joinType: joinTypeFor(rule.conditionMode), metadata: {} },\n ]);\n\n openPane({\n type: BUILDER_ANCHORS.COND_FIELD,\n index: rule.conditions.length,\n });\n };\n\n const handleClearTrigger = () => {\n setTriggers([]);\n setPerformer(null);\n setConditions([]);\n setDelay(null);\n setActions([]);\n setScope([]);\n closePane();\n };\n\n const handleAddAction = () => {\n openPane({ type: BUILDER_ANCHORS.ACTION_ADD, index: rule.actions.length });\n };\n\n const slotCtx = { rule, schema, openPane };\n const renderSlot = name =>\n // eslint-disable-next-line security/detect-object-injection\n schema?.slots?.[name]?.(slotCtx) ?? null;\n\n return (\n <div className=\"neeto-rules-builder\">\n <div className=\"mb-canvas neeto-rules-main-card\">\n <WhenBlock\n {...{ isActive, isInvalid, schema }}\n rule={displayRule}\n onClearTrigger={isTriggerSet && handleClearTrigger}\n onToken={openPane}\n onAddCondition={\n canAddCondition &&\n isEmpty(displayRule.conditions) &&\n handleAddCondition\n }\n />\n {renderSlot(\"afterWhen\")}\n {displayRule.conditions.map((condition, index) => (\n <ConditionRow\n {...{ condition, index, isActive, isInvalid, schema }}\n key={condition.id ?? index}\n rule={displayRule}\n onRemove={() => handleRemoveCondition(index)}\n onToken={openPane}\n onAddCondition={\n canAddCondition &&\n index === displayRule.conditions.length - 1 &&\n handleAddCondition\n }\n />\n ))}\n {renderSlot(\"afterConditions\")}\n <Connector active={isTriggerSet} />\n {isDelayEnabled &&\n isTriggerSet &&\n (rule.delay ? (\n <Fragment>\n <DelayRow\n {...{ isActive, isInvalid, rule }}\n onRemove={handleRemoveDelay}\n onToken={openPane}\n />\n <Connector active />\n </Fragment>\n ) : (\n <div className=\"mb-add-row\">\n <Button\n icon={Plus}\n iconPosition=\"left\"\n label={t(\"neetoRules.common.addDelay\")}\n size=\"small\"\n style=\"tertiary\"\n onClick={() => openPane({ type: BUILDER_ANCHORS.RULE_DELAY })}\n />\n </div>\n ))}\n <ThenBlock\n {...{ isActive, isInvalid, schema }}\n adding={addingAction}\n rule={displayRule}\n onAddAction={handleAddAction}\n onRemoveAction={handleRemoveAction}\n onToken={openPane}\n />\n {renderSlot(\"afterActions\")}\n {isScopeEnabled && (\n <Fragment>\n <Connector active />\n <ScopeBlock\n {...{ isActive, isInvalid, schema }}\n rule={displayRule}\n onRemoveScope={handleRemoveScope}\n onToken={openPane}\n />\n </Fragment>\n )}\n {isComplete && (\n <Fragment>\n <Connector active />\n <MetaBlock\n {...{ rule }}\n isInvalid={isInvalid({ type: BUILDER_ANCHORS.META_NAME })}\n showName={schema?.meta?.showName ?? true}\n onEditName={() => openPane({ type: BUILDER_ANCHORS.META_NAME })}\n onToggleActive={event => setActive(event.target.checked)}\n />\n </Fragment>\n )}\n </div>\n </div>\n );\n};\n\nexport default Canvas;\n","import { getIn, useFormikContext } from \"formik\";\nimport { isNot } from \"neetocist\";\nimport { Checkbox, Input, Radio, Textarea, Typography } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport EditorAction from \"../../../NeetoRulesForm/Element/Actions/Fields/Common/EditorAction\";\nimport { normalizeOptions } from \"../utils\";\n\nconst restoreTokens = text =>\n text ? text.replace(/\\[\\[/g, \"{{\").replace(/\\]\\]/g, \"}}\") : text;\n\nconst ActionConfigFields = ({ name, option, action, searchTerm = \"\" }) => {\n const { t } = useTranslation();\n const { values, setFieldValue, setFieldTouched, errors, touched } =\n useFormikContext();\n const type = option?.type;\n const options = normalizeOptions(option?.dropdownOptions);\n const valuePath = `${name}.value`;\n\n const fieldError = path => getIn(touched, path) && getIn(errors, path);\n\n const term = searchTerm.trim().toLowerCase();\n const filterOptions = list =>\n term\n ? list.filter(item => String(item.label).toLowerCase().includes(term))\n : list;\n\n const hint = restoreTokens(option?.dynamicValuesHint);\n const hintBlock = hint ? (\n <Typography className=\"neeto-ui-text-gray-500\" style=\"body3\">\n {hint}\n </Typography>\n ) : null;\n\n const noOptionsMessage = () => {\n const noun = option?.valueNounPlural || option?.valueNoun;\n\n return (\n <Typography className=\"neeto-ui-text-gray-500\" style=\"body2\">\n {noun\n ? t(\"neetoRules.builder.config.noOptionsFor\", { field: noun })\n : t(\"neetoRules.builder.config.noOptions\")}\n </Typography>\n );\n };\n\n const noMatches = (\n <div className=\"mb-pane-empty\">{t(\"neetoRules.builder.noMatches\")}</div>\n );\n\n if (type === \"emailChannel\") {\n const subjectPath = `${name}.subject`;\n const bodyPath = `${name}.body`;\n\n return (\n <div className=\"flex flex-col gap-4\">\n <Input\n required\n error={fieldError(subjectPath)}\n label={t(\"neetoRules.builder.config.subject\")}\n placeholder={t(\"neetoRules.builder.config.subjectPlaceholder\")}\n size=\"large\"\n value={getIn(values, subjectPath) ?? \"\"}\n onBlur={() => setFieldTouched(subjectPath, true)}\n onChange={event => setFieldValue(subjectPath, event.target.value)}\n />\n <EditorAction\n required\n label={t(\"neetoRules.builder.config.body\")}\n name={bodyPath}\n placeholder={t(\"neetoRules.builder.config.bodyPlaceholder\")}\n value={action?.metadata?.body}\n variables={option?.variables}\n />\n {hintBlock}\n </div>\n );\n }\n\n if (type === \"multiSelect\") {\n if (isEmpty(options)) return noOptionsMessage();\n\n const current = getIn(values, valuePath) || [];\n const filtered = filterOptions(options);\n if (term && isEmpty(filtered)) return noMatches;\n\n const toggle = value => {\n setFieldTouched(valuePath, true);\n setFieldValue(\n valuePath,\n current.includes(value)\n ? current.filter(isNot(value))\n : [...current, value]\n );\n };\n\n return (\n <div className=\"flex flex-col gap-y-1\">\n {filtered.map(item => (\n <Checkbox\n checked={current.includes(item.value)}\n key={item.value}\n label={item.label}\n onChange={() => toggle(item.value)}\n />\n ))}\n {fieldError(valuePath) && (\n <p className=\"neeto-ui-input__error\">{fieldError(valuePath)}</p>\n )}\n </div>\n );\n }\n\n if (type === \"dropdown\") {\n if (isEmpty(options)) return noOptionsMessage();\n\n const current = getIn(values, valuePath);\n const filtered = filterOptions(options);\n if (term && isEmpty(filtered)) return noMatches;\n\n return (\n <Radio\n stacked\n error={fieldError(valuePath)}\n value={current ?? \"\"}\n onBlur={() => setFieldTouched(valuePath, true)}\n onChange={event => {\n const picked = options.find(\n item => String(item.value) === event.target.value\n );\n setFieldValue(valuePath, picked ? picked.value : event.target.value);\n }}\n >\n {filtered.map(item => (\n <Radio.Item key={item.value} label={item.label} value={item.value} />\n ))}\n </Radio>\n );\n }\n\n if (type === \"note\") {\n return (\n <div className=\"flex flex-col gap-2\">\n <EditorAction\n required\n label={t(\"neetoRules.builder.config.note\")}\n name={valuePath}\n placeholder={t(\"neetoRules.builder.config.bodyPlaceholder\")}\n value={action?.metadata?.value}\n variables={option?.variables}\n />\n {hintBlock}\n </div>\n );\n }\n\n if (type === \"textarea\" || type === \"number\") {\n return type === \"number\" ? (\n <Input\n required\n error={fieldError(valuePath)}\n label={t(\"neetoRules.builder.config.value\")}\n size=\"large\"\n type=\"number\"\n value={getIn(values, valuePath) ?? \"\"}\n onBlur={() => setFieldTouched(valuePath, true)}\n onChange={event => setFieldValue(valuePath, event.target.value)}\n />\n ) : (\n <Textarea\n required\n error={fieldError(valuePath)}\n label={t(\"neetoRules.builder.config.message\")}\n rows={5}\n size=\"large\"\n value={getIn(values, valuePath) ?? \"\"}\n onBlur={() => setFieldTouched(valuePath, true)}\n onChange={event => setFieldValue(valuePath, event.target.value)}\n />\n );\n }\n\n return (\n <Typography style=\"body2\">{t(\"neetoRules.builder.noConfig\")}</Typography>\n );\n};\n\nexport default ActionConfigFields;\n","import { useEffect, useRef } from \"react\";\n\nimport { flatten } from \"flat\";\nimport { useFormikContext } from \"formik\";\nimport { isEmpty } from \"ramda\";\n\nconst keysUnder = ({ obj, prefix, exclude = [] }) =>\n Object.keys(flatten(obj || {})).filter(\n key =>\n (key === prefix || key.startsWith(`${prefix}.`)) &&\n !exclude.some(\n sub => key === `${prefix}.${sub}` || key.startsWith(`${prefix}.${sub}.`)\n )\n );\n\nconst usePaneValidation = prefix => {\n const { validateForm, setFieldTouched, errors } = useFormikContext();\n const errorsRef = useRef(errors);\n errorsRef.current = errors;\n\n useEffect(() => {\n keysUnder({ obj: errorsRef.current, prefix }).forEach(key =>\n setFieldTouched(key, false, false)\n );\n\n return () => {\n keysUnder({ obj: errorsRef.current, prefix }).forEach(key =>\n setFieldTouched(key, true, false)\n );\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [prefix]);\n\n const validate = async (exclude = []) => {\n const nextErrors = await validateForm();\n const offending = keysUnder({ obj: nextErrors, prefix, exclude });\n offending.forEach(key => setFieldTouched(key, true, false));\n\n return isEmpty(offending);\n };\n\n return { validate };\n};\n\nexport default usePaneValidation;\n","import { useEffect, useRef, useState } from \"react\";\n\nimport { useFormikContext } from \"formik\";\nimport { Search } from \"neetoicons\";\nimport { Button, Input, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport ActionConfigFields from \"./Fields/ActionConfigFields\";\nimport { normalizeOptions } from \"./utils\";\n\nimport ErrorCallout from \"../../NeetoRulesForm/Element/Actions/ErrorCallout\";\nimport SmsFields from \"../../NeetoRulesForm/Element/Actions/Fields/SmsFields\";\nimport Panel from \"../../NeetoRulesForm/Panel\";\nimport {\n BUILDER_ANCHORS,\n BUILDER_PANEL_TYPES,\n CONFIG_FOCUSABLE_SELECTOR,\n PANE_SEARCH_THRESHOLD,\n SMS_TYPES,\n} from \"../constants\";\nimport usePaneCascade from \"../hooks/usePaneCascade\";\nimport usePaneValidation from \"../hooks/usePaneValidation\";\nimport useRuleModel from \"../hooks/useRuleModel\";\nimport { actionParts } from \"../utils\";\n\nconst ConfigPane = ({ schema, index }) => {\n const { t } = useTranslation();\n const { rule, fieldKeys } = useRuleModel(schema);\n const { setFieldValue } = useFormikContext();\n const { openType, closePane } = usePaneCascade(schema);\n const bodyRef = useRef(null);\n\n const [searchTerm, setSearchTerm] = useState(\"\");\n\n // eslint-disable-next-line security/detect-object-injection\n const action = rule.actions[index] || {};\n const base = `${fieldKeys.actions}.value.${index}`;\n const {\n option,\n channel,\n verb,\n mediumLabel,\n needsRecipient,\n configTitle,\n configSubtitle,\n } = actionParts({ schema, action });\n const name = `${base}.metadata`;\n\n const flatOption =\n schema.actions?.optionForName?.(action.name) ||\n schema.actions?.optionForChannel?.(channel) ||\n option;\n const isSms = SMS_TYPES.includes(flatOption?.type);\n\n const disabledReason = flatOption?.isDisabled && flatOption.disabledReason;\n const hostRenderConfig =\n flatOption?.renderConfig ||\n flatOption?.component ||\n schema.actions?.renderConfig;\n\n const showSearch =\n normalizeOptions(flatOption?.dropdownOptions).length >=\n PANE_SEARCH_THRESHOLD;\n\n const shouldAdvanceToRecipient = !!needsRecipient;\n\n const { validate } = usePaneValidation(name);\n\n const channelRepName = schema.actions?.optionForChannel?.(channel)?.value;\n const unnamedOnOpen = useRef(!action.name);\n useEffect(() => {\n if (!unnamedOnOpen.current || !channelRepName) return undefined;\n setFieldValue(`${base}.name`, channelRepName);\n\n return () => setFieldValue(`${base}.name`, \"\");\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [base, channelRepName]);\n\n useEffect(() => {\n if (isSms) return undefined;\n\n let frame;\n let attempts = 0;\n const focusFirst = () => {\n const first = bodyRef.current?.querySelector(CONFIG_FOCUSABLE_SELECTOR);\n if (first) {\n first.focus();\n } else if (attempts++ < 20) {\n frame = requestAnimationFrame(focusFirst);\n }\n };\n frame = requestAnimationFrame(focusFirst);\n\n return () => cancelAnimationFrame(frame);\n }, [isSms, action.name]);\n\n const title =\n configTitle ||\n (mediumLabel &&\n t(\"neetoRules.builder.setUpMediumLabel\", {\n verb: verb || t(\"neetoRules.builder.setUp\"),\n mediumLabel,\n })) ||\n option?.label ||\n t(\"neetoRules.builder.setUpAction\");\n\n const handleContinue = async () => {\n if (!(await validate([\"emails\"]))) return;\n\n if (shouldAdvanceToRecipient) {\n openType({\n type: BUILDER_PANEL_TYPES.RECIPIENT,\n data: { index, anchor: BUILDER_ANCHORS.ACTION_RECIPIENT },\n });\n } else {\n closePane();\n }\n };\n\n return (\n <>\n <Panel.Header>\n <div className=\"flex w-full flex-col gap-y-2\">\n <Typography style=\"h3\">{title}</Typography>\n {configSubtitle && (\n <Typography className=\"neeto-ui-text-gray-500\" style=\"body2\">\n {configSubtitle}\n </Typography>\n )}\n {showSearch && (\n <div className=\"mb-pane-search\">\n <Input\n placeholder={t(\"neetoRules.builder.searchPlaceholder\")}\n prefix={<Search />}\n size=\"large\"\n value={searchTerm}\n onChange={event => setSearchTerm(event.target.value)}\n />\n </div>\n )}\n </div>\n </Panel.Header>\n <Panel.Body>\n <div ref={bodyRef}>\n {disabledReason && (\n <div className=\"mb-4\">\n <ErrorCallout\n message={disabledReason}\n selectedField={flatOption}\n />\n </div>\n )}\n {isSms ? (\n <>\n <SmsFields\n {...{ action, index, name }}\n shouldAutoFocus\n selectedField={flatOption}\n showPhoneNumberInput={false}\n />\n <Typography className=\"neeto-ui-text-gray-500 mt-2\" style=\"body3\">\n {t(\"neetoRules.builder.config.smsSegmentHint\")}\n </Typography>\n </>\n ) : (\n (hostRenderConfig?.({\n name,\n action,\n option: flatOption,\n searchTerm,\n }) ?? (\n <ActionConfigFields\n {...{ action, name, searchTerm }}\n option={flatOption}\n />\n ))\n )}\n </div>\n </Panel.Body>\n {shouldAdvanceToRecipient && (\n <Panel.Footer>\n <Button\n label={t(\"neetoRules.buttons.continue\")}\n size=\"large\"\n onClick={handleContinue}\n />\n </Panel.Footer>\n )}\n </>\n );\n};\n\nexport default ConfigPane;\n","import { useEffect, useRef } from \"react\";\n\nimport { useField, useFormikContext } from \"formik\";\nimport { findBy, isNotEmpty } from \"neetocist\";\nimport { Typography } from \"neetoui\";\nimport { Input, Select } from \"neetoui/formik\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { normalizeOptions } from \"./utils\";\n\nimport Panel from \"../../NeetoRulesForm/Panel\";\nimport { DEFAULT_DELAY_UNITS } from \"../constants\";\nimport usePaneValidation from \"../hooks/usePaneValidation\";\nimport useRuleModel from \"../hooks/useRuleModel\";\n\nconst DelayPane = ({ schema }) => {\n const { t } = useTranslation();\n const { fieldKeys } = useRuleModel(schema);\n const { setFieldValue } = useFormikContext();\n const bodyRef = useRef(null);\n\n const name = fieldKeys.delay;\n const [{ value }] = useField(`${name}.value`);\n\n const units = normalizeOptions(schema.delay?.units);\n const unitOptions = isNotEmpty(units) ? units : DEFAULT_DELAY_UNITS;\n\n usePaneValidation(`${name}.value`);\n\n useEffect(() => {\n if (isEmpty(value || {})) {\n setFieldValue(`${name}.value`, {\n value: 10,\n unit: unitOptions[0]?.value ?? \"minutes\",\n });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n const first = bodyRef.current?.querySelector(\"input\");\n // eslint-disable-next-line @bigbinary/neeto/prefer-function-reference\n if (first) setTimeout(() => first.focus(), 0);\n }, []);\n\n return (\n <>\n <Panel.Header>\n <div className=\"flex flex-col gap-y-1\">\n <Typography style=\"h3\">{t(\"neetoRules.common.addDelay\")}</Typography>\n <Typography className=\"neeto-ui-text-gray-500\" style=\"body2\">\n {t(\"neetoRules.helpText.addDelay\")}\n </Typography>\n </div>\n </Panel.Header>\n <Panel.Body>\n <div className=\"flex flex-col gap-y-1.5\" ref={bodyRef}>\n <Typography\n className=\"neeto-ui-text-gray-800\"\n style=\"body2\"\n weight=\"medium\"\n >\n {t(\"neetoRules.builder.waitFor\")}\n </Typography>\n <div className=\"flex items-start gap-x-2\">\n <Input\n className=\"w-44\"\n max={999}\n min={1}\n name={`${name}.value.value`}\n placeholder={t(\"neetoRules.placeholders.enterDelay\")}\n size=\"large\"\n type=\"number\"\n />\n <Select\n defaultValue={findBy({ value: value?.unit }, unitOptions)}\n menuPosition=\"fixed\"\n name={`${name}.value.unit`}\n options={unitOptions}\n size=\"large\"\n onChange={option =>\n setFieldValue(`${name}.value.unit`, option?.value)\n }\n />\n </div>\n </div>\n </Panel.Body>\n </>\n );\n};\n\nexport default DelayPane;\n","import { isNil } from \"ramda\";\n\nexport const toNumber = value =>\n value === \"\" || isNil(value) ? null : Number(value);\n\nexport const clamp = ({ value, min, max }) => {\n let next = value;\n if (!isNil(min)) next = Math.max(min, next);\n\n if (!isNil(max)) next = Math.min(max, next);\n\n return next;\n};\n\nexport const asText = value =>\n value === \"\" || isNil(value) ? \"\" : String(value);\n","import { useState } from \"react\";\n\nimport { Up, Down } from \"neetoicons\";\nimport { Input } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { toNumber, clamp, asText } from \"./utils\";\n\nconst NumberStepper = ({ value, onChange, label, min = 1, max, required }) => {\n const { t } = useTranslation();\n const [draft, setDraft] = useState(null);\n\n const display = draft ?? asText(value);\n\n const commit = raw => {\n setDraft(raw);\n onChange(raw === \"\" ? (min ?? 0) : clamp({ value: Number(raw), min, max }));\n };\n\n const step = delta => {\n setDraft(null);\n const base = Number.isFinite(toNumber(value))\n ? toNumber(value)\n : (min ?? 0);\n onChange(clamp({ value: base + delta, min, max }));\n };\n\n return (\n <div className=\"mb-stepper\">\n <Input\n {...{ label, min, required }}\n autoFocus\n type=\"number\"\n value={display}\n onBlur={() => setDraft(null)}\n onChange={event => commit(event.target.value)}\n onFocus={event => event.target.select()}\n />\n <div className=\"mb-stepper-controls\">\n <button\n aria-label={t(\"neetoRules.builder.aria.increase\")}\n className=\"mb-stepper-btn\"\n tabIndex={-1}\n type=\"button\"\n onClick={() => step(1)}\n >\n <Up />\n </button>\n <button\n aria-label={t(\"neetoRules.builder.aria.decrease\")}\n className=\"mb-stepper-btn\"\n tabIndex={-1}\n type=\"button\"\n onClick={() => step(-1)}\n >\n <Down />\n </button>\n </div>\n </div>\n );\n};\n\nexport default NumberStepper;\n","import { useFormikContext } from \"formik\";\nimport { findBy } from \"neetocist\";\nimport { Select, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Panel from \"../../NeetoRulesForm/Panel\";\nimport NumberStepper from \"../Common/NumberStepper\";\nimport { LEAD_TIME_UNITS } from \"../constants\";\nimport useRuleModel from \"../hooks/useRuleModel\";\nimport { minutesToParts, partsToMinutes } from \"../utils\";\n\nconst LeadTimePane = ({ schema }) => {\n const { t } = useTranslation();\n const { setFieldValue } = useFormikContext();\n const { rule, fieldKeys } = useRuleModel(schema);\n\n const { value: amount, unit } = minutesToParts(rule.leadTime);\n const path = `${fieldKeys.leadTime}.value`;\n const update = ({ value, unit: nextUnit }) =>\n setFieldValue(path, partsToMinutes({ value, unit: nextUnit }));\n\n return (\n <>\n <Panel.Header>\n <div className=\"flex flex-col gap-y-1\">\n <Typography style=\"h3\">\n {t(\"neetoRules.builder.leadTimeTitle\")}\n </Typography>\n <Typography className=\"neeto-ui-text-gray-500\" style=\"body2\">\n {t(\"neetoRules.builder.leadTimeSubtitle\")}\n </Typography>\n </div>\n </Panel.Header>\n <Panel.Body>\n <div className=\"flex items-end gap-x-3\">\n <div className=\"flex-1\">\n <NumberStepper\n label={t(\"neetoRules.builder.before\")}\n value={amount}\n onChange={value =>\n update({ value: value === \"\" ? 0 : value, unit })\n }\n />\n </div>\n <div className=\"w-32 shrink-0\">\n <Select\n isSearchable={false}\n options={LEAD_TIME_UNITS}\n value={findBy({ value: unit }, LEAD_TIME_UNITS) || null}\n onChange={option =>\n update({ value: amount, unit: option?.value })\n }\n />\n </div>\n </div>\n </Panel.Body>\n </>\n );\n};\n\nexport default LeadTimePane;\n","import { Typography } from \"neetoui\";\nimport { Input } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Panel from \"../../NeetoRulesForm/Panel\";\nimport useRuleModel from \"../hooks/useRuleModel\";\n\nconst NamePane = ({ schema }) => {\n const { t } = useTranslation();\n const { fieldKeys } = useRuleModel(schema);\n\n return (\n <>\n <Panel.Header>\n <div className=\"flex flex-col gap-y-1\">\n <Typography style=\"h3\">\n {t(\"neetoRules.builder.automationName\")}\n </Typography>\n <Typography className=\"neeto-ui-text-gray-500\" style=\"body2\">\n {t(\"neetoRules.builder.nameSubtitle\")}\n </Typography>\n </div>\n </Panel.Header>\n <Panel.Body>\n <Input\n autoFocus\n required\n label={t(\"neetoRules.common.name\")}\n name={`${fieldKeys.name}.value`}\n placeholder={t(\"neetoRules.builder.nameYourAutomation\")}\n size=\"large\"\n />\n </Panel.Body>\n </>\n );\n};\n\nexport default NamePane;\n","import { Fragment, useEffect, useMemo, useRef, useState } from \"react\";\n\nimport { useFormikContext } from \"formik\";\nimport { isNot } from \"neetocist\";\nimport { Search } from \"neetoicons\";\nimport { Button, Checkbox, Input, Radio, Tooltip, Typography } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport useUtilityStore from \"components/stores/useUtilityStore\";\n\nimport {\n descriptorFor,\n commitFor,\n continueTargetFor,\n groupByCategory,\n} from \"./utils\";\n\nimport Panel from \"../../NeetoRulesForm/Panel\";\nimport { PANE_SEARCH_THRESHOLD } from \"../constants\";\nimport usePaneCascade from \"../hooks/usePaneCascade\";\nimport useRuleModel from \"../hooks/useRuleModel\";\n\nconst OptionsPane = ({ schema, anchor, index, belowContent = null }) => {\n const { t } = useTranslation();\n const { setFieldValue } = useFormikContext();\n const { rule, fieldKeys, setTriggers, setPerformer, setConditionMode } =\n useRuleModel(schema);\n const { openType, closePane } = usePaneCascade(schema);\n const { setBuilderPreview } = useUtilityStore.pick();\n\n const [searchTerm, setSearchTerm] = useState(\"\");\n const searchRef = useRef(null);\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(() => () => setBuilderPreview(null), []);\n\n useEffect(() => {\n searchRef.current?.querySelector(\"input\")?.focus();\n }, []);\n\n const { title, subtitle, multi, options, selectedValues, cascade } = useMemo(\n () => descriptorFor({ anchor, schema, rule, index }),\n [anchor, schema, rule, index]\n );\n\n const helpers = {\n setTriggers,\n setPerformer,\n setConditionMode,\n setFieldValue,\n fieldKeys,\n };\n\n const showSearch =\n schema?.searchable !== false && options.length >= PANE_SEARCH_THRESHOLD;\n const term = searchTerm.trim().toLowerCase();\n const filtered = useMemo(\n () =>\n term\n ? options.filter(option => option.label.toLowerCase().includes(term))\n : options,\n [options, term]\n );\n const groups = useMemo(() => groupByCategory(filtered), [filtered]);\n // eslint-disable-next-line @bigbinary/neeto/prefer-function-reference\n const isSelected = value => selectedValues.includes(value);\n\n const handleSelect = value => {\n setBuilderPreview(null);\n const result = commitFor({ anchor, schema, rule, index, value, helpers });\n if (result === \"close\") closePane();\n };\n\n const multiCandidate = optionValue =>\n selectedValues.includes(optionValue)\n ? selectedValues.filter(isNot(optionValue))\n : [...selectedValues.filter(Boolean), optionValue];\n\n const previewHandlers = optionValue => {\n const value = multi ? multiCandidate(optionValue) : optionValue;\n\n return {\n onMouseEnter: () => setBuilderPreview({ anchor, index, value }),\n onMouseLeave: () => setBuilderPreview(null),\n };\n };\n\n const handleContinue = () => {\n const target = continueTargetFor({ anchor, schema, rule, index });\n if (target) openType({ type: target.type, data: target.data });\n else closePane();\n };\n\n const optionLabel = option => {\n const Icon = option.icon;\n if (!Icon && !option.disabledReason) return option.label;\n\n return (\n <span className=\"mb-pane-option\">\n {Icon && <Icon size={20} />}\n {option.label}\n {option.disabledReason &&\n (option.disabledTooltip ? (\n <Tooltip content={option.disabledTooltip} position=\"top\">\n <span className=\"mb-pane-warn\">{option.disabledReason}</span>\n </Tooltip>\n ) : (\n <span className=\"mb-pane-warn\">{option.disabledReason}</span>\n ))}\n </span>\n );\n };\n\n const renderGroupHeader = category =>\n category && <div className=\"mb-pane-group\">{category}</div>;\n\n const renderBody = () => {\n if (isEmpty(filtered)) {\n return (\n <div className=\"mb-pane-empty\">{t(\"neetoRules.builder.noMatches\")}</div>\n );\n }\n\n if (multi) {\n return (\n <div className=\"flex flex-col\">\n {groups.map(([category, items]) => (\n <Fragment key={category || \"_uncategorized\"}>\n {renderGroupHeader(category)}\n {items.map(option => (\n <Checkbox\n checked={isSelected(option.value)}\n disabled={option.disabled}\n key={option.value}\n label={optionLabel(option)}\n labelProps={previewHandlers(option.value)}\n onChange={() => handleSelect(option.value)}\n {...(option.icon || option.disabledReason\n ? { dataTestid: option.value }\n : {})}\n {...previewHandlers(option.value)}\n />\n ))}\n </Fragment>\n ))}\n </div>\n );\n }\n\n return (\n <Radio\n stacked\n value={selectedValues?.[0] ?? \"\"}\n onChange={event => handleSelect(event.target.value)}\n >\n {groups\n .flatMap(([category, items]) => [\n category ? (\n <div className=\"mb-pane-group\" key={`group-${category}`}>\n {category}\n </div>\n ) : null,\n ...items.map(option => (\n <Radio.Item\n disabled={option.disabled}\n key={option.value}\n label={optionLabel(option)}\n labelProps={previewHandlers(option.value)}\n value={option.value}\n {...(option.icon || option.disabledReason\n ? { dataTestid: option.value }\n : {})}\n {...previewHandlers(option.value)}\n />\n )),\n ])\n .filter(Boolean)}\n </Radio>\n );\n };\n\n return (\n <>\n <Panel.Header>\n <div className=\"flex w-full flex-col gap-y-2\">\n <Typography style=\"h3\">{title}</Typography>\n <Typography className=\"neeto-ui-text-gray-500\" style=\"body2\">\n {subtitle}\n </Typography>\n {showSearch && (\n <div className=\"mb-pane-search\" ref={searchRef}>\n <Input\n placeholder={t(\"neetoRules.builder.searchPlaceholder\")}\n prefix={<Search />}\n size=\"large\"\n value={searchTerm}\n onChange={event => setSearchTerm(event.target.value)}\n />\n </div>\n )}\n </div>\n </Panel.Header>\n <Panel.Body>\n {renderBody()}\n {belowContent}\n </Panel.Body>\n {cascade && (\n <Panel.Footer>\n <Button\n disabled={!selectedValues.some(Boolean)}\n label={t(\"neetoRules.buttons.continue\")}\n size=\"large\"\n onClick={handleContinue}\n />\n </Panel.Footer>\n )}\n </>\n );\n};\n\nexport default OptionsPane;\n","import { getIn, useFormikContext } from \"formik\";\nimport { findBy } from \"neetocist\";\nimport { MultiEmailInput, Select } from \"neetoui\";\nimport { pluck } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { normalizeOptions } from \"../utils\";\n\nconst RecipientField = ({ field, name, dropdownOptions, placeholder }) => {\n const { t } = useTranslation();\n const { values, setFieldValue, setFieldTouched, errors, touched } =\n useFormikContext();\n\n const fieldError = path => getIn(touched, path) && getIn(errors, path);\n\n if (field === \"emails\") {\n const path = `${name}.emails`;\n const current = getIn(values, path) || [];\n\n return (\n <MultiEmailInput\n required\n error={fieldError(path)}\n label={t(\"neetoRules.builder.config.emailAddresses\")}\n placeholder={t(\"neetoRules.builder.config.emailPlaceholder\")}\n size=\"large\"\n value={current.map(email => ({\n label: email,\n value: email,\n valid: true,\n }))}\n onBlur={() => setFieldTouched(path, true)}\n onChange={items => setFieldValue(path, pluck(\"value\", items || []))}\n />\n );\n }\n\n const path = `${name}.value`;\n const current = getIn(values, path);\n const options = normalizeOptions(dropdownOptions);\n\n return (\n <Select\n {...{ options, placeholder }}\n required\n error={fieldError(path)}\n label={t(\"neetoRules.builder.config.recipient\")}\n size=\"large\"\n value={findBy({ value: current }, options) || null}\n onBlur={() => setFieldTouched(path, true)}\n onChange={option => setFieldValue(path, option?.value)}\n />\n );\n};\n\nexport default RecipientField;\n","import { useEffect, useRef } from \"react\";\n\nimport { Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport RecipientField from \"./Fields/RecipientField\";\nimport OptionsPane from \"./OptionsPane\";\n\nimport PhoneNumberField from \"../../NeetoRulesForm/Element/Actions/Fields/SmsFields/PhoneNumberField\";\nimport Panel from \"../../NeetoRulesForm/Panel\";\nimport {\n BUILDER_ANCHORS,\n RECIPIENT_FOCUSABLE_SELECTOR,\n SMS_TO_NUMBERS,\n} from \"../constants\";\nimport usePaneValidation from \"../hooks/usePaneValidation\";\nimport useRuleModel from \"../hooks/useRuleModel\";\n\nconst RecipientPane = ({ schema, index }) => {\n const { t } = useTranslation();\n const { rule, fieldKeys } = useRuleModel(schema);\n const bodyRef = useRef(null);\n const belowRef = useRef(null);\n\n // eslint-disable-next-line security/detect-object-injection\n const action = rule.actions[index] || {};\n const channel =\n action.channel || schema.actions?.actionForName?.(action.name)?.channel;\n const recipient =\n action.recipient ?? schema.actions?.actionForName?.(action.name)?.recipient;\n const name = `${fieldKeys.actions}.value.${index}.metadata`;\n\n const editor = schema.actions?.renderRecipientEditor?.({\n channel,\n name,\n action,\n });\n\n const flatOption =\n schema.actions?.optionForName?.(action.name) ||\n schema.actions?.optionForChannel?.(channel);\n const isSmsToNumbers = flatOption?.type === SMS_TO_NUMBERS;\n\n const recipientFieldPath = isSmsToNumbers\n ? `${name}.phoneNumbers`\n : `${name}.emails`;\n usePaneValidation(recipientFieldPath);\n\n useEffect(() => {\n if (!editor) return;\n const first = bodyRef.current?.querySelector(RECIPIENT_FOCUSABLE_SELECTOR);\n // eslint-disable-next-line @bigbinary/neeto/prefer-function-reference\n if (first) setTimeout(() => first.focus(), 0);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [!editor]);\n\n const recipientConfig = (schema.actions?.options || [])\n .flatMap(option => option.recipients || [])\n .concat(schema.actions?.recipients || [])\n .find(item => (item.value ?? item.id) === recipient);\n\n const builtInRecipientField = recipientConfig?.field ? (\n <RecipientField\n {...{ name }}\n dropdownOptions={recipientConfig.dropdownOptions}\n field={recipientConfig.field}\n placeholder={recipientConfig.placeholder}\n />\n ) : null;\n\n const recipientField =\n schema.actions?.renderRecipientField?.({\n channel,\n recipient,\n name,\n action,\n }) ?? builtInRecipientField;\n\n const phoneField = isSmsToNumbers ? (\n <PhoneNumberField\n name={`${name}.phoneNumbers`}\n phoneNumbers={action.metadata?.phoneNumbers}\n />\n ) : null;\n\n const belowField = phoneField || recipientField;\n const belowContent = belowField ? (\n <div className=\"mt-5\" ref={belowRef}>\n {belowField}\n </div>\n ) : null;\n\n useEffect(() => {\n if (!belowField) return undefined;\n const timer = setTimeout(\n () =>\n belowRef.current?.querySelector(RECIPIENT_FOCUSABLE_SELECTOR)?.focus(),\n 0\n );\n\n return () => clearTimeout(timer);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [!!belowField]);\n\n if (!editor) {\n return (\n <OptionsPane\n {...{ belowContent, index, schema }}\n anchor={BUILDER_ANCHORS.ACTION_RECIPIENT}\n />\n );\n }\n\n // eslint-disable-next-line security/detect-object-injection\n const meta = schema.actions?.channelMeta?.[channel] || {};\n\n return (\n <>\n <Panel.Header>\n <div className=\"flex w-full flex-col gap-y-2\">\n <Typography style=\"h3\">\n {meta.recipientTitle ||\n t(\"neetoRules.builder.panes.recipientTitle\")}\n </Typography>\n <Typography className=\"neeto-ui-text-gray-500\" style=\"body2\">\n {meta.recipientSubtitle ||\n t(\"neetoRules.builder.panes.recipientSubtitle\")}\n </Typography>\n </div>\n </Panel.Header>\n <Panel.Body>\n <div ref={bodyRef}>{editor}</div>\n </Panel.Body>\n </>\n );\n};\n\nexport default RecipientPane;\n","import { getIn, useFormikContext } from \"formik\";\nimport { isNot, isNotEmpty, toLabelAndValue } from \"neetocist\";\nimport { Checkbox, Input, Radio, Select, Typography } from \"neetoui\";\nimport { Input as FormikInput } from \"neetoui/formik\";\nimport { isEmpty, pluck } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { normalizeOptions } from \"../utils\";\n\nconst ConditionValueFields = ({ name, field, searchTerm = \"\" }) => {\n const { t } = useTranslation();\n const { values, setFieldValue, setFieldTouched, errors, touched } =\n useFormikContext();\n\n const type = field?.type;\n const valueType = field?.valueType || type;\n const valuePath = `${name}.metadata.value`;\n const valuesPath = `${name}.metadata.values`;\n const enumOptions = normalizeOptions(\n field?.values || field?.dropdownOptions || field?.options\n );\n\n const fieldError = path => getIn(touched, path) && getIn(errors, path);\n\n const term = searchTerm.trim().toLowerCase();\n const filterOptions = list =>\n term\n ? list.filter(option => String(option.label).toLowerCase().includes(term))\n : list;\n\n const noMatches = (\n <div className=\"mb-pane-empty\">{t(\"neetoRules.builder.noMatches\")}</div>\n );\n\n if (type === \"multi-select\" && isNotEmpty(enumOptions)) {\n const current = getIn(values, valuesPath) || [];\n const filtered = filterOptions(enumOptions);\n if (term && isEmpty(filtered)) return noMatches;\n\n const toggle = value => {\n setFieldTouched(valuesPath, true);\n setFieldValue(\n valuesPath,\n current.includes(value)\n ? current.filter(isNot(value))\n : [...current, value]\n );\n };\n\n return (\n <div className=\"flex flex-col gap-y-1\">\n {filtered.map(option => (\n <Checkbox\n checked={current.includes(option.value)}\n key={option.value}\n label={option.label}\n onChange={() => toggle(option.value)}\n />\n ))}\n {fieldError(valuesPath) && (\n <p className=\"neeto-ui-input__error\">{fieldError(valuesPath)}</p>\n )}\n </div>\n );\n }\n\n if (type === \"multi-select\") {\n return (\n <Typography className=\"neeto-ui-text-gray-500\" style=\"body2\">\n {field?.label\n ? t(\"neetoRules.builder.config.noOptionsFor\", { field: field.label })\n : t(\"neetoRules.builder.config.noOptions\")}\n </Typography>\n );\n }\n\n if (type === \"multi-select-create\") {\n const current = getIn(values, valuesPath) || [];\n\n return (\n <Select\n autoFocus\n isCreateable\n isMulti\n required\n error={fieldError(valuesPath)}\n label={t(\"neetoRules.builder.config.keywords\")}\n placeholder={t(\"neetoRules.builder.config.keywordsPlaceholder\")}\n size=\"large\"\n value={current.map(toLabelAndValue)}\n onBlur={() => setFieldTouched(valuesPath, true)}\n onChange={selected =>\n setFieldValue(valuesPath, pluck(\"value\", selected || []))\n }\n />\n );\n }\n\n if (isNotEmpty(enumOptions)) {\n const current = getIn(values, valuePath);\n const filtered = filterOptions(enumOptions);\n if (term && isEmpty(filtered)) return noMatches;\n\n return (\n <Radio\n stacked\n error={fieldError(valuePath)}\n value={current ?? \"\"}\n onBlur={() => setFieldTouched(valuePath, true)}\n onChange={event => setFieldValue(valuePath, event.target.value)}\n >\n {filtered.map(option => (\n <Radio.Item\n key={option.value}\n label={String(option.label).toLowerCase()}\n value={option.value}\n />\n ))}\n </Radio>\n );\n }\n\n if (valueType === \"number\") {\n return (\n <Input\n autoFocus\n required\n error={fieldError(valuePath)}\n label={t(\"neetoRules.common.value\")}\n size=\"large\"\n type=\"number\"\n value={getIn(values, valuePath) ?? \"\"}\n onBlur={() => setFieldTouched(valuePath, true)}\n onChange={event =>\n setFieldValue(\n valuePath,\n event.target.value === \"\" ? \"\" : Number(event.target.value)\n )\n }\n />\n );\n }\n\n return (\n <FormikInput\n autoFocus\n required\n label={t(\"neetoRules.common.value\")}\n name={valuePath}\n size=\"large\"\n type={valueType === \"email\" ? \"email\" : \"text\"}\n placeholder={\n field?.placeholder ||\n (valueType === \"email\"\n ? t(\"neetoRules.builder.config.exampleEmail\")\n : undefined)\n }\n />\n );\n};\n\nexport default ConditionValueFields;\n","import { useRef, useState } from \"react\";\n\nimport { useFormikContext } from \"formik\";\nimport { Search } from \"neetoicons\";\nimport { Input, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport ConditionValueFields from \"./Fields/ConditionValueFields\";\nimport { optionValue, normalizeOptions } from \"./utils\";\n\nimport Panel from \"../../NeetoRulesForm/Panel\";\nimport { PANE_SEARCH_THRESHOLD } from \"../constants\";\nimport usePaneValidation from \"../hooks/usePaneValidation\";\nimport useRuleModel from \"../hooks/useRuleModel\";\nimport { isMultiValueVerb } from \"../utils\";\n\nconst ValuePane = ({ schema, index }) => {\n const { t } = useTranslation();\n const { setFieldValue } = useFormikContext();\n const { rule, fieldKeys } = useRuleModel(schema);\n\n const [searchTerm, setSearchTerm] = useState(\"\");\n const searchRef = useRef(null);\n\n // eslint-disable-next-line security/detect-object-injection\n const condition = rule.conditions[index] || {};\n const field = (schema.conditions?.fields || []).find(\n candidate => optionValue(candidate) === condition.field\n );\n const base = `${fieldKeys.conditions}.value.${index}`;\n\n usePaneValidation(`${base}.metadata`);\n\n const enumOptions = normalizeOptions(\n field?.values || field?.dropdownOptions || field?.options\n );\n\n const showSearch = enumOptions.length >= PANE_SEARCH_THRESHOLD;\n\n const renderBody = () => {\n if (schema.conditions?.renderValue) {\n return schema.conditions.renderValue({\n name: base,\n condition,\n field,\n setFieldValue,\n searchTerm,\n });\n }\n\n return <ConditionValueFields {...{ field, searchTerm }} name={base} />;\n };\n\n return (\n <>\n <Panel.Header>\n <div className=\"flex w-full flex-col gap-y-2\">\n <Typography style=\"h3\">\n {t(\"neetoRules.builder.pickValue\", {\n field: field?.label || t(\"neetoRules.builder.valueWord\"),\n })}\n </Typography>\n <Typography className=\"neeto-ui-text-gray-500\" style=\"body2\">\n {field?.valueSubtitle ||\n (isMultiValueVerb(condition?.verb)\n ? t(\"neetoRules.builder.valuesSubtitle\", {\n field: field?.label || t(\"neetoRules.builder.valueWord\"),\n })\n : t(\"neetoRules.builder.valueSubtitle\"))}\n </Typography>\n {showSearch && (\n <div className=\"mb-pane-search\" ref={searchRef}>\n <Input\n placeholder={t(\"neetoRules.builder.searchPlaceholder\")}\n prefix={<Search />}\n size=\"large\"\n value={searchTerm}\n onChange={event => setSearchTerm(event.target.value)}\n />\n </div>\n )}\n </div>\n </Panel.Header>\n <Panel.Body>{renderBody()}</Panel.Body>\n </>\n );\n};\n\nexport default ValuePane;\n","import ConfigPane from \"./ConfigPane\";\nimport DelayPane from \"./DelayPane\";\nimport LeadTimePane from \"./LeadTimePane\";\nimport NamePane from \"./NamePane\";\nimport OptionsPane from \"./OptionsPane\";\nimport RecipientPane from \"./RecipientPane\";\nimport ValuePane from \"./ValuePane\";\n\nimport { BUILDER_PANEL_TYPES } from \"../constants\";\n\nexport const BUILDER_PANEL_TYPE_CONFIG_MAP = {\n [BUILDER_PANEL_TYPES.TRIGGER]: { component: OptionsPane },\n [BUILDER_PANEL_TYPES.ACTOR]: { component: OptionsPane },\n [BUILDER_PANEL_TYPES.CONDITION_FIELD]: { component: OptionsPane },\n [BUILDER_PANEL_TYPES.OPERATOR]: { component: OptionsPane },\n [BUILDER_PANEL_TYPES.CONNECTOR]: { component: OptionsPane },\n [BUILDER_PANEL_TYPES.ACTION_CHANNEL]: { component: OptionsPane },\n [BUILDER_PANEL_TYPES.RECIPIENT]: { component: RecipientPane },\n [BUILDER_PANEL_TYPES.CONDITION_VALUE]: { component: ValuePane },\n [BUILDER_PANEL_TYPES.ACTION_CONFIG]: { component: ConfigPane },\n [BUILDER_PANEL_TYPES.DELAY]: { component: DelayPane },\n [BUILDER_PANEL_TYPES.LEAD_TIME]: { component: LeadTimePane },\n [BUILDER_PANEL_TYPES.NAME]: { component: NamePane },\n [BUILDER_PANEL_TYPES.SCOPE]: { component: OptionsPane },\n};\n","import { useEffect, useMemo, useRef } from \"react\";\n\nimport classnames from \"classnames\";\nimport { Form as FormikForm, Formik } from \"formik\";\nimport { isNotEmpty, noop } from \"neetocist\";\nimport Container from \"neetomolecules/Container\";\nimport Header from \"neetomolecules/Header\";\nimport { Spinner } from \"neetoui\";\nimport { ActionBlock } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { ScrollToErrorField } from \"components/Common/ScrollToErrorField\";\nimport { DEFAULT_INITIAL_VALUE } from \"components/NeetoRulesForm/constants\";\nimport usePollRuleName from \"components/NeetoRulesForm/hooks/usePollRuleName\";\nimport useCustomDataStore from \"components/NeetoRulesForm/stores/useCustomDataStore\";\nimport TouchErrors from \"components/NeetoRulesForm/TouchErrors\";\nimport { buildPayload, formatData } from \"components/NeetoRulesForm/utils\";\nimport { getValidationSchema } from \"components/NeetoRulesForm/utils/validate\";\nimport useUtilityStore from \"components/stores/useUtilityStore\";\n\nimport Canvas from \"./Canvas\";\nimport { BUILDER_PANEL_TYPE_CONFIG_MAP } from \"./Panes/constants\";\nimport {\n isRuleComplete,\n invalidScopeIndexes,\n normalizeSchema,\n valuesToRuleModel,\n} from \"./utils\";\n\nimport Panel from \"../NeetoRulesForm/Panel\";\n\nconst Form = ({\n data = {},\n schema: rawSchema = {},\n automationRulesEndpoint: url,\n title,\n breadcrumbs = {},\n isLoading = false,\n className,\n handleSubmit = noop,\n handleCancel = noop,\n payloadKey = \"rule\",\n isNameGenerationDisabled = false,\n}) => {\n const { t } = useTranslation();\n\n const formikRef = useRef(null);\n const formRef = useRef(null);\n\n const { customData } = useCustomDataStore.pick();\n const { resetPanelState, errorFields } = useUtilityStore.pick();\n\n const initialValues = useMemo(() => formatData(data), [data]);\n const schema = useMemo(() => normalizeSchema(rawSchema), [rawSchema]);\n\n const isNameRequired =\n isNameGenerationDisabled || (schema.meta?.showName ?? true);\n\n const { waitForGeneratedRuleName, saveRuleName, isCancelledNameGeneration } =\n usePollRuleName({ url, formikRef, payloadKey, isNameGenerationDisabled });\n\n // eslint-disable-next-line @bigbinary/neeto/prefer-function-reference, react-hooks/exhaustive-deps\n useEffect(() => () => resetPanelState(), []);\n\n const submitForm = (values, formikBag) => {\n if (isNotEmpty(errorFields)) {\n formikBag.setSubmitting(false);\n\n return;\n }\n\n const rule = valuesToRuleModel({ values, schema });\n if (!isRuleComplete(rule) || invalidScopeIndexes({ rule, schema }).length) {\n formikBag.setSubmitting(false);\n\n return;\n }\n\n if (isCancelledNameGeneration) {\n saveRuleName(values);\n\n return;\n }\n\n const payload = buildPayload(data, values);\n\n resetPanelState();\n handleSubmit(payload, formikBag, waitForGeneratedRuleName);\n };\n\n return (\n <Formik\n enableReinitialize\n initialValues={{ ...DEFAULT_INITIAL_VALUE, ...initialValues }}\n innerRef={formikRef}\n validationSchema={getValidationSchema({\n data,\n customData,\n isNameGenerationDisabled: isNameRequired,\n })}\n onSubmit={submitForm}\n >\n {() => (\n <div className=\"flex neeto-rules-main-content h-full w-full\">\n <TouchErrors />\n <Container className=\"neeto-rules-main-content__container max-h-full\">\n <Header\n {...{ breadcrumbs }}\n title={title || t(\"neetoRules.common.title\")}\n />\n {isLoading ? (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n ) : (\n <FormikForm\n ref={formRef}\n className={classnames([\n \"w-full neeto-rules-main-content__form max-w-5xl\",\n className,\n ])}\n >\n <Canvas {...{ schema }} />\n <ScrollToErrorField {...{ formRef }} />\n <div className=\"neeto-ui-bg-white sticky bottom-0 py-6\">\n <ActionBlock\n cancelButtonProps={{ onClick: handleCancel }}\n submitButtonProps={{ \"data-testid\": \"form-submit-button\" }}\n />\n </div>\n </FormikForm>\n )}\n </Container>\n <Panel configMap={BUILDER_PANEL_TYPE_CONFIG_MAP} />\n </div>\n )}\n </Formik>\n );\n};\n\nexport default Form;\n","// eslint-disable-next-line import/extensions\nimport \"src/stylesheets/main.css\";\n\nimport Form from \"./Form\";\n\nconst NeetoRulesBuilder = ({ ...rest }) => <Form {...rest} />;\n\nexport default NeetoRulesBuilder;\n"],"names":["PARAM_KIND","ENUM_SINGLE","ENUM_MULTI","UNIT_MINUTES","minutes","hours","days","TIME_UNITS","label","value","LEAD_TIME_UNITS","CONDITION_VERBS","IS","IS_NOT","ANY_OF","NONE_OF","ALL_OF","LESS_THAN","GREATER_THAN","VERB_TOKENS","MULTI_VALUE","CONTAINS","DEFAULT_SCHEMA","triggers","fieldKey","options","actor","enabled","conditions","fields","connectorMode","actions","channelMeta","recipients","delay","units","integrations","slots","STATUS_KEYS","ENABLED","DISABLED","JOIN_TYPE","and","or","CONDITION_MODE","AND","OR","BUILDER_PANEL_TYPES","TRIGGER","ACTOR","CONDITION_FIELD","OPERATOR","CONNECTOR","CONDITION_VALUE","ACTION_CHANNEL","ACTION_CONFIG","RECIPIENT","DELAY","LEAD_TIME","NAME","SCOPE","BUILDER_ANCHORS","TRIGGER_ADD","TRIGGER_REPLACE","TRIGGER_ACTOR","TRIGGER_LEAD_TIME","COND_FIELD","COND_OP_TOGGLE","COND_CONNECTOR","COND_VALUES","ACTION_ADD","ACTION_RECIPIENT","RULE_DELAY","META_NAME","TOKEN_TO_PANEL_TYPE","_TOKEN_TO_PANEL_TYPE","_defineProperty","LARGE_PANEL_TYPES","CONDITION_ANCHORS","ACTION_ANCHORS","PANE_SEARCH_THRESHOLD","CONFIG_FOCUSABLE_SELECTOR","SMS_TYPES","RECIPIENT_FOCUSABLE_SELECTOR","SMS_TO_NUMBERS","SWAP_CHANNEL_ORDER","DEFAULT_DELAY_UNITS","useClearingHover","_useState","useState","_useState2","_slicedToArray","clearing","setClearing","clearingHoverProps","onMouseEnter","onMouseLeave","resetClearing","TOKEN_STATE","FILLED","MUTED","PLACEHOLDER","PLACEHOLDER_NEXT","STATE_CLASS","Token","_ref","children","_ref$state","state","_ref$active","active","_ref$invalid","invalid","onClick","className","dataTestid","rest","_objectWithoutProperties","_excluded","isInteractive","_jsx","_objectSpread","role","undefined","tabIndex","classnames","filled","onKeyDown","event","key","preventDefault","humanize","String","replace","trim","isContainsVerb","verb","includes","isNumericVerb","isExcludeVerb","isMultiValueVerb","sentencify","charAt","toLowerCase","slice","matchesTrigger","name","option","eventValue","id","triggerOption","_schema$triggers","schema","find","triggerLabel","_ref2","trigger","plain","performerLabel","_ref3","_schema$actor","performer","candidate","conditionField","_ref4","_schema$conditions","field","conditionFieldLabel","_ref5","condition","operatorLabel","_ref6","_schema$conditions2","map","operatorLabels","conditionNeedsValue","_ref7","noValueForVerbs","conditionValueLabel","_ref8","_ref9","_meta$value","meta","metadata","raw","values","isNil","isEmpty","dropdownOptions","isEnum","isNotEmpty","labelFor","_ref0","_option$label","_candidate$value","connector","t","Array","isArray","join","concat","actionOption","_ref1","_schema$actions","channelOption","_ref10","_schema$actions2","channel","_option$value","actionParts","_ref11","_actions$actionForNam","_action$recipient","_actions$channelMeta","_find","_find2","_channelMeta$needsRec","_actions$configValueL","action","resolved","recipient","actionForName","call","recipientValue","matchesRecipient","_recipient$value","recipientLabel","paramKind","paramType","valueNoun","valueNounPlural","mediumLabel","icon","needsRecipient","separator","configValue","configValueLabel","configValuePlaceholder","valuePlaceholder","configTitle","configSubtitle","recipientTitle","recipientSubtitle","hasTrigger","rule","hasAction","some","isRuleComplete","invalidScopeIndexes","_ref12","_scope$requiresPhone","scope","requiresPhone","reduce","indexes","item","index","_item$value","_item$hasPhoneField","_candidate$value2","hasPhoneField","push","minutesToParts","total","Number","unit","partsToMinutes","_ref13","leadTimeLabel","_minutesToParts","unitLabel","normalizeTriggers","normalizeSchema","rawSchema","arguments","length","mergeDeepRight","joinTypeFor","mode","modeFromJoinType","joinType","valueAt","_ref14","_values$key","asArray","maybeArray","fieldKeysFromSchema","_schema$triggers2","_schema$actor2","_schema$conditions3","_schema$actions3","_schema$delay","_schema$triggers3","_schema$scope","leadTime","status","valuesToRuleModel","_valueAt","_conditions$","_ref15","_ref15$values","_ref15$schema","keys","rawDelay","conditionMode","setTriggers","_ref16","path","setPerformer","_ref17","setActions","_ref18","setConditions","_ref19","setConditionMode","_ref20","assoc","setDelay","_ref21","setActive","_ref22","setScope","_ref23","removeArrayItem","_ref24","list","removed","nextList","filter","_","i","result","_values$fieldKey","deleted","_toConsumableArray","_destroy","ConditionRow","handleToken","onToken","handleAddCondition","onAddCondition","handleRemove","onRemove","_ref$isActive","isActive","_ref$isInvalid","isInvalid","_useTranslation","useTranslation","isFirst","hasField","hasVerb","_field$value","operatorPlaceholder","needsValue","_useClearingHover","_jsxs","type","_Fragment","Button","Plus","size","style","tooltipProps","content","position","Delete","Connector","fill","height","viewBox","width","d","stroke","strokeLinecap","strokeLinejoin","strokeWidth","DelayRow","part","MetaBlock","withT","_ref$showName","showName","handleEditName","onEditName","handleToggleActive","onToggleActive","checked","readOnly","onChange","itemLabel","ScopeBlock","handleRemoveScope","onRemoveScope","placeholder","_createElement","ScopeRow","isLast","_schema$scope2","_useTranslation2","lead","ActionRow","handleAddAction","onAddAction","_actionParts","MediumIcon","hasParamTail","multiPlaceholder","noun","singlePlaceholder","paramPlaceholder","verbLabel","isVerbActive","configLabel","isConfigured","ThenBlock","handleRemoveAction","onRemoveAction","_ref$adding","adding","named","isTriggerSet","title","_action$id","WhenBlock","handleClearTrigger","onClearTrigger","isActorEnabled","hasLeadTimeFor","appliesTo","_trigger$id","Fragment","usePaneCascade","_useUtilityStore","useUtilityStore","useShallow","store","setPanelState","resetPanelState","openType","useCallback","_ref$data","data","variant","openPane","token","anchor","closePane","useRuleModel","_useFormikContext","useFormikContext","setFieldValue","apply","applyAll","edits","forEach","useMemo","fieldKeys","removeCondition","removeAction","triggerValue","_option$eventValue","optionValue","normalizeOptions","toLabelAndValue","groupByCategory","groups","indexByCategory","category","conditionAt","actionAt","findField","findActionOption","channelOf","_schema$actions2$acti","recipientOf","_schema$actions3$acti","channelMetaOf","_schema$actions4","actionHasConfig","_schema$actions5","_schema$actions6","component","renderConfig","hasConfig","recipientsFor","_schema$actions7","_schema$actions8","nextTriggers","multi","names","pluck","removeBy","nextConditionAt","_field$allowMatching","previous","first","allowMatching","defaultVerb","kind","nextActionAt","_schema$actions9","resolveName","prev","channelChanged","prevChannel","_schema$actions0","channelRecipients","recipientsByChannel","_channelRecipients","nextActionRecipientAt","_schema$actions1","descriptorFor","isReplace","triggerTitle","triggerSubtitle","subtitle","cascade","paneLabel","selectedValues","labels","verbs","fieldLabel","isContains","every","isNumeric","isExclude","hasOptions","containsVariant","numericOrExcludeVariant","nonContainsVariant","_schema$actions11","_schema$actions12","_channelOf","isSwap","channelMetaFor","_schema$actions10","rank","idx","indexOf","sourceOptions","sort","optionA","optionB","channelLabel","disabled","_schema$actions13","_sc$requiresPhone","sc","selected","paneChangeTitle","paneTitle","paneSubtitle","blockedNoPhone","isSelected","disabledReason","disabledTooltip","commitFor","helpers","_schema$triggers4","_schema$triggers5","_leadTime$default","current","has","_item$value2","next","_item$value3","continueTargetFor","_schema$actor3","replaceAt","applyPreview","Canvas","_schema$meta$showName","_schema$meta","_usePaneCascade","errors","submitCount","_useRuleModel","builderPreview","panelState","displayRule","activeToken","addingAction","flatErrors","flatten","flashing","setFlashing","lastSubmitCount","useRef","useEffect","timer","setTimeout","clearTimeout","hasErrorAt","prefix","_ref3$exclude","exclude","Object","startsWith","sub","_schema$actions$actio","_schema$actions2$rend","_schema$actions3$rend","_schema$actions4$opti","_schema$actions5$opti","conditionMeta","actionMeta","actionItem","hasRecipientEditor","renderRecipientEditor","hasRecipientField","renderRecipientField","flatOption","optionForName","optionForChannel","recipientFields","actorKey","closePaneIfTargeting","anchors","handleRemoveCondition","remaining","handleRemoveDelay","isScopeEnabled","isScopeComplete","isComplete","conditionFields","canAddCondition","leadTimeAppliesTo","hasLeadTimeTrigger","isDelayEnabled","slotCtx","renderSlot","_schema$slots$name","_schema$slots","_schema$slots$name2","_condition$id","iconPosition","target","restoreTokens","text","ActionConfigFields","_ref$searchTerm","searchTerm","setFieldTouched","touched","valuePath","fieldError","getIn","term","filterOptions","hint","dynamicValuesHint","hintBlock","Typography","noOptionsMessage","noMatches","_getIn","_action$metadata","subjectPath","bodyPath","Input","required","error","onBlur","EditorAction","body","variables","filtered","toggle","isNot","Checkbox","Radio","stacked","picked","Item","_action$metadata2","_getIn2","_getIn3","Textarea","rows","_regenerator","e","r","Symbol","n","iterator","o","toStringTag","c","prototype","Generator","u","create","_regeneratorDefine2","f","p","y","G","v","a","bind","l","TypeError","done","GeneratorFunction","GeneratorFunctionPrototype","getPrototypeOf","setPrototypeOf","__proto__","displayName","w","m","defineProperty","_regeneratorDefine","_invoke","enumerable","configurable","writable","keysUnder","obj","_ref$exclude","usePaneValidation","validateForm","errorsRef","validate","_asyncToGenerator","_callee","nextErrors","offending","_args","_context","ConfigPane","_schema$actions$optio","_schema$actions2$opti","_hostRenderConfig","bodyRef","setSearchTerm","base","isSms","isDisabled","hostRenderConfig","showSearch","shouldAdvanceToRecipient","_usePaneValidation","channelRepName","unnamedOnOpen","frame","attempts","focusFirst","_bodyRef$current","querySelector","focus","requestAnimationFrame","cancelAnimationFrame","handleContinue","Panel","Header","Search","Body","ref","ErrorCallout","message","selectedField","SmsFields","shouldAutoFocus","showPhoneNumberInput","Footer","DelayPane","_useField","useField","_useField2","unitOptions","_unitOptions$0$value","_unitOptions$","weight","max","min","Select","defaultValue","findBy","menuPosition","toNumber","clamp","Math","asText","NumberStepper","_ref$min","draft","setDraft","display","commit","step","delta","isFinite","autoFocus","onFocus","select","Up","Down","LeadTimePane","amount","update","nextUnit","isSearchable","NamePane","OptionsPane","_ref$belowContent","belowContent","setBuilderPreview","searchRef","_searchRef$current","_useMemo","searchable","handleSelect","multiCandidate","Boolean","previewHandlers","optionLabel","Icon","Tooltip","renderGroupHeader","renderBody","_selectedValues$","items","labelProps","flatMap","RecipientField","MultiEmailInput","email","valid","RecipientPane","_schema$actions$rende","_schema$actions8$rend","belowRef","editor","isSmsToNumbers","recipientFieldPath","recipientConfig","builtInRecipientField","recipientField","phoneField","PhoneNumberField","phoneNumbers","belowField","_belowRef$current","ConditionValueFields","valueType","valuesPath","enumOptions","isCreateable","isMulti","FormikInput","ValuePane","renderValue","valueSubtitle","BUILDER_PANEL_TYPE_CONFIG_MAP","_BUILDER_PANEL_TYPE_C","Form","_ref$schema","url","automationRulesEndpoint","_ref$breadcrumbs","breadcrumbs","_ref$isLoading","isLoading","_ref$handleSubmit","handleSubmit","noop","_ref$handleCancel","handleCancel","_ref$payloadKey","payloadKey","_ref$isNameGeneration","isNameGenerationDisabled","formikRef","formRef","_useCustomDataStore","useCustomDataStore","customData","errorFields","initialValues","formatData","isNameRequired","_usePollRuleName","usePollRuleName","waitForGeneratedRuleName","saveRuleName","isCancelledNameGeneration","submitForm","formikBag","setSubmitting","payload","buildPayload","Formik","enableReinitialize","DEFAULT_INITIAL_VALUE","innerRef","validationSchema","getValidationSchema","onSubmit","TouchErrors","Container","Spinner","FormikForm","ScrollToErrorField","ActionBlock","cancelButtonProps","submitButtonProps","configMap","NeetoRulesBuilder","assign","_objectDestructuringEmpty"],"mappings":"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"}
1
+ {"version":3,"file":"NeetoRulesBuilder.js","sources":["../app/javascript/src/components/NeetoRulesBuilder/constants.js","../app/javascript/src/components/NeetoRulesBuilder/hooks/useClearingHover.js","../app/javascript/src/components/NeetoRulesBuilder/Token/constants.js","../app/javascript/src/components/NeetoRulesBuilder/Token/index.jsx","../app/javascript/src/components/NeetoRulesBuilder/utils.js","../app/javascript/src/components/NeetoRulesBuilder/Canvas/ConditionRow.jsx","../app/javascript/src/components/NeetoRulesBuilder/Canvas/Connector.jsx","../app/javascript/src/components/NeetoRulesBuilder/Canvas/DelayRow.jsx","../app/javascript/src/components/NeetoRulesBuilder/Canvas/MetaBlock.jsx","../app/javascript/src/components/NeetoRulesBuilder/Canvas/ScopeBlock.jsx","../app/javascript/src/components/NeetoRulesBuilder/Canvas/ActionRow.jsx","../app/javascript/src/components/NeetoRulesBuilder/Canvas/ThenBlock.jsx","../app/javascript/src/components/NeetoRulesBuilder/Canvas/WhenBlock.jsx","../app/javascript/src/components/NeetoRulesBuilder/hooks/usePaneCascade.js","../app/javascript/src/components/NeetoRulesBuilder/hooks/useRuleModel.js","../app/javascript/src/components/NeetoRulesBuilder/Panes/utils.js","../app/javascript/src/components/NeetoRulesBuilder/Canvas/index.jsx","../app/javascript/src/components/NeetoRulesBuilder/Panes/Fields/constants.js","../app/javascript/src/components/NeetoRulesBuilder/Panes/Fields/ActionConfigFields.jsx","../app/javascript/src/components/NeetoRulesBuilder/hooks/usePaneValidation.js","../app/javascript/src/components/NeetoRulesBuilder/Panes/ConfigPane.jsx","../app/javascript/src/components/NeetoRulesBuilder/Panes/DelayPane.jsx","../app/javascript/src/components/NeetoRulesBuilder/Common/utils.js","../app/javascript/src/components/NeetoRulesBuilder/Common/NumberStepper.jsx","../app/javascript/src/components/NeetoRulesBuilder/Panes/LeadTimePane.jsx","../app/javascript/src/components/NeetoRulesBuilder/Panes/NamePane.jsx","../app/javascript/src/components/NeetoRulesBuilder/Panes/OptionsPane.jsx","../app/javascript/src/components/NeetoRulesBuilder/Panes/Fields/RecipientField.jsx","../app/javascript/src/components/NeetoRulesBuilder/Panes/RecipientPane.jsx","../app/javascript/src/components/NeetoRulesBuilder/Panes/Fields/ConditionValueFields.jsx","../app/javascript/src/components/NeetoRulesBuilder/Panes/ValuePane.jsx","../app/javascript/src/components/NeetoRulesBuilder/Panes/constants.js","../app/javascript/src/components/NeetoRulesBuilder/Form.jsx","../app/javascript/src/components/NeetoRulesBuilder/index.jsx"],"sourcesContent":["export const PARAM_KIND = {\n ENUM_SINGLE: \"enum-single\",\n ENUM_MULTI: \"enum-multi\",\n};\n\nexport const UNIT_MINUTES = { minutes: 1, hours: 60, days: 1440 };\n\n/* eslint-disable @bigbinary/neeto/hard-coded-strings-should-be-localized */\n/* eslint-disable @bigbinary/neeto/neetocommons-tips */\nexport const TIME_UNITS = [\n { label: \"minutes\", value: \"minutes\" },\n { label: \"hours\", value: \"hours\" },\n { label: \"days\", value: \"days\" },\n];\n/* eslint-enable @bigbinary/neeto/hard-coded-strings-should-be-localized */\n/* eslint-enable @bigbinary/neeto/neetocommons-tips */\n\nexport const LEAD_TIME_UNITS = TIME_UNITS;\n\nexport const CONDITION_VERBS = {\n IS: \"is\",\n IS_NOT: \"is_not\",\n ANY_OF: \"any_of\",\n NONE_OF: \"none_of\",\n ALL_OF: \"all_of\",\n LESS_THAN: \"less_than\",\n GREATER_THAN: \"greater_than\",\n};\n\nexport const VERB_TOKENS = {\n MULTI_VALUE: \"_of\",\n CONTAINS: \"contains\",\n};\n\nexport const DEFAULT_SCHEMA = {\n triggers: { fieldKey: \"events\", options: [] },\n actor: { enabled: false, options: [], fieldKey: \"performer\" },\n conditions: { fields: [], fieldKey: \"conditions\", connectorMode: \"shared\" },\n actions: {\n options: [],\n channelMeta: {},\n recipients: [],\n fieldKey: \"actions\",\n },\n delay: { enabled: false, fieldKey: \"execution_delay\", units: [] },\n integrations: {},\n slots: {},\n};\n\nexport const STATUS_KEYS = { ENABLED: \"enabled\", DISABLED: \"disabled\" };\n\nexport const JOIN_TYPE = { and: \"and_operator\", or: \"or_operator\" };\n\nexport const CONDITION_MODE = { AND: \"and\", OR: \"or\" };\n\nexport const BUILDER_PANEL_TYPES = {\n TRIGGER: \"builder-trigger\",\n ACTOR: \"builder-actor\",\n CONDITION_FIELD: \"builder-condition-field\",\n OPERATOR: \"builder-operator\",\n CONNECTOR: \"builder-connector\",\n CONDITION_VALUE: \"builder-condition-value\",\n ACTION_CHANNEL: \"builder-action-channel\",\n ACTION_CONFIG: \"builder-action-config\",\n RECIPIENT: \"builder-recipient\",\n DELAY: \"builder-delay\",\n LEAD_TIME: \"builder-lead-time\",\n NAME: \"builder-name\",\n SCOPE: \"builder-scope\",\n SCOPE_PHONE_FIELD: \"builder-scope-phone-field\",\n};\n\nexport const BUILDER_ANCHORS = {\n TRIGGER_ADD: \"trigger-add\",\n TRIGGER_REPLACE: \"trigger-replace\",\n TRIGGER_ACTOR: \"trigger-actor\",\n TRIGGER_LEAD_TIME: \"trigger-lead-time\",\n COND_FIELD: \"cond-field\",\n COND_OP_TOGGLE: \"cond-op-toggle\",\n COND_CONNECTOR: \"cond-connector\",\n COND_VALUES: \"cond-values\",\n ACTION_ADD: \"action-add\",\n ACTION_CHANNEL: \"action-channel\",\n ACTION_CONFIG: \"action-config\",\n ACTION_RECIPIENT: \"action-recipient\",\n RULE_DELAY: \"rule-delay\",\n META_NAME: \"meta-name\",\n SCOPE: \"scope\",\n SCOPE_PHONE_FIELD: \"scope-phone-field\",\n};\n\nexport const TOKEN_TO_PANEL_TYPE = {\n [BUILDER_ANCHORS.TRIGGER_ADD]: BUILDER_PANEL_TYPES.TRIGGER,\n [BUILDER_ANCHORS.TRIGGER_REPLACE]: BUILDER_PANEL_TYPES.TRIGGER,\n [BUILDER_ANCHORS.TRIGGER_ACTOR]: BUILDER_PANEL_TYPES.ACTOR,\n [BUILDER_ANCHORS.COND_FIELD]: BUILDER_PANEL_TYPES.CONDITION_FIELD,\n [BUILDER_ANCHORS.COND_OP_TOGGLE]: BUILDER_PANEL_TYPES.OPERATOR,\n [BUILDER_ANCHORS.COND_CONNECTOR]: BUILDER_PANEL_TYPES.CONNECTOR,\n [BUILDER_ANCHORS.COND_VALUES]: BUILDER_PANEL_TYPES.CONDITION_VALUE,\n [BUILDER_ANCHORS.ACTION_ADD]: BUILDER_PANEL_TYPES.ACTION_CHANNEL,\n [BUILDER_ANCHORS.ACTION_CHANNEL]: BUILDER_PANEL_TYPES.ACTION_CHANNEL,\n [BUILDER_ANCHORS.ACTION_CONFIG]: BUILDER_PANEL_TYPES.ACTION_CONFIG,\n [BUILDER_ANCHORS.ACTION_RECIPIENT]: BUILDER_PANEL_TYPES.RECIPIENT,\n [BUILDER_ANCHORS.RULE_DELAY]: BUILDER_PANEL_TYPES.DELAY,\n [BUILDER_ANCHORS.TRIGGER_LEAD_TIME]: BUILDER_PANEL_TYPES.LEAD_TIME,\n [BUILDER_ANCHORS.META_NAME]: BUILDER_PANEL_TYPES.NAME,\n [BUILDER_ANCHORS.SCOPE]: BUILDER_PANEL_TYPES.SCOPE,\n [BUILDER_ANCHORS.SCOPE_PHONE_FIELD]: BUILDER_PANEL_TYPES.SCOPE_PHONE_FIELD,\n};\n\nexport const LARGE_PANEL_TYPES = [\n BUILDER_PANEL_TYPES.ACTION_CONFIG,\n BUILDER_PANEL_TYPES.SCOPE,\n BUILDER_PANEL_TYPES.NAME,\n];\n\nexport const CONDITION_ANCHORS = [\n BUILDER_ANCHORS.COND_FIELD,\n BUILDER_ANCHORS.COND_OP_TOGGLE,\n BUILDER_ANCHORS.COND_VALUES,\n BUILDER_ANCHORS.COND_CONNECTOR,\n];\n\nexport const ACTION_ANCHORS = [\n BUILDER_ANCHORS.ACTION_CHANNEL,\n BUILDER_ANCHORS.ACTION_CONFIG,\n BUILDER_ANCHORS.ACTION_RECIPIENT,\n];\n\nexport const PANE_SEARCH_THRESHOLD = 8;\n\nexport const CONFIG_FOCUSABLE_SELECTOR =\n 'input:not([type=\"radio\"]):not([type=\"checkbox\"]), textarea, [contenteditable=\"true\"]';\n\nexport const SMS_TYPES = [\"sms\", \"smsToNumbers\"];\n\nexport const RECIPIENT_FOCUSABLE_SELECTOR =\n 'input, textarea, [contenteditable=\"true\"]';\n\nexport const SMS_TO_NUMBERS = \"smsToNumbers\";\n\nexport const SWAP_CHANNEL_ORDER = [\n \"email\",\n \"sms\",\n \"slack\",\n \"webhook\",\n \"calendar_invite\",\n];\n\nexport const DEFAULT_DELAY_UNITS = TIME_UNITS;\n","import { useState } from \"react\";\n\nconst useClearingHover = () => {\n const [clearing, setClearing] = useState(false);\n\n const clearingHoverProps = {\n onMouseEnter: () => setClearing(true),\n onMouseLeave: () => setClearing(false),\n };\n\n const resetClearing = () => setClearing(false);\n\n return { clearing, clearingHoverProps, resetClearing };\n};\n\nexport default useClearingHover;\n","export const TOKEN_STATE = {\n FILLED: \"filled\",\n MUTED: \"muted\",\n // eslint-disable-next-line @bigbinary/neeto/hard-coded-strings-should-be-localized\n PLACEHOLDER: \"placeholder\",\n PLACEHOLDER_NEXT: \"placeholder-next\",\n DISABLED: \"disabled\",\n};\n\nexport const STATE_CLASS = {\n [TOKEN_STATE.PLACEHOLDER]: \"mb-placeholder\",\n [TOKEN_STATE.PLACEHOLDER_NEXT]: \"mb-placeholder mb-placeholder-next\",\n [TOKEN_STATE.DISABLED]: \"mb-placeholder mb-placeholder-disabled\",\n [TOKEN_STATE.FILLED]: \"mb-tok\",\n [TOKEN_STATE.MUTED]: \"mb-tok mb-tok-muted\",\n};\n","import classnames from \"classnames\";\n\nimport { STATE_CLASS, TOKEN_STATE } from \"./constants\";\n\nconst Token = ({\n children,\n state = TOKEN_STATE.FILLED,\n active = false,\n invalid = false,\n onClick,\n className,\n dataTestid,\n ...rest\n}) => {\n const isInteractive =\n typeof onClick === \"function\" && state !== TOKEN_STATE.DISABLED;\n\n return (\n <span\n data-testid={dataTestid}\n role={isInteractive ? \"button\" : undefined}\n tabIndex={isInteractive ? 0 : undefined}\n className={classnames(\n // eslint-disable-next-line security/detect-object-injection\n STATE_CLASS[state] || STATE_CLASS.filled,\n className,\n { \"mb-tok-active\": active, \"mb-tok-invalid\": invalid }\n )}\n onClick={isInteractive ? onClick : undefined}\n onKeyDown={\n isInteractive\n ? event => {\n if (!(event.key === \"Enter\" || event.key === \" \")) return;\n event.preventDefault();\n onClick(event);\n }\n : undefined\n }\n {...rest}\n >\n {children}\n </span>\n );\n};\n\nexport default Token;\n","import { t } from \"i18next\";\nimport { isNotEmpty } from \"neetocist\";\nimport { assoc, isEmpty, isNil, mergeDeepRight } from \"ramda\";\n\nimport {\n CONDITION_MODE,\n CONDITION_VERBS,\n DEFAULT_SCHEMA,\n JOIN_TYPE,\n STATUS_KEYS,\n UNIT_MINUTES,\n VERB_TOKENS,\n} from \"./constants\";\n\nconst humanize = value =>\n String(value ?? \"\")\n .replace(/[._]/g, \" \")\n .trim();\n\nconst isContainsVerb = verb =>\n verb.includes(VERB_TOKENS.MULTI_VALUE) && verb.includes(VERB_TOKENS.CONTAINS);\n\nconst isNumericVerb = verb =>\n verb === CONDITION_VERBS.LESS_THAN || verb === CONDITION_VERBS.GREATER_THAN;\n\n// eslint-disable-next-line @bigbinary/neeto/prefer-function-reference\nconst isExcludeVerb = verb =>\n [\n CONDITION_VERBS.IS,\n CONDITION_VERBS.IS_NOT,\n CONDITION_VERBS.ANY_OF,\n CONDITION_VERBS.NONE_OF,\n ].includes(verb);\nconst isMultiValueVerb = verb => String(verb).includes(VERB_TOKENS.MULTI_VALUE);\n\nconst sentencify = label =>\n label ? label.charAt(0).toLowerCase() + label.slice(1) : label;\n\nconst copyFor = (value, args) =>\n typeof value === \"function\" ? value(args) : value;\n\nconst matchesTrigger = name => option =>\n option.eventValue === name || option.value === name || option.id === name;\n\nconst triggerOption = ({ schema, name }) =>\n (schema?.triggers?.options || []).find(matchesTrigger(name));\n\nconst triggerLabel = ({ schema, trigger }) => {\n const option = triggerOption({ schema, name: trigger?.name });\n\n return option?.plain || sentencify(option?.label || humanize(trigger?.name));\n};\n\nconst performerLabel = ({ schema, performer }) => {\n const option = (schema?.actor?.options || []).find(\n candidate => candidate.value === performer || candidate.id === performer\n );\n\n return sentencify(option?.label || humanize(performer));\n};\n\nconst conditionField = ({ schema, field }) =>\n (schema?.conditions?.fields || []).find(\n option => option.value === field || option.id === field\n );\n\nconst conditionFieldLabel = ({ schema, condition }) => {\n const field = conditionField({ schema, field: condition?.field });\n\n return String(field?.label || humanize(condition?.field)).toLowerCase();\n};\n\nconst operatorLabel = ({ schema, condition }) => {\n const map = schema?.conditions?.operatorLabels || {};\n\n return map[condition?.verb] || humanize(condition?.verb);\n};\n\nconst conditionNeedsValue = ({ schema, condition }) => {\n const field = conditionField({ schema, field: condition?.field });\n\n return !(field?.noValueForVerbs || []).includes(condition?.verb);\n};\n\nconst conditionValueLabel = ({ schema, condition }) => {\n const meta = condition?.metadata || {};\n const raw = meta.value ?? meta.values ?? meta.label;\n\n if (isNil(raw) || isEmpty(raw)) return null;\n\n const field = conditionField({ schema, field: condition?.field });\n const options =\n field?.values || field?.dropdownOptions || field?.options || [];\n const isEnum = isNotEmpty(options);\n\n const labelFor = value => {\n const option = options.find(\n candidate => (candidate.value ?? candidate.id) === value\n );\n const label = option ? (option.label ?? option.value ?? option.id) : value;\n\n return isEnum ? String(label).toLowerCase() : label;\n };\n\n const connector = String(condition?.verb || \"\").includes(\n CONDITION_VERBS.ALL_OF\n )\n ? t(\"neetoRules.operators.and\")\n : t(\"neetoRules.operators.or\");\n\n return Array.isArray(raw)\n ? raw.map(labelFor).join(` ${connector} `)\n : String(labelFor(raw));\n};\n\nconst actionOption = ({ schema, name }) =>\n (schema?.actions?.options || []).find(\n option => option.value === name || option.id === name\n );\n\nconst channelOption = ({ schema, channel }) =>\n (schema?.actions?.options || []).find(\n option => (option.value ?? option.id) === channel\n );\n\nconst actionParts = ({ schema, action }) => {\n const actions = schema?.actions || {};\n\n const resolved = action?.channel\n ? { channel: action.channel, recipient: action.recipient }\n : actions.actionForName?.(action?.name) || {};\n\n const channel = resolved.channel;\n const recipientValue = action?.recipient ?? resolved.recipient;\n\n const option = channel\n ? channelOption({ schema, channel })\n : actionOption({ schema, name: action?.name });\n\n // eslint-disable-next-line security/detect-object-injection\n const channelMeta = actions.channelMeta?.[channel] || {};\n const matchesRecipient = recipient =>\n (recipient.value ?? recipient.id) === recipientValue;\n\n const recipientLabel =\n (actions.recipients || []).find(matchesRecipient)?.label ||\n (option?.recipients || []).find(matchesRecipient)?.label ||\n recipientValue;\n\n return {\n option,\n channel,\n label: option?.label || humanize(action?.name),\n verb:\n channelMeta.verb ||\n (channel\n ? t(\"neetoRules.builder.send\")\n : option?.plain || option?.label) ||\n humanize(action?.name),\n paramKind: !channel && option?.paramType,\n valueNoun: option?.valueNoun,\n valueNounPlural: option?.valueNounPlural,\n mediumLabel: channelMeta.mediumLabel || option?.mediumLabel,\n icon: channelMeta.icon || option?.icon,\n needsRecipient: channelMeta.needsRecipient ?? option?.needsRecipient,\n separator: channelMeta.separator || option?.separator,\n configValue: actions.configValueLabel?.(action) || \"\",\n configValuePlaceholder:\n channelMeta.valuePlaceholder || option?.valuePlaceholder,\n recipient: recipientValue,\n recipientLabel,\n configTitle: channelMeta.configTitle || option?.configTitle,\n configSubtitle: channelMeta.configSubtitle || option?.configSubtitle,\n recipientTitle: channelMeta.recipientTitle || option?.recipientTitle,\n recipientSubtitle:\n channelMeta.recipientSubtitle || option?.recipientSubtitle,\n };\n};\n\nconst hasTrigger = rule => !isEmpty(rule?.triggers || []);\n\nconst hasAction = rule => (rule?.actions || []).some(action => action?.name);\n\nconst isRuleComplete = rule => hasTrigger(rule) && hasAction(rule);\n\nconst scopeOptionFor = ({ schema, item }) => {\n const value = item?.value ?? item;\n\n return (schema?.scope?.options || []).find(\n candidate => (candidate.value ?? candidate.id) === value\n );\n};\n\nconst scopePhoneFields = ({ schema, item }) =>\n item?.phoneFields ?? scopeOptionFor({ schema, item })?.phoneFields ?? null;\n\nconst effectiveScopePhoneField = ({ schema, item }) => {\n if (item?.phoneField) return item.phoneField;\n\n const phoneFields = scopePhoneFields({ schema, item });\n\n return phoneFields?.length === 1 ? phoneFields[0].value : undefined;\n};\n\nconst invalidScopeIndexes = ({ rule, schema }) => {\n const scope = schema?.scope;\n if (!scope?.enabled || !scope.requiresPhone?.(rule?.actions || [])) return [];\n\n return (rule?.scope || []).reduce((indexes, item, index) => {\n const option = scopeOptionFor({ schema, item });\n const phoneFields = scopePhoneFields({ schema, item });\n const hasPhoneField =\n item?.hasPhoneField ??\n option?.hasPhoneField ??\n (phoneFields ? phoneFields.length > 0 : undefined);\n if (hasPhoneField === false) indexes.push(index);\n\n return indexes;\n }, []);\n};\n\nconst invalidScopePhoneFieldIndexes = ({ rule, schema }) => {\n const scope = schema?.scope;\n if (!scope?.enabled || !scope.requiresPhone?.(rule?.actions || [])) return [];\n\n return (rule?.scope || []).reduce((indexes, item, index) => {\n const phoneFields = scopePhoneFields({ schema, item });\n const hasChoice = (phoneFields?.length || 0) > 1;\n if (hasChoice && !effectiveScopePhoneField({ schema, item })) {\n indexes.push(index);\n }\n\n return indexes;\n }, []);\n};\n\nconst minutesToParts = minutes => {\n const total = Number(minutes) || 0;\n if (total && total % UNIT_MINUTES.days === 0) {\n return { value: total / UNIT_MINUTES.days, unit: \"days\" };\n }\n\n if (total && total % UNIT_MINUTES.hours === 0) {\n return { value: total / UNIT_MINUTES.hours, unit: \"hours\" };\n }\n\n return { value: total, unit: \"minutes\" };\n};\n\nconst partsToMinutes = ({ value, unit }) =>\n // eslint-disable-next-line security/detect-object-injection\n (Number(value) || 0) * (UNIT_MINUTES[unit] || 1);\n\nconst leadTimeLabel = minutes => {\n const { value, unit } = minutesToParts(minutes);\n const unitLabel = value === 1 ? unit.replace(/s$/, \"\") : unit;\n\n return `${value} ${unitLabel}`;\n};\n\nconst normalizeTriggers = triggers => {\n if (Array.isArray(triggers)) return { options: triggers };\n\n return triggers || {};\n};\n\nconst normalizeSchema = (rawSchema = {}) =>\n mergeDeepRight(DEFAULT_SCHEMA, {\n ...rawSchema,\n triggers: normalizeTriggers(rawSchema.triggers),\n });\n\nconst joinTypeFor = mode =>\n mode === CONDITION_MODE.OR ? JOIN_TYPE.or : JOIN_TYPE.and;\n\nconst modeFromJoinType = joinType =>\n joinType === JOIN_TYPE.or ? CONDITION_MODE.OR : CONDITION_MODE.AND;\n\n// eslint-disable-next-line security/detect-object-injection\nconst valueAt = ({ values, key }) => values?.[key]?.value;\n\nconst asArray = maybeArray => (Array.isArray(maybeArray) ? maybeArray : []);\n\nconst fieldKeysFromSchema = (schema = {}) => ({\n triggers: schema.triggers?.fieldKey || \"events\",\n performer: schema.actor?.fieldKey || \"performer\",\n conditions: schema.conditions?.fieldKey || \"conditions\",\n actions: schema.actions?.fieldKey || \"actions\",\n delay: schema.delay?.fieldKey || \"execution_delay\",\n leadTime: schema.triggers?.leadTime?.fieldKey,\n scope: schema.scope?.fieldKey || \"meetingIds\",\n status: \"status\",\n name: \"name\",\n});\n\nconst valuesToRuleModel = ({ values = {}, schema = {} } = {}) => {\n const keys = fieldKeysFromSchema(schema);\n\n const conditions = asArray(valueAt({ values, key: keys.conditions }));\n const rawDelay = valueAt({ values, key: keys.delay });\n\n return {\n name: valueAt({ values, key: keys.name }) || \"\",\n active: valueAt({ values, key: keys.status }) !== STATUS_KEYS.DISABLED,\n triggers: asArray(valueAt({ values, key: keys.triggers })),\n performer: valueAt({ values, key: keys.performer }) ?? null,\n conditions,\n conditionMode: modeFromJoinType(conditions[0]?.joinType),\n delay: isNil(rawDelay) || isEmpty(rawDelay) ? null : rawDelay,\n actions: asArray(valueAt({ values, key: keys.actions })),\n leadTime: keys.leadTime ? valueAt({ values, key: keys.leadTime }) : null,\n scope: asArray(valueAt({ values, key: keys.scope })),\n };\n};\n\nconst setTriggers = ({ schema, triggers }) => ({\n path: `${fieldKeysFromSchema(schema).triggers}.value`,\n value: triggers,\n});\n\nconst setPerformer = ({ schema, performer }) => ({\n path: `${fieldKeysFromSchema(schema).performer}.value`,\n value: performer,\n});\n\nconst setActions = ({ schema, actions }) => ({\n path: `${fieldKeysFromSchema(schema).actions}.value`,\n value: actions,\n});\n\nconst setConditions = ({ schema, conditions }) => ({\n path: `${fieldKeysFromSchema(schema).conditions}.value`,\n value: conditions,\n});\n\nconst setConditionMode = ({ schema, conditions, joinType }) =>\n setConditions({\n schema,\n conditions: conditions.map(condition =>\n assoc(\"joinType\", joinTypeFor(joinType), condition)\n ),\n });\n\nconst setDelay = ({ schema, delay }) => ({\n path: `${fieldKeysFromSchema(schema).delay}.value`,\n value: delay ?? {},\n});\n\nconst setActive = ({ schema, active }) => ({\n path: `${fieldKeysFromSchema(schema).status}.value`,\n value: active ? STATUS_KEYS.ENABLED : STATUS_KEYS.DISABLED,\n});\n\nconst setScope = ({ schema, scope }) => ({\n path: `${fieldKeysFromSchema(schema).scope}.value`,\n value: scope,\n});\n\nconst removeArrayItem = ({ values, fieldKey, index }) => {\n const list = asArray(valueAt({ values, key: fieldKey }));\n // eslint-disable-next-line security/detect-object-injection\n const removed = list[index];\n const nextList = list.filter((_, i) => i !== index);\n\n const result = [{ path: `${fieldKey}.value`, value: nextList }];\n if (removed?.id) {\n // eslint-disable-next-line security/detect-object-injection\n const deleted = asArray(values?.[fieldKey]?.deleted);\n result.push({\n path: `${fieldKey}.deleted`,\n value: [...deleted, { ...removed, _destroy: true }],\n });\n }\n\n return result;\n};\n\nexport {\n humanize,\n isContainsVerb,\n isNumericVerb,\n isExcludeVerb,\n isMultiValueVerb,\n sentencify,\n copyFor,\n triggerLabel,\n performerLabel,\n conditionFieldLabel,\n operatorLabel,\n conditionValueLabel,\n conditionNeedsValue,\n actionParts,\n hasTrigger,\n hasAction,\n isRuleComplete,\n invalidScopeIndexes,\n invalidScopePhoneFieldIndexes,\n scopePhoneFields,\n effectiveScopePhoneField,\n minutesToParts,\n partsToMinutes,\n leadTimeLabel,\n normalizeSchema,\n joinTypeFor,\n fieldKeysFromSchema,\n valuesToRuleModel,\n setTriggers,\n setPerformer,\n setActions,\n setConditions,\n setConditionMode,\n setDelay,\n setActive,\n setScope,\n removeArrayItem,\n};\n","import classnames from \"classnames\";\nimport { Delete, Plus } from \"neetoicons\";\nimport { Button } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { BUILDER_ANCHORS, CONDITION_MODE } from \"../constants\";\nimport useClearingHover from \"../hooks/useClearingHover\";\nimport Token from \"../Token\";\nimport { TOKEN_STATE } from \"../Token/constants\";\nimport {\n conditionFieldLabel,\n operatorLabel,\n conditionValueLabel,\n conditionNeedsValue,\n sentencify,\n} from \"../utils\";\n\nconst ConditionRow = ({\n rule,\n schema,\n condition,\n index,\n onToken: handleToken,\n onAddCondition: handleAddCondition,\n onRemove: handleRemove,\n isActive = () => false,\n isInvalid = () => false,\n}) => {\n const { t } = useTranslation();\n const isFirst = index === 0;\n const hasField = !!condition?.field;\n const hasVerb = !!condition?.verb;\n const conditionField = (schema?.conditions?.fields || []).find(\n field => (field.value ?? field.id) === condition?.field\n );\n\n const operatorPlaceholder =\n conditionField?.operatorPlaceholder ||\n t(\"neetoRules.builder.selectOperator\");\n const value = conditionValueLabel({ schema, condition });\n const needsValue = conditionNeedsValue({ schema, condition });\n const { clearing, clearingHoverProps } = useClearingHover();\n\n return (\n <div className={classnames(\"mb-row\", { clearing })}>\n <div className=\"mb-sentence\">\n {isFirst ? (\n <span className=\"mb-fixed\">{t(\"neetoRules.operators.and\")}</span>\n ) : (\n <Token\n active={isActive({ type: BUILDER_ANCHORS.COND_CONNECTOR, index })}\n className=\"mb-tok-muted\"\n dataTestid={`cond-connector-${index}`}\n onClick={\n handleToken &&\n (() =>\n handleToken({ type: BUILDER_ANCHORS.COND_CONNECTOR, index }))\n }\n >\n {rule.conditionMode === CONDITION_MODE.OR\n ? t(\"neetoRules.operators.or\")\n : t(\"neetoRules.operators.and\")}\n </Token>\n )}\n {hasField ? (\n <>\n <Token\n active={isActive({ type: BUILDER_ANCHORS.COND_FIELD, index })}\n dataTestid={`cond-field-${index}`}\n onClick={\n handleToken &&\n (() => handleToken({ type: BUILDER_ANCHORS.COND_FIELD, index }))\n }\n >\n {conditionFieldLabel({ schema, condition })}\n </Token>\n <Token\n active={isActive({ type: BUILDER_ANCHORS.COND_OP_TOGGLE, index })}\n dataTestid={`cond-op-${index}`}\n state={hasVerb ? TOKEN_STATE.FILLED : TOKEN_STATE.MUTED}\n invalid={isInvalid({\n type: BUILDER_ANCHORS.COND_OP_TOGGLE,\n index,\n })}\n onClick={\n handleToken &&\n (() =>\n handleToken({ type: BUILDER_ANCHORS.COND_OP_TOGGLE, index }))\n }\n >\n {hasVerb\n ? sentencify(operatorLabel({ schema, condition }))\n : operatorPlaceholder}\n </Token>\n {hasVerb && needsValue && (\n <Token\n active={isActive({ type: BUILDER_ANCHORS.COND_VALUES, index })}\n dataTestid={`cond-values-${index}`}\n state={value ? TOKEN_STATE.FILLED : TOKEN_STATE.MUTED}\n invalid={isInvalid({\n type: BUILDER_ANCHORS.COND_VALUES,\n index,\n })}\n onClick={\n handleToken &&\n (() =>\n handleToken({ type: BUILDER_ANCHORS.COND_VALUES, index }))\n }\n >\n {value || t(\"neetoRules.form.addValue\")}\n </Token>\n )}\n </>\n ) : (\n <Token\n active={isActive({ type: BUILDER_ANCHORS.COND_FIELD, index })}\n dataTestid={`cond-field-${index}`}\n invalid={isInvalid({ type: BUILDER_ANCHORS.COND_FIELD, index })}\n state={TOKEN_STATE.PLACEHOLDER_NEXT}\n onClick={\n handleToken &&\n (() => handleToken({ type: BUILDER_ANCHORS.COND_FIELD, index }))\n }\n >\n {t(\"neetoRules.builder.selectCondition\")}\n </Token>\n )}\n </div>\n <div className=\"mb-row-actions\">\n {handleAddCondition && (\n <Button\n data-testid={`cond-add-${index}`}\n icon={Plus}\n size=\"small\"\n style=\"text\"\n tooltipProps={{\n content: t(\"neetoRules.builder.aria.addAnotherCondition\"),\n position: \"top\",\n }}\n onClick={handleAddCondition}\n />\n )}\n {handleRemove && (\n <Button\n data-testid={`cond-remove-${index}`}\n icon={Delete}\n size=\"small\"\n style=\"text\"\n tooltipProps={{\n content: t(\"neetoRules.builder.aria.deleteCondition\"),\n position: \"top\",\n }}\n onClick={handleRemove}\n {...clearingHoverProps}\n />\n )}\n </div>\n </div>\n );\n};\n\nexport default ConditionRow;\n","import classnames from \"classnames\";\n\nconst Connector = ({ active = false }) => (\n <div aria-hidden className={classnames(\"mb-arrow\", { \"is-active\": active })}>\n <svg fill=\"none\" height=\"28\" viewBox=\"0 0 24 28\" width=\"24\">\n <path\n d=\"M12 2 V22 M5 15 l7 7 l7 -7\"\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth=\"2\"\n />\n </svg>\n </div>\n);\n\nexport default Connector;\n","import classnames from \"classnames\";\nimport { Delete } from \"neetoicons\";\nimport { Button } from \"neetoui\";\nimport { isNil } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { BUILDER_ANCHORS } from \"../constants\";\nimport useClearingHover from \"../hooks/useClearingHover\";\nimport Token from \"../Token\";\nimport { TOKEN_STATE } from \"../Token/constants\";\n\nconst DelayRow = ({\n rule,\n onToken: handleToken,\n onRemove: handleRemove,\n isActive = () => false,\n isInvalid = () => false,\n}) => {\n const { t } = useTranslation();\n const { delay } = rule;\n const { clearing, clearingHoverProps } = useClearingHover();\n if (!delay) return null;\n\n const label = [delay.value, delay.unit]\n .filter(part => part !== \"\" && !isNil(part))\n .join(\" \");\n\n return (\n <div className={classnames(\"mb-row\", { clearing })}>\n <div className=\"mb-sentence\">\n <span className=\"mb-fixed\">\n {t(\"neetoRules.form.delayExecutionBy\")}\n </span>\n <Token\n dataTestid=\"rule-delay\"\n state={label ? TOKEN_STATE.FILLED : TOKEN_STATE.MUTED}\n active={isActive({\n type: BUILDER_ANCHORS.RULE_DELAY,\n index: undefined,\n })}\n invalid={isInvalid({\n type: BUILDER_ANCHORS.RULE_DELAY,\n index: undefined,\n })}\n onClick={\n handleToken &&\n (() => handleToken({ type: BUILDER_ANCHORS.RULE_DELAY }))\n }\n >\n {label || t(\"neetoRules.builder.setDelay\")}\n </Token>\n </div>\n {handleRemove && (\n <div className=\"mb-row-actions\">\n <Button\n data-testid=\"rule-delay-remove\"\n icon={Delete}\n size=\"small\"\n style=\"text\"\n tooltipProps={{\n content: t(\"neetoRules.builder.aria.removeDelay\"),\n position: \"top\",\n }}\n onClick={handleRemove}\n {...clearingHoverProps}\n />\n </div>\n )}\n </div>\n );\n};\n\nexport default DelayRow;\n","import classnames from \"classnames\";\nimport { withT } from \"neetocommons/react-utils\";\n\nconst MetaBlock = withT(\n ({\n t,\n rule,\n showName = true,\n isInvalid = false,\n onEditName: handleEditName,\n onToggleActive: handleToggleActive,\n }) => (\n <div className=\"mb-meta\">\n {showName && (\n <div className=\"mb-meta-field\">\n <span className=\"mb-meta-label\">\n {t(\"neetoRules.builder.automationName\")}\n </span>\n <div\n role={handleEditName ? \"button\" : undefined}\n tabIndex={handleEditName ? 0 : undefined}\n className={classnames(\"mb-meta-input-wrap\", {\n \"mb-meta-invalid\": isInvalid,\n })}\n onClick={handleEditName}\n >\n <span className=\"mb-meta-name-display\">{rule.name}</span>\n <span aria-hidden className=\"mb-meta-edit\">\n <svg fill=\"none\" height=\"14\" viewBox=\"0 0 24 24\" width=\"14\">\n <path\n d=\"M12 20h9 M16.5 3.5a2.1 2.1 0 0 1 3 3L7 19l-4 1 1-4Z\"\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth=\"2\"\n />\n </svg>\n </span>\n </div>\n </div>\n )}\n <label className=\"mb-meta-active\">\n <input\n checked={rule.active}\n readOnly={!handleToggleActive}\n type=\"checkbox\"\n onChange={handleToggleActive || undefined}\n />\n <span aria-hidden className=\"mb-checkbox\">\n <svg fill=\"none\" height=\"12\" viewBox=\"0 0 14 14\" width=\"12\">\n <path d=\"M2 7l3.5 3.5L12 3.5\" />\n </svg>\n </span>\n {t(\"neetoRules.builder.activateThisAutomation\")}\n </label>\n </div>\n )\n);\n\nexport default MetaBlock;\n","/* eslint-disable @bigbinary/neeto/no-multiple-components-in-a-file */\nimport classnames from \"classnames\";\nimport { Delete, Plus } from \"neetoicons\";\nimport { Button } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { BUILDER_ANCHORS } from \"../constants\";\nimport useClearingHover from \"../hooks/useClearingHover\";\nimport Token from \"../Token\";\nimport { TOKEN_STATE } from \"../Token/constants\";\nimport { copyFor, scopePhoneFields } from \"../utils\";\n\nconst itemLabel = item =>\n item?.label || item?.name || item?.value || String(item ?? \"\");\n\nconst ScopeBlock = ({\n rule,\n schema,\n onToken: handleToken,\n onRemoveScope: handleRemoveScope,\n isActive = () => false,\n isInvalid = () => false,\n}) => {\n const { t } = useTranslation();\n const scope = rule.scope || [];\n const placeholder =\n schema?.scope?.placeholder || t(\"neetoRules.builder.scope.placeholder\");\n const requiresPhone = !!schema?.scope?.requiresPhone?.(rule.actions || []);\n\n if (isEmpty(scope)) {\n return (\n <div className=\"mb-row\">\n <div className=\"mb-sentence\">\n <Token\n active={isActive({ type: BUILDER_ANCHORS.SCOPE, index: undefined })}\n dataTestid=\"scope-add\"\n state={TOKEN_STATE.PLACEHOLDER_NEXT}\n onClick={\n handleToken &&\n (() => handleToken({ type: BUILDER_ANCHORS.SCOPE }))\n }\n >\n {placeholder}\n </Token>\n </div>\n </div>\n );\n }\n\n return scope.map((item, index) => (\n <ScopeRow\n {...{ index, isActive, isInvalid, item, requiresPhone, schema }}\n isLast={index === scope.length - 1}\n key={(item?.value ?? item) || index}\n onRemoveScope={handleRemoveScope}\n onToken={handleToken}\n />\n ));\n};\n\nconst ScopeRow = ({\n schema,\n item,\n index,\n onToken: handleToken,\n onRemoveScope: handleRemoveScope,\n isActive,\n isInvalid,\n isLast,\n requiresPhone,\n}) => {\n const { t } = useTranslation();\n const { clearing, clearingHoverProps } = useClearingHover();\n const lead = schema?.scope?.lead || t(\"neetoRules.builder.scope.lead\");\n const meeting = itemLabel(item);\n const phoneFields = requiresPhone ? scopePhoneFields({ item, schema }) : null;\n const hasPhoneFieldChoice = (phoneFields?.length || 0) > 1;\n const singlePhoneFieldLabel =\n phoneFields?.length === 1 ? phoneFields[0].label : null;\n\n const selectedPhoneField = phoneFields?.find(\n field => field.value === item?.phoneField\n );\n\n const usingLabel =\n copyFor(schema?.scope?.usingLabel, { meeting }) ||\n t(\"neetoRules.builder.scope.using\");\n\n const phoneFieldPlaceholder =\n copyFor(schema?.scope?.phoneFieldPlaceholder, { meeting }) ||\n t(\"neetoRules.builder.selectPhoneField\");\n\n return (\n <div className={classnames(\"mb-row\", { clearing })}>\n <div className=\"mb-sentence\">\n <span className=\"mb-fixed\">{lead}</span>\n <Token\n active={isActive({ type: BUILDER_ANCHORS.SCOPE, index: undefined })}\n dataTestid={`scope-${index}`}\n invalid={isInvalid({ type: BUILDER_ANCHORS.SCOPE, index })}\n onClick={\n handleToken && (() => handleToken({ type: BUILDER_ANCHORS.SCOPE }))\n }\n >\n {meeting}\n </Token>\n {singlePhoneFieldLabel && (\n <span className=\"mb-fixed\">\n {usingLabel} {singlePhoneFieldLabel}\n </span>\n )}\n {hasPhoneFieldChoice && (\n <>\n <span className=\"mb-fixed\">{usingLabel}</span>\n <Token\n dataTestid={`scope-phone-field-${index}`}\n active={isActive({\n type: BUILDER_ANCHORS.SCOPE_PHONE_FIELD,\n index,\n })}\n invalid={isInvalid({\n type: BUILDER_ANCHORS.SCOPE_PHONE_FIELD,\n index,\n })}\n state={\n selectedPhoneField ? TOKEN_STATE.FILLED : TOKEN_STATE.MUTED\n }\n onClick={\n handleToken &&\n (() =>\n handleToken({\n type: BUILDER_ANCHORS.SCOPE_PHONE_FIELD,\n index,\n }))\n }\n >\n {selectedPhoneField?.label || phoneFieldPlaceholder}\n </Token>\n </>\n )}\n </div>\n <div className=\"mb-row-actions\">\n {handleToken && isLast && (\n <Button\n data-testid={`scope-add-${index}`}\n icon={Plus}\n size=\"small\"\n style=\"text\"\n tooltipProps={{\n content: t(\"neetoRules.builder.aria.addAnotherBookingPage\"),\n position: \"top\",\n }}\n onClick={() => handleToken({ type: BUILDER_ANCHORS.SCOPE })}\n />\n )}\n {handleRemoveScope && (\n <Button\n data-testid={`scope-remove-${index}`}\n icon={Delete}\n size=\"small\"\n style=\"text\"\n tooltipProps={{\n content: t(\"neetoRules.builder.aria.removeBookingPage\"),\n position: \"top\",\n }}\n onClick={() => handleRemoveScope(index)}\n {...clearingHoverProps}\n />\n )}\n </div>\n </div>\n );\n};\n\nexport default ScopeBlock;\n","import classnames from \"classnames\";\nimport { isNotEmpty } from \"neetocist\";\nimport { Delete, Plus } from \"neetoicons\";\nimport { Button } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { PARAM_KIND, BUILDER_ANCHORS } from \"../constants\";\nimport useClearingHover from \"../hooks/useClearingHover\";\nimport Token from \"../Token\";\nimport { TOKEN_STATE } from \"../Token/constants\";\nimport { actionParts, sentencify } from \"../utils\";\n\nconst ActionRow = ({\n schema,\n action,\n index,\n position,\n onToken: handleToken,\n onAddAction: handleAddAction,\n onRemove: handleRemove,\n isActive = () => false,\n isInvalid = () => false,\n}) => {\n const { t } = useTranslation();\n const {\n option,\n label,\n verb,\n mediumLabel,\n icon: MediumIcon,\n needsRecipient,\n recipient,\n recipientLabel,\n separator,\n configValue,\n configValuePlaceholder,\n paramKind,\n valueNoun,\n valueNounPlural,\n } = actionParts({ schema, action });\n\n const hasParamTail =\n paramKind === PARAM_KIND.ENUM_SINGLE || paramKind === PARAM_KIND.ENUM_MULTI;\n\n const multiPlaceholder = valueNounPlural\n ? t(\"neetoRules.builder.selectNoun\", { noun: valueNounPlural })\n : t(\"neetoRules.form.selectValues\");\n\n const singlePlaceholder = valueNoun\n ? t(\"neetoRules.builder.selectNoun\", { noun: valueNoun })\n : t(\"neetoRules.form.selectValue\");\n\n const paramPlaceholder =\n paramKind === PARAM_KIND.ENUM_MULTI ? multiPlaceholder : singlePlaceholder;\n\n const connector =\n (position ?? index) === 0\n ? t(\"neetoRules.common.then\")\n : t(\"neetoRules.operators.and\");\n const verbLabel = sentencify(verb || label);\n const isVerbActive =\n isActive({ type: BUILDER_ANCHORS.ACTION_CHANNEL, index }) ||\n isActive({ type: BUILDER_ANCHORS.ACTION_ADD, index });\n const configLabel = mediumLabel || sentencify(option?.placeholder);\n const isConfigured = isNotEmpty(action?.metadata);\n const { clearing, clearingHoverProps } = useClearingHover();\n\n return (\n <div className={classnames(\"mb-row mb-row-draggable\", { clearing })}>\n <div className=\"mb-sentence\">\n <span className=\"mb-fixed\">{connector}</span>\n {separator ? (\n <Token\n active={isVerbActive}\n className=\"mb-tok-medium\"\n dataTestid={`action-verb-${index}`}\n onClick={\n handleToken &&\n (() =>\n handleToken({ type: BUILDER_ANCHORS.ACTION_CHANNEL, index }))\n }\n >\n {verbLabel}\n {MediumIcon && <MediumIcon size={14} />}\n {configLabel}\n </Token>\n ) : (\n <>\n <Token\n active={isVerbActive}\n dataTestid={`action-verb-${index}`}\n onClick={\n handleToken &&\n (() =>\n handleToken({ type: BUILDER_ANCHORS.ACTION_CHANNEL, index }))\n }\n >\n {verbLabel}\n </Token>\n {hasParamTail ? (\n <Token\n dataTestid={`action-config-value-${index}`}\n state={configValue ? TOKEN_STATE.FILLED : TOKEN_STATE.MUTED}\n active={isActive({\n type: BUILDER_ANCHORS.ACTION_CONFIG,\n index,\n })}\n invalid={isInvalid({\n type: BUILDER_ANCHORS.ACTION_CONFIG,\n index,\n })}\n onClick={\n handleToken &&\n (() =>\n handleToken({ type: BUILDER_ANCHORS.ACTION_CONFIG, index }))\n }\n >\n {configValue || paramPlaceholder}\n </Token>\n ) : (\n configLabel && (\n <Token\n className=\"mb-tok-medium\"\n dataTestid={`action-config-${index}`}\n state={isConfigured ? TOKEN_STATE.FILLED : TOKEN_STATE.MUTED}\n active={isActive({\n type: BUILDER_ANCHORS.ACTION_CONFIG,\n index,\n })}\n invalid={isInvalid({\n type: BUILDER_ANCHORS.ACTION_CONFIG,\n index,\n })}\n onClick={\n handleToken &&\n (() =>\n handleToken({\n type: BUILDER_ANCHORS.ACTION_CONFIG,\n index,\n }))\n }\n >\n {MediumIcon && <MediumIcon size={14} />}\n {configLabel}\n </Token>\n )\n )}\n </>\n )}\n {separator && (\n <>\n <span className=\"mb-fixed\">{separator}</span>\n <Token\n active={isActive({ type: BUILDER_ANCHORS.ACTION_CONFIG, index })}\n dataTestid={`action-config-value-${index}`}\n state={configValue ? TOKEN_STATE.FILLED : TOKEN_STATE.MUTED}\n invalid={isInvalid({\n type: BUILDER_ANCHORS.ACTION_CONFIG,\n index,\n })}\n onClick={\n handleToken &&\n (() =>\n handleToken({ type: BUILDER_ANCHORS.ACTION_CONFIG, index }))\n }\n >\n {configValue ||\n sentencify(configValuePlaceholder) ||\n t(\"neetoRules.builder.selectFallback\")}\n </Token>\n </>\n )}\n {needsRecipient && (\n <>\n <span className=\"mb-fixed\">{t(\"neetoRules.common.to\")}</span>\n <Token\n dataTestid={`action-recipient-${index}`}\n state={recipient ? TOKEN_STATE.FILLED : TOKEN_STATE.MUTED}\n active={isActive({\n type: BUILDER_ANCHORS.ACTION_RECIPIENT,\n index,\n })}\n invalid={isInvalid({\n type: BUILDER_ANCHORS.ACTION_RECIPIENT,\n index,\n })}\n onClick={\n handleToken &&\n (() =>\n handleToken({\n type: BUILDER_ANCHORS.ACTION_RECIPIENT,\n index,\n }))\n }\n >\n {recipient\n ? String(recipientLabel).toLowerCase()\n : t(\"neetoRules.builder.selectRecipient\")}\n </Token>\n </>\n )}\n </div>\n <div className=\"mb-row-actions\">\n {handleAddAction && (\n <Button\n data-testid={`action-add-${index}`}\n icon={Plus}\n size=\"small\"\n style=\"text\"\n tooltipProps={{\n content: t(\"neetoRules.builder.aria.addAnotherAction\"),\n position: \"top\",\n }}\n onClick={handleAddAction}\n />\n )}\n {handleRemove && (\n <Button\n data-testid={`action-remove-${index}`}\n icon={Delete}\n size=\"small\"\n style=\"text\"\n tooltipProps={{\n content: t(\"neetoRules.builder.aria.deleteAction\"),\n position: \"top\",\n }}\n onClick={handleRemove}\n {...clearingHoverProps}\n />\n )}\n </div>\n </div>\n );\n};\n\nexport default ActionRow;\n","import { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport ActionRow from \"./ActionRow\";\n\nimport { BUILDER_ANCHORS } from \"../constants\";\nimport Token from \"../Token\";\nimport { TOKEN_STATE } from \"../Token/constants\";\nimport { hasTrigger } from \"../utils\";\n\nconst ThenBlock = ({\n rule,\n schema,\n onToken: handleToken,\n onAddAction: handleAddAction,\n onRemoveAction: handleRemoveAction,\n isActive = () => false,\n isInvalid = () => false,\n adding = false,\n}) => {\n const { t } = useTranslation();\n const named = rule.actions\n .map((action, index) => ({ action, index }))\n .filter(({ action }) => action?.channel || action?.name);\n\n if (isEmpty(named)) {\n const isTriggerSet = hasTrigger(rule);\n\n return (\n <div className=\"mb-row\">\n <div className=\"mb-sentence\">\n <Token\n active={isActive({ type: BUILDER_ANCHORS.ACTION_ADD, index: 0 })}\n dataTestid=\"action-add\"\n invalid={isInvalid({ type: BUILDER_ANCHORS.ACTION_ADD, index: 0 })}\n state={\n isTriggerSet ? TOKEN_STATE.PLACEHOLDER_NEXT : TOKEN_STATE.DISABLED\n }\n title={\n isTriggerSet\n ? undefined\n : t(\"neetoRules.builder.pickTriggerFirst\")\n }\n onClick={isTriggerSet ? handleAddAction : undefined}\n >\n {t(\"neetoRules.builder.thenDoThis\")}\n </Token>\n </div>\n </div>\n );\n }\n\n return (\n <>\n {named.map(({ action, index }, position) => (\n <ActionRow\n {...{ action, index, isActive, isInvalid, position, schema }}\n key={action.id ?? index}\n onAddAction={position === named.length - 1 && handleAddAction}\n onRemove={handleRemoveAction && (() => handleRemoveAction(index))}\n onToken={handleToken}\n />\n ))}\n {adding && (\n <div className=\"mb-row\">\n <div className=\"mb-sentence\">\n <span className=\"mb-fixed\">{t(\"neetoRules.operators.and\")}</span>\n <Token\n active\n dataTestid=\"action-add-next\"\n state={TOKEN_STATE.PLACEHOLDER_NEXT}\n onClick={handleAddAction}\n >\n {t(\"neetoRules.form.doThis\")}\n </Token>\n </div>\n </div>\n )}\n </>\n );\n};\n\nexport default ThenBlock;\n","import { Fragment } from \"react\";\n\nimport classnames from \"classnames\";\nimport { Delete, Plus } from \"neetoicons\";\nimport { Button } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { BUILDER_ANCHORS } from \"../constants\";\nimport useClearingHover from \"../hooks/useClearingHover\";\nimport Token from \"../Token\";\nimport { TOKEN_STATE } from \"../Token/constants\";\nimport { triggerLabel, performerLabel, leadTimeLabel } from \"../utils\";\n\nconst WhenBlock = ({\n rule,\n schema,\n onToken: handleToken,\n onAddCondition: handleAddCondition,\n onClearTrigger: handleClearTrigger,\n isActive = () => false,\n isInvalid = () => false,\n}) => {\n const { t } = useTranslation();\n const { triggers, performer } = rule;\n const isActorEnabled = schema?.actor?.enabled;\n const { clearing, clearingHoverProps, resetClearing } = useClearingHover();\n // eslint-disable-next-line @bigbinary/neeto/prefer-function-reference\n const hasLeadTimeFor = name =>\n (schema?.triggers?.leadTime?.appliesTo || []).includes(name);\n\n if (isEmpty(triggers)) {\n return (\n <div className=\"mb-row\">\n <div className=\"mb-sentence\">\n <Token\n dataTestid=\"trigger-add\"\n state={TOKEN_STATE.PLACEHOLDER_NEXT}\n onClick={\n handleToken &&\n (() => handleToken({ type: BUILDER_ANCHORS.TRIGGER_ADD }))\n }\n >\n {t(\"neetoRules.builder.whenThisHappens\")}\n </Token>\n </div>\n </div>\n );\n }\n\n return (\n <div className={classnames(\"mb-row\", { clearing })}>\n <div className=\"mb-sentence\">\n <span className=\"mb-fixed\">{t(\"neetoRules.common.when\")}</span>\n {triggers.map((trigger, index) => (\n <Fragment key={trigger.id ?? index}>\n {index > 0 && (\n <span className=\"mb-fixed\">{t(\"neetoRules.operators.or\")}</span>\n )}\n {hasLeadTimeFor(trigger.name) && (\n <Token\n dataTestid={`trigger-lead-time-${index}`}\n active={isActive({\n type: BUILDER_ANCHORS.TRIGGER_LEAD_TIME,\n index,\n })}\n onClick={\n handleToken &&\n (() =>\n handleToken({\n type: BUILDER_ANCHORS.TRIGGER_LEAD_TIME,\n index,\n }))\n }\n >\n {leadTimeLabel(rule.leadTime)}\n </Token>\n )}\n <Token\n dataTestid={`trigger-${index}`}\n active={\n isActive({ type: BUILDER_ANCHORS.TRIGGER_REPLACE, index }) ||\n (index === 0 &&\n isActive({\n type: BUILDER_ANCHORS.TRIGGER_ADD,\n index: undefined,\n }))\n }\n onClick={\n handleToken &&\n (() =>\n handleToken({\n type: BUILDER_ANCHORS.TRIGGER_REPLACE,\n index,\n trigger,\n }))\n }\n >\n {triggerLabel({ schema, trigger })}\n </Token>\n </Fragment>\n ))}\n {isActorEnabled && (\n <>\n <span className=\"mb-fixed\">{t(\"neetoRules.common.by\")}</span>\n <Token\n dataTestid=\"trigger-actor\"\n state={performer ? TOKEN_STATE.FILLED : TOKEN_STATE.MUTED}\n active={isActive({\n type: BUILDER_ANCHORS.TRIGGER_ACTOR,\n index: undefined,\n })}\n invalid={isInvalid({\n type: BUILDER_ANCHORS.TRIGGER_ACTOR,\n index: undefined,\n })}\n onClick={\n handleToken &&\n (() => handleToken({ type: BUILDER_ANCHORS.TRIGGER_ACTOR }))\n }\n >\n {performer\n ? performerLabel({ schema, performer })\n : t(\"neetoRules.builder.selectActor\")}\n </Token>\n </>\n )}\n </div>\n <div className=\"mb-row-actions\">\n {handleAddCondition && (\n <Button\n data-testid=\"trigger-add-condition\"\n icon={Plus}\n size=\"small\"\n style=\"text\"\n tooltipProps={{\n content: t(\"neetoRules.builder.aria.addCondition\"),\n position: \"top\",\n }}\n onClick={handleAddCondition}\n />\n )}\n {handleClearTrigger && (\n <Button\n data-testid=\"trigger-clear\"\n icon={Delete}\n size=\"small\"\n style=\"text\"\n tooltipProps={{\n content: t(\"neetoRules.builder.aria.clearTrigger\"),\n position: \"top\",\n }}\n onClick={() => {\n resetClearing();\n handleClearTrigger();\n }}\n {...clearingHoverProps}\n />\n )}\n </div>\n </div>\n );\n};\n\nexport default WhenBlock;\n","import { useCallback } from \"react\";\n\nimport useUtilityStore from \"components/stores/useUtilityStore\";\n\nimport { TOKEN_TO_PANEL_TYPE, LARGE_PANEL_TYPES } from \"../constants\";\n\nconst usePaneCascade = schema => {\n const { setPanelState, resetPanelState } = useUtilityStore.pick();\n\n const openType = useCallback(\n ({ type, data = {} }) =>\n setPanelState({\n type,\n variant: \"builder\",\n size: LARGE_PANEL_TYPES.includes(type) ? \"large\" : \"small\",\n data: { schema, ...data },\n }),\n [schema, setPanelState]\n );\n\n const openPane = useCallback(\n token => {\n const type = TOKEN_TO_PANEL_TYPE[token?.type];\n if (!type) return;\n\n openType({ type, data: { anchor: token.type, index: token.index } });\n },\n [openType]\n );\n\n return { openPane, openType, closePane: resetPanelState };\n};\n\nexport default usePaneCascade;\n","import { useMemo } from \"react\";\n\nimport { useFormikContext } from \"formik\";\n\nimport {\n valuesToRuleModel,\n setTriggers,\n setPerformer,\n setActions,\n setConditions,\n setConditionMode,\n setDelay,\n setActive,\n setScope,\n removeArrayItem,\n fieldKeysFromSchema,\n} from \"../utils\";\n\nconst useRuleModel = schema => {\n const { values, setFieldValue } = useFormikContext();\n\n const apply = ({ path, value }) => setFieldValue(path, value);\n const applyAll = edits => edits.forEach(apply);\n\n const rule = useMemo(\n () => valuesToRuleModel({ values, schema }),\n [values, schema]\n );\n\n return {\n rule,\n fieldKeys: fieldKeysFromSchema(schema),\n setTriggers: triggers => apply(setTriggers({ schema, triggers })),\n setPerformer: performer => apply(setPerformer({ schema, performer })),\n setActions: actions => apply(setActions({ schema, actions })),\n setConditions: conditions => apply(setConditions({ schema, conditions })),\n setConditionMode: joinType =>\n apply(\n setConditionMode({ schema, conditions: rule.conditions, joinType })\n ),\n setDelay: delay => apply(setDelay({ schema, delay })),\n setActive: active => apply(setActive({ schema, active })),\n setScope: scope => apply(setScope({ schema, scope })),\n removeCondition: index =>\n applyAll(\n removeArrayItem({\n values,\n fieldKey: fieldKeysFromSchema(schema).conditions,\n index,\n })\n ),\n removeAction: index =>\n applyAll(\n removeArrayItem({\n values,\n fieldKey: fieldKeysFromSchema(schema).actions,\n index,\n })\n ),\n };\n};\n\nexport default useRuleModel;\n","import { t } from \"i18next\";\nimport { isNotEmpty, removeBy, toLabelAndValue } from \"neetocist\";\nimport { pluck } from \"ramda\";\n\nimport {\n BUILDER_ANCHORS,\n BUILDER_PANEL_TYPES,\n CONDITION_MODE,\n SWAP_CHANNEL_ORDER,\n} from \"../constants\";\nimport {\n humanize,\n isContainsVerb,\n isNumericVerb,\n isExcludeVerb,\n scopePhoneFields,\n copyFor,\n} from \"../utils\";\n\nconst triggerValue = option => option.eventValue ?? option.value ?? option.id;\n\nconst optionValue = option => option.value ?? option.id;\n\nconst normalizeOptions = options =>\n (options || []).map(option =>\n typeof option === \"string\" ? toLabelAndValue(option) : option\n );\n\nconst groupByCategory = options => {\n const groups = [];\n const indexByCategory = {};\n options.forEach(option => {\n const category = option.category || \"\";\n // eslint-disable-next-line security/detect-object-injection\n if (indexByCategory[category] === undefined) {\n // eslint-disable-next-line security/detect-object-injection\n indexByCategory[category] = groups.length;\n groups.push([category, []]);\n }\n // eslint-disable-next-line security/detect-object-injection\n groups[indexByCategory[category]][1].push(option);\n });\n\n return groups;\n};\n\nconst conditionAt = ({ rule, index }) =>\n // eslint-disable-next-line security/detect-object-injection\n rule.conditions[index] || {};\n\n// eslint-disable-next-line security/detect-object-injection\nconst actionAt = ({ rule, index }) => rule.actions[index] || {};\n\n// eslint-disable-next-line security/detect-object-injection\nconst scopeItemAt = ({ rule, index }) => rule.scope?.[index] || {};\n\nconst scopeItemLabel = item =>\n item?.label || item?.name || item?.value || String(item ?? \"\");\n\nconst findField = ({ schema, value }) =>\n (schema.conditions?.fields || []).find(field => optionValue(field) === value);\n\nconst findActionOption = ({ schema, name }) =>\n (schema.actions?.options || []).find(option => optionValue(option) === name);\n\nconst channelOf = ({ schema, action }) =>\n action?.channel || schema.actions?.actionForName?.(action?.name)?.channel;\n\nconst recipientOf = ({ schema, action }) =>\n action?.recipient ?? schema.actions?.actionForName?.(action?.name)?.recipient;\n\nconst channelMetaOf = ({ schema, action }) =>\n schema.actions?.channelMeta?.[channelOf({ schema, action })] || {};\n\nconst actionHasConfig = ({ schema, action }) => {\n const meta = channelMetaOf({ schema, action });\n if (meta.mediumLabel) return true;\n\n const option = findActionOption({ schema, name: action?.name });\n if (option?.component || option?.renderConfig) return true;\n\n if (schema.actions?.hasConfig) return schema.actions.hasConfig(action);\n\n return !!schema.actions?.renderConfig;\n};\n\nconst recipientsFor = ({ schema, action }) => {\n const channel = channelOf({ schema, action });\n if (channel && schema.actions?.recipientsFor) {\n return schema.actions.recipientsFor(channel);\n }\n\n const option = findActionOption({ schema, name: channel });\n if (option?.recipients) return option.recipients;\n\n return schema.actions?.recipients || [];\n};\n\nconst nextTriggers = ({ schema, rule, value }) => {\n if (schema.triggers?.multi) {\n const names = pluck(\"name\", rule.triggers);\n\n return names.includes(value)\n ? removeBy({ name: value }, rule.triggers)\n : [...rule.triggers, { name: value }];\n }\n\n return [{ name: value }];\n};\n\nconst nextConditionAt = ({ schema, rule, index, value }) => {\n const field = findField({ schema, value });\n const previous = conditionAt({ rule, index });\n const first = field?.allowMatching?.[0];\n const defaultVerb =\n first && !(field?.noValueForVerbs || []).includes(first)\n ? first\n : undefined;\n\n const verb = (field?.allowMatching || []).includes(previous.verb)\n ? previous.verb\n : defaultVerb;\n\n return {\n ...previous,\n field: value,\n kind: field?.kind,\n verb,\n metadata: {},\n };\n};\n\nconst nextActionAt = ({ schema, rule, index, value }) => {\n if (!schema.actions?.resolveName) {\n const option = findActionOption({ schema, name: value });\n const prev = actionAt({ rule, index });\n\n if (option?.recipients) {\n const channelChanged = prev.channel !== value;\n\n return {\n ...prev,\n channel: value,\n recipient: channelChanged ? undefined : prev.recipient,\n name: \"\",\n type: option?.type,\n metadata: channelChanged ? {} : prev.metadata,\n };\n }\n\n return {\n ...prev,\n channel: undefined,\n recipient: undefined,\n name: value,\n type: option?.type,\n metadata: {},\n };\n }\n\n const prev = actionAt({ rule, index });\n const prevChannel = channelOf({ schema, action: prev });\n const channelChanged = prevChannel !== value;\n let recipient = channelChanged ? undefined : prev.recipient;\n if (channelChanged) {\n const channelRecipients =\n // eslint-disable-next-line security/detect-object-injection\n schema.actions?.recipientsByChannel?.[value] || [];\n if (channelRecipients.length === 1) [recipient] = channelRecipients;\n }\n\n return {\n ...prev,\n channel: value,\n recipient,\n name: schema.actions.resolveName({ channel: value, recipient }),\n metadata: channelChanged ? {} : prev.metadata,\n };\n};\n\nconst appendScopeItem = ({ schema, rule, value }) => {\n const sc = schema.scope || {};\n const option = (sc.options || []).find(\n candidate => optionValue(candidate) === value\n ) || { value };\n const requiresPhone = sc.requiresPhone?.(rule.actions) || false;\n if (!requiresPhone) return option;\n\n const phoneFields = scopePhoneFields({ schema, item: option });\n\n return phoneFields?.length === 1\n ? { ...option, phoneField: phoneFields[0].value }\n : option;\n};\n\nconst nextActionRecipientAt = ({ schema, rule, index, value }) => {\n const prev = actionAt({ rule, index });\n const channel = channelOf({ schema, action: prev });\n\n return {\n ...prev,\n recipient: value,\n name: schema.actions?.resolveName\n ? schema.actions.resolveName({ channel, recipient: value })\n : value,\n };\n};\n\nconst descriptorFor = ({ anchor, schema, rule, index }) => {\n switch (anchor) {\n case BUILDER_ANCHORS.TRIGGER_ADD:\n case BUILDER_ANCHORS.TRIGGER_REPLACE: {\n const multi = !!schema.triggers?.multi;\n const isReplace = anchor === BUILDER_ANCHORS.TRIGGER_REPLACE;\n const triggerTitle = isReplace\n ? (multi && t(\"neetoRules.builder.panes.changeTriggers\")) ||\n t(\"neetoRules.builder.panes.changeTrigger\")\n : (multi && t(\"neetoRules.builder.panes.whenEllipsis\")) ||\n t(\"neetoRules.builder.panes.addTrigger\");\n\n const triggerSubtitle =\n (multi && t(\"neetoRules.builder.panes.triggerSubtitleMulti\")) ||\n (isReplace\n ? t(\"neetoRules.builder.panes.triggerSubtitleReplace\")\n : t(\"neetoRules.builder.panes.triggerSubtitleAdd\"));\n\n return {\n title: triggerTitle,\n subtitle: triggerSubtitle,\n multi,\n cascade: !!schema.actor?.enabled,\n options: (schema.triggers?.options || []).map(option => ({\n label: option.paneLabel || option.label,\n value: triggerValue(option),\n category: option.category,\n })),\n selectedValues: pluck(\"name\", rule.triggers),\n };\n }\n case BUILDER_ANCHORS.TRIGGER_ACTOR:\n return {\n title: t(\"neetoRules.builder.panes.actorTitle\"),\n subtitle: t(\"neetoRules.builder.panes.actorSubtitle\"),\n options: (schema.actor?.options || []).map(option => ({\n label: option.label,\n value: optionValue(option),\n })),\n selectedValues: [rule.performer],\n };\n case BUILDER_ANCHORS.COND_FIELD:\n return {\n title: t(\"neetoRules.builder.panes.addCondition\"),\n subtitle: t(\"neetoRules.builder.panes.condFieldSubtitle\"),\n cascade: true,\n options: (schema.conditions?.fields || []).map(field => ({\n label: field.paneLabel || field.label,\n value: optionValue(field),\n category: field.category,\n })),\n selectedValues: [conditionAt({ rule, index }).field],\n };\n case BUILDER_ANCHORS.COND_OP_TOGGLE: {\n const field = findField({\n schema,\n value: conditionAt({ rule, index }).field,\n });\n const labels = schema.conditions?.operatorLabels || {};\n const verbs = field?.allowMatching || [];\n const fieldLabel = field?.paneLabel || field?.label || \"\";\n\n const isContains = isNotEmpty(verbs) && verbs.every(isContainsVerb);\n const isNumeric = !isContains && verbs.some(isNumericVerb);\n const isExclude = !isContains && !isNumeric && verbs.some(isExcludeVerb);\n const hasOptions = isNotEmpty(\n normalizeOptions(\n field?.values || field?.dropdownOptions || field?.options\n )\n );\n\n const containsVariant = hasOptions ? \"Values\" : \"Keywords\";\n const numericOrExcludeVariant = isExclude ? \"Exclude\" : \"\";\n const nonContainsVariant = isNumeric ? \"Number\" : numericOrExcludeVariant;\n const variant = isContains ? containsVariant : nonContainsVariant;\n\n return {\n title: t(`neetoRules.builder.panes.operatorTitle${variant}`),\n subtitle: variant\n ? t(`neetoRules.builder.panes.operatorSubtitle${variant}`, {\n field: fieldLabel,\n })\n : t(\"neetoRules.builder.panes.operatorSubtitle\"),\n cascade: true,\n options: verbs.map(verb => ({\n // eslint-disable-next-line security/detect-object-injection\n label: labels[verb] || humanize(verb),\n value: verb,\n })),\n selectedValues: [conditionAt({ rule, index }).verb],\n };\n }\n case BUILDER_ANCHORS.COND_CONNECTOR:\n return {\n title: t(\"neetoRules.builder.panes.connectorTitle\"),\n subtitle: t(\"neetoRules.builder.panes.connectorSubtitle\"),\n options: [\n {\n label: t(\"neetoRules.builder.panes.connectorAndOption\"),\n value: CONDITION_MODE.AND,\n },\n {\n label: t(\"neetoRules.builder.panes.connectorOrOption\"),\n value: CONDITION_MODE.OR,\n },\n ],\n selectedValues: [rule.conditionMode],\n };\n case BUILDER_ANCHORS.ACTION_ADD:\n case BUILDER_ANCHORS.ACTION_CHANNEL: {\n const isSwap = anchor === BUILDER_ANCHORS.ACTION_CHANNEL;\n const channelMetaFor = value =>\n // eslint-disable-next-line security/detect-object-injection\n schema.actions?.channelMeta?.[value] || {};\n\n const rank = value => {\n const idx = SWAP_CHANNEL_ORDER.indexOf(value);\n\n return idx === -1 ? SWAP_CHANNEL_ORDER.length : idx;\n };\n\n const sourceOptions = isSwap\n ? [...(schema.actions?.options || [])].sort(\n (optionA, optionB) =>\n rank(optionValue(optionA)) - rank(optionValue(optionB))\n )\n : schema.actions?.options || [];\n\n return {\n title: isSwap\n ? t(\"neetoRules.builder.panes.actionSwapTitle\")\n : t(\"neetoRules.builder.panes.actionAddTitle\"),\n subtitle: isSwap\n ? t(\"neetoRules.builder.panes.actionSwapSubtitle\")\n : t(\"neetoRules.builder.panes.actionAddSubtitle\"),\n cascade: true,\n options: sourceOptions.map(option => {\n const value = optionValue(option);\n const meta = channelMetaFor(value);\n\n return {\n label: isSwap ? meta.channelLabel || option.label : option.label,\n value,\n category: option.category,\n disabled: !!option.disabled,\n icon: (isSwap ? meta.icon : option.icon) || option.icon,\n };\n }),\n selectedValues: [\n channelOf({ schema, action: actionAt({ rule, index }) }) ??\n actionAt({ rule, index }).name,\n ],\n };\n }\n case BUILDER_ANCHORS.ACTION_RECIPIENT: {\n const action = actionAt({ rule, index });\n const channel = channelOf({ schema, action });\n // eslint-disable-next-line security/detect-object-injection\n const meta = schema.actions?.channelMeta?.[channel] || {};\n const option = findActionOption({ schema, name: channel });\n\n return {\n title:\n meta.recipientTitle ||\n option?.recipientTitle ||\n t(\"neetoRules.builder.panes.recipientTitle\"),\n subtitle:\n meta.recipientSubtitle ||\n option?.recipientSubtitle ||\n t(\"neetoRules.builder.panes.recipientSubtitle\"),\n options: recipientsFor({ schema, action }).map(recipient => ({\n label: recipient.label,\n value: optionValue(recipient),\n })),\n selectedValues: [recipientOf({ schema, action })],\n };\n }\n case BUILDER_ANCHORS.SCOPE: {\n const sc = schema.scope || {};\n const selected = (rule.scope || []).map(item => item?.value ?? item);\n const requiresPhone = sc.requiresPhone?.(rule.actions) || false;\n\n return {\n title: selected.length\n ? sc.paneChangeTitle || t(\"neetoRules.builder.panes.scopeChangeTitle\")\n : sc.paneTitle || t(\"neetoRules.builder.panes.scopeTitle\"),\n subtitle:\n sc.paneSubtitle || t(\"neetoRules.builder.panes.scopeSubtitle\"),\n multi: true,\n options: (sc.options || []).map(option => {\n const value = optionValue(option);\n const blockedNoPhone =\n requiresPhone && option.hasPhoneField === false;\n const isSelected = selected.includes(value);\n\n return {\n label: option.label,\n value,\n disabled: (!!option.disabled || blockedNoPhone) && !isSelected,\n disabledReason: blockedNoPhone && sc.disabledReason,\n disabledTooltip: blockedNoPhone && sc.disabledTooltip,\n };\n }),\n selectedValues: selected,\n };\n }\n case BUILDER_ANCHORS.SCOPE_PHONE_FIELD: {\n const sc = schema.scope || {};\n const item = scopeItemAt({ rule, index });\n const meeting = scopeItemLabel(item);\n const options = scopePhoneFields({ schema, item }) || [];\n\n return {\n title:\n copyFor(sc.phoneFieldPaneTitle, { meeting }) ||\n t(\"neetoRules.builder.panes.phoneFieldTitle\"),\n subtitle:\n copyFor(sc.phoneFieldPaneSubtitle, { meeting }) ||\n t(\"neetoRules.builder.panes.phoneFieldSubtitle\", { meeting }),\n options: options.map(option => ({\n label: option.label,\n value: optionValue(option),\n })),\n selectedValues: [item.phoneField],\n };\n }\n default:\n return { title: \"\", subtitle: \"\", options: [], selectedValues: [] };\n }\n};\n\nconst commitFor = ({ anchor, schema, rule, index, value, helpers }) => {\n const {\n setTriggers,\n setPerformer,\n setConditionMode,\n setFieldValue,\n fieldKeys,\n } = helpers;\n\n switch (anchor) {\n case BUILDER_ANCHORS.TRIGGER_ADD:\n case BUILDER_ANCHORS.TRIGGER_REPLACE: {\n if (schema.triggers?.multi) {\n const names = pluck(\"name\", rule.triggers);\n setTriggers(\n names.includes(value)\n ? removeBy({ name: value }, rule.triggers)\n : [...rule.triggers, { name: value }]\n );\n\n return \"stay\";\n }\n setTriggers([{ name: value }]);\n\n const leadTime = schema.triggers?.leadTime;\n if (\n leadTime?.fieldKey &&\n (leadTime.appliesTo || []).includes(value) &&\n !rule.leadTime\n ) {\n // eslint-disable-next-line @bigbinary/neeto/use-common-constants\n setFieldValue(`${leadTime.fieldKey}.value`, leadTime.default ?? 10);\n }\n\n return \"stay\";\n }\n case BUILDER_ANCHORS.TRIGGER_ACTOR:\n setPerformer(value);\n\n return \"stay\";\n case BUILDER_ANCHORS.COND_FIELD: {\n setFieldValue(\n `${fieldKeys.conditions}.value.${index}`,\n nextConditionAt({ schema, rule, index, value })\n );\n\n return \"stay\";\n }\n case BUILDER_ANCHORS.COND_OP_TOGGLE:\n setFieldValue(`${fieldKeys.conditions}.value.${index}.verb`, value);\n\n return \"stay\";\n case BUILDER_ANCHORS.COND_CONNECTOR:\n setConditionMode(value);\n\n return \"stay\";\n case BUILDER_ANCHORS.ACTION_ADD:\n case BUILDER_ANCHORS.ACTION_CHANNEL: {\n setFieldValue(\n `${fieldKeys.actions}.value.${index}`,\n nextActionAt({ schema, rule, index, value })\n );\n\n return \"stay\";\n }\n case BUILDER_ANCHORS.ACTION_RECIPIENT: {\n setFieldValue(\n `${fieldKeys.actions}.value.${index}`,\n nextActionRecipientAt({ schema, rule, index, value })\n );\n\n return \"stay\";\n }\n case BUILDER_ANCHORS.SCOPE: {\n const key = fieldKeys.scope;\n const current = rule.scope || [];\n const has = current.some(item => (item?.value ?? item) === value);\n const next = has\n ? current.filter(item => (item?.value ?? item) !== value)\n : [...current, appendScopeItem({ schema, rule, value })];\n setFieldValue(`${key}.value`, next);\n\n return \"stay\";\n }\n case BUILDER_ANCHORS.SCOPE_PHONE_FIELD: {\n const key = fieldKeys.scope;\n setFieldValue(`${key}.value.${index}.phoneField`, value);\n\n return \"stay\";\n }\n default:\n return \"close\";\n }\n};\n\nconst continueTargetFor = ({ anchor, schema, rule, index }) => {\n switch (anchor) {\n case BUILDER_ANCHORS.TRIGGER_ADD:\n case BUILDER_ANCHORS.TRIGGER_REPLACE:\n return schema.actor?.enabled\n ? {\n type: BUILDER_PANEL_TYPES.ACTOR,\n data: { anchor: BUILDER_ANCHORS.TRIGGER_ACTOR },\n }\n : null;\n case BUILDER_ANCHORS.COND_FIELD:\n return {\n type: BUILDER_PANEL_TYPES.OPERATOR,\n data: { index, anchor: BUILDER_ANCHORS.COND_OP_TOGGLE },\n };\n case BUILDER_ANCHORS.COND_OP_TOGGLE: {\n const condition = conditionAt({ rule, index });\n const field = findField({ schema, value: condition.field });\n if ((field?.noValueForVerbs || []).includes(condition.verb)) return null;\n\n return {\n type: BUILDER_PANEL_TYPES.CONDITION_VALUE,\n data: { index, anchor: BUILDER_ANCHORS.COND_VALUES },\n };\n }\n case BUILDER_ANCHORS.ACTION_ADD:\n case BUILDER_ANCHORS.ACTION_CHANNEL: {\n const action = actionAt({ rule, index });\n\n if (actionHasConfig({ schema, action })) {\n return {\n type: BUILDER_PANEL_TYPES.ACTION_CONFIG,\n data: { index, anchor: BUILDER_ANCHORS.ACTION_CONFIG },\n };\n }\n\n return channelMetaOf({ schema, action }).needsRecipient\n ? {\n type: BUILDER_PANEL_TYPES.RECIPIENT,\n data: { index, anchor: BUILDER_ANCHORS.ACTION_RECIPIENT },\n }\n : null;\n }\n case BUILDER_ANCHORS.ACTION_RECIPIENT:\n return null;\n default:\n return null;\n }\n};\n\nconst replaceAt = ({ list, index, item }) => {\n const next = [...list];\n // eslint-disable-next-line security/detect-object-injection\n next[index] = item;\n\n return next;\n};\n\nconst applyPreview = ({ rule, schema, anchor, index, value }) => {\n switch (anchor) {\n case BUILDER_ANCHORS.TRIGGER_ADD:\n case BUILDER_ANCHORS.TRIGGER_REPLACE:\n return {\n ...rule,\n triggers: Array.isArray(value)\n ? value.map(name => ({ name }))\n : nextTriggers({ schema, rule, value }),\n };\n case BUILDER_ANCHORS.TRIGGER_ACTOR:\n return { ...rule, performer: value };\n case BUILDER_ANCHORS.COND_FIELD:\n return {\n ...rule,\n conditions: replaceAt({\n list: rule.conditions,\n index,\n item: nextConditionAt({ schema, rule, index, value }),\n }),\n };\n case BUILDER_ANCHORS.COND_OP_TOGGLE:\n return {\n ...rule,\n conditions: replaceAt({\n list: rule.conditions,\n index,\n item: { ...conditionAt({ rule, index }), verb: value },\n }),\n };\n case BUILDER_ANCHORS.COND_CONNECTOR:\n return { ...rule, conditionMode: value };\n case BUILDER_ANCHORS.ACTION_ADD:\n case BUILDER_ANCHORS.ACTION_CHANNEL:\n return {\n ...rule,\n actions: replaceAt({\n list: rule.actions,\n index,\n item: nextActionAt({ schema, rule, index, value }),\n }),\n };\n case BUILDER_ANCHORS.ACTION_RECIPIENT:\n return {\n ...rule,\n actions: replaceAt({\n list: rule.actions,\n index,\n item: nextActionRecipientAt({ schema, rule, index, value }),\n }),\n };\n case BUILDER_ANCHORS.SCOPE_PHONE_FIELD:\n return {\n ...rule,\n scope: replaceAt({\n list: rule.scope,\n index,\n item: { ...scopeItemAt({ rule, index }), phoneField: value },\n }),\n };\n default:\n return rule;\n }\n};\n\nexport {\n optionValue,\n normalizeOptions,\n groupByCategory,\n descriptorFor,\n commitFor,\n continueTargetFor,\n applyPreview,\n};\n","import { Fragment, useEffect, useMemo, useRef, useState } from \"react\";\n\nimport { flatten } from \"flat\";\nimport { useFormikContext } from \"formik\";\nimport { isNotEmpty } from \"neetocist\";\nimport { Plus } from \"neetoicons\";\nimport { Button } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport useUtilityStore from \"components/stores/useUtilityStore\";\n\nimport ConditionRow from \"./ConditionRow\";\nimport Connector from \"./Connector\";\nimport DelayRow from \"./DelayRow\";\nimport MetaBlock from \"./MetaBlock\";\nimport ScopeBlock from \"./ScopeBlock\";\nimport ThenBlock from \"./ThenBlock\";\nimport WhenBlock from \"./WhenBlock\";\n\nimport {\n ACTION_ANCHORS,\n BUILDER_ANCHORS,\n CONDITION_ANCHORS,\n} from \"../constants\";\nimport usePaneCascade from \"../hooks/usePaneCascade\";\nimport useRuleModel from \"../hooks/useRuleModel\";\nimport { applyPreview } from \"../Panes/utils\";\nimport {\n hasTrigger,\n isRuleComplete,\n invalidScopeIndexes,\n invalidScopePhoneFieldIndexes,\n joinTypeFor,\n} from \"../utils\";\n\nconst Canvas = ({ schema }) => {\n const { t } = useTranslation();\n const { openPane, closePane } = usePaneCascade(schema);\n const { errors, submitCount } = useFormikContext();\n const {\n rule,\n fieldKeys,\n setTriggers,\n setPerformer,\n setConditions,\n setActions,\n setDelay,\n removeCondition,\n removeAction,\n setActive,\n setScope,\n } = useRuleModel(schema);\n\n const { builderPreview, panelState } = useUtilityStore.pick();\n const displayRule = useMemo(\n () =>\n builderPreview ? applyPreview({ rule, schema, ...builderPreview }) : rule,\n [rule, schema, builderPreview]\n );\n\n const activeToken = panelState?.data || {};\n const isActive = ({ type, index }) =>\n !!panelState?.type &&\n activeToken.anchor === type &&\n activeToken.index === index;\n\n const addingAction =\n !!panelState?.type &&\n activeToken.anchor === BUILDER_ANCHORS.ACTION_ADD &&\n activeToken.index === rule.actions.length &&\n !builderPreview;\n\n const flatErrors = useMemo(() => flatten(errors || {}), [errors]);\n const [flashing, setFlashing] = useState(false);\n const lastSubmitCount = useRef(submitCount);\n useEffect(() => {\n if (submitCount <= lastSubmitCount.current) return undefined;\n lastSubmitCount.current = submitCount;\n if (\n isEmpty(flatErrors) &&\n isRuleComplete(rule) &&\n isEmpty(invalidScopeIndexes({ rule, schema })) &&\n isEmpty(invalidScopePhoneFieldIndexes({ rule, schema }))\n ) {\n return undefined;\n }\n\n setFlashing(true);\n const timer = setTimeout(() => setFlashing(false), 2200);\n\n return () => clearTimeout(timer);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [submitCount]);\n\n const hasErrorAt = ({ prefix, exclude = [] }) =>\n Object.keys(flatErrors).some(\n key =>\n (key === prefix || key.startsWith(`${prefix}.`)) &&\n !exclude.some(\n sub =>\n key === `${prefix}.${sub}` || key.startsWith(`${prefix}.${sub}.`)\n )\n );\n\n const isInvalid = ({ type, index }) => {\n if (!flashing) return false;\n\n const conditionMeta = `${fieldKeys.conditions}.value.${index}.metadata`;\n const actionMeta = `${fieldKeys.actions}.value.${index}.metadata`;\n // eslint-disable-next-line security/detect-object-injection\n const actionItem = rule.actions[index] || {};\n const channel =\n actionItem.channel ||\n schema.actions?.actionForName?.(actionItem.name)?.channel;\n\n const hasRecipientEditor = !!schema.actions?.renderRecipientEditor?.({\n channel,\n name: actionMeta,\n action: actionItem,\n });\n\n const hasRecipientField = !!schema.actions?.renderRecipientField?.({\n channel,\n recipient: actionItem.recipient,\n name: actionMeta,\n action: actionItem,\n });\n\n const flatOption =\n schema.actions?.optionForName?.(actionItem.name) ||\n schema.actions?.optionForChannel?.(channel);\n\n const recipientFields = [\n ...(hasRecipientEditor || hasRecipientField ? [\"emails\"] : []),\n ...(flatOption?.type === \"smsToNumbers\" ? [\"phoneNumbers\"] : []),\n ];\n switch (type) {\n case BUILDER_ANCHORS.TRIGGER_ACTOR: {\n const actorKey = schema.actor?.fieldKey;\n\n return !!actorKey && hasErrorAt({ prefix: `${actorKey}.value` });\n }\n case BUILDER_ANCHORS.COND_FIELD:\n return hasErrorAt({\n prefix: `${fieldKeys.conditions}.value.${index}.field`,\n });\n case BUILDER_ANCHORS.COND_OP_TOGGLE: {\n // eslint-disable-next-line security/detect-object-injection\n const condition = rule.conditions[index] || {};\n\n return !!condition.field && !condition.verb;\n }\n case BUILDER_ANCHORS.COND_VALUES:\n return hasErrorAt({ prefix: conditionMeta });\n case BUILDER_ANCHORS.ACTION_CONFIG:\n return hasErrorAt({ prefix: actionMeta, exclude: recipientFields });\n case BUILDER_ANCHORS.ACTION_RECIPIENT:\n return recipientFields.some(field =>\n hasErrorAt({ prefix: `${actionMeta}.${field}` })\n );\n case BUILDER_ANCHORS.ACTION_ADD:\n return !rule.actions.some(item => item?.channel || item?.name);\n case BUILDER_ANCHORS.RULE_DELAY:\n return hasErrorAt({ prefix: `${fieldKeys.delay}.value` });\n case BUILDER_ANCHORS.SCOPE:\n return invalidScopeIndexes({ rule, schema }).includes(index);\n case BUILDER_ANCHORS.SCOPE_PHONE_FIELD:\n return invalidScopePhoneFieldIndexes({ rule, schema }).includes(index);\n case BUILDER_ANCHORS.META_NAME:\n return hasErrorAt({ prefix: `${fieldKeys.name}.value` });\n default:\n return false;\n }\n };\n\n const closePaneIfTargeting = ({ anchors, index }) => {\n if (\n panelState?.type &&\n anchors.includes(activeToken.anchor) &&\n activeToken.index === index\n ) {\n closePane();\n }\n };\n\n const handleRemoveCondition = index => {\n closePaneIfTargeting({ anchors: CONDITION_ANCHORS, index });\n removeCondition(index);\n };\n\n const handleRemoveAction = index => {\n closePaneIfTargeting({ anchors: ACTION_ANCHORS, index });\n removeAction(index);\n const remaining = rule.actions.filter((_, i) => i !== index);\n if (!remaining.some(action => action?.channel || action?.name)) {\n setScope([]);\n }\n };\n\n const handleRemoveDelay = () => {\n closePaneIfTargeting({\n anchors: [BUILDER_ANCHORS.RULE_DELAY],\n index: undefined,\n });\n setDelay(null);\n };\n\n const isTriggerSet = hasTrigger(rule);\n const hasAction = rule.actions.some(\n action => action?.channel || action?.name\n );\n const isScopeEnabled = schema?.scope?.enabled && isTriggerSet && hasAction;\n const isScopeComplete =\n !schema?.scope?.enabled || isNotEmpty(rule.scope || []);\n const isComplete = isRuleComplete(rule) && isScopeComplete;\n const handleRemoveScope = index => {\n closePaneIfTargeting({\n anchors: [BUILDER_ANCHORS.SCOPE_PHONE_FIELD],\n index,\n });\n setScope((rule.scope || []).filter((_, i) => i !== index));\n };\n const conditionFields = schema?.conditions?.fields || [];\n const canAddCondition = isNotEmpty(conditionFields);\n const leadTimeAppliesTo = schema?.triggers?.leadTime?.appliesTo || [];\n const hasLeadTimeTrigger = rule.triggers.some(trigger =>\n leadTimeAppliesTo.includes(trigger.name)\n );\n const isDelayEnabled = schema?.delay?.enabled && !hasLeadTimeTrigger;\n\n useEffect(() => {\n if (hasLeadTimeTrigger && rule.delay) setDelay(null);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [hasLeadTimeTrigger, rule.delay]);\n\n const handleAddCondition = () => {\n if (isEmpty(conditionFields)) return;\n\n setConditions([\n ...rule.conditions,\n { joinType: joinTypeFor(rule.conditionMode), metadata: {} },\n ]);\n\n openPane({\n type: BUILDER_ANCHORS.COND_FIELD,\n index: rule.conditions.length,\n });\n };\n\n const handleClearTrigger = () => {\n setTriggers([]);\n setPerformer(null);\n setConditions([]);\n setDelay(null);\n setActions([]);\n setScope([]);\n closePane();\n };\n\n const handleAddAction = () => {\n openPane({ type: BUILDER_ANCHORS.ACTION_ADD, index: rule.actions.length });\n };\n\n const slotCtx = { rule, schema, openPane };\n const renderSlot = name =>\n // eslint-disable-next-line security/detect-object-injection\n schema?.slots?.[name]?.(slotCtx) ?? null;\n\n return (\n <div className=\"neeto-rules-builder\">\n <div className=\"mb-canvas neeto-rules-main-card\">\n <WhenBlock\n {...{ isActive, isInvalid, schema }}\n rule={displayRule}\n onClearTrigger={isTriggerSet && handleClearTrigger}\n onToken={openPane}\n onAddCondition={\n canAddCondition &&\n isEmpty(displayRule.conditions) &&\n handleAddCondition\n }\n />\n {renderSlot(\"afterWhen\")}\n {displayRule.conditions.map((condition, index) => (\n <ConditionRow\n {...{ condition, index, isActive, isInvalid, schema }}\n key={condition.id ?? index}\n rule={displayRule}\n onRemove={() => handleRemoveCondition(index)}\n onToken={openPane}\n onAddCondition={\n canAddCondition &&\n index === displayRule.conditions.length - 1 &&\n handleAddCondition\n }\n />\n ))}\n {renderSlot(\"afterConditions\")}\n <Connector active={isTriggerSet} />\n {isDelayEnabled &&\n isTriggerSet &&\n (rule.delay ? (\n <Fragment>\n <DelayRow\n {...{ isActive, isInvalid, rule }}\n onRemove={handleRemoveDelay}\n onToken={openPane}\n />\n <Connector active />\n </Fragment>\n ) : (\n <div className=\"mb-add-row\">\n <Button\n icon={Plus}\n iconPosition=\"left\"\n label={t(\"neetoRules.common.addDelay\")}\n size=\"small\"\n style=\"tertiary\"\n onClick={() => openPane({ type: BUILDER_ANCHORS.RULE_DELAY })}\n />\n </div>\n ))}\n <ThenBlock\n {...{ isActive, isInvalid, schema }}\n adding={addingAction}\n rule={displayRule}\n onAddAction={handleAddAction}\n onRemoveAction={handleRemoveAction}\n onToken={openPane}\n />\n {renderSlot(\"afterActions\")}\n {isScopeEnabled && (\n <Fragment>\n <Connector active />\n <ScopeBlock\n {...{ isActive, isInvalid, schema }}\n rule={displayRule}\n onRemoveScope={handleRemoveScope}\n onToken={openPane}\n />\n </Fragment>\n )}\n {isComplete && (\n <Fragment>\n <Connector active />\n <MetaBlock\n {...{ rule }}\n isInvalid={isInvalid({ type: BUILDER_ANCHORS.META_NAME })}\n showName={schema?.meta?.showName ?? true}\n onEditName={() => openPane({ type: BUILDER_ANCHORS.META_NAME })}\n onToggleActive={event => setActive(event.target.checked)}\n />\n </Fragment>\n )}\n </div>\n </div>\n );\n};\n\nexport default Canvas;\n","export const ACTION_CONFIG_TYPES = {\n emailChannel: \"emailChannel\",\n multiSelect: \"multiSelect\",\n dropdown: \"dropdown\",\n note: \"note\",\n textarea: \"textarea\",\n number: \"number\",\n text: \"text\",\n regex: \"regex\",\n decimal: \"decimal\",\n date: \"date\",\n};\n\nexport const CONDITION_VALUE_TYPES = {\n multiSelect: \"multi-select\",\n multiSelectCreate: \"multi-select-create\",\n number: \"number\",\n email: \"email\",\n};\n","import { getIn, useFormikContext } from \"formik\";\nimport { isNot } from \"neetocist\";\nimport { dayjs } from \"neetocommons/utils\";\nimport {\n Checkbox,\n DatePicker,\n Input,\n Radio,\n Textarea,\n Typography,\n} from \"neetoui\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { DATE_FORMAT } from \"src/constants/dateTime\";\n\nimport { ACTION_CONFIG_TYPES } from \"./constants\";\n\nimport EditorAction from \"../../../NeetoRulesForm/Element/Actions/Fields/Common/EditorAction\";\nimport { normalizeOptions } from \"../utils\";\n\nconst restoreTokens = text =>\n text ? text.replace(/\\[\\[/g, \"{{\").replace(/\\]\\]/g, \"}}\") : text;\n\nconst ActionConfigFields = ({ name, option, action, searchTerm = \"\" }) => {\n const { t } = useTranslation();\n const { values, setFieldValue, setFieldTouched, errors, touched } =\n useFormikContext();\n const type = option?.type;\n const options = normalizeOptions(option?.dropdownOptions);\n const valuePath = `${name}.value`;\n\n const fieldError = path => getIn(touched, path) && getIn(errors, path);\n\n const term = searchTerm.trim().toLowerCase();\n const filterOptions = list =>\n term\n ? list.filter(item => String(item.label).toLowerCase().includes(term))\n : list;\n\n const hint = restoreTokens(option?.dynamicValuesHint);\n const hintBlock = hint ? (\n <Typography className=\"neeto-ui-text-gray-500\" style=\"body3\">\n {hint}\n </Typography>\n ) : null;\n\n const noOptionsMessage = () => {\n const noun = option?.valueNounPlural || option?.valueNoun;\n\n return (\n <Typography className=\"neeto-ui-text-gray-500\" style=\"body2\">\n {noun\n ? t(\"neetoRules.builder.config.noOptionsFor\", { field: noun })\n : t(\"neetoRules.builder.config.noOptions\")}\n </Typography>\n );\n };\n\n const noMatches = (\n <div className=\"mb-pane-empty\">{t(\"neetoRules.builder.noMatches\")}</div>\n );\n\n if (type === ACTION_CONFIG_TYPES.emailChannel) {\n const subjectPath = `${name}.subject`;\n const bodyPath = `${name}.body`;\n\n return (\n <div className=\"flex flex-col gap-4\">\n <Input\n required\n error={fieldError(subjectPath)}\n label={t(\"neetoRules.builder.config.subject\")}\n placeholder={t(\"neetoRules.builder.config.subjectPlaceholder\")}\n size=\"large\"\n value={getIn(values, subjectPath) ?? \"\"}\n onBlur={() => setFieldTouched(subjectPath, true)}\n onChange={event => setFieldValue(subjectPath, event.target.value)}\n />\n <EditorAction\n required\n label={t(\"neetoRules.builder.config.body\")}\n name={bodyPath}\n placeholder={t(\"neetoRules.builder.config.bodyPlaceholder\")}\n value={action?.metadata?.body}\n variables={option?.variables}\n />\n {hintBlock}\n </div>\n );\n }\n\n if (type === ACTION_CONFIG_TYPES.multiSelect) {\n if (isEmpty(options)) return noOptionsMessage();\n\n const current = getIn(values, valuePath) || [];\n const filtered = filterOptions(options);\n if (term && isEmpty(filtered)) return noMatches;\n\n const toggle = value => {\n setFieldTouched(valuePath, true);\n setFieldValue(\n valuePath,\n current.includes(value)\n ? current.filter(isNot(value))\n : [...current, value]\n );\n };\n\n return (\n <div className=\"flex flex-col gap-y-1\">\n {filtered.map(item => (\n <Checkbox\n checked={current.includes(item.value)}\n key={item.value}\n label={item.label}\n onChange={() => toggle(item.value)}\n />\n ))}\n {fieldError(valuePath) && (\n <p className=\"neeto-ui-input__error\">{fieldError(valuePath)}</p>\n )}\n </div>\n );\n }\n\n if (type === ACTION_CONFIG_TYPES.dropdown) {\n if (isEmpty(options)) return noOptionsMessage();\n\n const current = getIn(values, valuePath);\n const filtered = filterOptions(options);\n if (term && isEmpty(filtered)) return noMatches;\n\n return (\n <Radio\n stacked\n error={fieldError(valuePath)}\n value={current ?? \"\"}\n onBlur={() => setFieldTouched(valuePath, true)}\n onChange={event => {\n const picked = options.find(\n item => String(item.value) === event.target.value\n );\n setFieldValue(valuePath, picked ? picked.value : event.target.value);\n }}\n >\n {filtered.map(item => (\n <Radio.Item key={item.value} label={item.label} value={item.value} />\n ))}\n </Radio>\n );\n }\n\n if (type === ACTION_CONFIG_TYPES.note) {\n return (\n <div className=\"flex flex-col gap-2\">\n <EditorAction\n required\n label={t(\"neetoRules.builder.config.note\")}\n name={valuePath}\n placeholder={t(\"neetoRules.builder.config.bodyPlaceholder\")}\n value={action?.metadata?.value}\n variables={option?.variables}\n />\n {hintBlock}\n </div>\n );\n }\n\n if (\n type === ACTION_CONFIG_TYPES.textarea ||\n type === ACTION_CONFIG_TYPES.number\n ) {\n return type === ACTION_CONFIG_TYPES.number ? (\n <Input\n required\n error={fieldError(valuePath)}\n label={t(\"neetoRules.builder.config.value\")}\n size=\"large\"\n type=\"number\"\n value={getIn(values, valuePath) ?? \"\"}\n onBlur={() => setFieldTouched(valuePath, true)}\n onChange={event => setFieldValue(valuePath, event.target.value)}\n />\n ) : (\n <Textarea\n required\n error={fieldError(valuePath)}\n label={t(\"neetoRules.builder.config.message\")}\n rows={5}\n size=\"large\"\n value={getIn(values, valuePath) ?? \"\"}\n onBlur={() => setFieldTouched(valuePath, true)}\n onChange={event => setFieldValue(valuePath, event.target.value)}\n />\n );\n }\n\n if (\n type === ACTION_CONFIG_TYPES.text ||\n type === ACTION_CONFIG_TYPES.regex ||\n type === ACTION_CONFIG_TYPES.decimal\n ) {\n return (\n <div className=\"flex flex-col gap-2\">\n <Input\n required\n error={fieldError(valuePath)}\n label={t(\"neetoRules.builder.config.value\")}\n placeholder={option?.valuePlaceholder}\n size=\"large\"\n value={getIn(values, valuePath) ?? \"\"}\n onBlur={() => setFieldTouched(valuePath, true)}\n onChange={event => setFieldValue(valuePath, event.target.value)}\n />\n {hintBlock}\n </div>\n );\n }\n\n if (type === ACTION_CONFIG_TYPES.date) {\n return (\n <div className=\"flex flex-col gap-2\">\n <DatePicker\n required\n error={fieldError(valuePath)}\n label={t(\"neetoRules.builder.config.value\")}\n type=\"date\"\n value={getIn(values, valuePath) || \"\"}\n onBlur={() => setFieldTouched(valuePath, true)}\n onChange={date =>\n setFieldValue(\n valuePath,\n // eslint-disable-next-line @bigbinary/neeto/use-standard-date-time-formats\n date ? dayjs(date).format(DATE_FORMAT) : \"\"\n )\n }\n />\n {hintBlock}\n </div>\n );\n }\n\n return (\n <Typography style=\"body2\">{t(\"neetoRules.builder.noConfig\")}</Typography>\n );\n};\n\nexport default ActionConfigFields;\n","import { useEffect, useRef } from \"react\";\n\nimport { flatten } from \"flat\";\nimport { useFormikContext } from \"formik\";\nimport { isEmpty } from \"ramda\";\n\nconst keysUnder = ({ obj, prefix, exclude = [] }) =>\n Object.keys(flatten(obj || {})).filter(\n key =>\n (key === prefix || key.startsWith(`${prefix}.`)) &&\n !exclude.some(\n sub => key === `${prefix}.${sub}` || key.startsWith(`${prefix}.${sub}.`)\n )\n );\n\nconst usePaneValidation = prefix => {\n const { validateForm, setFieldTouched, errors } = useFormikContext();\n const errorsRef = useRef(errors);\n errorsRef.current = errors;\n\n useEffect(() => {\n keysUnder({ obj: errorsRef.current, prefix }).forEach(key =>\n setFieldTouched(key, false, false)\n );\n\n return () => {\n keysUnder({ obj: errorsRef.current, prefix }).forEach(key =>\n setFieldTouched(key, true, false)\n );\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [prefix]);\n\n const validate = async (exclude = []) => {\n const nextErrors = await validateForm();\n const offending = keysUnder({ obj: nextErrors, prefix, exclude });\n offending.forEach(key => setFieldTouched(key, true, false));\n\n return isEmpty(offending);\n };\n\n return { validate };\n};\n\nexport default usePaneValidation;\n","import { useEffect, useRef, useState } from \"react\";\n\nimport { useFormikContext } from \"formik\";\nimport { Search } from \"neetoicons\";\nimport { Button, Input, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport ActionConfigFields from \"./Fields/ActionConfigFields\";\nimport { normalizeOptions } from \"./utils\";\n\nimport ErrorCallout from \"../../NeetoRulesForm/Element/Actions/ErrorCallout\";\nimport SmsFields from \"../../NeetoRulesForm/Element/Actions/Fields/SmsFields\";\nimport Panel from \"../../NeetoRulesForm/Panel\";\nimport {\n BUILDER_ANCHORS,\n BUILDER_PANEL_TYPES,\n CONFIG_FOCUSABLE_SELECTOR,\n PANE_SEARCH_THRESHOLD,\n SMS_TYPES,\n} from \"../constants\";\nimport usePaneCascade from \"../hooks/usePaneCascade\";\nimport usePaneValidation from \"../hooks/usePaneValidation\";\nimport useRuleModel from \"../hooks/useRuleModel\";\nimport { actionParts } from \"../utils\";\n\nconst ConfigPane = ({ schema, index }) => {\n const { t } = useTranslation();\n const { rule, fieldKeys } = useRuleModel(schema);\n const { setFieldValue } = useFormikContext();\n const { openType, closePane } = usePaneCascade(schema);\n const bodyRef = useRef(null);\n\n const [searchTerm, setSearchTerm] = useState(\"\");\n\n // eslint-disable-next-line security/detect-object-injection\n const action = rule.actions[index] || {};\n const base = `${fieldKeys.actions}.value.${index}`;\n const {\n option,\n channel,\n verb,\n mediumLabel,\n needsRecipient,\n configTitle,\n configSubtitle,\n } = actionParts({ schema, action });\n const name = `${base}.metadata`;\n\n const flatOption =\n schema.actions?.optionForName?.(action.name) ||\n schema.actions?.optionForChannel?.(channel) ||\n option;\n const isSms = SMS_TYPES.includes(flatOption?.type);\n\n const disabledReason = flatOption?.isDisabled && flatOption.disabledReason;\n const hostRenderConfig =\n flatOption?.renderConfig ||\n flatOption?.component ||\n schema.actions?.renderConfig;\n\n const showSearch =\n normalizeOptions(flatOption?.dropdownOptions).length >=\n PANE_SEARCH_THRESHOLD;\n\n const shouldAdvanceToRecipient = !!needsRecipient;\n\n const { validate } = usePaneValidation(name);\n\n const channelRepName = schema.actions?.optionForChannel?.(channel)?.value;\n const unnamedOnOpen = useRef(!action.name);\n useEffect(() => {\n if (!unnamedOnOpen.current || !channelRepName) return undefined;\n setFieldValue(`${base}.name`, channelRepName);\n\n return () => setFieldValue(`${base}.name`, \"\");\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [base, channelRepName]);\n\n useEffect(() => {\n if (isSms) return undefined;\n\n let frame;\n let attempts = 0;\n const focusFirst = () => {\n const first = bodyRef.current?.querySelector(CONFIG_FOCUSABLE_SELECTOR);\n if (first) {\n first.focus();\n } else if (attempts++ < 20) {\n frame = requestAnimationFrame(focusFirst);\n }\n };\n frame = requestAnimationFrame(focusFirst);\n\n return () => cancelAnimationFrame(frame);\n }, [isSms, action.name]);\n\n const title =\n configTitle ||\n (mediumLabel &&\n t(\"neetoRules.builder.setUpMediumLabel\", {\n verb: verb || t(\"neetoRules.builder.setUp\"),\n mediumLabel,\n })) ||\n option?.label ||\n t(\"neetoRules.builder.setUpAction\");\n\n const handleContinue = async () => {\n if (!(await validate([\"emails\"]))) return;\n\n if (shouldAdvanceToRecipient) {\n openType({\n type: BUILDER_PANEL_TYPES.RECIPIENT,\n data: { index, anchor: BUILDER_ANCHORS.ACTION_RECIPIENT },\n });\n } else {\n closePane();\n }\n };\n\n return (\n <>\n <Panel.Header>\n <div className=\"flex w-full flex-col gap-y-2\">\n <Typography style=\"h3\">{title}</Typography>\n {configSubtitle && (\n <Typography className=\"neeto-ui-text-gray-500\" style=\"body2\">\n {configSubtitle}\n </Typography>\n )}\n {showSearch && (\n <div className=\"mb-pane-search\">\n <Input\n placeholder={t(\"neetoRules.builder.searchPlaceholder\")}\n prefix={<Search />}\n size=\"large\"\n value={searchTerm}\n onChange={event => setSearchTerm(event.target.value)}\n />\n </div>\n )}\n </div>\n </Panel.Header>\n <Panel.Body>\n <div ref={bodyRef}>\n {disabledReason && (\n <div className=\"mb-4\">\n <ErrorCallout\n message={disabledReason}\n selectedField={flatOption}\n />\n </div>\n )}\n {isSms ? (\n <>\n <SmsFields\n {...{ action, index, name }}\n shouldAutoFocus\n selectedField={flatOption}\n showPhoneNumberInput={false}\n />\n <Typography className=\"neeto-ui-text-gray-500 mt-2\" style=\"body3\">\n {t(\"neetoRules.builder.config.smsSegmentHint\")}\n </Typography>\n </>\n ) : (\n (hostRenderConfig?.({\n name,\n action,\n option: flatOption,\n searchTerm,\n }) ?? (\n <ActionConfigFields\n {...{ action, name, searchTerm }}\n option={flatOption}\n />\n ))\n )}\n </div>\n </Panel.Body>\n {shouldAdvanceToRecipient && (\n <Panel.Footer>\n <Button\n label={t(\"neetoRules.buttons.continue\")}\n size=\"large\"\n onClick={handleContinue}\n />\n </Panel.Footer>\n )}\n </>\n );\n};\n\nexport default ConfigPane;\n","import { useEffect, useRef } from \"react\";\n\nimport { useField, useFormikContext } from \"formik\";\nimport { findBy, isNotEmpty } from \"neetocist\";\nimport { Typography } from \"neetoui\";\nimport { Input, Select } from \"neetoui/formik\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { normalizeOptions } from \"./utils\";\n\nimport Panel from \"../../NeetoRulesForm/Panel\";\nimport { DEFAULT_DELAY_UNITS } from \"../constants\";\nimport usePaneValidation from \"../hooks/usePaneValidation\";\nimport useRuleModel from \"../hooks/useRuleModel\";\n\nconst DelayPane = ({ schema }) => {\n const { t } = useTranslation();\n const { fieldKeys } = useRuleModel(schema);\n const { setFieldValue } = useFormikContext();\n const bodyRef = useRef(null);\n\n const name = fieldKeys.delay;\n const [{ value }] = useField(`${name}.value`);\n\n const units = normalizeOptions(schema.delay?.units);\n const unitOptions = isNotEmpty(units) ? units : DEFAULT_DELAY_UNITS;\n\n usePaneValidation(`${name}.value`);\n\n useEffect(() => {\n if (isEmpty(value || {})) {\n setFieldValue(`${name}.value`, {\n value: 10,\n unit: unitOptions[0]?.value ?? \"minutes\",\n });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n const first = bodyRef.current?.querySelector(\"input\");\n // eslint-disable-next-line @bigbinary/neeto/prefer-function-reference\n if (first) setTimeout(() => first.focus(), 0);\n }, []);\n\n return (\n <>\n <Panel.Header>\n <div className=\"flex flex-col gap-y-1\">\n <Typography style=\"h3\">{t(\"neetoRules.common.addDelay\")}</Typography>\n <Typography className=\"neeto-ui-text-gray-500\" style=\"body2\">\n {t(\"neetoRules.helpText.addDelay\")}\n </Typography>\n </div>\n </Panel.Header>\n <Panel.Body>\n <div className=\"flex flex-col gap-y-1.5\" ref={bodyRef}>\n <Typography\n className=\"neeto-ui-text-gray-800\"\n style=\"body2\"\n weight=\"medium\"\n >\n {t(\"neetoRules.builder.waitFor\")}\n </Typography>\n <div className=\"flex items-start gap-x-2\">\n <Input\n className=\"w-44\"\n max={999}\n min={1}\n name={`${name}.value.value`}\n placeholder={t(\"neetoRules.placeholders.enterDelay\")}\n size=\"large\"\n type=\"number\"\n />\n <Select\n defaultValue={findBy({ value: value?.unit }, unitOptions)}\n menuPosition=\"fixed\"\n name={`${name}.value.unit`}\n options={unitOptions}\n size=\"large\"\n onChange={option =>\n setFieldValue(`${name}.value.unit`, option?.value)\n }\n />\n </div>\n </div>\n </Panel.Body>\n </>\n );\n};\n\nexport default DelayPane;\n","import { isNil } from \"ramda\";\n\nexport const toNumber = value =>\n value === \"\" || isNil(value) ? null : Number(value);\n\nexport const clamp = ({ value, min, max }) => {\n let next = value;\n if (!isNil(min)) next = Math.max(min, next);\n\n if (!isNil(max)) next = Math.min(max, next);\n\n return next;\n};\n\nexport const asText = value =>\n value === \"\" || isNil(value) ? \"\" : String(value);\n","import { useState } from \"react\";\n\nimport { Up, Down } from \"neetoicons\";\nimport { Input } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { toNumber, clamp, asText } from \"./utils\";\n\nconst NumberStepper = ({ value, onChange, label, min = 1, max, required }) => {\n const { t } = useTranslation();\n const [draft, setDraft] = useState(null);\n\n const display = draft ?? asText(value);\n\n const commit = raw => {\n setDraft(raw);\n onChange(raw === \"\" ? (min ?? 0) : clamp({ value: Number(raw), min, max }));\n };\n\n const step = delta => {\n setDraft(null);\n const base = Number.isFinite(toNumber(value))\n ? toNumber(value)\n : (min ?? 0);\n onChange(clamp({ value: base + delta, min, max }));\n };\n\n return (\n <div className=\"mb-stepper\">\n <Input\n {...{ label, min, required }}\n autoFocus\n type=\"number\"\n value={display}\n onBlur={() => setDraft(null)}\n onChange={event => commit(event.target.value)}\n onFocus={event => event.target.select()}\n />\n <div className=\"mb-stepper-controls\">\n <button\n aria-label={t(\"neetoRules.builder.aria.increase\")}\n className=\"mb-stepper-btn\"\n tabIndex={-1}\n type=\"button\"\n onClick={() => step(1)}\n >\n <Up />\n </button>\n <button\n aria-label={t(\"neetoRules.builder.aria.decrease\")}\n className=\"mb-stepper-btn\"\n tabIndex={-1}\n type=\"button\"\n onClick={() => step(-1)}\n >\n <Down />\n </button>\n </div>\n </div>\n );\n};\n\nexport default NumberStepper;\n","import { useFormikContext } from \"formik\";\nimport { findBy } from \"neetocist\";\nimport { Select, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Panel from \"../../NeetoRulesForm/Panel\";\nimport NumberStepper from \"../Common/NumberStepper\";\nimport { LEAD_TIME_UNITS } from \"../constants\";\nimport useRuleModel from \"../hooks/useRuleModel\";\nimport { minutesToParts, partsToMinutes } from \"../utils\";\n\nconst LeadTimePane = ({ schema }) => {\n const { t } = useTranslation();\n const { setFieldValue } = useFormikContext();\n const { rule, fieldKeys } = useRuleModel(schema);\n\n const { value: amount, unit } = minutesToParts(rule.leadTime);\n const path = `${fieldKeys.leadTime}.value`;\n const update = ({ value, unit: nextUnit }) =>\n setFieldValue(path, partsToMinutes({ value, unit: nextUnit }));\n\n return (\n <>\n <Panel.Header>\n <div className=\"flex flex-col gap-y-1\">\n <Typography style=\"h3\">\n {t(\"neetoRules.builder.leadTimeTitle\")}\n </Typography>\n <Typography className=\"neeto-ui-text-gray-500\" style=\"body2\">\n {t(\"neetoRules.builder.leadTimeSubtitle\")}\n </Typography>\n </div>\n </Panel.Header>\n <Panel.Body>\n <div className=\"flex items-end gap-x-3\">\n <div className=\"flex-1\">\n <NumberStepper\n label={t(\"neetoRules.builder.before\")}\n value={amount}\n onChange={value =>\n update({ value: value === \"\" ? 0 : value, unit })\n }\n />\n </div>\n <div className=\"w-32 shrink-0\">\n <Select\n isSearchable={false}\n options={LEAD_TIME_UNITS}\n value={findBy({ value: unit }, LEAD_TIME_UNITS) || null}\n onChange={option =>\n update({ value: amount, unit: option?.value })\n }\n />\n </div>\n </div>\n </Panel.Body>\n </>\n );\n};\n\nexport default LeadTimePane;\n","import { Typography } from \"neetoui\";\nimport { Input } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Panel from \"../../NeetoRulesForm/Panel\";\nimport useRuleModel from \"../hooks/useRuleModel\";\n\nconst NamePane = ({ schema }) => {\n const { t } = useTranslation();\n const { fieldKeys } = useRuleModel(schema);\n\n return (\n <>\n <Panel.Header>\n <div className=\"flex flex-col gap-y-1\">\n <Typography style=\"h3\">\n {t(\"neetoRules.builder.automationName\")}\n </Typography>\n <Typography className=\"neeto-ui-text-gray-500\" style=\"body2\">\n {t(\"neetoRules.builder.nameSubtitle\")}\n </Typography>\n </div>\n </Panel.Header>\n <Panel.Body>\n <Input\n autoFocus\n required\n label={t(\"neetoRules.common.name\")}\n name={`${fieldKeys.name}.value`}\n placeholder={t(\"neetoRules.builder.nameYourAutomation\")}\n size=\"large\"\n />\n </Panel.Body>\n </>\n );\n};\n\nexport default NamePane;\n","import { Fragment, useEffect, useMemo, useRef, useState } from \"react\";\n\nimport { useFormikContext } from \"formik\";\nimport { isNot } from \"neetocist\";\nimport { Search } from \"neetoicons\";\nimport { Button, Checkbox, Input, Radio, Tooltip, Typography } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport useUtilityStore from \"components/stores/useUtilityStore\";\n\nimport {\n descriptorFor,\n commitFor,\n continueTargetFor,\n groupByCategory,\n} from \"./utils\";\n\nimport Panel from \"../../NeetoRulesForm/Panel\";\nimport { PANE_SEARCH_THRESHOLD } from \"../constants\";\nimport usePaneCascade from \"../hooks/usePaneCascade\";\nimport useRuleModel from \"../hooks/useRuleModel\";\n\nconst OptionsPane = ({ schema, anchor, index, belowContent = null }) => {\n const { t } = useTranslation();\n const { setFieldValue } = useFormikContext();\n const { rule, fieldKeys, setTriggers, setPerformer, setConditionMode } =\n useRuleModel(schema);\n const { openType, closePane } = usePaneCascade(schema);\n const { setBuilderPreview } = useUtilityStore.pick();\n\n const [searchTerm, setSearchTerm] = useState(\"\");\n const searchRef = useRef(null);\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(() => () => setBuilderPreview(null), []);\n\n useEffect(() => {\n searchRef.current?.querySelector(\"input\")?.focus();\n }, []);\n\n const { title, subtitle, multi, options, selectedValues, cascade } = useMemo(\n () => descriptorFor({ anchor, schema, rule, index }),\n [anchor, schema, rule, index]\n );\n\n const helpers = {\n setTriggers,\n setPerformer,\n setConditionMode,\n setFieldValue,\n fieldKeys,\n };\n\n const showSearch =\n schema?.searchable !== false && options.length >= PANE_SEARCH_THRESHOLD;\n const term = searchTerm.trim().toLowerCase();\n const filtered = useMemo(\n () =>\n term\n ? options.filter(option => option.label.toLowerCase().includes(term))\n : options,\n [options, term]\n );\n const groups = useMemo(() => groupByCategory(filtered), [filtered]);\n // eslint-disable-next-line @bigbinary/neeto/prefer-function-reference\n const isSelected = value => selectedValues.includes(value);\n\n const handleSelect = value => {\n setBuilderPreview(null);\n const result = commitFor({ anchor, schema, rule, index, value, helpers });\n if (result === \"close\") closePane();\n };\n\n const multiCandidate = optionValue =>\n selectedValues.includes(optionValue)\n ? selectedValues.filter(isNot(optionValue))\n : [...selectedValues.filter(Boolean), optionValue];\n\n const previewHandlers = optionValue => {\n const value = multi ? multiCandidate(optionValue) : optionValue;\n\n return {\n onMouseEnter: () => setBuilderPreview({ anchor, index, value }),\n onMouseLeave: () => setBuilderPreview(null),\n };\n };\n\n const handleContinue = () => {\n const target = continueTargetFor({ anchor, schema, rule, index });\n if (target) openType({ type: target.type, data: target.data });\n else closePane();\n };\n\n const optionLabel = option => {\n const Icon = option.icon;\n if (!Icon && !option.disabledReason) return option.label;\n\n return (\n <span className=\"mb-pane-option\">\n {Icon && <Icon size={20} />}\n {option.label}\n {option.disabledReason &&\n (option.disabledTooltip ? (\n <Tooltip content={option.disabledTooltip} position=\"top\">\n <span className=\"mb-pane-warn\">{option.disabledReason}</span>\n </Tooltip>\n ) : (\n <span className=\"mb-pane-warn\">{option.disabledReason}</span>\n ))}\n </span>\n );\n };\n\n const renderGroupHeader = category =>\n category && <div className=\"mb-pane-group\">{category}</div>;\n\n const renderBody = () => {\n if (isEmpty(filtered)) {\n return (\n <div className=\"mb-pane-empty\">{t(\"neetoRules.builder.noMatches\")}</div>\n );\n }\n\n if (multi) {\n return (\n <div className=\"flex flex-col\">\n {groups.map(([category, items]) => (\n <Fragment key={category || \"_uncategorized\"}>\n {renderGroupHeader(category)}\n {items.map(option => (\n <Checkbox\n checked={isSelected(option.value)}\n disabled={option.disabled}\n key={option.value}\n label={optionLabel(option)}\n labelProps={previewHandlers(option.value)}\n onChange={() => handleSelect(option.value)}\n {...(option.icon || option.disabledReason\n ? { dataTestid: option.value }\n : {})}\n {...previewHandlers(option.value)}\n />\n ))}\n </Fragment>\n ))}\n </div>\n );\n }\n\n return (\n <Radio\n stacked\n value={selectedValues?.[0] ?? \"\"}\n onChange={event => handleSelect(event.target.value)}\n >\n {groups\n .flatMap(([category, items]) => [\n category ? (\n <div className=\"mb-pane-group\" key={`group-${category}`}>\n {category}\n </div>\n ) : null,\n ...items.map(option => (\n <Radio.Item\n disabled={option.disabled}\n key={option.value}\n label={optionLabel(option)}\n labelProps={previewHandlers(option.value)}\n value={option.value}\n {...(option.icon || option.disabledReason\n ? { dataTestid: option.value }\n : {})}\n {...previewHandlers(option.value)}\n />\n )),\n ])\n .filter(Boolean)}\n </Radio>\n );\n };\n\n return (\n <>\n <Panel.Header>\n <div className=\"flex w-full flex-col gap-y-2\">\n <Typography style=\"h3\">{title}</Typography>\n <Typography className=\"neeto-ui-text-gray-500\" style=\"body2\">\n {subtitle}\n </Typography>\n {showSearch && (\n <div className=\"mb-pane-search\" ref={searchRef}>\n <Input\n placeholder={t(\"neetoRules.builder.searchPlaceholder\")}\n prefix={<Search />}\n size=\"large\"\n value={searchTerm}\n onChange={event => setSearchTerm(event.target.value)}\n />\n </div>\n )}\n </div>\n </Panel.Header>\n <Panel.Body>\n {renderBody()}\n {belowContent}\n </Panel.Body>\n {cascade && (\n <Panel.Footer>\n <Button\n disabled={!selectedValues.some(Boolean)}\n label={t(\"neetoRules.buttons.continue\")}\n size=\"large\"\n onClick={handleContinue}\n />\n </Panel.Footer>\n )}\n </>\n );\n};\n\nexport default OptionsPane;\n","import { getIn, useFormikContext } from \"formik\";\nimport { findBy } from \"neetocist\";\nimport { MultiEmailInput, Select } from \"neetoui\";\nimport { pluck } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { normalizeOptions } from \"../utils\";\n\nconst RecipientField = ({ field, name, dropdownOptions, placeholder }) => {\n const { t } = useTranslation();\n const { values, setFieldValue, setFieldTouched, errors, touched } =\n useFormikContext();\n\n const fieldError = path => getIn(touched, path) && getIn(errors, path);\n\n if (field === \"emails\") {\n const path = `${name}.emails`;\n const current = getIn(values, path) || [];\n\n return (\n <MultiEmailInput\n required\n error={fieldError(path)}\n label={t(\"neetoRules.builder.config.emailAddresses\")}\n placeholder={t(\"neetoRules.builder.config.emailPlaceholder\")}\n size=\"large\"\n value={current.map(email => ({\n label: email,\n value: email,\n valid: true,\n }))}\n onBlur={() => setFieldTouched(path, true)}\n onChange={items => setFieldValue(path, pluck(\"value\", items || []))}\n />\n );\n }\n\n const path = `${name}.value`;\n const current = getIn(values, path);\n const options = normalizeOptions(dropdownOptions);\n\n return (\n <Select\n {...{ options, placeholder }}\n required\n error={fieldError(path)}\n label={t(\"neetoRules.builder.config.recipient\")}\n size=\"large\"\n value={findBy({ value: current }, options) || null}\n onBlur={() => setFieldTouched(path, true)}\n onChange={option => setFieldValue(path, option?.value)}\n />\n );\n};\n\nexport default RecipientField;\n","import { useEffect, useRef } from \"react\";\n\nimport { Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport RecipientField from \"./Fields/RecipientField\";\nimport OptionsPane from \"./OptionsPane\";\n\nimport PhoneNumberField from \"../../NeetoRulesForm/Element/Actions/Fields/SmsFields/PhoneNumberField\";\nimport Panel from \"../../NeetoRulesForm/Panel\";\nimport {\n BUILDER_ANCHORS,\n RECIPIENT_FOCUSABLE_SELECTOR,\n SMS_TO_NUMBERS,\n} from \"../constants\";\nimport usePaneValidation from \"../hooks/usePaneValidation\";\nimport useRuleModel from \"../hooks/useRuleModel\";\n\nconst RecipientPane = ({ schema, index }) => {\n const { t } = useTranslation();\n const { rule, fieldKeys } = useRuleModel(schema);\n const bodyRef = useRef(null);\n const belowRef = useRef(null);\n\n // eslint-disable-next-line security/detect-object-injection\n const action = rule.actions[index] || {};\n const channel =\n action.channel || schema.actions?.actionForName?.(action.name)?.channel;\n const recipient =\n action.recipient ?? schema.actions?.actionForName?.(action.name)?.recipient;\n const name = `${fieldKeys.actions}.value.${index}.metadata`;\n\n const editor = schema.actions?.renderRecipientEditor?.({\n channel,\n name,\n action,\n });\n\n const flatOption =\n schema.actions?.optionForName?.(action.name) ||\n schema.actions?.optionForChannel?.(channel);\n const isSmsToNumbers = flatOption?.type === SMS_TO_NUMBERS;\n\n const recipientFieldPath = isSmsToNumbers\n ? `${name}.phoneNumbers`\n : `${name}.emails`;\n usePaneValidation(recipientFieldPath);\n\n useEffect(() => {\n if (!editor) return;\n const first = bodyRef.current?.querySelector(RECIPIENT_FOCUSABLE_SELECTOR);\n // eslint-disable-next-line @bigbinary/neeto/prefer-function-reference\n if (first) setTimeout(() => first.focus(), 0);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [!editor]);\n\n const recipientConfig = (schema.actions?.options || [])\n .flatMap(option => option.recipients || [])\n .concat(schema.actions?.recipients || [])\n .find(item => (item.value ?? item.id) === recipient);\n\n const builtInRecipientField = recipientConfig?.field ? (\n <RecipientField\n {...{ name }}\n dropdownOptions={recipientConfig.dropdownOptions}\n field={recipientConfig.field}\n placeholder={recipientConfig.placeholder}\n />\n ) : null;\n\n const recipientField =\n schema.actions?.renderRecipientField?.({\n channel,\n recipient,\n name,\n action,\n }) ?? builtInRecipientField;\n\n const phoneField = isSmsToNumbers ? (\n <PhoneNumberField\n name={`${name}.phoneNumbers`}\n phoneNumbers={action.metadata?.phoneNumbers}\n />\n ) : null;\n\n const belowField = phoneField || recipientField;\n const belowContent = belowField ? (\n <div className=\"mt-5\" ref={belowRef}>\n {belowField}\n </div>\n ) : null;\n\n useEffect(() => {\n if (!belowField) return undefined;\n const timer = setTimeout(\n () =>\n belowRef.current?.querySelector(RECIPIENT_FOCUSABLE_SELECTOR)?.focus(),\n 0\n );\n\n return () => clearTimeout(timer);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [!!belowField]);\n\n if (!editor) {\n return (\n <OptionsPane\n {...{ belowContent, index, schema }}\n anchor={BUILDER_ANCHORS.ACTION_RECIPIENT}\n />\n );\n }\n\n // eslint-disable-next-line security/detect-object-injection\n const meta = schema.actions?.channelMeta?.[channel] || {};\n\n return (\n <>\n <Panel.Header>\n <div className=\"flex w-full flex-col gap-y-2\">\n <Typography style=\"h3\">\n {meta.recipientTitle ||\n t(\"neetoRules.builder.panes.recipientTitle\")}\n </Typography>\n <Typography className=\"neeto-ui-text-gray-500\" style=\"body2\">\n {meta.recipientSubtitle ||\n t(\"neetoRules.builder.panes.recipientSubtitle\")}\n </Typography>\n </div>\n </Panel.Header>\n <Panel.Body>\n <div ref={bodyRef}>{editor}</div>\n </Panel.Body>\n </>\n );\n};\n\nexport default RecipientPane;\n","import { getIn, useFormikContext } from \"formik\";\nimport { isNot, isNotEmpty, toLabelAndValue } from \"neetocist\";\nimport { Checkbox, Input, Radio, Select, Typography } from \"neetoui\";\nimport { Input as FormikInput } from \"neetoui/formik\";\nimport { isEmpty, pluck } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { CONDITION_VALUE_TYPES } from \"./constants\";\n\nimport { normalizeOptions } from \"../utils\";\n\nconst ConditionValueFields = ({ name, field, searchTerm = \"\" }) => {\n const { t } = useTranslation();\n const { values, setFieldValue, setFieldTouched, errors, touched } =\n useFormikContext();\n\n const type = field?.type;\n const valueType = field?.valueType || type;\n const valuePath = `${name}.metadata.value`;\n const valuesPath = `${name}.metadata.values`;\n const enumOptions = normalizeOptions(\n field?.values || field?.dropdownOptions || field?.options\n );\n\n const fieldError = path => getIn(touched, path) && getIn(errors, path);\n\n const term = searchTerm.trim().toLowerCase();\n const filterOptions = list =>\n term\n ? list.filter(option => String(option.label).toLowerCase().includes(term))\n : list;\n\n const noMatches = (\n <div className=\"mb-pane-empty\">{t(\"neetoRules.builder.noMatches\")}</div>\n );\n\n if (type === CONDITION_VALUE_TYPES.multiSelect && isNotEmpty(enumOptions)) {\n const current = getIn(values, valuesPath) || [];\n const filtered = filterOptions(enumOptions);\n if (term && isEmpty(filtered)) return noMatches;\n\n const toggle = value => {\n setFieldTouched(valuesPath, true);\n setFieldValue(\n valuesPath,\n current.includes(value)\n ? current.filter(isNot(value))\n : [...current, value]\n );\n };\n\n return (\n <div className=\"flex flex-col gap-y-1\">\n {filtered.map(option => (\n <Checkbox\n checked={current.includes(option.value)}\n key={option.value}\n label={option.label}\n onChange={() => toggle(option.value)}\n />\n ))}\n {fieldError(valuesPath) && (\n <p className=\"neeto-ui-input__error\">{fieldError(valuesPath)}</p>\n )}\n </div>\n );\n }\n\n if (type === CONDITION_VALUE_TYPES.multiSelect) {\n return (\n <Typography className=\"neeto-ui-text-gray-500\" style=\"body2\">\n {field?.label\n ? t(\"neetoRules.builder.config.noOptionsFor\", { field: field.label })\n : t(\"neetoRules.builder.config.noOptions\")}\n </Typography>\n );\n }\n\n if (type === CONDITION_VALUE_TYPES.multiSelectCreate) {\n const current = getIn(values, valuesPath) || [];\n\n return (\n <Select\n autoFocus\n isCreateable\n isMulti\n required\n error={fieldError(valuesPath)}\n label={t(\"neetoRules.builder.config.keywords\")}\n placeholder={t(\"neetoRules.builder.config.keywordsPlaceholder\")}\n size=\"large\"\n value={current.map(toLabelAndValue)}\n onBlur={() => setFieldTouched(valuesPath, true)}\n onChange={selected =>\n setFieldValue(valuesPath, pluck(\"value\", selected || []))\n }\n />\n );\n }\n\n if (isNotEmpty(enumOptions)) {\n const current = getIn(values, valuePath);\n const filtered = filterOptions(enumOptions);\n if (term && isEmpty(filtered)) return noMatches;\n\n return (\n <Radio\n stacked\n error={fieldError(valuePath)}\n value={current ?? \"\"}\n onBlur={() => setFieldTouched(valuePath, true)}\n onChange={event => setFieldValue(valuePath, event.target.value)}\n >\n {filtered.map(option => (\n <Radio.Item\n key={option.value}\n label={String(option.label).toLowerCase()}\n value={option.value}\n />\n ))}\n </Radio>\n );\n }\n\n if (valueType === CONDITION_VALUE_TYPES.number) {\n return (\n <Input\n autoFocus\n required\n error={fieldError(valuePath)}\n label={t(\"neetoRules.common.value\")}\n size=\"large\"\n type=\"number\"\n value={getIn(values, valuePath) ?? \"\"}\n onBlur={() => setFieldTouched(valuePath, true)}\n onChange={event =>\n setFieldValue(\n valuePath,\n event.target.value === \"\" ? \"\" : Number(event.target.value)\n )\n }\n />\n );\n }\n\n return (\n <FormikInput\n autoFocus\n required\n label={t(\"neetoRules.common.value\")}\n name={valuePath}\n size=\"large\"\n type={valueType === CONDITION_VALUE_TYPES.email ? \"email\" : \"text\"}\n placeholder={\n field?.placeholder ||\n (valueType === CONDITION_VALUE_TYPES.email\n ? t(\"neetoRules.builder.config.exampleEmail\")\n : undefined)\n }\n />\n );\n};\n\nexport default ConditionValueFields;\n","import { useRef, useState } from \"react\";\n\nimport { useFormikContext } from \"formik\";\nimport { Search } from \"neetoicons\";\nimport { Input, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport ConditionValueFields from \"./Fields/ConditionValueFields\";\nimport { optionValue, normalizeOptions } from \"./utils\";\n\nimport Panel from \"../../NeetoRulesForm/Panel\";\nimport { PANE_SEARCH_THRESHOLD } from \"../constants\";\nimport usePaneValidation from \"../hooks/usePaneValidation\";\nimport useRuleModel from \"../hooks/useRuleModel\";\nimport { isMultiValueVerb } from \"../utils\";\n\nconst ValuePane = ({ schema, index }) => {\n const { t } = useTranslation();\n const { setFieldValue } = useFormikContext();\n const { rule, fieldKeys } = useRuleModel(schema);\n\n const [searchTerm, setSearchTerm] = useState(\"\");\n const searchRef = useRef(null);\n\n // eslint-disable-next-line security/detect-object-injection\n const condition = rule.conditions[index] || {};\n const field = (schema.conditions?.fields || []).find(\n candidate => optionValue(candidate) === condition.field\n );\n const base = `${fieldKeys.conditions}.value.${index}`;\n\n usePaneValidation(`${base}.metadata`);\n\n const enumOptions = normalizeOptions(\n field?.values || field?.dropdownOptions || field?.options\n );\n\n const showSearch = enumOptions.length >= PANE_SEARCH_THRESHOLD;\n\n const renderBody = () => {\n if (schema.conditions?.renderValue) {\n return schema.conditions.renderValue({\n name: base,\n condition,\n field,\n setFieldValue,\n searchTerm,\n });\n }\n\n return <ConditionValueFields {...{ field, searchTerm }} name={base} />;\n };\n\n return (\n <>\n <Panel.Header>\n <div className=\"flex w-full flex-col gap-y-2\">\n <Typography style=\"h3\">\n {t(\"neetoRules.builder.pickValue\", {\n field: field?.label || t(\"neetoRules.builder.valueWord\"),\n })}\n </Typography>\n <Typography className=\"neeto-ui-text-gray-500\" style=\"body2\">\n {field?.valueSubtitle ||\n (isMultiValueVerb(condition?.verb)\n ? t(\"neetoRules.builder.valuesSubtitle\", {\n field: field?.label || t(\"neetoRules.builder.valueWord\"),\n })\n : t(\"neetoRules.builder.valueSubtitle\"))}\n </Typography>\n {showSearch && (\n <div className=\"mb-pane-search\" ref={searchRef}>\n <Input\n placeholder={t(\"neetoRules.builder.searchPlaceholder\")}\n prefix={<Search />}\n size=\"large\"\n value={searchTerm}\n onChange={event => setSearchTerm(event.target.value)}\n />\n </div>\n )}\n </div>\n </Panel.Header>\n <Panel.Body>{renderBody()}</Panel.Body>\n </>\n );\n};\n\nexport default ValuePane;\n","import ConfigPane from \"./ConfigPane\";\nimport DelayPane from \"./DelayPane\";\nimport LeadTimePane from \"./LeadTimePane\";\nimport NamePane from \"./NamePane\";\nimport OptionsPane from \"./OptionsPane\";\nimport RecipientPane from \"./RecipientPane\";\nimport ValuePane from \"./ValuePane\";\n\nimport { BUILDER_PANEL_TYPES } from \"../constants\";\n\nexport const BUILDER_PANEL_TYPE_CONFIG_MAP = {\n [BUILDER_PANEL_TYPES.TRIGGER]: { component: OptionsPane },\n [BUILDER_PANEL_TYPES.ACTOR]: { component: OptionsPane },\n [BUILDER_PANEL_TYPES.CONDITION_FIELD]: { component: OptionsPane },\n [BUILDER_PANEL_TYPES.OPERATOR]: { component: OptionsPane },\n [BUILDER_PANEL_TYPES.CONNECTOR]: { component: OptionsPane },\n [BUILDER_PANEL_TYPES.ACTION_CHANNEL]: { component: OptionsPane },\n [BUILDER_PANEL_TYPES.RECIPIENT]: { component: RecipientPane },\n [BUILDER_PANEL_TYPES.CONDITION_VALUE]: { component: ValuePane },\n [BUILDER_PANEL_TYPES.ACTION_CONFIG]: { component: ConfigPane },\n [BUILDER_PANEL_TYPES.DELAY]: { component: DelayPane },\n [BUILDER_PANEL_TYPES.LEAD_TIME]: { component: LeadTimePane },\n [BUILDER_PANEL_TYPES.NAME]: { component: NamePane },\n [BUILDER_PANEL_TYPES.SCOPE]: { component: OptionsPane },\n [BUILDER_PANEL_TYPES.SCOPE_PHONE_FIELD]: { component: OptionsPane },\n};\n","import { useEffect, useMemo, useRef } from \"react\";\n\nimport classnames from \"classnames\";\nimport { Form as FormikForm, Formik } from \"formik\";\nimport { isNotEmpty, noop } from \"neetocist\";\nimport Container from \"neetomolecules/Container\";\nimport Header from \"neetomolecules/Header\";\nimport { Spinner } from \"neetoui\";\nimport { ActionBlock } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { ScrollToErrorField } from \"components/Common/ScrollToErrorField\";\nimport { DEFAULT_INITIAL_VALUE } from \"components/NeetoRulesForm/constants\";\nimport usePollRuleName from \"components/NeetoRulesForm/hooks/usePollRuleName\";\nimport useCustomDataStore from \"components/NeetoRulesForm/stores/useCustomDataStore\";\nimport TouchErrors from \"components/NeetoRulesForm/TouchErrors\";\nimport { buildPayload, formatData } from \"components/NeetoRulesForm/utils\";\nimport { getValidationSchema } from \"components/NeetoRulesForm/utils/validate\";\nimport useUtilityStore from \"components/stores/useUtilityStore\";\n\nimport Canvas from \"./Canvas\";\nimport { BUILDER_PANEL_TYPE_CONFIG_MAP } from \"./Panes/constants\";\nimport {\n isRuleComplete,\n invalidScopeIndexes,\n invalidScopePhoneFieldIndexes,\n normalizeSchema,\n valuesToRuleModel,\n} from \"./utils\";\n\nimport Panel from \"../NeetoRulesForm/Panel\";\n\nconst Form = ({\n data = {},\n schema: rawSchema = {},\n automationRulesEndpoint: url,\n title,\n breadcrumbs = {},\n isLoading = false,\n className,\n handleSubmit = noop,\n handleCancel = noop,\n payloadKey = \"rule\",\n isNameGenerationDisabled = false,\n}) => {\n const { t } = useTranslation();\n\n const formikRef = useRef(null);\n const formRef = useRef(null);\n\n const { customData } = useCustomDataStore.pick();\n const { resetPanelState, errorFields } = useUtilityStore.pick();\n\n const initialValues = useMemo(() => formatData(data), [data]);\n const schema = useMemo(() => normalizeSchema(rawSchema), [rawSchema]);\n\n const isNameRequired =\n isNameGenerationDisabled || (schema.meta?.showName ?? true);\n\n const { waitForGeneratedRuleName, saveRuleName, isCancelledNameGeneration } =\n usePollRuleName({ url, formikRef, payloadKey, isNameGenerationDisabled });\n\n // eslint-disable-next-line @bigbinary/neeto/prefer-function-reference, react-hooks/exhaustive-deps\n useEffect(() => () => resetPanelState(), []);\n\n const submitForm = (values, formikBag) => {\n if (isNotEmpty(errorFields)) {\n formikBag.setSubmitting(false);\n\n return;\n }\n\n const rule = valuesToRuleModel({ values, schema });\n if (\n !isRuleComplete(rule) ||\n invalidScopeIndexes({ rule, schema }).length ||\n invalidScopePhoneFieldIndexes({ rule, schema }).length\n ) {\n formikBag.setSubmitting(false);\n\n return;\n }\n\n if (isCancelledNameGeneration) {\n saveRuleName(values);\n\n return;\n }\n\n const payload = buildPayload(data, values);\n\n resetPanelState();\n handleSubmit(payload, formikBag, waitForGeneratedRuleName);\n };\n\n return (\n <Formik\n enableReinitialize\n initialValues={{ ...DEFAULT_INITIAL_VALUE, ...initialValues }}\n innerRef={formikRef}\n validationSchema={getValidationSchema({\n data,\n customData,\n isNameGenerationDisabled: isNameRequired,\n })}\n onSubmit={submitForm}\n >\n {() => (\n <div className=\"flex neeto-rules-main-content h-full w-full\">\n <TouchErrors />\n <Container className=\"neeto-rules-main-content__container max-h-full\">\n <Header\n {...{ breadcrumbs }}\n title={title || t(\"neetoRules.common.title\")}\n />\n {isLoading ? (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n ) : (\n <FormikForm\n ref={formRef}\n className={classnames([\n \"w-full neeto-rules-main-content__form max-w-5xl\",\n className,\n ])}\n >\n <Canvas {...{ schema }} />\n <ScrollToErrorField {...{ formRef }} />\n <div className=\"neeto-ui-bg-white sticky bottom-0 py-6\">\n <ActionBlock\n cancelButtonProps={{ onClick: handleCancel }}\n submitButtonProps={{ \"data-testid\": \"form-submit-button\" }}\n />\n </div>\n </FormikForm>\n )}\n </Container>\n <Panel configMap={BUILDER_PANEL_TYPE_CONFIG_MAP} />\n </div>\n )}\n </Formik>\n );\n};\n\nexport default Form;\n","// eslint-disable-next-line import/extensions\nimport \"src/stylesheets/main.css\";\n\nimport Form from \"./Form\";\n\nconst NeetoRulesBuilder = ({ ...rest }) => <Form {...rest} />;\n\nexport default NeetoRulesBuilder;\n"],"names":["PARAM_KIND","ENUM_SINGLE","ENUM_MULTI","UNIT_MINUTES","minutes","hours","days","TIME_UNITS","label","value","LEAD_TIME_UNITS","CONDITION_VERBS","IS","IS_NOT","ANY_OF","NONE_OF","ALL_OF","LESS_THAN","GREATER_THAN","VERB_TOKENS","MULTI_VALUE","CONTAINS","DEFAULT_SCHEMA","triggers","fieldKey","options","actor","enabled","conditions","fields","connectorMode","actions","channelMeta","recipients","delay","units","integrations","slots","STATUS_KEYS","ENABLED","DISABLED","JOIN_TYPE","and","or","CONDITION_MODE","AND","OR","BUILDER_PANEL_TYPES","TRIGGER","ACTOR","CONDITION_FIELD","OPERATOR","CONNECTOR","CONDITION_VALUE","ACTION_CHANNEL","ACTION_CONFIG","RECIPIENT","DELAY","LEAD_TIME","NAME","SCOPE","SCOPE_PHONE_FIELD","BUILDER_ANCHORS","TRIGGER_ADD","TRIGGER_REPLACE","TRIGGER_ACTOR","TRIGGER_LEAD_TIME","COND_FIELD","COND_OP_TOGGLE","COND_CONNECTOR","COND_VALUES","ACTION_ADD","ACTION_RECIPIENT","RULE_DELAY","META_NAME","TOKEN_TO_PANEL_TYPE","_TOKEN_TO_PANEL_TYPE","_defineProperty","LARGE_PANEL_TYPES","CONDITION_ANCHORS","ACTION_ANCHORS","PANE_SEARCH_THRESHOLD","CONFIG_FOCUSABLE_SELECTOR","SMS_TYPES","RECIPIENT_FOCUSABLE_SELECTOR","SMS_TO_NUMBERS","SWAP_CHANNEL_ORDER","DEFAULT_DELAY_UNITS","useClearingHover","_useState","useState","_useState2","_slicedToArray","clearing","setClearing","clearingHoverProps","onMouseEnter","onMouseLeave","resetClearing","TOKEN_STATE","FILLED","MUTED","PLACEHOLDER","PLACEHOLDER_NEXT","STATE_CLASS","Token","_ref","children","_ref$state","state","_ref$active","active","_ref$invalid","invalid","onClick","className","dataTestid","rest","_objectWithoutProperties","_excluded","isInteractive","_jsx","_objectSpread","role","undefined","tabIndex","classnames","filled","onKeyDown","event","key","preventDefault","humanize","String","replace","trim","isContainsVerb","verb","includes","isNumericVerb","isExcludeVerb","isMultiValueVerb","sentencify","charAt","toLowerCase","slice","copyFor","args","matchesTrigger","name","option","eventValue","id","triggerOption","_schema$triggers","schema","find","triggerLabel","_ref2","trigger","plain","performerLabel","_ref3","_schema$actor","performer","candidate","conditionField","_ref4","_schema$conditions","field","conditionFieldLabel","_ref5","condition","operatorLabel","_ref6","_schema$conditions2","map","operatorLabels","conditionNeedsValue","_ref7","noValueForVerbs","conditionValueLabel","_ref8","_ref9","_meta$value","meta","metadata","raw","values","isNil","isEmpty","dropdownOptions","isEnum","isNotEmpty","labelFor","_ref0","_option$label","_candidate$value","connector","t","Array","isArray","join","concat","actionOption","_ref1","_schema$actions","channelOption","_ref10","_schema$actions2","channel","_option$value","actionParts","_ref11","_actions$actionForNam","_action$recipient","_actions$channelMeta","_find","_find2","_channelMeta$needsRec","_actions$configValueL","action","resolved","recipient","actionForName","call","recipientValue","matchesRecipient","_recipient$value","recipientLabel","paramKind","paramType","valueNoun","valueNounPlural","mediumLabel","icon","needsRecipient","separator","configValue","configValueLabel","configValuePlaceholder","valuePlaceholder","configTitle","configSubtitle","recipientTitle","recipientSubtitle","hasTrigger","rule","hasAction","some","isRuleComplete","scopeOptionFor","_ref12","_item$value","_schema$scope","item","scope","_candidate$value2","scopePhoneFields","_ref13","_ref14","_item$phoneFields","_scopeOptionFor","phoneFields","effectiveScopePhoneField","_ref15","phoneField","length","invalidScopeIndexes","_ref16","_scope$requiresPhone","requiresPhone","reduce","indexes","index","_ref17","_item$hasPhoneField","hasPhoneField","push","invalidScopePhoneFieldIndexes","_ref18","_scope$requiresPhone2","hasChoice","minutesToParts","total","Number","unit","partsToMinutes","_ref19","leadTimeLabel","_minutesToParts","unitLabel","normalizeTriggers","normalizeSchema","rawSchema","arguments","mergeDeepRight","joinTypeFor","mode","modeFromJoinType","joinType","valueAt","_ref20","_values$key","asArray","maybeArray","fieldKeysFromSchema","_schema$triggers2","_schema$actor2","_schema$conditions3","_schema$actions3","_schema$delay","_schema$triggers3","_schema$scope2","leadTime","status","valuesToRuleModel","_valueAt","_conditions$","_ref21","_ref21$values","_ref21$schema","keys","rawDelay","conditionMode","setTriggers","_ref22","path","setPerformer","_ref23","setActions","_ref24","setConditions","_ref25","setConditionMode","_ref26","assoc","setDelay","_ref27","setActive","_ref28","setScope","_ref29","removeArrayItem","_ref30","list","removed","nextList","filter","_","i","result","_values$fieldKey","deleted","_toConsumableArray","_destroy","ConditionRow","handleToken","onToken","handleAddCondition","onAddCondition","handleRemove","onRemove","_ref$isActive","isActive","_ref$isInvalid","isInvalid","_useTranslation","useTranslation","isFirst","hasField","hasVerb","_field$value","operatorPlaceholder","needsValue","_useClearingHover","_jsxs","type","_Fragment","Button","Plus","size","style","tooltipProps","content","position","Delete","Connector","fill","height","viewBox","width","d","stroke","strokeLinecap","strokeLinejoin","strokeWidth","DelayRow","part","MetaBlock","withT","_ref$showName","showName","handleEditName","onEditName","handleToggleActive","onToggleActive","checked","readOnly","onChange","itemLabel","ScopeBlock","_schema$scope2$requir","handleRemoveScope","onRemoveScope","placeholder","_createElement","ScopeRow","isLast","_schema$scope3","_schema$scope4","_schema$scope5","_useTranslation2","lead","meeting","hasPhoneFieldChoice","singlePhoneFieldLabel","selectedPhoneField","usingLabel","phoneFieldPlaceholder","ActionRow","handleAddAction","onAddAction","_actionParts","MediumIcon","hasParamTail","multiPlaceholder","noun","singlePlaceholder","paramPlaceholder","verbLabel","isVerbActive","configLabel","isConfigured","ThenBlock","handleRemoveAction","onRemoveAction","_ref$adding","adding","named","isTriggerSet","title","_action$id","WhenBlock","handleClearTrigger","onClearTrigger","isActorEnabled","hasLeadTimeFor","appliesTo","_trigger$id","Fragment","usePaneCascade","_useUtilityStore","useUtilityStore","useShallow","store","setPanelState","resetPanelState","openType","useCallback","_ref$data","data","variant","openPane","token","anchor","closePane","useRuleModel","_useFormikContext","useFormikContext","setFieldValue","apply","applyAll","edits","forEach","useMemo","fieldKeys","removeCondition","removeAction","triggerValue","_option$eventValue","optionValue","normalizeOptions","toLabelAndValue","groupByCategory","groups","indexByCategory","category","conditionAt","actionAt","scopeItemAt","_rule$scope","scopeItemLabel","findField","findActionOption","channelOf","_schema$actions2$acti","recipientOf","_schema$actions3$acti","channelMetaOf","_schema$actions4","actionHasConfig","_schema$actions5","_schema$actions6","component","renderConfig","hasConfig","recipientsFor","_schema$actions7","_schema$actions8","nextTriggers","multi","names","pluck","removeBy","nextConditionAt","_field$allowMatching","previous","first","allowMatching","defaultVerb","kind","nextActionAt","_schema$actions9","resolveName","prev","channelChanged","prevChannel","_schema$actions0","channelRecipients","recipientsByChannel","_channelRecipients","appendScopeItem","_sc$requiresPhone","sc","nextActionRecipientAt","_schema$actions1","descriptorFor","isReplace","triggerTitle","triggerSubtitle","subtitle","cascade","paneLabel","selectedValues","labels","verbs","fieldLabel","isContains","every","isNumeric","isExclude","hasOptions","containsVariant","numericOrExcludeVariant","nonContainsVariant","_schema$actions11","_schema$actions12","_channelOf","isSwap","channelMetaFor","_schema$actions10","rank","idx","indexOf","sourceOptions","sort","optionA","optionB","channelLabel","disabled","_schema$actions13","_sc$requiresPhone2","selected","paneChangeTitle","paneTitle","paneSubtitle","blockedNoPhone","isSelected","disabledReason","disabledTooltip","phoneFieldPaneTitle","phoneFieldPaneSubtitle","commitFor","helpers","_schema$triggers4","_schema$triggers5","_leadTime$default","current","has","_item$value2","next","_item$value3","continueTargetFor","_schema$actor3","replaceAt","applyPreview","Canvas","_schema$meta$showName","_schema$meta","_usePaneCascade","errors","submitCount","_useRuleModel","builderPreview","panelState","displayRule","activeToken","addingAction","flatErrors","flatten","flashing","setFlashing","lastSubmitCount","useRef","useEffect","timer","setTimeout","clearTimeout","hasErrorAt","prefix","_ref3$exclude","exclude","Object","startsWith","sub","_schema$actions$actio","_schema$actions2$rend","_schema$actions3$rend","_schema$actions4$opti","_schema$actions5$opti","conditionMeta","actionMeta","actionItem","hasRecipientEditor","renderRecipientEditor","hasRecipientField","renderRecipientField","flatOption","optionForName","optionForChannel","recipientFields","actorKey","closePaneIfTargeting","anchors","handleRemoveCondition","remaining","handleRemoveDelay","isScopeEnabled","isScopeComplete","isComplete","conditionFields","canAddCondition","leadTimeAppliesTo","hasLeadTimeTrigger","isDelayEnabled","slotCtx","renderSlot","_schema$slots$name","_schema$slots","_schema$slots$name2","_condition$id","iconPosition","target","ACTION_CONFIG_TYPES","emailChannel","multiSelect","dropdown","note","textarea","number","text","regex","decimal","date","CONDITION_VALUE_TYPES","multiSelectCreate","email","restoreTokens","ActionConfigFields","_ref$searchTerm","searchTerm","setFieldTouched","touched","valuePath","fieldError","getIn","term","filterOptions","hint","dynamicValuesHint","hintBlock","Typography","noOptionsMessage","noMatches","_getIn","_action$metadata","subjectPath","bodyPath","Input","required","error","onBlur","EditorAction","body","variables","filtered","toggle","isNot","Checkbox","Radio","stacked","picked","Item","_action$metadata2","_getIn2","_getIn3","Textarea","rows","_getIn4","DatePicker","dayjs","format","DATE_FORMAT","_regenerator","e","r","Symbol","n","iterator","o","toStringTag","c","prototype","Generator","u","create","_regeneratorDefine2","f","p","y","G","v","a","bind","l","TypeError","done","GeneratorFunction","GeneratorFunctionPrototype","getPrototypeOf","setPrototypeOf","__proto__","displayName","w","m","defineProperty","_regeneratorDefine","_invoke","enumerable","configurable","writable","keysUnder","obj","_ref$exclude","usePaneValidation","validateForm","errorsRef","validate","_asyncToGenerator","_callee","nextErrors","offending","_args","_context","ConfigPane","_schema$actions$optio","_schema$actions2$opti","_hostRenderConfig","bodyRef","setSearchTerm","base","isSms","isDisabled","hostRenderConfig","showSearch","shouldAdvanceToRecipient","_usePaneValidation","channelRepName","unnamedOnOpen","frame","attempts","focusFirst","_bodyRef$current","querySelector","focus","requestAnimationFrame","cancelAnimationFrame","handleContinue","Panel","Header","Search","Body","ref","ErrorCallout","message","selectedField","SmsFields","shouldAutoFocus","showPhoneNumberInput","Footer","DelayPane","_useField","useField","_useField2","unitOptions","_unitOptions$0$value","_unitOptions$","weight","max","min","Select","defaultValue","findBy","menuPosition","toNumber","clamp","Math","asText","NumberStepper","_ref$min","draft","setDraft","display","commit","step","delta","isFinite","autoFocus","onFocus","select","Up","Down","LeadTimePane","amount","update","nextUnit","isSearchable","NamePane","OptionsPane","_ref$belowContent","belowContent","setBuilderPreview","searchRef","_searchRef$current","_useMemo","searchable","handleSelect","multiCandidate","Boolean","previewHandlers","optionLabel","Icon","Tooltip","renderGroupHeader","renderBody","_selectedValues$","items","labelProps","flatMap","RecipientField","MultiEmailInput","valid","RecipientPane","_schema$actions$rende","_schema$actions8$rend","belowRef","editor","isSmsToNumbers","recipientFieldPath","recipientConfig","builtInRecipientField","recipientField","PhoneNumberField","phoneNumbers","belowField","_belowRef$current","ConditionValueFields","valueType","valuesPath","enumOptions","isCreateable","isMulti","FormikInput","ValuePane","renderValue","valueSubtitle","BUILDER_PANEL_TYPE_CONFIG_MAP","_BUILDER_PANEL_TYPE_C","Form","_ref$schema","url","automationRulesEndpoint","_ref$breadcrumbs","breadcrumbs","_ref$isLoading","isLoading","_ref$handleSubmit","handleSubmit","noop","_ref$handleCancel","handleCancel","_ref$payloadKey","payloadKey","_ref$isNameGeneration","isNameGenerationDisabled","formikRef","formRef","_useCustomDataStore","useCustomDataStore","customData","errorFields","initialValues","formatData","isNameRequired","_usePollRuleName","usePollRuleName","waitForGeneratedRuleName","saveRuleName","isCancelledNameGeneration","submitForm","formikBag","setSubmitting","payload","buildPayload","Formik","enableReinitialize","DEFAULT_INITIAL_VALUE","innerRef","validationSchema","getValidationSchema","onSubmit","TouchErrors","Container","Spinner","FormikForm","ScrollToErrorField","ActionBlock","cancelButtonProps","submitButtonProps","configMap","NeetoRulesBuilder","assign","_objectDestructuringEmpty"],"mappings":"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"}