@grafana/ui
Version:
Grafana Components Library
1 lines • 2 kB
Source Map (JSON)
{"version":3,"file":"TimeRangeLabel.mjs","sources":["../../../../../src/components/DateTimePickers/TimeRangePicker/TimeRangeLabel.tsx"],"sourcesContent":["import { css } from '@emotion/css';\nimport { memo } from 'react';\n\nimport { GrafanaTheme2 } from '@grafana/data';\n\nimport { useStyles2 } from '../../../themes/ThemeContext';\nimport { TimePickerButtonLabel, TimeRangePickerProps } from '../TimeRangePicker';\nimport { isValidTimeRange } from '../utils';\n\ntype LabelProps = Pick<TimeRangePickerProps, 'hideText' | 'value' | 'timeZone'> & {\n placeholder?: string;\n className?: string;\n};\n\nexport const TimeRangeLabel = memo<LabelProps>(function TimePickerLabel({\n hideText,\n value,\n timeZone = 'browser',\n placeholder = 'No time range selected',\n className,\n}) {\n const styles = useStyles2(getLabelStyles);\n\n if (hideText) {\n return null;\n }\n\n return (\n <span className={className}>\n {isValidTimeRange(value) ? (\n <TimePickerButtonLabel value={value} timeZone={timeZone} />\n ) : (\n <span className={styles.placeholder}>{placeholder}</span>\n )}\n </span>\n );\n});\n\nconst getLabelStyles = (theme: GrafanaTheme2) => {\n return {\n placeholder: css({\n color: theme.colors.text.disabled,\n opacity: 1,\n }),\n };\n};\n"],"names":[],"mappings":";;;;;;;AAca,MAAA,cAAA,GAAiB,IAAiB,CAAA,SAAS,eAAgB,CAAA;AAAA,EACtE,QAAA;AAAA,EACA,KAAA;AAAA,EACA,QAAW,GAAA,SAAA;AAAA,EACX,WAAc,GAAA,wBAAA;AAAA,EACd;AACF,CAAG,EAAA;AACD,EAAM,MAAA,MAAA,GAAS,WAAW,cAAc,CAAA;AAExC,EAAA,IAAI,QAAU,EAAA;AACZ,IAAO,OAAA,IAAA;AAAA;AAGT,EAAA,2BACG,MAAK,EAAA,EAAA,SAAA,EACH,QAAiB,EAAA,gBAAA,CAAA,KAAK,oBACpB,GAAA,CAAA,qBAAA,EAAA,EAAsB,KAAc,EAAA,QAAA,EAAoB,oBAExD,GAAA,CAAA,MAAA,EAAA,EAAK,WAAW,MAAO,CAAA,WAAA,EAAc,uBAAY,CAEtD,EAAA,CAAA;AAEJ,CAAC;AAED,MAAM,cAAA,GAAiB,CAAC,KAAyB,KAAA;AAC/C,EAAO,OAAA;AAAA,IACL,aAAa,GAAI,CAAA;AAAA,MACf,KAAA,EAAO,KAAM,CAAA,MAAA,CAAO,IAAK,CAAA,QAAA;AAAA,MACzB,OAAS,EAAA;AAAA,KACV;AAAA,GACH;AACF,CAAA;;;;"}