@atlaskit/lozenge 13.3.4 → 13.4.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 +16 -0
- package/dist/cjs/new/icon-renderer.js +6 -11
- package/dist/cjs/new/lozenge-base.compiled.css +8 -3
- package/dist/cjs/new/lozenge-base.js +32 -9
- package/dist/cjs/new/lozenge-dropdown-trigger.js +3 -0
- package/dist/cjs/new/lozenge.js +3 -0
- package/dist/es2019/new/icon-renderer.js +6 -11
- package/dist/es2019/new/lozenge-base.compiled.css +8 -3
- package/dist/es2019/new/lozenge-base.js +31 -9
- package/dist/es2019/new/lozenge-dropdown-trigger.js +2 -0
- package/dist/es2019/new/lozenge.js +2 -0
- package/dist/esm/new/icon-renderer.js +6 -11
- package/dist/esm/new/lozenge-base.compiled.css +8 -3
- package/dist/esm/new/lozenge-base.js +32 -9
- package/dist/esm/new/lozenge-dropdown-trigger.js +3 -0
- package/dist/esm/new/lozenge.js +3 -0
- package/dist/types/index.d.ts +1 -1
- package/dist/types/new/icon-renderer.d.ts +5 -5
- package/dist/types/new/lozenge.d.ts +1 -1
- package/dist/types/new/types.d.ts +8 -0
- package/dist/types-ts4.5/index.d.ts +1 -1
- package/dist/types-ts4.5/new/icon-renderer.d.ts +5 -5
- package/dist/types-ts4.5/new/lozenge.d.ts +1 -1
- package/dist/types-ts4.5/new/types.d.ts +8 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,21 @@
|
|
|
1
1
|
# @atlaskit/lozenge
|
|
2
2
|
|
|
3
|
+
## 13.4.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [`396504e5d05d4`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/396504e5d05d4) -
|
|
8
|
+
[ux] Changed to use pressed state colors on selected lozenge dropdown trigger to keep the semantic
|
|
9
|
+
colors.
|
|
10
|
+
|
|
11
|
+
## 13.4.0
|
|
12
|
+
|
|
13
|
+
### Minor Changes
|
|
14
|
+
|
|
15
|
+
- [`2828d1ffb6a1e`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/2828d1ffb6a1e) -
|
|
16
|
+
Added a `spacing` prop which takes `default` and `spacious`. `spacious` increases padding and sets
|
|
17
|
+
the lozenge height to 32px.
|
|
18
|
+
|
|
3
19
|
## 13.3.4
|
|
4
20
|
|
|
5
21
|
### Patch Changes
|
|
@@ -7,13 +7,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
exports.default = exports.IconRenderer = void 0;
|
|
8
8
|
var _react = _interopRequireDefault(require("react"));
|
|
9
9
|
// Map lozenge colors to appropriate icon colors
|
|
10
|
-
var getIconColor = function getIconColor(color
|
|
11
|
-
//
|
|
12
|
-
if (isSelected) {
|
|
13
|
-
return "var(--ds-icon-selected, #1868DB)";
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
// For semantic colors, use corresponding semantic text colors
|
|
10
|
+
var getIconColor = function getIconColor(color) {
|
|
11
|
+
// For semantic colors, use corresponding semantic icon colors
|
|
17
12
|
switch (color) {
|
|
18
13
|
case 'success':
|
|
19
14
|
return "var(--ds-icon-success, #6A9A23)";
|
|
@@ -60,13 +55,13 @@ var getIconColor = function getIconColor(color, isSelected) {
|
|
|
60
55
|
var IconRenderer = exports.IconRenderer = function IconRenderer(_ref) {
|
|
61
56
|
var Icon = _ref.icon,
|
|
62
57
|
color = _ref.color,
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
var iconColor = getIconColor(color
|
|
58
|
+
testId = _ref.testId,
|
|
59
|
+
size = _ref.size;
|
|
60
|
+
var iconColor = getIconColor(color);
|
|
66
61
|
return /*#__PURE__*/_react.default.createElement(Icon, {
|
|
67
62
|
color: iconColor,
|
|
68
63
|
label: "",
|
|
69
|
-
size:
|
|
64
|
+
size: size,
|
|
70
65
|
testId: testId
|
|
71
66
|
});
|
|
72
67
|
};
|
|
@@ -1,12 +1,17 @@
|
|
|
1
1
|
|
|
2
|
+
._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
3
|
._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
4
|
._2rko12b0{border-radius:var(--ds-radius-small,4px)}
|
|
5
|
+
._2rko1qi0{border-radius:var(--ds-radius-medium,6px)}
|
|
6
|
+
._zulp12x7{gap:var(--ds-space-075,6px)}
|
|
4
7
|
._zulp1b66{gap:var(--ds-space-050,4px)}
|
|
5
8
|
._189ee4h9{border-width:var(--ds-border-width,1px)}
|
|
6
9
|
._18zr1b66{padding-inline:var(--ds-space-050,4px)}
|
|
10
|
+
._18zrutpp{padding-inline:var(--ds-space-150,9pt)}
|
|
7
11
|
._1dqonqa1{border-style:solid}
|
|
8
12
|
._1h6d1j28{border-color:transparent}
|
|
9
13
|
._1h6dzs9d{border-color:color-mix(in oklch,var(--border-color) 100%,var(--cm-border-color) var(--cm-border-value))!important}
|
|
14
|
+
._1rjc1b66{padding-block:var(--ds-space-050,4px)}
|
|
10
15
|
._1rjcv77o{padding-block:var(--ds-space-025,2px)}._111i1h4e{--icon-pressed-l-factor:0.7}
|
|
11
16
|
._13muu67f{--cm-border-color:#fff}
|
|
12
17
|
._168qx19p{--cm-icon-value:20%}
|
|
@@ -35,6 +40,8 @@
|
|
|
35
40
|
._1iel6xdd{--icon-hovered-l-factor:0.8}
|
|
36
41
|
._1k671038{--border-l-factor:1.33}
|
|
37
42
|
._1reo15vq{overflow-x:hidden}
|
|
43
|
+
._1tkeviql{min-height:2rem}
|
|
44
|
+
._1xe213kw>span:first-of-type>svg{color:oklch(from var(--icon-color) calc(l * var(--icon-pressed-l-factor)) c h)!important}
|
|
38
45
|
._1xe213rw>span:first-of-type>svg{color:color-mix(in oklch,var(--icon-color) 100%,var(--cm-icon-color) var(--cm-icon-value))}
|
|
39
46
|
._3wu016y8{--border-color:var(--ds-border-accent-red,#e2483d)}
|
|
40
47
|
._3wu01b2s{--border-color:var(--ds-border-accent-orange,#e06c00)}
|
|
@@ -59,7 +66,6 @@
|
|
|
59
66
|
._80omtlke{cursor:pointer}
|
|
60
67
|
._bfhk10f4{background-color:var(--ds-background-warning-subtler,#fce4a6)}
|
|
61
68
|
._bfhk14j0{background-color:var(--ds-background-success-subtler,#d3f1a7)}
|
|
62
|
-
._bfhk15s3{background-color:var(--ds-background-selected,#e9f2fe)}
|
|
63
69
|
._bfhk165s{background-color:var(--ds-background-accent-orange-subtler,#fce4a6)}
|
|
64
70
|
._bfhk1773{background-color:var(--ds-background-accent-yellow-subtler,#f5e989)}
|
|
65
71
|
._bfhk18wg{background-color:var(--ds-background-danger-subtler,#ffd5d2)}
|
|
@@ -77,6 +83,7 @@
|
|
|
77
83
|
._bg3q9by0{--cm-border-pressed-value:10%}
|
|
78
84
|
._fdt01r5k{--cm-icon-hovered-value:30%}
|
|
79
85
|
._hyog26zw{--border-pressed-l-factor:1.08}
|
|
86
|
+
._k48p1wq8{font-weight:var(--ds-font-weight-medium,500)}
|
|
80
87
|
._m71tr3uz{--cm-icon-color:#000}
|
|
81
88
|
._o5721q9c{white-space:nowrap}
|
|
82
89
|
._oe6mmko7{--cm-border-value:45%}
|
|
@@ -130,7 +137,6 @@
|
|
|
130
137
|
._irr3kwwr:hover{background-color:var(--ds-background-accent-teal-subtler-hovered,#b1e4f7)}
|
|
131
138
|
._irr3plhp:hover{background-color:var(--ds-background-neutral-hovered,#0b120e24)}
|
|
132
139
|
._irr3rumk:hover{background-color:var(--ds-background-discovery-subtler-hovered,#e3bdfa)}
|
|
133
|
-
._irr3ufnl:hover{background-color:var(--ds-background-selected-hovered,#cfe1fd)}
|
|
134
140
|
._irr3wejn:hover{background-color:var(--ds-background-accent-gray-subtlest-hovered,#dddee1)}
|
|
135
141
|
._q4zt1csi:active{border-color:color-mix(in oklch,var(--border-color) 100%,var(--cm-border-color) var(--cm-border-pressed-value))!important}
|
|
136
142
|
._1di618ut:active{background-color:var(--ds-background-accent-gray-subtlest-pressed,#b7b9be)}
|
|
@@ -147,7 +153,6 @@
|
|
|
147
153
|
._1di6d6jc:active{background-color:var(--ds-background-success-subtler-pressed,#b3df72)}
|
|
148
154
|
._1di6dpo3:active{background-color:var(--ds-background-accent-orange-subtler-pressed,#fbc828)}
|
|
149
155
|
._1di6jkmi:active{background-color:var(--ds-background-danger-subtler-pressed,#fd9891)}
|
|
150
|
-
._1di6nozp:active{background-color:var(--ds-background-selected-pressed,#8fb8f6)}
|
|
151
156
|
._1di6rwxf:active{background-color:var(--ds-background-accent-blue-subtler-pressed,#8fb8f6)}
|
|
152
157
|
._1di6ybhx:active{background-color:var(--ds-background-accent-green-subtler-pressed,#7ee2b8)}
|
|
153
158
|
@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}}
|
|
@@ -20,11 +20,31 @@ var _utils = require("./utils");
|
|
|
20
20
|
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); }
|
|
21
21
|
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; }
|
|
22
22
|
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) { (0, _defineProperty2.default)(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; }
|
|
23
|
+
// Get the pressed background color for the selected lozenge dropdown trigger
|
|
24
|
+
var pressedBackgroundMapping = {
|
|
25
|
+
success: "var(--ds-background-success-subtler-pressed, #B3DF72)",
|
|
26
|
+
warning: "var(--ds-background-warning-subtler-pressed, #FBC828)",
|
|
27
|
+
danger: "var(--ds-background-danger-subtler-pressed, #FD9891)",
|
|
28
|
+
information: "var(--ds-background-information-subtler-pressed, #8FB8F6)",
|
|
29
|
+
neutral: "var(--ds-background-neutral-pressed, #080F214A)",
|
|
30
|
+
discovery: "var(--ds-background-discovery-subtler-pressed, #D8A0F7)",
|
|
31
|
+
'accent-red': "var(--ds-background-accent-red-subtler-pressed, #FD9891)",
|
|
32
|
+
'accent-orange': "var(--ds-background-accent-orange-subtler-pressed, #FBC828)",
|
|
33
|
+
'accent-yellow': "var(--ds-background-accent-yellow-subtler-pressed, #EED12B)",
|
|
34
|
+
'accent-lime': "var(--ds-background-accent-lime-subtler-pressed, #B3DF72)",
|
|
35
|
+
'accent-green': "var(--ds-background-accent-green-subtler-pressed, #7EE2B8)",
|
|
36
|
+
'accent-teal': "var(--ds-background-accent-teal-subtler-pressed, #9DD9EE)",
|
|
37
|
+
'accent-blue': "var(--ds-background-accent-blue-subtler-pressed, #8FB8F6)",
|
|
38
|
+
'accent-purple': "var(--ds-background-accent-purple-subtler-pressed, #D8A0F7)",
|
|
39
|
+
'accent-magenta': "var(--ds-background-accent-magenta-subtler-pressed, #F797D2)",
|
|
40
|
+
'accent-gray': "var(--ds-background-accent-gray-subtlest-pressed, #B7B9BE)"
|
|
41
|
+
};
|
|
23
42
|
var styles = {
|
|
24
43
|
container: "_2rko12b0 _1reo15vq _18m915vq _zulp1b66 _1rjcv77o _18zr1b66 _189ee4h9 _1dqonqa1 _1h6d1j28 _1e0c116y _4cvr1h6o _vchhusvi _4t3i1k92",
|
|
44
|
+
containerSpacious: "_2rko1qi0 _zulp12x7 _1rjc1b66 _18zrutpp _1tkeviql",
|
|
25
45
|
containerInteractive: "_80omtlke _mizu1v1w _1ah3v77o _ra3xnqa1 _128mdkaa",
|
|
26
|
-
containerSelected: "_bfhk15s3 _syaz6x5g _irr3ufnl _1di6nozp",
|
|
27
46
|
text: "_11c8wadc _1reo15vq _18m915vq _1bto1l2s _o5721q9c",
|
|
47
|
+
textSpacious: "_11c8fhey _k48p1wq8",
|
|
28
48
|
textSelected: "_syaz6x5g",
|
|
29
49
|
'semantic.success': "_1b3i4pcx _3wu01mps _bfhk14j0 _syaz1p1e",
|
|
30
50
|
'semantic.warning': "_1b3iervl _3wu01xiv _bfhk10f4 _syazmgs1",
|
|
@@ -58,9 +78,9 @@ var styles = {
|
|
|
58
78
|
'interactive.accent.purple': "_irr3attl _1di63nfk",
|
|
59
79
|
'interactive.accent.magenta': "_irr31axx _1di642ri",
|
|
60
80
|
'interactive.accent.gray': "_irr3wejn _1di618ut",
|
|
61
|
-
selectedInteractive: "_irr3ufnl _1di6nozp",
|
|
62
81
|
iconBorderFilter: "_1h6dzs9d _4uq11yqs _1k671038 _m71tr3uz _13muu67f _168qx19p _oe6mmko7 _189qkb7n _u8p61h4e _1t75u67f _hg5mr3uz _1f28f1ug _1xe213rw _1easxmrh _1r9r1ss3",
|
|
63
|
-
iconBorderInteractiveFilter: "_1iel6xdd _111i1h4e _18dicjiy _hyog26zw _fdt01r5k _46v5hwvj _ylgq1r5k _bg3q9by0 _196p1btq _18mn783i _l0666xdd _pclnn8xv _ockq1r5k _aewt1n8h _4cvx7ddx _1cp21w66 _q4zt1csi _1gqs1mvc _75gv2l9f _1lh71sfd _ui3h1ct7 _11o31cha"
|
|
82
|
+
iconBorderInteractiveFilter: "_1iel6xdd _111i1h4e _18dicjiy _hyog26zw _fdt01r5k _46v5hwvj _ylgq1r5k _bg3q9by0 _196p1btq _18mn783i _l0666xdd _pclnn8xv _ockq1r5k _aewt1n8h _4cvx7ddx _1cp21w66 _q4zt1csi _1gqs1mvc _75gv2l9f _1lh71sfd _ui3h1ct7 _11o31cha",
|
|
83
|
+
containerSelected: "_1xe213kw"
|
|
64
84
|
};
|
|
65
85
|
|
|
66
86
|
/**
|
|
@@ -76,6 +96,8 @@ var LozengeBase = /*#__PURE__*/(0, _react.memo)( /*#__PURE__*/(0, _react.forward
|
|
|
76
96
|
iconBefore = _ref.iconBefore,
|
|
77
97
|
_ref$maxWidth = _ref.maxWidth,
|
|
78
98
|
maxWidth = _ref$maxWidth === void 0 ? 200 : _ref$maxWidth,
|
|
99
|
+
_ref$spacing = _ref.spacing,
|
|
100
|
+
spacing = _ref$spacing === void 0 ? 'default' : _ref$spacing,
|
|
79
101
|
isSelected = _ref.isSelected,
|
|
80
102
|
onClick = _ref.onClick,
|
|
81
103
|
style = _ref.style,
|
|
@@ -97,9 +119,9 @@ var LozengeBase = /*#__PURE__*/(0, _react.memo)( /*#__PURE__*/(0, _react.forward
|
|
|
97
119
|
maxWidth: maxWidthIsPc ? maxWidth : '100%'
|
|
98
120
|
};
|
|
99
121
|
var innerContent = /*#__PURE__*/React.createElement(_react.Fragment, null, iconBefore && /*#__PURE__*/React.createElement(_iconRenderer.default, {
|
|
122
|
+
size: spacing === 'spacious' ? 'medium' : 'small',
|
|
100
123
|
icon: iconBefore,
|
|
101
124
|
color: resolvedColor,
|
|
102
|
-
isSelected: isInteractive ? isSelected : undefined,
|
|
103
125
|
testId: testId && "".concat(testId, "--icon")
|
|
104
126
|
}), /*#__PURE__*/React.createElement("span", {
|
|
105
127
|
style: {
|
|
@@ -107,22 +129,23 @@ var LozengeBase = /*#__PURE__*/(0, _react.memo)( /*#__PURE__*/(0, _react.forward
|
|
|
107
129
|
color: style === null || style === void 0 ? void 0 : style.color
|
|
108
130
|
},
|
|
109
131
|
"data-testid": testId && "".concat(testId, "--text"),
|
|
110
|
-
className: (0, _runtime.ax)([styles.text])
|
|
132
|
+
className: (0, _runtime.ax)([styles.text, spacing === 'spacious' && styles.textSpacious])
|
|
111
133
|
}, children), isInteractive && /*#__PURE__*/React.createElement(_chevronDown.default, {
|
|
112
134
|
label: "",
|
|
113
135
|
size: "small",
|
|
114
|
-
color:
|
|
136
|
+
color: 'currentColor',
|
|
115
137
|
testId: testId && "".concat(testId, "--chevron")
|
|
116
138
|
}));
|
|
117
139
|
if (isInteractive) {
|
|
118
140
|
return /*#__PURE__*/React.createElement(_pressable.default, {
|
|
119
141
|
ref: ref,
|
|
120
|
-
xcss: (0, _css.cx)(styles.container,
|
|
142
|
+
xcss: (0, _css.cx)(styles.container, spacing === 'spacious' && styles.containerSpacious, !isSelected && styles.iconBorderFilter, styles.iconBorderInteractiveFilter, styles[colorStyleKey], styles[interactiveStyleKey], isSelected && styles.containerSelected),
|
|
121
143
|
onClick: onClick,
|
|
122
144
|
style: _objectSpread(_objectSpread({}, commonStyleOverrides), {}, {
|
|
123
145
|
// Specified because Pressable has a default border:none which overrides the border specified on the container
|
|
124
146
|
// eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop
|
|
125
|
-
border: "solid ".concat("var(--ds-border-width, 1px)", " ", isSelected ?
|
|
147
|
+
border: "solid ".concat("var(--ds-border-width, 1px)", " ", isSelected ? 'oklch(from var(--border-color) calc(l * var(--border-pressed-l-factor)) c h) !important' : 'transparent'),
|
|
148
|
+
backgroundColor: isSelected ? pressedBackgroundMapping[resolvedColor] : undefined
|
|
126
149
|
}),
|
|
127
150
|
testId: testId,
|
|
128
151
|
analyticsContext: analyticsContext,
|
|
@@ -134,7 +157,7 @@ var LozengeBase = /*#__PURE__*/(0, _react.memo)( /*#__PURE__*/(0, _react.forward
|
|
|
134
157
|
ref: ref,
|
|
135
158
|
style: commonStyleOverrides,
|
|
136
159
|
"data-testid": testId,
|
|
137
|
-
className: (0, _runtime.ax)([styles.container, styles[colorStyleKey], styles.iconBorderFilter])
|
|
160
|
+
className: (0, _runtime.ax)([styles.container, spacing === 'spacious' && styles.containerSpacious, styles[colorStyleKey], styles.iconBorderFilter])
|
|
138
161
|
}, innerContent);
|
|
139
162
|
}));
|
|
140
163
|
var _default = exports.default = LozengeBase;
|
|
@@ -30,6 +30,8 @@ var LozengeDropdownTrigger = /*#__PURE__*/(0, _react.memo)( /*#__PURE__*/(0, _re
|
|
|
30
30
|
testId = _ref.testId,
|
|
31
31
|
_ref$appearance = _ref.appearance,
|
|
32
32
|
appearance = _ref$appearance === void 0 ? 'neutral' : _ref$appearance,
|
|
33
|
+
_ref$spacing = _ref.spacing,
|
|
34
|
+
spacing = _ref$spacing === void 0 ? 'default' : _ref$spacing,
|
|
33
35
|
iconBefore = _ref.iconBefore,
|
|
34
36
|
_ref$isSelected = _ref.isSelected,
|
|
35
37
|
isSelected = _ref$isSelected === void 0 ? false : _ref$isSelected,
|
|
@@ -43,6 +45,7 @@ var LozengeDropdownTrigger = /*#__PURE__*/(0, _react.memo)( /*#__PURE__*/(0, _re
|
|
|
43
45
|
return /*#__PURE__*/React.createElement(_lozengeBase.default, {
|
|
44
46
|
ref: ref,
|
|
45
47
|
appearance: appearance,
|
|
48
|
+
spacing: spacing,
|
|
46
49
|
iconBefore: iconBefore,
|
|
47
50
|
isSelected: isSelected,
|
|
48
51
|
maxWidth: maxWidth
|
package/dist/cjs/new/lozenge.js
CHANGED
|
@@ -23,6 +23,8 @@ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r
|
|
|
23
23
|
var Lozenge = function Lozenge(_ref) {
|
|
24
24
|
var _ref$appearance = _ref.appearance,
|
|
25
25
|
appearance = _ref$appearance === void 0 ? 'neutral' : _ref$appearance,
|
|
26
|
+
_ref$spacing = _ref.spacing,
|
|
27
|
+
spacing = _ref$spacing === void 0 ? 'default' : _ref$spacing,
|
|
26
28
|
_ref$maxWidth = _ref.maxWidth,
|
|
27
29
|
maxWidth = _ref$maxWidth === void 0 ? 200 : _ref$maxWidth,
|
|
28
30
|
style = _ref.style,
|
|
@@ -31,6 +33,7 @@ var Lozenge = function Lozenge(_ref) {
|
|
|
31
33
|
iconBefore = _ref.iconBefore;
|
|
32
34
|
return /*#__PURE__*/React.createElement(_lozengeBase.default, {
|
|
33
35
|
appearance: appearance,
|
|
36
|
+
spacing: spacing,
|
|
34
37
|
iconBefore: iconBefore,
|
|
35
38
|
maxWidth: maxWidth
|
|
36
39
|
// eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop
|
|
@@ -1,12 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
// Map lozenge colors to appropriate icon colors
|
|
3
|
-
const getIconColor =
|
|
4
|
-
//
|
|
5
|
-
if (isSelected) {
|
|
6
|
-
return "var(--ds-icon-selected, #1868DB)";
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
// For semantic colors, use corresponding semantic text colors
|
|
3
|
+
const getIconColor = color => {
|
|
4
|
+
// For semantic colors, use corresponding semantic icon colors
|
|
10
5
|
switch (color) {
|
|
11
6
|
case 'success':
|
|
12
7
|
return "var(--ds-icon-success, #6A9A23)";
|
|
@@ -53,14 +48,14 @@ const getIconColor = (color, isSelected) => {
|
|
|
53
48
|
export const IconRenderer = ({
|
|
54
49
|
icon: Icon,
|
|
55
50
|
color,
|
|
56
|
-
|
|
57
|
-
|
|
51
|
+
testId,
|
|
52
|
+
size
|
|
58
53
|
}) => {
|
|
59
|
-
const iconColor = getIconColor(color
|
|
54
|
+
const iconColor = getIconColor(color);
|
|
60
55
|
return /*#__PURE__*/React.createElement(Icon, {
|
|
61
56
|
color: iconColor,
|
|
62
57
|
label: "",
|
|
63
|
-
size:
|
|
58
|
+
size: size,
|
|
64
59
|
testId: testId
|
|
65
60
|
});
|
|
66
61
|
};
|
|
@@ -1,12 +1,17 @@
|
|
|
1
1
|
|
|
2
|
+
._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
3
|
._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
4
|
._2rko12b0{border-radius:var(--ds-radius-small,4px)}
|
|
5
|
+
._2rko1qi0{border-radius:var(--ds-radius-medium,6px)}
|
|
6
|
+
._zulp12x7{gap:var(--ds-space-075,6px)}
|
|
4
7
|
._zulp1b66{gap:var(--ds-space-050,4px)}
|
|
5
8
|
._189ee4h9{border-width:var(--ds-border-width,1px)}
|
|
6
9
|
._18zr1b66{padding-inline:var(--ds-space-050,4px)}
|
|
10
|
+
._18zrutpp{padding-inline:var(--ds-space-150,9pt)}
|
|
7
11
|
._1dqonqa1{border-style:solid}
|
|
8
12
|
._1h6d1j28{border-color:transparent}
|
|
9
13
|
._1h6dzs9d{border-color:color-mix(in oklch,var(--border-color) 100%,var(--cm-border-color) var(--cm-border-value))!important}
|
|
14
|
+
._1rjc1b66{padding-block:var(--ds-space-050,4px)}
|
|
10
15
|
._1rjcv77o{padding-block:var(--ds-space-025,2px)}._111i1h4e{--icon-pressed-l-factor:0.7}
|
|
11
16
|
._13muu67f{--cm-border-color:#fff}
|
|
12
17
|
._168qx19p{--cm-icon-value:20%}
|
|
@@ -35,6 +40,8 @@
|
|
|
35
40
|
._1iel6xdd{--icon-hovered-l-factor:0.8}
|
|
36
41
|
._1k671038{--border-l-factor:1.33}
|
|
37
42
|
._1reo15vq{overflow-x:hidden}
|
|
43
|
+
._1tkeviql{min-height:2rem}
|
|
44
|
+
._1xe213kw>span:first-of-type>svg{color:oklch(from var(--icon-color) calc(l * var(--icon-pressed-l-factor)) c h)!important}
|
|
38
45
|
._1xe213rw>span:first-of-type>svg{color:color-mix(in oklch,var(--icon-color) 100%,var(--cm-icon-color) var(--cm-icon-value))}
|
|
39
46
|
._3wu016y8{--border-color:var(--ds-border-accent-red,#e2483d)}
|
|
40
47
|
._3wu01b2s{--border-color:var(--ds-border-accent-orange,#e06c00)}
|
|
@@ -59,7 +66,6 @@
|
|
|
59
66
|
._80omtlke{cursor:pointer}
|
|
60
67
|
._bfhk10f4{background-color:var(--ds-background-warning-subtler,#fce4a6)}
|
|
61
68
|
._bfhk14j0{background-color:var(--ds-background-success-subtler,#d3f1a7)}
|
|
62
|
-
._bfhk15s3{background-color:var(--ds-background-selected,#e9f2fe)}
|
|
63
69
|
._bfhk165s{background-color:var(--ds-background-accent-orange-subtler,#fce4a6)}
|
|
64
70
|
._bfhk1773{background-color:var(--ds-background-accent-yellow-subtler,#f5e989)}
|
|
65
71
|
._bfhk18wg{background-color:var(--ds-background-danger-subtler,#ffd5d2)}
|
|
@@ -77,6 +83,7 @@
|
|
|
77
83
|
._bg3q9by0{--cm-border-pressed-value:10%}
|
|
78
84
|
._fdt01r5k{--cm-icon-hovered-value:30%}
|
|
79
85
|
._hyog26zw{--border-pressed-l-factor:1.08}
|
|
86
|
+
._k48p1wq8{font-weight:var(--ds-font-weight-medium,500)}
|
|
80
87
|
._m71tr3uz{--cm-icon-color:#000}
|
|
81
88
|
._o5721q9c{white-space:nowrap}
|
|
82
89
|
._oe6mmko7{--cm-border-value:45%}
|
|
@@ -130,7 +137,6 @@
|
|
|
130
137
|
._irr3kwwr:hover{background-color:var(--ds-background-accent-teal-subtler-hovered,#b1e4f7)}
|
|
131
138
|
._irr3plhp:hover{background-color:var(--ds-background-neutral-hovered,#0b120e24)}
|
|
132
139
|
._irr3rumk:hover{background-color:var(--ds-background-discovery-subtler-hovered,#e3bdfa)}
|
|
133
|
-
._irr3ufnl:hover{background-color:var(--ds-background-selected-hovered,#cfe1fd)}
|
|
134
140
|
._irr3wejn:hover{background-color:var(--ds-background-accent-gray-subtlest-hovered,#dddee1)}
|
|
135
141
|
._q4zt1csi:active{border-color:color-mix(in oklch,var(--border-color) 100%,var(--cm-border-color) var(--cm-border-pressed-value))!important}
|
|
136
142
|
._1di618ut:active{background-color:var(--ds-background-accent-gray-subtlest-pressed,#b7b9be)}
|
|
@@ -147,7 +153,6 @@
|
|
|
147
153
|
._1di6d6jc:active{background-color:var(--ds-background-success-subtler-pressed,#b3df72)}
|
|
148
154
|
._1di6dpo3:active{background-color:var(--ds-background-accent-orange-subtler-pressed,#fbc828)}
|
|
149
155
|
._1di6jkmi:active{background-color:var(--ds-background-danger-subtler-pressed,#fd9891)}
|
|
150
|
-
._1di6nozp:active{background-color:var(--ds-background-selected-pressed,#8fb8f6)}
|
|
151
156
|
._1di6rwxf:active{background-color:var(--ds-background-accent-blue-subtler-pressed,#8fb8f6)}
|
|
152
157
|
._1di6ybhx:active{background-color:var(--ds-background-accent-green-subtler-pressed,#7ee2b8)}
|
|
153
158
|
@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}}
|
|
@@ -8,11 +8,31 @@ import ChevronDownIcon from '@atlaskit/icon/core/chevron-down';
|
|
|
8
8
|
import Pressable from '@atlaskit/primitives/pressable';
|
|
9
9
|
import IconRenderer from './icon-renderer';
|
|
10
10
|
import { getThemeStyles, resolveLozengeColor } from './utils';
|
|
11
|
+
// Get the pressed background color for the selected lozenge dropdown trigger
|
|
12
|
+
const pressedBackgroundMapping = {
|
|
13
|
+
success: "var(--ds-background-success-subtler-pressed, #B3DF72)",
|
|
14
|
+
warning: "var(--ds-background-warning-subtler-pressed, #FBC828)",
|
|
15
|
+
danger: "var(--ds-background-danger-subtler-pressed, #FD9891)",
|
|
16
|
+
information: "var(--ds-background-information-subtler-pressed, #8FB8F6)",
|
|
17
|
+
neutral: "var(--ds-background-neutral-pressed, #080F214A)",
|
|
18
|
+
discovery: "var(--ds-background-discovery-subtler-pressed, #D8A0F7)",
|
|
19
|
+
'accent-red': "var(--ds-background-accent-red-subtler-pressed, #FD9891)",
|
|
20
|
+
'accent-orange': "var(--ds-background-accent-orange-subtler-pressed, #FBC828)",
|
|
21
|
+
'accent-yellow': "var(--ds-background-accent-yellow-subtler-pressed, #EED12B)",
|
|
22
|
+
'accent-lime': "var(--ds-background-accent-lime-subtler-pressed, #B3DF72)",
|
|
23
|
+
'accent-green': "var(--ds-background-accent-green-subtler-pressed, #7EE2B8)",
|
|
24
|
+
'accent-teal': "var(--ds-background-accent-teal-subtler-pressed, #9DD9EE)",
|
|
25
|
+
'accent-blue': "var(--ds-background-accent-blue-subtler-pressed, #8FB8F6)",
|
|
26
|
+
'accent-purple': "var(--ds-background-accent-purple-subtler-pressed, #D8A0F7)",
|
|
27
|
+
'accent-magenta': "var(--ds-background-accent-magenta-subtler-pressed, #F797D2)",
|
|
28
|
+
'accent-gray': "var(--ds-background-accent-gray-subtlest-pressed, #B7B9BE)"
|
|
29
|
+
};
|
|
11
30
|
const styles = {
|
|
12
31
|
container: "_2rko12b0 _1reo15vq _18m915vq _zulp1b66 _1rjcv77o _18zr1b66 _189ee4h9 _1dqonqa1 _1h6d1j28 _1e0c116y _4cvr1h6o _vchhusvi _4t3i1k92",
|
|
32
|
+
containerSpacious: "_2rko1qi0 _zulp12x7 _1rjc1b66 _18zrutpp _1tkeviql",
|
|
13
33
|
containerInteractive: "_80omtlke _mizu1v1w _1ah3v77o _ra3xnqa1 _128mdkaa",
|
|
14
|
-
containerSelected: "_bfhk15s3 _syaz6x5g _irr3ufnl _1di6nozp",
|
|
15
34
|
text: "_11c8wadc _1reo15vq _18m915vq _1bto1l2s _o5721q9c",
|
|
35
|
+
textSpacious: "_11c8fhey _k48p1wq8",
|
|
16
36
|
textSelected: "_syaz6x5g",
|
|
17
37
|
'semantic.success': "_1b3i4pcx _3wu01mps _bfhk14j0 _syaz1p1e",
|
|
18
38
|
'semantic.warning': "_1b3iervl _3wu01xiv _bfhk10f4 _syazmgs1",
|
|
@@ -46,9 +66,9 @@ const styles = {
|
|
|
46
66
|
'interactive.accent.purple': "_irr3attl _1di63nfk",
|
|
47
67
|
'interactive.accent.magenta': "_irr31axx _1di642ri",
|
|
48
68
|
'interactive.accent.gray': "_irr3wejn _1di618ut",
|
|
49
|
-
selectedInteractive: "_irr3ufnl _1di6nozp",
|
|
50
69
|
iconBorderFilter: "_1h6dzs9d _4uq11yqs _1k671038 _m71tr3uz _13muu67f _168qx19p _oe6mmko7 _189qkb7n _u8p61h4e _1t75u67f _hg5mr3uz _1f28f1ug _1xe213rw _1easxmrh _1r9r1ss3",
|
|
51
|
-
iconBorderInteractiveFilter: "_1iel6xdd _111i1h4e _18dicjiy _hyog26zw _fdt01r5k _46v5hwvj _ylgq1r5k _bg3q9by0 _196p1btq _18mn783i _l0666xdd _pclnn8xv _ockq1r5k _aewt1n8h _4cvx7ddx _1cp21w66 _q4zt1csi _1gqs1mvc _75gv2l9f _1lh71sfd _ui3h1ct7 _11o31cha"
|
|
70
|
+
iconBorderInteractiveFilter: "_1iel6xdd _111i1h4e _18dicjiy _hyog26zw _fdt01r5k _46v5hwvj _ylgq1r5k _bg3q9by0 _196p1btq _18mn783i _l0666xdd _pclnn8xv _ockq1r5k _aewt1n8h _4cvx7ddx _1cp21w66 _q4zt1csi _1gqs1mvc _75gv2l9f _1lh71sfd _ui3h1ct7 _11o31cha",
|
|
71
|
+
containerSelected: "_1xe213kw"
|
|
52
72
|
};
|
|
53
73
|
|
|
54
74
|
/**
|
|
@@ -63,6 +83,7 @@ const LozengeBase = /*#__PURE__*/memo( /*#__PURE__*/forwardRef(({
|
|
|
63
83
|
appearance,
|
|
64
84
|
iconBefore,
|
|
65
85
|
maxWidth = 200,
|
|
86
|
+
spacing = 'default',
|
|
66
87
|
isSelected,
|
|
67
88
|
// for dropdown trigger
|
|
68
89
|
onClick,
|
|
@@ -88,9 +109,9 @@ const LozengeBase = /*#__PURE__*/memo( /*#__PURE__*/forwardRef(({
|
|
|
88
109
|
maxWidth: maxWidthIsPc ? maxWidth : '100%'
|
|
89
110
|
};
|
|
90
111
|
const innerContent = /*#__PURE__*/React.createElement(Fragment, null, iconBefore && /*#__PURE__*/React.createElement(IconRenderer, {
|
|
112
|
+
size: spacing === 'spacious' ? 'medium' : 'small',
|
|
91
113
|
icon: iconBefore,
|
|
92
114
|
color: resolvedColor,
|
|
93
|
-
isSelected: isInteractive ? isSelected : undefined,
|
|
94
115
|
testId: testId && `${testId}--icon`
|
|
95
116
|
}), /*#__PURE__*/React.createElement("span", {
|
|
96
117
|
style: {
|
|
@@ -98,24 +119,25 @@ const LozengeBase = /*#__PURE__*/memo( /*#__PURE__*/forwardRef(({
|
|
|
98
119
|
color: style === null || style === void 0 ? void 0 : style.color
|
|
99
120
|
},
|
|
100
121
|
"data-testid": testId && `${testId}--text`,
|
|
101
|
-
className: ax([styles.text])
|
|
122
|
+
className: ax([styles.text, spacing === 'spacious' && styles.textSpacious])
|
|
102
123
|
}, children), isInteractive && /*#__PURE__*/React.createElement(ChevronDownIcon, {
|
|
103
124
|
label: "",
|
|
104
125
|
size: "small",
|
|
105
|
-
color:
|
|
126
|
+
color: 'currentColor',
|
|
106
127
|
testId: testId && `${testId}--chevron`
|
|
107
128
|
}));
|
|
108
129
|
if (isInteractive) {
|
|
109
130
|
return /*#__PURE__*/React.createElement(Pressable, {
|
|
110
131
|
ref: ref,
|
|
111
|
-
xcss: cx(styles.container,
|
|
132
|
+
xcss: cx(styles.container, spacing === 'spacious' && styles.containerSpacious, !isSelected && styles.iconBorderFilter, styles.iconBorderInteractiveFilter, styles[colorStyleKey], styles[interactiveStyleKey], isSelected && styles.containerSelected),
|
|
112
133
|
onClick: onClick,
|
|
113
134
|
style: {
|
|
114
135
|
// eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop
|
|
115
136
|
...commonStyleOverrides,
|
|
116
137
|
// Specified because Pressable has a default border:none which overrides the border specified on the container
|
|
117
138
|
// eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop
|
|
118
|
-
border: `solid ${"var(--ds-border-width, 1px)"} ${isSelected ?
|
|
139
|
+
border: `solid ${"var(--ds-border-width, 1px)"} ${isSelected ? 'oklch(from var(--border-color) calc(l * var(--border-pressed-l-factor)) c h) !important' : 'transparent'}`,
|
|
140
|
+
backgroundColor: isSelected ? pressedBackgroundMapping[resolvedColor] : undefined
|
|
119
141
|
},
|
|
120
142
|
testId: testId,
|
|
121
143
|
analyticsContext: analyticsContext,
|
|
@@ -127,7 +149,7 @@ const LozengeBase = /*#__PURE__*/memo( /*#__PURE__*/forwardRef(({
|
|
|
127
149
|
ref: ref,
|
|
128
150
|
style: commonStyleOverrides,
|
|
129
151
|
"data-testid": testId,
|
|
130
|
-
className: ax([styles.container, styles[colorStyleKey], styles.iconBorderFilter])
|
|
152
|
+
className: ax([styles.container, spacing === 'spacious' && styles.containerSpacious, styles[colorStyleKey], styles.iconBorderFilter])
|
|
131
153
|
}, innerContent);
|
|
132
154
|
}));
|
|
133
155
|
export default LozengeBase;
|
|
@@ -20,6 +20,7 @@ const LozengeDropdownTrigger = /*#__PURE__*/memo( /*#__PURE__*/forwardRef(({
|
|
|
20
20
|
children,
|
|
21
21
|
testId,
|
|
22
22
|
appearance = 'neutral',
|
|
23
|
+
spacing = 'default',
|
|
23
24
|
iconBefore,
|
|
24
25
|
isSelected = false,
|
|
25
26
|
maxWidth = 200,
|
|
@@ -31,6 +32,7 @@ const LozengeDropdownTrigger = /*#__PURE__*/memo( /*#__PURE__*/forwardRef(({
|
|
|
31
32
|
return /*#__PURE__*/React.createElement(LozengeBase, {
|
|
32
33
|
ref: ref,
|
|
33
34
|
appearance: appearance,
|
|
35
|
+
spacing: spacing,
|
|
34
36
|
iconBefore: iconBefore,
|
|
35
37
|
isSelected: isSelected,
|
|
36
38
|
maxWidth: maxWidth
|
|
@@ -13,6 +13,7 @@ import LozengeBase from './lozenge-base';
|
|
|
13
13
|
*/
|
|
14
14
|
const Lozenge = ({
|
|
15
15
|
appearance = 'neutral',
|
|
16
|
+
spacing = 'default',
|
|
16
17
|
maxWidth = 200,
|
|
17
18
|
style,
|
|
18
19
|
testId,
|
|
@@ -21,6 +22,7 @@ const Lozenge = ({
|
|
|
21
22
|
}) => {
|
|
22
23
|
return /*#__PURE__*/React.createElement(LozengeBase, {
|
|
23
24
|
appearance: appearance,
|
|
25
|
+
spacing: spacing,
|
|
24
26
|
iconBefore: iconBefore,
|
|
25
27
|
maxWidth: maxWidth
|
|
26
28
|
// eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop
|
|
@@ -1,12 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
// Map lozenge colors to appropriate icon colors
|
|
3
|
-
var getIconColor = function getIconColor(color
|
|
4
|
-
//
|
|
5
|
-
if (isSelected) {
|
|
6
|
-
return "var(--ds-icon-selected, #1868DB)";
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
// For semantic colors, use corresponding semantic text colors
|
|
3
|
+
var getIconColor = function getIconColor(color) {
|
|
4
|
+
// For semantic colors, use corresponding semantic icon colors
|
|
10
5
|
switch (color) {
|
|
11
6
|
case 'success':
|
|
12
7
|
return "var(--ds-icon-success, #6A9A23)";
|
|
@@ -53,13 +48,13 @@ var getIconColor = function getIconColor(color, isSelected) {
|
|
|
53
48
|
export var IconRenderer = function IconRenderer(_ref) {
|
|
54
49
|
var Icon = _ref.icon,
|
|
55
50
|
color = _ref.color,
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
var iconColor = getIconColor(color
|
|
51
|
+
testId = _ref.testId,
|
|
52
|
+
size = _ref.size;
|
|
53
|
+
var iconColor = getIconColor(color);
|
|
59
54
|
return /*#__PURE__*/React.createElement(Icon, {
|
|
60
55
|
color: iconColor,
|
|
61
56
|
label: "",
|
|
62
|
-
size:
|
|
57
|
+
size: size,
|
|
63
58
|
testId: testId
|
|
64
59
|
});
|
|
65
60
|
};
|
|
@@ -1,12 +1,17 @@
|
|
|
1
1
|
|
|
2
|
+
._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
3
|
._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
4
|
._2rko12b0{border-radius:var(--ds-radius-small,4px)}
|
|
5
|
+
._2rko1qi0{border-radius:var(--ds-radius-medium,6px)}
|
|
6
|
+
._zulp12x7{gap:var(--ds-space-075,6px)}
|
|
4
7
|
._zulp1b66{gap:var(--ds-space-050,4px)}
|
|
5
8
|
._189ee4h9{border-width:var(--ds-border-width,1px)}
|
|
6
9
|
._18zr1b66{padding-inline:var(--ds-space-050,4px)}
|
|
10
|
+
._18zrutpp{padding-inline:var(--ds-space-150,9pt)}
|
|
7
11
|
._1dqonqa1{border-style:solid}
|
|
8
12
|
._1h6d1j28{border-color:transparent}
|
|
9
13
|
._1h6dzs9d{border-color:color-mix(in oklch,var(--border-color) 100%,var(--cm-border-color) var(--cm-border-value))!important}
|
|
14
|
+
._1rjc1b66{padding-block:var(--ds-space-050,4px)}
|
|
10
15
|
._1rjcv77o{padding-block:var(--ds-space-025,2px)}._111i1h4e{--icon-pressed-l-factor:0.7}
|
|
11
16
|
._13muu67f{--cm-border-color:#fff}
|
|
12
17
|
._168qx19p{--cm-icon-value:20%}
|
|
@@ -35,6 +40,8 @@
|
|
|
35
40
|
._1iel6xdd{--icon-hovered-l-factor:0.8}
|
|
36
41
|
._1k671038{--border-l-factor:1.33}
|
|
37
42
|
._1reo15vq{overflow-x:hidden}
|
|
43
|
+
._1tkeviql{min-height:2rem}
|
|
44
|
+
._1xe213kw>span:first-of-type>svg{color:oklch(from var(--icon-color) calc(l * var(--icon-pressed-l-factor)) c h)!important}
|
|
38
45
|
._1xe213rw>span:first-of-type>svg{color:color-mix(in oklch,var(--icon-color) 100%,var(--cm-icon-color) var(--cm-icon-value))}
|
|
39
46
|
._3wu016y8{--border-color:var(--ds-border-accent-red,#e2483d)}
|
|
40
47
|
._3wu01b2s{--border-color:var(--ds-border-accent-orange,#e06c00)}
|
|
@@ -59,7 +66,6 @@
|
|
|
59
66
|
._80omtlke{cursor:pointer}
|
|
60
67
|
._bfhk10f4{background-color:var(--ds-background-warning-subtler,#fce4a6)}
|
|
61
68
|
._bfhk14j0{background-color:var(--ds-background-success-subtler,#d3f1a7)}
|
|
62
|
-
._bfhk15s3{background-color:var(--ds-background-selected,#e9f2fe)}
|
|
63
69
|
._bfhk165s{background-color:var(--ds-background-accent-orange-subtler,#fce4a6)}
|
|
64
70
|
._bfhk1773{background-color:var(--ds-background-accent-yellow-subtler,#f5e989)}
|
|
65
71
|
._bfhk18wg{background-color:var(--ds-background-danger-subtler,#ffd5d2)}
|
|
@@ -77,6 +83,7 @@
|
|
|
77
83
|
._bg3q9by0{--cm-border-pressed-value:10%}
|
|
78
84
|
._fdt01r5k{--cm-icon-hovered-value:30%}
|
|
79
85
|
._hyog26zw{--border-pressed-l-factor:1.08}
|
|
86
|
+
._k48p1wq8{font-weight:var(--ds-font-weight-medium,500)}
|
|
80
87
|
._m71tr3uz{--cm-icon-color:#000}
|
|
81
88
|
._o5721q9c{white-space:nowrap}
|
|
82
89
|
._oe6mmko7{--cm-border-value:45%}
|
|
@@ -130,7 +137,6 @@
|
|
|
130
137
|
._irr3kwwr:hover{background-color:var(--ds-background-accent-teal-subtler-hovered,#b1e4f7)}
|
|
131
138
|
._irr3plhp:hover{background-color:var(--ds-background-neutral-hovered,#0b120e24)}
|
|
132
139
|
._irr3rumk:hover{background-color:var(--ds-background-discovery-subtler-hovered,#e3bdfa)}
|
|
133
|
-
._irr3ufnl:hover{background-color:var(--ds-background-selected-hovered,#cfe1fd)}
|
|
134
140
|
._irr3wejn:hover{background-color:var(--ds-background-accent-gray-subtlest-hovered,#dddee1)}
|
|
135
141
|
._q4zt1csi:active{border-color:color-mix(in oklch,var(--border-color) 100%,var(--cm-border-color) var(--cm-border-pressed-value))!important}
|
|
136
142
|
._1di618ut:active{background-color:var(--ds-background-accent-gray-subtlest-pressed,#b7b9be)}
|
|
@@ -147,7 +153,6 @@
|
|
|
147
153
|
._1di6d6jc:active{background-color:var(--ds-background-success-subtler-pressed,#b3df72)}
|
|
148
154
|
._1di6dpo3:active{background-color:var(--ds-background-accent-orange-subtler-pressed,#fbc828)}
|
|
149
155
|
._1di6jkmi:active{background-color:var(--ds-background-danger-subtler-pressed,#fd9891)}
|
|
150
|
-
._1di6nozp:active{background-color:var(--ds-background-selected-pressed,#8fb8f6)}
|
|
151
156
|
._1di6rwxf:active{background-color:var(--ds-background-accent-blue-subtler-pressed,#8fb8f6)}
|
|
152
157
|
._1di6ybhx:active{background-color:var(--ds-background-accent-green-subtler-pressed,#7ee2b8)}
|
|
153
158
|
@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}}
|
|
@@ -11,11 +11,31 @@ import ChevronDownIcon from '@atlaskit/icon/core/chevron-down';
|
|
|
11
11
|
import Pressable from '@atlaskit/primitives/pressable';
|
|
12
12
|
import IconRenderer from './icon-renderer';
|
|
13
13
|
import { getThemeStyles, resolveLozengeColor } from './utils';
|
|
14
|
+
// Get the pressed background color for the selected lozenge dropdown trigger
|
|
15
|
+
var pressedBackgroundMapping = {
|
|
16
|
+
success: "var(--ds-background-success-subtler-pressed, #B3DF72)",
|
|
17
|
+
warning: "var(--ds-background-warning-subtler-pressed, #FBC828)",
|
|
18
|
+
danger: "var(--ds-background-danger-subtler-pressed, #FD9891)",
|
|
19
|
+
information: "var(--ds-background-information-subtler-pressed, #8FB8F6)",
|
|
20
|
+
neutral: "var(--ds-background-neutral-pressed, #080F214A)",
|
|
21
|
+
discovery: "var(--ds-background-discovery-subtler-pressed, #D8A0F7)",
|
|
22
|
+
'accent-red': "var(--ds-background-accent-red-subtler-pressed, #FD9891)",
|
|
23
|
+
'accent-orange': "var(--ds-background-accent-orange-subtler-pressed, #FBC828)",
|
|
24
|
+
'accent-yellow': "var(--ds-background-accent-yellow-subtler-pressed, #EED12B)",
|
|
25
|
+
'accent-lime': "var(--ds-background-accent-lime-subtler-pressed, #B3DF72)",
|
|
26
|
+
'accent-green': "var(--ds-background-accent-green-subtler-pressed, #7EE2B8)",
|
|
27
|
+
'accent-teal': "var(--ds-background-accent-teal-subtler-pressed, #9DD9EE)",
|
|
28
|
+
'accent-blue': "var(--ds-background-accent-blue-subtler-pressed, #8FB8F6)",
|
|
29
|
+
'accent-purple': "var(--ds-background-accent-purple-subtler-pressed, #D8A0F7)",
|
|
30
|
+
'accent-magenta': "var(--ds-background-accent-magenta-subtler-pressed, #F797D2)",
|
|
31
|
+
'accent-gray': "var(--ds-background-accent-gray-subtlest-pressed, #B7B9BE)"
|
|
32
|
+
};
|
|
14
33
|
var styles = {
|
|
15
34
|
container: "_2rko12b0 _1reo15vq _18m915vq _zulp1b66 _1rjcv77o _18zr1b66 _189ee4h9 _1dqonqa1 _1h6d1j28 _1e0c116y _4cvr1h6o _vchhusvi _4t3i1k92",
|
|
35
|
+
containerSpacious: "_2rko1qi0 _zulp12x7 _1rjc1b66 _18zrutpp _1tkeviql",
|
|
16
36
|
containerInteractive: "_80omtlke _mizu1v1w _1ah3v77o _ra3xnqa1 _128mdkaa",
|
|
17
|
-
containerSelected: "_bfhk15s3 _syaz6x5g _irr3ufnl _1di6nozp",
|
|
18
37
|
text: "_11c8wadc _1reo15vq _18m915vq _1bto1l2s _o5721q9c",
|
|
38
|
+
textSpacious: "_11c8fhey _k48p1wq8",
|
|
19
39
|
textSelected: "_syaz6x5g",
|
|
20
40
|
'semantic.success': "_1b3i4pcx _3wu01mps _bfhk14j0 _syaz1p1e",
|
|
21
41
|
'semantic.warning': "_1b3iervl _3wu01xiv _bfhk10f4 _syazmgs1",
|
|
@@ -49,9 +69,9 @@ var styles = {
|
|
|
49
69
|
'interactive.accent.purple': "_irr3attl _1di63nfk",
|
|
50
70
|
'interactive.accent.magenta': "_irr31axx _1di642ri",
|
|
51
71
|
'interactive.accent.gray': "_irr3wejn _1di618ut",
|
|
52
|
-
selectedInteractive: "_irr3ufnl _1di6nozp",
|
|
53
72
|
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"
|
|
73
|
+
iconBorderInteractiveFilter: "_1iel6xdd _111i1h4e _18dicjiy _hyog26zw _fdt01r5k _46v5hwvj _ylgq1r5k _bg3q9by0 _196p1btq _18mn783i _l0666xdd _pclnn8xv _ockq1r5k _aewt1n8h _4cvx7ddx _1cp21w66 _q4zt1csi _1gqs1mvc _75gv2l9f _1lh71sfd _ui3h1ct7 _11o31cha",
|
|
74
|
+
containerSelected: "_1xe213kw"
|
|
55
75
|
};
|
|
56
76
|
|
|
57
77
|
/**
|
|
@@ -67,6 +87,8 @@ var LozengeBase = /*#__PURE__*/memo( /*#__PURE__*/forwardRef(function (_ref, ref
|
|
|
67
87
|
iconBefore = _ref.iconBefore,
|
|
68
88
|
_ref$maxWidth = _ref.maxWidth,
|
|
69
89
|
maxWidth = _ref$maxWidth === void 0 ? 200 : _ref$maxWidth,
|
|
90
|
+
_ref$spacing = _ref.spacing,
|
|
91
|
+
spacing = _ref$spacing === void 0 ? 'default' : _ref$spacing,
|
|
70
92
|
isSelected = _ref.isSelected,
|
|
71
93
|
onClick = _ref.onClick,
|
|
72
94
|
style = _ref.style,
|
|
@@ -88,9 +110,9 @@ var LozengeBase = /*#__PURE__*/memo( /*#__PURE__*/forwardRef(function (_ref, ref
|
|
|
88
110
|
maxWidth: maxWidthIsPc ? maxWidth : '100%'
|
|
89
111
|
};
|
|
90
112
|
var innerContent = /*#__PURE__*/React.createElement(Fragment, null, iconBefore && /*#__PURE__*/React.createElement(IconRenderer, {
|
|
113
|
+
size: spacing === 'spacious' ? 'medium' : 'small',
|
|
91
114
|
icon: iconBefore,
|
|
92
115
|
color: resolvedColor,
|
|
93
|
-
isSelected: isInteractive ? isSelected : undefined,
|
|
94
116
|
testId: testId && "".concat(testId, "--icon")
|
|
95
117
|
}), /*#__PURE__*/React.createElement("span", {
|
|
96
118
|
style: {
|
|
@@ -98,22 +120,23 @@ var LozengeBase = /*#__PURE__*/memo( /*#__PURE__*/forwardRef(function (_ref, ref
|
|
|
98
120
|
color: style === null || style === void 0 ? void 0 : style.color
|
|
99
121
|
},
|
|
100
122
|
"data-testid": testId && "".concat(testId, "--text"),
|
|
101
|
-
className: ax([styles.text])
|
|
123
|
+
className: ax([styles.text, spacing === 'spacious' && styles.textSpacious])
|
|
102
124
|
}, children), isInteractive && /*#__PURE__*/React.createElement(ChevronDownIcon, {
|
|
103
125
|
label: "",
|
|
104
126
|
size: "small",
|
|
105
|
-
color:
|
|
127
|
+
color: 'currentColor',
|
|
106
128
|
testId: testId && "".concat(testId, "--chevron")
|
|
107
129
|
}));
|
|
108
130
|
if (isInteractive) {
|
|
109
131
|
return /*#__PURE__*/React.createElement(Pressable, {
|
|
110
132
|
ref: ref,
|
|
111
|
-
xcss: cx(styles.container,
|
|
133
|
+
xcss: cx(styles.container, spacing === 'spacious' && styles.containerSpacious, !isSelected && styles.iconBorderFilter, styles.iconBorderInteractiveFilter, styles[colorStyleKey], styles[interactiveStyleKey], isSelected && styles.containerSelected),
|
|
112
134
|
onClick: onClick,
|
|
113
135
|
style: _objectSpread(_objectSpread({}, commonStyleOverrides), {}, {
|
|
114
136
|
// Specified because Pressable has a default border:none which overrides the border specified on the container
|
|
115
137
|
// eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop
|
|
116
|
-
border: "solid ".concat("var(--ds-border-width, 1px)", " ", isSelected ?
|
|
138
|
+
border: "solid ".concat("var(--ds-border-width, 1px)", " ", isSelected ? 'oklch(from var(--border-color) calc(l * var(--border-pressed-l-factor)) c h) !important' : 'transparent'),
|
|
139
|
+
backgroundColor: isSelected ? pressedBackgroundMapping[resolvedColor] : undefined
|
|
117
140
|
}),
|
|
118
141
|
testId: testId,
|
|
119
142
|
analyticsContext: analyticsContext,
|
|
@@ -125,7 +148,7 @@ var LozengeBase = /*#__PURE__*/memo( /*#__PURE__*/forwardRef(function (_ref, ref
|
|
|
125
148
|
ref: ref,
|
|
126
149
|
style: commonStyleOverrides,
|
|
127
150
|
"data-testid": testId,
|
|
128
|
-
className: ax([styles.container, styles[colorStyleKey], styles.iconBorderFilter])
|
|
151
|
+
className: ax([styles.container, spacing === 'spacious' && styles.containerSpacious, styles[colorStyleKey], styles.iconBorderFilter])
|
|
129
152
|
}, innerContent);
|
|
130
153
|
}));
|
|
131
154
|
export default LozengeBase;
|
|
@@ -21,6 +21,8 @@ var LozengeDropdownTrigger = /*#__PURE__*/memo( /*#__PURE__*/forwardRef(function
|
|
|
21
21
|
testId = _ref.testId,
|
|
22
22
|
_ref$appearance = _ref.appearance,
|
|
23
23
|
appearance = _ref$appearance === void 0 ? 'neutral' : _ref$appearance,
|
|
24
|
+
_ref$spacing = _ref.spacing,
|
|
25
|
+
spacing = _ref$spacing === void 0 ? 'default' : _ref$spacing,
|
|
24
26
|
iconBefore = _ref.iconBefore,
|
|
25
27
|
_ref$isSelected = _ref.isSelected,
|
|
26
28
|
isSelected = _ref$isSelected === void 0 ? false : _ref$isSelected,
|
|
@@ -34,6 +36,7 @@ var LozengeDropdownTrigger = /*#__PURE__*/memo( /*#__PURE__*/forwardRef(function
|
|
|
34
36
|
return /*#__PURE__*/React.createElement(LozengeBase, {
|
|
35
37
|
ref: ref,
|
|
36
38
|
appearance: appearance,
|
|
39
|
+
spacing: spacing,
|
|
37
40
|
iconBefore: iconBefore,
|
|
38
41
|
isSelected: isSelected,
|
|
39
42
|
maxWidth: maxWidth
|
package/dist/esm/new/lozenge.js
CHANGED
|
@@ -14,6 +14,8 @@ import LozengeBase from './lozenge-base';
|
|
|
14
14
|
var Lozenge = function Lozenge(_ref) {
|
|
15
15
|
var _ref$appearance = _ref.appearance,
|
|
16
16
|
appearance = _ref$appearance === void 0 ? 'neutral' : _ref$appearance,
|
|
17
|
+
_ref$spacing = _ref.spacing,
|
|
18
|
+
spacing = _ref$spacing === void 0 ? 'default' : _ref$spacing,
|
|
17
19
|
_ref$maxWidth = _ref.maxWidth,
|
|
18
20
|
maxWidth = _ref$maxWidth === void 0 ? 200 : _ref$maxWidth,
|
|
19
21
|
style = _ref.style,
|
|
@@ -22,6 +24,7 @@ var Lozenge = function Lozenge(_ref) {
|
|
|
22
24
|
iconBefore = _ref.iconBefore;
|
|
23
25
|
return /*#__PURE__*/React.createElement(LozengeBase, {
|
|
24
26
|
appearance: appearance,
|
|
27
|
+
spacing: spacing,
|
|
25
28
|
iconBefore: iconBefore,
|
|
26
29
|
maxWidth: maxWidth
|
|
27
30
|
// eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export { default } from './lozenge';
|
|
2
2
|
export type { ThemeAppearance, LozengeProps } from './lozenge';
|
|
3
3
|
export { default as LozengeDropdownTrigger } from './new/lozenge-dropdown-trigger';
|
|
4
|
-
export type { NewLozengeProps, LozengeColor as NewLozengeColor, LozengeDropdownTriggerProps, } from './new/types';
|
|
4
|
+
export type { NewLozengeProps, LozengeColor as NewLozengeColor, LozengeDropdownTriggerProps, LozengeSpacing, } from './new/types';
|
|
@@ -9,18 +9,18 @@ export interface IconRendererProps {
|
|
|
9
9
|
* The lozenge color to determine icon color
|
|
10
10
|
*/
|
|
11
11
|
color: LozengeColor;
|
|
12
|
-
/**
|
|
13
|
-
* Whether the lozenge is in a selected state
|
|
14
|
-
*/
|
|
15
|
-
isSelected?: boolean;
|
|
16
12
|
/**
|
|
17
13
|
* Test ID for the icon
|
|
18
14
|
*/
|
|
19
15
|
testId?: string;
|
|
16
|
+
/**
|
|
17
|
+
* Size of the icon
|
|
18
|
+
*/
|
|
19
|
+
size?: 'small' | 'medium';
|
|
20
20
|
}
|
|
21
21
|
/**
|
|
22
22
|
* Icon renderer for lozenge components
|
|
23
23
|
* Handles proper sizing and color theming for icons
|
|
24
24
|
*/
|
|
25
|
-
export declare const IconRenderer: ({ icon: Icon, color,
|
|
25
|
+
export declare const IconRenderer: ({ icon: Icon, color, testId, size }: IconRendererProps) => React.JSX.Element;
|
|
26
26
|
export default IconRenderer;
|
|
@@ -9,7 +9,7 @@ import { type NewLozengeProps } from './types';
|
|
|
9
9
|
* - [Usage](https://atlassian.design/components/lozenge/usage)
|
|
10
10
|
*/
|
|
11
11
|
declare const Lozenge: {
|
|
12
|
-
({ appearance, maxWidth, style, testId, children, iconBefore, }: NewLozengeProps): JSX.Element;
|
|
12
|
+
({ appearance, spacing, maxWidth, style, testId, children, iconBefore, }: NewLozengeProps): JSX.Element;
|
|
13
13
|
displayName: string;
|
|
14
14
|
};
|
|
15
15
|
export default Lozenge;
|
|
@@ -21,6 +21,7 @@ export type IconProp = ComponentType<Omit<NewIconProps, 'spacing'>>;
|
|
|
21
21
|
/**
|
|
22
22
|
* Props for the NewLozenge component
|
|
23
23
|
*/
|
|
24
|
+
export type LozengeSpacing = 'default' | 'spacious';
|
|
24
25
|
export interface NewLozengeProps {
|
|
25
26
|
/**
|
|
26
27
|
* The appearance of the lozenge. Supports both legacy semantic appearances and new accent/semantic colors.
|
|
@@ -35,6 +36,13 @@ export interface NewLozengeProps {
|
|
|
35
36
|
* Icon to display before the text content. Should be an ADS icon component.
|
|
36
37
|
*/
|
|
37
38
|
iconBefore?: IconProp;
|
|
39
|
+
/**
|
|
40
|
+
* Controls the overall spacing (padding + height) of the lozenge.
|
|
41
|
+
*
|
|
42
|
+
* - `default` matches the current visual appearance.
|
|
43
|
+
* - `spacious` increases padding and sets the lozenge height to 32px.
|
|
44
|
+
*/
|
|
45
|
+
spacing?: LozengeSpacing;
|
|
38
46
|
/**
|
|
39
47
|
* max-width of lozenge container. Default to 200px.
|
|
40
48
|
*/
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export { default } from './lozenge';
|
|
2
2
|
export type { ThemeAppearance, LozengeProps } from './lozenge';
|
|
3
3
|
export { default as LozengeDropdownTrigger } from './new/lozenge-dropdown-trigger';
|
|
4
|
-
export type { NewLozengeProps, LozengeColor as NewLozengeColor, LozengeDropdownTriggerProps, } from './new/types';
|
|
4
|
+
export type { NewLozengeProps, LozengeColor as NewLozengeColor, LozengeDropdownTriggerProps, LozengeSpacing, } from './new/types';
|
|
@@ -9,18 +9,18 @@ export interface IconRendererProps {
|
|
|
9
9
|
* The lozenge color to determine icon color
|
|
10
10
|
*/
|
|
11
11
|
color: LozengeColor;
|
|
12
|
-
/**
|
|
13
|
-
* Whether the lozenge is in a selected state
|
|
14
|
-
*/
|
|
15
|
-
isSelected?: boolean;
|
|
16
12
|
/**
|
|
17
13
|
* Test ID for the icon
|
|
18
14
|
*/
|
|
19
15
|
testId?: string;
|
|
16
|
+
/**
|
|
17
|
+
* Size of the icon
|
|
18
|
+
*/
|
|
19
|
+
size?: 'small' | 'medium';
|
|
20
20
|
}
|
|
21
21
|
/**
|
|
22
22
|
* Icon renderer for lozenge components
|
|
23
23
|
* Handles proper sizing and color theming for icons
|
|
24
24
|
*/
|
|
25
|
-
export declare const IconRenderer: ({ icon: Icon, color,
|
|
25
|
+
export declare const IconRenderer: ({ icon: Icon, color, testId, size }: IconRendererProps) => React.JSX.Element;
|
|
26
26
|
export default IconRenderer;
|
|
@@ -9,7 +9,7 @@ import { type NewLozengeProps } from './types';
|
|
|
9
9
|
* - [Usage](https://atlassian.design/components/lozenge/usage)
|
|
10
10
|
*/
|
|
11
11
|
declare const Lozenge: {
|
|
12
|
-
({ appearance, maxWidth, style, testId, children, iconBefore, }: NewLozengeProps): JSX.Element;
|
|
12
|
+
({ appearance, spacing, maxWidth, style, testId, children, iconBefore, }: NewLozengeProps): JSX.Element;
|
|
13
13
|
displayName: string;
|
|
14
14
|
};
|
|
15
15
|
export default Lozenge;
|
|
@@ -21,6 +21,7 @@ export type IconProp = ComponentType<Omit<NewIconProps, 'spacing'>>;
|
|
|
21
21
|
/**
|
|
22
22
|
* Props for the NewLozenge component
|
|
23
23
|
*/
|
|
24
|
+
export type LozengeSpacing = 'default' | 'spacious';
|
|
24
25
|
export interface NewLozengeProps {
|
|
25
26
|
/**
|
|
26
27
|
* The appearance of the lozenge. Supports both legacy semantic appearances and new accent/semantic colors.
|
|
@@ -35,6 +36,13 @@ export interface NewLozengeProps {
|
|
|
35
36
|
* Icon to display before the text content. Should be an ADS icon component.
|
|
36
37
|
*/
|
|
37
38
|
iconBefore?: IconProp;
|
|
39
|
+
/**
|
|
40
|
+
* Controls the overall spacing (padding + height) of the lozenge.
|
|
41
|
+
*
|
|
42
|
+
* - `default` matches the current visual appearance.
|
|
43
|
+
* - `spacious` increases padding and sets the lozenge height to 32px.
|
|
44
|
+
*/
|
|
45
|
+
spacing?: LozengeSpacing;
|
|
38
46
|
/**
|
|
39
47
|
* max-width of lozenge container. Default to 200px.
|
|
40
48
|
*/
|
package/package.json
CHANGED