{"version":3,"file":"Expression.stories.jsx","sourceRoot":"","sources":["../../../src/build/Expression/Expression.stories.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { Meta, StoryFn } from '@storybook/react';\n\nimport { useUID } from '@pega/cosmos-react-core';\nimport type { InputProps } from '@pega/cosmos-react-core';\nimport { Expression } from '@pega/cosmos-react-build';\nimport type { ExpressionProps } from '@pega/cosmos-react-build';\n\nimport useMockExpression from './useMockExpression';\nimport { additionalContentInfo } from './Expression.mocks';\n\nexport default {\n  title: 'Build/Expression',\n  component: Expression\n} as Meta;\n\ninterface ExpressionDemoProps\n  extends Pick<InputProps, 'info' | 'readOnly' | 'disabled' | 'required' | 'labelHidden'> {\n  showErrors?: boolean;\n  inLineError?: 'single' | 'multiple';\n  showExpressionBuilderErrorBanner?: boolean;\n  expressionSubmitHandler?: () => void;\n  expressionCancelHandler?: () => void;\n  showAdditionalInfo?: boolean;\n  label?: ExpressionProps['label'];\n  placeholder?: ExpressionProps['placeholder'];\n  showExpressionGenerationUI?: boolean;\n}\n\nexport const ExpressionDemo: StoryFn<ExpressionDemoProps> = (args: ExpressionDemoProps) => {\n  const {\n    inputValue,\n    showExpBuilderModal,\n    openExpBuilderModal,\n    errors,\n    handle,\n    inLineErrors,\n    expressionRef\n  } = useMockExpression({\n    inLineError: args.inLineError,\n    showExpressionBuilderErrorBanner: args.showExpressionBuilderErrorBanner,\n    expShowErrors: args.showErrors\n  });\n\n  const { fetchSuggestions: inputFetchSuggestions, loading: inputLoading } = useMockExpression({\n    inLineError: args.inLineError,\n    showExpressionBuilderErrorBanner: args.showExpressionBuilderErrorBanner,\n    expShowErrors: args.showErrors\n  });\n\n  return (\n    <Expression\n      value={inputValue}\n      label={args.label}\n      editorInput={{\n        fetchSuggestions: inputFetchSuggestions,\n        loading: inputLoading,\n        handle,\n        inLineErrors\n      }}\n      showExpressionBuilder={showExpBuilderModal}\n      onExpBuilderShowHandler={openExpBuilderModal}\n      readOnly={args.readOnly}\n      ref={expressionRef}\n      disabled={args.disabled}\n      status={args?.showErrors ? 'error' : undefined}\n      required={args.required}\n      info={args?.showErrors ? errors : args.info}\n      additionalInfo={\n        args.showAdditionalInfo\n          ? {\n              content: additionalContentInfo\n            }\n          : undefined\n      }\n      labelHidden={args.labelHidden}\n      placeholder={args.placeholder}\n      id={useUID()}\n    />\n  );\n};\n\nExpressionDemo.args = {\n  showErrors: false,\n  readOnly: false,\n  disabled: false,\n  inLineError: 'single',\n  showExpressionBuilderErrorBanner: false,\n  showAdditionalInfo: false,\n  info: 'Type in the value',\n  required: false,\n  labelHidden: false,\n  label: 'Expression',\n  placeholder: 'Writing expressions'\n};\n\nExpressionDemo.argTypes = {\n  showErrors: { control: { type: 'boolean' } },\n  readOnly: { control: { type: 'boolean' } },\n  disabled: { control: { type: 'boolean' } },\n  showExpressionBuilderErrorBanner: { control: { type: 'boolean' } },\n  inLineError: { options: ['single', 'multiple'], control: { type: 'select' } },\n  showAdditionalInfo: { control: { type: 'boolean' } },\n  labelHidden: { control: { type: 'boolean' } },\n  info: { control: { type: 'text' } },\n  required: { control: { type: 'boolean' } },\n  label: { control: { type: 'text' } },\n  placeholder: { control: { type: 'text' } }\n};\n"]}