@atlaskit/date-label 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +1 -0
- package/LICENSE.md +11 -0
- package/README.md +128 -0
- package/constellation/date-label-dropdown-trigger/code.mdx +13 -0
- package/constellation/date-label-dropdown-trigger/examples.mdx +48 -0
- package/constellation/date-label-dropdown-trigger/images/datelabel-dropdown-anatomy-dark.png +0 -0
- package/constellation/date-label-dropdown-trigger/images/datelabel-dropdown-anatomy-light.png +0 -0
- package/constellation/date-label-dropdown-trigger/images/datelabel-dropdown-do-1-dark.png +0 -0
- package/constellation/date-label-dropdown-trigger/images/datelabel-dropdown-do-1-light.png +0 -0
- package/constellation/date-label-dropdown-trigger/images/datelabel-dropdown-do-2-dark.png +0 -0
- package/constellation/date-label-dropdown-trigger/images/datelabel-dropdown-do-2-light.png +0 -0
- package/constellation/date-label-dropdown-trigger/images/datelabel-dropdown-do-3-dark.png +0 -0
- package/constellation/date-label-dropdown-trigger/images/datelabel-dropdown-do-3-light.png +0 -0
- package/constellation/date-label-dropdown-trigger/images/datelabel-dropdown-do-4-dark.png +0 -0
- package/constellation/date-label-dropdown-trigger/images/datelabel-dropdown-do-4-light.png +0 -0
- package/constellation/date-label-dropdown-trigger/images/datelabel-dropdown-dont-1-dark.png +0 -0
- package/constellation/date-label-dropdown-trigger/images/datelabel-dropdown-dont-1-light.png +0 -0
- package/constellation/date-label-dropdown-trigger/images/datelabel-dropdown-dont-2-dark.png +0 -0
- package/constellation/date-label-dropdown-trigger/images/datelabel-dropdown-dont-2-light.png +0 -0
- package/constellation/date-label-dropdown-trigger/images/datelabel-dropdown-dont-3-dark.png +0 -0
- package/constellation/date-label-dropdown-trigger/images/datelabel-dropdown-dont-3-light.png +0 -0
- package/constellation/date-label-dropdown-trigger/images/datelabel-dropdown-dont-4-dark.png +0 -0
- package/constellation/date-label-dropdown-trigger/images/datelabel-dropdown-dont-4-light.png +0 -0
- package/constellation/date-label-dropdown-trigger/usage.mdx +176 -0
- package/constellation/index/examples.mdx +66 -0
- package/constellation/index/images/date-label-anatomy-dark.png +0 -0
- package/constellation/index/images/date-label-anatomy-light.png +0 -0
- package/constellation/index/images/date-label-do-1-dark.png +0 -0
- package/constellation/index/images/date-label-do-1-light.png +0 -0
- package/constellation/index/images/date-label-do-2-dark.png +0 -0
- package/constellation/index/images/date-label-do-2-light.png +0 -0
- package/constellation/index/images/date-label-do-3-dark.png +0 -0
- package/constellation/index/images/date-label-do-3-light.png +0 -0
- package/constellation/index/images/date-label-do-4-dark.png +0 -0
- package/constellation/index/images/date-label-do-4-light.png +0 -0
- package/constellation/index/images/date-label-dont-1-dark.png +0 -0
- package/constellation/index/images/date-label-dont-1-light.png +0 -0
- package/constellation/index/images/date-label-dont-2-dark.png +0 -0
- package/constellation/index/images/date-label-dont-2-light.png +0 -0
- package/constellation/index/images/date-label-dont-3-dark.png +0 -0
- package/constellation/index/images/date-label-dont-3-light.png +0 -0
- package/constellation/index/images/date-label-dont-4-dark.png +0 -0
- package/constellation/index/images/date-label-dont-4-light.png +0 -0
- package/constellation/index/props.mdx +14 -0
- package/constellation/index/usage.mdx +176 -0
- package/date-label/package.json +17 -0
- package/date-label-dropdown-trigger/package.json +17 -0
- package/dist/cjs/entry-points/date-label-dropdown-trigger.js +13 -0
- package/dist/cjs/entry-points/date-label.js +20 -0
- package/dist/cjs/entry-points/types.js +1 -0
- package/dist/cjs/ui/date-label/constants.js +7 -0
- package/dist/cjs/ui/date-label/index.compiled.css +30 -0
- package/dist/cjs/ui/date-label/index.js +90 -0
- package/dist/cjs/ui/date-label/types.js +1 -0
- package/dist/cjs/ui/date-label-dropdown-trigger/index.compiled.css +62 -0
- package/dist/cjs/ui/date-label-dropdown-trigger/index.js +140 -0
- package/dist/cjs/ui/date-label-dropdown-trigger/types.js +1 -0
- package/dist/es2019/entry-points/date-label-dropdown-trigger.js +1 -0
- package/dist/es2019/entry-points/date-label.js +2 -0
- package/dist/es2019/entry-points/types.js +0 -0
- package/dist/es2019/ui/date-label/constants.js +1 -0
- package/dist/es2019/ui/date-label/index.compiled.css +30 -0
- package/dist/es2019/ui/date-label/index.js +78 -0
- package/dist/es2019/ui/date-label/types.js +0 -0
- package/dist/es2019/ui/date-label-dropdown-trigger/index.compiled.css +62 -0
- package/dist/es2019/ui/date-label-dropdown-trigger/index.js +126 -0
- package/dist/es2019/ui/date-label-dropdown-trigger/types.js +0 -0
- package/dist/esm/entry-points/date-label-dropdown-trigger.js +1 -0
- package/dist/esm/entry-points/date-label.js +2 -0
- package/dist/esm/entry-points/types.js +0 -0
- package/dist/esm/ui/date-label/constants.js +1 -0
- package/dist/esm/ui/date-label/index.compiled.css +30 -0
- package/dist/esm/ui/date-label/index.js +81 -0
- package/dist/esm/ui/date-label/types.js +0 -0
- package/dist/esm/ui/date-label-dropdown-trigger/index.compiled.css +62 -0
- package/dist/esm/ui/date-label-dropdown-trigger/index.js +131 -0
- package/dist/esm/ui/date-label-dropdown-trigger/types.js +0 -0
- package/dist/types/entry-points/date-label-dropdown-trigger.d.ts +2 -0
- package/dist/types/entry-points/date-label.d.ts +4 -0
- package/dist/types/entry-points/types.d.ts +2 -0
- package/dist/types/ui/date-label/constants.d.ts +1 -0
- package/dist/types/ui/date-label/index.d.ts +16 -0
- package/dist/types/ui/date-label/types.d.ts +60 -0
- package/dist/types/ui/date-label-dropdown-trigger/index.d.ts +20 -0
- package/dist/types/ui/date-label-dropdown-trigger/types.d.ts +95 -0
- package/dist/types-ts4.5/entry-points/date-label-dropdown-trigger.d.ts +2 -0
- package/dist/types-ts4.5/entry-points/date-label.d.ts +4 -0
- package/dist/types-ts4.5/entry-points/types.d.ts +2 -0
- package/dist/types-ts4.5/ui/date-label/constants.d.ts +1 -0
- package/dist/types-ts4.5/ui/date-label/index.d.ts +16 -0
- package/dist/types-ts4.5/ui/date-label/types.d.ts +60 -0
- package/dist/types-ts4.5/ui/date-label-dropdown-trigger/index.d.ts +20 -0
- package/dist/types-ts4.5/ui/date-label-dropdown-trigger/types.d.ts +95 -0
- package/package.json +103 -0
- package/types/package.json +17 -0
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/* index.tsx generated by @compiled/babel-plugin v0.39.1 */
|
|
2
|
+
import "./index.compiled.css";
|
|
3
|
+
import * as React from 'react';
|
|
4
|
+
import { ax, ix } from "@compiled/react/runtime";
|
|
5
|
+
import WarningOutlineIcon from '@atlaskit/icon-lab/core/warning-outline';
|
|
6
|
+
import CalendarIcon from '@atlaskit/icon/core/calendar';
|
|
7
|
+
import ClockIcon from '@atlaskit/icon/core/clock';
|
|
8
|
+
const containerStyles = {
|
|
9
|
+
base: "_zulp1b66 _2rko12b0 _1rjcv77o _18zr1b66 _1dqonqa1 _189ee4h9 _vchhusvi _1e0c116y _2lx2vrvc _4cvr1h6o",
|
|
10
|
+
spacious: "_2rko1qi0 _zulp12x7 _1rjc1b66 _18zrutpp _1tkeviql",
|
|
11
|
+
neutral: "_1h6dmsup",
|
|
12
|
+
warning: "_1h6d1wfx",
|
|
13
|
+
danger: "_1h6d1mzp"
|
|
14
|
+
};
|
|
15
|
+
const textStyles = {
|
|
16
|
+
base: "_11c8wadc _1reo15vq _18m915vq _1bto1l2s _o5721q9c _1ul9idpf",
|
|
17
|
+
spacious: "_11c8fhey",
|
|
18
|
+
neutral: "_syazi7uo",
|
|
19
|
+
warning: "_syaz1xn9",
|
|
20
|
+
danger: "_syaz1tmw"
|
|
21
|
+
};
|
|
22
|
+
const iconStyles = {
|
|
23
|
+
base: "_1e0c1txw _1o9zidpf"
|
|
24
|
+
};
|
|
25
|
+
const DEFAULT_MAX_WIDTH = 180;
|
|
26
|
+
const defaultIconLabels = {
|
|
27
|
+
neutral: 'Date',
|
|
28
|
+
warning: 'Warning',
|
|
29
|
+
danger: 'Danger'
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* __DateLabel__
|
|
34
|
+
*
|
|
35
|
+
* A date label is a compact label to display dates for quick recognition.
|
|
36
|
+
* It supports three appearances: `neutral`, `warning`, and `danger`.
|
|
37
|
+
*
|
|
38
|
+
* - [Examples](https://atlassian.design/components/date-label/examples)
|
|
39
|
+
* - [Code](https://atlassian.design/components/date-label/code)
|
|
40
|
+
* - [Usage](https://atlassian.design/components/date-label/usage)
|
|
41
|
+
*/
|
|
42
|
+
export default function DateLabel({
|
|
43
|
+
label,
|
|
44
|
+
appearance = 'neutral',
|
|
45
|
+
hasIconBefore = true,
|
|
46
|
+
maxWidth = DEFAULT_MAX_WIDTH,
|
|
47
|
+
isSpacious = false,
|
|
48
|
+
iconLabel,
|
|
49
|
+
testId
|
|
50
|
+
}) {
|
|
51
|
+
const maxWidthValue = typeof maxWidth === 'string' ? maxWidth : `${maxWidth}px`;
|
|
52
|
+
const resolvedIconLabel = iconLabel !== undefined ? iconLabel : defaultIconLabels[appearance];
|
|
53
|
+
const iconSize = isSpacious ? 'medium' : 'small';
|
|
54
|
+
return /*#__PURE__*/React.createElement("span", {
|
|
55
|
+
// eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop
|
|
56
|
+
style: {
|
|
57
|
+
maxWidth: maxWidthValue
|
|
58
|
+
},
|
|
59
|
+
"data-testid": testId,
|
|
60
|
+
className: ax([containerStyles.base, isSpacious && containerStyles.spacious, containerStyles[appearance]])
|
|
61
|
+
}, hasIconBefore && /*#__PURE__*/React.createElement("span", {
|
|
62
|
+
className: ax([iconStyles.base])
|
|
63
|
+
}, appearance === 'neutral' && /*#__PURE__*/React.createElement(CalendarIcon, {
|
|
64
|
+
label: resolvedIconLabel,
|
|
65
|
+
size: iconSize,
|
|
66
|
+
color: "var(--ds-icon-subtlest, #6B6E76)"
|
|
67
|
+
}), appearance === 'warning' && /*#__PURE__*/React.createElement(ClockIcon, {
|
|
68
|
+
label: resolvedIconLabel,
|
|
69
|
+
size: iconSize,
|
|
70
|
+
color: "var(--ds-icon-warning, #E06C00)"
|
|
71
|
+
}), appearance === 'danger' && /*#__PURE__*/React.createElement(WarningOutlineIcon, {
|
|
72
|
+
label: resolvedIconLabel,
|
|
73
|
+
size: iconSize,
|
|
74
|
+
color: "var(--ds-icon-danger, #C9372C)"
|
|
75
|
+
})), /*#__PURE__*/React.createElement("span", {
|
|
76
|
+
className: ax([textStyles.base, isSpacious && textStyles.spacious, textStyles[appearance]])
|
|
77
|
+
}, label));
|
|
78
|
+
}
|
|
File without changes
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
._11c8fhey{font:var(--ds-font-body,normal 400 14px/20px "Atlassian Sans",ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Ubuntu,"Helvetica Neue",sans-serif)}
|
|
2
|
+
._11c8wadc{font:var(--ds-font-body-small,normal 400 9pt/1pc "Atlassian Sans",ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Ubuntu,"Helvetica Neue",sans-serif)}
|
|
3
|
+
._2rko12b0{border-radius:var(--ds-radius-small,4px)}
|
|
4
|
+
._2rko1qi0{border-radius:var(--ds-radius-medium,6px)}
|
|
5
|
+
._zulp12x7{gap:var(--ds-space-075,6px)}
|
|
6
|
+
._zulp1b66{gap:var(--ds-space-050,4px)}
|
|
7
|
+
._189ee4h9{border-width:var(--ds-border-width,1px)}
|
|
8
|
+
._18zr1b66{padding-inline:var(--ds-space-050,4px)}
|
|
9
|
+
._18zrutpp{padding-inline:var(--ds-space-150,9pt)}
|
|
10
|
+
._1dqonqa1{border-style:solid}
|
|
11
|
+
._1h6d1mzp{border-color:var(--ds-border-danger-subtle,#fd9891)}
|
|
12
|
+
._1h6d1wfx{border-color:var(--ds-border-warning-subtle,#fbc828)}
|
|
13
|
+
._1h6dmsup{border-color:var(--ds-border-accent-gray-subtle,#b7b9be)}
|
|
14
|
+
._1rjc1b66{padding-block:var(--ds-space-050,4px)}
|
|
15
|
+
._1rjcv77o{padding-block:var(--ds-space-025,2px)}
|
|
16
|
+
._152tze3t{inset-block-start:var(--ds-space-0,0)}
|
|
17
|
+
._18m915vq{overflow-y:hidden}
|
|
18
|
+
._1bah1h6o{justify-content:center}
|
|
19
|
+
._1bto1l2s{text-overflow:ellipsis}
|
|
20
|
+
._1e02ze3t{inset-inline-start:var(--ds-space-0,0)}
|
|
21
|
+
._1e0c116y{display:inline-flex}
|
|
22
|
+
._1e0c1txw{display:flex}
|
|
23
|
+
._1o9zidpf{flex-shrink:0}
|
|
24
|
+
._1reo15vq{overflow-x:hidden}
|
|
25
|
+
._1tkeviql{min-height:2rem}
|
|
26
|
+
._1ul9idpf{min-width:0}
|
|
27
|
+
._2lx2vrvc{flex-direction:row}
|
|
28
|
+
._4cvr1h6o{align-items:center}
|
|
29
|
+
._80omtlke{cursor:pointer}
|
|
30
|
+
._bfhk1j28{background-color:transparent}
|
|
31
|
+
._bfhkfcek{background-color:var(--ds-background-neutral-subtle-pressed,#0b120e24)}
|
|
32
|
+
._kqswh2mm{position:relative}
|
|
33
|
+
._kqswstnw{position:absolute}
|
|
34
|
+
._lcxvglyw{pointer-events:none}
|
|
35
|
+
._o5721q9c{white-space:nowrap}
|
|
36
|
+
._rjxpze3t{inset-inline-end:var(--ds-space-0,0)}
|
|
37
|
+
._syaz1tmw{color:var(--ds-text-danger,#ae2e24)}
|
|
38
|
+
._syaz1xn9{color:var(--ds-text-warning,#9e4c00)}
|
|
39
|
+
._syazi7uo{color:var(--ds-text,#292a2e)}
|
|
40
|
+
._syazmgs1{color:var(--ds-text-warning-bolder,#693200)}
|
|
41
|
+
._tzy4idpf{opacity:0}
|
|
42
|
+
._u7coze3t{inset-block-end:var(--ds-space-0,0)}
|
|
43
|
+
._vchhusvi{box-sizing:border-box}
|
|
44
|
+
[data-appearance=danger] ._4fvhs4qr{color:var(--ds-icon-danger,#c9372c)}
|
|
45
|
+
[data-appearance=danger]:active ._1lj41tmw{color:var(--ds-text-danger,#ae2e24)}
|
|
46
|
+
[data-appearance=danger]:hover ._1dyy1tmw{color:var(--ds-text-danger,#ae2e24)}
|
|
47
|
+
[data-appearance=danger][data-selected] ._1x3r1tmw{color:var(--ds-text-danger,#ae2e24)}
|
|
48
|
+
[data-appearance=neutral] ._n4f71cv2{color:var(--ds-icon-subtlest,#6b6e76)}
|
|
49
|
+
[data-appearance=neutral]:active ._otptazsu{color:var(--ds-text-subtle,#505258)}
|
|
50
|
+
[data-appearance=neutral]:hover ._j5nqazsu{color:var(--ds-text-subtle,#505258)}
|
|
51
|
+
[data-appearance=neutral][data-selected] ._dlfuazsu{color:var(--ds-text-subtle,#505258)}
|
|
52
|
+
[data-appearance=warning] ._bunzervl{color:var(--ds-icon-warning,#e06c00)}
|
|
53
|
+
[data-appearance=warning]:active ._1cgs1xn9{color:var(--ds-text-warning,#9e4c00)}
|
|
54
|
+
[data-appearance=warning]:hover ._1ky61xn9{color:var(--ds-text-warning,#9e4c00)}
|
|
55
|
+
[data-appearance=warning][data-selected] ._52yy1xn9{color:var(--ds-text-warning,#9e4c00)}
|
|
56
|
+
._128mdkaa:focus-visible{outline-width:var(--ds-border-width-focused,2px)}
|
|
57
|
+
._1ah3v77o:focus-visible{outline-offset:var(--ds-space-025,2px)}
|
|
58
|
+
._mizu1v1w:focus-visible{outline-color:var(--ds-border-focused,#4688ec)}
|
|
59
|
+
._ra3xnqa1:focus-visible{outline-style:solid}
|
|
60
|
+
._irr31dpa:hover{background-color:var(--ds-background-neutral-subtle-hovered,#0515240f)}
|
|
61
|
+
._1di6fcek:active{background-color:var(--ds-background-neutral-subtle-pressed,#0b120e24)}
|
|
62
|
+
._9h8hmgs1:active{color:var(--ds-text-warning-bolder,#693200)}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
/* index.tsx generated by @compiled/babel-plugin v0.39.1 */
|
|
2
|
+
import "./index.compiled.css";
|
|
3
|
+
import * as React from 'react';
|
|
4
|
+
import { ax, ix } from "@compiled/react/runtime";
|
|
5
|
+
import WarningOutlineIcon from '@atlaskit/icon-lab/core/warning-outline';
|
|
6
|
+
import CalendarIcon from '@atlaskit/icon/core/calendar';
|
|
7
|
+
import ChevronDownIcon from '@atlaskit/icon/core/chevron-down';
|
|
8
|
+
import ClockIcon from '@atlaskit/icon/core/clock';
|
|
9
|
+
import Spinner from '@atlaskit/spinner';
|
|
10
|
+
const containerStyles = {
|
|
11
|
+
base: "_zulp1b66 _2rko12b0 _1rjcv77o _18zr1b66 _1dqonqa1 _189ee4h9 _kqswh2mm _vchhusvi _1e0c116y _2lx2vrvc _4cvr1h6o _80omtlke _bfhk1j28 _mizu1v1w _128mdkaa _ra3xnqa1 _1ah3v77o",
|
|
12
|
+
hoveredAndPressed: "_irr31dpa _1di6fcek",
|
|
13
|
+
spacious: "_2rko1qi0 _zulp12x7 _1rjc1b66 _18zrutpp _1tkeviql",
|
|
14
|
+
neutral: "_1h6dmsup _syazi7uo",
|
|
15
|
+
warning: "_1h6d1wfx _syaz1xn9 _9h8hmgs1",
|
|
16
|
+
danger: "_1h6d1mzp _syaz1tmw",
|
|
17
|
+
selected: "_bfhkfcek",
|
|
18
|
+
selectedWarning: "_syazmgs1"
|
|
19
|
+
};
|
|
20
|
+
const textStyles = {
|
|
21
|
+
base: "_11c8wadc _1reo15vq _18m915vq _1bto1l2s _o5721q9c _1ul9idpf",
|
|
22
|
+
spacious: "_11c8fhey"
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
/* eslint-disable @atlaskit/ui-styling-standard/no-nested-selectors, @atlaskit/ui-styling-standard/no-unsafe-selectors */
|
|
26
|
+
const iconStyles = {
|
|
27
|
+
base: "_1e0c1txw _1o9zidpf _n4f71cv2 _j5nqazsu _otptazsu _dlfuazsu _bunzervl _1ky61xn9 _1cgs1xn9 _52yy1xn9 _4fvhs4qr _1dyy1tmw _1lj41tmw _1x3r1tmw"
|
|
28
|
+
};
|
|
29
|
+
/* eslint-enable @atlaskit/ui-styling-standard/no-nested-selectors, @atlaskit/ui-styling-standard/no-unsafe-selectors */
|
|
30
|
+
|
|
31
|
+
const loadingStyles = {
|
|
32
|
+
overlay: "_1e0c1txw _kqswstnw _4cvr1h6o _1bah1h6o _152tze3t _u7coze3t _1e02ze3t _rjxpze3t _lcxvglyw"
|
|
33
|
+
};
|
|
34
|
+
const inlineStyles = {
|
|
35
|
+
base: "_zulp1b66 _1e0c116y _2lx2vrvc _4cvr1h6o _1ul9idpf",
|
|
36
|
+
spacious: "_zulp12x7",
|
|
37
|
+
loading: "_tzy4idpf"
|
|
38
|
+
};
|
|
39
|
+
const DEFAULT_MAX_WIDTH = 200;
|
|
40
|
+
const defaultIconLabels = {
|
|
41
|
+
neutral: 'Date',
|
|
42
|
+
warning: 'Warning',
|
|
43
|
+
danger: 'Danger'
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* __DateLabelDropdownTrigger__
|
|
48
|
+
*
|
|
49
|
+
* An interactive date label that acts as a dropdown trigger.
|
|
50
|
+
* Renders as a `<button>` with hover, pressed, selected, and focus ring states,
|
|
51
|
+
* and a chevron icon on the right to signal interactivity.
|
|
52
|
+
*
|
|
53
|
+
* Supports all three appearances (`neutral`, `warning`, `danger`),
|
|
54
|
+
* the `isSpacious` variant, and `isSelected` for open/active dropdown state.
|
|
55
|
+
*
|
|
56
|
+
* - [Examples](https://atlassian.design/components/date-label/examples)
|
|
57
|
+
* - [Code](https://atlassian.design/components/date-label/code)
|
|
58
|
+
* - [Usage](https://atlassian.design/components/date-label/usage)
|
|
59
|
+
*/
|
|
60
|
+
export default function DateLabelDropdownTrigger({
|
|
61
|
+
label,
|
|
62
|
+
appearance = 'neutral',
|
|
63
|
+
hasIconBefore = true,
|
|
64
|
+
isSpacious = false,
|
|
65
|
+
isSelected = false,
|
|
66
|
+
isLoading = false,
|
|
67
|
+
maxWidth = DEFAULT_MAX_WIDTH,
|
|
68
|
+
iconLabel,
|
|
69
|
+
onClick,
|
|
70
|
+
'aria-controls': ariaControls,
|
|
71
|
+
'aria-expanded': ariaExpanded,
|
|
72
|
+
'aria-haspopup': ariaHaspopup,
|
|
73
|
+
'aria-label': ariaLabel,
|
|
74
|
+
testId
|
|
75
|
+
}) {
|
|
76
|
+
const maxWidthValue = typeof maxWidth === 'string' ? maxWidth : `${maxWidth}px`;
|
|
77
|
+
const iconSize = isSpacious ? 'medium' : 'small';
|
|
78
|
+
const resolvedIconLabel = iconLabel !== undefined ? iconLabel : defaultIconLabels[appearance];
|
|
79
|
+
return /*#__PURE__*/React.createElement("button", {
|
|
80
|
+
type: "button",
|
|
81
|
+
onClick: isLoading ? undefined : onClick,
|
|
82
|
+
"aria-disabled": isLoading || undefined,
|
|
83
|
+
"aria-controls": ariaControls,
|
|
84
|
+
"aria-expanded": ariaExpanded,
|
|
85
|
+
"aria-haspopup": ariaHaspopup,
|
|
86
|
+
"aria-label": ariaLabel,
|
|
87
|
+
"data-testid": testId,
|
|
88
|
+
"data-appearance": appearance,
|
|
89
|
+
"data-selected": isSelected || undefined
|
|
90
|
+
// eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop
|
|
91
|
+
,
|
|
92
|
+
style: {
|
|
93
|
+
maxWidth: maxWidthValue,
|
|
94
|
+
cursor: isLoading ? 'progress' : undefined
|
|
95
|
+
},
|
|
96
|
+
className: ax([containerStyles.base, isSpacious && containerStyles.spacious, containerStyles[appearance], isSelected ? containerStyles.selected : containerStyles.hoveredAndPressed, isSelected && appearance === 'warning' && containerStyles.selectedWarning])
|
|
97
|
+
}, /*#__PURE__*/React.createElement("span", {
|
|
98
|
+
className: ax([inlineStyles.base, isSpacious && inlineStyles.spacious, isLoading && inlineStyles.loading])
|
|
99
|
+
}, hasIconBefore && /*#__PURE__*/React.createElement("span", {
|
|
100
|
+
className: ax([iconStyles.base])
|
|
101
|
+
}, appearance === 'neutral' && /*#__PURE__*/React.createElement(CalendarIcon, {
|
|
102
|
+
label: resolvedIconLabel,
|
|
103
|
+
size: iconSize,
|
|
104
|
+
color: "currentColor"
|
|
105
|
+
}), appearance === 'warning' && /*#__PURE__*/React.createElement(ClockIcon, {
|
|
106
|
+
label: resolvedIconLabel,
|
|
107
|
+
size: iconSize,
|
|
108
|
+
color: "currentColor"
|
|
109
|
+
}), appearance === 'danger' && /*#__PURE__*/React.createElement(WarningOutlineIcon, {
|
|
110
|
+
label: resolvedIconLabel,
|
|
111
|
+
size: iconSize,
|
|
112
|
+
color: "currentColor"
|
|
113
|
+
})), /*#__PURE__*/React.createElement("span", {
|
|
114
|
+
className: ax([textStyles.base, isSpacious && textStyles.spacious])
|
|
115
|
+
}, label)), isLoading ? /*#__PURE__*/React.createElement("span", {
|
|
116
|
+
className: ax([loadingStyles.overlay])
|
|
117
|
+
}, /*#__PURE__*/React.createElement(Spinner, {
|
|
118
|
+
size: isSpacious ? 'small' : 'xsmall',
|
|
119
|
+
label: ", Loading",
|
|
120
|
+
testId: testId ? `${testId}--loading-spinner` : undefined
|
|
121
|
+
})) : /*#__PURE__*/React.createElement(ChevronDownIcon, {
|
|
122
|
+
label: "",
|
|
123
|
+
size: iconSize,
|
|
124
|
+
color: "currentColor"
|
|
125
|
+
}));
|
|
126
|
+
}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from '../ui/date-label-dropdown-trigger';
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export var DATE_LABEL_TEST_ID = 'date-label';
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
._11c8fhey{font:var(--ds-font-body,normal 400 14px/20px "Atlassian Sans",ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Ubuntu,"Helvetica Neue",sans-serif)}
|
|
2
|
+
._11c8wadc{font:var(--ds-font-body-small,normal 400 9pt/1pc "Atlassian Sans",ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Ubuntu,"Helvetica Neue",sans-serif)}
|
|
3
|
+
._2rko12b0{border-radius:var(--ds-radius-small,4px)}
|
|
4
|
+
._2rko1qi0{border-radius:var(--ds-radius-medium,6px)}
|
|
5
|
+
._zulp12x7{gap:var(--ds-space-075,6px)}
|
|
6
|
+
._zulp1b66{gap:var(--ds-space-050,4px)}
|
|
7
|
+
._189ee4h9{border-width:var(--ds-border-width,1px)}
|
|
8
|
+
._18zr1b66{padding-inline:var(--ds-space-050,4px)}
|
|
9
|
+
._18zrutpp{padding-inline:var(--ds-space-150,9pt)}
|
|
10
|
+
._1dqonqa1{border-style:solid}
|
|
11
|
+
._1h6d1mzp{border-color:var(--ds-border-danger-subtle,#fd9891)}
|
|
12
|
+
._1h6d1wfx{border-color:var(--ds-border-warning-subtle,#fbc828)}
|
|
13
|
+
._1h6dmsup{border-color:var(--ds-border-accent-gray-subtle,#b7b9be)}
|
|
14
|
+
._1rjc1b66{padding-block:var(--ds-space-050,4px)}
|
|
15
|
+
._1rjcv77o{padding-block:var(--ds-space-025,2px)}
|
|
16
|
+
._18m915vq{overflow-y:hidden}
|
|
17
|
+
._1bto1l2s{text-overflow:ellipsis}
|
|
18
|
+
._1e0c116y{display:inline-flex}
|
|
19
|
+
._1e0c1txw{display:flex}
|
|
20
|
+
._1o9zidpf{flex-shrink:0}
|
|
21
|
+
._1reo15vq{overflow-x:hidden}
|
|
22
|
+
._1tkeviql{min-height:2rem}
|
|
23
|
+
._1ul9idpf{min-width:0}
|
|
24
|
+
._2lx2vrvc{flex-direction:row}
|
|
25
|
+
._4cvr1h6o{align-items:center}
|
|
26
|
+
._o5721q9c{white-space:nowrap}
|
|
27
|
+
._syaz1tmw{color:var(--ds-text-danger,#ae2e24)}
|
|
28
|
+
._syaz1xn9{color:var(--ds-text-warning,#9e4c00)}
|
|
29
|
+
._syazi7uo{color:var(--ds-text,#292a2e)}
|
|
30
|
+
._vchhusvi{box-sizing:border-box}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
/* index.tsx generated by @compiled/babel-plugin v0.39.1 */
|
|
2
|
+
import "./index.compiled.css";
|
|
3
|
+
import * as React from 'react';
|
|
4
|
+
import { ax, ix } from "@compiled/react/runtime";
|
|
5
|
+
import WarningOutlineIcon from '@atlaskit/icon-lab/core/warning-outline';
|
|
6
|
+
import CalendarIcon from '@atlaskit/icon/core/calendar';
|
|
7
|
+
import ClockIcon from '@atlaskit/icon/core/clock';
|
|
8
|
+
var containerStyles = {
|
|
9
|
+
base: "_zulp1b66 _2rko12b0 _1rjcv77o _18zr1b66 _1dqonqa1 _189ee4h9 _vchhusvi _1e0c116y _2lx2vrvc _4cvr1h6o",
|
|
10
|
+
spacious: "_2rko1qi0 _zulp12x7 _1rjc1b66 _18zrutpp _1tkeviql",
|
|
11
|
+
neutral: "_1h6dmsup",
|
|
12
|
+
warning: "_1h6d1wfx",
|
|
13
|
+
danger: "_1h6d1mzp"
|
|
14
|
+
};
|
|
15
|
+
var textStyles = {
|
|
16
|
+
base: "_11c8wadc _1reo15vq _18m915vq _1bto1l2s _o5721q9c _1ul9idpf",
|
|
17
|
+
spacious: "_11c8fhey",
|
|
18
|
+
neutral: "_syazi7uo",
|
|
19
|
+
warning: "_syaz1xn9",
|
|
20
|
+
danger: "_syaz1tmw"
|
|
21
|
+
};
|
|
22
|
+
var iconStyles = {
|
|
23
|
+
base: "_1e0c1txw _1o9zidpf"
|
|
24
|
+
};
|
|
25
|
+
var DEFAULT_MAX_WIDTH = 180;
|
|
26
|
+
var defaultIconLabels = {
|
|
27
|
+
neutral: 'Date',
|
|
28
|
+
warning: 'Warning',
|
|
29
|
+
danger: 'Danger'
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* __DateLabel__
|
|
34
|
+
*
|
|
35
|
+
* A date label is a compact label to display dates for quick recognition.
|
|
36
|
+
* It supports three appearances: `neutral`, `warning`, and `danger`.
|
|
37
|
+
*
|
|
38
|
+
* - [Examples](https://atlassian.design/components/date-label/examples)
|
|
39
|
+
* - [Code](https://atlassian.design/components/date-label/code)
|
|
40
|
+
* - [Usage](https://atlassian.design/components/date-label/usage)
|
|
41
|
+
*/
|
|
42
|
+
export default function DateLabel(_ref) {
|
|
43
|
+
var label = _ref.label,
|
|
44
|
+
_ref$appearance = _ref.appearance,
|
|
45
|
+
appearance = _ref$appearance === void 0 ? 'neutral' : _ref$appearance,
|
|
46
|
+
_ref$hasIconBefore = _ref.hasIconBefore,
|
|
47
|
+
hasIconBefore = _ref$hasIconBefore === void 0 ? true : _ref$hasIconBefore,
|
|
48
|
+
_ref$maxWidth = _ref.maxWidth,
|
|
49
|
+
maxWidth = _ref$maxWidth === void 0 ? DEFAULT_MAX_WIDTH : _ref$maxWidth,
|
|
50
|
+
_ref$isSpacious = _ref.isSpacious,
|
|
51
|
+
isSpacious = _ref$isSpacious === void 0 ? false : _ref$isSpacious,
|
|
52
|
+
iconLabel = _ref.iconLabel,
|
|
53
|
+
testId = _ref.testId;
|
|
54
|
+
var maxWidthValue = typeof maxWidth === 'string' ? maxWidth : "".concat(maxWidth, "px");
|
|
55
|
+
var resolvedIconLabel = iconLabel !== undefined ? iconLabel : defaultIconLabels[appearance];
|
|
56
|
+
var iconSize = isSpacious ? 'medium' : 'small';
|
|
57
|
+
return /*#__PURE__*/React.createElement("span", {
|
|
58
|
+
// eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop
|
|
59
|
+
style: {
|
|
60
|
+
maxWidth: maxWidthValue
|
|
61
|
+
},
|
|
62
|
+
"data-testid": testId,
|
|
63
|
+
className: ax([containerStyles.base, isSpacious && containerStyles.spacious, containerStyles[appearance]])
|
|
64
|
+
}, hasIconBefore && /*#__PURE__*/React.createElement("span", {
|
|
65
|
+
className: ax([iconStyles.base])
|
|
66
|
+
}, appearance === 'neutral' && /*#__PURE__*/React.createElement(CalendarIcon, {
|
|
67
|
+
label: resolvedIconLabel,
|
|
68
|
+
size: iconSize,
|
|
69
|
+
color: "var(--ds-icon-subtlest, #6B6E76)"
|
|
70
|
+
}), appearance === 'warning' && /*#__PURE__*/React.createElement(ClockIcon, {
|
|
71
|
+
label: resolvedIconLabel,
|
|
72
|
+
size: iconSize,
|
|
73
|
+
color: "var(--ds-icon-warning, #E06C00)"
|
|
74
|
+
}), appearance === 'danger' && /*#__PURE__*/React.createElement(WarningOutlineIcon, {
|
|
75
|
+
label: resolvedIconLabel,
|
|
76
|
+
size: iconSize,
|
|
77
|
+
color: "var(--ds-icon-danger, #C9372C)"
|
|
78
|
+
})), /*#__PURE__*/React.createElement("span", {
|
|
79
|
+
className: ax([textStyles.base, isSpacious && textStyles.spacious, textStyles[appearance]])
|
|
80
|
+
}, label));
|
|
81
|
+
}
|
|
File without changes
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
._11c8fhey{font:var(--ds-font-body,normal 400 14px/20px "Atlassian Sans",ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Ubuntu,"Helvetica Neue",sans-serif)}
|
|
2
|
+
._11c8wadc{font:var(--ds-font-body-small,normal 400 9pt/1pc "Atlassian Sans",ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Ubuntu,"Helvetica Neue",sans-serif)}
|
|
3
|
+
._2rko12b0{border-radius:var(--ds-radius-small,4px)}
|
|
4
|
+
._2rko1qi0{border-radius:var(--ds-radius-medium,6px)}
|
|
5
|
+
._zulp12x7{gap:var(--ds-space-075,6px)}
|
|
6
|
+
._zulp1b66{gap:var(--ds-space-050,4px)}
|
|
7
|
+
._189ee4h9{border-width:var(--ds-border-width,1px)}
|
|
8
|
+
._18zr1b66{padding-inline:var(--ds-space-050,4px)}
|
|
9
|
+
._18zrutpp{padding-inline:var(--ds-space-150,9pt)}
|
|
10
|
+
._1dqonqa1{border-style:solid}
|
|
11
|
+
._1h6d1mzp{border-color:var(--ds-border-danger-subtle,#fd9891)}
|
|
12
|
+
._1h6d1wfx{border-color:var(--ds-border-warning-subtle,#fbc828)}
|
|
13
|
+
._1h6dmsup{border-color:var(--ds-border-accent-gray-subtle,#b7b9be)}
|
|
14
|
+
._1rjc1b66{padding-block:var(--ds-space-050,4px)}
|
|
15
|
+
._1rjcv77o{padding-block:var(--ds-space-025,2px)}
|
|
16
|
+
._152tze3t{inset-block-start:var(--ds-space-0,0)}
|
|
17
|
+
._18m915vq{overflow-y:hidden}
|
|
18
|
+
._1bah1h6o{justify-content:center}
|
|
19
|
+
._1bto1l2s{text-overflow:ellipsis}
|
|
20
|
+
._1e02ze3t{inset-inline-start:var(--ds-space-0,0)}
|
|
21
|
+
._1e0c116y{display:inline-flex}
|
|
22
|
+
._1e0c1txw{display:flex}
|
|
23
|
+
._1o9zidpf{flex-shrink:0}
|
|
24
|
+
._1reo15vq{overflow-x:hidden}
|
|
25
|
+
._1tkeviql{min-height:2rem}
|
|
26
|
+
._1ul9idpf{min-width:0}
|
|
27
|
+
._2lx2vrvc{flex-direction:row}
|
|
28
|
+
._4cvr1h6o{align-items:center}
|
|
29
|
+
._80omtlke{cursor:pointer}
|
|
30
|
+
._bfhk1j28{background-color:transparent}
|
|
31
|
+
._bfhkfcek{background-color:var(--ds-background-neutral-subtle-pressed,#0b120e24)}
|
|
32
|
+
._kqswh2mm{position:relative}
|
|
33
|
+
._kqswstnw{position:absolute}
|
|
34
|
+
._lcxvglyw{pointer-events:none}
|
|
35
|
+
._o5721q9c{white-space:nowrap}
|
|
36
|
+
._rjxpze3t{inset-inline-end:var(--ds-space-0,0)}
|
|
37
|
+
._syaz1tmw{color:var(--ds-text-danger,#ae2e24)}
|
|
38
|
+
._syaz1xn9{color:var(--ds-text-warning,#9e4c00)}
|
|
39
|
+
._syazi7uo{color:var(--ds-text,#292a2e)}
|
|
40
|
+
._syazmgs1{color:var(--ds-text-warning-bolder,#693200)}
|
|
41
|
+
._tzy4idpf{opacity:0}
|
|
42
|
+
._u7coze3t{inset-block-end:var(--ds-space-0,0)}
|
|
43
|
+
._vchhusvi{box-sizing:border-box}
|
|
44
|
+
[data-appearance=danger] ._4fvhs4qr{color:var(--ds-icon-danger,#c9372c)}
|
|
45
|
+
[data-appearance=danger]:active ._1lj41tmw{color:var(--ds-text-danger,#ae2e24)}
|
|
46
|
+
[data-appearance=danger]:hover ._1dyy1tmw{color:var(--ds-text-danger,#ae2e24)}
|
|
47
|
+
[data-appearance=danger][data-selected] ._1x3r1tmw{color:var(--ds-text-danger,#ae2e24)}
|
|
48
|
+
[data-appearance=neutral] ._n4f71cv2{color:var(--ds-icon-subtlest,#6b6e76)}
|
|
49
|
+
[data-appearance=neutral]:active ._otptazsu{color:var(--ds-text-subtle,#505258)}
|
|
50
|
+
[data-appearance=neutral]:hover ._j5nqazsu{color:var(--ds-text-subtle,#505258)}
|
|
51
|
+
[data-appearance=neutral][data-selected] ._dlfuazsu{color:var(--ds-text-subtle,#505258)}
|
|
52
|
+
[data-appearance=warning] ._bunzervl{color:var(--ds-icon-warning,#e06c00)}
|
|
53
|
+
[data-appearance=warning]:active ._1cgs1xn9{color:var(--ds-text-warning,#9e4c00)}
|
|
54
|
+
[data-appearance=warning]:hover ._1ky61xn9{color:var(--ds-text-warning,#9e4c00)}
|
|
55
|
+
[data-appearance=warning][data-selected] ._52yy1xn9{color:var(--ds-text-warning,#9e4c00)}
|
|
56
|
+
._128mdkaa:focus-visible{outline-width:var(--ds-border-width-focused,2px)}
|
|
57
|
+
._1ah3v77o:focus-visible{outline-offset:var(--ds-space-025,2px)}
|
|
58
|
+
._mizu1v1w:focus-visible{outline-color:var(--ds-border-focused,#4688ec)}
|
|
59
|
+
._ra3xnqa1:focus-visible{outline-style:solid}
|
|
60
|
+
._irr31dpa:hover{background-color:var(--ds-background-neutral-subtle-hovered,#0515240f)}
|
|
61
|
+
._1di6fcek:active{background-color:var(--ds-background-neutral-subtle-pressed,#0b120e24)}
|
|
62
|
+
._9h8hmgs1:active{color:var(--ds-text-warning-bolder,#693200)}
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
/* index.tsx generated by @compiled/babel-plugin v0.39.1 */
|
|
2
|
+
import "./index.compiled.css";
|
|
3
|
+
import * as React from 'react';
|
|
4
|
+
import { ax, ix } from "@compiled/react/runtime";
|
|
5
|
+
import WarningOutlineIcon from '@atlaskit/icon-lab/core/warning-outline';
|
|
6
|
+
import CalendarIcon from '@atlaskit/icon/core/calendar';
|
|
7
|
+
import ChevronDownIcon from '@atlaskit/icon/core/chevron-down';
|
|
8
|
+
import ClockIcon from '@atlaskit/icon/core/clock';
|
|
9
|
+
import Spinner from '@atlaskit/spinner';
|
|
10
|
+
var containerStyles = {
|
|
11
|
+
base: "_zulp1b66 _2rko12b0 _1rjcv77o _18zr1b66 _1dqonqa1 _189ee4h9 _kqswh2mm _vchhusvi _1e0c116y _2lx2vrvc _4cvr1h6o _80omtlke _bfhk1j28 _mizu1v1w _128mdkaa _ra3xnqa1 _1ah3v77o",
|
|
12
|
+
hoveredAndPressed: "_irr31dpa _1di6fcek",
|
|
13
|
+
spacious: "_2rko1qi0 _zulp12x7 _1rjc1b66 _18zrutpp _1tkeviql",
|
|
14
|
+
neutral: "_1h6dmsup _syazi7uo",
|
|
15
|
+
warning: "_1h6d1wfx _syaz1xn9 _9h8hmgs1",
|
|
16
|
+
danger: "_1h6d1mzp _syaz1tmw",
|
|
17
|
+
selected: "_bfhkfcek",
|
|
18
|
+
selectedWarning: "_syazmgs1"
|
|
19
|
+
};
|
|
20
|
+
var textStyles = {
|
|
21
|
+
base: "_11c8wadc _1reo15vq _18m915vq _1bto1l2s _o5721q9c _1ul9idpf",
|
|
22
|
+
spacious: "_11c8fhey"
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
/* eslint-disable @atlaskit/ui-styling-standard/no-nested-selectors, @atlaskit/ui-styling-standard/no-unsafe-selectors */
|
|
26
|
+
var iconStyles = {
|
|
27
|
+
base: "_1e0c1txw _1o9zidpf _n4f71cv2 _j5nqazsu _otptazsu _dlfuazsu _bunzervl _1ky61xn9 _1cgs1xn9 _52yy1xn9 _4fvhs4qr _1dyy1tmw _1lj41tmw _1x3r1tmw"
|
|
28
|
+
};
|
|
29
|
+
/* eslint-enable @atlaskit/ui-styling-standard/no-nested-selectors, @atlaskit/ui-styling-standard/no-unsafe-selectors */
|
|
30
|
+
|
|
31
|
+
var loadingStyles = {
|
|
32
|
+
overlay: "_1e0c1txw _kqswstnw _4cvr1h6o _1bah1h6o _152tze3t _u7coze3t _1e02ze3t _rjxpze3t _lcxvglyw"
|
|
33
|
+
};
|
|
34
|
+
var inlineStyles = {
|
|
35
|
+
base: "_zulp1b66 _1e0c116y _2lx2vrvc _4cvr1h6o _1ul9idpf",
|
|
36
|
+
spacious: "_zulp12x7",
|
|
37
|
+
loading: "_tzy4idpf"
|
|
38
|
+
};
|
|
39
|
+
var DEFAULT_MAX_WIDTH = 200;
|
|
40
|
+
var defaultIconLabels = {
|
|
41
|
+
neutral: 'Date',
|
|
42
|
+
warning: 'Warning',
|
|
43
|
+
danger: 'Danger'
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* __DateLabelDropdownTrigger__
|
|
48
|
+
*
|
|
49
|
+
* An interactive date label that acts as a dropdown trigger.
|
|
50
|
+
* Renders as a `<button>` with hover, pressed, selected, and focus ring states,
|
|
51
|
+
* and a chevron icon on the right to signal interactivity.
|
|
52
|
+
*
|
|
53
|
+
* Supports all three appearances (`neutral`, `warning`, `danger`),
|
|
54
|
+
* the `isSpacious` variant, and `isSelected` for open/active dropdown state.
|
|
55
|
+
*
|
|
56
|
+
* - [Examples](https://atlassian.design/components/date-label/examples)
|
|
57
|
+
* - [Code](https://atlassian.design/components/date-label/code)
|
|
58
|
+
* - [Usage](https://atlassian.design/components/date-label/usage)
|
|
59
|
+
*/
|
|
60
|
+
export default function DateLabelDropdownTrigger(_ref) {
|
|
61
|
+
var label = _ref.label,
|
|
62
|
+
_ref$appearance = _ref.appearance,
|
|
63
|
+
appearance = _ref$appearance === void 0 ? 'neutral' : _ref$appearance,
|
|
64
|
+
_ref$hasIconBefore = _ref.hasIconBefore,
|
|
65
|
+
hasIconBefore = _ref$hasIconBefore === void 0 ? true : _ref$hasIconBefore,
|
|
66
|
+
_ref$isSpacious = _ref.isSpacious,
|
|
67
|
+
isSpacious = _ref$isSpacious === void 0 ? false : _ref$isSpacious,
|
|
68
|
+
_ref$isSelected = _ref.isSelected,
|
|
69
|
+
isSelected = _ref$isSelected === void 0 ? false : _ref$isSelected,
|
|
70
|
+
_ref$isLoading = _ref.isLoading,
|
|
71
|
+
isLoading = _ref$isLoading === void 0 ? false : _ref$isLoading,
|
|
72
|
+
_ref$maxWidth = _ref.maxWidth,
|
|
73
|
+
maxWidth = _ref$maxWidth === void 0 ? DEFAULT_MAX_WIDTH : _ref$maxWidth,
|
|
74
|
+
iconLabel = _ref.iconLabel,
|
|
75
|
+
onClick = _ref.onClick,
|
|
76
|
+
ariaControls = _ref['aria-controls'],
|
|
77
|
+
ariaExpanded = _ref['aria-expanded'],
|
|
78
|
+
ariaHaspopup = _ref['aria-haspopup'],
|
|
79
|
+
ariaLabel = _ref['aria-label'],
|
|
80
|
+
testId = _ref.testId;
|
|
81
|
+
var maxWidthValue = typeof maxWidth === 'string' ? maxWidth : "".concat(maxWidth, "px");
|
|
82
|
+
var iconSize = isSpacious ? 'medium' : 'small';
|
|
83
|
+
var resolvedIconLabel = iconLabel !== undefined ? iconLabel : defaultIconLabels[appearance];
|
|
84
|
+
return /*#__PURE__*/React.createElement("button", {
|
|
85
|
+
type: "button",
|
|
86
|
+
onClick: isLoading ? undefined : onClick,
|
|
87
|
+
"aria-disabled": isLoading || undefined,
|
|
88
|
+
"aria-controls": ariaControls,
|
|
89
|
+
"aria-expanded": ariaExpanded,
|
|
90
|
+
"aria-haspopup": ariaHaspopup,
|
|
91
|
+
"aria-label": ariaLabel,
|
|
92
|
+
"data-testid": testId,
|
|
93
|
+
"data-appearance": appearance,
|
|
94
|
+
"data-selected": isSelected || undefined
|
|
95
|
+
// eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop
|
|
96
|
+
,
|
|
97
|
+
style: {
|
|
98
|
+
maxWidth: maxWidthValue,
|
|
99
|
+
cursor: isLoading ? 'progress' : undefined
|
|
100
|
+
},
|
|
101
|
+
className: ax([containerStyles.base, isSpacious && containerStyles.spacious, containerStyles[appearance], isSelected ? containerStyles.selected : containerStyles.hoveredAndPressed, isSelected && appearance === 'warning' && containerStyles.selectedWarning])
|
|
102
|
+
}, /*#__PURE__*/React.createElement("span", {
|
|
103
|
+
className: ax([inlineStyles.base, isSpacious && inlineStyles.spacious, isLoading && inlineStyles.loading])
|
|
104
|
+
}, hasIconBefore && /*#__PURE__*/React.createElement("span", {
|
|
105
|
+
className: ax([iconStyles.base])
|
|
106
|
+
}, appearance === 'neutral' && /*#__PURE__*/React.createElement(CalendarIcon, {
|
|
107
|
+
label: resolvedIconLabel,
|
|
108
|
+
size: iconSize,
|
|
109
|
+
color: "currentColor"
|
|
110
|
+
}), appearance === 'warning' && /*#__PURE__*/React.createElement(ClockIcon, {
|
|
111
|
+
label: resolvedIconLabel,
|
|
112
|
+
size: iconSize,
|
|
113
|
+
color: "currentColor"
|
|
114
|
+
}), appearance === 'danger' && /*#__PURE__*/React.createElement(WarningOutlineIcon, {
|
|
115
|
+
label: resolvedIconLabel,
|
|
116
|
+
size: iconSize,
|
|
117
|
+
color: "currentColor"
|
|
118
|
+
})), /*#__PURE__*/React.createElement("span", {
|
|
119
|
+
className: ax([textStyles.base, isSpacious && textStyles.spacious])
|
|
120
|
+
}, label)), isLoading ? /*#__PURE__*/React.createElement("span", {
|
|
121
|
+
className: ax([loadingStyles.overlay])
|
|
122
|
+
}, /*#__PURE__*/React.createElement(Spinner, {
|
|
123
|
+
size: isSpacious ? 'small' : 'xsmall',
|
|
124
|
+
label: ", Loading",
|
|
125
|
+
testId: testId ? "".concat(testId, "--loading-spinner") : undefined
|
|
126
|
+
})) : /*#__PURE__*/React.createElement(ChevronDownIcon, {
|
|
127
|
+
label: "",
|
|
128
|
+
size: iconSize,
|
|
129
|
+
color: "currentColor"
|
|
130
|
+
}));
|
|
131
|
+
}
|
|
File without changes
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export type { DateLabelProps, DateLabelAppearance } from '../ui/date-label/types';
|
|
2
|
+
export { default } from '../ui/date-label';
|
|
3
|
+
export type { DateLabelDropdownTriggerProps, DateLabelDropdownTriggerAppearance } from '../ui/date-label-dropdown-trigger/types';
|
|
4
|
+
export { default as DateLabelDropdownTrigger } from '../ui/date-label-dropdown-trigger';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const DATE_LABEL_TEST_ID = "date-label";
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @jsxRuntime classic
|
|
3
|
+
* @jsx jsx
|
|
4
|
+
*/
|
|
5
|
+
import type { DateLabelProps } from './types';
|
|
6
|
+
/**
|
|
7
|
+
* __DateLabel__
|
|
8
|
+
*
|
|
9
|
+
* A date label is a compact label to display dates for quick recognition.
|
|
10
|
+
* It supports three appearances: `neutral`, `warning`, and `danger`.
|
|
11
|
+
*
|
|
12
|
+
* - [Examples](https://atlassian.design/components/date-label/examples)
|
|
13
|
+
* - [Code](https://atlassian.design/components/date-label/code)
|
|
14
|
+
* - [Usage](https://atlassian.design/components/date-label/usage)
|
|
15
|
+
*/
|
|
16
|
+
export default function DateLabel({ label, appearance, hasIconBefore, maxWidth, isSpacious, iconLabel, testId, }: DateLabelProps): JSX.Element;
|