@bigbinary/neeto-rules-frontend 2.7.21 → 2.7.22
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/v2/components/NeetoRulesBuilder/constants.js","../../app/javascript/src/v2/components/NeetoRulesBuilder/hooks/useClearingHover.js","../../app/javascript/src/v2/components/NeetoRulesBuilder/Token/constants.js","../../app/javascript/src/v2/components/NeetoRulesBuilder/hooks/useReplayFlash.js","../../app/javascript/src/v2/components/NeetoRulesBuilder/Token/index.jsx","../../app/javascript/src/v2/components/NeetoRulesBuilder/utils.js","../../app/javascript/src/v2/components/NeetoRulesBuilder/Canvas/ConditionRow.jsx","../../app/javascript/src/v2/components/NeetoRulesBuilder/Canvas/Connector.jsx","../../app/javascript/src/v2/components/NeetoRulesBuilder/Canvas/DelayRow.jsx","../../app/javascript/src/v2/components/NeetoRulesBuilder/Canvas/MetaBlock.jsx","../../app/javascript/src/v2/components/NeetoRulesBuilder/Canvas/ScopeBlock.jsx","../../app/javascript/src/v2/components/NeetoRulesBuilder/Canvas/ActionRow.jsx","../../app/javascript/src/v2/components/NeetoRulesBuilder/Canvas/ThenBlock.jsx","../../app/javascript/src/v2/components/NeetoRulesBuilder/Canvas/WhenBlock.jsx","../../app/javascript/src/v2/components/NeetoRulesBuilder/hooks/usePaneCascade.js","../../app/javascript/src/v2/components/NeetoRulesBuilder/hooks/useRuleModel.js","../../app/javascript/src/v2/components/NeetoRulesBuilder/Panes/utils.js","../../app/javascript/src/v2/components/NeetoRulesBuilder/Canvas/index.jsx","../../app/javascript/src/v2/components/NeetoRulesBuilder/Panes/Fields/constants.js","../../app/javascript/src/v2/components/NeetoRulesBuilder/Panes/Fields/ActionConfigFields.jsx","../../app/javascript/src/v2/components/NeetoRulesBuilder/hooks/usePaneValidation.js","../../app/javascript/src/v2/components/NeetoRulesBuilder/Panes/ConfigPane.jsx","../../app/javascript/src/v2/components/NeetoRulesBuilder/Panes/DelayPane.jsx","../../app/javascript/src/v2/components/NeetoRulesBuilder/Common/utils.js","../../app/javascript/src/v2/components/NeetoRulesBuilder/Common/NumberStepper.jsx","../../app/javascript/src/v2/components/NeetoRulesBuilder/Panes/LeadTimePane.jsx","../../app/javascript/src/v2/components/NeetoRulesBuilder/Panes/NamePane.jsx","../../app/javascript/src/v2/components/NeetoRulesBuilder/Panes/OptionsPane.jsx","../../app/javascript/src/v2/components/NeetoRulesBuilder/Panes/Fields/RecipientField.jsx","../../app/javascript/src/v2/components/NeetoRulesBuilder/Panes/RecipientPane.jsx","../../app/javascript/src/v2/components/NeetoRulesBuilder/Panes/Fields/ConditionValueFields.jsx","../../app/javascript/src/v2/components/NeetoRulesBuilder/Panes/ValuePane.jsx","../../app/javascript/src/v2/components/NeetoRulesBuilder/Panes/constants.js","../../app/javascript/src/v2/components/NeetoRulesBuilder/Form.jsx","../../app/javascript/src/v2/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\n// Mirrors the classic form's three-digit input cap; 999 days equals the\n// backend's maximum lead time.\nexport const MAX_LEAD_TIME_VALUE = 999;\n\nexport const STEPPER_DELTA = { INCREMENT: 1, DECREMENT: -1 };\n\nexport const STEPPER_MIN_VALUE = 1;\n\nexport const DEFAULT_DELAY_VALUE = 10;\n\n// Matches the token flash animation duration in sentence-builder.css.\nexport const FLASH_DURATION_MS = 2200;\n\n// Keeps an element out of the keyboard tab order (HTML tabindex sentinel).\nexport const SKIP_TAB_INDEX = -1;\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 RECIPIENT_STORAGE_FIELDS = {\n emails: \"emails\",\n value: \"value\",\n phoneNumbers: \"phoneNumbers\",\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 { useEffect, useRef } from \"react\";\n\n// The flash is a run-once CSS animation, so a repeat submit while it is still\n// applied would not replay it on its own.\nconst useReplayFlash = flashSeq => {\n const ref = useRef(null);\n\n useEffect(() => {\n if (!flashSeq) return;\n\n ref.current?.getAnimations?.().forEach(animation => {\n animation.cancel();\n animation.play();\n });\n }, [flashSeq]);\n\n return ref;\n};\n\nexport default useReplayFlash;\n","import classnames from \"classnames\";\n\nimport { STATE_CLASS, TOKEN_STATE } from \"./constants\";\n\nimport useReplayFlash from \"../hooks/useReplayFlash\";\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 const tokenRef = useReplayFlash(invalid);\n\n return (\n <span\n data-testid={dataTestid}\n ref={tokenRef}\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\";\nimport * as yup from \"yup\";\n\nimport {\n CONDITION_MODE,\n CONDITION_VERBS,\n DEFAULT_SCHEMA,\n JOIN_TYPE,\n MAX_LEAD_TIME_VALUE,\n RECIPIENT_STORAGE_FIELDS,\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 leadTimeExceedsMax = minutes =>\n minutesToParts(minutes).value > MAX_LEAD_TIME_VALUE;\n\nconst leadTimeValidationSchema = schema => {\n const fieldKey = schema?.triggers?.leadTime?.fieldKey;\n if (!fieldKey) return yup.object();\n\n return yup.object().shape({\n [fieldKey]: yup.object().shape({\n // yup 0.32 can only concat schemas of the same type, and the host's\n // generic field schema for the lead time key is a string schema.\n value: yup.string().test(\n \"max-lead-time\",\n () =>\n t(\"neetoRules.validations.maxLeadTime\", {\n max: MAX_LEAD_TIME_VALUE,\n }),\n minutes => !leadTimeExceedsMax(minutes)\n ),\n }),\n });\n};\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 recipientStorageField = field =>\n field === RECIPIENT_STORAGE_FIELDS.emails\n ? RECIPIENT_STORAGE_FIELDS.emails\n : RECIPIENT_STORAGE_FIELDS.value;\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\nconst clearArrayItems = ({ values, fieldKey }) => {\n const list = asArray(valueAt({ values, key: fieldKey }));\n const removed = list\n .filter(item => item?.id)\n .map(item => ({ ...item, _destroy: true }));\n\n const result = [{ path: `${fieldKey}.value`, value: [] }];\n if (removed.length) {\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],\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 leadTimeValidationSchema,\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 clearArrayItems,\n recipientStorageField,\n};\n","import { Button } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { Delete, Plus } from \"neetoicons\";\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=\"sm\"\n variant=\"ghost\"\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=\"sm\"\n variant=\"ghost\"\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 { Button } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { Delete } from \"neetoicons\";\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=\"sm\"\n variant=\"ghost\"\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 { useTranslation } from \"react-i18next\";\n\nimport useReplayFlash from \"../hooks/useReplayFlash\";\n\nconst MetaBlock = ({\n rule,\n showName = true,\n isInvalid = false,\n onEditName: handleEditName,\n onToggleActive: handleToggleActive,\n}) => {\n const { t } = useTranslation();\n\n const nameRef = useReplayFlash(isInvalid);\n\n return (\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 ref={nameRef}\n data-testid=\"rule-name-edit\"\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\" data-testid=\"rule-name\">\n {rule.name}\n </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\" data-testid=\"rule-active-label\">\n <input\n checked={rule.active}\n data-testid=\"rule-active-checkbox\"\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","import { Button } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { Delete, Plus } from \"neetoicons\";\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=\"sm\"\n variant=\"ghost\"\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=\"sm\"\n variant=\"ghost\"\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 { Button } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { isNotEmpty } from \"neetocist\";\nimport { Delete, Plus } from \"neetoicons\";\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 // A host that shows no value label still needs the token to read as filled.\n const configState =\n configValue || isConfigured ? TOKEN_STATE.FILLED : TOKEN_STATE.MUTED;\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={configState}\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={configState}\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=\"sm\"\n variant=\"ghost\"\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=\"sm\"\n variant=\"ghost\"\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 { Button } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { Delete, Plus } from \"neetoicons\";\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 invalid={isInvalid({\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=\"sm\"\n variant=\"ghost\"\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=\"sm\"\n variant=\"ghost\"\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 \"v2/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 clearArrayItems,\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 clearTriggers: () =>\n applyAll(\n clearArrayItems({\n values,\n fieldKey: fieldKeysFromSchema(schema).triggers,\n })\n ),\n clearConditions: () =>\n applyAll(\n clearArrayItems({\n values,\n fieldKey: fieldKeysFromSchema(schema).conditions,\n })\n ),\n clearActions: () =>\n applyAll(\n clearArrayItems({\n values,\n fieldKey: fieldKeysFromSchema(schema).actions,\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} 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 [{ ...rule.triggers[0], 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 // Both panes list the host's actions in the order it declared them;\n // re-ranking only the swap pane made the two disagree.\n const sourceOptions = 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([{ ...rule.triggers[0], 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 { Button } from \"@bigbinary/neeto-atoms\";\nimport { flatten } from \"flat\";\nimport { useFormikContext } from \"formik\";\nimport { isNotEmpty } from \"neetocist\";\nimport { Plus } from \"neetoicons\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport useUtilityStore from \"v2/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 FLASH_DURATION_MS,\n RECIPIENT_STORAGE_FIELDS,\n SMS_TO_NUMBERS,\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 recipientStorageField,\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 setPerformer,\n setConditions,\n setDelay,\n removeCondition,\n removeAction,\n setActive,\n setScope,\n clearTriggers,\n clearConditions,\n clearActions,\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 [flashSeq, setFlashSeq] = useState(0);\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 setFlashSeq(submitCount);\n const timer = setTimeout(() => setFlashSeq(0), FLASH_DURATION_MS);\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 matchesInvalid = ({ type, index }) => {\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 recipientConfig = [\n ...(schema.actions?.options || []).flatMap(\n option => option.recipients || []\n ),\n ...(schema.actions?.recipients || []),\n ].find(item => (item.value ?? item.id) === actionItem.recipient);\n\n const recipientFields = [\n ...(hasRecipientEditor || hasRecipientField\n ? [RECIPIENT_STORAGE_FIELDS.emails]\n : []),\n ...(recipientConfig?.field\n ? [recipientStorageField(recipientConfig.field)]\n : []),\n ...(flatOption?.type === SMS_TO_NUMBERS\n ? [RECIPIENT_STORAGE_FIELDS.phoneNumbers]\n : []),\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.TRIGGER_LEAD_TIME:\n return hasErrorAt({ prefix: `${fieldKeys.leadTime}.value` });\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 (\n hasErrorAt({\n prefix: `${fieldKeys.actions}.value.${index}.name`,\n }) ||\n recipientFields.some(field =>\n hasErrorAt({ prefix: `${actionMeta}.${field}` })\n )\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 // Returns the submit generation, not a boolean, so consumers can replay the\n // flash animation when the same token is still invalid on a repeat submit.\n const isInvalid = args => (flashSeq && matchesInvalid(args) ? flashSeq : 0);\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 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 clearTriggers();\n // Hosts without an actor pane can never re-set it, and null fails its validation.\n if (schema.actor?.enabled) setPerformer(null);\n clearConditions();\n setDelay(null);\n clearActions();\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 nrb-atoms\">\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 data-testid=\"rule-delay-add\"\n icon={Plus}\n iconPosition=\"left\"\n label={t(\"neetoRules.common.addDelay\")}\n size=\"sm\"\n variant=\"secondary\"\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 <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 </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 list: \"list\",\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 {\n Checkbox,\n DatePicker,\n Input,\n RadioGroup,\n Textarea,\n Typography,\n} from \"@bigbinary/neeto-atoms\";\nimport { getIn, useFormikContext } from \"formik\";\nimport { isNot } from \"neetocist\";\nimport { dayjs } from \"neetocommons/v2/utils\";\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 ListField from \"../../../NeetoRulesForm/Element/Actions/Fields/ListField\";\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 color=\"muted\" variant=\"body3\">\n {hint}\n </Typography>\n ) : null;\n\n const noOptionsMessage = () => {\n const noun = option?.valueNounPlural || option?.valueNoun;\n\n return (\n <Typography color=\"muted\" variant=\"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\" data-testid=\"pane-no-matches\">\n {t(\"neetoRules.builder.noMatches\")}\n </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 {!option?.hideSubject && (\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 )}\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=\"mb-pane-list flex flex-col\">\n {filtered.map(item => (\n <Checkbox\n checked={current.includes(item.value)}\n key={item.value}\n label={item.label}\n onCheckedChange={() => toggle(item.value)}\n />\n ))}\n {fieldError(valuePath) && (\n <Typography color=\"destructive\" variant=\"body3\">\n {fieldError(valuePath)}\n </Typography>\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 <RadioGroup\n error={fieldError(valuePath)}\n orientation=\"vertical\"\n value={String(current ?? \"\")}\n onBlur={() => setFieldTouched(valuePath, true)}\n onValueChange={value => {\n const picked = options.find(item => String(item.value) === value);\n setFieldValue(valuePath, picked ? picked.value : value);\n }}\n >\n {filtered.map(item => (\n <RadioGroup.Item\n key={item.value}\n label={item.label}\n value={String(item.value)}\n />\n ))}\n </RadioGroup>\n );\n }\n\n if (type === ACTION_CONFIG_TYPES.list) {\n return (\n <div className=\"flex flex-col gap-2\">\n <ListField name={valuePath} />\n {hintBlock}\n </div>\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={\n getIn(values, valuePath)\n ? dayjs(getIn(values, valuePath))\n : undefined\n }\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 variant=\"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 { Button, Input, Typography } from \"@bigbinary/neeto-atoms\";\nimport { useFormikContext } from \"formik\";\nimport useHotkeys from \"neetohotkeys\";\nimport { Search } from \"neetoicons\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { SHORTCUTS } from \"src/constants/keyboardShortcuts\";\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 RECIPIENT_STORAGE_FIELDS,\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([RECIPIENT_STORAGE_FIELDS.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 useHotkeys(SHORTCUTS.continue.sequence, handleContinue, { mode: \"global\" });\n\n return (\n <>\n <Panel.Header>\n <div className=\"flex w-full flex-col gap-y-2\">\n <Typography data-testid=\"pane-title\" variant=\"h5\">\n {title}\n </Typography>\n {configSubtitle && (\n <Typography color=\"muted\" variant=\"body2\">\n {configSubtitle}\n </Typography>\n )}\n {showSearch && (\n <div className=\"mb-pane-search\">\n <Input\n dataTestid=\"pane-search\"\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 <SmsFields\n {...{ action, index, name }}\n shouldAutoFocus\n hint={t(\"neetoRules.builder.config.smsSegmentHint\")}\n selectedField={flatOption}\n showPhoneNumberInput={false}\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 <Panel.Footer>\n <Button\n data-testid=\"continue-button\"\n label={t(\"neetoRules.buttons.continue\")}\n size=\"lg\"\n onClick={handleContinue}\n />\n </Panel.Footer>\n </>\n );\n};\n\nexport default ConfigPane;\n","import { useEffect, useRef } from \"react\";\n\nimport { Typography } from \"@bigbinary/neeto-atoms\";\nimport { Input, Select } from \"@bigbinary/neeto-atoms/formik\";\nimport { useField, useFormikContext } from \"formik\";\nimport { isNotEmpty } from \"neetocist\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n MAX_DELAY_VALUE,\n MIN_DELAY_VALUE,\n} from \"v2/components/NeetoRulesForm/constants\";\n\nimport { normalizeOptions } from \"./utils\";\n\nimport Panel from \"../../NeetoRulesForm/Panel\";\nimport { DEFAULT_DELAY_UNITS, DEFAULT_DELAY_VALUE } 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, setFieldTouched, getFieldMeta } = 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 (value?.value === undefined) return;\n\n if (getFieldMeta(`${name}.value.value`).touched) return;\n setFieldTouched(`${name}.value.value`, true, false);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [value?.value]);\n\n useEffect(() => {\n if (isEmpty(value || {})) {\n setFieldValue(`${name}.value`, {\n value: DEFAULT_DELAY_VALUE,\n unit: unitOptions[0]?.value ?? DEFAULT_DELAY_UNITS[0].value,\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 data-testid=\"pane-title\" variant=\"h5\">\n {t(\"neetoRules.common.addDelay\")}\n </Typography>\n <Typography color=\"muted\" variant=\"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 variant=\"body2\" weight=\"medium\">\n {t(\"neetoRules.builder.waitFor\")}\n </Typography>\n <div className=\"flex items-start gap-x-2\">\n <Input\n className=\"w-44\"\n dataTestid=\"delay-value\"\n max={MAX_DELAY_VALUE}\n min={MIN_DELAY_VALUE}\n name={`${name}.value.value`}\n placeholder={t(\"neetoRules.placeholders.enterDelay\")}\n size=\"large\"\n type=\"number\"\n />\n <Select\n dataTestid=\"delay-unit\"\n defaultValue={value?.unit}\n name={`${name}.value.unit`}\n options={unitOptions}\n size=\"large\"\n onChange={nextUnit =>\n setFieldValue(`${name}.value.unit`, nextUnit)\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 { Input } from \"@bigbinary/neeto-atoms\";\nimport { Up, Down } from \"neetoicons\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { toNumber, clamp, asText } from \"./utils\";\n\nimport { SKIP_TAB_INDEX, STEPPER_DELTA, STEPPER_MIN_VALUE } from \"../constants\";\n\nconst NumberStepper = ({\n value,\n onChange,\n dataTestid,\n label,\n min = STEPPER_MIN_VALUE,\n max,\n required,\n error,\n}) => {\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 {...{ dataTestid, error, label, min, required }}\n autoFocus\n type=\"number\"\n value={display}\n suffix={\n <div className=\"mb-stepper-controls\">\n <button\n aria-label={t(\"neetoRules.builder.aria.increase\")}\n className=\"mb-stepper-btn\"\n data-testid=\"stepper-increase\"\n tabIndex={SKIP_TAB_INDEX}\n type=\"button\"\n onClick={() => step(STEPPER_DELTA.INCREMENT)}\n >\n <Up />\n </button>\n <button\n aria-label={t(\"neetoRules.builder.aria.decrease\")}\n className=\"mb-stepper-btn\"\n data-testid=\"stepper-decrease\"\n tabIndex={SKIP_TAB_INDEX}\n type=\"button\"\n onClick={() => step(STEPPER_DELTA.DECREMENT)}\n >\n <Down />\n </button>\n </div>\n }\n onBlur={() => setDraft(null)}\n onChange={event => commit(event.target.value)}\n onFocus={event => event.target.select()}\n />\n </div>\n );\n};\n\nexport default NumberStepper;\n","import { useEffect } from \"react\";\n\nimport { Select, Typography } from \"@bigbinary/neeto-atoms\";\nimport { useField, useFormikContext } from \"formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Panel from \"../../NeetoRulesForm/Panel\";\nimport NumberStepper from \"../Common/NumberStepper\";\nimport { LEAD_TIME_UNITS } from \"../constants\";\nimport usePaneValidation from \"../hooks/usePaneValidation\";\nimport useRuleModel from \"../hooks/useRuleModel\";\nimport { minutesToParts, partsToMinutes } from \"../utils\";\n\nconst LeadTimePane = ({ schema }) => {\n const { t } = useTranslation();\n const { setFieldValue, setFieldTouched, getFieldMeta } = useFormikContext();\n const { rule, fieldKeys } = useRuleModel(schema);\n\n const { value: amount, unit } = minutesToParts(rule.leadTime);\n const path = `${fieldKeys.leadTime}.value`;\n const [, { error, touched }] = useField(path);\n const update = ({ value, unit: nextUnit }) =>\n setFieldValue(path, partsToMinutes({ value, unit: nextUnit }));\n\n usePaneValidation(path);\n\n useEffect(() => {\n if (rule.leadTime === undefined) return;\n\n if (getFieldMeta(path).touched) return;\n setFieldTouched(path, true, false);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [rule.leadTime]);\n\n return (\n <>\n <Panel.Header>\n <div className=\"flex flex-col gap-y-1\">\n <Typography data-testid=\"pane-title\" variant=\"h5\">\n {t(\"neetoRules.builder.leadTimeTitle\")}\n </Typography>\n <Typography color=\"muted\" variant=\"body2\">\n {t(\"neetoRules.builder.leadTimeSubtitle\")}\n </Typography>\n </div>\n </Panel.Header>\n <Panel.Body>\n <div className=\"flex flex-col gap-y-1.5\">\n <Typography variant=\"body2\" weight=\"medium\">\n {t(\"neetoRules.builder.before\")}\n </Typography>\n <div className=\"flex items-start gap-x-3\">\n <div className=\"flex-1\">\n <NumberStepper\n dataTestid=\"lead-time\"\n error={touched ? error : \"\"}\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 dataTestid=\"lead-time-unit\"\n isSearchable={false}\n options={LEAD_TIME_UNITS}\n value={unit}\n onChange={nextUnit => update({ value: amount, unit: nextUnit })}\n />\n </div>\n </div>\n </div>\n </Panel.Body>\n </>\n );\n};\n\nexport default LeadTimePane;\n","import { Typography } from \"@bigbinary/neeto-atoms\";\nimport { Input } from \"@bigbinary/neeto-atoms/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 data-testid=\"pane-title\" variant=\"h5\">\n {t(\"neetoRules.builder.automationName\")}\n </Typography>\n <Typography color=\"muted\" variant=\"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 {\n Button,\n Checkbox,\n Input,\n RadioGroup,\n Tooltip,\n Typography,\n} from \"@bigbinary/neeto-atoms\";\nimport { useFormikContext } from \"formik\";\nimport { isNot } from \"neetocist\";\nimport useHotkeys from \"neetohotkeys\";\nimport { Search } from \"neetoicons\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { SHORTCUTS } from \"src/constants/keyboardShortcuts\";\nimport useUtilityStore from \"v2/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 canContinue = cascade && selectedValues.some(Boolean);\n useHotkeys(SHORTCUTS.continue.sequence, handleContinue, {\n enabled: canContinue,\n mode: \"global\",\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\" data-testid=\"pane-no-matches\">\n {t(\"neetoRules.builder.noMatches\")}\n </div>\n );\n }\n\n if (multi) {\n return (\n <div className=\"mb-pane-list 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 onCheckedChange={() => 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 <RadioGroup\n orientation=\"vertical\"\n value={selectedValues?.[0] ?? \"\"}\n onValueChange={handleSelect}\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 <RadioGroup.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 </RadioGroup>\n );\n };\n\n return (\n <>\n <Panel.Header>\n <div className=\"flex w-full flex-col gap-y-2\">\n <Typography data-testid=\"pane-title\" variant=\"h5\">\n {title}\n </Typography>\n <Typography color=\"muted\" variant=\"body2\">\n {subtitle}\n </Typography>\n {showSearch && (\n <div className=\"mb-pane-search\" ref={searchRef}>\n <Input\n dataTestid=\"pane-search\"\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 data-testid=\"continue-button\"\n disabled={!canContinue}\n label={t(\"neetoRules.buttons.continue\")}\n size=\"lg\"\n onClick={handleContinue}\n />\n </Panel.Footer>\n )}\n </>\n );\n};\n\nexport default OptionsPane;\n","import { MultiEmailInput, Select } from \"@bigbinary/neeto-atoms\";\nimport { getIn, useFormikContext } from \"formik\";\nimport { pluck } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { RECIPIENT_STORAGE_FIELDS } from \"../../constants\";\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 === RECIPIENT_STORAGE_FIELDS.emails) {\n const path = `${name}.${RECIPIENT_STORAGE_FIELDS.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 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}.${RECIPIENT_STORAGE_FIELDS.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={current ?? undefined}\n onBlur={() => setFieldTouched(path, true)}\n onChange={value => setFieldValue(path, value)}\n />\n );\n};\n\nexport default RecipientField;\n","import { useEffect, useRef } from \"react\";\n\nimport { Typography } from \"@bigbinary/neeto-atoms\";\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 RECIPIENT_STORAGE_FIELDS,\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\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}.${RECIPIENT_STORAGE_FIELDS.phoneNumbers}`\n : `${name}.${RECIPIENT_STORAGE_FIELDS.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}.${RECIPIENT_STORAGE_FIELDS.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 data-testid=\"pane-title\" variant=\"h5\">\n {meta.recipientTitle ||\n t(\"neetoRules.builder.panes.recipientTitle\")}\n </Typography>\n <Typography color=\"muted\" variant=\"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 {\n Checkbox,\n Input,\n RadioGroup,\n Select,\n Typography,\n} from \"@bigbinary/neeto-atoms\";\nimport { Input as FormikInput } from \"@bigbinary/neeto-atoms/formik\";\nimport { getIn, useFormikContext } from \"formik\";\nimport { isNot, isNotEmpty } from \"neetocist\";\nimport { isEmpty } 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\" data-testid=\"pane-no-matches\">\n {t(\"neetoRules.builder.noMatches\")}\n </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=\"mb-pane-list flex flex-col\">\n {filtered.map(option => (\n <Checkbox\n checked={current.includes(option.value)}\n key={option.value}\n label={option.label}\n onCheckedChange={() => toggle(option.value)}\n />\n ))}\n {fieldError(valuesPath) && (\n <Typography color=\"destructive\" variant=\"body3\">\n {fieldError(valuesPath)}\n </Typography>\n )}\n </div>\n );\n }\n\n if (type === CONDITION_VALUE_TYPES.multiSelect) {\n return (\n <Typography color=\"muted\" variant=\"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 isCreatable\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}\n onBlur={() => setFieldTouched(valuesPath, true)}\n onChange={selected => setFieldValue(valuesPath, selected || [])}\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 <RadioGroup\n error={fieldError(valuePath)}\n orientation=\"vertical\"\n value={String(current ?? \"\")}\n onBlur={() => setFieldTouched(valuePath, true)}\n onValueChange={value => setFieldValue(valuePath, value)}\n >\n {filtered.map(option => (\n <RadioGroup.Item\n key={option.value}\n label={String(option.label).toLowerCase()}\n value={String(option.value)}\n />\n ))}\n </RadioGroup>\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 { Input, Typography } from \"@bigbinary/neeto-atoms\";\nimport { useFormikContext } from \"formik\";\nimport { Search } from \"neetoicons\";\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 data-testid=\"pane-title\" variant=\"h5\">\n {t(\"neetoRules.builder.pickValue\", {\n field: field?.label || t(\"neetoRules.builder.valueWord\"),\n })}\n </Typography>\n <Typography color=\"muted\" variant=\"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 dataTestid=\"pane-search\"\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 { Spinner } from \"@bigbinary/neeto-atoms\";\nimport { ActionBlock } from \"@bigbinary/neeto-atoms/formik\";\nimport classnames from \"classnames\";\nimport { Form as FormikForm, Formik } from \"formik\";\nimport { isNotEmpty, noop } from \"neetocist\";\nimport Container from \"neetomolecules/v2/Container\";\nimport Header from \"neetomolecules/v2/Header\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { ScrollToErrorField } from \"v2/components/Common/ScrollToErrorField\";\nimport { DEFAULT_INITIAL_VALUE } from \"v2/components/NeetoRulesForm/constants\";\nimport usePollRuleName from \"v2/components/NeetoRulesForm/hooks/usePollRuleName\";\nimport useCustomDataStore from \"v2/components/NeetoRulesForm/stores/useCustomDataStore\";\nimport TouchErrors from \"v2/components/NeetoRulesForm/TouchErrors\";\nimport { buildPayload, formatData } from \"v2/components/NeetoRulesForm/utils\";\nimport { getValidationSchema } from \"v2/components/NeetoRulesForm/utils/validate\";\nimport useUtilityStore from \"v2/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 leadTimeValidationSchema,\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 }).concat(leadTimeValidationSchema(schema))}\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=\"bg-background 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","MAX_LEAD_TIME_VALUE","STEPPER_DELTA","INCREMENT","DECREMENT","STEPPER_MIN_VALUE","DEFAULT_DELAY_VALUE","FLASH_DURATION_MS","SKIP_TAB_INDEX","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","RECIPIENT_STORAGE_FIELDS","emails","phoneNumbers","DEFAULT_DELAY_UNITS","useClearingHover","_useState","useState","_useState2","_slicedToArray","clearing","setClearing","clearingHoverProps","onMouseEnter","onMouseLeave","resetClearing","TOKEN_STATE","FILLED","MUTED","PLACEHOLDER","PLACEHOLDER_NEXT","STATE_CLASS","useReplayFlash","flashSeq","ref","useRef","useEffect","_ref$current","_ref$current$getAnima","current","getAnimations","call","forEach","animation","cancel","play","Token","_ref","children","_ref$state","state","_ref$active","active","_ref$invalid","invalid","onClick","className","dataTestid","rest","_objectWithoutProperties","_excluded","isInteractive","tokenRef","_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","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","leadTimeExceedsMax","leadTimeValidationSchema","_schema$triggers2","leadTime","yup","object","shape","string","test","max","leadTimeLabel","_minutesToParts","unitLabel","normalizeTriggers","normalizeSchema","rawSchema","arguments","mergeDeepRight","joinTypeFor","mode","recipientStorageField","modeFromJoinType","joinType","valueAt","_ref20","_values$key","asArray","maybeArray","fieldKeysFromSchema","_schema$triggers3","_schema$actor2","_schema$conditions3","_schema$actions3","_schema$delay","_schema$triggers4","_schema$scope2","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","clearArrayItems","_ref31","_values$fieldKey2","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","variant","tooltipProps","content","position","Delete","Connector","fill","height","viewBox","width","d","stroke","strokeLinecap","strokeLinejoin","strokeWidth","DelayRow","part","MetaBlock","_ref$showName","showName","handleEditName","onEditName","handleToggleActive","onToggleActive","nameRef","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","configState","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","openPane","token","anchor","closePane","useRuleModel","_useFormikContext","useFormikContext","setFieldValue","apply","applyAll","edits","useMemo","fieldKeys","removeCondition","removeAction","clearTriggers","clearConditions","clearActions","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","_channelOf","isSwap","channelMetaFor","_schema$actions10","sourceOptions","channelLabel","disabled","_schema$actions12","_sc$requiresPhone2","selected","paneChangeTitle","paneTitle","paneSubtitle","blockedNoPhone","isSelected","disabledReason","disabledTooltip","phoneFieldPaneTitle","phoneFieldPaneSubtitle","commitFor","helpers","_schema$triggers5","_leadTime$default","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","setFlashSeq","lastSubmitCount","timer","setTimeout","clearTimeout","hasErrorAt","prefix","_ref3$exclude","exclude","Object","startsWith","sub","matchesInvalid","_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","recipientConfig","flatMap","recipientFields","actorKey","closePaneIfTargeting","anchors","handleRemoveCondition","remaining","handleRemoveDelay","isScopeEnabled","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","color","noOptionsMessage","noMatches","_getIn","_action$metadata","subjectPath","bodyPath","hideSubject","Input","required","error","onBlur","EditorAction","body","variables","filtered","toggle","isNot","Checkbox","onCheckedChange","RadioGroup","orientation","onValueChange","picked","Item","ListField","_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","useHotkeys","SHORTCUTS","sequence","Panel","Header","Search","Body","ErrorCallout","message","selectedField","SmsFields","shouldAutoFocus","showPhoneNumberInput","Footer","DelayPane","getFieldMeta","_useField","useField","_useField2","unitOptions","_unitOptions$0$value","_unitOptions$","weight","MAX_DELAY_VALUE","min","MIN_DELAY_VALUE","Select","defaultValue","nextUnit","toNumber","clamp","Math","asText","NumberStepper","_ref$min","draft","setDraft","display","commit","step","delta","isFinite","autoFocus","suffix","Up","Down","onFocus","select","LeadTimePane","amount","_useField2$","update","isSearchable","NamePane","OptionsPane","_ref$belowContent","belowContent","setBuilderPreview","searchRef","_searchRef$current","_useMemo","searchable","handleSelect","multiCandidate","Boolean","previewHandlers","canContinue","optionLabel","Icon","Tooltip","renderGroupHeader","renderBody","_selectedValues$","items","labelProps","RecipientField","MultiEmailInput","valid","RecipientPane","_schema$actions$rende","_schema$actions8$rend","belowRef","editor","isSmsToNumbers","recipientFieldPath","builtInRecipientField","recipientField","PhoneNumberField","belowField","_belowRef$current","ConditionValueFields","valueType","valuesPath","enumOptions","isCreatable","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/v2/components/NeetoRulesBuilder/constants.js","../../app/javascript/src/v2/components/NeetoRulesBuilder/hooks/useClearingHover.js","../../app/javascript/src/v2/components/NeetoRulesBuilder/Token/constants.js","../../app/javascript/src/v2/components/NeetoRulesBuilder/hooks/useReplayFlash.js","../../app/javascript/src/v2/components/NeetoRulesBuilder/Token/index.jsx","../../app/javascript/src/v2/components/NeetoRulesBuilder/utils.js","../../app/javascript/src/v2/components/NeetoRulesBuilder/Canvas/ConditionRow.jsx","../../app/javascript/src/v2/components/NeetoRulesBuilder/Canvas/Connector.jsx","../../app/javascript/src/v2/components/NeetoRulesBuilder/Canvas/DelayRow.jsx","../../app/javascript/src/v2/components/NeetoRulesBuilder/Canvas/MetaBlock.jsx","../../app/javascript/src/v2/components/NeetoRulesBuilder/Canvas/ScopeBlock.jsx","../../app/javascript/src/v2/components/NeetoRulesBuilder/Canvas/ActionRow.jsx","../../app/javascript/src/v2/components/NeetoRulesBuilder/Canvas/ThenBlock.jsx","../../app/javascript/src/v2/components/NeetoRulesBuilder/Canvas/WhenBlock.jsx","../../app/javascript/src/v2/components/NeetoRulesBuilder/hooks/usePaneCascade.js","../../app/javascript/src/v2/components/NeetoRulesBuilder/hooks/useRuleModel.js","../../app/javascript/src/v2/components/NeetoRulesBuilder/Panes/utils.js","../../app/javascript/src/v2/components/NeetoRulesBuilder/Canvas/index.jsx","../../app/javascript/src/v2/components/NeetoRulesBuilder/Panes/Fields/constants.js","../../app/javascript/src/v2/components/NeetoRulesBuilder/Panes/Fields/ActionConfigFields.jsx","../../app/javascript/src/v2/components/NeetoRulesBuilder/hooks/usePaneValidation.js","../../app/javascript/src/v2/components/NeetoRulesBuilder/Panes/ConfigPane.jsx","../../app/javascript/src/v2/components/NeetoRulesBuilder/Panes/DelayPane.jsx","../../app/javascript/src/v2/components/NeetoRulesBuilder/Common/utils.js","../../app/javascript/src/v2/components/NeetoRulesBuilder/Common/NumberStepper.jsx","../../app/javascript/src/v2/components/NeetoRulesBuilder/Panes/LeadTimePane.jsx","../../app/javascript/src/v2/components/NeetoRulesBuilder/Panes/NamePane.jsx","../../app/javascript/src/v2/components/NeetoRulesBuilder/Panes/OptionsPane.jsx","../../app/javascript/src/v2/components/NeetoRulesBuilder/Panes/Fields/RecipientField.jsx","../../app/javascript/src/v2/components/NeetoRulesBuilder/Panes/RecipientPane.jsx","../../app/javascript/src/v2/components/NeetoRulesBuilder/Panes/Fields/ConditionValueFields.jsx","../../app/javascript/src/v2/components/NeetoRulesBuilder/Panes/ValuePane.jsx","../../app/javascript/src/v2/components/NeetoRulesBuilder/Panes/constants.js","../../app/javascript/src/v2/components/NeetoRulesBuilder/Form.jsx","../../app/javascript/src/v2/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\n// Mirrors the classic form's three-digit input cap; 999 days equals the\n// backend's maximum lead time.\nexport const MAX_LEAD_TIME_VALUE = 999;\n\nexport const STEPPER_DELTA = { INCREMENT: 1, DECREMENT: -1 };\n\nexport const STEPPER_MIN_VALUE = 1;\n\nexport const DEFAULT_DELAY_VALUE = 10;\n\n// Matches the token flash animation duration in sentence-builder.css.\nexport const FLASH_DURATION_MS = 2200;\n\n// Keeps an element out of the keyboard tab order (HTML tabindex sentinel).\nexport const SKIP_TAB_INDEX = -1;\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 RECIPIENT_STORAGE_FIELDS = {\n emails: \"emails\",\n value: \"value\",\n phoneNumbers: \"phoneNumbers\",\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 { useEffect, useRef } from \"react\";\n\n// The flash is a run-once CSS animation, so a repeat submit while it is still\n// applied would not replay it on its own.\nconst useReplayFlash = flashSeq => {\n const ref = useRef(null);\n\n useEffect(() => {\n if (!flashSeq) return;\n\n ref.current?.getAnimations?.().forEach(animation => {\n animation.cancel();\n animation.play();\n });\n }, [flashSeq]);\n\n return ref;\n};\n\nexport default useReplayFlash;\n","import classnames from \"classnames\";\n\nimport { STATE_CLASS, TOKEN_STATE } from \"./constants\";\n\nimport useReplayFlash from \"../hooks/useReplayFlash\";\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 const tokenRef = useReplayFlash(invalid);\n\n return (\n <span\n data-testid={dataTestid}\n ref={tokenRef}\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\";\nimport * as yup from \"yup\";\n\nimport {\n CONDITION_MODE,\n CONDITION_VERBS,\n DEFAULT_SCHEMA,\n JOIN_TYPE,\n MAX_LEAD_TIME_VALUE,\n RECIPIENT_STORAGE_FIELDS,\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\n// Which condition fields a host offers can depend on the rule — a trigger may\n// only support a subset. Lookups deliberately keep using the full list so a\n// field already on the rule still resolves after the offer narrows.\nconst offeredConditionFields = ({ schema, rule }) =>\n schema?.conditions?.fieldsFor?.({ rule }) ?? schema?.conditions?.fields ?? [];\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 leadTimeExceedsMax = minutes =>\n minutesToParts(minutes).value > MAX_LEAD_TIME_VALUE;\n\nconst leadTimeValidationSchema = schema => {\n const fieldKey = schema?.triggers?.leadTime?.fieldKey;\n if (!fieldKey) return yup.object();\n\n return yup.object().shape({\n [fieldKey]: yup.object().shape({\n // yup 0.32 can only concat schemas of the same type, and the host's\n // generic field schema for the lead time key is a string schema.\n value: yup.string().test(\n \"max-lead-time\",\n () =>\n t(\"neetoRules.validations.maxLeadTime\", {\n max: MAX_LEAD_TIME_VALUE,\n }),\n minutes => !leadTimeExceedsMax(minutes)\n ),\n }),\n });\n};\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 recipientStorageField = field =>\n field === RECIPIENT_STORAGE_FIELDS.emails\n ? RECIPIENT_STORAGE_FIELDS.emails\n : RECIPIENT_STORAGE_FIELDS.value;\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\nconst clearArrayItems = ({ values, fieldKey }) => {\n const list = asArray(valueAt({ values, key: fieldKey }));\n const removed = list\n .filter(item => item?.id)\n .map(item => ({ ...item, _destroy: true }));\n\n const result = [{ path: `${fieldKey}.value`, value: [] }];\n if (removed.length) {\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],\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 offeredConditionFields,\n hasAction,\n isRuleComplete,\n invalidScopeIndexes,\n invalidScopePhoneFieldIndexes,\n scopePhoneFields,\n effectiveScopePhoneField,\n minutesToParts,\n partsToMinutes,\n leadTimeValidationSchema,\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 clearArrayItems,\n recipientStorageField,\n};\n","import { Button } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { Delete, Plus } from \"neetoicons\";\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=\"sm\"\n variant=\"ghost\"\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=\"sm\"\n variant=\"ghost\"\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 { Button } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { Delete } from \"neetoicons\";\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=\"sm\"\n variant=\"ghost\"\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 { useTranslation } from \"react-i18next\";\n\nimport useReplayFlash from \"../hooks/useReplayFlash\";\n\nconst MetaBlock = ({\n rule,\n showName = true,\n isInvalid = false,\n onEditName: handleEditName,\n onToggleActive: handleToggleActive,\n}) => {\n const { t } = useTranslation();\n\n const nameRef = useReplayFlash(isInvalid);\n\n return (\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 ref={nameRef}\n data-testid=\"rule-name-edit\"\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\" data-testid=\"rule-name\">\n {rule.name}\n </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\" data-testid=\"rule-active-label\">\n <input\n checked={rule.active}\n data-testid=\"rule-active-checkbox\"\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","import { Button } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { Delete, Plus } from \"neetoicons\";\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=\"sm\"\n variant=\"ghost\"\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=\"sm\"\n variant=\"ghost\"\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 { Button } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { isNotEmpty } from \"neetocist\";\nimport { Delete, Plus } from \"neetoicons\";\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 // A host that shows no value label still needs the token to read as filled.\n const configState =\n configValue || isConfigured ? TOKEN_STATE.FILLED : TOKEN_STATE.MUTED;\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={configState}\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={configState}\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=\"sm\"\n variant=\"ghost\"\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=\"sm\"\n variant=\"ghost\"\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 { Button } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { Delete, Plus } from \"neetoicons\";\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 invalid={isInvalid({\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=\"sm\"\n variant=\"ghost\"\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=\"sm\"\n variant=\"ghost\"\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 \"v2/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 clearArrayItems,\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 clearTriggers: () =>\n applyAll(\n clearArrayItems({\n values,\n fieldKey: fieldKeysFromSchema(schema).triggers,\n })\n ),\n clearConditions: () =>\n applyAll(\n clearArrayItems({\n values,\n fieldKey: fieldKeysFromSchema(schema).conditions,\n })\n ),\n clearActions: () =>\n applyAll(\n clearArrayItems({\n values,\n fieldKey: fieldKeysFromSchema(schema).actions,\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} from \"../constants\";\nimport {\n humanize,\n isContainsVerb,\n isNumericVerb,\n isExcludeVerb,\n scopePhoneFields,\n copyFor,\n offeredConditionFields,\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 [{ ...rule.triggers[0], 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: offeredConditionFields({ schema, rule }).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 // Both panes list the host's actions in the order it declared them;\n // re-ranking only the swap pane made the two disagree.\n const sourceOptions = 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([{ ...rule.triggers[0], 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 { Button } from \"@bigbinary/neeto-atoms\";\nimport { flatten } from \"flat\";\nimport { useFormikContext } from \"formik\";\nimport { isNotEmpty } from \"neetocist\";\nimport { Plus } from \"neetoicons\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport useUtilityStore from \"v2/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 FLASH_DURATION_MS,\n RECIPIENT_STORAGE_FIELDS,\n SMS_TO_NUMBERS,\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 offeredConditionFields,\n recipientStorageField,\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 setPerformer,\n setConditions,\n setDelay,\n removeCondition,\n removeAction,\n setActive,\n setScope,\n clearTriggers,\n clearConditions,\n clearActions,\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 [flashSeq, setFlashSeq] = useState(0);\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 setFlashSeq(submitCount);\n const timer = setTimeout(() => setFlashSeq(0), FLASH_DURATION_MS);\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 matchesInvalid = ({ type, index }) => {\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 recipientConfig = [\n ...(schema.actions?.options || []).flatMap(\n option => option.recipients || []\n ),\n ...(schema.actions?.recipients || []),\n ].find(item => (item.value ?? item.id) === actionItem.recipient);\n\n const recipientFields = [\n ...(hasRecipientEditor || hasRecipientField\n ? [RECIPIENT_STORAGE_FIELDS.emails]\n : []),\n ...(recipientConfig?.field\n ? [recipientStorageField(recipientConfig.field)]\n : []),\n ...(flatOption?.type === SMS_TO_NUMBERS\n ? [RECIPIENT_STORAGE_FIELDS.phoneNumbers]\n : []),\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.TRIGGER_LEAD_TIME:\n return hasErrorAt({ prefix: `${fieldKeys.leadTime}.value` });\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 (\n hasErrorAt({\n prefix: `${fieldKeys.actions}.value.${index}.name`,\n }) ||\n recipientFields.some(field =>\n hasErrorAt({ prefix: `${actionMeta}.${field}` })\n )\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 // Returns the submit generation, not a boolean, so consumers can replay the\n // flash animation when the same token is still invalid on a repeat submit.\n const isInvalid = args => (flashSeq && matchesInvalid(args) ? flashSeq : 0);\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 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 = offeredConditionFields({ schema, rule });\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 clearTriggers();\n // Hosts without an actor pane can never re-set it, and null fails its validation.\n if (schema.actor?.enabled) setPerformer(null);\n clearConditions();\n setDelay(null);\n clearActions();\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 nrb-atoms\">\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 data-testid=\"rule-delay-add\"\n icon={Plus}\n iconPosition=\"left\"\n label={t(\"neetoRules.common.addDelay\")}\n size=\"sm\"\n variant=\"secondary\"\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 <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 </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 list: \"list\",\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 {\n Checkbox,\n DatePicker,\n Input,\n RadioGroup,\n Textarea,\n Typography,\n} from \"@bigbinary/neeto-atoms\";\nimport { getIn, useFormikContext } from \"formik\";\nimport { isNot } from \"neetocist\";\nimport { dayjs } from \"neetocommons/v2/utils\";\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 ListField from \"../../../NeetoRulesForm/Element/Actions/Fields/ListField\";\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 color=\"muted\" variant=\"body3\">\n {hint}\n </Typography>\n ) : null;\n\n const noOptionsMessage = () => {\n const noun = option?.valueNounPlural || option?.valueNoun;\n\n return (\n <Typography color=\"muted\" variant=\"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\" data-testid=\"pane-no-matches\">\n {t(\"neetoRules.builder.noMatches\")}\n </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 {!option?.hideSubject && (\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 )}\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=\"mb-pane-list flex flex-col\">\n {filtered.map(item => (\n <Checkbox\n checked={current.includes(item.value)}\n key={item.value}\n label={item.label}\n onCheckedChange={() => toggle(item.value)}\n />\n ))}\n {fieldError(valuePath) && (\n <Typography color=\"destructive\" variant=\"body3\">\n {fieldError(valuePath)}\n </Typography>\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 <RadioGroup\n error={fieldError(valuePath)}\n orientation=\"vertical\"\n value={String(current ?? \"\")}\n onBlur={() => setFieldTouched(valuePath, true)}\n onValueChange={value => {\n const picked = options.find(item => String(item.value) === value);\n setFieldValue(valuePath, picked ? picked.value : value);\n }}\n >\n {filtered.map(item => (\n <RadioGroup.Item\n key={item.value}\n label={item.label}\n value={String(item.value)}\n />\n ))}\n </RadioGroup>\n );\n }\n\n if (type === ACTION_CONFIG_TYPES.list) {\n return (\n <div className=\"flex flex-col gap-2\">\n <ListField name={valuePath} />\n {hintBlock}\n </div>\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={\n getIn(values, valuePath)\n ? dayjs(getIn(values, valuePath))\n : undefined\n }\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 variant=\"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 { Button, Input, Typography } from \"@bigbinary/neeto-atoms\";\nimport { useFormikContext } from \"formik\";\nimport useHotkeys from \"neetohotkeys\";\nimport { Search } from \"neetoicons\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { SHORTCUTS } from \"src/constants/keyboardShortcuts\";\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 RECIPIENT_STORAGE_FIELDS,\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([RECIPIENT_STORAGE_FIELDS.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 useHotkeys(SHORTCUTS.continue.sequence, handleContinue, { mode: \"global\" });\n\n return (\n <>\n <Panel.Header>\n <div className=\"flex w-full flex-col gap-y-2\">\n <Typography data-testid=\"pane-title\" variant=\"h5\">\n {title}\n </Typography>\n {configSubtitle && (\n <Typography color=\"muted\" variant=\"body2\">\n {configSubtitle}\n </Typography>\n )}\n {showSearch && (\n <div className=\"mb-pane-search\">\n <Input\n dataTestid=\"pane-search\"\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 <SmsFields\n {...{ action, index, name }}\n shouldAutoFocus\n hint={t(\"neetoRules.builder.config.smsSegmentHint\")}\n selectedField={flatOption}\n showPhoneNumberInput={false}\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 <Panel.Footer>\n <Button\n data-testid=\"continue-button\"\n label={t(\"neetoRules.buttons.continue\")}\n size=\"lg\"\n onClick={handleContinue}\n />\n </Panel.Footer>\n </>\n );\n};\n\nexport default ConfigPane;\n","import { useEffect, useRef } from \"react\";\n\nimport { Typography } from \"@bigbinary/neeto-atoms\";\nimport { Input, Select } from \"@bigbinary/neeto-atoms/formik\";\nimport { useField, useFormikContext } from \"formik\";\nimport { isNotEmpty } from \"neetocist\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n MAX_DELAY_VALUE,\n MIN_DELAY_VALUE,\n} from \"v2/components/NeetoRulesForm/constants\";\n\nimport { normalizeOptions } from \"./utils\";\n\nimport Panel from \"../../NeetoRulesForm/Panel\";\nimport { DEFAULT_DELAY_UNITS, DEFAULT_DELAY_VALUE } 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, setFieldTouched, getFieldMeta } = 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 (value?.value === undefined) return;\n\n if (getFieldMeta(`${name}.value.value`).touched) return;\n setFieldTouched(`${name}.value.value`, true, false);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [value?.value]);\n\n useEffect(() => {\n if (isEmpty(value || {})) {\n setFieldValue(`${name}.value`, {\n value: DEFAULT_DELAY_VALUE,\n unit: unitOptions[0]?.value ?? DEFAULT_DELAY_UNITS[0].value,\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 data-testid=\"pane-title\" variant=\"h5\">\n {t(\"neetoRules.common.addDelay\")}\n </Typography>\n <Typography color=\"muted\" variant=\"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 variant=\"body2\" weight=\"medium\">\n {t(\"neetoRules.builder.waitFor\")}\n </Typography>\n <div className=\"flex items-start gap-x-2\">\n <Input\n className=\"w-44\"\n dataTestid=\"delay-value\"\n max={MAX_DELAY_VALUE}\n min={MIN_DELAY_VALUE}\n name={`${name}.value.value`}\n placeholder={t(\"neetoRules.placeholders.enterDelay\")}\n size=\"large\"\n type=\"number\"\n />\n <Select\n dataTestid=\"delay-unit\"\n defaultValue={value?.unit}\n name={`${name}.value.unit`}\n options={unitOptions}\n size=\"large\"\n onChange={nextUnit =>\n setFieldValue(`${name}.value.unit`, nextUnit)\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 { Input } from \"@bigbinary/neeto-atoms\";\nimport { Up, Down } from \"neetoicons\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { toNumber, clamp, asText } from \"./utils\";\n\nimport { SKIP_TAB_INDEX, STEPPER_DELTA, STEPPER_MIN_VALUE } from \"../constants\";\n\nconst NumberStepper = ({\n value,\n onChange,\n dataTestid,\n label,\n min = STEPPER_MIN_VALUE,\n max,\n required,\n error,\n}) => {\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 {...{ dataTestid, error, label, min, required }}\n autoFocus\n type=\"number\"\n value={display}\n suffix={\n <div className=\"mb-stepper-controls\">\n <button\n aria-label={t(\"neetoRules.builder.aria.increase\")}\n className=\"mb-stepper-btn\"\n data-testid=\"stepper-increase\"\n tabIndex={SKIP_TAB_INDEX}\n type=\"button\"\n onClick={() => step(STEPPER_DELTA.INCREMENT)}\n >\n <Up />\n </button>\n <button\n aria-label={t(\"neetoRules.builder.aria.decrease\")}\n className=\"mb-stepper-btn\"\n data-testid=\"stepper-decrease\"\n tabIndex={SKIP_TAB_INDEX}\n type=\"button\"\n onClick={() => step(STEPPER_DELTA.DECREMENT)}\n >\n <Down />\n </button>\n </div>\n }\n onBlur={() => setDraft(null)}\n onChange={event => commit(event.target.value)}\n onFocus={event => event.target.select()}\n />\n </div>\n );\n};\n\nexport default NumberStepper;\n","import { useEffect } from \"react\";\n\nimport { Select, Typography } from \"@bigbinary/neeto-atoms\";\nimport { useField, useFormikContext } from \"formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Panel from \"../../NeetoRulesForm/Panel\";\nimport NumberStepper from \"../Common/NumberStepper\";\nimport { LEAD_TIME_UNITS } from \"../constants\";\nimport usePaneValidation from \"../hooks/usePaneValidation\";\nimport useRuleModel from \"../hooks/useRuleModel\";\nimport { minutesToParts, partsToMinutes } from \"../utils\";\n\nconst LeadTimePane = ({ schema }) => {\n const { t } = useTranslation();\n const { setFieldValue, setFieldTouched, getFieldMeta } = useFormikContext();\n const { rule, fieldKeys } = useRuleModel(schema);\n\n const { value: amount, unit } = minutesToParts(rule.leadTime);\n const path = `${fieldKeys.leadTime}.value`;\n const [, { error, touched }] = useField(path);\n const update = ({ value, unit: nextUnit }) =>\n setFieldValue(path, partsToMinutes({ value, unit: nextUnit }));\n\n usePaneValidation(path);\n\n useEffect(() => {\n if (rule.leadTime === undefined) return;\n\n if (getFieldMeta(path).touched) return;\n setFieldTouched(path, true, false);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [rule.leadTime]);\n\n return (\n <>\n <Panel.Header>\n <div className=\"flex flex-col gap-y-1\">\n <Typography data-testid=\"pane-title\" variant=\"h5\">\n {t(\"neetoRules.builder.leadTimeTitle\")}\n </Typography>\n <Typography color=\"muted\" variant=\"body2\">\n {t(\"neetoRules.builder.leadTimeSubtitle\")}\n </Typography>\n </div>\n </Panel.Header>\n <Panel.Body>\n <div className=\"flex flex-col gap-y-1.5\">\n <Typography variant=\"body2\" weight=\"medium\">\n {t(\"neetoRules.builder.before\")}\n </Typography>\n <div className=\"flex items-start gap-x-3\">\n <div className=\"flex-1\">\n <NumberStepper\n dataTestid=\"lead-time\"\n error={touched ? error : \"\"}\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 dataTestid=\"lead-time-unit\"\n isSearchable={false}\n options={LEAD_TIME_UNITS}\n value={unit}\n onChange={nextUnit => update({ value: amount, unit: nextUnit })}\n />\n </div>\n </div>\n </div>\n </Panel.Body>\n </>\n );\n};\n\nexport default LeadTimePane;\n","import { Typography } from \"@bigbinary/neeto-atoms\";\nimport { Input } from \"@bigbinary/neeto-atoms/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 data-testid=\"pane-title\" variant=\"h5\">\n {t(\"neetoRules.builder.automationName\")}\n </Typography>\n <Typography color=\"muted\" variant=\"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 {\n Button,\n Checkbox,\n Input,\n RadioGroup,\n Tooltip,\n Typography,\n} from \"@bigbinary/neeto-atoms\";\nimport { useFormikContext } from \"formik\";\nimport { isNot } from \"neetocist\";\nimport useHotkeys from \"neetohotkeys\";\nimport { Search } from \"neetoicons\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { SHORTCUTS } from \"src/constants/keyboardShortcuts\";\nimport useUtilityStore from \"v2/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 canContinue = cascade && selectedValues.some(Boolean);\n useHotkeys(SHORTCUTS.continue.sequence, handleContinue, {\n enabled: canContinue,\n mode: \"global\",\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\" data-testid=\"pane-no-matches\">\n {t(\"neetoRules.builder.noMatches\")}\n </div>\n );\n }\n\n if (multi) {\n return (\n <div className=\"mb-pane-list 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 onCheckedChange={() => 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 <RadioGroup\n orientation=\"vertical\"\n value={selectedValues?.[0] ?? \"\"}\n onValueChange={handleSelect}\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 <RadioGroup.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 </RadioGroup>\n );\n };\n\n return (\n <>\n <Panel.Header>\n <div className=\"flex w-full flex-col gap-y-2\">\n <Typography data-testid=\"pane-title\" variant=\"h5\">\n {title}\n </Typography>\n <Typography color=\"muted\" variant=\"body2\">\n {subtitle}\n </Typography>\n {showSearch && (\n <div className=\"mb-pane-search\" ref={searchRef}>\n <Input\n dataTestid=\"pane-search\"\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 data-testid=\"continue-button\"\n disabled={!canContinue}\n label={t(\"neetoRules.buttons.continue\")}\n size=\"lg\"\n onClick={handleContinue}\n />\n </Panel.Footer>\n )}\n </>\n );\n};\n\nexport default OptionsPane;\n","import { MultiEmailInput, Select } from \"@bigbinary/neeto-atoms\";\nimport { getIn, useFormikContext } from \"formik\";\nimport { pluck } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { RECIPIENT_STORAGE_FIELDS } from \"../../constants\";\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 === RECIPIENT_STORAGE_FIELDS.emails) {\n const path = `${name}.${RECIPIENT_STORAGE_FIELDS.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 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}.${RECIPIENT_STORAGE_FIELDS.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={current ?? undefined}\n onBlur={() => setFieldTouched(path, true)}\n onChange={value => setFieldValue(path, value)}\n />\n );\n};\n\nexport default RecipientField;\n","import { useEffect, useRef } from \"react\";\n\nimport { Typography } from \"@bigbinary/neeto-atoms\";\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 RECIPIENT_STORAGE_FIELDS,\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\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}.${RECIPIENT_STORAGE_FIELDS.phoneNumbers}`\n : `${name}.${RECIPIENT_STORAGE_FIELDS.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}.${RECIPIENT_STORAGE_FIELDS.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 data-testid=\"pane-title\" variant=\"h5\">\n {meta.recipientTitle ||\n t(\"neetoRules.builder.panes.recipientTitle\")}\n </Typography>\n <Typography color=\"muted\" variant=\"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 {\n Checkbox,\n Input,\n RadioGroup,\n Select,\n Typography,\n} from \"@bigbinary/neeto-atoms\";\nimport { Input as FormikInput } from \"@bigbinary/neeto-atoms/formik\";\nimport { getIn, useFormikContext } from \"formik\";\nimport { isNot, isNotEmpty } from \"neetocist\";\nimport { isEmpty } 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\" data-testid=\"pane-no-matches\">\n {t(\"neetoRules.builder.noMatches\")}\n </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=\"mb-pane-list flex flex-col\">\n {filtered.map(option => (\n <Checkbox\n checked={current.includes(option.value)}\n key={option.value}\n label={option.label}\n onCheckedChange={() => toggle(option.value)}\n />\n ))}\n {fieldError(valuesPath) && (\n <Typography color=\"destructive\" variant=\"body3\">\n {fieldError(valuesPath)}\n </Typography>\n )}\n </div>\n );\n }\n\n if (type === CONDITION_VALUE_TYPES.multiSelect) {\n return (\n <Typography color=\"muted\" variant=\"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 isCreatable\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}\n onBlur={() => setFieldTouched(valuesPath, true)}\n onChange={selected => setFieldValue(valuesPath, selected || [])}\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 <RadioGroup\n error={fieldError(valuePath)}\n orientation=\"vertical\"\n value={String(current ?? \"\")}\n onBlur={() => setFieldTouched(valuePath, true)}\n onValueChange={value => setFieldValue(valuePath, value)}\n >\n {filtered.map(option => (\n <RadioGroup.Item\n key={option.value}\n label={String(option.label).toLowerCase()}\n value={String(option.value)}\n />\n ))}\n </RadioGroup>\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 { Input, Typography } from \"@bigbinary/neeto-atoms\";\nimport { useFormikContext } from \"formik\";\nimport { Search } from \"neetoicons\";\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 data-testid=\"pane-title\" variant=\"h5\">\n {t(\"neetoRules.builder.pickValue\", {\n field: field?.label || t(\"neetoRules.builder.valueWord\"),\n })}\n </Typography>\n <Typography color=\"muted\" variant=\"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 dataTestid=\"pane-search\"\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 { Spinner } from \"@bigbinary/neeto-atoms\";\nimport { ActionBlock } from \"@bigbinary/neeto-atoms/formik\";\nimport classnames from \"classnames\";\nimport { Form as FormikForm, Formik } from \"formik\";\nimport { isNotEmpty, noop } from \"neetocist\";\nimport Container from \"neetomolecules/v2/Container\";\nimport Header from \"neetomolecules/v2/Header\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { ScrollToErrorField } from \"v2/components/Common/ScrollToErrorField\";\nimport { DEFAULT_INITIAL_VALUE } from \"v2/components/NeetoRulesForm/constants\";\nimport usePollRuleName from \"v2/components/NeetoRulesForm/hooks/usePollRuleName\";\nimport useCustomDataStore from \"v2/components/NeetoRulesForm/stores/useCustomDataStore\";\nimport TouchErrors from \"v2/components/NeetoRulesForm/TouchErrors\";\nimport { buildPayload, formatData } from \"v2/components/NeetoRulesForm/utils\";\nimport { getValidationSchema } from \"v2/components/NeetoRulesForm/utils/validate\";\nimport useUtilityStore from \"v2/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 leadTimeValidationSchema,\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 }).concat(leadTimeValidationSchema(schema))}\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=\"bg-background 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","MAX_LEAD_TIME_VALUE","STEPPER_DELTA","INCREMENT","DECREMENT","STEPPER_MIN_VALUE","DEFAULT_DELAY_VALUE","FLASH_DURATION_MS","SKIP_TAB_INDEX","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","RECIPIENT_STORAGE_FIELDS","emails","phoneNumbers","DEFAULT_DELAY_UNITS","useClearingHover","_useState","useState","_useState2","_slicedToArray","clearing","setClearing","clearingHoverProps","onMouseEnter","onMouseLeave","resetClearing","TOKEN_STATE","FILLED","MUTED","PLACEHOLDER","PLACEHOLDER_NEXT","STATE_CLASS","useReplayFlash","flashSeq","ref","useRef","useEffect","_ref$current","_ref$current$getAnima","current","getAnimations","call","forEach","animation","cancel","play","Token","_ref","children","_ref$state","state","_ref$active","active","_ref$invalid","invalid","onClick","className","dataTestid","rest","_objectWithoutProperties","_excluded","isInteractive","tokenRef","_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","recipientValue","matchesRecipient","_recipient$value","recipientLabel","paramKind","paramType","valueNoun","valueNounPlural","mediumLabel","icon","needsRecipient","separator","configValue","configValueLabel","configValuePlaceholder","valuePlaceholder","configTitle","configSubtitle","recipientTitle","recipientSubtitle","offeredConditionFields","_ref12","_ref13","_schema$conditions$fi","_schema$conditions3","_schema$conditions3$f","_schema$conditions4","rule","fieldsFor","hasTrigger","hasAction","some","isRuleComplete","scopeOptionFor","_ref14","_item$value","_schema$scope","item","scope","_candidate$value2","scopePhoneFields","_ref15","_ref16","_item$phoneFields","_scopeOptionFor","phoneFields","effectiveScopePhoneField","_ref17","phoneField","length","invalidScopeIndexes","_ref18","_scope$requiresPhone","requiresPhone","reduce","indexes","index","_ref19","_item$hasPhoneField","hasPhoneField","push","invalidScopePhoneFieldIndexes","_ref20","_scope$requiresPhone2","hasChoice","minutesToParts","total","Number","unit","partsToMinutes","_ref21","leadTimeExceedsMax","leadTimeValidationSchema","_schema$triggers2","leadTime","yup","object","shape","string","test","max","leadTimeLabel","_minutesToParts","unitLabel","normalizeTriggers","normalizeSchema","rawSchema","arguments","mergeDeepRight","joinTypeFor","mode","recipientStorageField","modeFromJoinType","joinType","valueAt","_ref22","_values$key","asArray","maybeArray","fieldKeysFromSchema","_schema$triggers3","_schema$actor2","_schema$conditions5","_schema$actions3","_schema$delay","_schema$triggers4","_schema$scope2","status","valuesToRuleModel","_valueAt","_conditions$","_ref23","_ref23$values","_ref23$schema","keys","rawDelay","conditionMode","setTriggers","_ref24","path","setPerformer","_ref25","setActions","_ref26","setConditions","_ref27","setConditionMode","_ref28","assoc","setDelay","_ref29","setActive","_ref30","setScope","_ref31","removeArrayItem","_ref32","list","removed","nextList","filter","_","i","result","_values$fieldKey","deleted","_toConsumableArray","_destroy","clearArrayItems","_ref33","_values$fieldKey2","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","variant","tooltipProps","content","position","Delete","Connector","fill","height","viewBox","width","d","stroke","strokeLinecap","strokeLinejoin","strokeWidth","DelayRow","part","MetaBlock","_ref$showName","showName","handleEditName","onEditName","handleToggleActive","onToggleActive","nameRef","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","configState","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","openPane","token","anchor","closePane","useRuleModel","_useFormikContext","useFormikContext","setFieldValue","apply","applyAll","edits","useMemo","fieldKeys","removeCondition","removeAction","clearTriggers","clearConditions","clearActions","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","_channelOf","isSwap","channelMetaFor","_schema$actions10","sourceOptions","channelLabel","disabled","_schema$actions12","_sc$requiresPhone2","selected","paneChangeTitle","paneTitle","paneSubtitle","blockedNoPhone","isSelected","disabledReason","disabledTooltip","phoneFieldPaneTitle","phoneFieldPaneSubtitle","commitFor","helpers","_schema$triggers5","_leadTime$default","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","setFlashSeq","lastSubmitCount","timer","setTimeout","clearTimeout","hasErrorAt","prefix","_ref3$exclude","exclude","Object","startsWith","sub","matchesInvalid","_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","recipientConfig","flatMap","recipientFields","actorKey","closePaneIfTargeting","anchors","handleRemoveCondition","remaining","handleRemoveDelay","isScopeEnabled","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","color","noOptionsMessage","noMatches","_getIn","_action$metadata","subjectPath","bodyPath","hideSubject","Input","required","error","onBlur","EditorAction","body","variables","filtered","toggle","isNot","Checkbox","onCheckedChange","RadioGroup","orientation","onValueChange","picked","Item","ListField","_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","useHotkeys","SHORTCUTS","sequence","Panel","Header","Search","Body","ErrorCallout","message","selectedField","SmsFields","shouldAutoFocus","showPhoneNumberInput","Footer","DelayPane","getFieldMeta","_useField","useField","_useField2","unitOptions","_unitOptions$0$value","_unitOptions$","weight","MAX_DELAY_VALUE","min","MIN_DELAY_VALUE","Select","defaultValue","nextUnit","toNumber","clamp","Math","asText","NumberStepper","_ref$min","draft","setDraft","display","commit","step","delta","isFinite","autoFocus","suffix","Up","Down","onFocus","select","LeadTimePane","amount","_useField2$","update","isSearchable","NamePane","OptionsPane","_ref$belowContent","belowContent","setBuilderPreview","searchRef","_searchRef$current","_useMemo","searchable","handleSelect","multiCandidate","Boolean","previewHandlers","canContinue","optionLabel","Icon","Tooltip","renderGroupHeader","renderBody","_selectedValues$","items","labelProps","RecipientField","MultiEmailInput","valid","RecipientPane","_schema$actions$rende","_schema$actions8$rend","belowRef","editor","isSmsToNumbers","recipientFieldPath","builtInRecipientField","recipientField","PhoneNumberField","belowField","_belowRef$current","ConditionValueFields","valueType","valuesPath","enumOptions","isCreatable","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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"}
|