import React from "react"; import ApplicableScopeField from "../../app/(app)/create/components/ApplicableScopeField"; export default { title: "Create Flow/ApplicableScopeField", component: ApplicableScopeField, parameters: { layout: "centered", docs: { description: { component: "Shared 'Applicable Scope' field used by the `decision-approaches` create-flow modal. Toggle-chips plus an inline pill input for adding new scope values. Conflict management uses `ModalTextAreaField` (see Figma `20874:172292`).", }, }, }, argTypes: { label: { control: { type: "text" } }, addLabel: { control: { type: "text" } }, inputPlaceholder: { control: { type: "text" } }, onToggleScope: { action: "toggle" }, onAddScope: { action: "add" }, }, tags: ["autodocs"], }; const INITIAL_SCOPES = ["Finance", "Operations", "Product", "People"]; export const Default = { render: (args) => { const [scopes, setScopes] = React.useState(INITIAL_SCOPES); const [selected, setSelected] = React.useState(["Finance"]); return (
{ setSelected((prev) => prev.includes(scope) ? prev.filter((s) => s !== scope) : [...prev, scope], ); }} onAddScope={(scope) => setScopes((prev) => [...prev, scope])} />
); }, args: { label: "Applicable Scope", addLabel: "Add Applicable Scope", }, }; export const Empty = { render: () => { const [scopes, setScopes] = React.useState([]); const [selected, setSelected] = React.useState([]); return (
setSelected((prev) => prev.includes(scope) ? prev.filter((s) => s !== scope) : [...prev, scope], ) } onAddScope={(scope) => setScopes((prev) => [...prev, scope])} />
); }, parameters: { docs: { description: { story: "With no scopes yet — only the '+ Add' affordance is visible. Click it to reveal the pill text input.", }, }, }, };