@devtron-labs/devtron-fe-common-lib 0.0.6-beta-26 → 0.0.7

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.
@@ -24,6 +24,7 @@ export declare const DEFAULT_TAG_DATA: {
24
24
  propagate: boolean;
25
25
  isInvalidKey: boolean;
26
26
  isInvalidValue: boolean;
27
+ isSuggested: boolean;
27
28
  };
28
29
  export declare const TOAST_ACCESS_DENIED: {
29
30
  TITLE: string;
package/dist/index.js CHANGED
@@ -7,20 +7,20 @@ var reactRouter = require('react-router');
7
7
  var reactRouterDom = require('react-router-dom');
8
8
 
9
9
  function _interopNamespaceDefault(e) {
10
- var n = Object.create(null);
11
- if (e) {
12
- Object.keys(e).forEach(function (k) {
13
- if (k !== 'default') {
14
- var d = Object.getOwnPropertyDescriptor(e, k);
15
- Object.defineProperty(n, k, d.get ? d : {
16
- enumerable: true,
17
- get: function () { return e[k]; }
10
+ var n = Object.create(null);
11
+ if (e) {
12
+ Object.keys(e).forEach(function (k) {
13
+ if (k !== 'default') {
14
+ var d = Object.getOwnPropertyDescriptor(e, k);
15
+ Object.defineProperty(n, k, d.get ? d : {
16
+ enumerable: true,
17
+ get: function () { return e[k]; }
18
+ });
19
+ }
18
20
  });
19
- }
20
- });
21
- }
22
- n.default = e;
23
- return Object.freeze(n);
21
+ }
22
+ n.default = e;
23
+ return Object.freeze(n);
24
24
  }
25
25
 
26
26
  var React__namespace = /*#__PURE__*/_interopNamespaceDefault(React);
@@ -46,7 +46,14 @@ exports.KEY_VALUE = void 0;
46
46
  KEY_VALUE["KEY"] = "key";
47
47
  KEY_VALUE["VALUE"] = "value";
48
48
  })(exports.KEY_VALUE || (exports.KEY_VALUE = {}));
49
- var DEFAULT_TAG_DATA = { key: '', value: '', propagate: false, isInvalidKey: false, isInvalidValue: false };
49
+ var DEFAULT_TAG_DATA = {
50
+ key: '',
51
+ value: '',
52
+ propagate: false,
53
+ isInvalidKey: false,
54
+ isInvalidValue: false,
55
+ isSuggested: true,
56
+ };
50
57
  var TOAST_ACCESS_DENIED = {
51
58
  TITLE: 'Access denied',
52
59
  SUBTITLE: 'You do not have required access to perform this action',
@@ -459,9 +466,9 @@ var css_248z$3 = ".empty-state {\n height: 100%;\n}\n.empty-state img {\n heig
459
466
  styleInject(css_248z$3);
460
467
 
461
468
  var _g$2;
462
- function _extends$b() { _extends$b = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$b.apply(this, arguments); }
469
+ function _extends$a() { _extends$a = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$a.apply(this, arguments); }
463
470
  var SvgIcProgressing = function SvgIcProgressing(props) {
464
- return /*#__PURE__*/React__namespace.createElement("svg", _extends$b({
471
+ return /*#__PURE__*/React__namespace.createElement("svg", _extends$a({
465
472
  xmlns: "http://www.w3.org/2000/svg",
466
473
  viewBox: "0 0 24 24",
467
474
  width: "1em",
@@ -513,8 +520,8 @@ EmptyState.Loading = Loading;
513
520
 
514
521
  function r(e){var t,f,n="";if("string"==typeof e||"number"==typeof e)n+=e;else if("object"==typeof e)if(Array.isArray(e))for(t=0;t<e.length;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=" "),n+=f);else for(t in e)e[t]&&(n&&(n+=" "),n+=t);return n}function clsx(){for(var e,t,f=0,n="";f<arguments.length;)(e=arguments[f++])&&(t=r(e))&&(n&&(n+=" "),n+=t);return n}
515
522
 
516
- function _extends$a() {
517
- _extends$a = Object.assign || function (target) {
523
+ function _extends$9() {
524
+ _extends$9 = Object.assign || function (target) {
518
525
  for (var i = 1; i < arguments.length; i++) {
519
526
  var source = arguments[i];
520
527
 
@@ -528,7 +535,7 @@ function _extends$a() {
528
535
  return target;
529
536
  };
530
537
 
531
- return _extends$a.apply(this, arguments);
538
+ return _extends$9.apply(this, arguments);
532
539
  }
533
540
 
534
541
  function _objectWithoutPropertiesLoose$2(source, excluded) {
@@ -1254,7 +1261,7 @@ function ProgressBar(_ref) {
1254
1261
  isIn = _ref.isIn,
1255
1262
  theme = _ref.theme;
1256
1263
 
1257
- var style = _extends$a({}, userStyle, {
1264
+ var style = _extends$9({}, userStyle, {
1258
1265
  animationDuration: delay + "ms",
1259
1266
  animationPlayState: isRunning ? 'running' : 'paused',
1260
1267
  opacity: hide ? 0 : 1
@@ -1531,9 +1538,9 @@ var ToastContainer = function ToastContainer(props) {
1531
1538
  ,
1532
1539
  id: containerId
1533
1540
  }, getToastToRender(function (position, toastList) {
1534
- var containerStyle = !toastList.length ? _extends$a({}, style, {
1541
+ var containerStyle = !toastList.length ? _extends$9({}, style, {
1535
1542
  pointerEvents: 'none'
1536
- }) : _extends$a({}, style);
1543
+ }) : _extends$9({}, style);
1537
1544
  return React.createElement("div", {
1538
1545
  className: getClassName(position),
1539
1546
  style: containerStyle,
@@ -1640,7 +1647,7 @@ function dispatchToast(content, options) {
1640
1647
 
1641
1648
 
1642
1649
  function mergeOptions(type, options) {
1643
- return _extends$a({}, options, {
1650
+ return _extends$9({}, options, {
1644
1651
  type: options && options.type || type,
1645
1652
  toastId: getToastId(options)
1646
1653
  });
@@ -1657,7 +1664,7 @@ function toast(content, options) {
1657
1664
  }
1658
1665
 
1659
1666
  toast.loading = function (content, options) {
1660
- return dispatchToast(content, mergeOptions(TYPE.DEFAULT, _extends$a({
1667
+ return dispatchToast(content, mergeOptions(TYPE.DEFAULT, _extends$9({
1661
1668
  isLoading: true,
1662
1669
  autoClose: false,
1663
1670
  closeOnClick: false,
@@ -1673,7 +1680,7 @@ function handlePromise(promise, _ref2, options) {
1673
1680
  var id;
1674
1681
 
1675
1682
  if (pending) {
1676
- id = isStr(pending) ? toast.loading(pending, options) : toast.loading(pending.render, _extends$a({}, options, pending));
1683
+ id = isStr(pending) ? toast.loading(pending, options) : toast.loading(pending.render, _extends$9({}, options, pending));
1677
1684
  }
1678
1685
 
1679
1686
  var resetParams = {
@@ -1692,7 +1699,7 @@ function handlePromise(promise, _ref2, options) {
1692
1699
  return;
1693
1700
  }
1694
1701
 
1695
- var baseParams = _extends$a({
1702
+ var baseParams = _extends$9({
1696
1703
  type: type
1697
1704
  }, resetParams, options, {
1698
1705
  data: result
@@ -1703,10 +1710,10 @@ function handlePromise(promise, _ref2, options) {
1703
1710
  } : input; // if the id is set we know that it's an update
1704
1711
 
1705
1712
  if (id) {
1706
- toast.update(id, _extends$a({}, baseParams, params));
1713
+ toast.update(id, _extends$9({}, baseParams, params));
1707
1714
  } else {
1708
1715
  // using toast.promise without loading
1709
- toast(params.render, _extends$a({}, baseParams, params));
1716
+ toast(params.render, _extends$9({}, baseParams, params));
1710
1717
  }
1711
1718
 
1712
1719
  return result;
@@ -1730,7 +1737,7 @@ toast.warning = /*#__PURE__*/createToastByType(TYPE.WARNING);
1730
1737
  toast.warn = toast.warning;
1731
1738
 
1732
1739
  toast.dark = function (content, options) {
1733
- return dispatchToast(content, mergeOptions(TYPE.DEFAULT, _extends$a({
1740
+ return dispatchToast(content, mergeOptions(TYPE.DEFAULT, _extends$9({
1734
1741
  theme: 'dark'
1735
1742
  }, options)));
1736
1743
  };
@@ -1787,7 +1794,7 @@ toast.update = function (toastId, options) {
1787
1794
  var oldOptions = toast.props,
1788
1795
  oldContent = toast.content;
1789
1796
 
1790
- var nextOptions = _extends$a({}, oldOptions, options, {
1797
+ var nextOptions = _extends$9({}, oldOptions, options, {
1791
1798
  toastId: options.toastId || toastId,
1792
1799
  updateId: generateToastId()
1793
1800
  });
@@ -4063,25 +4070,6 @@ var Modal = function (_a) {
4063
4070
  }, id: "popup", className: "".concat(rootClassName, " popup ").concat(modal ? 'modal' : ''), style: __assign({}, style) }, { children: children })), document.getElementById('visible-modal'));
4064
4071
  };
4065
4072
 
4066
- var _defs, _use;
4067
- function _extends$9() { _extends$9 = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$9.apply(this, arguments); }
4068
- var SvgIcClose = function SvgIcClose(props) {
4069
- return /*#__PURE__*/React__namespace.createElement("svg", _extends$9({
4070
- xmlns: "http://www.w3.org/2000/svg",
4071
- xmlnsXlink: "http://www.w3.org/1999/xlink",
4072
- width: "1em",
4073
- height: "1em",
4074
- viewBox: "0 0 24 24"
4075
- }, props), _defs || (_defs = /*#__PURE__*/React__namespace.createElement("defs", null, /*#__PURE__*/React__namespace.createElement("path", {
4076
- id: "ic-close_svg__a",
4077
- className: "ic-close_svg__stroke-color",
4078
- d: "M18.295 5.705a.997.997 0 0 0-1.41 0L12 10.59 7.115 5.705a.997.997 0 1 0-1.41 1.41L10.59 12l-4.885 4.885a.997.997 0 1 0 1.41 1.41L12 13.41l4.885 4.885a.997.997 0 0 0 1.41-1.41L13.41 12l4.885-4.885a.997.997 0 0 0 0-1.41z"
4079
- }))), _use || (_use = /*#__PURE__*/React__namespace.createElement("use", {
4080
- fill: "#999",
4081
- xlinkHref: "#ic-close_svg__a",
4082
- fillRule: "evenodd"
4083
- })));
4084
- };
4085
4073
  var close = "data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%20%20%20%20%3Cdefs%3E%20%20%20%20%20%20%20%20%3Cpath%20id%3D%22a%22%20class%3D%22stroke-color%22%20d%3D%22M18.295%205.705a.997.997%200%200%200-1.41%200L12%2010.59%207.115%205.705a.997.997%200%201%200-1.41%201.41L10.59%2012l-4.885%204.885a.997.997%200%201%200%201.41%201.41L12%2013.41l4.885%204.885a.997.997%200%200%200%201.41-1.41L13.41%2012l4.885-4.885a.997.997%200%200%200%200-1.41z%22%2F%3E%20%20%20%20%3C%2Fdefs%3E%20%20%20%20%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%20%20%20%20%20%20%20%20%3Cpath%20d%3D%22%22%2F%3E%20%20%20%20%20%20%20%20%3Cuse%20fill%3D%22%23999%22%20xlink%3Ahref%3D%22%23a%22%2F%3E%20%20%20%20%3C%2Fg%3E%3C%2Fsvg%3E";
4086
4074
 
4087
4075
  var OpaqueModal = /** @class */ (function (_super) {
@@ -8621,7 +8609,7 @@ var TagLabelValueSelector = function (_a) {
8621
8609
  ? !validationRules.propagateTagKey(selectedValue).isValid
8622
8610
  : _tagData.value !== '';
8623
8611
  }
8624
- else if (selectedValue) {
8612
+ else if (selectedValue || isRequired) {
8625
8613
  _tagData.isInvalidValue = !validationRules.propagateTagValue(selectedValue).isValid;
8626
8614
  _tagData.isInvalidKey = !_tagData.key || _tagData.isInvalidKey;
8627
8615
  }
@@ -8660,7 +8648,7 @@ var TagLabelValueSelector = function (_a) {
8660
8648
  if (tagOptions === null || tagOptions === void 0 ? void 0 : tagOptions.length) {
8661
8649
  var filteredTags = tagOptions.filter(function (tag) { return tag.value.indexOf(selectedValue) >= 0; });
8662
8650
  if (filteredTags.length) {
8663
- return (jsxRuntime.jsx("div", { children: filteredTags.map(function (tag, index) { return (jsxRuntime.jsx("div", __assign({ "data-key": tag.label, className: "dc__hover-n50 lh-20 fs-13 fw-6 pt-6 pr-8 pb-6 pl-8 cursor", onClick: onSelectValue }, { children: tag.label }), "".concat(tag.value, "-").concat(index))); }) }));
8651
+ return (jsxRuntime.jsx("div", { children: filteredTags.map(function (tag, index) { return (jsxRuntime.jsx("div", __assign({ "data-key": tag.label, className: "dc__hover-n50 lh-20 fs-13 fw-4 pt-6 pr-8 pb-6 pl-8 cursor", onClick: onSelectValue }, { children: tag.label }), "".concat(tag.value, "-").concat(index))); }) }));
8664
8652
  }
8665
8653
  }
8666
8654
  return renderValidationsSuggestions();
@@ -8685,7 +8673,7 @@ var TagDetails = function (_a) {
8685
8673
  _tagData.propagate = !_tagData.propagate;
8686
8674
  setTagData(index, _tagData);
8687
8675
  };
8688
- return (jsxRuntime.jsxs("div", __assign({ className: "flexbox mb-8" }, { children: [jsxRuntime.jsx("div", __assign({ className: "dc__border h-30 pl-4 pr-4 br-4 mr-8 pointer ".concat(tagData.propagate ? 'bcn-7' : ''), onClick: propagateTagToResource }, { children: jsxRuntime.jsx(SvgInjectTag, { className: "icon-dim-20 mt-4 ".concat(tagData.propagate ? 'scn-0' : '') }) })), jsxRuntime.jsx(TagLabelValueSelector, { selectedTagIndex: index, tagData: tagData, setTagData: setTagData, tagInputType: exports.KEY_VALUE.KEY, placeholder: "Enter key", tabIndex: tabIndex - 1, refVar: keyRef, dependentRef: valueRef, tagOptions: suggestedTagsOptions }), jsxRuntime.jsx(TagLabelValueSelector, { selectedTagIndex: index, tagData: tagData, setTagData: setTagData, tagInputType: exports.KEY_VALUE.VALUE, placeholder: "Enter value", tabIndex: tabIndex, refVar: valueRef, dependentRef: keyRef }), jsxRuntime.jsx("div", __assign({ className: "dc__border pl-4 pr-4 dc__right-radius-4 pointer flex top", onClick: deleteTag }, { children: jsxRuntime.jsx(SvgIcClose, { className: "icon-dim-20 mt-4" }) }))] })));
8676
+ return (jsxRuntime.jsxs("div", __assign({ className: "flexbox mb-8" }, { children: [jsxRuntime.jsx("div", __assign({ className: "dc__border h-30 pl-4 pr-4 br-4 mr-8 pointer ".concat(tagData.propagate ? 'bcn-7' : ''), onClick: propagateTagToResource }, { children: jsxRuntime.jsx(SvgInjectTag, { className: "icon-dim-20 mt-4 ".concat(tagData.propagate ? 'scn-0' : '') }) })), jsxRuntime.jsx(TagLabelValueSelector, { selectedTagIndex: index, tagData: tagData, setTagData: setTagData, tagInputType: exports.KEY_VALUE.KEY, placeholder: "Enter key", tabIndex: tabIndex - 1, refVar: keyRef, dependentRef: valueRef, tagOptions: suggestedTagsOptions }), jsxRuntime.jsx(TagLabelValueSelector, { selectedTagIndex: index, tagData: tagData, setTagData: setTagData, tagInputType: exports.KEY_VALUE.VALUE, placeholder: "Enter value", tabIndex: tabIndex, refVar: valueRef, dependentRef: keyRef }), jsxRuntime.jsx("div", __assign({ className: "dc__border pl-4 pr-4 dc__right-radius-4 pointer flex top", onClick: deleteTag }, { children: jsxRuntime.jsx(SvgIcCross, { className: "icon-dim-20 mt-4" }) }))] })));
8689
8677
  };
8690
8678
 
8691
8679
  var _path$1;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@devtron-labs/devtron-fe-common-lib",
3
- "version": "0.0.6-beta-26",
3
+ "version": "0.0.7",
4
4
  "description": "Supporting common component library",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {
@@ -8,31 +8,38 @@ export const DOCUMENTATION = {
8
8
  }
9
9
 
10
10
  export const PATTERNS = {
11
- KUBERNETES_KEY_PREFIX: /^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$/,
12
- KUBERNETES_KEY_NAME: /^(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$/,
13
- START_END_ALPHANUMERIC: /^([Az09].*[A-Za-z0-9])$|[A-Za-z0-9]$/,
14
- ALPHANUMERIC_WITH_SPECIAL_CHAR: /^[A-Za-z0-9._-]+$/, // allow alphanumeric,(.) ,(-),(_)
11
+ KUBERNETES_KEY_PREFIX: /^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$/,
12
+ KUBERNETES_KEY_NAME: /^(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$/,
13
+ START_END_ALPHANUMERIC: /^([Az09].*[A-Za-z0-9])$|[A-Za-z0-9]$/,
14
+ ALPHANUMERIC_WITH_SPECIAL_CHAR: /^[A-Za-z0-9._-]+$/, // allow alphanumeric,(.) ,(-),(_)
15
15
  }
16
16
 
17
17
  export const ROUTES = {
18
- PROJECT_LIST_MIN: 'team/autocomplete',
18
+ PROJECT_LIST_MIN: 'team/autocomplete',
19
19
  }
20
20
 
21
21
  export enum KEY_VALUE {
22
- KEY= 'key',
23
- VALUE= 'value'
22
+ KEY = 'key',
23
+ VALUE = 'value',
24
24
  }
25
25
 
26
- export const DEFAULT_TAG_DATA = { key: '', value: '', propagate: false, isInvalidKey: false, isInvalidValue: false }
26
+ export const DEFAULT_TAG_DATA = {
27
+ key: '',
28
+ value: '',
29
+ propagate: false,
30
+ isInvalidKey: false,
31
+ isInvalidValue: false,
32
+ isSuggested: true,
33
+ }
27
34
 
28
35
  export const TOAST_ACCESS_DENIED = {
29
- TITLE: 'Access denied',
30
- SUBTITLE: 'You do not have required access to perform this action',
36
+ TITLE: 'Access denied',
37
+ SUBTITLE: 'You do not have required access to perform this action',
31
38
  }
32
39
 
33
40
  // Empty state messgaes
34
41
  export const ERROR_EMPTY_SCREEN = {
35
- PAGE_NOT_FOUND: 'We could not find this page',
36
- PAGE_NOT_EXIST: 'This page doesn’t exist or was removed. We suggest you go back to home',
37
- TAKE_BACK_HOME: 'Take me home',
38
- }
42
+ PAGE_NOT_FOUND: 'We could not find this page',
43
+ PAGE_NOT_EXIST: 'This page doesn’t exist or was removed. We suggest you go back to home',
44
+ TAKE_BACK_HOME: 'Take me home',
45
+ }
@@ -1,5 +1,5 @@
1
1
  import React, { useRef } from 'react'
2
- import { ReactComponent as DeleteCross } from '../../Assets/Icon/ic-close.svg'
2
+ import { ReactComponent as DeleteCross } from '../../Assets/Icon/ic-cross.svg'
3
3
  import { ReactComponent as InjectTag } from '../../Assets/Icon/inject-tag.svg'
4
4
  import { TagLabelValueSelector } from './TagLabelValueSelector'
5
5
  import { KEY_VALUE } from '../Constants'
@@ -46,7 +46,7 @@ export const TagLabelValueSelector = ({
46
46
  _tagData.isInvalidKey = selectedValue
47
47
  ? !validationRules.propagateTagKey(selectedValue).isValid
48
48
  : _tagData.value !== ''
49
- } else if (selectedValue) {
49
+ } else if (selectedValue || isRequired) {
50
50
  _tagData.isInvalidValue = !validationRules.propagateTagValue(selectedValue).isValid
51
51
  _tagData.isInvalidKey = !_tagData.key || _tagData.isInvalidKey
52
52
  } else {
@@ -112,7 +112,7 @@ export const TagLabelValueSelector = ({
112
112
  <div
113
113
  key={`${tag.value}-${index}`}
114
114
  data-key={tag.label}
115
- className="dc__hover-n50 lh-20 fs-13 fw-6 pt-6 pr-8 pb-6 pl-8 cursor"
115
+ className="dc__hover-n50 lh-20 fs-13 fw-4 pt-6 pr-8 pb-6 pl-8 cursor"
116
116
  onClick={onSelectValue}
117
117
  >
118
118
  {tag.label}