UNPKG

@grafana/ui

Version:
1 lines 2 kB
{"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":";;;;;;;;AAcO,MAAM,cAAA,GAAiB,IAAA,CAAiB,SAAS,eAAA,CAAgB;AAAA,EACtE,QAAA;AAAA,EACA,KAAA;AAAA,EACA,QAAA,GAAW,SAAA;AAAA,EACX,WAAA,GAAc,wBAAA;AAAA,EACd;AACF,CAAA,EAAG;AACD,EAAA,MAAM,MAAA,GAAS,WAAW,cAAc,CAAA;AAExC,EAAA,IAAI,QAAA,EAAU;AACZ,IAAA,OAAO,IAAA;AAAA,EACT;AAEA,EAAA,2BACG,MAAA,EAAA,EAAK,SAAA,EACH,QAAA,EAAA,gBAAA,CAAiB,KAAK,oBACrB,GAAA,CAAC,qBAAA,EAAA,EAAsB,KAAA,EAAc,QAAA,EAAoB,oBAEzD,GAAA,CAAC,MAAA,EAAA,EAAK,WAAW,MAAA,CAAO,WAAA,EAAc,uBAAY,CAAA,EAEtD,CAAA;AAEJ,CAAC;AAED,MAAM,cAAA,GAAiB,CAAC,KAAA,KAAyB;AAC/C,EAAA,OAAO;AAAA,IACL,aAAa,GAAA,CAAI;AAAA,MACf,KAAA,EAAO,KAAA,CAAM,MAAA,CAAO,IAAA,CAAK,QAAA;AAAA,MACzB,OAAA,EAAS;AAAA,KACV;AAAA,GACH;AACF,CAAA;;;;"}