{"version":3,"file":"DateTrigger.mjs","sources":["../../../src/dateLookup/dateTrigger/DateTrigger.tsx"],"sourcesContent":["import { formatDate } from '@transferwise/formatting';\nimport { useIntl } from 'react-intl';\n\nimport Chevron from '../../chevron';\nimport { Size, Position, SizeSmall, SizeMedium, SizeLarge, Typography } from '../../common';\n\nimport messages from './DateTrigger.messages';\nimport { useContext, useId } from 'react';\nimport { OverlayIdContext } from '../../provider/overlay/OverlayIdProvider';\nimport Body from '../../body';\nimport IconButton from '../../iconButton';\nimport { Cross } from '@transferwise/icons';\n\ninterface DateTriggerProps {\n  ariaLabelledBy?: string;\n  selectedDate: Date | null;\n  size: SizeSmall | SizeMedium | SizeLarge;\n  placeholder: string;\n  label: string;\n  monthFormat: 'short' | 'long';\n  disabled: boolean;\n  onClick: () => void;\n  onClear?: () => void;\n  id?: string;\n}\n\nconst DateTrigger: React.FC<DateTriggerProps> = ({\n  selectedDate,\n  size = Size.MEDIUM,\n  placeholder,\n  label,\n  id,\n  monthFormat,\n  disabled,\n  ariaLabelledBy,\n  onClick,\n  onClear,\n}) => {\n  const { locale, formatMessage } = useIntl();\n  const valueIdPrefix = useId();\n  const overlayId = useContext(OverlayIdContext);\n  const ariaLabelIds = [ariaLabelledBy, `${valueIdPrefix}:prefix`, `${valueIdPrefix}:value`];\n\n  return (\n    <>\n      <button\n        id={id}\n        aria-haspopup=\"dialog\"\n        aria-expanded={overlayId != null}\n        aria-controls={overlayId}\n        aria-labelledby={ariaLabelIds.filter(Boolean).join(' ')}\n        className={`btn btn-${size} btn-input np-date-trigger`}\n        disabled={disabled}\n        type=\"button\"\n        onClick={onClick}\n      >\n        {label && (\n          <Body as=\"span\" className=\"np-date-trigger-label m-r-1\" id={ariaLabelIds[1]}>\n            {label}\n          </Body>\n        )}\n        {selectedDate ? (\n          <Body as=\"span\" type={Typography.BODY_LARGE} id={ariaLabelIds[2]}>\n            {formatDate(selectedDate, locale, {\n              day: 'numeric',\n              month: monthFormat,\n              year: 'numeric',\n            })}\n          </Body>\n        ) : (\n          <span\n            className=\"form-control-placeholder visible-xs-inline visible-sm-inline\n                       visible-md-inline visible-lg-inline visible-xl-inline\"\n            id={ariaLabelIds[2]}\n          >\n            {placeholder}\n          </span>\n        )}\n        {!onClear ? <Chevron orientation={Position.BOTTOM} disabled={disabled} /> : null}\n      </button>\n      {onClear ? (\n        <>\n          <div className=\"clearfix\" />\n          <span className=\"input-group-addon\">\n            <IconButton\n              size={32}\n              priority=\"minimal\"\n              className={`clear-btn clear-btn--${size}`}\n              aria-label={`${formatMessage(messages.ariaLabel)} ${label}`}\n              onClick={(event) => {\n                event.stopPropagation();\n                event.preventDefault();\n                onClear();\n              }}\n            >\n              <Cross />\n            </IconButton>\n          </span>\n        </>\n      ) : null}\n    </>\n  );\n};\n\nexport default DateTrigger;\n"],"names":["DateTrigger","selectedDate","size","Size","MEDIUM","placeholder","label","id","monthFormat","disabled","ariaLabelledBy","onClick","onClear","locale","formatMessage","useIntl","valueIdPrefix","useId","overlayId","useContext","OverlayIdContext","ariaLabelIds","_jsxs","_Fragment","children","filter","Boolean","join","className","type","_jsx","Body","as","Typography","BODY_LARGE","formatDate","day","month","year","Chevron","orientation","Position","BOTTOM","IconButton","priority","messages","ariaLabel","event","stopPropagation","preventDefault","Cross"],"mappings":"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"}