Backport of #8951 to `cloud/1.40`.
Cherry-pick of merge commit `1bac5d9bddd2106b04f330733a45094df379b592`
with conflict resolution.
## Conflict Resolution
- **TopMenuSection.vue**: Kept both queue context menu (from target) and
share tooltip/button (from PR)
- **StatusBadge.vue**: Accepted PR version (adds `class` prop,
`badgeClass` computed with `cn()`)
- **WorkflowTab.vue**: Kept target branch version — PR's context menu
additions depend on `WorkflowActionsList.vue` and
`types/workflowMenuItem` which don't exist on `cloud/1.40`
- **composables/README.md**: Merged both — kept `useValueTransform` from
target, used `useWorkflowPersistenceV2` from PR
- **Textarea.vue**: Accepted PR version (new file, deleted in target)
- **Binary snapshot**: Accepted PR version
- **pnpm-lock.yaml**: Regenerated with `pnpm install`
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-9454-backport-cloud-1-40-feat-workflow-sharing-and-ComfyHub-publish-flow-31b6d73d3650813ebd55e0d2a24860ec)
by [Unito](https://www.unito.io)
---------
Co-authored-by: Amp <amp@ampcode.com>
Co-authored-by: GitHub Action <action@github.com>
Co-authored-by: github-actions <github-actions@github.com>