@atlaskit/lozenge 13.1.2 → 13.2.1
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 +24 -0
- package/dist/cjs/index.js +8 -1
- package/dist/cjs/lozenge.js +19 -6
- package/dist/cjs/new/icon-renderer.js +73 -0
- package/dist/cjs/new/lozenge-base.compiled.css +153 -0
- package/dist/cjs/new/lozenge-base.js +140 -0
- package/dist/cjs/new/lozenge-dropdown-trigger.js +59 -0
- package/dist/cjs/new/lozenge.js +44 -0
- package/dist/cjs/new/types.js +5 -0
- package/dist/cjs/new/utils.js +35 -0
- package/dist/es2019/index.js +2 -1
- package/dist/es2019/lozenge.js +18 -6
- package/dist/es2019/new/icon-renderer.js +67 -0
- package/dist/es2019/new/lozenge-base.compiled.css +153 -0
- package/dist/es2019/new/lozenge-base.js +133 -0
- package/dist/es2019/new/lozenge-dropdown-trigger.js +47 -0
- package/dist/es2019/new/lozenge.js +34 -0
- package/dist/es2019/new/types.js +1 -0
- package/dist/es2019/new/utils.js +28 -0
- package/dist/esm/index.js +2 -1
- package/dist/esm/lozenge.js +18 -6
- package/dist/esm/new/icon-renderer.js +66 -0
- package/dist/esm/new/lozenge-base.compiled.css +153 -0
- package/dist/esm/new/lozenge-base.js +131 -0
- package/dist/esm/new/lozenge-dropdown-trigger.js +50 -0
- package/dist/esm/new/lozenge.js +35 -0
- package/dist/esm/new/types.js +1 -0
- package/dist/esm/new/utils.js +29 -0
- package/dist/types/index.d.ts +2 -0
- package/dist/types/lozenge.d.ts +6 -9
- package/dist/types/new/icon-renderer.d.ts +26 -0
- package/dist/types/new/lozenge-base.d.ts +9 -0
- package/dist/types/new/lozenge-dropdown-trigger.d.ts +15 -0
- package/dist/types/new/lozenge.d.ts +15 -0
- package/dist/types/new/types.d.ts +104 -0
- package/dist/types/new/utils.d.ts +6 -0
- package/dist/types-ts4.5/index.d.ts +2 -0
- package/dist/types-ts4.5/lozenge.d.ts +6 -9
- package/dist/types-ts4.5/new/icon-renderer.d.ts +26 -0
- package/dist/types-ts4.5/new/lozenge-base.d.ts +9 -0
- package/dist/types-ts4.5/new/lozenge-dropdown-trigger.d.ts +15 -0
- package/dist/types-ts4.5/new/lozenge.d.ts +15 -0
- package/dist/types-ts4.5/new/types.d.ts +104 -0
- package/dist/types-ts4.5/new/utils.d.ts +6 -0
- package/package.json +12 -9
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
|
|
2
|
+
._11c81o8v{font:var(--ds-font-body-small,normal 400 11px/1pc ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Ubuntu,"Helvetica Neue",sans-serif)}
|
|
3
|
+
._2rko12b0{border-radius:var(--ds-radius-small,4px)}
|
|
4
|
+
._zulp1b66{gap:var(--ds-space-050,4px)}
|
|
5
|
+
._189ee4h9{border-width:var(--ds-border-width,1px)}
|
|
6
|
+
._18zr1b66{padding-inline:var(--ds-space-050,4px)}
|
|
7
|
+
._1dqonqa1{border-style:solid}
|
|
8
|
+
._1h6d1j28{border-color:transparent}
|
|
9
|
+
._1h6dzs9d{border-color:color-mix(in oklch,var(--border-color) 100%,var(--cm-border-color) var(--cm-border-value))!important}
|
|
10
|
+
._1rjcv77o{padding-block:var(--ds-space-025,2px)}._111i1h4e{--icon-pressed-l-factor:0.7}
|
|
11
|
+
._13muu67f{--cm-border-color:#fff}
|
|
12
|
+
._168qx19p{--cm-icon-value:20%}
|
|
13
|
+
._18dicjiy{--border-hovered-l-factor:1.2}
|
|
14
|
+
._18m915vq{overflow-y:hidden}
|
|
15
|
+
._1b3i17hp{--icon-color:var(--ds-icon-accent-green,#22a06b)}
|
|
16
|
+
._1b3i1cv2{--icon-color:var(--ds-icon-subtlest,#6b6e76)}
|
|
17
|
+
._1b3i1diz{--icon-color:var(--ds-icon-accent-gray,#7d818a)}
|
|
18
|
+
._1b3i1j6y{--icon-color:var(--ds-icon-accent-orange,#e06c00)}
|
|
19
|
+
._1b3i1oqg{--icon-color:var(--ds-icon-accent-yellow,#b38600)}
|
|
20
|
+
._1b3i4pcx{--icon-color:var(--ds-icon-success,#6a9a23)}
|
|
21
|
+
._1b3i6txe{--icon-color:var(--ds-icon-accent-blue,#357de8)}
|
|
22
|
+
._1b3i8645{--icon-color:var(--ds-icon-accent-lime,#6a9a23)}
|
|
23
|
+
._1b3i8uof{--icon-color:var(--ds-icon-accent-teal,#2898bd)}
|
|
24
|
+
._1b3iervl{--icon-color:var(--ds-icon-warning,#e06c00)}
|
|
25
|
+
._1b3inbxb{--icon-color:var(--ds-icon-accent-red,#c9372c)}
|
|
26
|
+
._1b3iqm1h{--icon-color:var(--ds-icon-discovery,#af59e1)}
|
|
27
|
+
._1b3is4qr{--icon-color:var(--ds-icon-danger,#c9372c)}
|
|
28
|
+
._1b3iuq3u{--icon-color:var(--ds-icon-accent-purple,#af59e1)}
|
|
29
|
+
._1b3iv8hk{--icon-color:var(--ds-icon-accent-magenta,#cd519d)}
|
|
30
|
+
._1b3iyhbg{--icon-color:var(--ds-icon-information,#357de8)}
|
|
31
|
+
._1bto1l2s{text-overflow:ellipsis}
|
|
32
|
+
._1cp21w66:hover>span:first-of-type>svg{color:color-mix(in oklch,var(--icon-color) 100%,var(--cm-icon-color) var(--cm-icon-hovered-value))}
|
|
33
|
+
._1e0c116y{display:inline-flex}
|
|
34
|
+
._1gqs1mvc:active>span:first-of-type>svg{color:color-mix(in oklch,var(--icon-color) 100%,var(--cm-icon-color) var(--cm-icon-pressed-value))}
|
|
35
|
+
._1iel6xdd{--icon-hovered-l-factor:0.8}
|
|
36
|
+
._1k671038{--border-l-factor:1.33}
|
|
37
|
+
._1reo15vq{overflow-x:hidden}
|
|
38
|
+
._1xe213rw>span:first-of-type>svg{color:color-mix(in oklch,var(--icon-color) 100%,var(--cm-icon-color) var(--cm-icon-value))}
|
|
39
|
+
._3wu016y8{--border-color:var(--ds-border-accent-red,#e2483d)}
|
|
40
|
+
._3wu01b2s{--border-color:var(--ds-border-accent-orange,#e06c00)}
|
|
41
|
+
._3wu01bqt{--border-color:var(--ds-border-danger,#e2483d)}
|
|
42
|
+
._3wu01crs{--border-color:var(--ds-border-accent-green,#22a06b)}
|
|
43
|
+
._3wu01h3o{--border-color:var(--ds-border-accent-teal,#2898bd)}
|
|
44
|
+
._3wu01hqq{--border-color:var(--ds-border-accent-purple,#af59e1)}
|
|
45
|
+
._3wu01ihb{--border-color:var(--ds-border-bold,#7d818a)}
|
|
46
|
+
._3wu01mps{--border-color:var(--ds-border-success,#6a9a23)}
|
|
47
|
+
._3wu01w55{--border-color:var(--ds-border-accent-blue,#357de8)}
|
|
48
|
+
._3wu01xiv{--border-color:var(--ds-border-warning,#e06c00)}
|
|
49
|
+
._3wu08yml{--border-color:var(--ds-border-accent-gray,#7d818a)}
|
|
50
|
+
._3wu0feiv{--border-color:var(--ds-border-accent-yellow,#b38600)}
|
|
51
|
+
._3wu0nf89{--border-color:var(--ds-border-accent-lime,#6a9a23)}
|
|
52
|
+
._3wu0uwd0{--border-color:var(--ds-border-accent-magenta,#cd519d)}
|
|
53
|
+
._3wu0v30g{--border-color:var(--ds-border-discovery,#af59e1)}
|
|
54
|
+
._3wu0vbh5{--border-color:var(--ds-border-information,#357de8)}
|
|
55
|
+
._46v5hwvj{--cm-icon-pressed-value:40%}
|
|
56
|
+
._4cvr1h6o{align-items:center}
|
|
57
|
+
._4t3igktf{height:20px}
|
|
58
|
+
._4uq11yqs{--icon-l-factor:0.88}
|
|
59
|
+
._80omtlke{cursor:pointer}
|
|
60
|
+
._bfhk10f4{background-color:var(--ds-background-warning-subtler,#fce4a6)}
|
|
61
|
+
._bfhk14j0{background-color:var(--ds-background-success-subtler,#d3f1a7)}
|
|
62
|
+
._bfhk15s3{background-color:var(--ds-background-selected,#e9f2fe)}
|
|
63
|
+
._bfhk165s{background-color:var(--ds-background-accent-orange-subtler,#fce4a6)}
|
|
64
|
+
._bfhk1773{background-color:var(--ds-background-accent-yellow-subtler,#f5e989)}
|
|
65
|
+
._bfhk18wg{background-color:var(--ds-background-danger-subtler,#ffd5d2)}
|
|
66
|
+
._bfhk1a17{background-color:var(--ds-background-accent-teal-subtler,#c6edfb)}
|
|
67
|
+
._bfhk1dy8{background-color:var(--ds-background-accent-blue-subtler,#cfe1fd)}
|
|
68
|
+
._bfhk1nm4{background-color:var(--ds-background-accent-purple-subtler,#eed7fc)}
|
|
69
|
+
._bfhk1rtt{background-color:var(--ds-background-accent-red-subtler,#ffd5d2)}
|
|
70
|
+
._bfhk1wnw{background-color:var(--ds-background-accent-green-subtler,#baf3db)}
|
|
71
|
+
._bfhk8lbg{background-color:var(--ds-background-information-subtler,#cfe1fd)}
|
|
72
|
+
._bfhke670{background-color:var(--ds-background-discovery-subtler,#eed7fc)}
|
|
73
|
+
._bfhki8nm{background-color:var(--ds-background-neutral,#0515240f)}
|
|
74
|
+
._bfhkv9ra{background-color:var(--ds-background-accent-magenta-subtler,#fdd0ec)}
|
|
75
|
+
._bfhkysee{background-color:var(--ds-background-accent-gray-subtlest,#f0f1f2)}
|
|
76
|
+
._bfhkz2ec{background-color:var(--ds-background-accent-lime-subtler,#d3f1a7)}
|
|
77
|
+
._bg3q9by0{--cm-border-pressed-value:10%}
|
|
78
|
+
._fdt01r5k{--cm-icon-hovered-value:30%}
|
|
79
|
+
._hyog26zw{--border-pressed-l-factor:1.08}
|
|
80
|
+
._m71tr3uz{--cm-icon-color:#000}
|
|
81
|
+
._o5721q9c{white-space:nowrap}
|
|
82
|
+
._oe6mmko7{--cm-border-value:45%}
|
|
83
|
+
._syaz12v7{color:var(--ds-text-accent-teal-bolder,#164555)}
|
|
84
|
+
._syaz1blx{color:var(--ds-text-danger-bolder,#5d1f1a)}
|
|
85
|
+
._syaz1g72{color:var(--ds-text-discovery-bolder,#48245d)}
|
|
86
|
+
._syaz1ik3{color:var(--ds-text-accent-lime-bolder,#37471f)}
|
|
87
|
+
._syaz1kyx{color:var(--ds-text-accent-blue-bolder,#123263)}
|
|
88
|
+
._syaz1mn1{color:var(--ds-text-accent-purple-bolder,#48245d)}
|
|
89
|
+
._syaz1p1e{color:var(--ds-text-success-bolder,#37471f)}
|
|
90
|
+
._syaz1qd9{color:var(--ds-text-information-bolder,#123263)}
|
|
91
|
+
._syaz1qur{color:var(--ds-text-accent-magenta-bolder,#50253f)}
|
|
92
|
+
._syaz1tmo{color:var(--ds-text-accent-gray-bolder,#1e1f21)}
|
|
93
|
+
._syaz1y78{color:var(--ds-text-accent-green-bolder,#164b35)}
|
|
94
|
+
._syaz6x5g{color:var(--ds-text-selected,#1868db)}
|
|
95
|
+
._syaz7i1p{color:var(--ds-text-accent-orange-bolder,#693200)}
|
|
96
|
+
._syazekll{color:var(--ds-text-accent-yellow-bolder,#533f04)}
|
|
97
|
+
._syazhwvp{color:var(--ds-text-accent-red-bolder,#5d1f1a)}
|
|
98
|
+
._syazi7uo{color:var(--ds-text,#292a2e)}
|
|
99
|
+
._syazmgs1{color:var(--ds-text-warning-bolder,#693200)}
|
|
100
|
+
._vchhusvi{box-sizing:border-box}
|
|
101
|
+
._ylgq1r5k{--cm-border-hovered-value:30%}
|
|
102
|
+
[data-color-mode=dark] ._189qkb7n{--icon-l-factor:1}
|
|
103
|
+
[data-color-mode=dark] ._18mn783i{--icon-pressed-l-factor:1.37}
|
|
104
|
+
[data-color-mode=dark] ._196p1btq{--icon-hovered-l-factor:1.15}
|
|
105
|
+
[data-color-mode=dark] ._1f28f1ug{--cm-icon-value:0%}
|
|
106
|
+
[data-color-mode=dark] ._1t75u67f{--cm-icon-color:#fff}
|
|
107
|
+
[data-color-mode=dark] ._aewt1n8h{--cm-icon-pressed-value:70%}
|
|
108
|
+
[data-color-mode=dark] ._hg5mr3uz{--cm-border-color:#000}
|
|
109
|
+
[data-color-mode=dark] ._l0666xdd{--border-hovered-l-factor:0.8}
|
|
110
|
+
[data-color-mode=dark] ._ockq1r5k{--cm-icon-hovered-value:30%}
|
|
111
|
+
[data-color-mode=dark] ._pclnn8xv{--border-pressed-l-factor:0.9}
|
|
112
|
+
[data-color-mode=dark] ._u8p61h4e{--border-l-factor:0.7}
|
|
113
|
+
._128mdkaa:focus-visible{outline-width:var(--ds-border-width-focused,2px)}
|
|
114
|
+
._1ah3v77o:focus-visible{outline-offset:var(--ds-space-025,2px)}
|
|
115
|
+
._mizu1v1w:focus-visible{outline-color:var(--ds-border-focused,#4688ec)}
|
|
116
|
+
._ra3xnqa1:focus-visible{outline-style:solid}
|
|
117
|
+
._4cvx7ddx:hover{border-color:color-mix(in oklch,var(--border-color) 100%,var(--cm-border-color) var(--cm-border-hovered-value))!important}
|
|
118
|
+
._irr315aw:hover{background-color:var(--ds-background-information-subtler-hovered,#adcbfb)}
|
|
119
|
+
._irr31axx:hover{background-color:var(--ds-background-accent-magenta-subtler-hovered,#fcb6e1)}
|
|
120
|
+
._irr31e2h:hover{background-color:var(--ds-background-accent-green-subtler-hovered,#97edc9)}
|
|
121
|
+
._irr31ei0:hover{background-color:var(--ds-background-accent-orange-subtler-hovered,#fbd779)}
|
|
122
|
+
._irr31gf0:hover{background-color:var(--ds-background-accent-lime-subtler-hovered,#bde97c)}
|
|
123
|
+
._irr31r82:hover{background-color:var(--ds-background-success-subtler-hovered,#bde97c)}
|
|
124
|
+
._irr31uw7:hover{background-color:var(--ds-background-accent-yellow-subtler-hovered,#efdd4e)}
|
|
125
|
+
._irr31yx4:hover{background-color:var(--ds-background-warning-subtler-hovered,#fbd779)}
|
|
126
|
+
._irr370oi:hover{background-color:var(--ds-background-danger-subtler-hovered,#ffb8b2)}
|
|
127
|
+
._irr3815t:hover{background-color:var(--ds-background-accent-blue-subtler-hovered,#adcbfb)}
|
|
128
|
+
._irr3affd:hover{background-color:var(--ds-background-accent-red-subtler-hovered,#ffb8b2)}
|
|
129
|
+
._irr3attl:hover{background-color:var(--ds-background-accent-purple-subtler-hovered,#e3bdfa)}
|
|
130
|
+
._irr3kwwr:hover{background-color:var(--ds-background-accent-teal-subtler-hovered,#b1e4f7)}
|
|
131
|
+
._irr3plhp:hover{background-color:var(--ds-background-neutral-hovered,#0b120e24)}
|
|
132
|
+
._irr3rumk:hover{background-color:var(--ds-background-discovery-subtler-hovered,#e3bdfa)}
|
|
133
|
+
._irr3ufnl:hover{background-color:var(--ds-background-selected-hovered,#cfe1fd)}
|
|
134
|
+
._irr3wejn:hover{background-color:var(--ds-background-accent-gray-subtlest-hovered,#dddee1)}
|
|
135
|
+
._q4zt1csi:active{border-color:color-mix(in oklch,var(--border-color) 100%,var(--cm-border-color) var(--cm-border-pressed-value))!important}
|
|
136
|
+
._1di618ut:active{background-color:var(--ds-background-accent-gray-subtlest-pressed,#b7b9be)}
|
|
137
|
+
._1di61gdz:active{background-color:var(--ds-background-neutral-pressed,#080f214a)}
|
|
138
|
+
._1di61j5a:active{background-color:var(--ds-background-accent-red-subtler-pressed,#fd9891)}
|
|
139
|
+
._1di61jb0:active{background-color:var(--ds-background-accent-teal-subtler-pressed,#9dd9ee)}
|
|
140
|
+
._1di61r9w:active{background-color:var(--ds-background-accent-yellow-subtler-pressed,#eed12b)}
|
|
141
|
+
._1di62kxc:active{background-color:var(--ds-background-accent-lime-subtler-pressed,#b3df72)}
|
|
142
|
+
._1di63nfk:active{background-color:var(--ds-background-accent-purple-subtler-pressed,#d8a0f7)}
|
|
143
|
+
._1di642ri:active{background-color:var(--ds-background-accent-magenta-subtler-pressed,#f797d2)}
|
|
144
|
+
._1di65usi:active{background-color:var(--ds-background-discovery-subtler-pressed,#d8a0f7)}
|
|
145
|
+
._1di6ar1y:active{background-color:var(--ds-background-information-subtler-pressed,#8fb8f6)}
|
|
146
|
+
._1di6bkku:active{background-color:var(--ds-background-warning-subtler-pressed,#fbc828)}
|
|
147
|
+
._1di6d6jc:active{background-color:var(--ds-background-success-subtler-pressed,#b3df72)}
|
|
148
|
+
._1di6dpo3:active{background-color:var(--ds-background-accent-orange-subtler-pressed,#fbc828)}
|
|
149
|
+
._1di6jkmi:active{background-color:var(--ds-background-danger-subtler-pressed,#fd9891)}
|
|
150
|
+
._1di6nozp:active{background-color:var(--ds-background-selected-pressed,#8fb8f6)}
|
|
151
|
+
._1di6rwxf:active{background-color:var(--ds-background-accent-blue-subtler-pressed,#8fb8f6)}
|
|
152
|
+
._1di6ybhx:active{background-color:var(--ds-background-accent-green-subtler-pressed,#7ee2b8)}
|
|
153
|
+
@supports (color:oklch(from white l c h)){._1easxmrh{border-color:oklch(from var(--border-color) calc(l * var(--border-l-factor)) c h)!important}._1r9r1ss3>span:first-of-type>svg{color:oklch(from var(--icon-color) calc(l * var(--icon-l-factor)) c h)}._1lh71sfd:hover>span:first-of-type>svg{color:oklch(from var(--icon-color) calc(l * var(--icon-hovered-l-factor)) c h)}._11o31cha:active>span:first-of-type>svg{color:oklch(from var(--icon-color) calc(l * var(--icon-pressed-l-factor)) c h)}._75gv2l9f:hover{border-color:oklch(from var(--border-color) calc(l * var(--border-hovered-l-factor)) c h)!important}._ui3h1ct7:active{border-color:oklch(from var(--border-color) calc(l * var(--border-pressed-l-factor)) c h)!important}}
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
/* lozenge-base.tsx generated by @compiled/babel-plugin v0.38.1 */
|
|
2
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
3
|
+
import "./lozenge-base.compiled.css";
|
|
4
|
+
import * as React from 'react';
|
|
5
|
+
import { ax, ix } from "@compiled/react/runtime";
|
|
6
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
7
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
8
|
+
import { forwardRef, Fragment, memo } from 'react';
|
|
9
|
+
import { cx } from '@atlaskit/css';
|
|
10
|
+
import ChevronDownIcon from '@atlaskit/icon/core/chevron-down';
|
|
11
|
+
import Pressable from '@atlaskit/primitives/pressable';
|
|
12
|
+
import IconRenderer from './icon-renderer';
|
|
13
|
+
import { getThemeStyles, resolveLozengeColor } from './utils';
|
|
14
|
+
var styles = {
|
|
15
|
+
container: "_2rko12b0 _1reo15vq _18m915vq _zulp1b66 _1rjcv77o _18zr1b66 _189ee4h9 _1dqonqa1 _1h6d1j28 _1e0c116y _4cvr1h6o _vchhusvi _4t3igktf",
|
|
16
|
+
containerInteractive: "_80omtlke _mizu1v1w _1ah3v77o _ra3xnqa1 _128mdkaa",
|
|
17
|
+
containerSelected: "_bfhk15s3 _syaz6x5g _irr3ufnl _1di6nozp",
|
|
18
|
+
text: "_11c81o8v _1reo15vq _18m915vq _1bto1l2s _o5721q9c",
|
|
19
|
+
textSelected: "_syaz6x5g",
|
|
20
|
+
'semantic.success': "_1b3i4pcx _3wu01mps _bfhk14j0 _syaz1p1e",
|
|
21
|
+
'semantic.warning': "_1b3iervl _3wu01xiv _bfhk10f4 _syazmgs1",
|
|
22
|
+
'semantic.danger': "_1b3is4qr _3wu01bqt _bfhk18wg _syaz1blx",
|
|
23
|
+
'semantic.information': "_1b3iyhbg _3wu0vbh5 _bfhk8lbg _syaz1qd9",
|
|
24
|
+
'semantic.neutral': "_1b3i1cv2 _3wu01ihb _bfhki8nm _syazi7uo",
|
|
25
|
+
'semantic.discovery': "_1b3iqm1h _3wu0v30g _bfhke670 _syaz1g72",
|
|
26
|
+
'accent.red': "_1b3inbxb _3wu016y8 _bfhk1rtt _syazhwvp",
|
|
27
|
+
'accent.orange': "_1b3i1j6y _3wu01b2s _bfhk165s _syaz7i1p",
|
|
28
|
+
'accent.yellow': "_1b3i1oqg _3wu0feiv _bfhk1773 _syazekll",
|
|
29
|
+
'accent.lime': "_1b3i8645 _3wu0nf89 _bfhkz2ec _syaz1ik3",
|
|
30
|
+
'accent.green': "_1b3i17hp _3wu01crs _bfhk1wnw _syaz1y78",
|
|
31
|
+
'accent.teal': "_1b3i8uof _3wu01h3o _bfhk1a17 _syaz12v7",
|
|
32
|
+
'accent.blue': "_1b3i6txe _3wu01w55 _bfhk1dy8 _syaz1kyx",
|
|
33
|
+
'accent.purple': "_1b3iuq3u _3wu01hqq _bfhk1nm4 _syaz1mn1",
|
|
34
|
+
'accent.magenta': "_1b3iv8hk _3wu0uwd0 _bfhkv9ra _syaz1qur",
|
|
35
|
+
'accent.gray': "_1b3i1diz _3wu08yml _bfhkysee _syaz1tmo",
|
|
36
|
+
'interactive.semantic.success': "_irr31r82 _1di6d6jc",
|
|
37
|
+
'interactive.semantic.warning': "_irr31yx4 _1di6bkku",
|
|
38
|
+
'interactive.semantic.danger': "_irr370oi _1di6jkmi",
|
|
39
|
+
'interactive.semantic.information': "_irr315aw _1di6ar1y",
|
|
40
|
+
'interactive.semantic.neutral': "_irr3plhp _1di61gdz",
|
|
41
|
+
'interactive.semantic.discovery': "_irr3rumk _1di65usi",
|
|
42
|
+
'interactive.accent.red': "_irr3affd _1di61j5a",
|
|
43
|
+
'interactive.accent.orange': "_irr31ei0 _1di6dpo3",
|
|
44
|
+
'interactive.accent.yellow': "_irr31uw7 _1di61r9w",
|
|
45
|
+
'interactive.accent.lime': "_irr31gf0 _1di62kxc",
|
|
46
|
+
'interactive.accent.green': "_irr31e2h _1di6ybhx",
|
|
47
|
+
'interactive.accent.teal': "_irr3kwwr _1di61jb0",
|
|
48
|
+
'interactive.accent.blue': "_irr3815t _1di6rwxf",
|
|
49
|
+
'interactive.accent.purple': "_irr3attl _1di63nfk",
|
|
50
|
+
'interactive.accent.magenta': "_irr31axx _1di642ri",
|
|
51
|
+
'interactive.accent.gray': "_irr3wejn _1di618ut",
|
|
52
|
+
selectedInteractive: "_irr3ufnl _1di6nozp",
|
|
53
|
+
iconBorderFilter: "_1h6dzs9d _4uq11yqs _1k671038 _m71tr3uz _13muu67f _168qx19p _oe6mmko7 _189qkb7n _u8p61h4e _1t75u67f _hg5mr3uz _1f28f1ug _1xe213rw _1easxmrh _1r9r1ss3",
|
|
54
|
+
iconBorderInteractiveFilter: "_1iel6xdd _111i1h4e _18dicjiy _hyog26zw _fdt01r5k _46v5hwvj _ylgq1r5k _bg3q9by0 _196p1btq _18mn783i _l0666xdd _pclnn8xv _ockq1r5k _aewt1n8h _4cvx7ddx _1cp21w66 _q4zt1csi _1gqs1mvc _75gv2l9f _1lh71sfd _ui3h1ct7 _11o31cha"
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* __New Lozenge__
|
|
59
|
+
*
|
|
60
|
+
* A lozenge is a visual indicator used to highlight an item's status for quick recognition.
|
|
61
|
+
* This is the updated version with the new North Star visual language.
|
|
62
|
+
*/
|
|
63
|
+
var LozengeBase = /*#__PURE__*/memo( /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
64
|
+
var children = _ref.children,
|
|
65
|
+
testId = _ref.testId,
|
|
66
|
+
appearance = _ref.appearance,
|
|
67
|
+
iconBefore = _ref.iconBefore,
|
|
68
|
+
_ref$maxWidth = _ref.maxWidth,
|
|
69
|
+
maxWidth = _ref$maxWidth === void 0 ? 200 : _ref$maxWidth,
|
|
70
|
+
isSelected = _ref.isSelected,
|
|
71
|
+
onClick = _ref.onClick,
|
|
72
|
+
style = _ref.style,
|
|
73
|
+
analyticsContext = _ref.analyticsContext,
|
|
74
|
+
interactionName = _ref.interactionName;
|
|
75
|
+
var isInteractive = typeof onClick === 'function';
|
|
76
|
+
|
|
77
|
+
// Determine the effective color, with fallback logic for legacy appearances
|
|
78
|
+
var resolvedColor = resolveLozengeColor(appearance) || 'neutral';
|
|
79
|
+
var _getThemeStyles = getThemeStyles(resolvedColor),
|
|
80
|
+
category = _getThemeStyles.category,
|
|
81
|
+
key = _getThemeStyles.key;
|
|
82
|
+
var colorStyleKey = "".concat(category, ".").concat(key);
|
|
83
|
+
var interactiveStyleKey = "interactive.".concat(category, ".").concat(key);
|
|
84
|
+
var maxWidthValue = typeof maxWidth === 'string' ? maxWidth : "".concat(maxWidth, "px");
|
|
85
|
+
var maxWidthIsPc = typeof maxWidth === 'string' && /%$/.test(maxWidth);
|
|
86
|
+
var commonStyleOverrides = {
|
|
87
|
+
backgroundColor: style === null || style === void 0 ? void 0 : style.backgroundColor,
|
|
88
|
+
maxWidth: maxWidthIsPc ? maxWidth : '100%'
|
|
89
|
+
};
|
|
90
|
+
var innerContent = /*#__PURE__*/React.createElement(Fragment, null, iconBefore && /*#__PURE__*/React.createElement(IconRenderer, {
|
|
91
|
+
icon: iconBefore,
|
|
92
|
+
color: resolvedColor,
|
|
93
|
+
isSelected: isInteractive ? isSelected : undefined,
|
|
94
|
+
testId: testId && "".concat(testId, "--icon")
|
|
95
|
+
}), /*#__PURE__*/React.createElement("span", {
|
|
96
|
+
style: {
|
|
97
|
+
maxWidth: maxWidthIsPc ? '100%' : "calc(".concat(maxWidthValue, " - ", "var(--ds-space-100, 8px)", ")"),
|
|
98
|
+
color: style === null || style === void 0 ? void 0 : style.color
|
|
99
|
+
},
|
|
100
|
+
"data-testid": testId && "".concat(testId, "--text"),
|
|
101
|
+
className: ax([styles.text])
|
|
102
|
+
}, children), isInteractive && /*#__PURE__*/React.createElement(ChevronDownIcon, {
|
|
103
|
+
label: "",
|
|
104
|
+
size: "small",
|
|
105
|
+
color: isSelected ? "var(--ds-icon-selected, #1868DB)" : 'currentColor',
|
|
106
|
+
testId: testId && "".concat(testId, "--chevron")
|
|
107
|
+
}));
|
|
108
|
+
if (isInteractive) {
|
|
109
|
+
return /*#__PURE__*/React.createElement(Pressable, {
|
|
110
|
+
ref: ref,
|
|
111
|
+
xcss: cx(styles.container, !isSelected && styles.iconBorderFilter, !isSelected && styles.iconBorderInteractiveFilter, styles[colorStyleKey], styles[interactiveStyleKey], isSelected && styles.containerSelected),
|
|
112
|
+
onClick: onClick,
|
|
113
|
+
style: _objectSpread(_objectSpread({}, commonStyleOverrides), {}, {
|
|
114
|
+
// Specified because Pressable has a default border:none which overrides the border specified on the container
|
|
115
|
+
// eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop
|
|
116
|
+
border: "solid ".concat("var(--ds-border-width, 1px)", " ", isSelected ? "var(--ds-border-selected, #1868DB)" : 'transparent')
|
|
117
|
+
}),
|
|
118
|
+
testId: testId,
|
|
119
|
+
analyticsContext: analyticsContext,
|
|
120
|
+
interactionName: interactionName,
|
|
121
|
+
componentName: "LozengeDropdownTrigger"
|
|
122
|
+
}, innerContent);
|
|
123
|
+
}
|
|
124
|
+
return /*#__PURE__*/React.createElement("span", {
|
|
125
|
+
ref: ref,
|
|
126
|
+
style: commonStyleOverrides,
|
|
127
|
+
"data-testid": testId,
|
|
128
|
+
className: ax([styles.container, styles[colorStyleKey], styles.iconBorderFilter])
|
|
129
|
+
}, innerContent);
|
|
130
|
+
}));
|
|
131
|
+
export default LozengeBase;
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/* lozenge-dropdown-trigger.tsx generated by @compiled/babel-plugin v0.38.1 */
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import { ax, ix } from "@compiled/react/runtime";
|
|
4
|
+
import { forwardRef, memo } from 'react';
|
|
5
|
+
import __noop from '@atlaskit/ds-lib/noop';
|
|
6
|
+
import LozengeBase from './lozenge-base';
|
|
7
|
+
/**
|
|
8
|
+
* __Lozenge Dropdown Trigger__
|
|
9
|
+
*
|
|
10
|
+
* An interactive lozenge component that acts as a dropdown trigger.
|
|
11
|
+
* Built on LozengeBase with dropdown interaction patterns.
|
|
12
|
+
*
|
|
13
|
+
* - Supports all color variants from the lozenge
|
|
14
|
+
* - Shows selected state with dedicated color tokens
|
|
15
|
+
* - Includes a chevron icon on the right of the text
|
|
16
|
+
* - Built for dropdown menu interactions
|
|
17
|
+
* - Supports analytics events and UFO press interactions
|
|
18
|
+
*/
|
|
19
|
+
var LozengeDropdownTrigger = /*#__PURE__*/memo( /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
20
|
+
var children = _ref.children,
|
|
21
|
+
testId = _ref.testId,
|
|
22
|
+
_ref$appearance = _ref.appearance,
|
|
23
|
+
appearance = _ref$appearance === void 0 ? 'neutral' : _ref$appearance,
|
|
24
|
+
iconBefore = _ref.iconBefore,
|
|
25
|
+
_ref$isSelected = _ref.isSelected,
|
|
26
|
+
isSelected = _ref$isSelected === void 0 ? false : _ref$isSelected,
|
|
27
|
+
_ref$maxWidth = _ref.maxWidth,
|
|
28
|
+
maxWidth = _ref$maxWidth === void 0 ? 200 : _ref$maxWidth,
|
|
29
|
+
_ref$onClick = _ref.onClick,
|
|
30
|
+
onClick = _ref$onClick === void 0 ? __noop : _ref$onClick,
|
|
31
|
+
style = _ref.style,
|
|
32
|
+
analyticsContext = _ref.analyticsContext,
|
|
33
|
+
interactionName = _ref.interactionName;
|
|
34
|
+
return /*#__PURE__*/React.createElement(LozengeBase, {
|
|
35
|
+
ref: ref,
|
|
36
|
+
appearance: appearance,
|
|
37
|
+
iconBefore: iconBefore,
|
|
38
|
+
isSelected: isSelected,
|
|
39
|
+
maxWidth: maxWidth
|
|
40
|
+
// eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop
|
|
41
|
+
,
|
|
42
|
+
style: style,
|
|
43
|
+
testId: testId,
|
|
44
|
+
onClick: onClick,
|
|
45
|
+
analyticsContext: analyticsContext,
|
|
46
|
+
interactionName: interactionName
|
|
47
|
+
}, children);
|
|
48
|
+
}));
|
|
49
|
+
LozengeDropdownTrigger.displayName = 'LozengeDropdownTrigger';
|
|
50
|
+
export default LozengeDropdownTrigger;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/* lozenge.tsx generated by @compiled/babel-plugin v0.38.1 */
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import { ax, ix } from "@compiled/react/runtime";
|
|
4
|
+
import LozengeBase from './lozenge-base';
|
|
5
|
+
/**
|
|
6
|
+
* __Lozenge__
|
|
7
|
+
*
|
|
8
|
+
* A lozenge is a visual indicator used to highlight an item's status for quick recognition.
|
|
9
|
+
*
|
|
10
|
+
* - [Examples](https://atlassian.design/components/lozenge/examples)
|
|
11
|
+
* - [Code](https://atlassian.design/components/lozenge/code)
|
|
12
|
+
* - [Usage](https://atlassian.design/components/lozenge/usage)
|
|
13
|
+
*/
|
|
14
|
+
var Lozenge = function Lozenge(_ref) {
|
|
15
|
+
var _ref$appearance = _ref.appearance,
|
|
16
|
+
appearance = _ref$appearance === void 0 ? 'neutral' : _ref$appearance,
|
|
17
|
+
_ref$maxWidth = _ref.maxWidth,
|
|
18
|
+
maxWidth = _ref$maxWidth === void 0 ? 200 : _ref$maxWidth,
|
|
19
|
+
style = _ref.style,
|
|
20
|
+
testId = _ref.testId,
|
|
21
|
+
children = _ref.children,
|
|
22
|
+
iconBefore = _ref.iconBefore;
|
|
23
|
+
return /*#__PURE__*/React.createElement(LozengeBase, {
|
|
24
|
+
appearance: appearance,
|
|
25
|
+
iconBefore: iconBefore,
|
|
26
|
+
isInteractive: true,
|
|
27
|
+
maxWidth: maxWidth
|
|
28
|
+
// eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop
|
|
29
|
+
,
|
|
30
|
+
style: style,
|
|
31
|
+
testId: testId
|
|
32
|
+
}, children);
|
|
33
|
+
};
|
|
34
|
+
Lozenge.displayName = 'Lozenge';
|
|
35
|
+
export default Lozenge;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
// Map legacy appearance to new color values
|
|
2
|
+
var legacyAppearanceMap = {
|
|
3
|
+
default: 'neutral',
|
|
4
|
+
removed: 'danger',
|
|
5
|
+
inprogress: 'information',
|
|
6
|
+
new: 'discovery',
|
|
7
|
+
moved: 'warning'
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
// Resolve the lozenge color based on the appearance
|
|
11
|
+
export var resolveLozengeColor = function resolveLozengeColor() {
|
|
12
|
+
var _legacyAppearanceMap$;
|
|
13
|
+
var appearance = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'neutral';
|
|
14
|
+
if (appearance.startsWith('accent-')) {
|
|
15
|
+
return appearance;
|
|
16
|
+
}
|
|
17
|
+
return (_legacyAppearanceMap$ = legacyAppearanceMap[appearance]) !== null && _legacyAppearanceMap$ !== void 0 ? _legacyAppearanceMap$ : appearance;
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
// extract the category and key from the resolved color
|
|
21
|
+
export var getThemeStyles = function getThemeStyles(resolvedColor) {
|
|
22
|
+
var isAccent = resolvedColor.startsWith('accent-');
|
|
23
|
+
var category = isAccent ? 'accent' : 'semantic';
|
|
24
|
+
var key = isAccent ? resolvedColor.replace('accent-', '') : resolvedColor;
|
|
25
|
+
return {
|
|
26
|
+
category: category,
|
|
27
|
+
key: key
|
|
28
|
+
};
|
|
29
|
+
};
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1,2 +1,4 @@
|
|
|
1
1
|
export { default } from './lozenge';
|
|
2
2
|
export type { ThemeAppearance, LozengeProps } from './lozenge';
|
|
3
|
+
export { default as LozengeDropdownTrigger } from './new/lozenge-dropdown-trigger';
|
|
4
|
+
export type { NewLozengeProps, LozengeColor as NewLozengeColor, LozengeDropdownTriggerProps, } from './new/types';
|
package/dist/types/lozenge.d.ts
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
* @jsx jsx
|
|
4
4
|
*/
|
|
5
5
|
import { type CSSProperties, type ReactNode } from 'react';
|
|
6
|
+
import { type NewLozengeProps } from './new/types';
|
|
6
7
|
export type ThemeAppearance = 'default' | 'inprogress' | 'moved' | 'new' | 'removed' | 'success';
|
|
7
8
|
export interface LozengeProps {
|
|
8
9
|
/**
|
|
@@ -15,6 +16,7 @@ export interface LozengeProps {
|
|
|
15
16
|
children?: ReactNode;
|
|
16
17
|
/**
|
|
17
18
|
* Determines whether to apply the bold style or not.
|
|
19
|
+
* @deprecated This prop is deprecated and will be removed in an upcoming major release. Use Tag component for non-bold styles.
|
|
18
20
|
*/
|
|
19
21
|
isBold?: boolean;
|
|
20
22
|
/**
|
|
@@ -23,6 +25,7 @@ export interface LozengeProps {
|
|
|
23
25
|
maxWidth?: number | string;
|
|
24
26
|
/**
|
|
25
27
|
* Style customization to apply to the badge. Only `backgroundColor` and `color` are supported.
|
|
28
|
+
* @deprecated This prop is deprecated and will be removed in an upcoming major release. Accent colors will be supported through the `appearance` prop in a future release.
|
|
26
29
|
*/
|
|
27
30
|
style?: Pick<CSSProperties, 'backgroundColor' | 'color'>;
|
|
28
31
|
/**
|
|
@@ -33,13 +36,7 @@ export interface LozengeProps {
|
|
|
33
36
|
testId?: string;
|
|
34
37
|
}
|
|
35
38
|
/**
|
|
36
|
-
*
|
|
37
|
-
*
|
|
38
|
-
* A lozenge is a visual indicator used to highlight an item's status for quick recognition.
|
|
39
|
-
*
|
|
40
|
-
* - [Examples](https://atlassian.design/components/lozenge/examples)
|
|
41
|
-
* - [Code](https://atlassian.design/components/lozenge/code)
|
|
42
|
-
* - [Usage](https://atlassian.design/components/lozenge/usage)
|
|
39
|
+
* Wrapper component that switches between old and new Lozenge based on feature flag
|
|
43
40
|
*/
|
|
44
|
-
declare const
|
|
45
|
-
export default
|
|
41
|
+
declare const LozengeWrapper: import("react").MemoExoticComponent<(props: LozengeProps | NewLozengeProps) => JSX.Element>;
|
|
42
|
+
export default LozengeWrapper;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { type IconProp, type LozengeColor } from './types';
|
|
3
|
+
export interface IconRendererProps {
|
|
4
|
+
/**
|
|
5
|
+
* The icon component to render
|
|
6
|
+
*/
|
|
7
|
+
icon: IconProp;
|
|
8
|
+
/**
|
|
9
|
+
* The lozenge color to determine icon color
|
|
10
|
+
*/
|
|
11
|
+
color: LozengeColor;
|
|
12
|
+
/**
|
|
13
|
+
* Whether the lozenge is in a selected state
|
|
14
|
+
*/
|
|
15
|
+
isSelected?: boolean;
|
|
16
|
+
/**
|
|
17
|
+
* Test ID for the icon
|
|
18
|
+
*/
|
|
19
|
+
testId?: string;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Icon renderer for lozenge components
|
|
23
|
+
* Handles proper sizing and color theming for icons
|
|
24
|
+
*/
|
|
25
|
+
export declare const IconRenderer: ({ icon: Icon, color, isSelected, testId }: IconRendererProps) => React.JSX.Element;
|
|
26
|
+
export default IconRenderer;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { type LozengeDropdownTriggerProps, type NewLozengeProps } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* __New Lozenge__
|
|
4
|
+
*
|
|
5
|
+
* A lozenge is a visual indicator used to highlight an item's status for quick recognition.
|
|
6
|
+
* This is the updated version with the new North Star visual language.
|
|
7
|
+
*/
|
|
8
|
+
declare const LozengeBase: import("react").MemoExoticComponent<import("react").ForwardRefExoticComponent<(NewLozengeProps | LozengeDropdownTriggerProps) & import("react").RefAttributes<HTMLButtonElement | HTMLElement>>>;
|
|
9
|
+
export default LozengeBase;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { type LozengeDropdownTriggerProps } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* __Lozenge Dropdown Trigger__
|
|
4
|
+
*
|
|
5
|
+
* An interactive lozenge component that acts as a dropdown trigger.
|
|
6
|
+
* Built on LozengeBase with dropdown interaction patterns.
|
|
7
|
+
*
|
|
8
|
+
* - Supports all color variants from the lozenge
|
|
9
|
+
* - Shows selected state with dedicated color tokens
|
|
10
|
+
* - Includes a chevron icon on the right of the text
|
|
11
|
+
* - Built for dropdown menu interactions
|
|
12
|
+
* - Supports analytics events and UFO press interactions
|
|
13
|
+
*/
|
|
14
|
+
declare const LozengeDropdownTrigger: import("react").MemoExoticComponent<import("react").ForwardRefExoticComponent<LozengeDropdownTriggerProps & import("react").RefAttributes<HTMLElement>>>;
|
|
15
|
+
export default LozengeDropdownTrigger;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { type NewLozengeProps } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* __Lozenge__
|
|
4
|
+
*
|
|
5
|
+
* A lozenge is a visual indicator used to highlight an item's status for quick recognition.
|
|
6
|
+
*
|
|
7
|
+
* - [Examples](https://atlassian.design/components/lozenge/examples)
|
|
8
|
+
* - [Code](https://atlassian.design/components/lozenge/code)
|
|
9
|
+
* - [Usage](https://atlassian.design/components/lozenge/usage)
|
|
10
|
+
*/
|
|
11
|
+
declare const Lozenge: {
|
|
12
|
+
({ appearance, maxWidth, style, testId, children, iconBefore, }: NewLozengeProps): JSX.Element;
|
|
13
|
+
displayName: string;
|
|
14
|
+
};
|
|
15
|
+
export default Lozenge;
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import type { ComponentType, CSSProperties, ReactNode } from 'react';
|
|
2
|
+
import { type UIAnalyticsEvent } from '@atlaskit/analytics-next';
|
|
3
|
+
import { type NewIconProps } from '@atlaskit/icon/types';
|
|
4
|
+
import { type ThemeAppearance } from '../lozenge';
|
|
5
|
+
/**
|
|
6
|
+
* Semantic color types for the new lozenge API
|
|
7
|
+
*/
|
|
8
|
+
export type SemanticColor = 'success' | 'warning' | 'danger' | 'information' | 'neutral' | 'discovery';
|
|
9
|
+
/**
|
|
10
|
+
* Accent color types for the new lozenge API
|
|
11
|
+
*/
|
|
12
|
+
export type AccentColor = 'accent-red' | 'accent-orange' | 'accent-yellow' | 'accent-lime' | 'accent-green' | 'accent-teal' | 'accent-blue' | 'accent-purple' | 'accent-magenta' | 'accent-gray';
|
|
13
|
+
/**
|
|
14
|
+
* Union type of all supported color variants
|
|
15
|
+
*/
|
|
16
|
+
export type LozengeColor = SemanticColor | AccentColor;
|
|
17
|
+
/**
|
|
18
|
+
* Icon component prop type
|
|
19
|
+
*/
|
|
20
|
+
export type IconProp = ComponentType<Omit<NewIconProps, 'spacing'>>;
|
|
21
|
+
/**
|
|
22
|
+
* Props for the NewLozenge component
|
|
23
|
+
*/
|
|
24
|
+
export interface NewLozengeProps {
|
|
25
|
+
/**
|
|
26
|
+
* The appearance of the lozenge. Supports both legacy semantic appearances and new accent/semantic colors.
|
|
27
|
+
* Legacy appearances (default, success, removed, inprogress, new, moved) are automatically mapped to the new semantic colors.
|
|
28
|
+
*/
|
|
29
|
+
appearance?: ThemeAppearance | LozengeColor;
|
|
30
|
+
/**
|
|
31
|
+
* Elements to be rendered inside the lozenge. This should ideally be just a word or two.
|
|
32
|
+
*/
|
|
33
|
+
children?: ReactNode;
|
|
34
|
+
/**
|
|
35
|
+
* Icon to display before the text content. Should be an ADS icon component.
|
|
36
|
+
*/
|
|
37
|
+
iconBefore?: IconProp;
|
|
38
|
+
/**
|
|
39
|
+
* Whether the lozenge is interactive (dropdown trigger). Only used internally.
|
|
40
|
+
* @internal
|
|
41
|
+
*/
|
|
42
|
+
isInteractive?: boolean;
|
|
43
|
+
/**
|
|
44
|
+
* Whether the lozenge is selected (for dropdown triggers). Only used internally.
|
|
45
|
+
* @internal
|
|
46
|
+
*/
|
|
47
|
+
isSelected?: boolean;
|
|
48
|
+
/**
|
|
49
|
+
* max-width of lozenge container. Default to 200px.
|
|
50
|
+
*/
|
|
51
|
+
maxWidth?: number | string;
|
|
52
|
+
/**
|
|
53
|
+
* Style customization to apply to the lozenge. Only `backgroundColor` and `color` are supported.
|
|
54
|
+
* @deprecated This prop is deprecated and will be removed in a future version.
|
|
55
|
+
*/
|
|
56
|
+
style?: Pick<CSSProperties, 'backgroundColor' | 'color'>;
|
|
57
|
+
/**
|
|
58
|
+
* Callback fired when the lozenge is clicked (only for interactive lozenges).
|
|
59
|
+
* The second argument provides an Atlaskit UI analytics event.
|
|
60
|
+
* @internal
|
|
61
|
+
*/
|
|
62
|
+
onClick?: (event: React.MouseEvent<HTMLButtonElement>, analyticsEvent: UIAnalyticsEvent) => void;
|
|
63
|
+
/**
|
|
64
|
+
* Additional information to be included in the `context` of Atlaskit analytics events.
|
|
65
|
+
* @internal
|
|
66
|
+
*/
|
|
67
|
+
analyticsContext?: Record<string, any>;
|
|
68
|
+
/**
|
|
69
|
+
* An optional name used to identify events for React UFO press interactions.
|
|
70
|
+
* @internal
|
|
71
|
+
*/
|
|
72
|
+
interactionName?: string;
|
|
73
|
+
/**
|
|
74
|
+
* A `testId` prop is provided for specified elements, which is a unique
|
|
75
|
+
* string that appears as a data attribute `data-testid` in the rendered code,
|
|
76
|
+
* serving as a hook for automated tests
|
|
77
|
+
*/
|
|
78
|
+
testId?: string;
|
|
79
|
+
/**
|
|
80
|
+
* @deprecated This prop is deprecated and will be removed. Use Tag component for non-bold styles.
|
|
81
|
+
*/
|
|
82
|
+
isBold?: boolean;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Props for the LozengeDropdownTrigger component
|
|
86
|
+
*/
|
|
87
|
+
export interface LozengeDropdownTriggerProps extends Omit<NewLozengeProps, 'onClick' | 'isInteractive'> {
|
|
88
|
+
/**
|
|
89
|
+
* Whether the dropdown is currently selected/open.
|
|
90
|
+
*/
|
|
91
|
+
isSelected?: boolean;
|
|
92
|
+
/**
|
|
93
|
+
* Callback fired when the trigger is clicked. The second argument provides an Atlaskit UI analytics event that can be fired to a listening channel. See the [analytics-next documentation](https://atlaskit.atlassian.com/packages/analytics/analytics-next) for more information.
|
|
94
|
+
*/
|
|
95
|
+
onClick?: (event: React.MouseEvent<HTMLButtonElement>, analyticsEvent: UIAnalyticsEvent) => void;
|
|
96
|
+
/**
|
|
97
|
+
* Additional information to be included in the `context` of Atlaskit analytics events that come from the lozenge dropdown trigger.
|
|
98
|
+
*/
|
|
99
|
+
analyticsContext?: Record<string, any>;
|
|
100
|
+
/**
|
|
101
|
+
* An optional name used to identify events for React UFO (Unified Frontend Observability) press interactions. For more information, see [React UFO integration](https://go.atlassian.com/react-ufo-dst-integration).
|
|
102
|
+
*/
|
|
103
|
+
interactionName?: string;
|
|
104
|
+
}
|
|
@@ -1,2 +1,4 @@
|
|
|
1
1
|
export { default } from './lozenge';
|
|
2
2
|
export type { ThemeAppearance, LozengeProps } from './lozenge';
|
|
3
|
+
export { default as LozengeDropdownTrigger } from './new/lozenge-dropdown-trigger';
|
|
4
|
+
export type { NewLozengeProps, LozengeColor as NewLozengeColor, LozengeDropdownTriggerProps, } from './new/types';
|