Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
theme.keycloak.v2.admin.resources.assets.TimeSelector-6a5d1719.js.map Maven / Gradle / Ivy
Go to download
The user inferface to administrate the Keycloak server.
{"version":3,"file":"TimeSelector-6a5d1719.js","sources":["../../src/components/time-selector/TimeSelector.tsx"],"sourcesContent":["import { useEffect, useMemo, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport {\n DropdownProps,\n Select,\n SelectOption,\n SelectVariant,\n Split,\n SplitItem,\n TextInput,\n TextInputProps,\n} from \"@patternfly/react-core\";\n\nexport type Unit = \"second\" | \"minute\" | \"hour\" | \"day\";\n\ntype TimeUnit = { unit: Unit; label: string; multiplier: number };\n\nconst allTimes: TimeUnit[] = [\n { unit: \"second\", label: \"times.seconds\", multiplier: 1 },\n { unit: \"minute\", label: \"times.minutes\", multiplier: 60 },\n { unit: \"hour\", label: \"times.hours\", multiplier: 3600 },\n { unit: \"day\", label: \"times.days\", multiplier: 86400 },\n];\n\nexport type TimeSelectorProps = Omit &\n Pick & {\n value?: number;\n units?: Unit[];\n onChange?: (time: number | string) => void;\n className?: string;\n };\n\nexport const getTimeUnit = (value: number | undefined = 0) =>\n allTimes.reduce(\n (v, time) =>\n value % time.multiplier === 0 && v.multiplier < time.multiplier\n ? time\n : v,\n allTimes[0]\n );\n\nexport const toHumanFormat = (value: number, locale: string) => {\n const timeUnit = getTimeUnit(value);\n const formatter = new Intl.NumberFormat(locale, {\n style: \"unit\",\n unit: timeUnit.unit,\n unitDisplay: \"long\",\n });\n return formatter.format(value / timeUnit.multiplier);\n};\n\nexport const TimeSelector = ({\n value,\n units = [\"second\", \"minute\", \"hour\", \"day\"],\n onChange,\n className,\n min,\n menuAppendTo,\n ...rest\n}: TimeSelectorProps) => {\n const { t } = useTranslation(\"common\");\n\n const defaultMultiplier = useMemo(\n () => allTimes.find((time) => time.unit === units[0])?.multiplier,\n [units]\n );\n\n const [timeValue, setTimeValue] = useState<\"\" | number>(\"\");\n const [multiplier, setMultiplier] = useState(defaultMultiplier);\n const [open, setOpen] = useState(false);\n\n const times = useMemo(() => {\n const filteredUnits = units.map(\n (unit) => allTimes.find((time) => time.unit === unit)!\n );\n if (\n !filteredUnits.every((u) => u.multiplier === multiplier) &&\n filteredUnits[0] !== allTimes[0]\n ) {\n filteredUnits.unshift(allTimes[0]);\n }\n return filteredUnits;\n }, [units, multiplier]);\n\n useEffect(() => {\n const multiplier = getTimeUnit(value).multiplier;\n\n if (value) {\n setMultiplier(multiplier);\n setTimeValue(value / multiplier);\n } else {\n setTimeValue(value || \"\");\n setMultiplier(defaultMultiplier);\n }\n }, [value, defaultMultiplier]);\n\n const updateTimeout = (\n timeout: \"\" | number,\n times: number | undefined = multiplier\n ) => {\n if (timeout !== \"\") {\n onChange?.(timeout * (times || 1));\n setTimeValue(timeout);\n } else {\n onChange?.(\"\");\n }\n };\n\n return (\n \n \n {\n updateTimeout(\"\" === value ? value : parseInt(value));\n }}\n />\n \n \n \n );\n};\n"],"names":["allTimes","getTimeUnit","value","v","time","toHumanFormat","locale","timeUnit","TimeSelector","units","onChange","className","min","menuAppendTo","rest","t","useTranslation","defaultMultiplier","useMemo","timeValue","setTimeValue","useState","multiplier","setMultiplier","open","setOpen","times","filteredUnits","unit","u","useEffect","updateTimeout","timeout","jsxs","Split","jsx","SplitItem","TextInput","Select","SelectVariant","_","SelectOption"],"mappings":"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"}