@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.
Files changed (95) hide show
  1. package/CHANGELOG.md +1 -0
  2. package/LICENSE.md +11 -0
  3. package/README.md +128 -0
  4. package/constellation/date-label-dropdown-trigger/code.mdx +13 -0
  5. package/constellation/date-label-dropdown-trigger/examples.mdx +48 -0
  6. package/constellation/date-label-dropdown-trigger/images/datelabel-dropdown-anatomy-dark.png +0 -0
  7. package/constellation/date-label-dropdown-trigger/images/datelabel-dropdown-anatomy-light.png +0 -0
  8. package/constellation/date-label-dropdown-trigger/images/datelabel-dropdown-do-1-dark.png +0 -0
  9. package/constellation/date-label-dropdown-trigger/images/datelabel-dropdown-do-1-light.png +0 -0
  10. package/constellation/date-label-dropdown-trigger/images/datelabel-dropdown-do-2-dark.png +0 -0
  11. package/constellation/date-label-dropdown-trigger/images/datelabel-dropdown-do-2-light.png +0 -0
  12. package/constellation/date-label-dropdown-trigger/images/datelabel-dropdown-do-3-dark.png +0 -0
  13. package/constellation/date-label-dropdown-trigger/images/datelabel-dropdown-do-3-light.png +0 -0
  14. package/constellation/date-label-dropdown-trigger/images/datelabel-dropdown-do-4-dark.png +0 -0
  15. package/constellation/date-label-dropdown-trigger/images/datelabel-dropdown-do-4-light.png +0 -0
  16. package/constellation/date-label-dropdown-trigger/images/datelabel-dropdown-dont-1-dark.png +0 -0
  17. package/constellation/date-label-dropdown-trigger/images/datelabel-dropdown-dont-1-light.png +0 -0
  18. package/constellation/date-label-dropdown-trigger/images/datelabel-dropdown-dont-2-dark.png +0 -0
  19. package/constellation/date-label-dropdown-trigger/images/datelabel-dropdown-dont-2-light.png +0 -0
  20. package/constellation/date-label-dropdown-trigger/images/datelabel-dropdown-dont-3-dark.png +0 -0
  21. package/constellation/date-label-dropdown-trigger/images/datelabel-dropdown-dont-3-light.png +0 -0
  22. package/constellation/date-label-dropdown-trigger/images/datelabel-dropdown-dont-4-dark.png +0 -0
  23. package/constellation/date-label-dropdown-trigger/images/datelabel-dropdown-dont-4-light.png +0 -0
  24. package/constellation/date-label-dropdown-trigger/usage.mdx +176 -0
  25. package/constellation/index/examples.mdx +66 -0
  26. package/constellation/index/images/date-label-anatomy-dark.png +0 -0
  27. package/constellation/index/images/date-label-anatomy-light.png +0 -0
  28. package/constellation/index/images/date-label-do-1-dark.png +0 -0
  29. package/constellation/index/images/date-label-do-1-light.png +0 -0
  30. package/constellation/index/images/date-label-do-2-dark.png +0 -0
  31. package/constellation/index/images/date-label-do-2-light.png +0 -0
  32. package/constellation/index/images/date-label-do-3-dark.png +0 -0
  33. package/constellation/index/images/date-label-do-3-light.png +0 -0
  34. package/constellation/index/images/date-label-do-4-dark.png +0 -0
  35. package/constellation/index/images/date-label-do-4-light.png +0 -0
  36. package/constellation/index/images/date-label-dont-1-dark.png +0 -0
  37. package/constellation/index/images/date-label-dont-1-light.png +0 -0
  38. package/constellation/index/images/date-label-dont-2-dark.png +0 -0
  39. package/constellation/index/images/date-label-dont-2-light.png +0 -0
  40. package/constellation/index/images/date-label-dont-3-dark.png +0 -0
  41. package/constellation/index/images/date-label-dont-3-light.png +0 -0
  42. package/constellation/index/images/date-label-dont-4-dark.png +0 -0
  43. package/constellation/index/images/date-label-dont-4-light.png +0 -0
  44. package/constellation/index/props.mdx +14 -0
  45. package/constellation/index/usage.mdx +176 -0
  46. package/date-label/package.json +17 -0
  47. package/date-label-dropdown-trigger/package.json +17 -0
  48. package/dist/cjs/entry-points/date-label-dropdown-trigger.js +13 -0
  49. package/dist/cjs/entry-points/date-label.js +20 -0
  50. package/dist/cjs/entry-points/types.js +1 -0
  51. package/dist/cjs/ui/date-label/constants.js +7 -0
  52. package/dist/cjs/ui/date-label/index.compiled.css +30 -0
  53. package/dist/cjs/ui/date-label/index.js +90 -0
  54. package/dist/cjs/ui/date-label/types.js +1 -0
  55. package/dist/cjs/ui/date-label-dropdown-trigger/index.compiled.css +62 -0
  56. package/dist/cjs/ui/date-label-dropdown-trigger/index.js +140 -0
  57. package/dist/cjs/ui/date-label-dropdown-trigger/types.js +1 -0
  58. package/dist/es2019/entry-points/date-label-dropdown-trigger.js +1 -0
  59. package/dist/es2019/entry-points/date-label.js +2 -0
  60. package/dist/es2019/entry-points/types.js +0 -0
  61. package/dist/es2019/ui/date-label/constants.js +1 -0
  62. package/dist/es2019/ui/date-label/index.compiled.css +30 -0
  63. package/dist/es2019/ui/date-label/index.js +78 -0
  64. package/dist/es2019/ui/date-label/types.js +0 -0
  65. package/dist/es2019/ui/date-label-dropdown-trigger/index.compiled.css +62 -0
  66. package/dist/es2019/ui/date-label-dropdown-trigger/index.js +126 -0
  67. package/dist/es2019/ui/date-label-dropdown-trigger/types.js +0 -0
  68. package/dist/esm/entry-points/date-label-dropdown-trigger.js +1 -0
  69. package/dist/esm/entry-points/date-label.js +2 -0
  70. package/dist/esm/entry-points/types.js +0 -0
  71. package/dist/esm/ui/date-label/constants.js +1 -0
  72. package/dist/esm/ui/date-label/index.compiled.css +30 -0
  73. package/dist/esm/ui/date-label/index.js +81 -0
  74. package/dist/esm/ui/date-label/types.js +0 -0
  75. package/dist/esm/ui/date-label-dropdown-trigger/index.compiled.css +62 -0
  76. package/dist/esm/ui/date-label-dropdown-trigger/index.js +131 -0
  77. package/dist/esm/ui/date-label-dropdown-trigger/types.js +0 -0
  78. package/dist/types/entry-points/date-label-dropdown-trigger.d.ts +2 -0
  79. package/dist/types/entry-points/date-label.d.ts +4 -0
  80. package/dist/types/entry-points/types.d.ts +2 -0
  81. package/dist/types/ui/date-label/constants.d.ts +1 -0
  82. package/dist/types/ui/date-label/index.d.ts +16 -0
  83. package/dist/types/ui/date-label/types.d.ts +60 -0
  84. package/dist/types/ui/date-label-dropdown-trigger/index.d.ts +20 -0
  85. package/dist/types/ui/date-label-dropdown-trigger/types.d.ts +95 -0
  86. package/dist/types-ts4.5/entry-points/date-label-dropdown-trigger.d.ts +2 -0
  87. package/dist/types-ts4.5/entry-points/date-label.d.ts +4 -0
  88. package/dist/types-ts4.5/entry-points/types.d.ts +2 -0
  89. package/dist/types-ts4.5/ui/date-label/constants.d.ts +1 -0
  90. package/dist/types-ts4.5/ui/date-label/index.d.ts +16 -0
  91. package/dist/types-ts4.5/ui/date-label/types.d.ts +60 -0
  92. package/dist/types-ts4.5/ui/date-label-dropdown-trigger/index.d.ts +20 -0
  93. package/dist/types-ts4.5/ui/date-label-dropdown-trigger/types.d.ts +95 -0
  94. package/package.json +103 -0
  95. package/types/package.json +17 -0
@@ -0,0 +1,176 @@
1
+ ---
2
+ title: Date label
3
+ description:
4
+ Date label is a non-interactive label that displays a date and optionally, visually communicates
5
+ its status.
6
+ order: 2
7
+ ---
8
+
9
+ import Image from '@atlaskit/image';
10
+
11
+ import dateLabelAnatomyLight from './images/date-label-anatomy-light.png';
12
+ import dateLabelAnatomyDark from './images/date-label-anatomy-dark.png';
13
+ import dateLabelDo1Light from './images/date-label-do-1-light.png';
14
+ import dateLabelDo1Dark from './images/date-label-do-1-dark.png';
15
+ import dateLabelDont1Light from './images/date-label-dont-1-light.png';
16
+ import dateLabelDont1Dark from './images/date-label-dont-1-dark.png';
17
+ import dateLabelDo2Light from './images/date-label-do-2-light.png';
18
+ import dateLabelDo2Dark from './images/date-label-do-2-dark.png';
19
+ import dateLabelDont2Light from './images/date-label-dont-2-light.png';
20
+ import dateLabelDont2Dark from './images/date-label-dont-2-dark.png';
21
+ import dateLabelDo3Light from './images/date-label-do-3-light.png';
22
+ import dateLabelDo3Dark from './images/date-label-do-3-dark.png';
23
+ import dateLabelDont3Light from './images/date-label-dont-3-light.png';
24
+ import dateLabelDont3Dark from './images/date-label-dont-3-dark.png';
25
+ import dateLabelDo4Light from './images/date-label-do-4-light.png';
26
+ import dateLabelDo4Dark from './images/date-label-do-4-dark.png';
27
+ import dateLabelDont4Light from './images/date-label-dont-4-light.png';
28
+ import dateLabelDont4Dark from './images/date-label-dont-4-dark.png';
29
+
30
+ ## Usage
31
+
32
+ Use a date label to visually distinguish dates from surrounding content. Date label also supports
33
+ semantic appearances with color and icon, making it easy to scan and display its status at a glance.
34
+
35
+ ## Parts
36
+
37
+ <Image
38
+ src={dateLabelAnatomyLight}
39
+ srcDark={dateLabelAnatomyDark}
40
+ alt="The anatomy of the date label component, showing two parts: a Label and an optional icon"
41
+ />
42
+
43
+ 1. **Label:** Text displaying the date.
44
+ 2. **Icon (optional):** An icon that corresponds to the appearance. Each appearance has a designated
45
+ icon that displays automatically when enabled.
46
+
47
+ ## Best practices
48
+
49
+ ### Only use date label to communicate dates and their status
50
+
51
+ Date label should only be used to display dates. To label other things, such as the status of an
52
+ item, consider using [Lozenge](/components/lozenge/lozenge).
53
+
54
+ <DoDontGrid>
55
+ <DoDont
56
+ type="do"
57
+ image={{
58
+ url: dateLabelDo1Light,
59
+ urlDarkMode: dateLabelDo1Dark,
60
+ alt: 'Use date label to display dates or communicate the status of a date.',
61
+ }}
62
+ >
63
+ Use date label to display dates or communicate the status of a date.
64
+ </DoDont>
65
+ <DoDont
66
+ type="dont"
67
+ image={{
68
+ url: dateLabelDont1Light,
69
+ urlDarkMode: dateLabelDont1Dark,
70
+ alt: 'Don’t use date label for any other types of information',
71
+ }}
72
+ >
73
+ Don’t use date label for any other types of information.
74
+ </DoDont>
75
+ </DoDontGrid>
76
+
77
+ ### Use date label dropdown trigger when interactivity is required
78
+
79
+ Date labels are non-interactive. If you require an interactive date label that opens a dropdown for
80
+ example a calendar picker, use
81
+ [date label dropdown trigger](/components/date-label/date-label-dropdown-trigger).
82
+
83
+ <DoDontGrid>
84
+ <DoDont
85
+ type="do"
86
+ image={{
87
+ url: dateLabelDo2Light,
88
+ urlDarkMode: dateLabelDo2Dark,
89
+ alt: 'Use a date label dropdown trigger if interactivity is required.',
90
+ }}
91
+ >
92
+ Use a date label dropdown trigger if interactivity is required.
93
+ </DoDont>
94
+ <DoDont
95
+ type="dont"
96
+ image={{
97
+ url: dateLabelDont2Light,
98
+ urlDarkMode: dateLabelDont2Dark,
99
+ alt: 'Don’t add custom functionality to the date label.',
100
+ }}
101
+ >
102
+ Don’t add custom functionality to the date label.
103
+ </DoDont>
104
+ </DoDontGrid>
105
+
106
+ ### Don't use date labels inline with body text
107
+
108
+ Date labels are designed for labelling in structured UI contexts, and not for use inline with body
109
+ text, such as in editor.
110
+
111
+ <DoDontGrid>
112
+ <DoDont
113
+ type="do"
114
+ image={{
115
+ url: dateLabelDo3Light,
116
+ urlDarkMode: dateLabelDo3Dark,
117
+ alt: 'Use date label to display dates for quick recognition.',
118
+ }}
119
+ >
120
+ Use date label to display dates for quick recognition.
121
+ </DoDont>
122
+ <DoDont
123
+ type="dont"
124
+ image={{
125
+ url: dateLabelDont3Light,
126
+ urlDarkMode: dateLabelDont3Dark,
127
+ alt: 'Don’t use date labels in line with user generated text.',
128
+ }}
129
+ >
130
+ Don’t use date labels in line with user generated text.
131
+ </DoDont>
132
+ </DoDontGrid>
133
+
134
+ ## Accessibility
135
+
136
+ ### Use icons that carry appropriate meaning for semantic states
137
+
138
+ Date labels come with designated icons for each of its semantic states. These icons are essential
139
+ for accessibility. Without them, users must rely solely on color to distinguish states, which may
140
+ not be perceivable to everyone.
141
+
142
+ <DoDontGrid>
143
+ <DoDont
144
+ type="do"
145
+ image={{
146
+ url: dateLabelDo4Light,
147
+ urlDarkMode: dateLabelDo4Dark,
148
+ alt: 'Use the assigned icons for semantic appearances like an overdue date.',
149
+ }}
150
+ >
151
+ Use the assigned icons for semantic appearances like an overdue date.
152
+ </DoDont>
153
+ <DoDont
154
+ type="dont"
155
+ image={{
156
+ url: dateLabelDont4Light,
157
+ urlDarkMode: dateLabelDont4Dark,
158
+ alt: 'Don’t remove icons for semantic appearances or use icons that don’t carry appropriate meaning.',
159
+ }}
160
+ >
161
+ Don’t remove icons for semantic appearances or use icons that don’t carry appropriate meaning.
162
+ </DoDont>
163
+ </DoDontGrid>
164
+
165
+ ## Data Center apps
166
+
167
+ For all new features, we recommend using Atlassian Design System and other
168
+ [Atlaskit components](https://atlaskit.atlassian.com/). For existing code, you can continue to use
169
+ [Atlassian User Interface (AUI)](https://aui.atlassian.com/).
170
+
171
+ ## Related
172
+
173
+ - For status information, use a [lozenge](/components/lozenge/lozenge).
174
+ - For tallies or counts, use a [badge](/components/badge/badge).
175
+ - To visually label content such as categories and attributes, use a [tag](/components/tag/tag).
176
+ - For tagging people, team, space, or projects, use an [avatar tag](/components/tag/avatar-tag).
@@ -0,0 +1,17 @@
1
+ {
2
+ "name": "@atlaskit/date-label/date-label",
3
+ "main": "../dist/cjs/entry-points/date-label.js",
4
+ "module": "../dist/esm/entry-points/date-label.js",
5
+ "module:es2019": "../dist/es2019/entry-points/date-label.js",
6
+ "sideEffects": [
7
+ "*.compiled.css"
8
+ ],
9
+ "types": "../dist/types/entry-points/date-label.d.ts",
10
+ "typesVersions": {
11
+ ">=4.5 <5.9": {
12
+ "*": [
13
+ "../dist/types-ts4.5/entry-points/date-label.d.ts"
14
+ ]
15
+ }
16
+ }
17
+ }
@@ -0,0 +1,17 @@
1
+ {
2
+ "name": "@atlaskit/date-label/date-label-dropdown-trigger",
3
+ "main": "../dist/cjs/entry-points/date-label-dropdown-trigger.js",
4
+ "module": "../dist/esm/entry-points/date-label-dropdown-trigger.js",
5
+ "module:es2019": "../dist/es2019/entry-points/date-label-dropdown-trigger.js",
6
+ "sideEffects": [
7
+ "*.compiled.css"
8
+ ],
9
+ "types": "../dist/types/entry-points/date-label-dropdown-trigger.d.ts",
10
+ "typesVersions": {
11
+ ">=4.5 <5.9": {
12
+ "*": [
13
+ "../dist/types-ts4.5/entry-points/date-label-dropdown-trigger.d.ts"
14
+ ]
15
+ }
16
+ }
17
+ }
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ Object.defineProperty(exports, "default", {
8
+ enumerable: true,
9
+ get: function get() {
10
+ return _dateLabelDropdownTrigger.default;
11
+ }
12
+ });
13
+ var _dateLabelDropdownTrigger = _interopRequireDefault(require("../ui/date-label-dropdown-trigger"));
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ Object.defineProperty(exports, "DateLabelDropdownTrigger", {
8
+ enumerable: true,
9
+ get: function get() {
10
+ return _dateLabelDropdownTrigger.default;
11
+ }
12
+ });
13
+ Object.defineProperty(exports, "default", {
14
+ enumerable: true,
15
+ get: function get() {
16
+ return _dateLabel.default;
17
+ }
18
+ });
19
+ var _dateLabel = _interopRequireDefault(require("../ui/date-label"));
20
+ var _dateLabelDropdownTrigger = _interopRequireDefault(require("../ui/date-label-dropdown-trigger"));
@@ -0,0 +1 @@
1
+ "use strict";
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.DATE_LABEL_TEST_ID = void 0;
7
+ var DATE_LABEL_TEST_ID = exports.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,90 @@
1
+ /* index.tsx generated by @compiled/babel-plugin v0.39.1 */
2
+ "use strict";
3
+
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+ Object.defineProperty(exports, "__esModule", {
7
+ value: true
8
+ });
9
+ exports.default = DateLabel;
10
+ require("./index.compiled.css");
11
+ var React = _interopRequireWildcard(require("react"));
12
+ var _runtime = require("@compiled/react/runtime");
13
+ var _warningOutline = _interopRequireDefault(require("@atlaskit/icon-lab/core/warning-outline"));
14
+ var _calendar = _interopRequireDefault(require("@atlaskit/icon/core/calendar"));
15
+ var _clock = _interopRequireDefault(require("@atlaskit/icon/core/clock"));
16
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
17
+ var containerStyles = {
18
+ base: "_zulp1b66 _2rko12b0 _1rjcv77o _18zr1b66 _1dqonqa1 _189ee4h9 _vchhusvi _1e0c116y _2lx2vrvc _4cvr1h6o",
19
+ spacious: "_2rko1qi0 _zulp12x7 _1rjc1b66 _18zrutpp _1tkeviql",
20
+ neutral: "_1h6dmsup",
21
+ warning: "_1h6d1wfx",
22
+ danger: "_1h6d1mzp"
23
+ };
24
+ var textStyles = {
25
+ base: "_11c8wadc _1reo15vq _18m915vq _1bto1l2s _o5721q9c _1ul9idpf",
26
+ spacious: "_11c8fhey",
27
+ neutral: "_syazi7uo",
28
+ warning: "_syaz1xn9",
29
+ danger: "_syaz1tmw"
30
+ };
31
+ var iconStyles = {
32
+ base: "_1e0c1txw _1o9zidpf"
33
+ };
34
+ var DEFAULT_MAX_WIDTH = 180;
35
+ var defaultIconLabels = {
36
+ neutral: 'Date',
37
+ warning: 'Warning',
38
+ danger: 'Danger'
39
+ };
40
+
41
+ /**
42
+ * __DateLabel__
43
+ *
44
+ * A date label is a compact label to display dates for quick recognition.
45
+ * It supports three appearances: `neutral`, `warning`, and `danger`.
46
+ *
47
+ * - [Examples](https://atlassian.design/components/date-label/examples)
48
+ * - [Code](https://atlassian.design/components/date-label/code)
49
+ * - [Usage](https://atlassian.design/components/date-label/usage)
50
+ */
51
+ function DateLabel(_ref) {
52
+ var label = _ref.label,
53
+ _ref$appearance = _ref.appearance,
54
+ appearance = _ref$appearance === void 0 ? 'neutral' : _ref$appearance,
55
+ _ref$hasIconBefore = _ref.hasIconBefore,
56
+ hasIconBefore = _ref$hasIconBefore === void 0 ? true : _ref$hasIconBefore,
57
+ _ref$maxWidth = _ref.maxWidth,
58
+ maxWidth = _ref$maxWidth === void 0 ? DEFAULT_MAX_WIDTH : _ref$maxWidth,
59
+ _ref$isSpacious = _ref.isSpacious,
60
+ isSpacious = _ref$isSpacious === void 0 ? false : _ref$isSpacious,
61
+ iconLabel = _ref.iconLabel,
62
+ testId = _ref.testId;
63
+ var maxWidthValue = typeof maxWidth === 'string' ? maxWidth : "".concat(maxWidth, "px");
64
+ var resolvedIconLabel = iconLabel !== undefined ? iconLabel : defaultIconLabels[appearance];
65
+ var iconSize = isSpacious ? 'medium' : 'small';
66
+ return /*#__PURE__*/React.createElement("span", {
67
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop
68
+ style: {
69
+ maxWidth: maxWidthValue
70
+ },
71
+ "data-testid": testId,
72
+ className: (0, _runtime.ax)([containerStyles.base, isSpacious && containerStyles.spacious, containerStyles[appearance]])
73
+ }, hasIconBefore && /*#__PURE__*/React.createElement("span", {
74
+ className: (0, _runtime.ax)([iconStyles.base])
75
+ }, appearance === 'neutral' && /*#__PURE__*/React.createElement(_calendar.default, {
76
+ label: resolvedIconLabel,
77
+ size: iconSize,
78
+ color: "var(--ds-icon-subtlest, #6B6E76)"
79
+ }), appearance === 'warning' && /*#__PURE__*/React.createElement(_clock.default, {
80
+ label: resolvedIconLabel,
81
+ size: iconSize,
82
+ color: "var(--ds-icon-warning, #E06C00)"
83
+ }), appearance === 'danger' && /*#__PURE__*/React.createElement(_warningOutline.default, {
84
+ label: resolvedIconLabel,
85
+ size: iconSize,
86
+ color: "var(--ds-icon-danger, #C9372C)"
87
+ })), /*#__PURE__*/React.createElement("span", {
88
+ className: (0, _runtime.ax)([textStyles.base, isSpacious && textStyles.spacious, textStyles[appearance]])
89
+ }, label));
90
+ }
@@ -0,0 +1 @@
1
+ "use strict";
@@ -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,140 @@
1
+ /* index.tsx generated by @compiled/babel-plugin v0.39.1 */
2
+ "use strict";
3
+
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+ Object.defineProperty(exports, "__esModule", {
7
+ value: true
8
+ });
9
+ exports.default = DateLabelDropdownTrigger;
10
+ require("./index.compiled.css");
11
+ var React = _interopRequireWildcard(require("react"));
12
+ var _runtime = require("@compiled/react/runtime");
13
+ var _warningOutline = _interopRequireDefault(require("@atlaskit/icon-lab/core/warning-outline"));
14
+ var _calendar = _interopRequireDefault(require("@atlaskit/icon/core/calendar"));
15
+ var _chevronDown = _interopRequireDefault(require("@atlaskit/icon/core/chevron-down"));
16
+ var _clock = _interopRequireDefault(require("@atlaskit/icon/core/clock"));
17
+ var _spinner = _interopRequireDefault(require("@atlaskit/spinner"));
18
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
19
+ var containerStyles = {
20
+ base: "_zulp1b66 _2rko12b0 _1rjcv77o _18zr1b66 _1dqonqa1 _189ee4h9 _kqswh2mm _vchhusvi _1e0c116y _2lx2vrvc _4cvr1h6o _80omtlke _bfhk1j28 _mizu1v1w _128mdkaa _ra3xnqa1 _1ah3v77o",
21
+ hoveredAndPressed: "_irr31dpa _1di6fcek",
22
+ spacious: "_2rko1qi0 _zulp12x7 _1rjc1b66 _18zrutpp _1tkeviql",
23
+ neutral: "_1h6dmsup _syazi7uo",
24
+ warning: "_1h6d1wfx _syaz1xn9 _9h8hmgs1",
25
+ danger: "_1h6d1mzp _syaz1tmw",
26
+ selected: "_bfhkfcek",
27
+ selectedWarning: "_syazmgs1"
28
+ };
29
+ var textStyles = {
30
+ base: "_11c8wadc _1reo15vq _18m915vq _1bto1l2s _o5721q9c _1ul9idpf",
31
+ spacious: "_11c8fhey"
32
+ };
33
+
34
+ /* eslint-disable @atlaskit/ui-styling-standard/no-nested-selectors, @atlaskit/ui-styling-standard/no-unsafe-selectors */
35
+ var iconStyles = {
36
+ base: "_1e0c1txw _1o9zidpf _n4f71cv2 _j5nqazsu _otptazsu _dlfuazsu _bunzervl _1ky61xn9 _1cgs1xn9 _52yy1xn9 _4fvhs4qr _1dyy1tmw _1lj41tmw _1x3r1tmw"
37
+ };
38
+ /* eslint-enable @atlaskit/ui-styling-standard/no-nested-selectors, @atlaskit/ui-styling-standard/no-unsafe-selectors */
39
+
40
+ var loadingStyles = {
41
+ overlay: "_1e0c1txw _kqswstnw _4cvr1h6o _1bah1h6o _152tze3t _u7coze3t _1e02ze3t _rjxpze3t _lcxvglyw"
42
+ };
43
+ var inlineStyles = {
44
+ base: "_zulp1b66 _1e0c116y _2lx2vrvc _4cvr1h6o _1ul9idpf",
45
+ spacious: "_zulp12x7",
46
+ loading: "_tzy4idpf"
47
+ };
48
+ var DEFAULT_MAX_WIDTH = 200;
49
+ var defaultIconLabels = {
50
+ neutral: 'Date',
51
+ warning: 'Warning',
52
+ danger: 'Danger'
53
+ };
54
+
55
+ /**
56
+ * __DateLabelDropdownTrigger__
57
+ *
58
+ * An interactive date label that acts as a dropdown trigger.
59
+ * Renders as a `<button>` with hover, pressed, selected, and focus ring states,
60
+ * and a chevron icon on the right to signal interactivity.
61
+ *
62
+ * Supports all three appearances (`neutral`, `warning`, `danger`),
63
+ * the `isSpacious` variant, and `isSelected` for open/active dropdown state.
64
+ *
65
+ * - [Examples](https://atlassian.design/components/date-label/examples)
66
+ * - [Code](https://atlassian.design/components/date-label/code)
67
+ * - [Usage](https://atlassian.design/components/date-label/usage)
68
+ */
69
+ function DateLabelDropdownTrigger(_ref) {
70
+ var label = _ref.label,
71
+ _ref$appearance = _ref.appearance,
72
+ appearance = _ref$appearance === void 0 ? 'neutral' : _ref$appearance,
73
+ _ref$hasIconBefore = _ref.hasIconBefore,
74
+ hasIconBefore = _ref$hasIconBefore === void 0 ? true : _ref$hasIconBefore,
75
+ _ref$isSpacious = _ref.isSpacious,
76
+ isSpacious = _ref$isSpacious === void 0 ? false : _ref$isSpacious,
77
+ _ref$isSelected = _ref.isSelected,
78
+ isSelected = _ref$isSelected === void 0 ? false : _ref$isSelected,
79
+ _ref$isLoading = _ref.isLoading,
80
+ isLoading = _ref$isLoading === void 0 ? false : _ref$isLoading,
81
+ _ref$maxWidth = _ref.maxWidth,
82
+ maxWidth = _ref$maxWidth === void 0 ? DEFAULT_MAX_WIDTH : _ref$maxWidth,
83
+ iconLabel = _ref.iconLabel,
84
+ onClick = _ref.onClick,
85
+ ariaControls = _ref['aria-controls'],
86
+ ariaExpanded = _ref['aria-expanded'],
87
+ ariaHaspopup = _ref['aria-haspopup'],
88
+ ariaLabel = _ref['aria-label'],
89
+ testId = _ref.testId;
90
+ var maxWidthValue = typeof maxWidth === 'string' ? maxWidth : "".concat(maxWidth, "px");
91
+ var iconSize = isSpacious ? 'medium' : 'small';
92
+ var resolvedIconLabel = iconLabel !== undefined ? iconLabel : defaultIconLabels[appearance];
93
+ return /*#__PURE__*/React.createElement("button", {
94
+ type: "button",
95
+ onClick: isLoading ? undefined : onClick,
96
+ "aria-disabled": isLoading || undefined,
97
+ "aria-controls": ariaControls,
98
+ "aria-expanded": ariaExpanded,
99
+ "aria-haspopup": ariaHaspopup,
100
+ "aria-label": ariaLabel,
101
+ "data-testid": testId,
102
+ "data-appearance": appearance,
103
+ "data-selected": isSelected || undefined
104
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop
105
+ ,
106
+ style: {
107
+ maxWidth: maxWidthValue,
108
+ cursor: isLoading ? 'progress' : undefined
109
+ },
110
+ className: (0, _runtime.ax)([containerStyles.base, isSpacious && containerStyles.spacious, containerStyles[appearance], isSelected ? containerStyles.selected : containerStyles.hoveredAndPressed, isSelected && appearance === 'warning' && containerStyles.selectedWarning])
111
+ }, /*#__PURE__*/React.createElement("span", {
112
+ className: (0, _runtime.ax)([inlineStyles.base, isSpacious && inlineStyles.spacious, isLoading && inlineStyles.loading])
113
+ }, hasIconBefore && /*#__PURE__*/React.createElement("span", {
114
+ className: (0, _runtime.ax)([iconStyles.base])
115
+ }, appearance === 'neutral' && /*#__PURE__*/React.createElement(_calendar.default, {
116
+ label: resolvedIconLabel,
117
+ size: iconSize,
118
+ color: "currentColor"
119
+ }), appearance === 'warning' && /*#__PURE__*/React.createElement(_clock.default, {
120
+ label: resolvedIconLabel,
121
+ size: iconSize,
122
+ color: "currentColor"
123
+ }), appearance === 'danger' && /*#__PURE__*/React.createElement(_warningOutline.default, {
124
+ label: resolvedIconLabel,
125
+ size: iconSize,
126
+ color: "currentColor"
127
+ })), /*#__PURE__*/React.createElement("span", {
128
+ className: (0, _runtime.ax)([textStyles.base, isSpacious && textStyles.spacious])
129
+ }, label)), isLoading ? /*#__PURE__*/React.createElement("span", {
130
+ className: (0, _runtime.ax)([loadingStyles.overlay])
131
+ }, /*#__PURE__*/React.createElement(_spinner.default, {
132
+ size: isSpacious ? 'small' : 'xsmall',
133
+ label: ", Loading",
134
+ testId: testId ? "".concat(testId, "--loading-spinner") : undefined
135
+ })) : /*#__PURE__*/React.createElement(_chevronDown.default, {
136
+ label: "",
137
+ size: iconSize,
138
+ color: "currentColor"
139
+ }));
140
+ }
@@ -0,0 +1 @@
1
+ "use strict";
@@ -0,0 +1 @@
1
+ export { default } from '../ui/date-label-dropdown-trigger';
@@ -0,0 +1,2 @@
1
+ export { default } from '../ui/date-label';
2
+ export { default as DateLabelDropdownTrigger } from '../ui/date-label-dropdown-trigger';
File without changes
@@ -0,0 +1 @@
1
+ export const 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}