{
  "version": 3,
  "sources": ["../../../../src/components/dataform-controls/utils/use-disabled-date-matchers.ts"],
  "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport type { NormalizedRules } from '../../../types';\n\ntype DateMatcher = { before: Date } | { after: Date };\n\nexport default function useDisabledDateMatchers< Item >(\n\tisValid: NormalizedRules< Item >,\n\tparseDateFn: ( dateString?: string ) => Date | null\n): {\n\tminConstraint: string | undefined;\n\tmaxConstraint: string | undefined;\n\tdisabledMatchers: DateMatcher[] | undefined;\n} {\n\tconst minConstraint =\n\t\ttypeof isValid.min?.constraint === 'string'\n\t\t\t? isValid.min.constraint\n\t\t\t: undefined;\n\tconst maxConstraint =\n\t\ttypeof isValid.max?.constraint === 'string'\n\t\t\t? isValid.max.constraint\n\t\t\t: undefined;\n\n\tconst disabledMatchers = useMemo( () => {\n\t\tconst matchers: DateMatcher[] = [];\n\t\tif ( minConstraint ) {\n\t\t\tconst minDate = parseDateFn( minConstraint );\n\t\t\tif ( minDate ) {\n\t\t\t\tmatchers.push( { before: minDate } );\n\t\t\t}\n\t\t}\n\t\tif ( maxConstraint ) {\n\t\t\tconst maxDate = parseDateFn( maxConstraint );\n\t\t\tif ( maxDate ) {\n\t\t\t\tmatchers.push( { after: maxDate } );\n\t\t\t}\n\t\t}\n\t\treturn matchers.length > 0 ? matchers : undefined;\n\t}, [ minConstraint, maxConstraint, parseDateFn ] );\n\n\treturn { minConstraint, maxConstraint, disabledMatchers };\n}\n"],
  "mappings": ";AAGA,SAAS,eAAe;AAST,SAAR,wBACN,SACA,aAKC;AACD,QAAM,gBACL,OAAO,QAAQ,KAAK,eAAe,WAChC,QAAQ,IAAI,aACZ;AACJ,QAAM,gBACL,OAAO,QAAQ,KAAK,eAAe,WAChC,QAAQ,IAAI,aACZ;AAEJ,QAAM,mBAAmB,QAAS,MAAM;AACvC,UAAM,WAA0B,CAAC;AACjC,QAAK,eAAgB;AACpB,YAAM,UAAU,YAAa,aAAc;AAC3C,UAAK,SAAU;AACd,iBAAS,KAAM,EAAE,QAAQ,QAAQ,CAAE;AAAA,MACpC;AAAA,IACD;AACA,QAAK,eAAgB;AACpB,YAAM,UAAU,YAAa,aAAc;AAC3C,UAAK,SAAU;AACd,iBAAS,KAAM,EAAE,OAAO,QAAQ,CAAE;AAAA,MACnC;AAAA,IACD;AACA,WAAO,SAAS,SAAS,IAAI,WAAW;AAAA,EACzC,GAAG,CAAE,eAAe,eAAe,WAAY,CAAE;AAEjD,SAAO,EAAE,eAAe,eAAe,iBAAiB;AACzD;",
  "names": []
}
