@redhat-cloud-services/frontend-components 3.8.4 → 3.8.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.
Files changed (80) hide show
  1. package/BulkSelect/index.d.ts +1 -0
  2. package/BulkSelect/index.js +11 -0
  3. package/BulkSelect/index.js.map +1 -1
  4. package/ConditionalFilter/CheckboxFilter.d.ts +11 -37
  5. package/ConditionalFilter/CheckboxFilter.js +30 -90
  6. package/ConditionalFilter/CheckboxFilter.js.map +1 -1
  7. package/ConditionalFilter/ConditionalFilter.d.ts +31 -56
  8. package/ConditionalFilter/ConditionalFilter.js +53 -148
  9. package/ConditionalFilter/ConditionalFilter.js.map +1 -1
  10. package/ConditionalFilter/GroupFilter.d.ts +52 -46
  11. package/ConditionalFilter/GroupFilter.js +38 -70
  12. package/ConditionalFilter/GroupFilter.js.map +1 -1
  13. package/ConditionalFilter/RadioFilter.d.ts +11 -36
  14. package/ConditionalFilter/RadioFilter.js +27 -84
  15. package/ConditionalFilter/RadioFilter.js.map +1 -1
  16. package/ConditionalFilter/TextFilter.d.ts +27 -25
  17. package/ConditionalFilter/TextFilter.js +14 -72
  18. package/ConditionalFilter/TextFilter.js.map +1 -1
  19. package/ConditionalFilter/conditionalFilterConstants.d.ts +17 -19
  20. package/ConditionalFilter/conditionalFilterConstants.js.map +1 -1
  21. package/ConditionalFilter/groupFilterConstants.d.ts +47 -7
  22. package/ConditionalFilter/groupFilterConstants.js +62 -58
  23. package/ConditionalFilter/groupFilterConstants.js.map +1 -1
  24. package/ConditionalFilter/groupType.d.ts +8 -7
  25. package/ConditionalFilter/groupType.js.map +1 -1
  26. package/ConditionalFilter/index.d.ts +8 -7
  27. package/ConditionalFilter/index.js.map +1 -1
  28. package/DownloadButton/index.d.ts +1 -0
  29. package/DownloadButton/index.js +11 -0
  30. package/DownloadButton/index.js.map +1 -1
  31. package/FilterChips/FilterChips.d.ts +22 -38
  32. package/FilterChips/FilterChips.js +9 -31
  33. package/FilterChips/FilterChips.js.map +1 -1
  34. package/FilterChips/index.d.ts +3 -1
  35. package/FilterChips/index.js +11 -0
  36. package/FilterChips/index.js.map +1 -1
  37. package/PrimaryToolbar/Actions.d.ts +30 -30
  38. package/PrimaryToolbar/Actions.js +46 -86
  39. package/PrimaryToolbar/Actions.js.map +1 -1
  40. package/PrimaryToolbar/PrimaryToolbar.d.ts +30 -77
  41. package/PrimaryToolbar/PrimaryToolbar.js +40 -111
  42. package/PrimaryToolbar/PrimaryToolbar.js.map +1 -1
  43. package/PrimaryToolbar/SortBy.d.ts +8 -19
  44. package/PrimaryToolbar/SortBy.js +1 -10
  45. package/PrimaryToolbar/SortBy.js.map +1 -1
  46. package/PrimaryToolbar/index.d.ts +6 -4
  47. package/PrimaryToolbar/index.js +1 -0
  48. package/PrimaryToolbar/index.js.map +1 -1
  49. package/esm/BulkSelect/index.js +1 -0
  50. package/esm/BulkSelect/index.js.map +1 -1
  51. package/esm/ConditionalFilter/CheckboxFilter.js +31 -91
  52. package/esm/ConditionalFilter/CheckboxFilter.js.map +1 -1
  53. package/esm/ConditionalFilter/ConditionalFilter.js +55 -150
  54. package/esm/ConditionalFilter/ConditionalFilter.js.map +1 -1
  55. package/esm/ConditionalFilter/GroupFilter.js +38 -70
  56. package/esm/ConditionalFilter/GroupFilter.js.map +1 -1
  57. package/esm/ConditionalFilter/RadioFilter.js +29 -83
  58. package/esm/ConditionalFilter/RadioFilter.js.map +1 -1
  59. package/esm/ConditionalFilter/TextFilter.js +13 -70
  60. package/esm/ConditionalFilter/TextFilter.js.map +1 -1
  61. package/esm/ConditionalFilter/conditionalFilterConstants.js.map +1 -1
  62. package/esm/ConditionalFilter/groupFilterConstants.js +62 -58
  63. package/esm/ConditionalFilter/groupFilterConstants.js.map +1 -1
  64. package/esm/ConditionalFilter/groupType.js.map +1 -1
  65. package/esm/ConditionalFilter/index.js.map +1 -1
  66. package/esm/DownloadButton/index.js +1 -0
  67. package/esm/DownloadButton/index.js.map +1 -1
  68. package/esm/FilterChips/FilterChips.js +9 -31
  69. package/esm/FilterChips/FilterChips.js.map +1 -1
  70. package/esm/FilterChips/index.js +1 -0
  71. package/esm/FilterChips/index.js.map +1 -1
  72. package/esm/PrimaryToolbar/Actions.js +46 -86
  73. package/esm/PrimaryToolbar/Actions.js.map +1 -1
  74. package/esm/PrimaryToolbar/PrimaryToolbar.js +41 -93
  75. package/esm/PrimaryToolbar/PrimaryToolbar.js.map +1 -1
  76. package/esm/PrimaryToolbar/SortBy.js +1 -10
  77. package/esm/PrimaryToolbar/SortBy.js.map +1 -1
  78. package/esm/PrimaryToolbar/index.js +1 -0
  79. package/esm/PrimaryToolbar/index.js.map +1 -1
  80. package/package.json +1 -1
@@ -1,2 +1,3 @@
1
1
  export { default } from './BulkSelect';
2
2
  export { default as BulkSelect } from './BulkSelect';
3
+ export * from './BulkSelect';
@@ -1,4 +1,14 @@
1
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
+ };
2
12
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
13
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
14
  };
@@ -8,4 +18,5 @@ var BulkSelect_1 = require("./BulkSelect");
8
18
  Object.defineProperty(exports, "default", { enumerable: true, get: function () { return __importDefault(BulkSelect_1).default; } });
9
19
  var BulkSelect_2 = require("./BulkSelect");
10
20
  Object.defineProperty(exports, "BulkSelect", { enumerable: true, get: function () { return __importDefault(BulkSelect_2).default; } });
21
+ __exportStar(require("./BulkSelect"), exports);
11
22
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/BulkSelect/index.ts"],"names":[],"mappings":";;;;;;AAAA,2CAAuC;AAA9B,sHAAA,OAAO,OAAA;AAChB,2CAAqD;AAA5C,yHAAA,OAAO,OAAc"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/BulkSelect/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAuC;AAA9B,sHAAA,OAAO,OAAA;AAChB,2CAAqD;AAA5C,yHAAA,OAAO,OAAc;AAC9B,+CAA6B"}
@@ -1,38 +1,12 @@
1
- export default CheckboxFilter;
2
- declare class CheckboxFilter extends React.Component<any, any, any> {
3
- constructor(props: any);
4
- constructor(props: any, context: any);
5
- onToggle: (isExpanded: any) => void;
6
- calculateSelected: () => any[];
7
- onSelect: (event: any, selection: any) => void;
8
- }
9
- declare namespace CheckboxFilter {
10
- namespace propTypes {
11
- const onChange: PropTypes.Requireable<(...args: any[]) => any>;
12
- const value: PropTypes.Requireable<(string | PropTypes.InferProps<{
13
- label: PropTypes.Requireable<PropTypes.ReactNodeLike>;
14
- value: PropTypes.Requireable<string>;
15
- }> | null | undefined)[]>;
16
- const placeholder: PropTypes.Requireable<string>;
17
- const items: PropTypes.Requireable<(PropTypes.InferProps<{
18
- value: PropTypes.Requireable<string>;
19
- label: PropTypes.Requireable<PropTypes.ReactNodeLike>;
20
- id: PropTypes.Requireable<string>;
21
- onClick: PropTypes.Requireable<(...args: any[]) => any>;
22
- }> | null | undefined)[]>;
23
- const isDisabled: PropTypes.Requireable<boolean>;
24
- const className: PropTypes.Requireable<string>;
25
- }
26
- namespace defaultProps {
27
- const items_1: never[];
28
- export { items_1 as items };
29
- const value_1: never[];
30
- export { value_1 as value };
31
- export function onChange_1(): undefined;
32
- export { onChange_1 as onChange };
33
- const isDisabled_1: boolean;
34
- export { isDisabled_1 as isDisabled };
35
- }
1
+ import React from 'react';
2
+ import { FilterItem, FilterValue } from './TextFilter';
3
+ export interface CheckboxFilterProps {
4
+ onChange?: (e: React.MouseEvent | React.ChangeEvent | React.FormEvent<HTMLInputElement>, newSelection: string | FilterValue | (string | FilterValue)[], selection?: string | FilterValue) => void;
5
+ value?: (string | FilterValue)[];
6
+ placeholder?: string;
7
+ items?: FilterItem[];
8
+ isDisabled?: boolean;
9
+ className?: string;
36
10
  }
37
- import React from "react";
38
- import PropTypes from "prop-types";
11
+ declare const CheckboxFilter: React.FunctionComponent<CheckboxFilterProps>;
12
+ export default CheckboxFilter;
@@ -1,19 +1,4 @@
1
1
  "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = function (d, b) {
4
- extendStatics = Object.setPrototypeOf ||
5
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
- return extendStatics(d, b);
8
- };
9
- return function (d, b) {
10
- if (typeof b !== "function" && b !== null)
11
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
- extendStatics(d, b);
13
- function __() { this.constructor = d; }
14
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
- };
16
- })();
17
2
  var __assign = (this && this.__assign) || function () {
18
3
  __assign = Object.assign || function(t) {
19
4
  for (var s, i = 1, n = arguments.length; i < n; i++) {
@@ -69,85 +54,40 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
69
54
  };
70
55
  Object.defineProperty(exports, "__esModule", { value: true });
71
56
  var react_1 = __importStar(require("react"));
72
- var prop_types_1 = __importDefault(require("prop-types"));
73
57
  var react_core_1 = require("@patternfly/react-core");
74
- var TextFilter_1 = __importDefault(require("./TextFilter"));
75
58
  var isEqual_1 = __importDefault(require("lodash/isEqual"));
76
- var CheckboxFilter = (function (_super) {
77
- __extends(CheckboxFilter, _super);
78
- function CheckboxFilter() {
79
- var _this = _super !== null && _super.apply(this, arguments) || this;
80
- _this.state = {
81
- isExpanded: false,
82
- selected: [],
83
- };
84
- _this.onToggle = function (isExpanded) {
85
- _this.setState({
86
- isExpanded: isExpanded,
87
- });
88
- };
89
- _this.calculateSelected = function () {
90
- var selected = _this.state.selected;
91
- var value = _this.props.value;
92
- return Array.from(new Set(__spreadArray(__spreadArray([], (value && value.length > 0 && value.constructor === Array ? value.map(function (item) { return item.value || item; }) : []), true), selected, true)));
93
- };
94
- _this.onSelect = function (event, selection) {
95
- var onChange = _this.props.onChange;
96
- var newSelection = _this.calculateSelected();
97
- if (newSelection.includes(selection)) {
98
- newSelection = newSelection.filter(function (item) { return item !== selection; });
99
- }
100
- else {
101
- newSelection = __spreadArray(__spreadArray([], newSelection, true), [selection], false);
102
- }
103
- onChange(event, newSelection, selection);
104
- _this.setState({ selected: newSelection });
105
- };
106
- return _this;
107
- }
108
- CheckboxFilter.prototype.componentDidUpdate = function (_a) {
109
- var prevSelected = _a.value;
110
- var value = this.props.value;
111
- if (!(0, isEqual_1.default)(prevSelected, value)) {
112
- this.setState({
113
- selected: value,
114
- });
115
- }
59
+ var omit_1 = __importDefault(require("lodash/omit"));
60
+ var TextFilter_1 = __importStar(require("./TextFilter"));
61
+ var CheckboxFilter = function (_a) {
62
+ var _b = _a.items, items = _b === void 0 ? [] : _b, _c = _a.value, value = _c === void 0 ? [] : _c, _d = _a.onChange, onChange = _d === void 0 ? function () { return undefined; } : _d, _e = _a.isDisabled, isDisabled = _e === void 0 ? false : _e, props = __rest(_a, ["items", "value", "onChange", "isDisabled"]);
63
+ var placeholder = props.placeholder, className = props.className;
64
+ var _f = (0, react_1.useState)(false), isExpanded = _f[0], setExpanded = _f[1];
65
+ var _g = (0, react_1.useState)([]), selected = _g[0], setSelected = _g[1];
66
+ var prevSelected = (0, react_1.useRef)(selected);
67
+ var changeSelected = function (value) {
68
+ prevSelected.current = selected;
69
+ setSelected(value);
116
70
  };
117
- CheckboxFilter.prototype.render = function () {
118
- var isExpanded = this.state.isExpanded;
119
- var _a = this.props, items = _a.items, placeholder = _a.placeholder, isDisabled = _a.isDisabled, className = _a.className;
120
- return (react_1.default.createElement(react_1.Fragment, null, !items || (items && items.length <= 0) ? (react_1.default.createElement(TextFilter_1.default, __assign({}, this.props, { value: "".concat(this.calculateSelected()) }))) : (react_1.default.createElement(react_core_1.Select, { className: className, variant: react_core_1.SelectVariant.checkbox, "aria-label": "Select Input", onToggle: this.onToggle, isDisabled: isDisabled, onSelect: this.onSelect, selections: this.calculateSelected(), isOpen: isExpanded, placeholderText: placeholder, ouiaId: placeholder }, items.map(function (_a, key) {
121
- var value = _a.value, onClick = _a.onClick, label = _a.label, id = _a.id, item = __rest(_a, ["value", "onClick", "label", "id"]);
122
- return (react_1.default.createElement(react_core_1.SelectOption, __assign({}, item, { key: id || key, value: String(value || id || key), onClick: function (e) { return onClick && onClick(e, __assign({ value: value, label: label, id: id }, item), key); } }), label));
123
- })))));
71
+ (0, react_1.useEffect)(function () {
72
+ !(0, isEqual_1.default)(prevSelected.current, value) && value && changeSelected(value);
73
+ }, [selected, value]);
74
+ var calculateSelected = function () {
75
+ return Array.from(new Set(__spreadArray(__spreadArray([], (value && value.length > 0 && value.constructor === Array
76
+ ? value.map(function (item) {
77
+ return (0, TextFilter_1.isFilterValue)(item) ? item.value : item;
78
+ })
79
+ : []), true), selected, true)));
124
80
  };
125
- return CheckboxFilter;
126
- }(react_1.Component));
127
- CheckboxFilter.propTypes = {
128
- onChange: prop_types_1.default.func,
129
- value: prop_types_1.default.arrayOf(prop_types_1.default.oneOfType([
130
- prop_types_1.default.string,
131
- prop_types_1.default.shape({
132
- label: prop_types_1.default.node,
133
- value: prop_types_1.default.string,
134
- }),
135
- ])),
136
- placeholder: prop_types_1.default.string,
137
- items: prop_types_1.default.arrayOf(prop_types_1.default.shape({
138
- value: prop_types_1.default.string,
139
- label: prop_types_1.default.node,
140
- id: prop_types_1.default.string,
141
- onClick: prop_types_1.default.func,
142
- })),
143
- isDisabled: prop_types_1.default.bool,
144
- className: prop_types_1.default.string,
145
- };
146
- CheckboxFilter.defaultProps = {
147
- items: [],
148
- value: [],
149
- onChange: function () { return undefined; },
150
- isDisabled: false,
81
+ var onSelect = function (event, selection) {
82
+ var newSelection = calculateSelected();
83
+ newSelection = newSelection.includes(selection) ? newSelection.filter(function (item) { return item !== selection; }) : __spreadArray(__spreadArray([], newSelection, true), [selection], false);
84
+ onChange === null || onChange === void 0 ? void 0 : onChange(event, newSelection, selection);
85
+ changeSelected(newSelection);
86
+ };
87
+ return (react_1.default.createElement(react_1.Fragment, null, !items || (items && items.length <= 0) ? (react_1.default.createElement(TextFilter_1.default, __assign({}, props, { onChange: onChange, isDisabled: isDisabled, value: "".concat(calculateSelected()) }))) : (react_1.default.createElement(react_core_1.Select, { className: className, variant: react_core_1.SelectVariant.checkbox, "aria-label": "Select Input", onToggle: function (isExpanded) { return setExpanded(isExpanded); }, isDisabled: isDisabled, onSelect: function (event, value) { return onSelect(event, value); }, selections: calculateSelected(), isOpen: isExpanded, placeholderText: placeholder, ouiaId: placeholder }, items.map(function (_a, key) {
88
+ var value = _a.value, onClick = _a.onClick, label = _a.label, id = _a.id, item = __rest(_a, ["value", "onClick", "label", "id"]);
89
+ return (react_1.default.createElement(react_core_1.SelectOption, __assign({}, (0, omit_1.default)(item, 'onChange'), { key: id || key, value: String(value || id || key), onClick: function (e) { return onClick === null || onClick === void 0 ? void 0 : onClick(e, __assign({ value: value, label: label, id: id }, item), key); } }), label));
90
+ })))));
151
91
  };
152
92
  exports.default = CheckboxFilter;
153
93
  //# sourceMappingURL=CheckboxFilter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CheckboxFilter.js","sourceRoot":"","sources":["../src/ConditionalFilter/CheckboxFilter.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CheckboxFilter.js","sourceRoot":"","sources":["../src/ConditionalFilter/CheckboxFilter.tsx"],"names":[],"mappings":"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"}
@@ -1,58 +1,33 @@
1
- export default ConditionalFilter;
2
- declare class ConditionalFilter extends React.Component<any, any, any> {
3
- constructor(props: any);
4
- breakpointConstant: number;
5
- dropdownToggle: (isOpen: any) => void;
6
- onChange: (_e: any, value: any) => void;
7
- getWrapper: () => React.ExoticComponent<{
8
- children?: React.ReactNode;
9
- }> | ((props: any) => JSX.Element);
10
- updateFilterViewport: (width: any) => boolean;
11
- resizeListener: void | undefined;
1
+ import React from 'react';
2
+ import { FilterValue } from './TextFilter';
3
+ import { RadioFilterProps } from './RadioFilter';
4
+ import { CheckboxFilterProps } from './CheckboxFilter';
5
+ import { GroupFilterProps } from './GroupFilter';
6
+ import './conditional-filter.scss';
7
+ declare type FilterValues = TextInputProps & RadioFilterProps & CheckboxFilterProps & GroupFilterProps & {
8
+ items?: FilterValue[];
9
+ value?: string | (string | FilterValue)[] | Record<string, unknown>;
10
+ };
11
+ interface TextInputProps {
12
+ id?: string;
13
+ onChange?: () => void;
14
+ placeholder?: string;
15
+ value?: string;
16
+ }
17
+ export interface ConditionalFilterItem {
18
+ id?: string;
19
+ label?: Node;
20
+ value?: string;
21
+ type: 'text' | 'checkbox' | 'radio' | 'custom' | 'group';
22
+ filterValues?: FilterValues;
23
+ placeholder?: string;
12
24
  }
13
- declare namespace ConditionalFilter {
14
- namespace propTypes {
15
- const id: PropTypes.Requireable<string>;
16
- const isDisabled: PropTypes.Requireable<boolean>;
17
- const useMobileLayout: PropTypes.Requireable<boolean>;
18
- const value: PropTypes.Requireable<string>;
19
- const placeholder: PropTypes.Requireable<string>;
20
- const onChange: PropTypes.Requireable<(...args: any[]) => any>;
21
- const hideLabel: PropTypes.Requireable<boolean>;
22
- const items: PropTypes.Requireable<(PropTypes.InferProps<{
23
- id: PropTypes.Requireable<string>;
24
- label: PropTypes.Requireable<PropTypes.ReactNodeLike>;
25
- value: PropTypes.Requireable<string>;
26
- type: PropTypes.Requireable<string>;
27
- filterValues: PropTypes.Requireable<PropTypes.InferProps<{
28
- value: PropTypes.Requireable<string>;
29
- placeholder: PropTypes.Requireable<string>;
30
- onChange: PropTypes.Requireable<(...args: any[]) => any>;
31
- }> | PropTypes.InferProps<{
32
- value: PropTypes.Requireable<PropTypes.InferProps<{}>>;
33
- items: PropTypes.Requireable<(PropTypes.InferProps<{
34
- label: PropTypes.Requireable<PropTypes.ReactNodeLike>;
35
- value: PropTypes.Requireable<string>;
36
- }> | null | undefined)[]>;
37
- placeholder: PropTypes.Requireable<string>;
38
- onChange: PropTypes.Requireable<(...args: any[]) => any>;
39
- }>>;
40
- }> | null | undefined)[]>;
41
- }
42
- namespace defaultProps {
43
- const value_1: string;
44
- export { value_1 as value };
45
- const items_1: never[];
46
- export { items_1 as items };
47
- const hideLabel_1: boolean;
48
- export { hideLabel_1 as hideLabel };
49
- const isDisabled_1: boolean;
50
- export { isDisabled_1 as isDisabled };
51
- const id_1: string;
52
- export { id_1 as id };
53
- const useMobileLayout_1: boolean;
54
- export { useMobileLayout_1 as useMobileLayout };
55
- }
25
+ export interface ConditionalFilterProps extends TextInputProps {
26
+ hideLabel: boolean;
27
+ items: ConditionalFilterItem[];
28
+ id: string;
29
+ isDisabled: boolean;
30
+ useMobileLayout: boolean;
56
31
  }
57
- import React from "react";
58
- import PropTypes from "prop-types";
32
+ declare const ConditionalFilter: React.FunctionComponent<ConditionalFilterProps>;
33
+ export default ConditionalFilter;
@@ -1,19 +1,4 @@
1
1
  "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = function (d, b) {
4
- extendStatics = Object.setPrototypeOf ||
5
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
- return extendStatics(d, b);
8
- };
9
- return function (d, b) {
10
- if (typeof b !== "function" && b !== null)
11
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
- extendStatics(d, b);
13
- function __() { this.constructor = d; }
14
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
- };
16
- })();
17
2
  var __assign = (this && this.__assign) || function () {
18
3
  __assign = Object.assign || function(t) {
19
4
  for (var s, i = 1, n = arguments.length; i < n; i++) {
@@ -44,150 +29,70 @@ var __importStar = (this && this.__importStar) || function (mod) {
44
29
  __setModuleDefault(result, mod);
45
30
  return result;
46
31
  };
47
- var __rest = (this && this.__rest) || function (s, e) {
48
- var t = {};
49
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
50
- t[p] = s[p];
51
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
52
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
53
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
54
- t[p[i]] = s[p[i]];
55
- }
56
- return t;
57
- };
58
32
  var __importDefault = (this && this.__importDefault) || function (mod) {
59
33
  return (mod && mod.__esModule) ? mod : { "default": mod };
60
34
  };
61
- var _a;
62
35
  Object.defineProperty(exports, "__esModule", { value: true });
63
36
  var react_1 = __importStar(require("react"));
37
+ var classnames_1 = __importDefault(require("classnames"));
38
+ var global_breakpoint_md_1 = __importDefault(require("@patternfly/react-tokens/dist/js/global_breakpoint_md"));
64
39
  var react_core_1 = require("@patternfly/react-core");
65
40
  var react_icons_1 = require("@patternfly/react-icons");
66
- var global_breakpoint_md_1 = __importDefault(require("@patternfly/react-tokens/dist/js/global_breakpoint_md"));
67
41
  var TextFilter_1 = __importDefault(require("./TextFilter"));
68
42
  var conditionalFilterConstants_1 = require("./conditionalFilterConstants");
69
- var prop_types_1 = __importDefault(require("prop-types"));
70
43
  require("./conditional-filter.css");
71
- var react_2 = require("react");
72
- var classnames_1 = __importDefault(require("classnames"));
73
- var ConditionalFilter = (function (_super) {
74
- __extends(ConditionalFilter, _super);
75
- function ConditionalFilter(props) {
76
- var _this = this;
77
- if (!props.useMobileLayout) {
78
- console.warn("The prop \"useMobileLayout\" is set to false. You are using an outdated mobile layout of conditional filter.\n Please switch to new layout by adding \"useMobileLayout={true}\" prop to the PrimaryToolbar or ConditionalFilter directly.\n The new mobile layout will become the default in next minor release.");
79
- }
80
- _this = _super.call(this, props) || this;
81
- _this.dropdownToggle = function (isOpen) {
82
- _this.setState({
83
- isOpen: isOpen,
84
- });
44
+ var ConditionalFilter = function (_a) {
45
+ var _b = _a.hideLabel, hideLabel = _b === void 0 ? false : _b, _c = _a.id, id = _c === void 0 ? 'default-input' : _c, _d = _a.isDisabled, isDisabled = _d === void 0 ? false : _d, _f = _a.items, items = _f === void 0 ? [] : _f, onChange = _a.onChange, placeholder = _a.placeholder, _g = _a.useMobileLayout, useMobileLayout = _g === void 0 ? false : _g, _h = _a.value, value = _h === void 0 ? '' : _h;
46
+ var breakpointConstant = parseInt(global_breakpoint_md_1.default.value.replace('px', ''));
47
+ var updateFilterViewport = function (width) { return width <= breakpointConstant; };
48
+ var _j = (0, react_1.useState)(false), isOpen = _j[0], setIsOpen = _j[1];
49
+ var _k = (0, react_1.useState)(), stateValue = _k[0], setStateValue = _k[1];
50
+ var _l = (0, react_1.useState)(updateFilterViewport(window.innerWidth)), isMobile = _l[0], setIsMobile = _l[1];
51
+ var resizeListener = (0, react_1.useRef)(function (event) {
52
+ setIsMobile(updateFilterViewport((event === null || event === void 0 ? void 0 : event.target).innerWidth));
53
+ });
54
+ (0, react_1.useEffect)(function () {
55
+ useMobileLayout ||
56
+ console.warn("The prop \"useMobileLayout\" is set to false. You are using an outdated mobile layout of conditional filter.\n Please switch to new layout by adding \"useMobileLayout={true}\" prop to the PrimaryToolbar or ConditionalFilter directly.\n The new mobile layout will become the default in next minor release.");
57
+ window.addEventListener('resize', resizeListener.current);
58
+ return function () {
59
+ resizeListener.current && window.removeEventListener('resize', resizeListener.current);
85
60
  };
86
- _this.onChange = function (_e, value) {
87
- _this.setState({
88
- stateValue: value,
89
- });
90
- };
91
- _this.getWrapper = function () {
92
- return _this.props.useMobileLayout && _this.state.isMobile
93
- ? function (props) { return react_1.default.createElement(react_core_1.ToolbarToggleGroup, __assign({}, props, { breakpoint: "md", toggleIcon: react_1.default.createElement(react_icons_1.FilterIcon, null) })); }
94
- : react_2.Fragment;
95
- };
96
- _this.updateFilterViewport = function (width) { return width <= _this.breakpointConstant; };
97
- _this.breakpointConstant = parseInt(global_breakpoint_md_1.default.value.replace('px', ''));
98
- _this.state = {
99
- isOpen: false,
100
- stateValue: undefined,
101
- isMobile: _this.updateFilterViewport(window.innerWidth),
102
- };
103
- return _this;
104
- }
105
- ConditionalFilter.prototype.componentDidMount = function () {
106
- var _this = this;
107
- this.resizeListener = window.addEventListener('resize', function (event) {
108
- _this.setState(function (prev) { return (__assign(__assign({}, prev), { isMobile: _this.updateFilterViewport(event.target.innerWidth) })); });
109
- });
110
- };
111
- ConditionalFilter.prototype.componentWillUnmount = function () {
112
- if (this.resizeListener) {
113
- window.removeEventListener(this.resizeListener);
114
- }
115
- };
116
- ConditionalFilter.prototype.render = function () {
117
- var _this = this;
118
- var _a = this.props, items = _a.items, value = _a.value, onChange = _a.onChange, placeholder = _a.placeholder, hideLabel = _a.hideLabel, isDisabled = _a.isDisabled, useMobileLayout = _a.useMobileLayout, props = __rest(_a, ["items", "value", "onChange", "placeholder", "hideLabel", "isDisabled", "useMobileLayout"]);
119
- var _b = this.state, isOpen = _b.isOpen, stateValue = _b.stateValue, isMobile = _b.isMobile;
120
- var currentValue = onChange ? value : stateValue;
121
- var activeItem = items && items.length && (items.find(function (item, key) { return item.value === currentValue || key === currentValue; }) || items[0]);
122
- var onChangeCallback = onChange || this.onChange;
123
- var ActiveComponent = activeItem && (conditionalFilterConstants_1.typeMapper[activeItem.type] || conditionalFilterConstants_1.typeMapper.text);
124
- var capitalize = function (string) { return string[0].toUpperCase() + string.substring(1); };
125
- var shouldRenderNewLayout = useMobileLayout && isMobile;
126
- var Wrapper = this.getWrapper();
127
- return (react_1.default.createElement(Wrapper, null,
128
- useMobileLayout && isMobile && (react_1.default.createElement(react_core_1.ToolbarGroup, { className: "ins-c-conditional-filter mobile" }, items.map(function (activeItem, key) {
129
- var ActiveComponent = activeItem && (conditionalFilterConstants_1.typeMapper[activeItem.type] || conditionalFilterConstants_1.typeMapper.text);
130
- return (react_1.default.createElement(react_core_1.ToolbarItem, { key: key },
131
- react_1.default.createElement(ActiveComponent, __assign({}, (activeItem.type !== conditionalFilterConstants_1.conditionalFilterType.custom && {
132
- placeholder: placeholder || activeItem.placeholder || "Filter by ".concat(activeItem.label),
133
- id: (activeItem.filterValues && activeItem.filterValues.id) || currentValue,
134
- }), activeItem.filterValues))));
135
- }))),
136
- !shouldRenderNewLayout && (react_1.default.createElement(react_2.Fragment, null, !items || (items && items.length <= 0) ? (react_1.default.createElement("div", { className: (0, classnames_1.default)('ins-c-conditional-filter', {
137
- desktop: useMobileLayout,
138
- }) },
139
- react_1.default.createElement(TextFilter_1.default, __assign({}, props, { value: currentValue, onChange: function (e) { return onChangeCallback(e, e.target.value); }, placeholder: placeholder, "widget-type": "InsightsInput" })))) : (react_1.default.createElement(react_core_1.Split, { className: (0, classnames_1.default)('ins-c-conditional-filter', {
140
- desktop: useMobileLayout,
141
- }) },
142
- items.length > 1 && (react_1.default.createElement(react_core_1.SplitItem, null,
143
- react_1.default.createElement(react_core_1.Dropdown, { className: "ins-c-conditional-filter__group", onSelect: function () { return _this.dropdownToggle(false); }, isOpen: isOpen, ouiaId: "ConditionalFilter", toggle: react_1.default.createElement(react_core_1.DropdownToggle, { "aria-label": "Conditional filter", onToggle: this.dropdownToggle, isDisabled: isDisabled, className: hideLabel ? 'ins-c-conditional-filter__no-label' : '', ouiaId: "ConditionalFilter" },
144
- react_1.default.createElement(react_icons_1.FilterIcon, { size: "sm" }),
145
- !hideLabel && (react_1.default.createElement("span", { className: "ins-c-conditional-filter__value-selector" }, activeItem && capitalize(activeItem.label)))), dropdownItems: items.map(function (item, key) { return (react_1.default.createElement(react_core_1.DropdownItem, { key: item.id ? "".concat(item.id, "-dropdown") : key, component: "button", ouiaId: item.label, onClick: function (e) { return onChangeCallback(e, item.value || key, item); }, isHovered: activeItem.label === item.label }, capitalize(item.label))); }) }))),
146
- ActiveComponent && (react_1.default.createElement(react_core_1.SplitItem, { isFilled: true },
147
- react_1.default.createElement(ActiveComponent, __assign({}, (activeItem.type !== conditionalFilterConstants_1.conditionalFilterType.custom && {
148
- placeholder: placeholder || activeItem.placeholder || "Filter by ".concat(activeItem.label),
149
- id: (activeItem.filterValues && activeItem.filterValues.id) || currentValue,
150
- }), activeItem.filterValues))))))))));
151
- };
152
- return ConditionalFilter;
153
- }(react_1.Component));
154
- var TextInputProps = {
155
- value: prop_types_1.default.string,
156
- placeholder: prop_types_1.default.string,
157
- onChange: prop_types_1.default.func,
158
- };
159
- ConditionalFilter.propTypes = __assign(__assign({ hideLabel: prop_types_1.default.bool, items: prop_types_1.default.arrayOf(prop_types_1.default.shape({
160
- id: prop_types_1.default.string,
161
- label: prop_types_1.default.node,
162
- value: prop_types_1.default.string,
163
- type: prop_types_1.default.oneOf(['text', 'checkbox', 'radio', 'custom', 'group']),
164
- filterValues: prop_types_1.default.oneOfType([
165
- prop_types_1.default.shape(TextInputProps),
166
- prop_types_1.default.shape(__assign(__assign({}, TextInputProps), { value: prop_types_1.default.oneOfType([
167
- prop_types_1.default.string,
168
- prop_types_1.default.arrayOf(prop_types_1.default.oneOfType([
169
- prop_types_1.default.string,
170
- prop_types_1.default.shape({
171
- label: prop_types_1.default.node,
172
- value: prop_types_1.default.string,
173
- }),
174
- ])),
175
- prop_types_1.default.shape((_a = {},
176
- _a[prop_types_1.default.string] = prop_types_1.default.any,
177
- _a)),
178
- ]), items: prop_types_1.default.arrayOf(prop_types_1.default.shape({
179
- label: prop_types_1.default.node,
180
- value: prop_types_1.default.string,
181
- })) })),
182
- ]),
183
- })) }, TextInputProps), { id: prop_types_1.default.string, isDisabled: prop_types_1.default.bool, useMobileLayout: prop_types_1.default.bool });
184
- ConditionalFilter.defaultProps = {
185
- value: '',
186
- items: [],
187
- hideLabel: false,
188
- isDisabled: false,
189
- id: 'default-input',
190
- useMobileLayout: false,
61
+ }, []);
62
+ var currentValue = onChange ? value : stateValue;
63
+ var activeItem = items && items.length && (items.find(function (item, key) { return item.value === currentValue || key === Number(currentValue); }) || items[0]);
64
+ var onChangeDefault = function (_e, value) { return setStateValue(value); };
65
+ var onChangeCallback = onChange || onChangeDefault;
66
+ var shouldRenderNewLayout = useMobileLayout && isMobile;
67
+ var capitalize = function (string) { return string[0].toUpperCase() + string.substring(1); };
68
+ var ActiveComponent = activeItem && (conditionalFilterConstants_1.typeMapper[activeItem.type] || conditionalFilterConstants_1.typeMapper.text);
69
+ var Wrapper = useMobileLayout && isMobile
70
+ ? function (props) { return react_1.default.createElement(react_core_1.ToolbarToggleGroup, __assign({}, props, { breakpoint: "md", toggleIcon: react_1.default.createElement(react_icons_1.FilterIcon, null) })); }
71
+ : react_1.Fragment;
72
+ return (react_1.default.createElement(Wrapper, null,
73
+ useMobileLayout && isMobile && (react_1.default.createElement(react_core_1.ToolbarGroup, { className: "ins-c-conditional-filter mobile" }, items.map(function (activeItem, key) {
74
+ var ActiveComponent = activeItem && (conditionalFilterConstants_1.typeMapper[activeItem.type] || conditionalFilterConstants_1.typeMapper.text);
75
+ return (react_1.default.createElement(react_core_1.ToolbarItem, { key: key },
76
+ react_1.default.createElement(ActiveComponent, __assign({}, (activeItem.type !== conditionalFilterConstants_1.conditionalFilterType.custom && {
77
+ placeholder: placeholder || activeItem.placeholder || "Filter by ".concat(activeItem.label),
78
+ id: activeItem.filterValues ? activeItem.filterValues.id : currentValue ? String(currentValue) : undefined,
79
+ }), activeItem.filterValues))));
80
+ }))),
81
+ !shouldRenderNewLayout && (react_1.default.createElement(react_1.Fragment, null, !items || (items && items.length <= 0) ? (react_1.default.createElement("div", { className: (0, classnames_1.default)('ins-c-conditional-filter', {
82
+ desktop: useMobileLayout,
83
+ }) },
84
+ react_1.default.createElement(TextFilter_1.default, { id: id, isDisabled: isDisabled, onChange: function (e) { return onChangeCallback(e, Number(e.target.value)); }, placeholder: placeholder, value: currentValue ? String(currentValue) : undefined, "widget-type": "InsightsInput" }))) : (react_1.default.createElement(react_core_1.Split, { className: (0, classnames_1.default)('ins-c-conditional-filter', {
85
+ desktop: useMobileLayout,
86
+ }) },
87
+ items.length > 1 && (react_1.default.createElement(react_core_1.SplitItem, null,
88
+ react_1.default.createElement(react_core_1.Dropdown, { className: "ins-c-conditional-filter__group", onSelect: function () { return setIsOpen(false); }, isOpen: isOpen, ouiaId: "ConditionalFilter", toggle: react_1.default.createElement(react_core_1.DropdownToggle, { "aria-label": "Conditional filter", onToggle: setIsOpen, isDisabled: isDisabled, className: hideLabel ? 'ins-c-conditional-filter__no-label' : '', ouiaId: "ConditionalFilter" },
89
+ react_1.default.createElement(react_icons_1.FilterIcon, { size: "sm" }),
90
+ !hideLabel && (react_1.default.createElement("span", { className: "ins-c-conditional-filter__value-selector" }, activeItem && capitalize(String(activeItem.label))))), dropdownItems: items.map(function (item, key) { return (react_1.default.createElement(react_core_1.DropdownItem, { key: item.id ? "".concat(item.id, "-dropdown") : key, component: "button", ouiaId: String(item.label), onClick: function (e) { return onChangeCallback(e, item.value || key); }, isHovered: activeItem.label === item.label }, capitalize(String(item.label)))); }) }))),
91
+ ActiveComponent && (react_1.default.createElement(react_core_1.SplitItem, { isFilled: true },
92
+ react_1.default.createElement(ActiveComponent, __assign({}, (activeItem.type !== conditionalFilterConstants_1.conditionalFilterType.custom && {
93
+ placeholder: placeholder || activeItem.placeholder || "Filter by ".concat(activeItem.label),
94
+ id: (activeItem.filterValues && activeItem.filterValues.id) || currentValue ? String(currentValue) : undefined,
95
+ }), activeItem.filterValues))))))))));
191
96
  };
192
97
  exports.default = ConditionalFilter;
193
98
  //# sourceMappingURL=ConditionalFilter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ConditionalFilter.js","sourceRoot":"","sources":["../src/ConditionalFilter/ConditionalFilter.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ConditionalFilter.js","sourceRoot":"","sources":["../src/ConditionalFilter/ConditionalFilter.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAAgF;AAChF,0DAAoC;AACpC,+GAAuF;AACvF,qDAAiJ;AACjJ,uDAAqD;AACrD,4DAAuD;AACvD,2EAAiF;AAIjF,qCAAmC;AA4CnC,IAAM,iBAAiB,GAAoD,UAAC,EAS3E;QARC,iBAAiB,EAAjB,SAAS,mBAAG,KAAK,KAAA,EACjB,UAAoB,EAApB,EAAE,mBAAG,eAAe,KAAA,EACpB,kBAAkB,EAAlB,UAAU,mBAAG,KAAK,KAAA,EAClB,aAAU,EAAV,KAAK,mBAAG,EAAE,KAAA,EACV,QAAQ,cAAA,EACR,WAAW,iBAAA,EACX,uBAAuB,EAAvB,eAAe,mBAAG,KAAK,KAAA,EACvB,aAAU,EAAV,KAAK,mBAAG,EAAE,KAAA;IAEV,IAAM,kBAAkB,GAAG,QAAQ,CAAC,8BAAkB,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;IAChF,IAAM,oBAAoB,GAAG,UAAC,KAAa,IAAK,OAAA,KAAK,IAAI,kBAAkB,EAA3B,CAA2B,CAAC;IACtE,IAAA,KAAsB,IAAA,gBAAQ,EAAC,KAAK,CAAC,EAApC,MAAM,QAAA,EAAE,SAAS,QAAmB,CAAC;IACtC,IAAA,KAA8B,IAAA,gBAAQ,GAAmB,EAAxD,UAAU,QAAA,EAAE,aAAa,QAA+B,CAAC;IAC1D,IAAA,KAA0B,IAAA,gBAAQ,EAAC,oBAAoB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,EAA1E,QAAQ,QAAA,EAAE,WAAW,QAAqD,CAAC;IAClF,IAAM,cAAc,GAAG,IAAA,cAAM,EAAC,UAAC,KAAY;QACzC,WAAW,CAAC,oBAAoB,CAAC,CAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAiB,CAAA,CAAC,UAAU,CAAC,CAAC,CAAC;IAC1E,CAAC,CAAC,CAAC;IAEH,IAAA,iBAAS,EAAC;QACR,eAAe;YACb,OAAO,CAAC,IAAI,CAAC,wTAEsD,CAAC,CAAC;QAEvE,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;QAE1D,OAAO;YACL,cAAc,CAAC,OAAO,IAAI,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;QACzF,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,IAAM,YAAY,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC;IACnD,IAAM,UAAU,GAAG,KAAK,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAC,IAAI,EAAE,GAAG,IAAK,OAAA,IAAI,CAAC,KAAK,KAAK,YAAY,IAAI,GAAG,KAAK,MAAM,CAAC,YAAY,CAAC,EAA3D,CAA2D,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACjJ,IAAM,eAAe,GAAG,UAAC,EAA+B,EAAE,KAAsB,IAAK,OAAA,aAAa,CAAC,KAAK,CAAC,EAApB,CAAoB,CAAC;IAC1G,IAAM,gBAAgB,GAAG,QAAQ,IAAI,eAAe,CAAC;IACrD,IAAM,qBAAqB,GAAG,eAAe,IAAI,QAAQ,CAAC;IAE1D,IAAM,UAAU,GAAG,UAAC,MAAc,IAAK,OAAA,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAA7C,CAA6C,CAAC;IAErF,IAAM,eAAe,GAAG,UAAU,IAAI,CAAC,uCAAU,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,uCAAU,CAAC,IAAI,CAAC,CAAC;IACvF,IAAM,OAAO,GACX,eAAe,IAAI,QAAQ;QACzB,CAAC,CAAC,UAAC,KAA8B,IAAK,OAAA,8BAAC,+BAAkB,eAAK,KAAK,IAAE,UAAU,EAAC,IAAI,EAAC,UAAU,EAAE,8BAAC,wBAAU,OAAG,IAAuB,EAAhG,CAAgG;QACtI,CAAC,CAAC,gBAAQ,CAAC;IAEf,OAAO,CACL,8BAAC,OAAO;QACL,eAAe,IAAI,QAAQ,IAAI,CAC9B,8BAAC,yBAAY,IAAC,SAAS,EAAC,iCAAiC,IACtD,KAAK,CAAC,GAAG,CAAC,UAAC,UAAU,EAAE,GAAG;YACzB,IAAM,eAAe,GAAG,UAAU,IAAI,CAAC,uCAAU,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,uCAAU,CAAC,IAAI,CAAC,CAAC;YACvF,OAAO,CACL,8BAAC,wBAAW,IAAC,GAAG,EAAE,GAAG;gBACnB,8BAAC,eAAe,eACV,CAAC,UAAU,CAAC,IAAI,KAAK,kDAAqB,CAAC,MAAM,IAAI;oBACvD,WAAW,EAAE,WAAW,IAAI,UAAU,CAAC,WAAW,IAAI,oBAAa,UAAU,CAAC,KAAK,CAAE;oBACrF,EAAE,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS;iBAC3G,CAAC,EACE,UAAU,CAAC,YAAY,EAC3B,CACU,CACf,CAAC;QACJ,CAAC,CAAC,CACW,CAChB;QACA,CAAC,qBAAqB,IAAI,CACzB,8BAAC,gBAAQ,QACN,CAAC,KAAK,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CACxC,uCACE,SAAS,EAAE,IAAA,oBAAU,EAAC,0BAA0B,EAAE;gBAChD,OAAO,EAAE,eAAe;aACzB,CAAC;YAEF,8BAAC,oBAAU,IACT,EAAE,EAAE,EAAE,EACN,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,UAAC,CAAC,IAAK,OAAA,gBAAgB,CAAC,CAAgC,EAAE,MAAM,CAAE,CAAC,CAAC,MAA2B,CAAC,KAAK,CAAC,CAAC,EAAhG,CAAgG,EACjH,WAAW,EAAE,WAAW,EACxB,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,iBAC1C,eAAe,GAC3B,CACE,CACP,CAAC,CAAC,CAAC,CACF,8BAAC,kBAAK,IACJ,SAAS,EAAE,IAAA,oBAAU,EAAC,0BAA0B,EAAE;gBAChD,OAAO,EAAE,eAAe;aACzB,CAAC;YAED,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,CACnB,8BAAC,sBAAS;gBACR,8BAAC,qBAAQ,IACP,SAAS,EAAC,iCAAiC,EAC3C,QAAQ,EAAE,cAAM,OAAA,SAAS,CAAC,KAAK,CAAC,EAAhB,CAAgB,EAChC,MAAM,EAAE,MAAM,EACd,MAAM,EAAC,mBAAmB,EAC1B,MAAM,EACJ,8BAAC,2BAAc,kBACF,oBAAoB,EAC/B,QAAQ,EAAE,SAAS,EACnB,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,oCAAoC,CAAC,CAAC,CAAC,EAAE,EAChE,MAAM,EAAC,mBAAmB;wBAE1B,8BAAC,wBAAU,IAAC,IAAI,EAAC,IAAI,GAAG;wBACvB,CAAC,SAAS,IAAI,CACb,wCAAM,SAAS,EAAC,0CAA0C,IAAE,UAAU,IAAI,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAQ,CACvH,CACc,EAEnB,aAAa,EAAE,KAAK,CAAC,GAAG,CAAC,UAAC,IAAI,EAAE,GAAG,IAAK,OAAA,CACtC,8BAAC,yBAAY,IACX,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,UAAG,IAAI,CAAC,EAAE,cAAW,CAAC,CAAC,CAAC,GAAG,EAC1C,SAAS,EAAC,QAAQ,EAClB,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAC1B,OAAO,EAAE,UAAC,CAAC,IAAK,OAAA,gBAAgB,CAAC,CAAgC,EAAE,IAAI,CAAC,KAAK,IAAI,GAAG,CAAC,EAArE,CAAqE,EACrF,SAAS,EAAG,UAAoC,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,IAEpE,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAClB,CAChB,EAVuC,CAUvC,CAAC,GACF,CACQ,CACb;YACA,eAAe,IAAI,CAClB,8BAAC,sBAAS,IAAC,QAAQ;gBACjB,8BAAC,eAAe,eACV,CAAC,UAAU,CAAC,IAAI,KAAK,kDAAqB,CAAC,MAAM,IAAI;oBACvD,WAAW,EAAE,WAAW,IAAI,UAAU,CAAC,WAAW,IAAI,oBAAa,UAAU,CAAC,KAAK,CAAE;oBACrF,EAAE,EAAE,CAAC,UAAU,CAAC,YAAY,IAAI,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS;iBAC/G,CAAC,EACE,UAAU,CAAC,YAAY,EAC3B,CACQ,CACb,CACK,CACT,CACQ,CACZ,CACO,CACX,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,iBAAiB,CAAC"}