@bigbinary/neeto-rules-frontend 2.7.10 → 2.7.12

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