@decisiv/ui-components 2.0.1-alpha.74 → 2.0.1-alpha.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 (75) hide show
  1. package/lib/atoms/InputField/Containers.d.ts +6 -2
  2. package/lib/atoms/InputField/Containers.d.ts.map +1 -1
  3. package/lib/atoms/InputField/Containers.js +5 -5
  4. package/lib/atoms/InputField/InputLabel.d.ts +1 -0
  5. package/lib/atoms/InputField/InputLabel.d.ts.map +1 -1
  6. package/lib/atoms/InputField/InputLabel.js +2 -1
  7. package/lib/atoms/InputField/index.d.ts +2 -0
  8. package/lib/atoms/InputField/index.d.ts.map +1 -1
  9. package/lib/atoms/InputField/index.js +14 -4
  10. package/lib/atoms/InputField/schema.d.ts.map +1 -1
  11. package/lib/atoms/InputField/schema.js +1 -0
  12. package/lib/components/Combobox/Target.d.ts.map +1 -1
  13. package/lib/components/Combobox/Target.js +3 -4
  14. package/lib/components/Combobox/index.test.js +122 -98
  15. package/lib/components/Filter/IconWrapper/index.d.ts +197 -0
  16. package/lib/components/Filter/IconWrapper/index.d.ts.map +1 -0
  17. package/lib/components/Filter/IconWrapper/index.js +35 -0
  18. package/lib/components/Filter/SimplePrimary/index.d.ts +31 -0
  19. package/lib/components/Filter/SimplePrimary/index.d.ts.map +1 -0
  20. package/lib/components/Filter/SimplePrimary/index.js +58 -0
  21. package/lib/components/Filter/SimplePrimary/index.test.js +34 -0
  22. package/lib/components/Filter/StyledFilter.d.ts +4 -0
  23. package/lib/components/Filter/StyledFilter.d.ts.map +1 -0
  24. package/lib/components/Filter/StyledFilter.js +39 -0
  25. package/lib/components/Filter/StyledLabel/index.d.ts +8 -0
  26. package/lib/components/Filter/StyledLabel/index.d.ts.map +1 -0
  27. package/lib/components/Filter/StyledLabel/index.js +30 -0
  28. package/lib/components/Filter/index.d.ts +27 -0
  29. package/lib/components/Filter/index.d.ts.map +1 -0
  30. package/lib/components/Filter/index.js +95 -0
  31. package/lib/components/Filter/index.test.js +41 -0
  32. package/lib/components/Filter/kind.d.ts +6 -0
  33. package/lib/components/Filter/kind.d.ts.map +1 -0
  34. package/lib/components/Filter/kind.js +45 -0
  35. package/lib/components/Filter/schema.d.ts +9 -0
  36. package/lib/components/Filter/schema.d.ts.map +1 -0
  37. package/lib/components/Filter/schema.js +32 -0
  38. package/lib/components/Filter/types.d.ts +17 -0
  39. package/lib/components/Filter/types.d.ts.map +1 -0
  40. package/lib/components/Filter/types.js +1 -0
  41. package/lib/components/Select/Target.js +1 -1
  42. package/lib/components/Select/index.d.ts.map +1 -1
  43. package/lib/components/Select/index.js +17 -0
  44. package/lib/components/Select/index.test.js +82 -23
  45. package/lib/components/Select/schema.d.ts.map +1 -1
  46. package/lib/components/Select/schema.js +2 -0
  47. package/lib/components/Select/types.d.ts +2 -0
  48. package/lib/components/Select/types.d.ts.map +1 -1
  49. package/lib/components/SelectDate/Target.js +1 -1
  50. package/lib/components/SelectDate/index.d.ts.map +1 -1
  51. package/lib/components/SelectDate/index.js +17 -0
  52. package/lib/components/SelectDate/index.test.js +108 -51
  53. package/lib/components/SelectDate/schema.d.ts.map +1 -1
  54. package/lib/components/SelectDate/schema.js +2 -0
  55. package/lib/components/SelectDate/types.d.ts +2 -0
  56. package/lib/components/SelectDate/types.d.ts.map +1 -1
  57. package/lib/components/SelectDateRange/index.d.ts.map +1 -1
  58. package/lib/components/SelectDateRange/index.js +17 -0
  59. package/lib/components/SelectDateRange/index.test.js +115 -58
  60. package/lib/components/SelectDateRange/schema.d.ts.map +1 -1
  61. package/lib/components/SelectDateRange/schema.js +2 -0
  62. package/lib/components/TextArea/index.js +1 -0
  63. package/lib/components/TextArea/index.test.js +5 -0
  64. package/lib/components/TextField/Input.js +1 -1
  65. package/lib/components/TextField/index.test.js +5 -0
  66. package/lib/components/index.d.ts +1 -0
  67. package/lib/components/index.d.ts.map +1 -1
  68. package/lib/components/index.js +9 -0
  69. package/lib/utils/useFirstMount.d.ts +2 -0
  70. package/lib/utils/useFirstMount.d.ts.map +1 -0
  71. package/lib/utils/useFirstMount.js +19 -0
  72. package/lib/utils/useUpdateEffect.d.ts +4 -0
  73. package/lib/utils/useUpdateEffect.d.ts.map +1 -0
  74. package/lib/utils/useUpdateEffect.js +28 -0
  75. package/package.json +2 -2
@@ -0,0 +1,197 @@
1
+ /// <reference types="react" />
2
+ import { FilterProps } from '../types';
3
+ declare const IconWrapper: import("styled-components").StyledComponent<"div", any, Partial<{
4
+ readonly alignContent?: string | import("../../../utils/dynamicModifiers").DynamicResponsiveModifiersProp<string, {
5
+ readonly XS: "XS";
6
+ readonly SM: "SM";
7
+ readonly MD: "MD";
8
+ readonly LG: "LG";
9
+ readonly XL: "XL";
10
+ }> | undefined;
11
+ readonly alignItems?: string | import("../../../utils/dynamicModifiers").DynamicResponsiveModifiersProp<string, {
12
+ readonly XS: "XS";
13
+ readonly SM: "SM";
14
+ readonly MD: "MD";
15
+ readonly LG: "LG";
16
+ readonly XL: "XL";
17
+ }> | undefined;
18
+ readonly alignSelf?: string | import("../../../utils/dynamicModifiers").DynamicResponsiveModifiersProp<string, {
19
+ readonly XS: "XS";
20
+ readonly SM: "SM";
21
+ readonly MD: "MD";
22
+ readonly LG: "LG";
23
+ readonly XL: "XL";
24
+ }> | undefined;
25
+ readonly flex?: string | number | import("../../../utils/dynamicModifiers").DynamicResponsiveModifiersProp<import("react").ReactText, {
26
+ readonly XS: "XS";
27
+ readonly SM: "SM";
28
+ readonly MD: "MD";
29
+ readonly LG: "LG";
30
+ readonly XL: "XL";
31
+ }> | undefined;
32
+ readonly flexBasis?: string | import("../../../utils/dynamicModifiers").DynamicResponsiveModifiersProp<string, {
33
+ readonly XS: "XS";
34
+ readonly SM: "SM";
35
+ readonly MD: "MD";
36
+ readonly LG: "LG";
37
+ readonly XL: "XL";
38
+ }> | undefined;
39
+ readonly flexDirection?: "-moz-initial" | "inherit" | "initial" | "revert" | "unset" | "row" | "column" | "column-reverse" | "row-reverse" | import("../../../utils/dynamicModifiers").DynamicResponsiveModifiersProp<import("csstype").FlexDirectionProperty, {
40
+ readonly XS: "XS";
41
+ readonly SM: "SM";
42
+ readonly MD: "MD";
43
+ readonly LG: "LG";
44
+ readonly XL: "XL";
45
+ }> | undefined;
46
+ readonly flexGrow?: number | "-moz-initial" | "inherit" | "initial" | "revert" | "unset" | import("../../../utils/dynamicModifiers").DynamicResponsiveModifiersProp<import("csstype").GlobalsNumber, {
47
+ readonly XS: "XS";
48
+ readonly SM: "SM";
49
+ readonly MD: "MD";
50
+ readonly LG: "LG";
51
+ readonly XL: "XL";
52
+ }> | undefined;
53
+ readonly flexShrink?: number | "-moz-initial" | "inherit" | "initial" | "revert" | "unset" | import("../../../utils/dynamicModifiers").DynamicResponsiveModifiersProp<import("csstype").GlobalsNumber, {
54
+ readonly XS: "XS";
55
+ readonly SM: "SM";
56
+ readonly MD: "MD";
57
+ readonly LG: "LG";
58
+ readonly XL: "XL";
59
+ }> | undefined;
60
+ readonly flexWrap?: "-moz-initial" | "inherit" | "initial" | "revert" | "unset" | "nowrap" | "wrap" | "wrap-reverse" | import("../../../utils/dynamicModifiers").DynamicResponsiveModifiersProp<import("csstype").FlexWrapProperty, {
61
+ readonly XS: "XS";
62
+ readonly SM: "SM";
63
+ readonly MD: "MD";
64
+ readonly LG: "LG";
65
+ readonly XL: "XL";
66
+ }> | undefined;
67
+ readonly justifyContent?: string | import("../../../utils/dynamicModifiers").DynamicResponsiveModifiersProp<string, {
68
+ readonly XS: "XS";
69
+ readonly SM: "SM";
70
+ readonly MD: "MD";
71
+ readonly LG: "LG";
72
+ readonly XL: "XL";
73
+ }> | undefined;
74
+ readonly justifyItems?: string | import("../../../utils/dynamicModifiers").DynamicResponsiveModifiersProp<string, {
75
+ readonly XS: "XS";
76
+ readonly SM: "SM";
77
+ readonly MD: "MD";
78
+ readonly LG: "LG";
79
+ readonly XL: "XL";
80
+ }> | undefined;
81
+ readonly justifySelf?: string | import("../../../utils/dynamicModifiers").DynamicResponsiveModifiersProp<string, {
82
+ readonly XS: "XS";
83
+ readonly SM: "SM";
84
+ readonly MD: "MD";
85
+ readonly LG: "LG";
86
+ readonly XL: "XL";
87
+ }> | undefined;
88
+ readonly order?: number | "-moz-initial" | "inherit" | "initial" | "revert" | "unset" | import("../../../utils/dynamicModifiers").DynamicResponsiveModifiersProp<import("csstype").GlobalsNumber, {
89
+ readonly XS: "XS";
90
+ readonly SM: "SM";
91
+ readonly MD: "MD";
92
+ readonly LG: "LG";
93
+ readonly XL: "XL";
94
+ }> | undefined;
95
+ readonly size?: "XS" | "SM" | "MD" | "LG" | "XL" | undefined;
96
+ }> & Partial<{
97
+ readonly margin: import("../../../utils/dynamicModifiers").DynamicModifiersProp<number, {
98
+ readonly XS: "XS";
99
+ readonly SM: "SM";
100
+ readonly MD: "MD";
101
+ readonly LG: "LG";
102
+ readonly XL: "XL";
103
+ }>;
104
+ readonly marginBottom: import("../../../utils/dynamicModifiers").DynamicModifiersProp<number, {
105
+ readonly XS: "XS";
106
+ readonly SM: "SM";
107
+ readonly MD: "MD";
108
+ readonly LG: "LG";
109
+ readonly XL: "XL";
110
+ }>;
111
+ readonly marginLeft: import("../../../utils/dynamicModifiers").DynamicModifiersProp<number, {
112
+ readonly XS: "XS";
113
+ readonly SM: "SM";
114
+ readonly MD: "MD";
115
+ readonly LG: "LG";
116
+ readonly XL: "XL";
117
+ }>;
118
+ readonly marginRight: import("../../../utils/dynamicModifiers").DynamicModifiersProp<number, {
119
+ readonly XS: "XS";
120
+ readonly SM: "SM";
121
+ readonly MD: "MD";
122
+ readonly LG: "LG";
123
+ readonly XL: "XL";
124
+ }>;
125
+ readonly marginTop: import("../../../utils/dynamicModifiers").DynamicModifiersProp<number, {
126
+ readonly XS: "XS";
127
+ readonly SM: "SM";
128
+ readonly MD: "MD";
129
+ readonly LG: "LG";
130
+ readonly XL: "XL";
131
+ }>;
132
+ readonly marginX: import("../../../utils/dynamicModifiers").DynamicModifiersProp<number, {
133
+ readonly XS: "XS";
134
+ readonly SM: "SM";
135
+ readonly MD: "MD";
136
+ readonly LG: "LG";
137
+ readonly XL: "XL";
138
+ }>;
139
+ readonly marginY: import("../../../utils/dynamicModifiers").DynamicModifiersProp<number, {
140
+ readonly XS: "XS";
141
+ readonly SM: "SM";
142
+ readonly MD: "MD";
143
+ readonly LG: "LG";
144
+ readonly XL: "XL";
145
+ }>;
146
+ readonly padding: import("../../../utils/dynamicModifiers").DynamicModifiersProp<number, {
147
+ readonly XS: "XS";
148
+ readonly SM: "SM";
149
+ readonly MD: "MD";
150
+ readonly LG: "LG";
151
+ readonly XL: "XL";
152
+ }>;
153
+ readonly paddingBottom: import("../../../utils/dynamicModifiers").DynamicModifiersProp<number, {
154
+ readonly XS: "XS";
155
+ readonly SM: "SM";
156
+ readonly MD: "MD";
157
+ readonly LG: "LG";
158
+ readonly XL: "XL";
159
+ }>;
160
+ readonly paddingLeft: import("../../../utils/dynamicModifiers").DynamicModifiersProp<number, {
161
+ readonly XS: "XS";
162
+ readonly SM: "SM";
163
+ readonly MD: "MD";
164
+ readonly LG: "LG";
165
+ readonly XL: "XL";
166
+ }>;
167
+ readonly paddingRight: import("../../../utils/dynamicModifiers").DynamicModifiersProp<number, {
168
+ readonly XS: "XS";
169
+ readonly SM: "SM";
170
+ readonly MD: "MD";
171
+ readonly LG: "LG";
172
+ readonly XL: "XL";
173
+ }>;
174
+ readonly paddingTop: import("../../../utils/dynamicModifiers").DynamicModifiersProp<number, {
175
+ readonly XS: "XS";
176
+ readonly SM: "SM";
177
+ readonly MD: "MD";
178
+ readonly LG: "LG";
179
+ readonly XL: "XL";
180
+ }>;
181
+ readonly paddingX: import("../../../utils/dynamicModifiers").DynamicModifiersProp<number, {
182
+ readonly XS: "XS";
183
+ readonly SM: "SM";
184
+ readonly MD: "MD";
185
+ readonly LG: "LG";
186
+ readonly XL: "XL";
187
+ }>;
188
+ readonly paddingY: import("../../../utils/dynamicModifiers").DynamicModifiersProp<number, {
189
+ readonly XS: "XS";
190
+ readonly SM: "SM";
191
+ readonly MD: "MD";
192
+ readonly LG: "LG";
193
+ readonly XL: "XL";
194
+ }>;
195
+ }> & Pick<FilterProps, "badgeColor">, never>;
196
+ export default IconWrapper;
197
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/Filter/IconWrapper/index.tsx"],"names":[],"mappings":";AAQA,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAgBvC,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4CAOhB,CAAC;AAEF,eAAe,WAAW,CAAC"}
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _styledComponents = _interopRequireWildcard(require("styled-components"));
9
+
10
+ var _rem = _interopRequireDefault(require("polished/lib/helpers/rem"));
11
+
12
+ var _spacing = _interopRequireDefault(require("@decisiv/design-tokens/lib/spacing"));
13
+
14
+ var _Flex = _interopRequireDefault(require("../../Flex"));
15
+
16
+ var _color = _interopRequireDefault(require("../../../modifiers/color"));
17
+
18
+ var _utils = require("../../../utils");
19
+
20
+ var _commonUIColors = require("../../../utils/commonUIColors");
21
+
22
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
23
+
24
+ function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }
25
+
26
+ var colorModifiers = (0, _utils.applyDynamicModifiers)('badgeColor', function (_ref) {
27
+ var badgeColor = _ref.badgeColor;
28
+ return (0, _styledComponents.css)(["", ";"], badgeColor && badgeColor in _commonUIColors.commonUIColors && (0, _color.default)(_commonUIColors.commonUIColors[badgeColor]));
29
+ });
30
+ var IconWrapper = (0, _styledComponents.default)(_Flex.default).withConfig({
31
+ displayName: "IconWrapper",
32
+ componentId: "sc-1e8ws53-0"
33
+ })(["width:", ";height:", ";padding:", ";border-radius:2px;", ";", ";"], (0, _rem.default)(_spacing.default.base * 2), (0, _rem.default)(_spacing.default.base * 2), (0, _rem.default)(_spacing.default.base * 0.4), (0, _color.default)(_commonUIColors.commonUIColors.information), colorModifiers);
34
+ var _default = IconWrapper;
35
+ exports.default = _default;
@@ -0,0 +1,31 @@
1
+ /// <reference types="react" />
2
+ import PropTypes from 'prop-types';
3
+ import { IconProps } from '@decisiv/iconix';
4
+ import { CommonUIColorKeys } from '../../../utils/commonUIColors';
5
+ declare type IconComponent = (props: IconProps) => JSX.Element;
6
+ interface Props {
7
+ 'aria-label': string;
8
+ active: boolean;
9
+ text: string;
10
+ count: number;
11
+ badgeIcon?: IconComponent;
12
+ badgeColor?: CommonUIColorKeys;
13
+ }
14
+ declare const FilterSimplePrimary: {
15
+ ({ "aria-label": ariaLabel, active, text, badgeIcon: Icon, badgeColor, count, }: Props): JSX.Element;
16
+ propTypes: {
17
+ active: PropTypes.Requireable<boolean>;
18
+ count: PropTypes.Requireable<number>;
19
+ text: PropTypes.Validator<string>;
20
+ badgeColor: PropTypes.Requireable<string>;
21
+ badgeIcon: PropTypes.Requireable<PropTypes.ReactComponentLike>;
22
+ };
23
+ defaultProps: {
24
+ active: null;
25
+ count: undefined;
26
+ badgeColor: string;
27
+ badgeIcon: null;
28
+ };
29
+ };
30
+ export default FilterSimplePrimary;
31
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/Filter/SimplePrimary/index.tsx"],"names":[],"mappings":";AACA,OAAO,SAAS,MAAM,YAAY,CAAC;AAInC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAM5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAElE,aAAK,aAAa,GAAG,CAAC,KAAK,EAAE,SAAS,KAAK,GAAG,CAAC,OAAO,CAAC;AAEvD,UAAU,KAAK;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,UAAU,CAAC,EAAE,iBAAiB,CAAC;CAChC;AAED,QAAA,MAAM,mBAAmB;;;;;;;;;;;;;;;CAsBxB,CAAC;AAiBF,eAAe,mBAAmB,CAAC"}
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _propTypes = _interopRequireDefault(require("prop-types"));
11
+
12
+ var _toColorString = _interopRequireDefault(require("polished/lib/color/toColorString"));
13
+
14
+ var _color = _interopRequireDefault(require("@decisiv/design-tokens/lib/color"));
15
+
16
+ var _IconWrapper = _interopRequireDefault(require("../IconWrapper"));
17
+
18
+ var _StyledLabel = _interopRequireDefault(require("../StyledLabel"));
19
+
20
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
21
+
22
+ var FilterSimplePrimary = function FilterSimplePrimary(_ref) {
23
+ var ariaLabel = _ref['aria-label'],
24
+ active = _ref.active,
25
+ text = _ref.text,
26
+ Icon = _ref.badgeIcon,
27
+ _ref$badgeColor = _ref.badgeColor,
28
+ badgeColor = _ref$badgeColor === void 0 ? 'information' : _ref$badgeColor,
29
+ count = _ref.count;
30
+ var buttonText = isNaN(count) ? text : "".concat(count, " ").concat(text);
31
+ return _react.default.createElement(_react.default.Fragment, null, Icon && _react.default.createElement(_IconWrapper.default, {
32
+ badgeColor: badgeColor
33
+ }, _react.default.createElement(Icon, {
34
+ size: "small",
35
+ role: "img",
36
+ "aria-label": ariaLabel
37
+ })), _react.default.createElement(_StyledLabel.default, {
38
+ active: active,
39
+ hasBadge: !!Icon,
40
+ marginLeft: 1
41
+ }, buttonText));
42
+ };
43
+
44
+ FilterSimplePrimary.propTypes = {
45
+ active: _propTypes.default.bool,
46
+ count: _propTypes.default.number,
47
+ text: _propTypes.default.string.isRequired,
48
+ badgeColor: _propTypes.default.string,
49
+ badgeIcon: _propTypes.default.elementType
50
+ };
51
+ FilterSimplePrimary.defaultProps = {
52
+ active: null,
53
+ count: undefined,
54
+ badgeColor: "".concat((0, _toColorString.default)(_color.default.status.information.medium)),
55
+ badgeIcon: null
56
+ };
57
+ var _default = FilterSimplePrimary;
58
+ exports.default = _default;
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+
3
+ var _react = _interopRequireDefault(require("react"));
4
+
5
+ var _react2 = require("@testing-library/react");
6
+
7
+ var _ = _interopRequireDefault(require("."));
8
+
9
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
10
+
11
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { keys.push.apply(keys, Object.getOwnPropertySymbols(object)); } if (enumerableOnly) keys = keys.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); return keys; }
12
+
13
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
14
+
15
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
16
+
17
+ var defaultProps = {
18
+ text: 'Label',
19
+ count: 0,
20
+ badgeColor: null,
21
+ badgeIcon: null
22
+ };
23
+ describe('Filter', function () {
24
+ it('renders the count when a value is provided', function () {
25
+ var props = _objectSpread({}, defaultProps, {
26
+ count: 10
27
+ });
28
+
29
+ var _render = (0, _react2.render)(_react.default.createElement(_.default, props)),
30
+ queryByText = _render.queryByText;
31
+
32
+ expect(queryByText('10 Label')).toBeInTheDocument();
33
+ });
34
+ });
@@ -0,0 +1,4 @@
1
+ import { FilterProps } from './types';
2
+ declare const StyledFilter: import("styled-components").StyledComponent<"button", any, FilterProps, never>;
3
+ export default StyledFilter;
4
+ //# sourceMappingURL=StyledFilter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StyledFilter.d.ts","sourceRoot":"","sources":["../../../src/components/Filter/StyledFilter.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAsBtC,QAAA,MAAM,YAAY,gFAuBjB,CAAC;AAEF,eAAe,YAAY,CAAC"}
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _styledComponents = _interopRequireWildcard(require("styled-components"));
9
+
10
+ var _rem = _interopRequireDefault(require("polished/lib/helpers/rem"));
11
+
12
+ var _toColorString = _interopRequireDefault(require("polished/lib/color/toColorString"));
13
+
14
+ var _color = _interopRequireDefault(require("@decisiv/design-tokens/lib/color"));
15
+
16
+ var _spacing = _interopRequireDefault(require("@decisiv/design-tokens/lib/spacing"));
17
+
18
+ var _kind = _interopRequireWildcard(require("./kind"));
19
+
20
+ var _colors = require("../Button/colors");
21
+
22
+ var _styleModifiers = require("../../utils/styleModifiers");
23
+
24
+ var _focusRingWithColor = _interopRequireDefault(require("../../utils/focusRingWithColor"));
25
+
26
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
27
+
28
+ function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }
29
+
30
+ var activeStyles = (0, _styledComponents.css)(["color:", ";background-color:", ";border:", " solid ", ";svg{color:", ";}"], (0, _toColorString.default)(_color.default.base.snowWhite), (0, _toColorString.default)(_color.default.status.information.medium), (0, _rem.default)(1), (0, _toColorString.default)(_color.default.status.information.medium), (0, _toColorString.default)(_color.default.base.snowWhite));
31
+ var focusStyles = (0, _styledComponents.css)(["border:", " solid ", ";", ";"], (0, _rem.default)(1), (0, _toColorString.default)(_color.default.interaction.pacificOcean), (0, _focusRingWithColor.default)(_colors.focusRingColors.light.normal.secondary.shadow));
32
+
33
+ var StyledFilter = _styledComponents.default.button.withConfig({
34
+ displayName: "StyledFilter",
35
+ componentId: "sc-10cidio-0"
36
+ })(["display:flex;background:none;padding:", " ", ";border:", " solid ", ";border-radius:", ";justify-content:center;align-items:center;outline:none;font:inherit;color:", ";&:focus{", "}", ";", ";&:hover{", ";}"], (0, _rem.default)(_spacing.default.base * 0.6), (0, _rem.default)(_spacing.default.base), (0, _rem.default)(1), (0, _toColorString.default)(_color.default.base.quarterMoon), (0, _rem.default)(2), (0, _toColorString.default)(_color.default.interaction.pacificOcean), focusStyles, _kind.default, (0, _styleModifiers.when)('active', activeStyles), _kind.hoverStyles);
37
+
38
+ var _default = StyledFilter;
39
+ exports.default = _default;
@@ -0,0 +1,8 @@
1
+ import { FlexComponentProps } from '../../Flex';
2
+ interface Props extends FlexComponentProps {
3
+ active: boolean;
4
+ hasBadge: boolean;
5
+ }
6
+ declare const StyledLabel: import("styled-components").StyledComponent<"span", any, Props, never>;
7
+ export default StyledLabel;
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/Filter/StyledLabel/index.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEhD,UAAU,KAAM,SAAQ,kBAAkB;IACxC,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,QAAA,MAAM,WAAW,wEAMhB,CAAC;AAEF,eAAe,WAAW,CAAC"}
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
9
+
10
+ var _rem = _interopRequireDefault(require("polished/lib/helpers/rem"));
11
+
12
+ var _spacing = _interopRequireDefault(require("@decisiv/design-tokens/lib/spacing"));
13
+
14
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
+
16
+ var StyledLabel = _styledComponents.default.span.withConfig({
17
+ displayName: "StyledLabel",
18
+ componentId: "sc-1r95cia-0"
19
+ })(["margin-top:", ";margin-right:", ";margin-left:", ";"], (0, _rem.default)(_spacing.default.base * 0.2), function (_ref) {
20
+ var hasBadge = _ref.hasBadge,
21
+ marginRight = _ref.marginRight;
22
+ return hasBadge && marginRight ? (0, _rem.default)(_spacing.default.base) : '0';
23
+ }, function (_ref2) {
24
+ var hasBadge = _ref2.hasBadge,
25
+ marginLeft = _ref2.marginLeft;
26
+ return hasBadge && marginLeft ? (0, _rem.default)(_spacing.default.base) : '0';
27
+ });
28
+
29
+ var _default = StyledLabel;
30
+ exports.default = _default;
@@ -0,0 +1,27 @@
1
+ /// <reference types="react" />
2
+ import PropTypes from 'prop-types';
3
+ import { FilterProps } from './types';
4
+ declare const Filter: {
5
+ ({ active: filterActive, variant, kind, onClick, ...rest }: FilterProps): JSX.Element;
6
+ propTypes: {
7
+ active: PropTypes.Requireable<boolean>;
8
+ variant: PropTypes.Requireable<string>;
9
+ kind: PropTypes.Requireable<string>;
10
+ onClick: PropTypes.Requireable<(...args: any[]) => any>;
11
+ text: PropTypes.Validator<string>;
12
+ badgeColor: PropTypes.Requireable<import("../../utils/commonUIColors").CommonUIColorKeys>;
13
+ badgeIcon: PropTypes.Requireable<PropTypes.ReactComponentLike>;
14
+ count: PropTypes.Requireable<number>;
15
+ };
16
+ defaultProps: {
17
+ active: boolean;
18
+ variant: string;
19
+ onClick: null;
20
+ kind: string;
21
+ badgeIcon: null;
22
+ badgeColor: string;
23
+ count: undefined;
24
+ };
25
+ };
26
+ export default Filter;
27
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Filter/index.tsx"],"names":[],"mappings":";AACA,OAAO,SAAS,MAAM,YAAY,CAAC;AAEnC,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAWtC,QAAA,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;CAsCX,CAAC;AAuBF,eAAe,MAAM,CAAC"}
@@ -0,0 +1,95 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _react = _interopRequireWildcard(require("react"));
9
+
10
+ var _propTypes = _interopRequireDefault(require("prop-types"));
11
+
12
+ var _SimplePrimary = _interopRequireDefault(require("./SimplePrimary"));
13
+
14
+ var _StyledFilter = _interopRequireDefault(require("./StyledFilter"));
15
+
16
+ var _commonUIColors = require("../../utils/commonUIColors");
17
+
18
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
+
20
+ function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }
21
+
22
+ function _extends() { _extends = Object.assign || 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.apply(this, arguments); }
23
+
24
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }
25
+
26
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); }
27
+
28
+ function _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
29
+
30
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
31
+
32
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
33
+
34
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
35
+
36
+ var components = {
37
+ simple: _SimplePrimary.default
38
+ }; // variant uses basic
39
+
40
+ var Filter = function Filter(_ref) {
41
+ var filterActive = _ref.active,
42
+ _ref$variant = _ref.variant,
43
+ variant = _ref$variant === void 0 ? 'simple' : _ref$variant,
44
+ _ref$kind = _ref.kind,
45
+ kind = _ref$kind === void 0 ? 'primary' : _ref$kind,
46
+ onClick = _ref.onClick,
47
+ rest = _objectWithoutProperties(_ref, ["active", "variant", "kind", "onClick"]);
48
+
49
+ var _useState = (0, _react.useState)(false),
50
+ _useState2 = _slicedToArray(_useState, 2),
51
+ active = _useState2[0],
52
+ setActive = _useState2[1];
53
+
54
+ var Component = components[variant];
55
+ var toggleStatus = (0, _react.useCallback)(function () {
56
+ return setActive(!active);
57
+ }, [active, setActive]);
58
+ var handleOnClick = (0, _react.useCallback)(function (e) {
59
+ if (typeof onClick === 'function') {
60
+ onClick(e);
61
+ } else {
62
+ toggleStatus();
63
+ }
64
+ }, [onClick, toggleStatus]);
65
+ return _react.default.createElement(_StyledFilter.default, _extends({
66
+ kind: kind,
67
+ tabIndex: 0,
68
+ active: filterActive || active,
69
+ onClick: handleOnClick
70
+ }, rest), _react.default.createElement(Component, _extends({
71
+ active: active
72
+ }, rest)));
73
+ };
74
+
75
+ Filter.propTypes = {
76
+ active: _propTypes.default.bool,
77
+ variant: _propTypes.default.oneOf(['simple']),
78
+ kind: _propTypes.default.oneOf(['primary']),
79
+ onClick: _propTypes.default.func,
80
+ text: _propTypes.default.string.isRequired,
81
+ badgeColor: _propTypes.default.oneOf(_commonUIColors.commonUIColorKeys),
82
+ badgeIcon: _propTypes.default.elementType,
83
+ count: _propTypes.default.number
84
+ };
85
+ Filter.defaultProps = {
86
+ active: false,
87
+ variant: 'simple',
88
+ onClick: null,
89
+ kind: 'primary',
90
+ badgeIcon: null,
91
+ badgeColor: 'information',
92
+ count: undefined
93
+ };
94
+ var _default = Filter;
95
+ exports.default = _default;
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+
3
+ var _react = _interopRequireDefault(require("react"));
4
+
5
+ var _react2 = require("@testing-library/react");
6
+
7
+ var _ = _interopRequireDefault(require("."));
8
+
9
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
10
+
11
+ describe('Filter', function () {
12
+ describe('Simple primary variant', function () {
13
+ it('renders label', function () {
14
+ var _render = (0, _react2.render)(_react.default.createElement(_.default, {
15
+ "aria-label": "text sample",
16
+ variant: "simple",
17
+ text: "text sample"
18
+ })),
19
+ container = _render.container,
20
+ queryByText = _render.queryByText;
21
+
22
+ expect(container).toMatchSnapshot();
23
+ });
24
+ it('calls the onClick function provided when the button clicked', function () {
25
+ var onClick = jest.fn();
26
+
27
+ var _render2 = (0, _react2.render)(_react.default.createElement(_.default, {
28
+ "aria-label": "text sample",
29
+ active: false,
30
+ variant: "simple",
31
+ text: "text",
32
+ onClick: onClick
33
+ })),
34
+ getByText = _render2.getByText;
35
+
36
+ _react2.fireEvent.click(getByText(/text/));
37
+
38
+ expect(onClick).toHaveBeenCalled();
39
+ });
40
+ });
41
+ });
@@ -0,0 +1,6 @@
1
+ import theme from 'styled-theming';
2
+ import { FlattenSimpleInterpolation as CSS } from 'styled-components';
3
+ export declare const hoverStyles: CSS;
4
+ declare const kindStyles: theme.ThemeSet;
5
+ export default kindStyles;
6
+ //# sourceMappingURL=kind.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kind.d.ts","sourceRoot":"","sources":["../../../src/components/Filter/kind.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,gBAAgB,CAAC;AAGnC,OAAO,EAAO,0BAA0B,IAAI,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAU3E,eAAO,MAAM,WAAW,KAQvB,CAAC;AAyBF,QAAA,MAAM,UAAU,gBAGd,CAAC;AAEH,eAAe,UAAU,CAAC"}