{"version":3,"file":"AIButton.stories.jsx","sourceRoot":"","sources":["../../../src/core/AIButton/AIButton.stories.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useEffect, useReducer, useRef, useState } from 'react';\nimport type { ChangeEvent, FocusEvent, ReactNode } from 'react';\nimport type { Meta, StoryFn } from '@storybook/react';\n\nimport {\n  AIButton,\n  Banner,\n  Button,\n  Checkbox,\n  CheckboxGroup,\n  ThemeOverride,\n  ErrorState,\n  Flex,\n  Form,\n  Grid,\n  Input,\n  Modal,\n  RadioButton,\n  RadioButtonGroup,\n  Select,\n  Option,\n  TextArea,\n  useModalContext,\n  useModalManager,\n  useToaster\n} from '@pega/cosmos-react-core';\nimport type { AIButtonProps, BannerHandleValue } from '@pega/cosmos-react-core';\n\nimport { loadingTimeoutMS } from '../Progress/Progress.mocks';\n\nimport { AIValues, fieldReducer, initFields } from './AIButton.mocks';\n\nexport default {\n  title: 'Core/AIButton',\n  component: AIButton,\n  excludeStories: ['ConfigurableAIButton'],\n  parameters: {\n    layout: 'centered'\n  }\n} as Meta;\n\nexport const AIButtonDemo: StoryFn<AIButtonProps> = (args: AIButtonProps) => {\n  return args.iconOnly ? (\n    <AIButton\n      icon={args.icon}\n      label={args.label}\n      disabled={args.disabled}\n      iconOnly\n      variant={args.variant}\n    />\n  ) : (\n    <AIButton icon={args.icon} label={args.label} disabled={args.disabled} variant={args.variant} />\n  );\n};\n\nAIButtonDemo.args = {\n  label: 'Fill form with AI',\n  disabled: false,\n  icon: 'polaris-solid',\n  iconOnly: false,\n  variant: 'secondary'\n};\n\nAIButtonDemo.argTypes = {\n  variant: {\n    options: ['primary', 'secondary'],\n    control: { type: 'select' }\n  },\n  label: { control: { type: 'text' } },\n  disabled: { control: { type: 'boolean' } },\n  iconOnly: { control: { type: 'boolean' } },\n  icon: {\n    options: ['polaris-solid', 'check', undefined, false],\n    control: { type: 'select' }\n  }\n};\n\ninterface AIButtonFormProps {\n  throwAIError?: boolean;\n  showTitle?: boolean;\n  showDescription?: boolean;\n  onCancel?: () => void;\n  onSubmit?: () => void;\n}\n\nexport const AIButtonFormDemo: StoryFn<AIButtonFormProps> = (args: AIButtonFormProps) => {\n  const [fields, setField] = useReducer(fieldReducer, undefined, initFields);\n  const [banner, setBanner] = useState<ReactNode>();\n  const [loadingMessage, setLoadingMessage] = useState('');\n  const [submitting, setSubmitting] = useState(false);\n\n  const bannerHandleRef = useRef<BannerHandleValue>(null);\n  const { push } = useToaster();\n\n  const name = fields.find(field => field.name === 'name');\n  const email = fields.find(field => field.name === 'email');\n  const locations = fields.find(field => field.name === 'locations');\n  const meetings = fields.find(field => field.name === 'meetings');\n  const meals = fields.find(field => field.name === 'meals');\n  const notes = fields.find(field => field.name === 'notes');\n\n  useEffect(() => {\n    if (banner && bannerHandleRef.current) bannerHandleRef.current.focus();\n  }, [banner]);\n\n  if (!name || !email || !locations || !meetings || !meals || !notes) return <ErrorState />;\n\n  const clearForm = () => {\n    fields.forEach(field => setField({ type: 'cancel', name: field.name, value: undefined }));\n  };\n\n  const fillWithAI = () => {\n    setLoadingMessage('AI is filling out the form...');\n    setTimeout(() => {\n      setLoadingMessage('');\n      if (args.throwAIError) {\n        setBanner(\n          <Banner\n            variant='urgent'\n            messages={['An error occurred while generating responses from the AI.']}\n            onDismiss={() => {\n              setBanner(undefined);\n            }}\n            handle={bannerHandleRef}\n          />\n        );\n      } else {\n        setBanner(undefined);\n        const values = AIValues[Math.floor(Math.random() * AIValues.length)];\n        Object.keys(values).forEach(field => {\n          setField({ type: 'ai', name: field, value: values[field as keyof typeof values] });\n        });\n      }\n    }, loadingTimeoutMS);\n  };\n\n  const trySubmit = () => {\n    const errors: string[] = [];\n    fields.forEach(field => {\n      setField({ type: 'submit', name: field.name, value: field.value });\n      const error = field.validator?.() || '';\n      if (error) errors.push(error);\n    });\n\n    if (errors.length === 0) {\n      setSubmitting(true);\n      setLoadingMessage('Submitting form...');\n      setTimeout(() => {\n        setLoadingMessage('');\n        setSubmitting(false);\n        push({ content: 'Form submitted!' });\n        clearForm();\n        setBanner(undefined);\n        args.onSubmit?.();\n      }, loadingTimeoutMS);\n    } else {\n      setBanner(\n        <Banner\n          variant='urgent'\n          messages={errors}\n          onDismiss={() => {\n            setBanner(undefined);\n          }}\n          handle={bannerHandleRef}\n        />\n      );\n    }\n  };\n\n  return (\n    <Form\n      heading={args.showTitle ? 'AI Form' : undefined}\n      description={\n        args.showDescription ? 'The AI in this demo is a mock and not a functional AI.' : undefined\n      }\n      progress={loadingMessage}\n      actions={\n        <>\n          <Button\n            onClick={() => {\n              clearForm();\n              args.onCancel?.();\n            }}\n            disabled={submitting}\n          >\n            Cancel\n          </Button>\n          <Flex container={{ alignItems: 'center' }}>\n            <AIButton label='Fill form with AI' onClick={fillWithAI} disabled={!!loadingMessage} />\n            <Button variant='primary' disabled={!!loadingMessage} onClick={trySubmit}>\n              Submit\n            </Button>\n          </Flex>\n        </>\n      }\n      banners={banner}\n    >\n      <Grid container={{ gap: 1, cols: 'repeat(2, minmax(0, 1fr))' }}>\n        <Input\n          name={name.name}\n          label={name.label}\n          required={name.required}\n          info={name.info || name.help}\n          value={name.value}\n          status={name.status}\n          onChange={(e: ChangeEvent<HTMLInputElement>) =>\n            setField({ type: 'change', name: e.target.name, value: e.target.value })\n          }\n          onBlur={(e: FocusEvent<HTMLInputElement>) =>\n            setField({ type: 'blur', name: e.target.name, value: e.target.value })\n          }\n        />\n\n        <Input\n          name={email.name}\n          label={email.label}\n          required={email.required}\n          info={email.info || email.help}\n          value={email.value}\n          status={email.status}\n          type='email'\n          onChange={(e: ChangeEvent<HTMLInputElement>) =>\n            setField({ type: 'change', name: e.target.name, value: e.target.value })\n          }\n          onBlur={(e: FocusEvent<HTMLInputElement>) =>\n            setField({ type: 'blur', name: e.target.name, value: e.target.value })\n          }\n        />\n\n        <Grid item={{ colStartEnd: '1/-1' }}>\n          <CheckboxGroup\n            name={locations.name}\n            label={locations.label}\n            required={locations.required}\n            info={locations.info || locations.help}\n            status={locations.status}\n          >\n            {['Cambridge', 'Waltham', 'Krakow', 'Hyderabad', 'Bangalore'].map(office => (\n              <Checkbox\n                key={office}\n                label={office}\n                value={office}\n                checked={locations.value?.includes(office)}\n                onChange={(e: ChangeEvent<HTMLInputElement>) =>\n                  setField({\n                    type: 'change',\n                    name: e.target.name,\n                    value: e.target.value\n                  })\n                }\n              />\n            ))}\n          </CheckboxGroup>\n        </Grid>\n\n        <Grid item={{ colStartEnd: '1/-1' }}>\n          <RadioButtonGroup\n            name={meetings.name}\n            label={meetings.label}\n            required={meetings.required}\n            info={meetings.info || meetings.help}\n            status={meetings.status}\n          >\n            {['Yes', 'No'].map(option => (\n              <RadioButton\n                key={option}\n                label={option}\n                value={option}\n                checked={meetings.value === option}\n                onChange={(e: ChangeEvent<HTMLInputElement>) =>\n                  setField({ type: 'change', name: e.target.name, value: e.target.value })\n                }\n              />\n            ))}\n          </RadioButtonGroup>\n        </Grid>\n\n        <Select\n          name={meals.name}\n          label={meals.label}\n          required={meals.required}\n          info={meals.info || meals.help}\n          value={meals.value || 'choose meal...'}\n          status={meals.status}\n          onChange={(e: ChangeEvent<HTMLSelectElement>) =>\n            setField({ type: 'change', name: e.target.name, value: e.target.value })\n          }\n        >\n          <Option>choose meal...</Option>\n          <Option>Pizza</Option>\n          <Option>Sandwich</Option>\n          <Option>Salad</Option>\n        </Select>\n\n        <Grid item={{ colStartEnd: '1/-1' }}>\n          <TextArea\n            name={notes.name}\n            label={notes.label}\n            required={notes.required}\n            info={notes.info || notes.help}\n            value={notes.value}\n            status={notes.status}\n            maxLength={200}\n            displayCharCount\n            onChange={(e: ChangeEvent<HTMLTextAreaElement>) =>\n              setField({ type: 'change', name: e.target.name, value: e.target.value })\n            }\n            onBlur={(e: FocusEvent<HTMLInputElement>) =>\n              setField({ type: 'blur', name: e.target.name, value: e.target.value })\n            }\n          />\n        </Grid>\n      </Grid>\n    </Form>\n  );\n};\n\nAIButtonFormDemo.args = {\n  throwAIError: false,\n  showTitle: true,\n  showDescription: true\n};\n\nAIButtonFormDemo.argTypes = {\n  throwAIError: { control: { type: 'boolean' } },\n  showTitle: { control: { type: 'boolean' }, table: { disable: true } },\n  showDescription: { control: { type: 'boolean' } }\n};\n\nexport const AIButtonFormInModalDemo: StoryFn<AIButtonFormProps> = (args: AIButtonFormProps) => {\n  const AIModal = () => {\n    const [fields, setField] = useReducer(fieldReducer, undefined, initFields);\n    const [banner, setBanner] = useState<ReactNode | undefined>();\n    const [loadingMessage, setLoadingMessage] = useState('');\n    const [submitting, setSubmitting] = useState(false);\n\n    const bannerHandleRef = useRef<BannerHandleValue>(null);\n    const { push } = useToaster();\n    const { dismiss } = useModalContext();\n\n    const name = fields.find(field => field.name === 'name');\n    const email = fields.find(field => field.name === 'email');\n    const locations = fields.find(field => field.name === 'locations');\n    const meetings = fields.find(field => field.name === 'meetings');\n    const meals = fields.find(field => field.name === 'meals');\n    const notes = fields.find(field => field.name === 'notes');\n\n    useEffect(() => {\n      if (banner && bannerHandleRef.current) bannerHandleRef.current.focus();\n    }, [banner]);\n\n    if (!name || !email || !locations || !meetings || !meals || !notes) return <ErrorState />;\n\n    const fillWithAI = () => {\n      setLoadingMessage('AI is filling out the form...');\n      setTimeout(() => {\n        setLoadingMessage('');\n        if (args.throwAIError) {\n          setBanner(\n            <Banner\n              variant='urgent'\n              messages={['An error occurred while generating responses from the AI.']}\n              onDismiss={() => {\n                setBanner(undefined);\n              }}\n              handle={bannerHandleRef}\n            />\n          );\n        } else {\n          setBanner(undefined);\n          const values = AIValues[Math.floor(Math.random() * AIValues.length)];\n          Object.keys(values).forEach(field => {\n            setField({ type: 'ai', name: field, value: values[field as keyof typeof values] });\n          });\n        }\n        setLoadingMessage('');\n      }, loadingTimeoutMS);\n    };\n\n    const trySubmit = () => {\n      const errors: string[] = [];\n      fields.forEach(field => {\n        setField({ type: 'submit', name: field.name, value: field.value });\n        const error = field.validator?.() || '';\n        if (error) errors.push(error);\n      });\n\n      if (errors.length === 0) {\n        setSubmitting(true);\n        setLoadingMessage('Submitting form...');\n        setTimeout(() => {\n          setLoadingMessage('');\n          setSubmitting(false);\n          push({ content: 'Form submitted!' });\n          setBanner(undefined);\n          dismiss();\n        }, loadingTimeoutMS);\n      } else {\n        setBanner(\n          <Banner\n            variant='urgent'\n            messages={errors}\n            onDismiss={() => {\n              setBanner(undefined);\n            }}\n            handle={bannerHandleRef}\n          />\n        );\n      }\n    };\n\n    return (\n      <Modal\n        heading='AI Form in a Modal'\n        progress={loadingMessage ? { message: loadingMessage } : undefined}\n        onRequestDismiss={() => !submitting}\n        actions={\n          <>\n            <Button onClick={dismiss} disabled={submitting}>\n              Cancel\n            </Button>\n            <Flex container={{ alignItems: 'center' }}>\n              <AIButton\n                label='Fill form with AI'\n                onClick={fillWithAI}\n                disabled={!!loadingMessage}\n              />\n              <Button variant='primary' disabled={!!loadingMessage} onClick={trySubmit}>\n                Submit\n              </Button>\n            </Flex>\n          </>\n        }\n      >\n        <Form\n          description='The AI in this demo is a mock and not a functional AI.'\n          banners={banner}\n          style={{ margin: 'auto', maxWidth: '37.5rem' }}\n        >\n          <Grid container={{ gap: 1, cols: 'repeat(2, minmax(0, 1fr))' }}>\n            <Input\n              name={name.name}\n              label={name.label}\n              required={name.required}\n              info={name.info || name.help}\n              value={name.value}\n              status={name.status}\n              onChange={(e: ChangeEvent<HTMLInputElement>) =>\n                setField({ type: 'change', name: e.target.name, value: e.target.value })\n              }\n              onBlur={(e: FocusEvent<HTMLInputElement>) =>\n                setField({ type: 'blur', name: e.target.name, value: e.target.value })\n              }\n            />\n\n            <Input\n              name={email.name}\n              label={email.label}\n              required={email.required}\n              info={email.info || email.help}\n              value={email.value}\n              status={email.status}\n              type='email'\n              onChange={(e: ChangeEvent<HTMLInputElement>) =>\n                setField({ type: 'change', name: e.target.name, value: e.target.value })\n              }\n              onBlur={(e: FocusEvent<HTMLInputElement>) =>\n                setField({ type: 'blur', name: e.target.name, value: e.target.value })\n              }\n            />\n\n            <Grid item={{ colStartEnd: '1/-1' }}>\n              <CheckboxGroup\n                name={locations.name}\n                label={locations.label}\n                required={locations.required}\n                info={locations.info || locations.help}\n                status={locations.status}\n              >\n                {['Cambridge', 'Waltham', 'Krakow', 'Hyderabad', 'Bangalore'].map(office => (\n                  <Checkbox\n                    key={office}\n                    label={office}\n                    value={office}\n                    checked={locations.value?.includes(office)}\n                    onChange={(e: ChangeEvent<HTMLInputElement>) =>\n                      setField({\n                        type: 'change',\n                        name: e.target.name,\n                        value: e.target.value\n                      })\n                    }\n                  />\n                ))}\n              </CheckboxGroup>\n            </Grid>\n\n            <Grid item={{ colStartEnd: '1/-1' }}>\n              <RadioButtonGroup\n                name={meetings.name}\n                label={meetings.label}\n                required={meetings.required}\n                info={meetings.info || meetings.help}\n                status={meetings.status}\n              >\n                {['Yes', 'No'].map(option => (\n                  <RadioButton\n                    key={option}\n                    label={option}\n                    value={option}\n                    checked={meetings.value === option}\n                    onChange={(e: ChangeEvent<HTMLInputElement>) =>\n                      setField({ type: 'change', name: e.target.name, value: e.target.value })\n                    }\n                  />\n                ))}\n              </RadioButtonGroup>\n            </Grid>\n\n            <Select\n              name={meals.name}\n              label={meals.label}\n              required={meals.required}\n              info={meals.info || meals.help}\n              value={meals.value || 'choose meal...'}\n              status={meals.status}\n              onChange={(e: ChangeEvent<HTMLSelectElement>) =>\n                setField({ type: 'change', name: e.target.name, value: e.target.value })\n              }\n            >\n              <Option>choose meal...</Option>\n              <Option>Pizza</Option>\n              <Option>Sandwich</Option>\n              <Option>Salad</Option>\n            </Select>\n\n            <Grid item={{ colStartEnd: '1/-1' }}>\n              <TextArea\n                name={notes.name}\n                label={notes.label}\n                required={notes.required}\n                info={notes.info || notes.help}\n                value={notes.value}\n                status={notes.status}\n                maxLength={200}\n                displayCharCount\n                onChange={(e: ChangeEvent<HTMLTextAreaElement>) =>\n                  setField({ type: 'change', name: e.target.name, value: e.target.value })\n                }\n                onBlur={(e: FocusEvent<HTMLInputElement>) =>\n                  setField({ type: 'blur', name: e.target.name, value: e.target.value })\n                }\n              />\n            </Grid>\n          </Grid>\n        </Form>\n      </Modal>\n    );\n  };\n\n  const ModalButton = () => {\n    const { create } = useModalManager();\n\n    return (\n      <Button\n        onClick={() => {\n          create(AIModal);\n        }}\n      >\n        Open Modal\n      </Button>\n    );\n  };\n\n  return <ModalButton />;\n};\n\nAIButtonFormInModalDemo.args = {\n  throwAIError: false\n};\n\nAIButtonFormInModalDemo.argTypes = {\n  throwAIError: { control: { type: 'boolean' } }\n};\ninterface ConfigurableButtonProps {\n  borderWidth?: string;\n  borderRadius?: number;\n  color?: string;\n  secondaryColor?: string;\n  padding?: string;\n}\n\nexport const ConfigurableAIButton: StoryFn<ConfigurableButtonProps> = (\n  args: ConfigurableButtonProps\n) => {\n  return (\n    <ThemeOverride\n      theme={{\n        base: {\n          palette: {\n            ai: args.color\n          }\n        },\n        components: {\n          button: {\n            'border-width': args.borderWidth,\n            'border-radius': args.borderRadius,\n            padding: args.padding\n          }\n        }\n      }}\n    >\n      <AIButton label='Configurable Button' />\n    </ThemeOverride>\n  );\n};\n\nConfigurableAIButton.args = {\n  borderWidth: '0.0625rem',\n  borderRadius: 9999,\n  color: '#681fc3',\n  padding: '0rem 1rem'\n};\n\nConfigurableAIButton.argTypes = {\n  borderWidth: { control: { type: 'text' } },\n  borderRadius: { control: { type: 'number' } },\n  color: { control: { type: 'color' } },\n  padding: { control: { type: 'text' } }\n};\n"]}