docs: function sendAction(eventName, view, event) {
    let actionName = get(view, `attrs.${eventName}`) || get(view, eventName);
    let value = get(view, 'value');
  
    if (SEND_ACTION && typeof actionName === 'string') {
      let message = EMBER_GLIMMER_ANGLE_BRACKET_BUILT_INS
        ? `Passing actions to components as strings (like \`<Input @${eventName}="${actionName}" />\`) is deprecated. Please use closure actions instead (\`<Input @${eventName}={{action "${actionName}"}} />\`).`
        : `Passing actions to components as strings (like \`{{input ${eventName}="${actionName}"}}\`) is deprecated. Please use closure actions instead (\`{{input ${eventName}=(action "${actionName}")}}\`).`;
  
      deprecate(message, false, {
        id: 'ember-component.send-action',
        until: '4.0.0',
        url: 'https://emberjs.com/deprecations/v3.x#toc_ember-component-send-action',
      });
  
      view.triggerAction({
        action: actionName,
        actionContext: [value, event],
      });
    } else if (typeof actionName === 'function') {
      actionName(value, event);
    }
  
    if (actionName && !get(view, 'bubbles')) {
      event.stopPropagation();
    }
  }