@weavix/tracker-components 0.1.2 → 0.1.4
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/README.md +29 -1
- package/build/cjs/components/Icon/PriorityIcon/PriorityIcon.classname.d.ts +1 -0
- package/build/cjs/components/Icon/PriorityIcon/PriorityIcon.classname.js +9 -0
- package/build/cjs/components/Icon/PriorityIcon/PriorityIcon.classname.js.map +1 -0
- package/build/cjs/components/Icon/PriorityIcon/PriorityIcon.css +45 -0
- package/build/cjs/components/Icon/PriorityIcon/PriorityIcon.css.map +1 -0
- package/build/cjs/components/Icon/PriorityIcon/PriorityIcon.d.ts +13 -0
- package/build/cjs/components/Icon/PriorityIcon/PriorityIcon.js +80 -0
- package/build/cjs/components/Icon/PriorityIcon/PriorityIcon.js.map +1 -0
- package/build/cjs/components/Icon/PriorityIcon/README.md +172 -0
- package/build/cjs/components/Icon/PriorityIcon/i18n.d.ts +6 -0
- package/build/cjs/components/Icon/PriorityIcon/i18n.js +13 -0
- package/build/cjs/components/Icon/PriorityIcon/i18n.js.map +1 -0
- package/build/cjs/components/Icon/PriorityIcon/index.d.ts +3 -0
- package/build/cjs/components/Icon/PriorityIcon/index.js +13 -0
- package/build/cjs/components/Icon/PriorityIcon/index.js.map +1 -0
- package/build/cjs/components/Icon/PriorityIcon/types.d.ts +1 -0
- package/build/cjs/components/Icon/PriorityIcon/types.js +6 -0
- package/build/cjs/components/Icon/PriorityIcon/types.js.map +1 -0
- package/build/cjs/components/Icon/StatusIcon/README.md +128 -0
- package/build/cjs/components/Icon/StatusIcon/StatusIcon.classname.d.ts +1 -0
- package/build/cjs/components/Icon/StatusIcon/StatusIcon.classname.js +9 -0
- package/build/cjs/components/Icon/StatusIcon/StatusIcon.classname.js.map +1 -0
- package/build/cjs/components/Icon/StatusIcon/StatusIcon.css +28 -0
- package/build/cjs/components/Icon/StatusIcon/StatusIcon.css.map +1 -0
- package/build/cjs/components/Icon/StatusIcon/StatusIcon.d.ts +10 -0
- package/build/cjs/components/Icon/StatusIcon/StatusIcon.js +43 -0
- package/build/cjs/components/Icon/StatusIcon/StatusIcon.js.map +1 -0
- package/build/cjs/components/Icon/StatusIcon/i18n.d.ts +6 -0
- package/build/cjs/components/Icon/StatusIcon/i18n.js +13 -0
- package/build/cjs/components/Icon/StatusIcon/i18n.js.map +1 -0
- package/build/cjs/components/Icon/StatusIcon/index.d.ts +3 -0
- package/build/cjs/components/Icon/StatusIcon/index.js +13 -0
- package/build/cjs/components/Icon/StatusIcon/index.js.map +1 -0
- package/build/cjs/components/Icon/StatusIcon/types.d.ts +3 -0
- package/build/cjs/components/Icon/StatusIcon/types.js +6 -0
- package/build/cjs/components/Icon/StatusIcon/types.js.map +1 -0
- package/build/cjs/components/Icon/StatusIcon/utils.d.ts +3 -0
- package/build/cjs/components/Icon/StatusIcon/utils.js +39 -0
- package/build/cjs/components/Icon/StatusIcon/utils.js.map +1 -0
- package/build/cjs/components/Icon/index.d.ts +2 -0
- package/build/cjs/components/Icon/index.js +22 -0
- package/build/cjs/components/Icon/index.js.map +1 -1
- package/build/esm/components/Icon/PriorityIcon/PriorityIcon.classname.d.ts +1 -0
- package/build/esm/components/Icon/PriorityIcon/PriorityIcon.classname.js +3 -0
- package/build/esm/components/Icon/PriorityIcon/PriorityIcon.classname.js.map +1 -0
- package/build/esm/components/Icon/PriorityIcon/PriorityIcon.css +45 -0
- package/build/esm/components/Icon/PriorityIcon/PriorityIcon.css.map +1 -0
- package/build/esm/components/Icon/PriorityIcon/PriorityIcon.d.ts +13 -0
- package/build/esm/components/Icon/PriorityIcon/PriorityIcon.js +73 -0
- package/build/esm/components/Icon/PriorityIcon/PriorityIcon.js.map +1 -0
- package/build/esm/components/Icon/PriorityIcon/PriorityIcon.scss +64 -0
- package/build/esm/components/Icon/PriorityIcon/README.md +172 -0
- package/build/esm/components/Icon/PriorityIcon/i18n.d.ts +6 -0
- package/build/esm/components/Icon/PriorityIcon/i18n.js +7 -0
- package/build/esm/components/Icon/PriorityIcon/i18n.js.map +1 -0
- package/build/esm/components/Icon/PriorityIcon/index.d.ts +3 -0
- package/build/esm/components/Icon/PriorityIcon/index.js +2 -0
- package/build/esm/components/Icon/PriorityIcon/index.js.map +1 -0
- package/build/esm/components/Icon/PriorityIcon/types.d.ts +1 -0
- package/build/esm/components/Icon/PriorityIcon/types.js +2 -0
- package/build/esm/components/Icon/PriorityIcon/types.js.map +1 -0
- package/build/esm/components/Icon/StatusIcon/README.md +128 -0
- package/build/esm/components/Icon/StatusIcon/StatusIcon.classname.d.ts +1 -0
- package/build/esm/components/Icon/StatusIcon/StatusIcon.classname.js +3 -0
- package/build/esm/components/Icon/StatusIcon/StatusIcon.classname.js.map +1 -0
- package/build/esm/components/Icon/StatusIcon/StatusIcon.css +28 -0
- package/build/esm/components/Icon/StatusIcon/StatusIcon.css.map +1 -0
- package/build/esm/components/Icon/StatusIcon/StatusIcon.d.ts +10 -0
- package/build/esm/components/Icon/StatusIcon/StatusIcon.js +36 -0
- package/build/esm/components/Icon/StatusIcon/StatusIcon.js.map +1 -0
- package/build/esm/components/Icon/StatusIcon/StatusIcon.scss +46 -0
- package/build/esm/components/Icon/StatusIcon/i18n.d.ts +6 -0
- package/build/esm/components/Icon/StatusIcon/i18n.js +7 -0
- package/build/esm/components/Icon/StatusIcon/i18n.js.map +1 -0
- package/build/esm/components/Icon/StatusIcon/index.d.ts +3 -0
- package/build/esm/components/Icon/StatusIcon/index.js +2 -0
- package/build/esm/components/Icon/StatusIcon/index.js.map +1 -0
- package/build/esm/components/Icon/StatusIcon/types.d.ts +3 -0
- package/build/esm/components/Icon/StatusIcon/types.js +2 -0
- package/build/esm/components/Icon/StatusIcon/types.js.map +1 -0
- package/build/esm/components/Icon/StatusIcon/utils.d.ts +3 -0
- package/build/esm/components/Icon/StatusIcon/utils.js +33 -0
- package/build/esm/components/Icon/StatusIcon/utils.js.map +1 -0
- package/build/esm/components/Icon/index.d.ts +2 -0
- package/build/esm/components/Icon/index.js +2 -0
- package/build/esm/components/Icon/index.js.map +1 -1
- package/package.json +3 -3
- package/build/cjs/components/Icon/Icon.classname.d.ts +0 -1
- package/build/cjs/components/Icon/Icon.classname.js +0 -9
- package/build/cjs/components/Icon/Icon.classname.js.map +0 -1
- package/build/esm/components/Icon/Icon.classname.d.ts +0 -1
- package/build/esm/components/Icon/Icon.classname.js +0 -3
- package/build/esm/components/Icon/Icon.classname.js.map +0 -1
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.StatusIcon = void 0;
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
var _uikit = require("@gravity-ui/uikit");
|
|
9
|
+
var _useLocalizedString2 = require("./../../../hooks/useLocalizedString");
|
|
10
|
+
var _IconRefuge = require("../IconRefuge");
|
|
11
|
+
var _StatusIcon = require("./StatusIcon.classname");
|
|
12
|
+
var _i18n = require("./i18n");
|
|
13
|
+
var _utils = require("./utils");
|
|
14
|
+
require("./StatusIcon.css");
|
|
15
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
16
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
17
|
+
var StatusIcon = exports.StatusIcon = function StatusIcon(_ref) {
|
|
18
|
+
var className = _ref.className,
|
|
19
|
+
containerClassName = _ref.containerClassName,
|
|
20
|
+
statusType = _ref.statusType,
|
|
21
|
+
_ref$size = _ref.size,
|
|
22
|
+
size = _ref$size === void 0 ? 16 : _ref$size,
|
|
23
|
+
title = _ref.title;
|
|
24
|
+
var config = (0, _uikit.getConfig)();
|
|
25
|
+
var _useLocalizedString = (0, _useLocalizedString2.useLocalizedString)(_i18n.defaultMessages, config.lang),
|
|
26
|
+
t = _useLocalizedString.t;
|
|
27
|
+
var ariaLabel = title ? t('status-label', {
|
|
28
|
+
status: title
|
|
29
|
+
}) : undefined;
|
|
30
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_IconRefuge.IconRefuge, {
|
|
31
|
+
containerClassName: containerClassName,
|
|
32
|
+
className: (0, _StatusIcon.cnStatusIcon)({
|
|
33
|
+
status: statusType
|
|
34
|
+
}, className),
|
|
35
|
+
data: (0, _utils.getSvgForStatusType)(statusType),
|
|
36
|
+
refugeSize: size,
|
|
37
|
+
title: title,
|
|
38
|
+
"aria-label": ariaLabel,
|
|
39
|
+
"aria-hidden": !title || undefined
|
|
40
|
+
});
|
|
41
|
+
};
|
|
42
|
+
StatusIcon.displayName = 'StatusIcon';
|
|
43
|
+
// #sourceMappingURL=StatusIcon.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_uikit","_useLocalizedString2","_IconRefuge","_StatusIcon","_i18n","_utils","_jsxRuntime","e","__esModule","default","StatusIcon","exports","_ref","className","containerClassName","statusType","_ref$size","size","title","config","getConfig","_useLocalizedString","useLocalizedString","defaultMessages","lang","t","ariaLabel","status","undefined","_jsx","IconRefuge","cnStatusIcon","data","getSvgForStatusType","refugeSize","displayName"],"sources":["StatusIcon.tsx"],"sourcesContent":["import React, {type FC} from 'react';\n\nimport {getConfig} from '@gravity-ui/uikit';\n\nimport {useLocalizedString} from '~/src/hooks/useLocalizedString';\n\nimport {IconRefuge, type IconRefugeProps} from '../IconRefuge';\n\nimport {cnStatusIcon} from './StatusIcon.classname';\nimport {defaultMessages} from './i18n';\nimport type {GoalStatus, IssueStatus, MetaEntityStatus} from './types';\nimport {getSvgForStatusType} from './utils';\n\nimport './StatusIcon.scss';\n\nexport type StatusIconProps = Partial<Pick<IconRefugeProps, 'containerClassName' | 'title'>> & {\n statusType?: IssueStatus | MetaEntityStatus | GoalStatus;\n size?: number;\n className?: string;\n};\n\nexport const StatusIcon: FC<StatusIconProps> = ({\n className,\n containerClassName,\n statusType,\n size = 16,\n title,\n}) => {\n const config = getConfig();\n const {t} = useLocalizedString(defaultMessages, config.lang);\n const ariaLabel = title ? t('status-label', {status: title}) : undefined;\n\n return (\n <IconRefuge\n containerClassName={containerClassName}\n className={cnStatusIcon({status: statusType}, className)}\n data={getSvgForStatusType(statusType)}\n refugeSize={size}\n title={title}\n aria-label={ariaLabel}\n aria-hidden={!title || undefined}\n />\n );\n};\n\nStatusIcon.displayName = 'StatusIcon';\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,MAAA,GAAAD,OAAA;AAEA,IAAAE,oBAAA,GAAAF,OAAA;AAEA,IAAAG,WAAA,GAAAH,OAAA;AAEA,IAAAI,WAAA,GAAAJ,OAAA;AACA,IAAAK,KAAA,GAAAL,OAAA;AAEA,IAAAM,MAAA,GAAAN,OAAA;AAEAA,OAAA;AAA2B,IAAAO,WAAA,GAAAP,OAAA;AAAA,SAAAD,uBAAAS,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAQpB,IAAMG,UAA+B,GAAAC,OAAA,CAAAD,UAAA,GAAG,SAAlCA,UAA+BA,CAAAE,IAAA,EAMtC;EAAA,IALFC,SAAS,GAAAD,IAAA,CAATC,SAAS;IACTC,kBAAkB,GAAAF,IAAA,CAAlBE,kBAAkB;IAClBC,UAAU,GAAAH,IAAA,CAAVG,UAAU;IAAAC,SAAA,GAAAJ,IAAA,CACVK,IAAI;IAAJA,IAAI,GAAAD,SAAA,cAAG,EAAE,GAAAA,SAAA;IACTE,KAAK,GAAAN,IAAA,CAALM,KAAK;EAEL,IAAMC,MAAM,GAAG,IAAAC,gBAAS,EAAC,CAAC;EAC1B,IAAAC,mBAAA,GAAY,IAAAC,uCAAkB,EAACC,qBAAe,EAAEJ,MAAM,CAACK,IAAI,CAAC;IAArDC,CAAC,GAAAJ,mBAAA,CAADI,CAAC;EACR,IAAMC,SAAS,GAAGR,KAAK,GAAGO,CAAC,CAAC,cAAc,EAAE;IAACE,MAAM,EAAET;EAAK,CAAC,CAAC,GAAGU,SAAS;EAExE,oBACI,IAAAC,eAAA,EAACC,sBAAU;IACPhB,kBAAkB,EAAEA,kBAAmB;IACvCD,SAAS,EAAE,IAAAkB,wBAAY,EAAC;MAACJ,MAAM,EAAEZ;IAAU,CAAC,EAAEF,SAAS,CAAE;IACzDmB,IAAI,EAAE,IAAAC,0BAAmB,EAAClB,UAAU,CAAE;IACtCmB,UAAU,EAAEjB,IAAK;IACjBC,KAAK,EAAEA,KAAM;IACb,cAAYQ,SAAU;IACtB,eAAa,CAACR,KAAK,IAAIU;EAAU,CACpC,CAAC;AAEV,CAAC;AAEDlB,UAAU,CAACyB,WAAW,GAAG,YAAY","ignoreList":[]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.defaultMessages = void 0;
|
|
7
|
+
var defaultMessages = exports.defaultMessages = {
|
|
8
|
+
'status-label': {
|
|
9
|
+
ru: 'Статус: {status}',
|
|
10
|
+
en: 'Status: {status}'
|
|
11
|
+
}
|
|
12
|
+
};
|
|
13
|
+
// #sourceMappingURL=i18n.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["defaultMessages","exports","ru","en"],"sources":["i18n.ts"],"sourcesContent":["export const defaultMessages = {\n 'status-label': {\n ru: 'Статус: {status}',\n en: 'Status: {status}',\n },\n};\n"],"mappings":";;;;;;AAAO,IAAMA,eAAe,GAAAC,OAAA,CAAAD,eAAA,GAAG;EAC3B,cAAc,EAAE;IACZE,EAAE,EAAE,kBAAkB;IACtBC,EAAE,EAAE;EACR;AACJ,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "StatusIcon", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function () {
|
|
9
|
+
return _StatusIcon.StatusIcon;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
var _StatusIcon = require("./StatusIcon");
|
|
13
|
+
// #sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_StatusIcon","require"],"sources":["index.ts"],"sourcesContent":["export {StatusIcon} from './StatusIcon';\nexport type {StatusIconProps} from './StatusIcon';\nexport type {GoalStatus, IssueStatus, MetaEntityStatus} from './types';\n"],"mappings":";;;;;;;;;;;AAAA,IAAAA,WAAA,GAAAC,OAAA","ignoreList":[]}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export type IssueStatus = 'new' | 'inProgress' | 'paused' | 'done' | 'cancelled' | 'unknown';
|
|
2
|
+
export type MetaEntityStatus = 'draft' | 'in_progress' | 'launched' | 'postponed' | 'at_risk' | 'blocked' | 'according_to_plan' | 'draft2' | 'cancelled';
|
|
3
|
+
export type GoalStatus = 'draft' | 'according_to_plan' | 'at_risk' | 'blocked' | 'achieved' | 'partially_achieved' | 'not_achieved' | 'exceeded' | 'cancelled';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["export type IssueStatus = 'new' | 'inProgress' | 'paused' | 'done' | 'cancelled' | 'unknown';\n\nexport type MetaEntityStatus =\n | 'draft'\n | 'in_progress'\n | 'launched'\n | 'postponed'\n | 'at_risk'\n | 'blocked'\n | 'according_to_plan'\n | 'draft2'\n | 'cancelled';\n\nexport type GoalStatus =\n | 'draft'\n | 'according_to_plan'\n | 'at_risk'\n | 'blocked'\n | 'achieved'\n | 'partially_achieved'\n | 'not_achieved'\n | 'exceeded'\n | 'cancelled';\n"],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.getSvgForStatusType = getSvgForStatusType;
|
|
7
|
+
var _icons = require("@gravity-ui/icons");
|
|
8
|
+
function getSvgForStatusType(statusType) {
|
|
9
|
+
switch (statusType) {
|
|
10
|
+
case 'new':
|
|
11
|
+
case 'draft':
|
|
12
|
+
case 'draft2':
|
|
13
|
+
return _icons.CircleDashed;
|
|
14
|
+
case 'done':
|
|
15
|
+
case 'launched':
|
|
16
|
+
case 'achieved':
|
|
17
|
+
case 'partially_achieved':
|
|
18
|
+
return _icons.CircleCheck;
|
|
19
|
+
case 'cancelled':
|
|
20
|
+
case 'not_achieved':
|
|
21
|
+
return _icons.CircleXmark;
|
|
22
|
+
case 'inProgress':
|
|
23
|
+
case 'in_progress':
|
|
24
|
+
case 'according_to_plan':
|
|
25
|
+
return _icons.CirclePlay;
|
|
26
|
+
case 'paused':
|
|
27
|
+
case 'postponed':
|
|
28
|
+
return _icons.CirclePause;
|
|
29
|
+
case 'at_risk':
|
|
30
|
+
return _icons.CircleExclamation;
|
|
31
|
+
case 'exceeded':
|
|
32
|
+
return _icons.SealCheck;
|
|
33
|
+
case 'blocked':
|
|
34
|
+
return _icons.CircleStop;
|
|
35
|
+
default:
|
|
36
|
+
return _icons.CircleQuestion;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
// #sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_icons","require","getSvgForStatusType","statusType","CircleDashed","CircleCheck","CircleXmark","CirclePlay","CirclePause","CircleExclamation","SealCheck","CircleStop","CircleQuestion"],"sources":["utils.ts"],"sourcesContent":["import {\n CircleCheck,\n CircleDashed,\n CircleExclamation,\n CirclePause,\n CirclePlay,\n CircleQuestion,\n CircleStop,\n CircleXmark,\n SealCheck,\n} from '@gravity-ui/icons';\nimport {type IconData} from '@gravity-ui/uikit';\n\nimport {GoalStatus, IssueStatus, MetaEntityStatus} from './types';\n\nexport function getSvgForStatusType(\n statusType?: IssueStatus | MetaEntityStatus | GoalStatus,\n): IconData {\n switch (statusType) {\n case 'new':\n case 'draft':\n case 'draft2':\n return CircleDashed;\n case 'done':\n case 'launched':\n case 'achieved':\n case 'partially_achieved':\n return CircleCheck;\n case 'cancelled':\n case 'not_achieved':\n return CircleXmark;\n case 'inProgress':\n case 'in_progress':\n case 'according_to_plan':\n return CirclePlay;\n case 'paused':\n case 'postponed':\n return CirclePause;\n case 'at_risk':\n return CircleExclamation;\n case 'exceeded':\n return SealCheck;\n case 'blocked':\n return CircleStop;\n default:\n return CircleQuestion;\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAeO,SAASC,mBAAmBA,CAC/BC,UAAwD,EAChD;EACR,QAAQA,UAAU;IACd,KAAK,KAAK;IACV,KAAK,OAAO;IACZ,KAAK,QAAQ;MACT,OAAOC,mBAAY;IACvB,KAAK,MAAM;IACX,KAAK,UAAU;IACf,KAAK,UAAU;IACf,KAAK,oBAAoB;MACrB,OAAOC,kBAAW;IACtB,KAAK,WAAW;IAChB,KAAK,cAAc;MACf,OAAOC,kBAAW;IACtB,KAAK,YAAY;IACjB,KAAK,aAAa;IAClB,KAAK,mBAAmB;MACpB,OAAOC,iBAAU;IACrB,KAAK,QAAQ;IACb,KAAK,WAAW;MACZ,OAAOC,kBAAW;IACtB,KAAK,SAAS;MACV,OAAOC,wBAAiB;IAC5B,KAAK,UAAU;MACX,OAAOC,gBAAS;IACpB,KAAK,SAAS;MACV,OAAOC,iBAAU;IACrB;MACI,OAAOC,qBAAc;EAC7B;AACJ","ignoreList":[]}
|
|
@@ -80,6 +80,17 @@ Object.keys(_PortfolioIcon).forEach(function (key) {
|
|
|
80
80
|
}
|
|
81
81
|
});
|
|
82
82
|
});
|
|
83
|
+
var _PriorityIcon = require("./PriorityIcon");
|
|
84
|
+
Object.keys(_PriorityIcon).forEach(function (key) {
|
|
85
|
+
if (key === "default" || key === "__esModule") return;
|
|
86
|
+
if (key in exports && exports[key] === _PriorityIcon[key]) return;
|
|
87
|
+
Object.defineProperty(exports, key, {
|
|
88
|
+
enumerable: true,
|
|
89
|
+
get: function () {
|
|
90
|
+
return _PriorityIcon[key];
|
|
91
|
+
}
|
|
92
|
+
});
|
|
93
|
+
});
|
|
83
94
|
var _ProjectIcon = require("./ProjectIcon");
|
|
84
95
|
Object.keys(_ProjectIcon).forEach(function (key) {
|
|
85
96
|
if (key === "default" || key === "__esModule") return;
|
|
@@ -91,4 +102,15 @@ Object.keys(_ProjectIcon).forEach(function (key) {
|
|
|
91
102
|
}
|
|
92
103
|
});
|
|
93
104
|
});
|
|
105
|
+
var _StatusIcon = require("./StatusIcon");
|
|
106
|
+
Object.keys(_StatusIcon).forEach(function (key) {
|
|
107
|
+
if (key === "default" || key === "__esModule") return;
|
|
108
|
+
if (key in exports && exports[key] === _StatusIcon[key]) return;
|
|
109
|
+
Object.defineProperty(exports, key, {
|
|
110
|
+
enumerable: true,
|
|
111
|
+
get: function () {
|
|
112
|
+
return _StatusIcon[key];
|
|
113
|
+
}
|
|
114
|
+
});
|
|
115
|
+
});
|
|
94
116
|
// #sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_EntityIcon","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_GoalIcon","_IconRefuge","_IssueTypeIcon","_KeyResultIcon","_MetaEntityIcon","_PortfolioIcon","_ProjectIcon"],"sources":["index.ts"],"sourcesContent":["export * from './EntityIcon';\nexport * from './GoalIcon';\nexport * from './IconRefuge';\nexport * from './IssueTypeIcon';\nexport * from './KeyResultIcon';\nexport * from './MetaEntityIcon';\nexport * from './PortfolioIcon';\nexport * from './ProjectIcon';\n"],"mappings":"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
|
|
1
|
+
{"version":3,"names":["_EntityIcon","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_GoalIcon","_IconRefuge","_IssueTypeIcon","_KeyResultIcon","_MetaEntityIcon","_PortfolioIcon","_PriorityIcon","_ProjectIcon","_StatusIcon"],"sources":["index.ts"],"sourcesContent":["export * from './EntityIcon';\nexport * from './GoalIcon';\nexport * from './IconRefuge';\nexport * from './IssueTypeIcon';\nexport * from './KeyResultIcon';\nexport * from './MetaEntityIcon';\nexport * from './PortfolioIcon';\nexport * from './PriorityIcon';\nexport * from './ProjectIcon';\nexport * from './StatusIcon';\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const cnPriorityIcon: import("@bem-react/classname").ClassNameFormatter;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["block","cnPriorityIcon"],"sources":["PriorityIcon.classname.ts"],"sourcesContent":["import {block} from '~/src/components/cn';\n\nexport const cnPriorityIcon = block('priority-icon');\n"],"mappings":"AAAA,SAAQA,KAAK;AAEb,OAAO,IAAMC,cAAc,GAAGD,KAAK,CAAC,eAAe,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
.tpc-priority-icon_priority_blocker {
|
|
2
|
+
color: var(--g-color-text-danger);
|
|
3
|
+
}
|
|
4
|
+
.tpc-priority-icon_priority_critical {
|
|
5
|
+
color: var(--g-color-text-warning-heavy);
|
|
6
|
+
}
|
|
7
|
+
.tpc-priority-icon_priority_critical.tpc-priority-icon_metaEntity {
|
|
8
|
+
color: var(--g-color-text-danger-heavy);
|
|
9
|
+
}
|
|
10
|
+
.tpc-priority-icon_priority_important {
|
|
11
|
+
color: var(--g-color-text-warning);
|
|
12
|
+
}
|
|
13
|
+
.tpc-priority-icon_priority_trivial {
|
|
14
|
+
color: var(--g-color-text-hint);
|
|
15
|
+
}
|
|
16
|
+
.tpc-priority-icon_priority_normal, .tpc-priority-icon_priority_minor, .tpc-priority-icon_priority_minimal {
|
|
17
|
+
color: var(--g-color-text-secondary);
|
|
18
|
+
}
|
|
19
|
+
.tpc-priority-icon__background {
|
|
20
|
+
display: flex;
|
|
21
|
+
align-items: center;
|
|
22
|
+
justify-content: center;
|
|
23
|
+
width: 100%;
|
|
24
|
+
height: 100%;
|
|
25
|
+
border-radius: 50%;
|
|
26
|
+
}
|
|
27
|
+
.tpc-priority-icon__background_priority_blocker {
|
|
28
|
+
background: var(--g-color-base-danger-light);
|
|
29
|
+
}
|
|
30
|
+
.tpc-priority-icon__background_priority_critical {
|
|
31
|
+
background: var(--g-color-base-warning-light);
|
|
32
|
+
}
|
|
33
|
+
.tpc-priority-icon__background_priority_critical.tpc-priority-icon-background_metaEntity {
|
|
34
|
+
background: var(--g-color-base-danger-light);
|
|
35
|
+
}
|
|
36
|
+
.tpc-priority-icon__background_priority_important {
|
|
37
|
+
background: var(--g-color-base-warning-light);
|
|
38
|
+
}
|
|
39
|
+
.tpc-priority-icon__background_priority_trivial {
|
|
40
|
+
background: var(--g-color-base-neutral-light);
|
|
41
|
+
}
|
|
42
|
+
.tpc-priority-icon__background_priority_normal, .tpc-priority-icon__background_priority_minor, .tpc-priority-icon__background_priority_minimal {
|
|
43
|
+
background: var(--g-color-base-neutral-light);
|
|
44
|
+
}
|
|
45
|
+
/*# sourceMappingURL=PriorityIcon.css.map */
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["PriorityIcon.scss"],"names":[],"mappings":"AACI;EACI,iCAAA;AAAR;AAGI;EACI,wCAAA;AADR;AAGQ;EACI,uCAAA;AADZ;AAKI;EACI,kCAAA;AAHR;AAMI;EACI,+BAAA;AAJR;AAOI;EAGI,oCAAA;AAPR;AAUI;EACI,aAAA;EACA,mBAAA;EACA,uBAAA;EAEA,WAAA;EACA,YAAA;EAEA,kBAAA;AAVR;AAaI;EACI,4CAAA;AAXR;AAcI;EACI,6CAAA;AAZR;AAcQ;EACI,4CAAA;AAZZ;AAgBI;EACI,6CAAA;AAdR;AAiBI;EACI,6CAAA;AAfR;AAkBI;EAGI,6CAAA;AAlBR","file":"PriorityIcon.css","sourcesContent":[".tpc-priority-icon {\n &_priority_blocker {\n color: var(--g-color-text-danger);\n }\n\n &_priority_critical {\n color: var(--g-color-text-warning-heavy);\n\n &.tpc-priority-icon_metaEntity {\n color: var(--g-color-text-danger-heavy);\n }\n }\n\n &_priority_important {\n color: var(--g-color-text-warning);\n }\n\n &_priority_trivial {\n color: var(--g-color-text-hint);\n }\n\n &_priority_normal,\n &_priority_minor,\n &_priority_minimal {\n color: var(--g-color-text-secondary);\n }\n\n &__background {\n display: flex;\n align-items: center;\n justify-content: center;\n\n width: 100%;\n height: 100%;\n\n border-radius: 50%;\n }\n\n &__background_priority_blocker {\n background: var(--g-color-base-danger-light);\n }\n\n &__background_priority_critical {\n background: var(--g-color-base-warning-light);\n\n &.tpc-priority-icon-background_metaEntity {\n background: var(--g-color-base-danger-light);\n }\n }\n\n &__background_priority_important {\n background: var(--g-color-base-warning-light);\n }\n\n &__background_priority_trivial {\n background: var(--g-color-base-neutral-light);\n }\n\n &__background_priority_normal,\n &__background_priority_minor,\n &__background_priority_minimal {\n background: var(--g-color-base-neutral-light);\n }\n}\n"],"sourceRoot":""}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { type FC } from 'react';
|
|
2
|
+
import type { IconRefugeProps } from '../IconRefuge';
|
|
3
|
+
import type { Priority } from './types';
|
|
4
|
+
import './PriorityIcon.scss';
|
|
5
|
+
export type PriorityIconProps = Partial<Pick<IconRefugeProps, 'containerClassName' | 'title'>> & {
|
|
6
|
+
className?: string;
|
|
7
|
+
size?: number;
|
|
8
|
+
priority?: Priority;
|
|
9
|
+
showBackground?: boolean;
|
|
10
|
+
backgroundSize?: number;
|
|
11
|
+
metaEntity?: boolean;
|
|
12
|
+
};
|
|
13
|
+
export declare const PriorityIcon: FC<PriorityIconProps>;
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { ChevronDownWide, ChevronUpWide, ChevronsDownWide, ChevronsUpWide, CircleExclamation, Equal } from '@gravity-ui/icons';
|
|
3
|
+
import { getConfig } from '@gravity-ui/uikit';
|
|
4
|
+
import { useLocalizedString } from "./../../../hooks/useLocalizedString";
|
|
5
|
+
import { IconRefuge } from "../IconRefuge";
|
|
6
|
+
import { cnPriorityIcon } from "./PriorityIcon.classname";
|
|
7
|
+
import { defaultMessages } from "./i18n";
|
|
8
|
+
import "./PriorityIcon.css";
|
|
9
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
10
|
+
var getIconData = function getIconData(priority, metaEntity) {
|
|
11
|
+
switch (priority) {
|
|
12
|
+
case 'blocker':
|
|
13
|
+
return CircleExclamation;
|
|
14
|
+
case 'critical':
|
|
15
|
+
return metaEntity ? CircleExclamation : ChevronsUpWide;
|
|
16
|
+
case 'minor':
|
|
17
|
+
return ChevronDownWide;
|
|
18
|
+
case 'trivial':
|
|
19
|
+
case 'minimal':
|
|
20
|
+
return ChevronsDownWide;
|
|
21
|
+
case 'important':
|
|
22
|
+
return ChevronUpWide;
|
|
23
|
+
default:
|
|
24
|
+
return Equal;
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
export var PriorityIcon = function PriorityIcon(_ref) {
|
|
28
|
+
var className = _ref.className,
|
|
29
|
+
containerClassName = _ref.containerClassName,
|
|
30
|
+
_ref$priority = _ref.priority,
|
|
31
|
+
priority = _ref$priority === void 0 ? 'normal' : _ref$priority,
|
|
32
|
+
_ref$size = _ref.size,
|
|
33
|
+
size = _ref$size === void 0 ? 16 : _ref$size,
|
|
34
|
+
title = _ref.title,
|
|
35
|
+
showBackground = _ref.showBackground,
|
|
36
|
+
backgroundSize = _ref.backgroundSize,
|
|
37
|
+
metaEntity = _ref.metaEntity;
|
|
38
|
+
var config = getConfig();
|
|
39
|
+
var _useLocalizedString = useLocalizedString(defaultMessages, config.lang),
|
|
40
|
+
t = _useLocalizedString.t;
|
|
41
|
+
var ariaLabel = title ? t('priority-label', {
|
|
42
|
+
priority: title
|
|
43
|
+
}) : undefined;
|
|
44
|
+
var iconNode = /*#__PURE__*/_jsx(IconRefuge, {
|
|
45
|
+
containerClassName: containerClassName,
|
|
46
|
+
className: cnPriorityIcon({
|
|
47
|
+
priority: priority,
|
|
48
|
+
metaEntity: metaEntity
|
|
49
|
+
}, className),
|
|
50
|
+
data: getIconData(priority, metaEntity),
|
|
51
|
+
refugeSize: size,
|
|
52
|
+
title: title,
|
|
53
|
+
"aria-label": ariaLabel,
|
|
54
|
+
"aria-hidden": !title || undefined
|
|
55
|
+
});
|
|
56
|
+
if (!showBackground) {
|
|
57
|
+
return iconNode;
|
|
58
|
+
}
|
|
59
|
+
return /*#__PURE__*/_jsx("div", {
|
|
60
|
+
className: cnPriorityIcon('background', {
|
|
61
|
+
priority: priority,
|
|
62
|
+
metaEntity: metaEntity
|
|
63
|
+
}),
|
|
64
|
+
style: backgroundSize ? {
|
|
65
|
+
width: backgroundSize,
|
|
66
|
+
height: backgroundSize,
|
|
67
|
+
minWidth: backgroundSize
|
|
68
|
+
} : undefined,
|
|
69
|
+
children: iconNode
|
|
70
|
+
});
|
|
71
|
+
};
|
|
72
|
+
PriorityIcon.displayName = 'PriorityIcon';
|
|
73
|
+
// #sourceMappingURL=PriorityIcon.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","ChevronDownWide","ChevronUpWide","ChevronsDownWide","ChevronsUpWide","CircleExclamation","Equal","getConfig","useLocalizedString","IconRefuge","cnPriorityIcon","defaultMessages","jsx","_jsx","getIconData","priority","metaEntity","PriorityIcon","_ref","className","containerClassName","_ref$priority","_ref$size","size","title","showBackground","backgroundSize","config","_useLocalizedString","lang","t","ariaLabel","undefined","iconNode","data","refugeSize","style","width","height","minWidth","children","displayName"],"sources":["PriorityIcon.tsx"],"sourcesContent":["import React, {type FC} from 'react';\n\nimport {\n ChevronDownWide,\n ChevronUpWide,\n ChevronsDownWide,\n ChevronsUpWide,\n CircleExclamation,\n Equal,\n} from '@gravity-ui/icons';\nimport {type IconData, getConfig} from '@gravity-ui/uikit';\n\nimport {useLocalizedString} from '~/src/hooks/useLocalizedString';\n\nimport type {IconRefugeProps} from '../IconRefuge';\nimport {IconRefuge} from '../IconRefuge';\n\nimport {cnPriorityIcon} from './PriorityIcon.classname';\nimport {defaultMessages} from './i18n';\nimport type {Priority} from './types';\n\nimport './PriorityIcon.scss';\n\nexport type PriorityIconProps = Partial<Pick<IconRefugeProps, 'containerClassName' | 'title'>> & {\n className?: string;\n size?: number;\n priority?: Priority;\n showBackground?: boolean;\n backgroundSize?: number;\n metaEntity?: boolean;\n};\n\nconst getIconData = (priority: Priority, metaEntity?: boolean): IconData => {\n switch (priority) {\n case 'blocker':\n return CircleExclamation;\n case 'critical':\n return metaEntity ? CircleExclamation : ChevronsUpWide;\n case 'minor':\n return ChevronDownWide;\n case 'trivial':\n case 'minimal':\n return ChevronsDownWide;\n case 'important':\n return ChevronUpWide;\n default:\n return Equal;\n }\n};\n\nexport const PriorityIcon: FC<PriorityIconProps> = ({\n className,\n containerClassName,\n priority = 'normal',\n size = 16,\n title,\n showBackground,\n backgroundSize,\n metaEntity,\n}) => {\n const config = getConfig();\n const {t} = useLocalizedString(defaultMessages, config.lang);\n const ariaLabel = title ? t('priority-label', {priority: title}) : undefined;\n\n const iconNode = (\n <IconRefuge\n containerClassName={containerClassName}\n className={cnPriorityIcon({priority, metaEntity}, className)}\n data={getIconData(priority, metaEntity)}\n refugeSize={size}\n title={title}\n aria-label={ariaLabel}\n aria-hidden={!title || undefined}\n />\n );\n\n if (!showBackground) {\n return iconNode;\n }\n\n return (\n <div\n className={cnPriorityIcon('background', {priority, metaEntity})}\n style={\n backgroundSize\n ? {\n width: backgroundSize,\n height: backgroundSize,\n minWidth: backgroundSize,\n }\n : undefined\n }\n >\n {iconNode}\n </div>\n );\n};\n\nPriorityIcon.displayName = 'PriorityIcon';\n"],"mappings":"AAAA,OAAOA,KAAK,MAAiB,OAAO;AAEpC,SACIC,eAAe,EACfC,aAAa,EACbC,gBAAgB,EAChBC,cAAc,EACdC,iBAAiB,EACjBC,KAAK,QACF,mBAAmB;AAC1B,SAAuBC,SAAS,QAAO,mBAAmB;AAE1D,SAAQC,kBAAkB;AAG1B,SAAQC,UAAU;AAElB,SAAQC,cAAc;AACtB,SAAQC,eAAe;AAGvB;AAA6B,SAAAC,GAAA,IAAAC,IAAA;AAW7B,IAAMC,WAAW,GAAG,SAAdA,WAAWA,CAAIC,QAAkB,EAAEC,UAAoB,EAAe;EACxE,QAAQD,QAAQ;IACZ,KAAK,SAAS;MACV,OAAOV,iBAAiB;IAC5B,KAAK,UAAU;MACX,OAAOW,UAAU,GAAGX,iBAAiB,GAAGD,cAAc;IAC1D,KAAK,OAAO;MACR,OAAOH,eAAe;IAC1B,KAAK,SAAS;IACd,KAAK,SAAS;MACV,OAAOE,gBAAgB;IAC3B,KAAK,WAAW;MACZ,OAAOD,aAAa;IACxB;MACI,OAAOI,KAAK;EACpB;AACJ,CAAC;AAED,OAAO,IAAMW,YAAmC,GAAG,SAAtCA,YAAmCA,CAAAC,IAAA,EAS1C;EAAA,IARFC,SAAS,GAAAD,IAAA,CAATC,SAAS;IACTC,kBAAkB,GAAAF,IAAA,CAAlBE,kBAAkB;IAAAC,aAAA,GAAAH,IAAA,CAClBH,QAAQ;IAARA,QAAQ,GAAAM,aAAA,cAAG,QAAQ,GAAAA,aAAA;IAAAC,SAAA,GAAAJ,IAAA,CACnBK,IAAI;IAAJA,IAAI,GAAAD,SAAA,cAAG,EAAE,GAAAA,SAAA;IACTE,KAAK,GAAAN,IAAA,CAALM,KAAK;IACLC,cAAc,GAAAP,IAAA,CAAdO,cAAc;IACdC,cAAc,GAAAR,IAAA,CAAdQ,cAAc;IACdV,UAAU,GAAAE,IAAA,CAAVF,UAAU;EAEV,IAAMW,MAAM,GAAGpB,SAAS,CAAC,CAAC;EAC1B,IAAAqB,mBAAA,GAAYpB,kBAAkB,CAACG,eAAe,EAAEgB,MAAM,CAACE,IAAI,CAAC;IAArDC,CAAC,GAAAF,mBAAA,CAADE,CAAC;EACR,IAAMC,SAAS,GAAGP,KAAK,GAAGM,CAAC,CAAC,gBAAgB,EAAE;IAACf,QAAQ,EAAES;EAAK,CAAC,CAAC,GAAGQ,SAAS;EAE5E,IAAMC,QAAQ,gBACVpB,IAAA,CAACJ,UAAU;IACPW,kBAAkB,EAAEA,kBAAmB;IACvCD,SAAS,EAAET,cAAc,CAAC;MAACK,QAAQ,EAARA,QAAQ;MAAEC,UAAU,EAAVA;IAAU,CAAC,EAAEG,SAAS,CAAE;IAC7De,IAAI,EAAEpB,WAAW,CAACC,QAAQ,EAAEC,UAAU,CAAE;IACxCmB,UAAU,EAAEZ,IAAK;IACjBC,KAAK,EAAEA,KAAM;IACb,cAAYO,SAAU;IACtB,eAAa,CAACP,KAAK,IAAIQ;EAAU,CACpC,CACJ;EAED,IAAI,CAACP,cAAc,EAAE;IACjB,OAAOQ,QAAQ;EACnB;EAEA,oBACIpB,IAAA;IACIM,SAAS,EAAET,cAAc,CAAC,YAAY,EAAE;MAACK,QAAQ,EAARA,QAAQ;MAAEC,UAAU,EAAVA;IAAU,CAAC,CAAE;IAChEoB,KAAK,EACDV,cAAc,GACR;MACIW,KAAK,EAAEX,cAAc;MACrBY,MAAM,EAAEZ,cAAc;MACtBa,QAAQ,EAAEb;IACd,CAAC,GACDM,SACT;IAAAQ,QAAA,EAEAP;EAAQ,CACR,CAAC;AAEd,CAAC;AAEDhB,YAAY,CAACwB,WAAW,GAAG,cAAc","ignoreList":[]}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
.tpc-priority-icon {
|
|
2
|
+
&_priority_blocker {
|
|
3
|
+
color: var(--g-color-text-danger);
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
&_priority_critical {
|
|
7
|
+
color: var(--g-color-text-warning-heavy);
|
|
8
|
+
|
|
9
|
+
&.tpc-priority-icon_metaEntity {
|
|
10
|
+
color: var(--g-color-text-danger-heavy);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
&_priority_important {
|
|
15
|
+
color: var(--g-color-text-warning);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
&_priority_trivial {
|
|
19
|
+
color: var(--g-color-text-hint);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
&_priority_normal,
|
|
23
|
+
&_priority_minor,
|
|
24
|
+
&_priority_minimal {
|
|
25
|
+
color: var(--g-color-text-secondary);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
&__background {
|
|
29
|
+
display: flex;
|
|
30
|
+
align-items: center;
|
|
31
|
+
justify-content: center;
|
|
32
|
+
|
|
33
|
+
width: 100%;
|
|
34
|
+
height: 100%;
|
|
35
|
+
|
|
36
|
+
border-radius: 50%;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
&__background_priority_blocker {
|
|
40
|
+
background: var(--g-color-base-danger-light);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
&__background_priority_critical {
|
|
44
|
+
background: var(--g-color-base-warning-light);
|
|
45
|
+
|
|
46
|
+
&.tpc-priority-icon-background_metaEntity {
|
|
47
|
+
background: var(--g-color-base-danger-light);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
&__background_priority_important {
|
|
52
|
+
background: var(--g-color-base-warning-light);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
&__background_priority_trivial {
|
|
56
|
+
background: var(--g-color-base-neutral-light);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
&__background_priority_normal,
|
|
60
|
+
&__background_priority_minor,
|
|
61
|
+
&__background_priority_minimal {
|
|
62
|
+
background: var(--g-color-base-neutral-light);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
# PriorityIcon
|
|
2
|
+
|
|
3
|
+
<!-- description:start -->
|
|
4
|
+
Displays the icon for a Tracker issue priority level (blocker, critical, normal, minor, etc.). Each priority maps to a distinct icon and color. Unknown priority keys fall back to the normal icon.
|
|
5
|
+
<!-- description:end -->
|
|
6
|
+
|
|
7
|
+
## Usage
|
|
8
|
+
|
|
9
|
+
```tsx
|
|
10
|
+
import {PriorityIcon} from '@weavix/tracker-components';
|
|
11
|
+
|
|
12
|
+
<PriorityIcon priority="critical" />
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Component props
|
|
16
|
+
|
|
17
|
+
<!-- props:start -->
|
|
18
|
+
```ts
|
|
19
|
+
{
|
|
20
|
+
/**
|
|
21
|
+
* Priority key. Known values are listed below; any other string is
|
|
22
|
+
* accepted and falls back to the normal icon.
|
|
23
|
+
*/
|
|
24
|
+
priority?:
|
|
25
|
+
| 'blocker'
|
|
26
|
+
| 'critical'
|
|
27
|
+
| 'important'
|
|
28
|
+
| 'minor'
|
|
29
|
+
| 'minimal'
|
|
30
|
+
| 'normal'
|
|
31
|
+
| 'trivial'
|
|
32
|
+
| string;
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* Size of the icon in pixels.
|
|
36
|
+
* @default 16
|
|
37
|
+
*/
|
|
38
|
+
size?: number;
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Additional CSS class applied to the icon element.
|
|
42
|
+
*/
|
|
43
|
+
className?: string;
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* Additional CSS class applied to the outer container element.
|
|
47
|
+
*/
|
|
48
|
+
containerClassName?: string;
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* Human-readable display name for the priority (e.g. `"Critical"`, `"Normal"`).
|
|
52
|
+
* When provided, an accessible label `"Priority: <title>"` is rendered for
|
|
53
|
+
* screen readers. When omitted, the icon is treated as decorative (`aria-hidden`).
|
|
54
|
+
*/
|
|
55
|
+
title?: string;
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* When true, renders a circular colored background behind the icon.
|
|
59
|
+
*/
|
|
60
|
+
showBackground?: boolean;
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* Size of the background circle in pixels. Only used when `showBackground` is true.
|
|
64
|
+
*/
|
|
65
|
+
backgroundSize?: number;
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* When true, applies meta-entity color variants (e.g. `critical` uses
|
|
69
|
+
* the blocker icon and danger color instead of warning).
|
|
70
|
+
*/
|
|
71
|
+
metaEntity?: boolean;
|
|
72
|
+
}
|
|
73
|
+
```
|
|
74
|
+
<!-- props:end -->
|
|
75
|
+
|
|
76
|
+
---
|
|
77
|
+
|
|
78
|
+
## Examples
|
|
79
|
+
|
|
80
|
+
### Single icon
|
|
81
|
+
|
|
82
|
+
```tsx
|
|
83
|
+
import {PriorityIcon} from '@weavix/tracker-components';
|
|
84
|
+
|
|
85
|
+
<PriorityIcon priority="blocker" />
|
|
86
|
+
<PriorityIcon priority="critical" />
|
|
87
|
+
<PriorityIcon priority="normal" />
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
### Custom size
|
|
91
|
+
|
|
92
|
+
```tsx
|
|
93
|
+
<PriorityIcon priority="critical" size={24} />
|
|
94
|
+
<PriorityIcon priority="critical" size={32} />
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
### With background
|
|
98
|
+
|
|
99
|
+
```tsx
|
|
100
|
+
<PriorityIcon priority="blocker" showBackground backgroundSize={32} />
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
### Alongside issue summary
|
|
104
|
+
|
|
105
|
+
```tsx
|
|
106
|
+
import {PriorityIcon} from '@weavix/tracker-components';
|
|
107
|
+
|
|
108
|
+
export const IssueRow = ({issue}: {issue: {priority: string; summary: string}}) => (
|
|
109
|
+
<div style={{display: 'flex', alignItems: 'center', gap: 8}}>
|
|
110
|
+
<PriorityIcon priority={issue.priority} size={16} />
|
|
111
|
+
<span>{issue.summary}</span>
|
|
112
|
+
</div>
|
|
113
|
+
);
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
### All known priorities
|
|
117
|
+
|
|
118
|
+
```tsx
|
|
119
|
+
import {PriorityIcon} from '@weavix/tracker-components';
|
|
120
|
+
|
|
121
|
+
const PRIORITIES = [
|
|
122
|
+
'blocker', 'critical', 'important', 'normal', 'minor', 'minimal', 'trivial',
|
|
123
|
+
] as const;
|
|
124
|
+
|
|
125
|
+
export const PriorityGallery = () => (
|
|
126
|
+
<div style={{display: 'flex', flexWrap: 'wrap', gap: 16}}>
|
|
127
|
+
{PRIORITIES.map((p) => (
|
|
128
|
+
<div key={p} style={{display: 'flex', flexDirection: 'column', alignItems: 'center', gap: 4}}>
|
|
129
|
+
<PriorityIcon priority={p} size={24} />
|
|
130
|
+
<span style={{fontSize: 11}}>{p}</span>
|
|
131
|
+
</div>
|
|
132
|
+
))}
|
|
133
|
+
</div>
|
|
134
|
+
);
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
### From Tracker API
|
|
138
|
+
|
|
139
|
+
Requires the `"tracker:issues:read"` permission in your plugin's `manifest.json`:
|
|
140
|
+
|
|
141
|
+
```json
|
|
142
|
+
{
|
|
143
|
+
"permissions": {
|
|
144
|
+
"data": ["tracker:issues:read"]
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
```tsx
|
|
150
|
+
import {PriorityIcon} from '@weavix/tracker-components';
|
|
151
|
+
|
|
152
|
+
const priority = await trackerApi.v3.get['/issues/{id}/{field}']({
|
|
153
|
+
pathParams: {
|
|
154
|
+
id: 'ISSUEKEY-1',
|
|
155
|
+
field: 'priority',
|
|
156
|
+
},
|
|
157
|
+
});
|
|
158
|
+
|
|
159
|
+
<PriorityIcon
|
|
160
|
+
priority={priority.data.key}
|
|
161
|
+
title={priority.data.display}
|
|
162
|
+
/>
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
---
|
|
166
|
+
|
|
167
|
+
## Notes
|
|
168
|
+
|
|
169
|
+
- The `priority` value is matched case-sensitively against the known keys. Values returned by the Tracker API (e.g. `"blocker"`, `"critical"`) match directly without transformation.
|
|
170
|
+
- Passing an unknown string does not throw — the component renders the normal (default) icon.
|
|
171
|
+
- When `title` is omitted the icon is treated as decorative and gets `aria-hidden="true"`. Pass `title` (e.g. `priority.display` from the API) to make the icon accessible.
|
|
172
|
+
- The `metaEntity` prop changes the icon and color for `critical` priority to match the blocker appearance, used in meta-entity contexts like goals and projects.
|