@rh-support/components 1.1.80 → 1.1.83

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/lib/cjs/ErrorBoundary/ErrorBoundary.d.ts.map +1 -1
  2. package/lib/cjs/ErrorBoundary/ErrorBoundary.js +4 -3
  3. package/lib/cjs/TopContentSearch/TopContentSearch.d.ts.map +1 -1
  4. package/lib/cjs/TopContentSearch/TopContentSearch.js +1 -2
  5. package/lib/cjs/index.d.ts +0 -2
  6. package/lib/cjs/index.d.ts.map +1 -1
  7. package/lib/cjs/index.js +0 -2
  8. package/lib/esm/ErrorBoundary/ErrorBoundary.d.ts.map +1 -1
  9. package/lib/esm/ErrorBoundary/ErrorBoundary.js +3 -2
  10. package/lib/esm/TopContentSearch/TopContentSearch.d.ts.map +1 -1
  11. package/lib/esm/TopContentSearch/TopContentSearch.js +1 -2
  12. package/lib/esm/index.d.ts +0 -2
  13. package/lib/esm/index.d.ts.map +1 -1
  14. package/lib/esm/index.js +0 -2
  15. package/package.json +8 -10
  16. package/lib/cjs/Input/Input.css +0 -4
  17. package/lib/cjs/Input/Input.d.ts +0 -21
  18. package/lib/cjs/Input/Input.d.ts.map +0 -1
  19. package/lib/cjs/Input/Input.js +0 -101
  20. package/lib/cjs/Input/index.d.ts +0 -2
  21. package/lib/cjs/Input/index.d.ts.map +0 -1
  22. package/lib/cjs/Input/index.js +0 -13
  23. package/lib/cjs/ProductOnlySelector/ProductOnlyDropdownSelector.d.ts +0 -11
  24. package/lib/cjs/ProductOnlySelector/ProductOnlyDropdownSelector.d.ts.map +0 -1
  25. package/lib/cjs/ProductOnlySelector/ProductOnlyDropdownSelector.js +0 -71
  26. package/lib/cjs/ProductOnlySelector/ProductOnlySelector.d.ts +0 -8
  27. package/lib/cjs/ProductOnlySelector/ProductOnlySelector.d.ts.map +0 -1
  28. package/lib/cjs/ProductOnlySelector/ProductOnlySelector.js +0 -164
  29. package/lib/cjs/ProductOnlySelector/README.md +0 -0
  30. package/lib/cjs/ProductOnlySelector/index.d.ts +0 -3
  31. package/lib/cjs/ProductOnlySelector/index.d.ts.map +0 -1
  32. package/lib/cjs/ProductOnlySelector/index.js +0 -14
  33. package/lib/cjs/ProductOnlySelector/productOnlySelector.css +0 -156
  34. package/lib/esm/Input/Input.css +0 -4
  35. package/lib/esm/Input/Input.d.ts +0 -21
  36. package/lib/esm/Input/Input.d.ts.map +0 -1
  37. package/lib/esm/Input/Input.js +0 -48
  38. package/lib/esm/Input/index.d.ts +0 -2
  39. package/lib/esm/Input/index.d.ts.map +0 -1
  40. package/lib/esm/Input/index.js +0 -1
  41. package/lib/esm/ProductOnlySelector/ProductOnlyDropdownSelector.d.ts +0 -11
  42. package/lib/esm/ProductOnlySelector/ProductOnlyDropdownSelector.d.ts.map +0 -1
  43. package/lib/esm/ProductOnlySelector/ProductOnlyDropdownSelector.js +0 -29
  44. package/lib/esm/ProductOnlySelector/ProductOnlySelector.d.ts +0 -8
  45. package/lib/esm/ProductOnlySelector/ProductOnlySelector.d.ts.map +0 -1
  46. package/lib/esm/ProductOnlySelector/ProductOnlySelector.js +0 -79
  47. package/lib/esm/ProductOnlySelector/README.md +0 -0
  48. package/lib/esm/ProductOnlySelector/index.d.ts +0 -3
  49. package/lib/esm/ProductOnlySelector/index.d.ts.map +0 -1
  50. package/lib/esm/ProductOnlySelector/index.js +0 -2
  51. package/lib/esm/ProductOnlySelector/productOnlySelector.css +0 -156
@@ -1,164 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
- }) : (function(o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- o[k2] = m[k];
8
- }));
9
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
- Object.defineProperty(o, "default", { enumerable: true, value: v });
11
- }) : function(o, v) {
12
- o["default"] = v;
13
- });
14
- var __importStar = (this && this.__importStar) || function (mod) {
15
- if (mod && mod.__esModule) return mod;
16
- var result = {};
17
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
- __setModuleDefault(result, mod);
19
- return result;
20
- };
21
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
22
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
23
- return new (P || (P = Promise))(function (resolve, reject) {
24
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
25
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
26
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
27
- step((generator = generator.apply(thisArg, _arguments || [])).next());
28
- });
29
- };
30
- var __generator = (this && this.__generator) || function (thisArg, body) {
31
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
32
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
33
- function verb(n) { return function (v) { return step([n, v]); }; }
34
- function step(op) {
35
- if (f) throw new TypeError("Generator is already executing.");
36
- while (_) try {
37
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
38
- if (y = 0, t) op = [op[0] & 2, t.value];
39
- switch (op[0]) {
40
- case 0: case 1: t = op; break;
41
- case 4: _.label++; return { value: op[1], done: false };
42
- case 5: _.label++; y = op[1]; op = [0]; continue;
43
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
44
- default:
45
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
46
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
47
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
48
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
49
- if (t[2]) _.ops.pop();
50
- _.trys.pop(); continue;
51
- }
52
- op = body.call(thisArg, _);
53
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
54
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
55
- }
56
- };
57
- var __read = (this && this.__read) || function (o, n) {
58
- var m = typeof Symbol === "function" && o[Symbol.iterator];
59
- if (!m) return o;
60
- var i = m.call(o), r, ar = [], e;
61
- try {
62
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
63
- }
64
- catch (error) { e = { error: error }; }
65
- finally {
66
- try {
67
- if (r && !r.done && (m = i["return"])) m.call(i);
68
- }
69
- finally { if (e) throw e.error; }
70
- }
71
- return ar;
72
- };
73
- var __spreadArray = (this && this.__spreadArray) || function (to, from) {
74
- for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
75
- to[j] = from[i];
76
- return to;
77
- };
78
- var __importDefault = (this && this.__importDefault) || function (mod) {
79
- return (mod && mod.__esModule) ? mod : { "default": mod };
80
- };
81
- Object.defineProperty(exports, "__esModule", { value: true });
82
- exports.ProductOnlySelector = void 0;
83
- require("./productOnlySelector.css");
84
- var hydrajs_1 = require("@cee-eng/hydrajs");
85
- var utils_1 = require("@rh-support/utils");
86
- var isEmpty_1 = __importDefault(require("lodash/isEmpty"));
87
- var react_1 = __importStar(require("react"));
88
- var react_i18next_1 = require("react-i18next");
89
- var AlertMessage_1 = require("../AlertMessage");
90
- var LoadingIndicator_1 = require("../LoadingIndicator");
91
- var ProductOnlyDropdownSelector_1 = require("./ProductOnlyDropdownSelector");
92
- var initialProductResponse = {
93
- topProducts: [],
94
- otherProducts: [],
95
- productsResult: [],
96
- };
97
- var defaultSelectedProduct = {
98
- featuredVersion: '',
99
- product: '',
100
- versions: [],
101
- isTopProduct: false,
102
- isEntitledProduct: true,
103
- };
104
- function ProductOnlySelector(props) {
105
- var _this = this;
106
- var t = react_i18next_1.useTranslation().t;
107
- var _a = __read(react_1.useState(utils_1.getApiResourceObject(initialProductResponse)), 2), allProducts = _a[0], setAllProducts = _a[1];
108
- react_1.useEffect(function () {
109
- var fetchProducts = function () { return __awaiter(_this, void 0, void 0, function () {
110
- var response, allProducts_1, e_1;
111
- return __generator(this, function (_a) {
112
- switch (_a.label) {
113
- case 0:
114
- _a.trys.push([0, 2, , 3]);
115
- setAllProducts(utils_1.getApiResourceObject(initialProductResponse, true));
116
- return [4 /*yield*/, hydrajs_1.products.getSEProductsList()];
117
- case 1:
118
- response = _a.sent();
119
- allProducts_1 = utils_1.handleProductSearchResponse(response);
120
- setAllProducts(utils_1.getApiResourceObject(allProducts_1));
121
- return [3 /*break*/, 3];
122
- case 2:
123
- e_1 = _a.sent();
124
- setAllProducts(utils_1.getApiResourceObject(initialProductResponse, false, true, e_1.message));
125
- return [3 /*break*/, 3];
126
- case 3: return [2 /*return*/];
127
- }
128
- });
129
- }); };
130
- if (utils_1.haventLoadedMetadata(allProducts, function (data) { return isEmpty_1.default(data.productsResult); }))
131
- fetchProducts();
132
- }, [allProducts]);
133
- var productChanged = function (product) {
134
- props.onProductChange(product);
135
- };
136
- var productClicked = function (selectedProduct) { return function () {
137
- productChanged(selectedProduct);
138
- }; };
139
- function onProductChangeForOtherProducts(selectedProduct) {
140
- productChanged(selectedProduct.product);
141
- }
142
- function renderItem(id, selectedProduct) {
143
- if (Array.isArray(selectedProduct)) {
144
- return (react_1.default.createElement(ProductOnlyDropdownSelector_1.ProductOnlyDropdownSelector, { htmlForId: id, key: id, products: selectedProduct, selectedProduct: defaultSelectedProduct, onProductChange: onProductChangeForOtherProducts }));
145
- }
146
- else {
147
- var uniqueID = selectedProduct.product.replace(/\s+/g, '-').replace('.', '').toLowerCase();
148
- return (react_1.default.createElement("button", { key: uniqueID, className: "btn product-btn product-btn-flex", onClick: productClicked(selectedProduct.product) }, selectedProduct.product));
149
- }
150
- }
151
- return (react_1.default.createElement(react_1.default.Fragment, null,
152
- react_1.default.createElement(LoadingIndicator_1.LoadingIndicator, { show: allProducts.isFetching, size: "lg" }),
153
- react_1.default.createElement(AlertMessage_1.AlertMessage, { variant: AlertMessage_1.AlertType.DANGER, className: "push-top", title: t('There was an error loading products.'), show: allProducts.isError }),
154
- !isEmpty_1.default(allProducts.data.topProducts) && (react_1.default.createElement("div", null,
155
- react_1.default.createElement("h2", null,
156
- react_1.default.createElement(react_i18next_1.Trans, null, "Troubleshoot a product issue")),
157
- react_1.default.createElement("div", { className: "product-dropdown rh-l-grid rh-m-gutters rh-m-all-6-col-on-sm push-top-narrow", "data-cp-grid": "md-2-cols" }, __spreadArray(__spreadArray([], __read(allProducts.data.topProducts)), [allProducts.data.otherProducts]).map(function (item, i) {
158
- if (Array.isArray(item) && item.length === 0) {
159
- return null;
160
- }
161
- return renderItem("product-selector-" + i, item);
162
- }))))));
163
- }
164
- exports.ProductOnlySelector = ProductOnlySelector;
File without changes
@@ -1,3 +0,0 @@
1
- export * from './ProductOnlySelector';
2
- export * from './ProductOnlyDropdownSelector';
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ProductOnlySelector/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,+BAA+B,CAAC"}
@@ -1,14 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
- }) : (function(o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- o[k2] = m[k];
8
- }));
9
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
- };
12
- Object.defineProperty(exports, "__esModule", { value: true });
13
- __exportStar(require("./ProductOnlySelector"), exports);
14
- __exportStar(require("./ProductOnlyDropdownSelector"), exports);
@@ -1,156 +0,0 @@
1
- .subheading {
2
- font-weight: 600;
3
- font-size: 13.5px;
4
- color: #333;
5
- letter-spacing: 0.25px;
6
- }
7
-
8
- h3.subheading-sm {
9
- font-size: 14px;
10
- }
11
-
12
- h2 {
13
- margin-bottom: 4px;
14
- margin-top: 0;
15
- }
16
-
17
- h2 label {
18
- margin-bottom: 0;
19
- font-weight: 600;
20
- }
21
-
22
- a[target='_blank']::after {
23
- content: ' ' !important;
24
- }
25
-
26
- a[target='_blank'].show-target::after {
27
- content: '\27' !important;
28
- }
29
-
30
- button.btn-app {
31
- padding: 6px 30px;
32
- }
33
-
34
- .pull-top-x-wide {
35
- margin-top: -110px !important;
36
- }
37
-
38
- .push-top-x-wide {
39
- margin-top: 75px !important;
40
- }
41
-
42
- /* product selector */
43
-
44
- .product-btn,
45
- .product-box {
46
- -ms-flex: 1 0 82%;
47
- flex: 1 0 82%;
48
- width: 100%;
49
- padding: 1em 1.2em 1.1em;
50
- background-color: #ededed;
51
- border: none;
52
- border-left: 2px solid #06c;
53
- font-size: 0.93rem;
54
- text-align: left;
55
- font-weight: 500;
56
- line-height: 1.45;
57
- color: #252525;
58
- text-transform: capitalize;
59
- -webkit-font-smoothing: subpixel-antialiased;
60
- letter-spacing: 0.3px;
61
- }
62
-
63
- .product-btn-flex {
64
- -ms-flex: 1 0 82%;
65
- flex: 1 0 82%;
66
- }
67
-
68
- .product-btn:hover,
69
- .product-btn:focus,
70
- .product-btn:hover + .v-dropdown .btn-dropdown,
71
- .product-btn:focus + .v-dropdown .btn-dropdown,
72
- .v-dropdown .btn-dropdown:hover,
73
- .v-dropdown .btn-dropdown:focus {
74
- background-color: #007cbc;
75
- border: none;
76
- color: #fff;
77
- outline: none;
78
- }
79
-
80
- .product-btn:hover,
81
- .product-btn:focus {
82
- border-left: 2px solid #007cbc;
83
- }
84
-
85
- .v-dropdown .btn-dropdown:hover,
86
- .v-dropdown .btn-dropdown:focus {
87
- border-left: 1px solid #007cbc;
88
- transition-duration: 0.3s;
89
- transition-property: border;
90
- }
91
-
92
- .product-btn:focus {
93
- outline: none;
94
- }
95
-
96
- .product-btn:hover + .v-dropdown .btn-dropdown,
97
- .product-btn:focus + .v-dropdown .btn-dropdown {
98
- border-left: 1px solid #ededed !important;
99
- }
100
-
101
- @media (min-width: 768px) {
102
- .product-btn-flex {
103
- -ms-flex: 1 0 78%;
104
- flex: 1 0 78%;
105
- }
106
-
107
- .v-dropdown {
108
- -ms-flex: 1 0 22%;
109
- flex: 1 0 22%;
110
- }
111
-
112
- .version-text {
113
- text-transform: uppercase;
114
- }
115
-
116
- .v-dropdown .btn-dropdown .prodversion {
117
- margin-left: 0.3em;
118
- }
119
- }
120
-
121
- /* selected product + search */
122
-
123
- .product-selected {
124
- margin-top: 0;
125
- }
126
-
127
- .product-selected .searchField {
128
- border-color: #ccc;
129
- height: 42px;
130
- padding-top: 4.5px;
131
- }
132
-
133
- .product-selected span.icon-remove {
134
- float: right;
135
- position: relative;
136
- right: -0.5em;
137
- top: -0.5em;
138
- padding: 0.5em;
139
- font-size: 1.2em;
140
- line-height: 1.38;
141
- cursor: pointer;
142
- height: 100%;
143
- }
144
-
145
- .product-selected .selectedProduct {
146
- padding: 0.8em;
147
- color: #333;
148
- text-align: left;
149
- background-color: #f0f0f0;
150
- word-wrap: break-word;
151
- margin-bottom: 25px;
152
- }
153
-
154
- .product-only .downshift-search input {
155
- padding: 1em 0.75em;
156
- }
@@ -1,4 +0,0 @@
1
- /* This is needed to get rid of the patternfly select toggle to make it look like an input. */
2
- .input-container > .pf-c-select__toggle > .pf-c-select__toggle-button {
3
- display: none !important;
4
- }
@@ -1,21 +0,0 @@
1
- import '@patternfly/patternfly/components/Button/button.css';
2
- import './Input.css';
3
- import { IDClassNameProps } from '@rh-support/types/shared';
4
- import React from 'react';
5
- interface IProps extends IDClassNameProps {
6
- ariaLabel?: string;
7
- isDisabled?: boolean;
8
- placeholder?: string;
9
- onChange: (input: string) => void;
10
- debounce?: number;
11
- hasToggleIcon?: boolean;
12
- icon?: JSX.Element;
13
- isSpaceAllowed?: boolean;
14
- isRequired?: boolean;
15
- maxLength?: number;
16
- type?: string;
17
- children?: React.ReactElement<any, string | React.JSXElementConstructor<any>>[];
18
- }
19
- export declare const Input: (props: IProps) => JSX.Element;
20
- export {};
21
- //# sourceMappingURL=Input.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Input.d.ts","sourceRoot":"","sources":["../../../src/Input/Input.tsx"],"names":[],"mappings":"AAAA,OAAO,qDAAqD,CAAC;AAC7D,OAAO,aAAa,CAAC;AAGrB,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAG5D,OAAO,KAAmB,MAAM,OAAO,CAAC;AAExC,UAAU,MAAO,SAAQ,gBAAgB;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,IAAI,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;IACnB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;CACnF;AACD,eAAO,MAAM,KAAK,UAAW,MAAM,gBAiElC,CAAC"}
@@ -1,48 +0,0 @@
1
- import '@patternfly/patternfly/components/Button/button.css';
2
- import './Input.css';
3
- import { Select, SelectVariant } from '@patternfly/react-core';
4
- import { isEmpty } from 'lodash';
5
- import debounce from 'lodash/debounce';
6
- import React, { useState } from 'react';
7
- export const Input = (props) => {
8
- const classname = 'input-container';
9
- const [input, setInput] = useState('');
10
- const onMultiSelect = () => null;
11
- const onClear = () => {
12
- setInput('');
13
- props.onChange('');
14
- setIsInputValid('');
15
- };
16
- const [isSpaceAllowedLocal, setIsSpaceAllowedLocal] = useState(false);
17
- const [isInputValid, setIsInputValid] = useState('');
18
- const validityCheck = (event) => {
19
- props.isSpaceAllowed ? setIsSpaceAllowedLocal(true) : setIsSpaceAllowedLocal(false);
20
- const diabledCheckForSpaceAllowed = isSpaceAllowedLocal
21
- ? isEmpty(event.target.value)
22
- : isEmpty(event.target.value.trim());
23
- if (diabledCheckForSpaceAllowed) {
24
- let isValid = 'error';
25
- return isValid;
26
- }
27
- else {
28
- let isValid = 'success';
29
- return isValid;
30
- }
31
- };
32
- const onChange = (event) => {
33
- const isValid = validityCheck(event);
34
- setIsInputValid(isValid);
35
- debounce((e) => {
36
- if (props.isSpaceAllowed) {
37
- setInput(e.target.value);
38
- }
39
- else {
40
- setInput(e.target.value.trim());
41
- }
42
- props.onChange(e.target.value);
43
- }, props.debounce || 300)(Object.assign({}, event));
44
- event.preventDefault();
45
- return [];
46
- };
47
- return (React.createElement(Select, { id: props.id, "data-tracking-id": "custom-input-component", className: props.className ? `${classname} ${props.className}` : classname, variant: SelectVariant.typeahead, typeAheadAriaLabel: props.ariaLabel, type: props.type, onToggle: onMultiSelect, onSelect: onMultiSelect, onClear: onClear, onFilter: onChange, selections: input, isOpen: false, placeholderText: props.placeholder, isDisabled: props.isDisabled, toggleIcon: props.hasToggleIcon && props.icon, required: props.isRequired, maxLength: props.maxLength, children: props.children, validated: isInputValid }));
48
- };
@@ -1,2 +0,0 @@
1
- export * from './Input';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Input/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC"}
@@ -1 +0,0 @@
1
- export * from './Input';
@@ -1,11 +0,0 @@
1
- /// <reference types="react" />
2
- import { ISEProduct } from '@cee-eng/hydrajs/@types/models/product';
3
- interface IProps {
4
- products: Partial<ISEProduct>[];
5
- selectedProduct: Partial<ISEProduct>;
6
- onProductChange: (product: Partial<ISEProduct>) => any;
7
- htmlForId: string;
8
- }
9
- export declare function ProductOnlyDropdownSelector(props: IProps): JSX.Element;
10
- export {};
11
- //# sourceMappingURL=ProductOnlyDropdownSelector.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ProductOnlyDropdownSelector.d.ts","sourceRoot":"","sources":["../../../src/ProductOnlySelector/ProductOnlyDropdownSelector.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,wCAAwC,CAAC;AASpE,UAAU,MAAM;IACZ,QAAQ,EAAE,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;IAChC,eAAe,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IACrC,eAAe,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,KAAK,GAAG,CAAC;IACvD,SAAS,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,MAAM,eAyCxD"}
@@ -1,29 +0,0 @@
1
- import { toOption, toOptions } from '@rh-support/utils';
2
- import isEmpty from 'lodash/isEmpty';
3
- import React, { useState } from 'react';
4
- import { useTranslation } from 'react-i18next';
5
- import { Dropdown } from '../DropDownList';
6
- export function ProductOnlyDropdownSelector(props) {
7
- const { t } = useTranslation();
8
- const [isProductInValid, setIsProductInValid] = useState(false);
9
- const onProductChange = (option) => {
10
- props.onProductChange(option.value);
11
- validateProduct(option);
12
- };
13
- const onProductClear = () => {
14
- const defaultSelectedProduct = {
15
- featuredVersion: '',
16
- product: '',
17
- versions: [],
18
- isTopProduct: false,
19
- isEntitledProduct: true,
20
- };
21
- props.onProductChange(defaultSelectedProduct);
22
- validateProduct(toOption(defaultSelectedProduct, { labelKey: 'product' }));
23
- };
24
- const validateProduct = (selectedItem) => {
25
- setIsProductInValid(isEmpty(selectedItem) || isEmpty(selectedItem.label));
26
- };
27
- return (React.createElement("label", { htmlFor: props.htmlForId, className: "product-btn-flex" },
28
- React.createElement(Dropdown, { className: `product-dropdown product-only`, id: "products-only", placeholder: t('Select another product'), list: props.products ? toOptions(props.products, { labelKey: 'product' }) : [], title: t(`Select another product`), selectedItem: toOption(props.selectedProduct, { labelKey: 'product' }), isInValid: isProductInValid, onChange: onProductChange, onOuterClick: validateProduct, searchable: true, onClearSelection: onProductClear })));
29
- }
@@ -1,8 +0,0 @@
1
- /// <reference types="react" />
2
- import './productOnlySelector.css';
3
- interface IProps {
4
- onProductChange: (product: string) => any;
5
- }
6
- export declare function ProductOnlySelector(props: IProps): JSX.Element;
7
- export {};
8
- //# sourceMappingURL=ProductOnlySelector.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ProductOnlySelector.d.ts","sourceRoot":"","sources":["../../../src/ProductOnlySelector/ProductOnlySelector.tsx"],"names":[],"mappings":";AAAA,OAAO,2BAA2B,CAAC;AAkBnC,UAAU,MAAM;IACZ,eAAe,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,GAAG,CAAC;CAC7C;AAeD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,eAmFhD"}
@@ -1,79 +0,0 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
- import './productOnlySelector.css';
11
- import { products } from '@cee-eng/hydrajs';
12
- import { getApiResourceObject, handleProductSearchResponse, haventLoadedMetadata, } from '@rh-support/utils';
13
- import isEmpty from 'lodash/isEmpty';
14
- import React, { useEffect, useState } from 'react';
15
- import { Trans, useTranslation } from 'react-i18next';
16
- import { AlertMessage, AlertType } from '../AlertMessage';
17
- import { LoadingIndicator } from '../LoadingIndicator';
18
- import { ProductOnlyDropdownSelector } from './ProductOnlyDropdownSelector';
19
- const initialProductResponse = {
20
- topProducts: [],
21
- otherProducts: [],
22
- productsResult: [],
23
- };
24
- const defaultSelectedProduct = {
25
- featuredVersion: '',
26
- product: '',
27
- versions: [],
28
- isTopProduct: false,
29
- isEntitledProduct: true,
30
- };
31
- export function ProductOnlySelector(props) {
32
- const { t } = useTranslation();
33
- const [allProducts, setAllProducts] = useState(getApiResourceObject(initialProductResponse));
34
- useEffect(() => {
35
- const fetchProducts = () => __awaiter(this, void 0, void 0, function* () {
36
- try {
37
- setAllProducts(getApiResourceObject(initialProductResponse, true));
38
- const response = yield products.getSEProductsList();
39
- const allProducts = handleProductSearchResponse(response);
40
- setAllProducts(getApiResourceObject(allProducts));
41
- }
42
- catch (e) {
43
- setAllProducts(getApiResourceObject(initialProductResponse, false, true, e.message));
44
- }
45
- });
46
- if (haventLoadedMetadata(allProducts, (data) => isEmpty(data.productsResult)))
47
- fetchProducts();
48
- }, [allProducts]);
49
- const productChanged = (product) => {
50
- props.onProductChange(product);
51
- };
52
- const productClicked = (selectedProduct) => () => {
53
- productChanged(selectedProduct);
54
- };
55
- function onProductChangeForOtherProducts(selectedProduct) {
56
- productChanged(selectedProduct.product);
57
- }
58
- function renderItem(id, selectedProduct) {
59
- if (Array.isArray(selectedProduct)) {
60
- return (React.createElement(ProductOnlyDropdownSelector, { htmlForId: id, key: id, products: selectedProduct, selectedProduct: defaultSelectedProduct, onProductChange: onProductChangeForOtherProducts }));
61
- }
62
- else {
63
- const uniqueID = selectedProduct.product.replace(/\s+/g, '-').replace('.', '').toLowerCase();
64
- return (React.createElement("button", { key: uniqueID, className: "btn product-btn product-btn-flex", onClick: productClicked(selectedProduct.product) }, selectedProduct.product));
65
- }
66
- }
67
- return (React.createElement(React.Fragment, null,
68
- React.createElement(LoadingIndicator, { show: allProducts.isFetching, size: "lg" }),
69
- React.createElement(AlertMessage, { variant: AlertType.DANGER, className: "push-top", title: t('There was an error loading products.'), show: allProducts.isError }),
70
- !isEmpty(allProducts.data.topProducts) && (React.createElement("div", null,
71
- React.createElement("h2", null,
72
- React.createElement(Trans, null, "Troubleshoot a product issue")),
73
- React.createElement("div", { className: "product-dropdown rh-l-grid rh-m-gutters rh-m-all-6-col-on-sm push-top-narrow", "data-cp-grid": "md-2-cols" }, [...allProducts.data.topProducts, allProducts.data.otherProducts].map((item, i) => {
74
- if (Array.isArray(item) && item.length === 0) {
75
- return null;
76
- }
77
- return renderItem(`product-selector-${i}`, item);
78
- }))))));
79
- }
File without changes
@@ -1,3 +0,0 @@
1
- export * from './ProductOnlySelector';
2
- export * from './ProductOnlyDropdownSelector';
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ProductOnlySelector/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,+BAA+B,CAAC"}
@@ -1,2 +0,0 @@
1
- export * from './ProductOnlySelector';
2
- export * from './ProductOnlyDropdownSelector';